[Ajuda] onplayerdeath nгo executa funзхes
#1

a minha public onplayerdeath nao ta executando nenhuma funзгo gente.. por favor me ajudem ja tentei de tudo e nao consegui!

pawn Код:
public OnPlayerDeath(playerid, killerid, reason)
{
    new str[128];

    if(playerid != INVALID_PLAYER_ID)
    {
        PlayerInfo[killerid][Kills] ++;
        PlayerInfo[playerid][Deaths] ++;
        if(IsPlayerInAnyVehicle(killerid)) PlayerInfo[killerid][CarKills] ++;
        SetPlayerScore(killerid,GetPlayerScore(killerid) + 1);

        GivePlayerMoney(killerid,2000);
        EmEvento[playerid] = 0;
        if(CreatedVehicle[playerid]) DestroyVehicle(CreatedVehicle[playerid]);
        LooseWeapons(playerid);
        SendDeathMessage(killerid,playerid,reason);
    }
   
    if(DuelInfo[EmUso] == 1)
    {
        new duelstr[128];
       
        format(duelstr,sizeof(duelstr),"[DUELO] %s ganhou um duelo contra %s.",nome(killerid),nome(playerid));
        SendClientMessageToAll(0x00FFFFFF,duelstr);
       
        PlayerInfo[playerid][Duelando] = 0;
        PlayerInfo[killerid][Duelando] = 0;
        DuelInfo[EmUso] = 0;
        SetPlayerArmour(killerid,0.0);
        SpawnPlayer(killerid);
    }

    if(killerid != INVALID_PLAYER_ID)
    {
        TogglePlayerSpectating(playerid, true);

        PlayerSpectatePlayer(playerid, killerid);
        if(!IsPlayerInAnyVehicle(killerid)) PlayerSpectatePlayer(playerid, killerid);
        else PlayerSpectateVehicle(playerid, GetPlayerVehicleID(killerid), SPECTATE_MODE_NORMAL);

        SetTimerEx("AcabarSpecDeath", 5000, false, "i", playerid);
        GameTextForPlayer(playerid,"~w~Respawn em 5 segundos...",5000,1);
    }

    if(IsPlayerJustice(playerid) && !IsPlayerJustice(killerid))
    {
        PlayerInfo[killerid][Recompensa] += 3000;
        if(PlayerInfo[killerid][Recompensa] >= 12000)
        {
            format(str, sizeof(str), "%s agora tem uma recompensa de $%d. /localizar %d", nome(killerid), PlayerInfo[killerid][Recompensa],killerid);
            SendClientMessageToAll(cor_amarelo, str);
                   
            format(str,sizeof(str),"Procurado: $%d",PlayerInfo[killerid][Recompensa]);
            UpdatePlayer3DTextLabelText(killerid, procurado[killerid], 0xFABF1BFF, str);
        }
        if(PlayerInfo[playerid][Recompensa] >= 3000)
        {
            GivePlayerMoney(killerid, PlayerInfo[playerid][Recompensa]);
            format(str, sizeof(str), "Vocк recebeu $%d de recompensa por matar %s (%d)", PlayerInfo[playerid][Recompensa], nome(playerid), playerid);
            SendClientMessage(killerid, cor_amarelo, str);

            UpdatePlayer3DTextLabelText(playerid, procurado[playerid], 0xFABF1BFF, "");

            PlayerInfo[playerid][Recompensa] = 0;
        }
    }
    return 1;
}
eu nao quero pagar de folgado mas se alguem sabe colocar tudo na ordem certa pf faзa isso por mim eu peзo de coraзгo! eu ja tentei varios e nao resultou em nada
Reply
#2

Isso faz parte da public?
Код:
[public OnPlayerDeath(playerid, killerid, reason)
Reply
#3

isso foi sem querer .. ignore.
Reply
#4

PHP код:
//<?
public OnPlayerDeath(playeridkilleridreason)
{
    static 
str[128];

    if(
playerid != INVALID_PLAYER_ID)
    {
        
SetTimerEx("AcabarSpecDeath"5000false"i"playerid);
        
GameTextForPlayer(playerid,"~w~Respawn em 5 segundos...",5000,1);
        
        
TogglePlayerSpectating(playeridtrue);
        
PlayerSpectatePlayer(playeridkillerid);
        if(!
IsPlayerInAnyVehicle(killerid)) PlayerSpectatePlayer(playeridkillerid);
        else 
PlayerSpectateVehicle(playeridGetPlayerVehicleID(killerid), SPECTATE_MODE_NORMAL);
        
        if(
IsPlayerJustice(playerid) && !IsPlayerJustice(killerid))
        {
            
PlayerInfo[killerid][Recompensa] += 3000;
            if(
PlayerInfo[killerid][Recompensa] >= 12000)
            {
                
format(strsizeof(str), "%s agora tem uma recompensa de $%d. /localizar %d"nome(killerid), PlayerInfo[killerid][Recompensa],killerid);
                
SendClientMessageToAll(cor_amarelostr);
                        
                
format(str,sizeof(str),"Procurado: $%d",PlayerInfo[killerid][Recompensa]);
                
UpdatePlayer3DTextLabelText(killeridprocurado[killerid], 0xFABF1BFFstr);
            }
            if(
PlayerInfo[playerid][Recompensa] >= 3000)
            {
                
GivePlayerMoney(killeridPlayerInfo[playerid][Recompensa]);
                
format(strsizeof(str), "Vocк recebeu $%d de recompensa por matar %s (%d)"PlayerInfo[playerid][Recompensa], nome(playerid), playerid);
                
SendClientMessage(killeridcor_amarelostr);

                
UpdatePlayer3DTextLabelText(playeridprocurado[playerid], 0xFABF1BFF"");

                
PlayerInfo[playerid][Recompensa] = 0;
            }
        }
    
        if(
DuelInfo[EmUso] == 1)
        {
            new 
duelstr[128];
            
            
format(duelstr,sizeof(duelstr),"[DUELO] %s ganhou um duelo contra %s.",nome(killerid),nome(playerid));
            
SendClientMessageToAll(0x00FFFFFF,duelstr);
            
            
PlayerInfo[playerid][Duelando] = 0;
            
PlayerInfo[killerid][Duelando] = 0;
            
DuelInfo[EmUso] = 0;
            
SetPlayerArmour(killerid,0.0);
            
SpawnPlayer(killerid);
        }

        if(
CreatedVehicle[playerid]) DestroyVehicle(CreatedVehicle[playerid]);
        
        
PlayerInfo[killerid][Kills] ++;
        
PlayerInfo[playerid][Deaths] ++;
        
        if(
IsPlayerInAnyVehicle(killerid)) PlayerInfo[killerid][CarKills] ++;
        
SetPlayerScore(killerid,GetPlayerScore(killerid) + 1);

        
GivePlayerMoney(killerid,2000);
        
EmEvento[playerid] = 0;    
         
LooseWeapons(playerid);
        
SendDeathMessage(killerid,playerid,reason);
    }
    return 
1;
}
Reply
#5

Quote:
Originally Posted by zSuYaNw
Посмотреть сообщение
PHP код:
//<?
public OnPlayerDeath(playeridkilleridreason)
{
    static 
str[128];
    if(
playerid != INVALID_PLAYER_ID)
    {
        
SetTimerEx("AcabarSpecDeath"5000false"i"playerid);
        
GameTextForPlayer(playerid,"~w~Respawn em 5 segundos...",5000,1);
        
        
TogglePlayerSpectating(playeridtrue);
        
PlayerSpectatePlayer(playeridkillerid);
        if(!
IsPlayerInAnyVehicle(killerid)) PlayerSpectatePlayer(playeridkillerid);
        else 
PlayerSpectateVehicle(playeridGetPlayerVehicleID(killerid), SPECTATE_MODE_NORMAL);
        
        if(
IsPlayerJustice(playerid) && !IsPlayerJustice(killerid))
        {
            
PlayerInfo[killerid][Recompensa] += 3000;
            if(
PlayerInfo[killerid][Recompensa] >= 12000)
            {
                
format(strsizeof(str), "%s agora tem uma recompensa de $%d. /localizar %d"nome(killerid), PlayerInfo[killerid][Recompensa],killerid);
                
SendClientMessageToAll(cor_amarelostr);
                        
                
format(str,sizeof(str),"Procurado: $%d",PlayerInfo[killerid][Recompensa]);
                
UpdatePlayer3DTextLabelText(killeridprocurado[killerid], 0xFABF1BFFstr);
            }
            if(
PlayerInfo[playerid][Recompensa] >= 3000)
            {
                
GivePlayerMoney(killeridPlayerInfo[playerid][Recompensa]);
                
format(strsizeof(str), "Vocк recebeu $%d de recompensa por matar %s (%d)"PlayerInfo[playerid][Recompensa], nome(playerid), playerid);
                
SendClientMessage(killeridcor_amarelostr);
                
UpdatePlayer3DTextLabelText(playeridprocurado[playerid], 0xFABF1BFF"");
                
PlayerInfo[playerid][Recompensa] = 0;
            }
        }
    
        if(
DuelInfo[EmUso] == 1)
        {
            new 
duelstr[128];
            
            
format(duelstr,sizeof(duelstr),"[DUELO] %s ganhou um duelo contra %s.",nome(killerid),nome(playerid));
            
SendClientMessageToAll(0x00FFFFFF,duelstr);
            
            
PlayerInfo[playerid][Duelando] = 0;
            
PlayerInfo[killerid][Duelando] = 0;
            
DuelInfo[EmUso] = 0;
            
SetPlayerArmour(killerid,0.0);
            
SpawnPlayer(killerid);
        }
        if(
CreatedVehicle[playerid]) DestroyVehicle(CreatedVehicle[playerid]);
        
        
PlayerInfo[killerid][Kills] ++;
        
PlayerInfo[playerid][Deaths] ++;
        
        if(
IsPlayerInAnyVehicle(killerid)) PlayerInfo[killerid][CarKills] ++;
        
SetPlayerScore(killerid,GetPlayerScore(killerid) + 1);
        
GivePlayerMoney(killerid,2000);
        
EmEvento[playerid] = 0;    
         
LooseWeapons(playerid);
        
SendDeathMessage(killerid,playerid,reason);
    }
    return 
1;
}
oh mano eu agradeзo muito a sua intensao de me ajudar mas n deu certo n o sistema de recompensa n funcionou e tbm nao mostra na tela do do lado direito quem mato quem n mano mas mt obrigado por tentar me ajudar e e vc tiver alguma outra sugestao te agradesso mt
Reply
#6

da uma olhada:

PHP код:
//<?
public OnPlayerDeath(playeridkilleridreason)
{
    static 
str[128];

    
//if(playerid != INVALID_PLAYER_ID)
    
{
        
SetTimerEx("AcabarSpecDeath"5000false"i"playerid);
        
GameTextForPlayer(playerid,"~w~Respawn em 5 segundos...",5000,1);
        
        
TogglePlayerSpectating(playeridtrue);
        
PlayerSpectatePlayer(playeridkillerid);
        if(!
IsPlayerInAnyVehicle(killerid)) PlayerSpectatePlayer(playeridkillerid);
        else 
PlayerSpectateVehicle(playeridGetPlayerVehicleID(killerid), SPECTATE_MODE_NORMAL);
        
        if(
IsPlayerJustice(playerid) && !IsPlayerJustice(killerid))
        {
            
PlayerInfo[killerid][Recompensa] += 3000;
            if(
PlayerInfo[killerid][Recompensa] >= 12000)
            {
                
format(strsizeof(str), "%s agora tem uma recompensa de $%d. /localizar %d"nome(killerid), PlayerInfo[killerid][Recompensa],killerid);
                
SendClientMessageToAll(cor_amarelostr);
                        
                
format(str,sizeof(str),"Procurado: $%d",PlayerInfo[killerid][Recompensa]);
                
UpdatePlayer3DTextLabelText(killeridprocurado[killerid], 0xFABF1BFFstr);
            }
            if(
PlayerInfo[playerid][Recompensa] >= 3000)
            {
                
GivePlayerMoney(killeridPlayerInfo[playerid][Recompensa]);
                
format(strsizeof(str), "Vocк recebeu $%d de recompensa por matar %s (%d)"PlayerInfo[playerid][Recompensa], nome(playerid), playerid);
                
SendClientMessage(killeridcor_amarelostr);

                
UpdatePlayer3DTextLabelText(playeridprocurado[playerid], 0xFABF1BFF"");

                
PlayerInfo[playerid][Recompensa] = 0;
            }
        }
    
        if(
DuelInfo[EmUso] == 1)
        {
            new 
duelstr[128];
            
            
format(duelstr,sizeof(duelstr),"[DUELO] %s ganhou um duelo contra %s.",nome(killerid),nome(playerid));
            
SendClientMessageToAll(0x00FFFFFF,duelstr);
            
            
PlayerInfo[playerid][Duelando] = 0;
            
PlayerInfo[killerid][Duelando] = 0;
            
DuelInfo[EmUso] = 0;
            
SetPlayerArmour(killerid,0.0);
            
SpawnPlayer(killerid);
        }

        if(
CreatedVehicle[playerid]) DestroyVehicle(CreatedVehicle[playerid]);
        
        
PlayerInfo[killerid][Kills] ++;
        
PlayerInfo[playerid][Deaths] ++;
        
        if(
IsPlayerInAnyVehicle(killerid)) PlayerInfo[killerid][CarKills] ++;
        
SetPlayerScore(killerid,GetPlayerScore(killerid) + 1);

        
GivePlayerMoney(killerid,2000);
        
EmEvento[playerid] = 0;    
         
LooseWeapons(playerid);
        
SendDeathMessage(killerid,playerid,reason);
    }
    return 
1;
}
Reply
#7

mano eu coloquei igual vc mando ai mas n mostro quem mato quem e peguei o SendDeathMessage(killerid,playerid,reason); na primeira linha a public e deu certo porem o sistema de recompensas nao funciona de jeito nenhum mano
Reply
#8

tenta isso e manda oque aparece no log.


PHP код:
//<?
public OnPlayerDeath(playeridkilleridreason)
{
    static 
str[128];

    
//if(playerid != INVALID_PLAYER_ID)
    
{
        
SetTimerEx("AcabarSpecDeath"5000false"i"playerid);
        
GameTextForPlayer(playerid,"~w~Respawn em 5 segundos...",5000,1);
        
        
TogglePlayerSpectating(playeridtrue);
        
PlayerSpectatePlayer(playeridkillerid);
        if(!
IsPlayerInAnyVehicle(killerid)) PlayerSpectatePlayer(playeridkillerid);
        else 
PlayerSpectateVehicle(playeridGetPlayerVehicleID(killerid), SPECTATE_MODE_NORMAL);
        
        
printf("testando aqui ONZE!! %d",IsPlayerJustice(playerid)); 
        if(
IsPlayerJustice(playerid) && !IsPlayerJustice(killerid))
        {
            
PlayerInfo[killerid][Recompensa] += 3000;
            if(
PlayerInfo[killerid][Recompensa] >= 12000)
            {
                
format(strsizeof(str), "%s agora tem uma recompensa de $%d. /localizar %d"nome(killerid), PlayerInfo[killerid][Recompensa],killerid);
                
SendClientMessageToAll(cor_amarelostr);
                        
                
format(str,sizeof(str),"Procurado: $%d",PlayerInfo[killerid][Recompensa]);
                
UpdatePlayer3DTextLabelText(killeridprocurado[killerid], 0xFABF1BFFstr);
            }
            if(
PlayerInfo[playerid][Recompensa] >= 3000)
            {
                
GivePlayerMoney(killeridPlayerInfo[playerid][Recompensa]);
                
format(strsizeof(str), "Vocк recebeu $%d de recompensa por matar %s (%d)"PlayerInfo[playerid][Recompensa], nome(playerid), playerid);
                
SendClientMessage(killeridcor_amarelostr);

                
UpdatePlayer3DTextLabelText(playeridprocurado[playerid], 0xFABF1BFF"");

                
PlayerInfo[playerid][Recompensa] = 0;
            }
        }
    
        if(
DuelInfo[EmUso] == 1)
        {
            new 
duelstr[128];
            
            
format(duelstr,sizeof(duelstr),"[DUELO] %s ganhou um duelo contra %s.",nome(killerid),nome(playerid));
            
SendClientMessageToAll(0x00FFFFFF,duelstr);
            
            
PlayerInfo[playerid][Duelando] = 0;
            
PlayerInfo[killerid][Duelando] = 0;
            
DuelInfo[EmUso] = 0;
            
SetPlayerArmour(killerid,0.0);
            
SpawnPlayer(killerid);
        }

        if(
CreatedVehicle[playerid]) DestroyVehicle(CreatedVehicle[playerid]);
        
        
PlayerInfo[killerid][Kills] ++;
        
PlayerInfo[playerid][Deaths] ++;
        
        if(
IsPlayerInAnyVehicle(killerid)) PlayerInfo[killerid][CarKills] ++;
        
SetPlayerScore(killerid,GetPlayerScore(killerid) + 1);

        
GivePlayerMoney(killerid,2000);
        
EmEvento[playerid] = 0;    
         
LooseWeapons(playerid);
        
SendDeathMessage(killerid,playerid,reason);
    }
    return 
1;
}
Reply
#9

nao funcionou mano.. deu isso:

Quote:

[15:53:24] =======================================
[15:53:24] | |
[15:53:24] | YSI version 3.09.0684 |
[15:53:24] | By Alex "******" Cole |
[15:53:24] | |
[15:53:24] =======================================
[15:53:24]
[15:53:24]
================================================== ==========
[15:53:24]
[15:53:24] GAMEMODE: LIGADO
[15:53:24]
[15:53:24] ================================================== ==========

[15:53:24] Number of vehicle models: 186
[15:54:03] [connection] 192.168.2.108:50509 requests connection cookie.
[15:54:04] Incoming connection: 192.168.2.108:50509 id: 1
[15:54:04] [join] Henry has joined the server (1:192.168.2.10
[15:54:19] testando aqui ONZE!! 1

Reply
#10

Tб usando algum FS?
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)