Pasar Coordenas en timer
#1

Buenas

Estaba intentando pasar la coordenadas del player mediante un timer usando SetTimerEx
pero me crashea el server. Supongo que si se puede pasar el id del player mediante esa funcion, tambien se deveria poder pasar las coordenas.

Al momento de ejecutar el timer es cuando se crashea

pawn Код:
forward Bomb(Float:x, Float:y, Float:z);  

new Float:x, Float:y, Float:z;
GetPlayerPos(playerid, x, y, z);
SetTimerEx("Bomb",10000,0,"f,f,f",x,y,z);

public Bomb(Float:x,Float:y,Float:z)
{
    for(new i=0; i<MAX_PLAYERS; i++)
    {
        if(IsPlayerConnected(i))
        {
                CreateExplosionForPlayer(i,x,y,z);
                DestroyObject(GetPlayerClosestObject(i));
                IncreaseWantedLevel(i,4);
        }
    }
}
Reply
#2

Hola [CG]Milito
Tu error estб aquн:
pawn Код:
SetTimerEx("Bomb",10000,0,"f,f,f",x,y,z);
Usa:
pawn Код:
SetTimerEx("Bomb",10000,0,"fff",x,y,z);
Saludos
Reply
#3

Quote:
Originally Posted by Su37Erich
Посмотреть сообщение
Hola [CG]Milito
Tu error estб aquн:
pawn Код:
SetTimerEx("Bomb",10000,0,"f,f,f",x,y,z);
Usa:
pawn Код:
SetTimerEx("Bomb",10000,0,"fff",x,y,z);
Saludos
Ya no se crashea pero me ejecuta el codigo.
Incluso puse un printf con las coordenadas y no aparece nada en la consola.
Asi tengo el timer

pawn Код:
CreateExplosionForPlayer(i,x,y,z);
                printf("%f %f %f",x,y,z);
                DestroyObject(GetPlayerClosestObject(i));
                IncreaseWantedLevel(i,4);
Reply
#4

Intenta renombrar la funciуn a otra como
pawn Код:
iBomb_N
tal vez exista otra funciуn con el mismo nombre.
їEn la prueba tu estabas conectado? y їcomo se activa el timer, comando?
Reply
#5

Quote:
Originally Posted by Su37Erich
Посмотреть сообщение
Intenta renombrar la funciуn a otra como
pawn Код:
iBomb_N
tal vez exista otra funciуn con el mismo nombre.
їEn la prueba tu estabas conectado? y їcomo se activa el timer, comando?
Ya le cambie el nombre y nada.
El timer se activa con un dialog
Reply
#6

Quote:
Originally Posted by [CG]Milito
Посмотреть сообщение
Ya le cambie el nombre y nada.
El timer se activa con un dialog
pawn Код:
//__________VARIABLE GLOBAL__________
new Float: BCX,BCY,BCZ;
//__________________________________

//new Float:x, Float:y, Float:z; ya no porque se quedan solo aqui localmente.
GetPlayerPos(playerid, BCX, BCY, BCZ);
SetTimerEx("Bomb",10000,0,"fff",BCX,BCY,BCZ);

forward Bomb(Float:BCX, Float:BCY, Float:BCZ);
public Bomb(Float:BCX,Float:BCY,Float:BCZ)
{
    for(new i=0; i<MAX_PLAYERS; i++)
    {
        if(IsPlayerConnected(i))
        {
                CreateExplosionForPlayer(i,BCX,BCY,BCZ);
                DestroyObject(GetPlayerClosestObject(i));
                IncreaseWantedLevel(i,4);
        }
    }
    return true;
}
Reply
#7

Quote:
Originally Posted by jotajeda
Посмотреть сообщение
pawn Код:
//__________VARIABLE GLOBAL__________
new Float: BCX,BCY,BCZ;
//__________________________________

//new Float:x, Float:y, Float:z; ya no porque se quedan solo aqui localmente.
GetPlayerPos(playerid, BCX, BCY, BCZ);
SetTimerEx("Bomb",10000,0,"fff",BCX,BCY,BCZ);

forward Bomb(Float:BCX, Float:BCY, Float:BCZ);
public Bomb(Float:BCX,Float:BCY,Float:BCZ)
{
    for(new i=0; i<MAX_PLAYERS; i++)
    {
        if(IsPlayerConnected(i))
        {
                CreateExplosionForPlayer(i,BCX,BCY,BCZ);
                DestroyObject(GetPlayerClosestObject(i));
                IncreaseWantedLevel(i,4);
        }
    }
    return true;
}
Ya entiendo. Las variables se quedaban dentro de la callback
Pero ahora se me freezea el servidor.
No se crashea solo se queda congelado.
Reply
#8

Quote:
Originally Posted by [CG]Milito
Посмотреть сообщение
Ya entiendo. Las variables se quedaban dentro de la callback
Pero ahora se me freezea el servidor.
No se crashea solo se queda congelado.
pawn Код:
//__________VARIABLE GLOBAL__________
new Float: CoorBomb[3];
//__________________________________

//new Float:x, Float:y, Float:z; ya no porque se quedan solo aqui localmente.
GetPlayerPos(playerid, CoorBomb[0], CoorBomb[1], CoorBomb[2]);
//SetTimerEx("Bomb",10000,0,"f,f,f",BCX,BCY,BCZ);
SetTimer("Bomb",10*1000,false);

forward Bomb();
public Bomb()
{
    for(new i=0; i<MAX_PLAYERS; i++)
    {
        if(IsPlayerConnected(i))
        {
                CreateExplosionForPlayer(i,CoorBomb[1],CoorBomb[2],CoorBomb[3]);
                DestroyObject(GetPlayerClosestObject(i));
                IncreaseWantedLevel(i,4);
        }
    }
    return true;
}
//________________________________________________________
                        O de йsta manera.
//_____________________________________________________

//__________VARIABLE GLOBAL__________
new Float: CoorBomb[3];
//__________________________________

//new Float:x, Float:y, Float:z; ya no porque se quedan solo aqui localmente.
GetPlayerPos(playerid, CoorBomb[0], CoorBomb[1], CoorBomb[2]);
SetTimerEx("Bomb",10000,false,"d",playerid);
//SetTimer("Bomb",10*1000,false);

forward Bomb(playerid);
public Bomb(playerid)
{
    if(IsPlayerConnected(playerid))
    {
        CreateExplosionForPlayer(playerid,CoorBomb[1],CoorBomb[2],CoorBomb[3]);
        DestroyObject(GetPlayerClosestObject(playerid));
        IncreaseWantedLevel(playerid,4);
    }
    return true;
}
//________________________________________________________
                        O de йsta manera.
//_____________________________________________________

new Float: CoorBomb[3][MAX_PLAYERS];//__________VARIABLE GLOBAL__________

GetPlayerPos(playerid, CoorBomb[0][playerid], CoorBomb[1][playerid], CoorBomb[2][playerid]);
SetTimerEx("Bomb",10000,false,"d",playerid);

forward Bomb(playerid);
public Bomb(playerid)
{
    if(IsPlayerConnected(playerid))
    {
        CreateExplosionForPlayer(playerid,CoorBomb[1][playerid],CoorBomb[2][playerid],CoorBomb[3][playerid]);
        DestroyObject(GetPlayerClosestObject(playerid));
        IncreaseWantedLevel(playerid,4);
    }
    return true;
}
Reply
#9

El problema del crash/freeze lo solucione al pasar el playerid mediante el timer y asi, quitar el loop dentro de la custom callback y usar directamente el parametro playerid
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)