[Ajuda]Sistema
#1

eu estou tentando criar um sistema de hospital, mas ta fail

em OnPlayerDeath

pawn Код:
public OnPlayerDeath(playerid, killerid, reason)
{
    SetPlayerPos(playerid, x, y, z);
    SetPlayerCameraPos(playerid, x, y, z);
    SetPlayerCameraLookAt(playerid, x, y, z);
    SetTimerEx("LiberarHospital", 10000, false, "i", playerid);
    return true;
}


public LiberarHospital(playerid)
{
    SetPlayerInterior(playerid, 0);
    SpawnPlayer(playerid);
    SetPlayerPos(playerid, x, y, z);
    return true;
}
Ele ta fazendo o player dar spawn em outro lugar e nao no local da Callback LiberarHospital e logo apos os 10 segundos se passarem ele da spawn no local do "liberarhospital'

ou seja, ta dando 3 spawn, eu queria apenas 2 "da callback Onplayerdeath" e da "liberar Hospital"
Reply
#2

Quote:
Originally Posted by Mata_Noob
Посмотреть сообщение
Tente assim:
pawn Код:
public OnPlayerDeath(playerid, killerid, reason)
{
    SetPlayerPos(playerid, x, y, z);
    SetPlayerCameraPos(playerid, x, y, z);
    SetPlayerCameraLookAt(playerid, x, y, z);
    SetTimer("LiberarHospital", 10000, false);
    return true;
}


public LiberarHospital(playerid)
{
    SetPlayerInterior(playerid, 0);
    SpawnPlayer(playerid);
    SetPlayerPos(playerid, x, y, z);
    return true;
}
Pra que SetTimerEx? Tente ae '-' Vai ver que й isso... Ou se nгo poste toda sua Public OnPlayerDeath
SetTimerEx pois ele estб usando parвmetros na public. Caso contrбrio, nгo irб funcionar.

pawn Код:
public OnPlayerDeath(playerid, killerid, reason)
{
    SetPlayerPos(playerid, x, y, z);
    SetPlayerCameraPos(playerid, x, y, z);
    SetPlayerCameraLookAt(playerid, x, y, z);
    SetTimerEx("LiberarHospital", 10000, false, "i", playerid);
    return true;
}


public LiberarHospital(playerid)
{
    SpawnPlayer(playerid);
    return true;
}
Apenas deixe assim.
Reply
#3

Los ainda ta com o mesmo problema... ele ta dando spaw pelas cordenadas do SetSpawnInfo "o mesmo nao esta na callback OnplayerDeath"
Reply
#4

Tenta assim:

pawn Код:
new bool:SpawnHospital[ MAX_PLAYERS ];

public OnPlayerDeath(playerid, killerid, reason)
{
    SpawnHospital[ playerid ] = true;
    return 1;
}

public OnPlayerSpawn( playerid )
{
    if( SpawnHospital[ playerid ] == true )
    {
        SetPlayerPos(playerid, x, y, z);
        SetPlayerCameraPos(playerid, x, y, z);
        SetPlayerCameraLookAt(playerid, x, y, z);
        SetTimerEx("LiberarHospital", 10000, false, "i", playerid);
    }
    return 1;
}

public LiberarHospital(playerid)
{
    SpawnHospital[ playerid ] = false;
    SetPlayerInterior(playerid, 0);
    SpawnPlayer(playerid);
    return 1;
}
Reply
#5

Quote:
Originally Posted by Ч iReadyTK є
Посмотреть сообщение
Tenta assim:

pawn Код:
new bool:SpawnHospital[ MAX_PLAYERS ];

public OnPlayerDeath(playerid, killerid, reason)
{
    SpawnHospital[ playerid ] = true;
    return 1;
}

public OnPlayerSpawn( playerid )
{
    if( SpawnHospital[ playerid ] == true )
    {
        SetPlayerPos(playerid, x, y, z);
        SetPlayerCameraPos(playerid, x, y, z);
        SetPlayerCameraLookAt(playerid, x, y, z);
        SetTimerEx("LiberarHospital", 10000, false, "i", playerid);
    }
    return 1;
}

public LiberarHospital(playerid)
{
    SpawnHospital[ playerid ] = false;
    SetPlayerInterior(playerid, 0);
    SpawnPlayer(playerid);
    SetPlayerPos(playerid, x, y, z);
    return 1;
}
exatamente o que eu queria... valeu =)
Reply
#6

Se deixar no OnPlayerDeath vai continuar dando mais de um spawn...
Primeiro vai executar o OnPlayerDeath e depois o OnPlayerSpawn, se nгo fizer do jeito que eu fiz no OnPlayerSpawn nem vai funcionar...

E isso que o manolo ali /\ disse tambйm, nem tinha visto o SpawnPlayer e SetPlayerPos, mas mesmo tirando o SetPlayerPos ainda irб dar spawn 2 vezes, que й a do OnPlayerDeath e depois a do OnPlayerSpawn...

Editei lб em cima, pode testar que vai funcionar
Reply
#7

ele ta dando spawn 3 veses, mas eu preciso que ele chame a OnPlayerSpawn, so que rapidamente

da forma que ele me passou ele chama e em menos de 1 segundo leva ele ao local da callback do hospital =)
Reply
#8

Entendi outra coisa, mais blz.
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)