SA-MP Forums Archive
DUDA CON SPAWN - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Español/Spanish (https://sampforum.blast.hk/forumdisplay.php?fid=29)
+---- Thread: DUDA CON SPAWN (/showthread.php?tid=459954)



DUDA CON SPAWN - adrianxd - 25.08.2013

Hola amigos, quisiera saber como hacer lo siguiente.


Vale mi duda es al inicio del spawn quiero que solo salga solo un solo TEAM ejemplo HUMANOS una ves de eso se activara un timer el cual cambiara la variable de humanos a ZOMBIES estonces cuando un usuario se conecte al server y ese timer concluya solo le deje hacer el spawn en ZOMBIES y ya no en HUMANOS, y bien puede decirme como hacerlo?

P.D: edu me ayudo con un ejemplo asi y el cual funciona pero en el class es donde tengo ese problema.


Respuesta: DUDA CON SPAWN - Swedky - 25.08.2013

Quiйres que cada 'x' tiempo spawnee con otro Team para todos los Jugadores?.


Respuesta: DUDA CON SPAWN - adrianxd - 25.08.2013

Si, mira al inicio del juego todos podran hacer el spawn en HUMANOS

en

pawn Код:
public OnGameModeInit()
Se estarб iniciando un timer de Infeccion de 1 minuto al finalizar ese timer en el CLASS a os nuevos usuarios que entren al server solo podran hacer el spawn en zombies. solo eso


Respuesta: DUDA CON SPAWN - JustBored - 25.08.2013

Hace una variable global y una comparacion en OnPlayerSpawn, osea
pawn Код:
static SeraHumano;
public OnGameModeInit()
{
SeranHumanos = 1;
SetTimer("YaNoLoSeran", (60*1000), false);
return 1;
}
public YaNoLoSeran()
{
SeranHumanos = 0;
return 1;
}
public OnPlayerSpawn(playerid)
{
if(SeranHumanos == 1)
{
//codigo para el humano
} else
{
//zombis
}
return 1;
}



Respuesta: DUDA CON SPAWN - adrianxd - 25.08.2013

Vale eso si, ya lo hice y funciona pero en el class

pawn Код:
public OnPlayerRequestClass(playerid, classid)
Tengo el problema de que no me cambia el nombre de HUMANOS a ZOMBIES -.-

P.D: Y claro ya intente hacer el script de ese cambio pero no me funciono y lo peor es q se fue la luz y se fue todo ala shit


Re: DUDA CON SPAWN - Strier - 25.08.2013

en onplayerequestclass puedes returnar 0 si el timer esta activado, es decir si quieren elegir el team de humanos returna 0, con las variables que te dio justbored


Respuesta: Re: DUDA CON SPAWN - adrianxd - 25.08.2013

Quote:
Originally Posted by Strier
Посмотреть сообщение
en onplayerequestclass puedes returnar 0 si el timer esta activado, es decir si quieren elegir el team de humanos returna 0, con las variables que te dio justbored
Vale pero en mi caso lo tengo asi


Arriba de todo

pawn Код:
new GameStarted = false; // ayuda a que cuando el TIMER termina se activa y obliga al el usuario a server ZOMBIe
pawn Код:
public OnPlayerSpawn(playerid)
{
    if(!GameStarted) gTeam[playerid] = TEAM_HUMANOS;
    if(gTeam[playerid] == TEAM_HUMANOS)
    {
        ResetPlayerWeapons(playerid);
        SetPlayerTeam(playerid,0);
        SetPlayerSkin(playerid,285);
        new randomskin = random(3);
        switch(randomskin)
        {
            case 0: SetPlayerSkin(playerid, 119);
            case 1: SetPlayerSkin(playerid, 285);
            case 2: SetPlayerSkin(playerid, 216);
        }
    }
    if(GameStarted) gTeam[playerid] = TEAM_ZOMBIE;// aquн esta
    if(gTeam[playerid] == TEAM_ZOMBIE)
    {
        SendClientMessage(playerid, -1, "Lo sentimos, pero ya empezу el juego");
        SetPlayerTeam(playerid, 1);
        GivePlayerWeapon(playerid, 9, 1);
        SetPlayerSkin(playerid, 163);
    }
    return 1;
}
Este es el timer que hace el RAMDOM INFECTION por lo cual al terminar hace que se active GameStarted

pawn Код:
forward UpdateTime(playerid);
public UpdateTime(playerid)
{
    new Str[34];
    TimeS --;
   
    if(TimeM == 0 && TimeS == 0)
    {
        KillTimer(Time);
    }
   
    if(TimeS == -1)
    {
        TimeM--;
        TimeS = 59;
    }
   
    format(Str, sizeof(Str), "  %02d:%02d", TimeM, TimeS);
    TextDrawSetString(conteo1, Str);
   
    if(TimeS == 0)
    {
        RandomPlayer(playerid);
        GameStarted = true;
    }
    return 1;
}
Y bueno y esto hace que el jugador que se conecte se valla a zombies, a hora en el OnPlayerRequestClass

quiero que haga eso mismo que al principio los escojan a los humanos una ves finalizado el timer en OnPlayerRequestClass elijan a los zombies y ya no salngan mas los humanos, y bien en OnPlayerRequestClass
lo tengo asi pero no logro hacer lo antes comentado

pawn Код:
public OnPlayerRequestClass(playerid, classid)
{
//============================================================================//
    SetPlayerClass(playerid, classid);
    switch (classid)
    {
        case 0: GameTextForPlayer(playerid, "~r~HUMANO", 2000, 3);
        case 1: GameTextForPlayer(playerid, "~b~ZOMBIE", 2000, 3);
    }
    return 1;
}
//==============================================================================
SetPlayerClass(playerid, classid)
{
    switch(classid)
    {
       case 0: { gTeam[playerid] = TEAM_HUMANOS; SetPlayerTeam(playerid, TEAM_HUMANOS); }
       case 1: { gTeam[playerid] = TEAM_ZOMBIE; SetPlayerTeam(playerid, TEAM_ZOMBIE); }
    }
}