Duda de novato
#1

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

Poner esto en OnPlayerSpawn.
El jugador va a morir y luego volverб a aparecer...
Reply
#3

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

tienes > public OnPlayerDeath

modificalo por:
public OnPlayerDeath(playerid, killerid, reason)
Reply
#5

CODIGO


• Pon Esto En Tu GM Tal Cual, Sustituyendo lo Que Tenias Anteriormente

PHP код:
public OnPlayerDeath(playeridkilleridreason)
{
     
SendDeathMessage(killeridplayeridreason);
    return 
1;
}
public 
OnPlayerSpawn(playerid)
{
    
SetPlayerPos(playerid1172, -132315); //Las Coordenadas Estan Mal Te Recomiendo Usar /Save Para Sacarlas
    
GameTextForPlayer(playerid"Has muerto"50001)
    
SetPlayerInterior(playerid0);
    
SetPlayerVirtualWorld(playerid0);
//Usa 'Tabulaciones' Para Un Mejor Orden y Optimizacion De Codigo
[SIZE="6"][/SIZE


CON ESTO DARIA POR TERMINADO EL CODIGO "+1"
Reply
#6

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

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

Es lo ъnico que se me ocurriу. xd

PHP код:
#include <a_samp>
new Murio[MAX_PLAYERS];
public 
OnPlayerDeath(playeridkilleridreason)
{
Murio[playerid] = 1;
GameTextForPlayer(playerid"~r~Has muerto"50001)
SetPlayerInterior(playerid0);
SetPlayerVirtualWorld(playerid0);
return 
1;
}
public 
OnPlayerSpawn(playerid)
{
if(
Murio[playerid] == 1) return SetPlayerPos(playerid1172, -132315); //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
Reply
#9

Quote:
Originally Posted by Revelation
Посмотреть сообщение
Es lo ъnico que se me ocurriу. xd

PHP код:
#include <a_samp>
new Murio[MAX_PLAYERS];
public 
OnPlayerDeath(playeridkilleridreason)
{
Murio[playerid] = 1;
GameTextForPlayer(playerid"~r~Has muerto"50001)
SetPlayerInterior(playerid0);
SetPlayerVirtualWorld(playerid0);
return 
1;
}
public 
OnPlayerSpawn(playerid)
{
if(
Murio[playerid] == 1) return SetPlayerPos(playerid1172, -132315); //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(playerid1172, -132315); //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(playerid1172, -132315); //Te dijeron que tus coordenadas estбn mal, sacalas con /save xd 
Murio[playerid] = 0
return 
1

Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)