Duda de novato -
Necrotino1 - 01.06.2016
Hola, hago este post por que estuve revisando en el foro si alguien tenia el mismo problema que yo pero al parecer no encontre algo similar a mi caso. Explico mi situacion, estoy creando una callback sencilla que cuando el usuario muere lo manda a unas coordenadas. El caso es que no funciona y no se por que, les dejo codigo por favor si alguien me dice que esta mal se lo agradecere.
Код:
main(){}
// This is a comment
// uncomment the line below if you want to write a filterscript
//#define FILTERSCRIPT
#include <a_samp>
#if defined FILTERSCRIPT
main()
{
print("\n----------------------------------");
print(" Blank Gamemode by your name here");
print("----------------------------------\n");
}
public OnPlayerDeath
{
SetPlayerPos(playerid, 1172, -1323, 15);
GameTextForPlayer(playerid, "Has muerto", 5000, 1)
SetPlayerInterior(playerid, 0);
SetPlayerVirtualWorld(playerid, 0);
return 1;
}
#endif
Por cierto, este es todo el codigo pawn que tengo. Si hay algo mal con el codigo por favor dнganmelo tambien
Re: Duda de novato -
F1N4L - 01.06.2016
Poner esto en OnPlayerSpawn.
El jugador va a morir y luego volverб a aparecer...
Respuesta: Re: Duda de novato -
Necrotino1 - 01.06.2016
Quote:
Originally Posted by F1N4L
Poner esto en OnPlayerSpawn.
El jugador va a morir y luego volverб a aparecer...
|
Osea que si reemplazo el OnPlayerDeath por OnPlayerSpawn debe de funcionar todo eso al morir?
Re: Duda de novato -
NullBot - 01.06.2016
tienes > public OnPlayerDeath
modificalo por:
public OnPlayerDeath(playerid, killerid, reason)
Re: Duda de novato -
Z3x0 - 03.06.2016
CODIGO
• Pon Esto En Tu GM Tal Cual, Sustituyendo lo Que Tenias Anteriormente
PHP код:
public OnPlayerDeath(playerid, killerid, reason)
{
SendDeathMessage(killerid, playerid, reason);
return 1;
}
public OnPlayerSpawn(playerid)
{
SetPlayerPos(playerid, 1172, -1323, 15); //Las Coordenadas Estan Mal Te Recomiendo Usar /Save Para Sacarlas
GameTextForPlayer(playerid, "Has muerto", 5000, 1)
SetPlayerInterior(playerid, 0);
SetPlayerVirtualWorld(playerid, 0);
} //Usa 'Tabulaciones' Para Un Mejor Orden y Optimizacion De Codigo
[SIZE="6"][/SIZE]
CON ESTO DARIA POR TERMINADO EL CODIGO "+1"
Respuesta: Duda de novato -
Eloy - 03.06.2016
Recuerda que si quieres crear una nueva Callback debes primero crear su forward.
Ej:
Forward OnPlayerDeath(playerid, killerid, reason)
Luego creas tu Callback
public OnPlayerDeath(playerid, killerid, reason)
{
//Funciones
return 0;
}
Re: Respuesta: Duda de novato -
Onfroi - 03.06.2016
Quote:
Originally Posted by Eloy
Recuerda que si quieres crear una nueva Callback debes primero crear su forward.
Ej:
Forward OnPlayerDeath(playerid, killerid, reason)
Luego creas tu Callback
public OnPlayerDeath(playerid, killerid, reason)
{
//Funciones
return 0;
}
|
OnPlayerDeath ya es una funcion definida por a_samp.inc, no hay que hacer esto.
https://sampwiki.blast.hk/wiki/OnPlayerDeath
Respuesta: Duda de novato -
Revelation - 04.06.2016
Es lo ъnico que se me ocurriу. xd
PHP код:
#include <a_samp>
new Murio[MAX_PLAYERS];
public OnPlayerDeath(playerid, killerid, reason)
{
Murio[playerid] = 1;
GameTextForPlayer(playerid, "~r~Has muerto", 5000, 1)
SetPlayerInterior(playerid, 0);
SetPlayerVirtualWorld(playerid, 0);
return 1;
}
public OnPlayerSpawn(playerid)
{
if(Murio[playerid] == 1) return SetPlayerPos(playerid, 1172, -1323, 15); //Te dijeron que tus coordenadas estбn mal, sacalas con /save xd
Murio[playerid] = 0;
return 1;
}
O simplemente agregas la coordenada ya bien hecha en OnPlayerSpawn y ya xd
Re: Respuesta: Duda de novato -
NullBot - 04.06.2016
Quote:
Originally Posted by Revelation
Es lo ъnico que se me ocurriу. xd
PHP код:
#include <a_samp>
new Murio[MAX_PLAYERS];
public OnPlayerDeath(playerid, killerid, reason)
{
Murio[playerid] = 1;
GameTextForPlayer(playerid, "~r~Has muerto", 5000, 1)
SetPlayerInterior(playerid, 0);
SetPlayerVirtualWorld(playerid, 0);
return 1;
}
public OnPlayerSpawn(playerid)
{
if(Murio[playerid] == 1) return SetPlayerPos(playerid, 1172, -1323, 15); //Te dijeron que tus coordenadas estбn mal, sacalas con /save xd
Murio[playerid] = 0;
return 1;
}
O simplemente agregas la coordenada ya bien hecha en OnPlayerSpawn y ya xd
|
esta mal esto, porque le pusistre return, y recuerda que esto sigue un hilo, entonces nunca va a llegar a Murio[playerid] = 0;
PHP код:
if(Murio[playerid] == 1) return SetPlayerPos(playerid, 1172, -1323, 15); //Te dijeron que tus coordenadas estбn mal, sacalas con /save xd
Murio[playerid] = 0;
//asн serнa:
public OnPlayerSpawn(playerid)
{
if(Murio[playerid] == 1)
SetPlayerPos(playerid, 1172, -1323, 15); //Te dijeron que tus coordenadas estбn mal, sacalas con /save xd
Murio[playerid] = 0;
return 1;
}