[Ajuda] ChattKill
#1

Boa noite, entгo o meu gamemode possui um chat kill porйm ele sу aparece certo se a pessoa for morta no soco, se for morto com arma ou outro tipo ele buga e aparece como se a pessoa tivesse se matado, nunca vi algo do tipo.

as ъnicas msg que tem sгo essas
PHP код:
    if(IsPlayerConnected(killerid) && Player[playerid][pLogged] == true)
            {
                
Player[killerid][pMatou]++;
                
Player[killerid][pMonthKills] ++;
                
GivePlayerMoney(killerid100);
                
Server[Kills] += 1;
                
SendDeathMessage(killerid,playerid,reason);
            }
            else
            {
                   
SendDeathMessage(INVALID_PLAYER_ID,playerid,reason);
            } 
Reply
#2

Tenta ai:

PHP код:
if(Player[killerid][pLogged] == true)
{
    
Player[killerid][pMatou]++;
    
Player[killerid][pMonthKills]++;
    
GivePlayerMoney(killerid100);
    
Server[Kills] += 1;
    
SendDeathMessage(killerid,playerid,reason);

Reply
#3

Quando 'reason' й invбlido, acontece exatamente o que vocк disse. Й considerado como se a morte do player tivesse sido um suicнdio, aparecendo o nome do player e o нcone abaixo.

Certifique-se que nгo hб nada antes deste pequeno cуdigo que possa interferir no valor de 'reason'.
Se tiver dъvida, poste o que hб antes do cуdigo enviado.
Reply
#4

Й como o JohnBlack falou: "Certifique-se que nгo hб nada antes deste pequeno cуdigo que possa interferir no valor de 'reason'."

Tente-o:

Код:
public OnPlayerDeath(playerid, killerid, reason)
{
    if(IsPlayerConnected(killerid) && Player[playerid][pLogged] == true)
    {
	Player[killerid][pMatou] ++;
  	Player[killerid][pMonthKills] ++;
    	GivePlayerMoney(killerid, 100);
     	Server[Kills] += 1;
    }
    if(killerid == INVALID_PLAYER_ID) SendDeathMessage(INVALID_PLAYER_ID, playerid, reason);
    else SendDeathMessage(killerid, playerid, reason);
    return true;
}
@TOPIC
Geralmente acontece o mesmo, quando se usa duas funзхes ao mesmo tempo, isso pode atrapalha meio que a checagem. Veja se nгo a mais de uma SendDeathMessage em seu gamemode, pуis o padrгo estб acima!
Reply
#5

Quote:
Originally Posted by PilateGR
Посмотреть сообщение
Й como o JohnBlack falou: "Certifique-se que nгo hб nada antes deste pequeno cуdigo que possa interferir no valor de 'reason'."

Tente-o:

Код:
public OnPlayerDeath(playerid, killerid, reason)
{
    if(IsPlayerConnected(killerid) && Player[playerid][pLogged] == true)
    {
	Player[killerid][pMatou] ++;
  	Player[killerid][pMonthKills] ++;
    	GivePlayerMoney(killerid, 100);
     	Server[Kills] += 1;
    }
    if(killerid == INVALID_PLAYER_ID) SendDeathMessage(INVALID_PLAYER_ID, playerid, reason);
    else SendDeathMessage(killerid, playerid, reason);
    return true;
}
@TOPIC
Geralmente acontece o mesmo, quando se usa duas funзхes ao mesmo tempo, isso pode atrapalha meio que a checagem. Veja se nгo a mais de uma SendDeathMessage em seu gamemode, pуis o padrгo estб acima!
Boa madrugada, entгo agora sу aparece o chat kill mesmo matando com a mгo, nгo aparece mais o bug, porйm nгo aparece normalmente, continua mostrando sу com a mгo.

A ъnica senddeathmessage que se encontra no GM й a que vocк passou.
Reply
#6

Quote:
Originally Posted by FStralioti
Посмотреть сообщение
Boa madrugada, entгo agora sу aparece o chat kill mesmo matando com a mгo, nгo aparece mais o bug, porйm nгo aparece normalmente, continua mostrando sу com a mгo.

A ъnica senddeathmessage que se encontra no GM й a que vocк passou.
Realmente й estranho, pуis antes de te enviar o code, testei e funcionou de boa... Mais vamos lб!

Vocк tem duas opзхes de implanta-los o code em sua GM!

1є TESTEI E FUNCIONOU!
Код:
public OnPlayerDeath(playerid, killerid, reason)
{
    SendDeathMessage(killerid, playerid, reason);
    
    Player[killerid][pMatou] += 1;
    Player[killerid][pMonthKills] += 1;
    GivePlayerMoney(killerid, 100);
    Server[Kills] += 1;
    return true;
}
2є TESTEI E TAMBЙM FUNCIONOU!
Код:
public OnPlayerDeath(playerid, killerid, reason)
{
    SendDeathMessage(killerid, playerid, reason);

    if(IsPlayerConnected(killerid) && Player[playerid][pLogged] == true)
    {
	Player[killerid][pMatou] += 1;
  	Player[killerid][pMonthKills] += 1;
    	GivePlayerMoney(killerid, 100);
     	Server[Kills] += 1;
    }
    return true;
}
Reply
#7

Faz um "debug" para ver os valores que estгo sendo passados.

PHP код:
public OnPlayerDeath(playeridkilleridreason)
{
    if( 
Player[playerid][pLogged] == true 
    { 
        
Player[killerid][pMatou]++; 
        
Player[killerid][pMonthKills] ++; 
        
GivePlayerMoney(killerid100); 
        
Server[Kills] += 1
        
    }

    new 
str[80];
    
format(strsizeof(str), "[debug] killerid:%d, playerid:%d, reason:%d"killeridplayeridreason) );
    
SendClientMessage(playerid, -1str)
    ;
    
SendDeathMessage(killeridplayeridreason); 
    return 
true;

Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)