[Consulta] Alguna funcion o algo?
#1

Hola amigos quisiera saber si existe alguna funcion o como poder hacer lo que les voy a explicar

Estoy en un proyecto de un server de missiones o mini juegos cada una es un diferente gamemode que cambia cada 5 minutos la mission, ahora estoy creando uno de que el ultimo que queda vivo gana ya lo tengo en la mayoria terminado solo me falta que los jugadores tengan solo 20 o 30 segundos para spawmear si no lo hacen dentro de ese tiempo entonces mas despues ya no podran spawmear y solo podran spectear (la funcion de spectear ya lo tengo entonces tendria que llamar a este public) public SpectateOn(playerid) para que puedan spectear y no puedan jugar.

Les cuento que me la eh pasado pensando en que le podria poner, eh pensado en ponerle un timer en OnGameModeInit() de 20 segundos y dentro del public que llama el timer ponerle la funcion de public SpectateOn(playerid) que es la que uso para que cuando el jugador muera spectee, pero poniendome a pensar si pongo el timer para que cuente 20 segundos, cuando el timer ya llame al public entonces todos los jugadores spectearan si no me equivoco

Espero su ayuda porfavor se los agradecere muchisimosa y siempre tendran un lugar en los creditos.
Reply
#2

Y por que no pones mejor el timer en?
pawn Код:
OnPlayerConnect(playerid)
Bueno, de lo que entendн, me parece que poniйndolo allн no hay ningъn problema.
Reply
#3

pero si lo pongo ahi creo que cada vez que un jugador entre a ese jugador le contaria 20 segundos y yo quiero de manera global al iniciar el server
Reply
#4

pawn Код:
#include <a_samp>
new MiniJuegoKill[MAX_PLAYERS];
new MiniJuegoPlay[MAX_PLAYERS];

public OnPlayerSpawn(playerid)
{
    MiniJuegoKill[playerid] = SetTimerEx("MiniJuego", 20000, true, "i", playerid);
    MiniJuegoPlay[playerid] = 1;
    return 1;
}

public OnPlayerDeath(playerid, killerid, reason)
{
    if(MiniJuegoPlay[playerid] == 1)
    {
        MiniJuegoPlay[playerid] = 0;
        KillTimer(MiniJuegoKill[playerid]);
    }
    return 1;
}

forward MiniJuego(playerid);
public MiniJuego(playerid)
{
    if(MiniJuegoPlay[playerid] == 1)
    {
        SpectateOn(playerid);
        MiniJuegoPlay[playerid] = 0;
        KillTimer(MiniJuegoKill[playerid]);
    }
    return 1;
}
Reply
#5

estan equivocados, haz un timer simple en ongamemodeinit, la callback que es llamada cuando se enciende el servidor.
Reply
#6

Si no entendi mal, el codigo puede ser algo asi:

pawn Код:
public OnPlayerConnect(playerid)
{
    SetTimerEX("SpawnTimer", 30000, false, "i", playerid);
    fisrtspawn[playerid] = false;
    return 1;
}

forward SpawnTimer(playerid);
public SpawnTimer(playerid)
{
    //Aqui el jugador spectara
}
Reply
#7

Quote:
Originally Posted by bytytus
Посмотреть сообщение
pawn Код:
#include <a_samp>
new MiniJuegoKill[MAX_PLAYERS];
new MiniJuegoPlay[MAX_PLAYERS];

public OnPlayerSpawn(playerid)
{
    MiniJuegoKill[playerid] = SetTimerEx("MiniJuego", 20000, true, "i", playerid);
    MiniJuegoPlay[playerid] = 1;
    return 1;
}

public OnPlayerDeath(playerid, killerid, reason)
{
    if(MiniJuegoPlay[playerid] == 1)
    {
        MiniJuegoPlay[playerid] = 0;
        KillTimer(MiniJuegoKill[playerid]);
    }
    return 1;
}

forward MiniJuego(playerid);
public MiniJuego(playerid)
{
    if(MiniJuegoPlay[playerid] == 1)
    {
        SpectateOn(playerid);
        MiniJuegoPlay[playerid] = 0;
        KillTimer(MiniJuegoKill[playerid]);
    }
    return 1;
}
Lo probe entre dos pc's, en yo spawmeo y la otra no spawmeo para ver que pasa en 20 segundos, al pasar los 20 segundos el que esta jugando lo manda a spectear mientras que al otro el que no estaba jugando spawmea y puede jugar y luego de 20 segundos lo manda a spawmear tal como me lo suponia, pero gracias me guiare con esto para ver si puedo arreglarlo

Quote:
Originally Posted by the_chaoz
Посмотреть сообщение
Si no entendi mal, el codigo puede ser algo asi:

pawn Код:
public OnPlayerConnect(playerid)
{
    SetTimerEX("SpawnTimer", 30000, false, "i", playerid);
    fisrtspawn[playerid] = false;
    return 1;
}

forward SpawnTimer(playerid);
public SpawnTimer(playerid)
{
    //Aqui el jugador spectara
}
Este tambien me funciono un poco bien pero cuando yo spawmeo y dejo al otro jugador que no spawmee al pasar los 30 segundos ambos spectean y yo quiero que solo el que no spawmeo y los que conecten apartir de ese momento specteen, igualmente gracias tratare de guiarme y ver si lo puedo solucionar

PD: al que me quiera ayudar les dejo el gm aunque me da un poco de pena pero es que lo necesito aqui les dejo el pawn del minijuego ahi esta la funcion de spectear ahi se los dejo http://www.mediafire.com/?f3ocoakset9do57 para ver si me pueden ayudar, Gracias y Saludos
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)