DUDA CON SPAWN
#1

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

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

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

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

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

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

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); }
    }
}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)