[Ajuda] Sistema de Score
#1

Olб pessoal.
Bom estou com um problema em um sistema de score que tem no meu GameMode, que ele ganha Score por dano levado, e as Score sгo vбriadas, nгo dб pra definir ex: SetPlayerScore(playerid, 10); ...
Vou deixar abaixo o cуdigo, e quero que vocкs me ajudam por gentileza, pra que eu defina que ao MATAR UM PLAYER ELE RECEBE 100 DE SCORE, APENAS ISSO.

Este й meu Public OnPlayer Death
PHP код:
public OnPlayerDeath(playeridkilleridreason)
{
    
SetPlayerScore(killerid,GetPlayerScore(killerid) + 10);
    if(
killerid != INVALID_PLAYER_ID// Se a causa da morte й um jogador.
    
{
        
GivePlayerMoney(killerid10);
    }
    
GivePlayerMoney(playerid, -10);
    if(
Ct[playerid] == 1)
    {
        
LimiteCT -= 1;
    }
    
SalvarConta(playerid);
    
SalvarConta(killerid);
    return 
1;

Este й meu Public OnPlayerTakeDamage
PHP код:
public OnPlayerTakeDamage(playerid,issuerid,Float:amount,weaponid)
{
    if(
Lagduel[playerid] == false) return 1;
    if(
weaponid == 24amount 32;
    
SetPlayerScore(issuerid,GetPlayerScore(issuerid) + floatround(amount) / 10);
    
PlayerPlaySound(playerid,6401,0,0,0);
    new 
Float:life;
    
GetPlayerHealth(playerid,life);
    if((
life amount) <= 0)
    {
        
Morto[playerid] = true;
        
SendDeathMessage(issuerid,playerid,weaponid);
        
DeadPlayer(playerid,issuerid,weaponid);
    }
    return 
1;

Este й meu Public OnPlayerGiveDamage
PHP код:
public OnPlayerGiveDamage(playeriddamagedidFloat:amountweaponid)
{
    
PlayerPlaySound(playerid178020.00.00.0); // Ding Sound
    
if(Aj[playerid] == false && GetPlayerSpecialAction(playerid) == 2) return SetPlayerHealth(playerid,0);
    switch(
weaponid)
    {
        case 
24amount 32;
        case 
9amount 10;
        case 
38amount 0;
    }
    if(
Morto[damagedid] == true) return 1;
    if(
Lagduel[damagedid] == true) return 1;
    
PlayerPlaySound(damagedid,6401,0,0,0);
    new 
Float:LifeFloat:ColeeteFloat:Dano;
    
GetPlayerArmour(damagedidColeete);
    
GetPlayerHealth(damagedidLife);
    if(
Coleete 0)
    {
        if(
amount Coleete)
        {
            
Dano amount Coleete;
            
Life Life Dano;
            
SetPlayerArmour(damagedid0.0);
            
SetPlayerHealth(damagedidLife);
            
SetPlayerScore(playerid,GetPlayerScore(playerid) + floatround(amount) / 10);
            return 
1;
        }
        
SetPlayerScore(playerid,GetPlayerScore(playerid) + floatround(amount) / 10);
        
Coleete Coleete amount;
        
SetPlayerArmour(damagedidColeete);
    }
    if(
Coleete 1)
    {
        
Life Life amount;
        
SetPlayerScore(playerid,GetPlayerScore(playerid) + floatround(amount) / 10);
        
SetPlayerHealth(damagedidLife);
        if(
Life <= 0)
        {
            
Morto[damagedid] = true;
            
SendDeathMessage(playerid,damagedid,weaponid);
             
DeadPlayer(damagedid,playerid,weaponid);
  }
    }
    return 
1;

Bom estгo aн, por favor espero que me ajudem!!
Aguardando...
Reply
#2

Vocк quer que ele receba 100 de score apenas quando matar ? Se й isso faзa o que eu fiz abaixo

Troque OnPlayerDeath por isto:
pawn Код:
public OnPlayerDeath(playerid, killerid, reason)
{
    if(killerid != INVALID_PLAYER_ID) // Se a causa da morte й um jogador.
    {
        GivePlayerMoney(killerid, 10);
        SetPlayerScore(killerid,GetPlayerScore(killerid) + 10);  
    }
    GivePlayerMoney(playerid, -10);
    if(Ct[playerid] == 1)
    {
        LimiteCT -= 1;
    }
    SalvarConta(playerid);
    SalvarConta(killerid);
    return 1;
}
E remova o SetPlayerScore das outras callbacks.
Reply
#3

Quote:
Originally Posted by ReyMysterio
Посмотреть сообщение
Vocк quer que ele receba 100 de score apenas quando matar ? Se й isso faзa o que eu fiz abaixo

Troque OnPlayerDeath por isto:
pawn Код:
public OnPlayerDeath(playerid, killerid, reason)
{
    if(killerid != INVALID_PLAYER_ID) // Se a causa da morte й um jogador.
    {
        GivePlayerMoney(killerid, 10);
        SetPlayerScore(killerid,GetPlayerScore(killerid) + 10);  
    }
    GivePlayerMoney(playerid, -10);
    if(Ct[playerid] == 1)
    {
        LimiteCT -= 1;
    }
    SalvarConta(playerid);
    SalvarConta(killerid);
    return 1;
}
E remova o SetPlayerScore das outras callbacks.
Olб, fiz isso do jeito que vocк disse, mas ao matar o Player nгo ganho Score.
Poderia me ajudar novamente ?
Aguardando...
Reply
#4

Aguardando AJUDA..
#UP
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)