Duda sobre virtualworld
#1

Hay forma de que cuando un player pause, lo mande a un virtualworld automaticamente? y al salir de pausa, que vuelva al lugar donde pauso?
Reply
#2

pawn Код:
//Cuando ponga pause
SetPVarInt(playerid,  "VirtualWorld", GetPlayerVirtualWorld(playerid));
SetPlayerVirtualWorld(playerid, 69); //Puedes cambiar el virtual world

//Cuando salga del pause
SetPlayerVirtualWorld(playerid, GetPVarInt(playerid, "VirtualWorld"));
Reply
#3

Quote:
Originally Posted by arturo clark
Посмотреть сообщение
pawn Код:
//Cuando ponga pause
SetPVarInt(playerid,  "VirtualWorld", GetPlayerVirtualWorld(playerid));
SetPlayerVirtualWorld(playerid, 69); //Puedes cambiar el virtual world

//Cuando salga del pause
SetPlayerVirtualWorld(playerid, GetPVarInt(playerid, "VirtualWorld"));
Lo copio tal cual esta no?

y en que parte lo pego?
Reply
#4

Nop, yo creн que ya tenias algun Include sobre el pause. Visita este pagina, descarga el Include y sigue las instrucciones: https://sampforum.blast.hk/showthread.php?tid=245738
El cуdigo que te di va en OnPlayerPause.
Reply
#5

Add PAUSE_OnGameModeInit() to your OnGameModeInit() callback.
Add PAUSE_OnPlayerConnect(playerid) to your PAUSE_OnPlayerConnect(playerid) callback.
Add PAUSE_OnPlayerDisconnect(playerid, reason) to your PAUSE_OnPlayerDisconnect(playerid, reason) callback.
Add PAUSE_OnPlayerUpdate(playerid) to your PAUSE_OnPlayerUpdate(playerid) callback.

pawn Код:
public PAUSE_OnGameModeInit()
{
    return 1;
}

public PAUSE_OnPlayerConnect(playerid)
{
    return 1;
}

public PAUSE_OnPlayerDisconnect(playerid, reason)
{
    return 1;
}
public PAUSE_OnPlayerUpdate(playerid)
{
    return 1;
}
Y ahi en la pagina no estaba el OnPlayerPause.. Lo agrego asi

pawn Код:
public PAUSE_OnPlayerPause(playerid)
{
    //Cuando ponga pause
    SetPVarInt(playerid,  "VirtualWorld", GetPlayerVirtualWorld(playerid));
    SetPlayerVirtualWorld(playerid, 69); //Puedes cambiar el virtual world

    //Cuando salga del pause
    SetPlayerVirtualWorld(playerid, GetPVarInt(playerid, "VirtualWorld"));

    return 1;
}
Y ahi me sale:
Quote:

warning 235: public function lacks forward declaration (symbol "PAUSE_OnPlayerPause")

Reply
#6

Quote:
Originally Posted by Ghostmen
Посмотреть сообщение
Add PAUSE_OnGameModeInit() to your OnGameModeInit() callback.
Add PAUSE_OnPlayerConnect(playerid) to your PAUSE_OnPlayerConnect(playerid) callback.
Add PAUSE_OnPlayerDisconnect(playerid, reason) to your PAUSE_OnPlayerDisconnect(playerid, reason) callback.
Add PAUSE_OnPlayerUpdate(playerid) to your PAUSE_OnPlayerUpdate(playerid) callback.

pawn Код:
public PAUSE_OnGameModeInit()
{
    return 1;
}

public PAUSE_OnPlayerConnect(playerid)
{
    return 1;
}

public PAUSE_OnPlayerDisconnect(playerid, reason)
{
    return 1;
}
public PAUSE_OnPlayerUpdate(playerid)
{
    return 1;
}
Y ahi en la pagina no estaba el OnPlayerPause.. Lo agrego asi

pawn Код:
public PAUSE_OnPlayerPause(playerid)
{
    //Cuando ponga pause
    SetPVarInt(playerid,  "VirtualWorld", GetPlayerVirtualWorld(playerid));
    SetPlayerVirtualWorld(playerid, 69); //Puedes cambiar el virtual world

    //Cuando salga del pause
    SetPlayerVirtualWorld(playerid, GetPVarInt(playerid, "VirtualWorld"));

    return 1;
}
Y ahi me sale: warning 235: public function lacks forward declaration (symbol "PAUSE_OnPlayerPause")
Si lees el warning te dice que esa funcion no ha sido escrita antes, es decir que le tienes que crear el forward, para eso busca en el codigo del include que te pasaron con CONTROL+F: forward. Y abajo de algun forward o arriba pone este forward:
pawn Код:
forward PAUSE_OnPlayerPause(playerid);
Ahi supongo que no te dara un warning
Reply
#7

de hecho tengo de decir que ese metodo para detectar si un jugador esta o no pauseando es muy poco confiable. Te sugiero mirar el este que tiene su propio callback, el cual es llamado cuando un jugador pausea.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)