Duda sobre virtualworld -
Ghostmen - 07.10.2011
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?
Re: Duda sobre virtualworld -
arturo clark - 07.10.2011
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"));
Respuesta: Re: Duda sobre virtualworld -
Ghostmen - 07.10.2011
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?
Re: Duda sobre virtualworld -
arturo clark - 07.10.2011
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.
Respuesta: Duda sobre virtualworld -
Ghostmen - 07.10.2011
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")
|
Respuesta: Duda sobre virtualworld -
Abruu - 08.10.2011
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
Respuesta: Duda sobre virtualworld -
TheChaoz - 08.10.2011
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.