Bueno miren que tengo un problema, yo tenia 4 menu's, 2 en un FS y otros 2 en un GM, pero tuve que unir
los del GM al FS para poder poner una cosa, pero el problema es que en OnPlayerSelectedMenuRow, solo funcionan
los 2 primeros, no logro comprenderlo. Intente volteandolos y si, funcionaron los otros 2 primeros. Que puedo hacer? no lo eh podido solucionar.
Код:
public OnPlayerSelectedMenuRow(playerid, row)
{
new Menu:CurrentMenu = GetPlayerMenu(playerid);
if(CurrentMenu == menutele) //Este sera el menu principal
{
switch(row)
{
case 0:
{
new Float:health;
GetPlayerHealth(playerid,health);
if(health > 55) //RANK 3
{
new string2[128], playername[MAX_PLAYER_NAME];
GetPlayerName(playerid, playername, sizeof(playername));
SetPlayerInterior(playerid, 0);
SetPlayerPos(playerid, -654.9000,2519.6060,427.2109);
TogglePlayerControllable(playerid,0);
TextDrawShowForPlayer(playerid,lbt);
TextDrawShowForPlayer(playerid,lbb);
TextDrawShowForPlayer(playerid,cargando);
SetTimerEx("loaded",2000,0,"i",playerid);
ResetPlayerWeapons(playerid);
format(string2, sizeof(string2), "{FF0000}* %s {FFFFFF}se ha teletransportado al Salto. (/Tele)", playername);
SendClientMessageToAll(AZUL_CLARO, string2);
DisablePlayerCheckpoint(playerid);
ResetPlayerWeapons(playerid);
Duelo[playerid] = 0;
}
else
{
SendClientMessage(playerid, COLOR_ROJO, "* Necesitas curarte antes de teletransportarte al Salto!");
}
}
case 1:
{
ShowMenuForPlayer(dificultad,playerid);
}
case 2:
{
new Float:health;
GetPlayerHealth(playerid,health);
if(health > 55) //RANK 3
{
new string2[128], playername[MAX_PLAYER_NAME];
GetPlayerName(playerid, playername, sizeof(playername));
SetPlayerInterior(playerid, 0);
SetPlayerPos(playerid, 1317.7235,1263.2357,10.8203);
TogglePlayerControllable(playerid,0);
TextDrawShowForPlayer(playerid,lbt);
TextDrawShowForPlayer(playerid,lbb);
TextDrawShowForPlayer(playerid,cargando);
SetTimerEx("loaded",2000,0,"i",playerid);
ResetPlayerWeapons(playerid);
format(string2, sizeof(string2), "{FF0000}* %s {FFFFFF}se ha teletransportado a Stunt Zone. (/Tele)", playername);
SendClientMessageToAll(AZUL_CLARO, string2);
DisablePlayerCheckpoint(playerid);
Duelo[playerid] = 0;
}
else
{
SendClientMessage(playerid, COLOR_ROJO, "* Necesitas curarte antes de teletransportarte al Reto!");
}
}
case 3:
{
new Float:health;
GetPlayerHealth(playerid,health);
if(health > 55) //RANK 3
{
new string2[128], playername[MAX_PLAYER_NAME];
GetPlayerName(playerid, playername, sizeof(playername));
SetPlayerInterior(playerid, 9);
SetPlayerPos(playerid, 315.8235,973.4511,1961.5571);
TogglePlayerControllable(playerid,0);
TextDrawShowForPlayer(playerid,lbt);
TextDrawShowForPlayer(playerid,lbb);
TextDrawShowForPlayer(playerid,cargando);
SetTimerEx("loaded",2000,0,"i",playerid);
format(string2, sizeof(string2), "{FF0000}* %s {FFFFFF}se ha teletransportado al Avion. (/Tele)", playername);
SendClientMessageToAll(AZUL_CLARO, string2);
SetPlayerCheckpoint(playerid, 315.7849,1031.0007,1947.409, 8);
SetTimerEx("Paracaidas",1000,0,"i",playerid);
Duelo[playerid] = 0;
}
else
{
SendClientMessage(playerid, COLOR_ROJO, "* Necesitas curarte antes de teletransportarte al Avion!");
}
}
case 4:
{
new Float:health;
GetPlayerHealth(playerid,health);
if(health > 55) //RANK 3
{
new string2[128], playername[MAX_PLAYER_NAME];
GetPlayerName(playerid, playername, sizeof(playername));
SetPlayerInterior(playerid, 0);
SetPlayerPos(playerid, 1358.0405,-793.2532,399.4066);
TogglePlayerControllable(playerid,0);
TextDrawShowForPlayer(playerid,lbt);
TextDrawShowForPlayer(playerid,lbb);
TextDrawShowForPlayer(playerid,cargando);
SetTimerEx("loaded",2000,0,"i",playerid);
format(string2, sizeof(string2), "{FF0000}* %s {FFFFFF}se ha teletransportado a Race. (/Tele)", playername);
SendClientMessageToAll(AZUL_CLARO, string2);
SetPlayerFacingAngle(playerid, 0.0);
Duelo[playerid] = 0;
}
else
{
SendClientMessage(playerid, COLOR_ROJO, "* Necesitas curarte antes de teletransportarte a Race!");
}
}
}
if(CurrentMenu == menuduelos) //Este sera el menu principal
{
switch(row)
{
case 0:
{
new Float:health;
GetPlayerHealth(playerid,health);
if(health > 55) //RANK 3
{
new string2[128], playername[MAX_PLAYER_NAME];
GetPlayerName(playerid, playername, sizeof(playername));
new rand = random(sizeof(Duelo1));
SetPlayerPos(playerid, Duelo1[rand][0], Duelo1[rand][1], Duelo1[rand][2]);
format(string2, sizeof(string2), "{FF0000}* %s {FFFFFF}se ha teletransportado al duelo de Sawnoff y TEC9. (/Duelos)", playername);
SendClientMessageToAll(AZUL_CLARO, string2);
SetPlayerInterior(playerid, 0);
SetPlayerArmour(playerid, 100);
SetPlayerHealth(playerid, 100);
Duelo[playerid] = 1;
DisablePlayerCheckpoint(playerid);
SetTimerEx("DueloSawnoff",1000,0,"i",playerid);
}
else
{
SendClientMessage(playerid, COLOR_ROJO, "* Necesitas curarte antes de entrar al Duelo !");
}
}
case 1:
{
new Float:health;
GetPlayerHealth(playerid,health);
if(health > 55) //RANK 3
{
new string2[128], playername[MAX_PLAYER_NAME];
GetPlayerName(playerid, playername, sizeof(playername));
new rand = random(sizeof(Duelo3));
SetPlayerPos(playerid, Duelo3[rand][0], Duelo3[rand][1], Duelo3[rand][2]);
SetPlayerInterior(playerid, 1);
format(string2, sizeof(string2), "{FF0000}* %s {FFFFFF}se ha teletransportado al duelo de M4. (/Duelos)", playername);
SendClientMessageToAll(AZUL_CLARO, string2);
SetPlayerArmour(playerid, 100);
SetPlayerHealth(playerid, 100);
Duelo[playerid] = 1;
DisablePlayerCheckpoint(playerid);
SetTimerEx("DueloM4",1000,0,"i",playerid);
}
else
{
SendClientMessage(playerid, COLOR_ROJO, "* Necesitas curarte antes de entrar al Duelo !");
}
}
case 2:
{
new Float:health;
GetPlayerHealth(playerid,health);
if(health > 55) //RANK 3
{
new string2[128], playername[MAX_PLAYER_NAME];
GetPlayerName(playerid, playername, sizeof(playername));
new rand = random(sizeof(Duelo2));
SetPlayerPos(playerid, Duelo2[rand][0], Duelo2[rand][1], Duelo2[rand][2]);
SetPlayerInterior(playerid, 10);
format(string2, sizeof(string2), "{FF0000}* %s {FFFFFF}se ha teletransportado al duelo de Deagle. (/Duelos)", playername);
SendClientMessageToAll(AZUL_CLARO, string2);
SetPlayerArmour(playerid, 100);
SetPlayerHealth(playerid, 100);
Duelo[playerid] = 1;
DisablePlayerCheckpoint(playerid);
SetTimerEx("DueloDeagle",1000,0,"i",playerid);
}
else
{
SendClientMessage(playerid, COLOR_ROJO, "* Necesitas curarte antes de entrar al Duelo !");
}
}
case 3:
{
new Float:health;
GetPlayerHealth(playerid,health);
if(health > 55) //RANK 3
{
new string2[128], playername[MAX_PLAYER_NAME];
GetPlayerName(playerid, playername, sizeof(playername));
new rand = random(sizeof(Duelo4));
SetPlayerPos(playerid, Duelo4[rand][0], Duelo4[rand][1], Duelo4[rand][2]);
format(string2, sizeof(string2), "{FF0000}* %s {FFFFFF}se ha teletransportado al duelo de SPAZ. (/Duelos)", playername);
SendClientMessageToAll(AZUL_CLARO, string2);
SetPlayerInterior(playerid, 0);
SetPlayerArmour(playerid, 100);
SetPlayerHealth(playerid, 100);
Duelo[playerid] = 1;
DisablePlayerCheckpoint(playerid);
SetTimerEx("DueloSpaz",1000,0,"i",playerid);
}
else
{
SendClientMessage(playerid, COLOR_ROJO, "* Necesitas curarte antes de entrar al Duelo !");
}
}
case 4:
{
new Float:health;
GetPlayerHealth(playerid,health);
if(health > 55) //RANK 3
{
new string2[128], playername[MAX_PLAYER_NAME];
GetPlayerName(playerid, playername, sizeof(playername));
new rand = random(sizeof(Duelo5));
SetPlayerPos(playerid, Duelo5[rand][0], Duelo5[rand][1], Duelo5[rand][2]);
format(string2, sizeof(string2), "{FF0000}* %s {FFFFFF}se ha teletransportado al duelo de Lanzallamas. (/Duelos)", playername);
SendClientMessageToAll(AZUL_CLARO, string2);
SetPlayerInterior(playerid, 18);
SetPlayerArmour(playerid, 100);
SetPlayerHealth(playerid, 100);
Duelo[playerid] = 1;
DisablePlayerCheckpoint(playerid);
SetTimerEx("DueloLanzallamas",1000,0,"i",playerid);
}
else
{
SendClientMessage(playerid, COLOR_ROJO, "* Necesitas curarte antes de entrar al Duelo !");
}
}
}
if(CurrentMenu == dificultad) //Este sera el menu principal
{
switch(row)
{
case 0: //facil
{
new Float:health;
GetPlayerHealth(playerid,health);
if(health > 55) //RANK 3
{
new string2[128], playername[MAX_PLAYER_NAME];
GetPlayerName(playerid, playername, sizeof(playername));
SetPlayerInterior(playerid, 0);
SetPlayerPos(playerid, -2141.0166,2411.9585,457.4148);
TogglePlayerControllable(playerid,0);
TextDrawShowForPlayer(playerid,lbt);
TextDrawShowForPlayer(playerid,lbb);
TextDrawShowForPlayer(playerid,cargando);
SetTimerEx("loaded",2000,0,"i",playerid);
ResetPlayerWeapons(playerid);
format(string2, sizeof(string2), "{FF0000}* %s {FFFFFF}se ha teletransportado al Reto en Facil. (/Tele)", playername);
SendClientMessageToAll(AZUL_CLARO, string2);
DisablePlayerCheckpoint(playerid);
Duelo[playerid] = 0;
}
else
{
SendClientMessage(playerid, COLOR_ROJO, "* Necesitas curarte antes de teletransportarte al Reto!");
}
}
case 1: //normal
{
new Float:health;
GetPlayerHealth(playerid,health);
if(health > 55) //RANK 3
{
new string2[128], playername[MAX_PLAYER_NAME];
GetPlayerName(playerid, playername, sizeof(playername));
SetPlayerInterior(playerid, 0);
SendClientMessage(playerid, COLOR_GREY, "Proximamente...");
new rand = random(sizeof(Reto));
SetPlayerPos(playerid, Reto[rand][0], Reto[rand][1], Reto[rand][2]);
TogglePlayerControllable(playerid,0);
TextDrawShowForPlayer(playerid,lbt);
TextDrawShowForPlayer(playerid,lbb);
TextDrawShowForPlayer(playerid,cargando);
SetTimerEx("loaded",2000,0,"i",playerid);
ResetPlayerWeapons(playerid);
format(string2, sizeof(string2), "{FF0000}* %s {FFFFFF}se ha teletransportado al Reto en Normal. (/Tele)", playername);
SendClientMessageToAll(AZUL_CLARO, string2);
DisablePlayerCheckpoint(playerid);
Duelo[playerid] = 0;
}
else
{
SendClientMessage(playerid, COLOR_ROJO, "* Necesitas curarte antes de teletransportarte al Reto!");
}
}
case 2: //avanzado
{
new Float:health;
GetPlayerHealth(playerid,health);
if(health > 55) //RANK 3
{
new string2[128], playername[MAX_PLAYER_NAME];
GetPlayerName(playerid, playername, sizeof(playername));
SetPlayerInterior(playerid, 0);
SetPlayerPos(playerid, 1784.1637,2140.6335,316.1240);
TogglePlayerControllable(playerid,0);
TextDrawShowForPlayer(playerid,lbt);
TextDrawShowForPlayer(playerid,lbb);
TextDrawShowForPlayer(playerid,cargando);
SetTimerEx("loaded",2000,0,"i",playerid);
ResetPlayerWeapons(playerid);
format(string2, sizeof(string2), "{FF0000}* %s {FFFFFF}se ha teletransportado al Reto en Dificil. (/Tele)", playername);
SendClientMessageToAll(AZUL_CLARO, string2);
DisablePlayerCheckpoint(playerid);
Duelo[playerid] = 0;
}
else
{
SendClientMessage(playerid, COLOR_ROJO, "* Necesitas curarte antes de teletransportarte al Reto!");
}
}
}
if(CurrentMenu == menu) //Este sera el menu principal
{
switch(row)
{
case 0:
{
SetPlayerInterior(playerid, 0);
SetPlayerPos(playerid, 297.9552,-1168.5767,80.9099);
TogglePlayerControllable(playerid,1);
}
case 1:
{
SetPlayerInterior(playerid, 0);
SetPlayerPos(playerid, 2513.3230,-1671.5131,13.5197);
TogglePlayerControllable(playerid,1);
}
case 2:
{
SetPlayerInterior(playerid, 0);
SetPlayerPos(playerid, 490.7168,-1494.9613,20.3475);
TogglePlayerControllable(playerid,1);
}
case 3:
{
SetPlayerInterior(playerid, 0);
SetPlayerPos(playerid, 327.3844,-1795.3684,4.7619);
TogglePlayerControllable(playerid,1);
}
case 4:
{
SetPlayerInterior(playerid, 0);
SetPlayerPos(playerid, 2861.6436,-2031.3605,10.9338);
TogglePlayerControllable(playerid,1);
}
case 5:
{
SetPlayerInterior(playerid, 0);
SetPlayerPos(playerid, 1541.0021,-1359.2114,329.4633);
TogglePlayerControllable(playerid,1);
}
}
}
if(CurrentMenu == MenuOpciones) //Este sera el menu principal
{
switch(row)
{
case 0: //Estilos Pelea
{
ShowPlayerDialog(playerid, 125, DIALOG_STYLE_LIST, "Estilos de pelea", "Normal\nBoxeo\nKarate\nGrabkick\nCodazo", "Elegir", "Cancelar");
}
case 1: //Colores
{
ShowPlayerDialog(playerid, 126, DIALOG_STYLE_LIST, "Colores", "Azul\nAzul Oscuro\nRojo\nAnaranjado\nAmarillo\nVerde\nCafe\nNegro\nBlanco\nGris\nMorado\nRosa", "Elegir", "Cancelar");
}
case 2: //NO-MP
{
if(NoMP[playerid] == 0)
{
SetPVarInt(playerid, "NoPM", 1);
SendClientMessage(playerid, COLOUR_PM, "Mensajes Privados desactivados. Ahora no recibiras mas.");
NoMP[playerid] = 1;
}
else if(NoMP[playerid] == 1)
{
SetPVarInt(playerid, "NoPM", 0);
SendClientMessage(playerid, COLOUR_PM, "Mensajes Privados activados. Ahora puedes recibirlos.");
NoMP[playerid] = 0;
}
}
case 3: //StatBox
{
if(StatBox[playerid] == 1)
{
TextDrawHideForPlayer(playerid, Text:box[playerid]);
TextDrawHideForPlayer(playerid, Text:Textdraw1[playerid]);
TextDrawHideForPlayer(playerid, Text:Textdraw2[playerid]);
TextDrawHideForPlayer(playerid, Text:Textdraw3[playerid]);
TextDrawHideForPlayer(playerid, Text:Textdraw4[playerid]);
TextDrawHideForPlayer(playerid, Text:Textdraw5[playerid]);
TextDrawHideForPlayer(playerid, Text:Textdraw6[playerid]);
StatBox[playerid] = 0;
KillTimer(Stattimer[playerid]);
SendClientMessage(playerid, COLOUR_PM, "Stats-Box Desactivada.");
}
else if(StatBox[playerid] == 0)
{
Stattimer[playerid] = SetTimerEx("STATSUpdate",1500,1,"i",playerid);
SendClientMessage(playerid, COLOUR_PM, "Stats-Box Activada.");
StatBox[playerid] = 1;
}
}
}
}
}
}
}
return 1;
}
Revivo Post.