void main()
{
menuPartners();
}
void menuPartners()
{//Change Partner Menu options
int player = getlocalvar("player");
int highlight = getglobalvar("highlight");
int hasplayed = getplayerproperty(player, "hasplayed"); //CHECK IF THE PLAYER ENTERED THE CURRENT GAME
//MAIN COMMAND TO OPEN AND CLOSE PARTNER MENU
if(playerkeys(player, 1, "screenshot") && hasplayed == 1){ //SELECT BUTTON IS PRESSED BY A PLAYER THAT ENTERED IN THE GAME??
if(openborvariant("in_level")){ //CHECK IF THE GAME IS IN ANY LEVEL
if(openborvariant("pause") == 0 && openborvariant("in_options") != 1){ //CHECK IF THE GAME IS NOT PAUSED OR IN OPTIONS
if(getglobalvar("activeText") == 0){ //CHECK IF ANY MENU IS ALREADY ON
playsample(openborconstant("SAMPLE_BEEP2"), 0, openborvariant("effectvol"), openborvariant("effectvol"), 100, 0); //PLAY SAMPLE
changeopenborvariant("nopause", 1); //LOCK PAUSE COMMAND
changeopenborvariant("textbox", 1); //CALL TEXTBOX TO FREEZE THE GAME
setglobalvar("highlight", 0); //SET TO THE FIRST HIGHLIGHTED OPTION
setglobalvar("activeText", "Partner"); //SET ACTIVE TEXT ON SCREEN TO "PARTNER MENU" TO ACTIVATE OTHER SCRIPTS
}
else
if(getglobalvar("activeText") == "Partner"){ //CHECK IF EXTRA MENU IS ALREADY ON
playsample(openborconstant("SAMPLE_BEEP2"), 0, openborvariant("effectvol"), openborvariant("effectvol"), 100, 0); //PLAY SAMPLE
changeopenborvariant("nopause", 0); //UNLOCK PAUSE COMMAND
changeopenborvariant("textbox", NULL()); //CLEAR TEXTBOX TO NOT FREEZE THE GAME
setglobalvar("highlight", 0); //RESET HIGHLIGHT VARIABLE TO DEFAULT
setglobalvar("activeText", 0); //SET ACTIVE TEXT ON SCREEN TO "0" TO DEACTIVATE OTHER SCRIPTS
}
}
}
}
//HIGHLIGHT OPTIONS:
//1 - PARTNER MODE
//2 - PARTNER SPAWN
void self = getplayerproperty(player, "entity"); //GET THE CURRENT "SELF" ENTITY
int lives = getplayerproperty(player, "lives"); //GET THE CURRENT NUMBER OF LIVES
int dir = getentityproperty(self, "direction"); //GET THE CURRENT DIRECTION
int min = 0; //FIRST LINE OF THE MENU
int max = 1; //LAST LINE OF THE MENU
int add = 1; //HOW MUCH LINES IS ADDED EACH TIME THE DIRECTION BUTTON IS PRESSED
float x = getentityproperty(self, "x"); //CURRENT PLAYER X POSITION
float y = getentityproperty(self, "y"); //CURRENT PLAYER Y POSITION
float z = getentityproperty(self, "z"); //CURRENT PLAYER Z POSITION
if(getglobalvar("activeText") == "Partner" && hasplayed == 1){ //PARTNER MENU IS ON?? RUN ALL TASKS BELOW
//HIGHLIGHT OPTIONS WHEN MOVE DOWN
if(playerkeys(player, 1, "movedown")){
playsample(openborconstant("SAMPLE_BEEP"), 0, openborvariant("effectvol"), openborvariant("effectvol"), 100, 0);
if(highlight >= min && highlight < max){setglobalvar("highlight", highlight+1);}
if(highlight == max){setglobalvar("highlight", min);}
}
//HIGHLIGHT OPTIONS WHEN MOVE UP
if(playerkeys(player, 1, "moveup")){
playsample(openborconstant("SAMPLE_BEEP"), 0, openborvariant("effectvol"), openborvariant("effectvol"), 100, 0);
if(highlight > min && highlight <= max){setglobalvar("highlight", highlight-1);}
if(highlight == min){setglobalvar("highlight", max);}
}
//CHANGE ALL OPTIONS INSIDE THIS MENU WHEN MOVE RIGHT
if(playerkeys(player, 1, "moveright")){
playsample(openborconstant("SAMPLE_BEEP"), 0, openborvariant("effectvol"), openborvariant("effectvol"), 100, 0);
//IS PARTNER MODE HIGHLIGHTED??
if(getglobalvar("highlight") == 0){
if(getglobalvar("partnerMode") == "balanced"){setglobalvar("partnerMode", "aggressive");}else
if(getglobalvar("partnerMode") == "aggressive"){setglobalvar("partnerMode", "defensive");}else
if(getglobalvar("partnerMode") == "defensive"){setglobalvar("partnerMode", "balanced");}
}
//IS PARTNER NAME HIGHLIGHTED??
if(getglobalvar("highlight") == 1){
if(getglobalvar("selectPartner") == "Guy_"){setglobalvar("selectPartner", "Haggar_");}else
if(getglobalvar("selectPartner") == "Haggar_"){setglobalvar("selectPartner", "Guy_");}
}
}
//CHANGE ALL OPTIONS INSIDE THIS MENU WHEN MOVE LEFT
if(playerkeys(player, 1, "moveleft")){
playsample(openborconstant("SAMPLE_BEEP"), 0, openborvariant("effectvol"), openborvariant("effectvol"), 100, 0);
//IS PARTNER MODE HIGHLIGHTED??
if(getglobalvar("highlight") == 0){
if(getglobalvar("partnerMode") == "balanced"){setglobalvar("partnerMode", "defensive");}else
if(getglobalvar("partnerMode") == "defensive"){setglobalvar("partnerMode", "aggressive");}else
if(getglobalvar("partnerMode") == "aggressive"){setglobalvar("partnerMode", "balanced");}
}
//IS PARTNER NAME HIGHLIGHTED??
if(getglobalvar("highlight") == 1){
if(getglobalvar("selectPartner") == "Guy_"){setglobalvar("selectPartner", "Haggar_");}else
if(getglobalvar("selectPartner") == "Haggar_"){setglobalvar("selectPartner", "Guy_");}
}
}
//SPAWN CPU PARTNER IN-GAME
if(playerkeys(player, 1, "attack")){ //ATTACK BUTTON IS PRESSED??
if(getglobalvar("highlight") == max){ //IS PARTNER SPAWN OPTION HIGHLIGHTED??
if(lives >= 2){ //HAVE THE PLAYER ENOUGH LIVES TO DEDUCT??
void vSpawn; //START THE SPAWN OPERATION
playsample(openborconstant("SAMPLE_BEEP2"), 0, openborvariant("effectvol"), openborvariant("effectvol"), 100, 0); //PLAY SAMPLE
changeplayerproperty(player, "lives", lives-1); //DEDUCT PLAYER LIVES
clearspawnentry(); //CLEAR CURRENT SPAWN ENTRY
setspawnentry("name", getglobalvar("selectPartner")); //ACQUIRE SPAWN ENTITY BY NAME
vSpawn = spawn(); //SPAWN IN ENTITY
changeentityproperty(vSpawn, "position", x, z, y+300); //SET SPAWN POSITION
changeentityproperty(vSpawn, "direction", dir); //SET SPAWN DIRECTION
setglobalvar("highlight", 0); //RESET THE HIGHLIGHT OPTION
return vSpawn; //RETURN SPAWN
}
}
}
}
}