Ayuda con esta funcion -
TonyHD - 09.01.2016
Tengo una duda hice una funcion que cuenta los usuarios que estan en /mg1 pero no logre hacer que detecte cuando use /salir y se reste los usuarios en /mg1
Mi comando
Код:
if(!strcmp(cmdtext, "/mg1", true))
{
new pName1[MAX_PLAYER_NAME];
GetPlayerName(playerid, pName1, MAX_PLAYER_NAME);
ResetPlayerWeapons(playerid);
SetPlayerInterior(playerid,0);
GetPlayerName(playerid, playerName, MAX_PLAYER_NAME);
SetPlayerVirtualWorld(playerid, 1);
Juego[playerid] = 1;// Bloquea los cmds
Putos[playerid] = 1;// Lo Respawnea en mg1 al morir
ResetPlayerWeapons(playerid);
GivePlayerWeapon(playerid, 38, 20000);
SetPlayerInterior(playerid, 0);
for(new i, p = GetMaxPlayers(); i < p; i ++)
{
if(!Putos[i]) continue;// PAra que solo les salga a los que estan en /mg1
format(string, sizeof(string), "{33FF33}* Minigun: Entro %s(%i)[Total: %i]",pName1,playerid, CountEventPlayers(Usuarios[playerid]));
SendClientMessage(i, AMARELO, string);
}
return 1;
}
El comando salir
Код:
if(strcmp(cmdtext, "/salir", true, 8 ) == 0)
{
if(Juego[playerid] == 0)
{
SendClientMessage(playerid,COLOR_ROJO,"* Error: No estas en un juego o en un Duelo!");
}
if(Juego[playerid] == 1)
{
Putos[playerid] = 0;
Juego[playerid] = 0;
TogglePlayerControllable(playerid, true);
SpawnPlayer(playerid);
SetCameraBehindPlayer(playerid);
SetPlayerInterior(playerid, 0);
SetPlayerVirtualWorld(playerid, 0);
GameTextForPlayer(playerid,"~g~saliste del modo~n~~r~DeathMatch~w~/~y~Duelo~w~/Minigame",3000,3);
TogglePlayerControllable(playerid, true);
}
return 1;
}
if(Juego[playerid] == 1)
{
GameTextForPlayer(playerid,"~g~Ї C¦mo salir ?~n~~w~usa /salir",4000,3);
return 1;
}
Respuesta: Ayuda con esta funcion -
FelipeAndres - 09.01.2016
Код:
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(Putos[i] == 1)
{
format(string, sizeof(string), "{33FF33}* Minigun: Entro %s(%i)[Total: %i]",pName1,playerid, CountEventPlayers(Putos[playerid]));
SendClientMessage(i, AMARELO, string);
}
}
tambien el problema podria estar en la funcion CountEventPlayers
Respuesta: Ayuda con esta funcion -
TonyHD - 09.01.2016
Gracias, esta es mi funcion
Код:
CountEventPlayers(event)
{
new count = 0;
foreach(new i : Player)
{
if(Usuarios[i] == event)
{
count++;//el ++ va agregando un usuario
}
}
return count;
}
El problema es que no se detectar cuando use /salir y le reste un jugador
Respuesta: Ayuda con esta funcion -
FelipeAndres - 11.01.2016
Код:
if(strcmp(cmdtext, "/salir", true, 8 ) == 0)
{
if(Juego[playerid] == 0)
{
SendClientMessage(playerid,COLOR_ROJO,"* Error: No estas en un juego o en un Duelo!");
}
if(Juego[playerid] == 1)
{
foreach(new i: Player)
{
if(Putos[i] == 1)
{
format(string, sizeof(string), "{33FF33}* Minigun: Entro %s(%i)[Total: %i]",pName1,playerid, CountEventPlayers(Putos[playerid])-1);
SendClientMessage(i, AMARELO, string);
}
}
Putos[playerid] = 0;
Juego[playerid] = 0;
TogglePlayerControllable(playerid, true);
SpawnPlayer(playerid);
SetCameraBehindPlayer(playerid);
SetPlayerInterior(playerid, 0);
SetPlayerVirtualWorld(playerid, 0);
GameTextForPlayer(playerid,"~g~saliste del modo~n~~r~DeathMatch~w~/~y~Duelo~w~/Minigame",3000,3);
TogglePlayerControllable(playerid, true);
}
return 1;
}
if(Juego[playerid] == 1)
{
GameTextForPlayer(playerid,"~g~Ї C¦mo salir ?~n~~w~usa /salir",4000,3);
return 1;
}
CountEventPlayers(event)
{
new count = 0;
foreach(new i : Player)
{
if(Putos[i] == event)
{
count++;//el ++ va agregando un usuario
}
}
return count;
}
Respuesta: Ayuda con esta funcion -
Thewin - 13.01.2016
Le seteas Putos[playerid] en 0 luego de enviar el mensaje, lo cual hace que cuente tambiйn al jugador y por tanto le envнa el mensaje a йl tambiйn, puedes poner como te coloco Felipe arriba o simplemente colocar el bucle del mensaje luego de setear Putos[playerid] en 0.