Ayuda con esta funcion
#1

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;
	}
Reply
#2

Код:
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
Reply
#3

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
Reply
#4

Код:
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;
}
Reply
#5

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.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)