[Ajuda] Morte
#1

Eu tinha feito uma pergunta aqui No fуrum, mas perdi o tуpico.

Meu sistema as vezes da um bug no kill, mata mata mata mas nгo conta score nem vaipro chat kill, como colocar pra quando o player morrer o score ir para o ъltimo hit.

OnplayerDeath
pawn Код:
public OnPlayerDeath(playerid, killerid, reason)
{
    if(GetPlayerState(killerid) == 2)
    {
        GetPlayerName(killerid,kickname,sizeof(kickname));
        format(kstring,sizeof(kstring),"AdmCmd: %s ID:[%d] cometeu DB em %s ID:[%d] e foi kickado automaticamente!",kickname,killerid,PlayerName(playerid),playerid);
        SendClientMessageToAll(0xFF6347AA,kstring);
        Kick(killerid);
    }
    #if KILLS_DEATHS == 1
    if(PlayerInfo[killerid][Logged] == 1)
    {
        format(file, sizeof(file), USERS_FILE, PlayerName(killerid));
        dini_IntSet(file, "Kills", dini_Int(file, "Kills")+1);
    }
    if(PlayerInfo[playerid][Logged] == 1)
    {
        format(file, sizeof(file), USERS_FILE, PlayerName(playerid));
        dini_IntSet(file, "Deaths", dini_Int(file, "Deaths")+1);
    }
    #endif
    if (killerid != INVALID_PLAYER_ID)
    {
        if (!PlayerShotPlayer[killerid][playerid])
        {
            Ban(playerid);
        }
    }
    foreach(Player, i)
    {
        PlayerShotPlayer[i][playerid] = 0;
    }
    SendDeathMessage(killerid,playerid,reason);
    if((gTeam[playerid] == TEAM_HUMAN) && (gTeam[killerid] == TEAM_ZOMBIE))
    {
        gTeam[playerid] = TEAM_ZOMBIE;
        SetPlayerColor(playerid, ADMIN_RED);
        SendClientMessage(playerid, 0xF7F700, "[E.z] - Vocк foi Infectado");
        SendClientMessageToAll(0xF7F700, "[E.z] - Um Humano foi Infectado");
        GivePlayerMoney(killerid, 500);
        GameTextForPlayer(killerid,"~p~+2 XP ~n~~w~+$500",6000,4);
        SetPlayerScore(killerid, GetPlayerScore(killerid) + 2);
        return 1;
    }
    else if((gTeam[playerid] == TEAM_ZOMBIE) && (gTeam[killerid] == TEAM_HUMAN))
    {
        SetPlayerColor(playerid, ADMIN_RED);
        SendClientMessage(killerid, 0xF7F700, "[E.z] - Vocк Matou um zombie ");
        SendClientMessageToAll(0xF7F700, "[E.z] - Um Zombie Foi morto");
        GivePlayerMoney(killerid, 250);
        GameTextForPlayer(killerid, "~p~+1 XP ~n~~w~+$250", 6000, 4);
        SetPlayerScore(killerid, GetPlayerScore(killerid) + 1);
    }
    return 1;
 }
Reply
#2

E o chat kill nгo aparece o motivo de todas as mortes lol

pawn Код:
if(killerid == INVALID_PLAYER_ID)
    {
        SendDeathMessage(INVALID_PLAYER_ID,playerid,reason);
    }
    else
    {
        SendDeathMessage(killerid,playerid,reason);
    }
Reply
#3

Faзa um teste usando printf .
Reply
#4

Pra que isso?

pawn Код:
if(killerid == INVALID_PLAYER_ID)
    {
        SendDeathMessage(INVALID_PLAYER_ID,playerid,reason);
    }
    else
    {
        SendDeathMessage(killerid,playerid,reason);
    }
Nгo uso muito essa funзгo, mais acho que apenas usando SendDeathMessage(killerid, playerid, reason); ele ja printa normalmente. Se caso o cara se matar ai eu nгo sei se vai printar o suicidio... Creio que envie a reaзгo na sendDeath... Nгo custa tentar..

Apenas coloque
pawn Код:
SendDeathMessage(killerid, playerid, reason);
Reply
#5

Edit, o problema й que ja tentei com

pawn Код:
SendDeathMessage(killerid, playerid, reason);
e nao aparece quando й suicнdio ..


@ e o primeiro ninguйm sabe me ajudar? ;/
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)