void main()
{//Global keyall scripts, detects player index
int player = getlocalvar("player");
if(player == 0 && openborvariant("count_players") <= 1){
menuPartners(player);
}
}
void menuPartners(int player)
{//Adjust CPU partner mode and aggression
void self = getplayerproperty(player, "entity");
int highlight = getglobalvar("highlight");
int hasplayed = getplayerproperty(player, "hasplayed");
int dir = getentityproperty(self, "direction");
int max = 6;
int min = 0;
int add = 1;
float x = getentityproperty(self, "x");
float y = getentityproperty(self, "y");
float z = getentityproperty(self, "z");
//MAIN COMMAND TO OPEN AND CLOSE PARTNER MENU
if(playerkeys(player, 1, "screenshot") && hasplayed){ //SELECT BUTTON IS PRESSED??
if(openborvariant("in_level")){ //CHECK IF THE GAME IS IN ANY LEVEL AND ARCADE LOCK IS "0"
if(!openborvariant("pause") && !openborvariant("in_options")){ //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 "EXTRA 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
}
}
}
}
if(getglobalvar("activeText") == "Partner" && hasplayed){
//HIGHLIGHT OPTIONS WHEN MOVE DOWN
if(playerkeys(player, 1, "movedown")){
playsample(openborconstant("SAMPLE_BEEP"), 0, openborvariant("effectvol"), openborvariant("effectvol"), 100, 0); //PLAY SAMPLE
if(highlight >= min && highlight < max){setglobalvar("highlight", highlight+add);}
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); //PLAY SAMPLE
if(highlight > min && highlight <= max){setglobalvar("highlight", highlight-add);}
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); //PLAY SAMPLE
//IS PARTNER MODE HIGHLIGHTED??
if(getglobalvar("highlight") == 0){
if(getglobalvar("partnerMode") == "balanced"){setglobalvar("partnerMode", "attack");}else
if(getglobalvar("partnerMode") == "attack"){setglobalvar("partnerMode", "defense");}else
if(getglobalvar("partnerMode") == "defense"){setglobalvar("partnerMode", "balanced");}
}
//IS PARTNER AGGRESSION HIGHLIGHTED??
if(getglobalvar("highlight") == 1){
if(getglobalvar("partnerAggression") == "*"){setglobalvar("partnerAggression", "**");}else
if(getglobalvar("partnerAggression") == "**"){setglobalvar("partnerAggression", "***");}else
if(getglobalvar("partnerAggression") == "***"){setglobalvar("partnerAggression", "****");}else
if(getglobalvar("partnerAggression") == "****"){setglobalvar("partnerAggression", "*****");}else
if(getglobalvar("partnerAggression") == "*****"){setglobalvar("partnerAggression", "******");}else
if(getglobalvar("partnerAggression") == "******"){setglobalvar("partnerAggression", "*******");}else
if(getglobalvar("partnerAggression") == "*******"){setglobalvar("partnerAggression", "********");}else
if(getglobalvar("partnerAggression") == "********"){setglobalvar("partnerAggression", "*********");}else
if(getglobalvar("partnerAggression") == "*********"){setglobalvar("partnerAggression", "*");}
}
//IS PARTNER GET FOOD HIGHLIGHTED??
if(getglobalvar("highlight") == 2){
if(getglobalvar("partnerGetFood") == "yes"){setglobalvar("partnerGetFood", "no");}else
if(getglobalvar("partnerGetFood") == "no"){setglobalvar("partnerGetFood", "yes");}
}
//IS PARTNER FOLLOW HIGHLIGHTED??
if(getglobalvar("highlight") == 3){
if(getglobalvar("partnerFollow") == "automatic"){setglobalvar("partnerFollow", "manual");}else
if(getglobalvar("partnerFollow") == "manual"){setglobalvar("partnerFollow", "automatic");}
}
//IS PARTNER RESPAWN HIGHLIGHTED??
if(getglobalvar("highlight") == 4){
if(getglobalvar("partnerRespawn") == "instantly"){setglobalvar("partnerRespawn", "manual");}else
if(getglobalvar("partnerRespawn") == "manual"){setglobalvar("partnerRespawn", "instantly");}
}
//IS PARTNER LIFE BAR HIGHLIGHTED??
if(getglobalvar("highlight") == 5){
if(getglobalvar("partnerLifeBar") == "full_hud"){setglobalvar("partnerLifeBar", "simple");}else
if(getglobalvar("partnerLifeBar") == "simple"){setglobalvar("partnerLifeBar", "full_hud");}
}
//IS PARTNER NAME HIGHLIGHTED??
if(getglobalvar("highlight") == 6){
if(getglobalvar("selectPartner") == "Max_"){setglobalvar("selectPartner", "Mandy_");}else
if(getglobalvar("selectPartner") == "Mandy_"){setglobalvar("selectPartner", "Max_");}
}
}
//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); //PLAY SAMPLE
//IS PARTNER MODE HIGHLIGHTED??
if(getglobalvar("highlight") == 0){
if(getglobalvar("partnerMode") == "balanced"){setglobalvar("partnerMode", "defense");}else
if(getglobalvar("partnerMode") == "defense"){setglobalvar("partnerMode", "attack");}else
if(getglobalvar("partnerMode") == "attack"){setglobalvar("partnerMode", "balanced");}
}
//IS PARTNER AGGRESSION HIGHLIGHTED??
if(getglobalvar("highlight") == 1){
if(getglobalvar("partnerAggression") == "*"){setglobalvar("partnerAggression", "*********");}else
if(getglobalvar("partnerAggression") == "*********"){setglobalvar("partnerAggression", "********");}else
if(getglobalvar("partnerAggression") == "********"){setglobalvar("partnerAggression", "*******");}else
if(getglobalvar("partnerAggression") == "*******"){setglobalvar("partnerAggression", "******");}else
if(getglobalvar("partnerAggression") == "******"){setglobalvar("partnerAggression", "*****");}else
if(getglobalvar("partnerAggression") == "*****"){setglobalvar("partnerAggression", "****");}else
if(getglobalvar("partnerAggression") == "****"){setglobalvar("partnerAggression", "***");}else
if(getglobalvar("partnerAggression") == "***"){setglobalvar("partnerAggression", "**");}else
if(getglobalvar("partnerAggression") == "**"){setglobalvar("partnerAggression", "*");}
}
//IS PARTNER GET FOOD HIGHLIGHTED??
if(getglobalvar("highlight") == 2){
if(getglobalvar("partnerGetFood") == "yes"){setglobalvar("partnerGetFood", "no");}else
if(getglobalvar("partnerGetFood") == "no"){setglobalvar("partnerGetFood", "yes");}
}
//IS PARTNER FOLLOW HIGHLIGHTED??
if(getglobalvar("highlight") == 3){
if(getglobalvar("partnerFollow") == "automatic"){setglobalvar("partnerFollow", "manual");}else
if(getglobalvar("partnerFollow") == "manual"){setglobalvar("partnerFollow", "automatic");}
}
//IS PARTNER RESPAWN HIGHLIGHTED??
if(getglobalvar("highlight") == 4){
if(getglobalvar("partnerRespawn") == "instantly"){setglobalvar("partnerRespawn", "manual");}else
if(getglobalvar("partnerRespawn") == "manual"){setglobalvar("partnerRespawn", "instantly");}
}
//IS PARTNER LIFE BAR HIGHLIGHTED??
if(getglobalvar("highlight") == 5){
if(getglobalvar("partnerLifeBar") == "full_hud"){setglobalvar("partnerLifeBar", "simple");}else
if(getglobalvar("partnerLifeBar") == "simple"){setglobalvar("partnerLifeBar", "full_hud");}
}
//IS PARTNER NAME HIGHLIGHTED??
if(getglobalvar("highlight") == 6){
if(getglobalvar("selectPartner") == "Max_"){setglobalvar("selectPartner", "Mandy_");}else
if(getglobalvar("selectPartner") == "Mandy_"){setglobalvar("selectPartner", "Max_");}
}
}
//SPAWN CPU PARTNER IN-GAME
if(playerkeys(player, 1, "attack")){ //ATTACK BUTTON IS PRESSED??
if(getglobalvar("highlight") == max){ //IS PARTNER SPAWN OPTION HIGHLIGHTED??
//if(getglobalvar("partnerIndex") == NULL()){ //ONLY 1 PARTNER IS ALLOWED
playsample(openborconstant("SAMPLE_BEEP"), 0, openborvariant("effectvol"), openborvariant("effectvol"), 100, 0); //PLAY SAMPLE
//START THE SPAWN OPERATION
void vSpawn;
int height = 300;
loadmodel(getglobalvar("selectPartner"), 3);
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+height); //SET SPAWN POSITION
changeentityproperty(vSpawn, "direction", dir); //SET SPAWN DIRECTION
setglobalvar("highlight", 0); //RESET THE HIGHLIGHT OPTION
setglobalvar("partnerIndex", player); //SAVE THE CURRENT PARTNER "PARENT" INDEX
setglobalvar("currentPartner", vSpawn); //SAVE THE CURRENT PARTNER NAME
//CLOSE PARTNER MENU INSTANTLY
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("nojoin", 1); //PREVENT OTHER PLAYERS TO ENTER IN THE GAME
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
}
//}
}
}
}
//PARTNER CALL BUTTON AND CUSTOM PARROW USED IN ONDRAW.C AND THINK.C
void player1 = getplayerproperty(0, "entity");
void player2 = getplayerproperty(1, "entity");
void player3 = getplayerproperty(2, "entity");
void player4 = getplayerproperty(3, "entity");
//USED TO MAKE THE SCRIPT WORKS WITH ANY PLAYER IN THE SCREEN AND WITH NO MENUS
if(getglobalvar("activeText") == 0){
if(playerkeys(player, 1, "attack4") && getglobalvar("partnerAlive") == 1){
//USED TO CHANGE THE PARTNER INDEX IF THE CALLER IS DEAD
if(getglobalvar("partnerIndex") == 0 && player1 == NULL()){
if(player2 != NULL()){setglobalvar("partnerIndex", 1);}else
if(player3 != NULL()){setglobalvar("partnerIndex", 2);}else
if(player4 != NULL()){setglobalvar("partnerIndex", 3);}
}
if(getglobalvar("partnerIndex") == 1 && player2 == NULL()){
if(player3 != NULL()){setglobalvar("partnerIndex", 2);}else
if(player4 != NULL()){setglobalvar("partnerIndex", 3);}else
if(player1 != NULL()){setglobalvar("partnerIndex", 0);}
}
if(getglobalvar("partnerIndex") == 2 && player3 == NULL()){
if(player4 != NULL()){setglobalvar("partnerIndex", 3);}else
if(player1 != NULL()){setglobalvar("partnerIndex", 0);}else
if(player2 != NULL()){setglobalvar("partnerIndex", 1);}
}
if(getglobalvar("partnerIndex") == 3 && player4 == NULL()){
if(player1 != NULL()){setglobalvar("partnerIndex", 0);}else
if(player2 != NULL()){setglobalvar("partnerIndex", 1);}else
if(player3 != NULL()){setglobalvar("partnerIndex", 2);}
}
//USED TO CALL PARTNER
if(player == getglobalvar("partnerIndex")){
if(getglobalvar("partnerParrow") != "call"){
playsample(openborconstant("SAMPLE_BEEP"), 0, openborvariant("effectvol"), openborvariant("effectvol"), 100, 0); //PLAY SAMPLE
setglobalvar("partnerParrow", "call");
}
else
{
playsample(openborconstant("SAMPLE_BEEP"), 0, openborvariant("effectvol"), openborvariant("effectvol"), 100, 0); //PLAY SAMPLE
setglobalvar("partnerParrow", NULL());
}
}
}
}
}