Ajuda com dano em armas.
#1

Bom, dei uma pesquisada e achei isso:

Код:
public OnPlayerShootPlayer(Shooter,Target,Float:HealthLost,Float:ArmourLost)
{
    //#define SHOOTSYSTEM_DEBUG
    new Weapon = GetPlayerWeapon( Shooter ),
        Float:Damage = 0; //Adicional. Ou Seja, isso mais o damage da prуpria arma

    if( Weapon == 22 ) Damage = 28.0; // Colt .45
    if( Weapon == 23 ) Damage = 35.0; // Silenced Colt .45
    if( Weapon == 24 ) Damage = 20.0; // Deagle/Glock
    if( Weapon == 25 ) Damage = 10.0; // Shotgun
    if( Weapon == 27 ) Damage = 15.0; // SPAZ
    if( Weapon == 28 ) Damage = 7.0; // UZI
    if( Weapon == 29 ) Damage = 15.0; // MP5
    if( Weapon == 30 ) Damage = 20.0; // AK
    if( Weapon == 31 ) Damage = 15.0; // M4
    if( Weapon == 32 ) Damage = 10.0; // Tec9
    if( Weapon == 33 ) Damage = 50.0; // Country Rifle
    if( Weapon == 34 ) Damage = 300.0; // Sniper

    new Float:tArmour, Float:tHealth;
    GetPlayerArmour( Target , tArmour );
    GetPlayerHealth( Target , tHealth );
    //--->
    new Float:newColete;
    newColete = tArmour - Damage;
    if( newColete >= 0 ) SetPlayerArmour( Target , newColete );
    else
    {
        SetPlayerArmour( Target, 0.0 );
        //SetPlayerHealth( Target, newColete * (-1) );
        SetPlayerHealth( Target,  tHealth + newColete );
    }
    #if defined SHOOTSYSTEM_DEBUG
    new str[180];
    format( str , 180 , "[DEBUG] o ID %d atirou em no ID %d. Vida: %f para %f e Colete: %f para %f", Shooter, Target, HealthLost, vidaComDamageTirado, ArmourLost, coleteComDamageTirado );
    SendClientMessageToAll( -1 , str );
    format( str , 180 , "[DEBUG] Damage do Colete: %f. Da Vida: %f", Damage, (ArmourLost - coleteComDamageTirado) );
    SendClientMessageToAll( -1 , str );
    #endif
    return 1;
}
Mas pra compilar isso no GM aparece o erro:

warning 235: public function lacks forward declaration (symbol "OnPlayerShootPlayer")
Reply
#2

https://sampforum.blast.hk/showthread.php?tid=195439

usa ^.^'
Reply
#3

Agora da:

cannot read from file: "OPSP"

E jб estou com a include na pasta
Reply
#4

Fecha e Abre no Pawn novamente,ou simplesmente se usar o IPE,vai ao lado direito sobre as funзoes e click com o direito e depois em Recarregar Lista de Funзoes.
Reply
#5

Continua com o erro...
Reply
#6

Quote:
Originally Posted by Bryaan_Smith
Посмотреть сообщение
Bom, dei uma pesquisada e achei isso:

Код:
public OnPlayerShootPlayer(Shooter,Target,Float:HealthLost,Float:ArmourLost)
{
    //#define SHOOTSYSTEM_DEBUG
    new Weapon = GetPlayerWeapon( Shooter ),
        Float:Damage = 0; //Adicional. Ou Seja, isso mais o damage da prуpria arma

    if( Weapon == 22 ) Damage = 28.0; // Colt .45
    if( Weapon == 23 ) Damage = 35.0; // Silenced Colt .45
    if( Weapon == 24 ) Damage = 20.0; // Deagle/Glock
    if( Weapon == 25 ) Damage = 10.0; // Shotgun
    if( Weapon == 27 ) Damage = 15.0; // SPAZ
    if( Weapon == 28 ) Damage = 7.0; // UZI
    if( Weapon == 29 ) Damage = 15.0; // MP5
    if( Weapon == 30 ) Damage = 20.0; // AK
    if( Weapon == 31 ) Damage = 15.0; // M4
    if( Weapon == 32 ) Damage = 10.0; // Tec9
    if( Weapon == 33 ) Damage = 50.0; // Country Rifle
    if( Weapon == 34 ) Damage = 300.0; // Sniper

    new Float:tArmour, Float:tHealth;
    GetPlayerArmour( Target , tArmour );
    GetPlayerHealth( Target , tHealth );
    //--->
    new Float:newColete;
    newColete = tArmour - Damage;
    if( newColete >= 0 ) SetPlayerArmour( Target , newColete );
    else
    {
        SetPlayerArmour( Target, 0.0 );
        //SetPlayerHealth( Target, newColete * (-1) );
        SetPlayerHealth( Target,  tHealth + newColete );
    }
    #if defined SHOOTSYSTEM_DEBUG
    new str[180];
    format( str , 180 , "[DEBUG] o ID %d atirou em no ID %d. Vida: %f para %f e Colete: %f para %f", Shooter, Target, HealthLost, vidaComDamageTirado, ArmourLost, coleteComDamageTirado );
    SendClientMessageToAll( -1 , str );
    format( str , 180 , "[DEBUG] Damage do Colete: %f. Da Vida: %f", Damage, (ArmourLost - coleteComDamageTirado) );
    SendClientMessageToAll( -1 , str );
    #endif
    return 1;
}
Mas pra compilar isso no GM aparece o erro:

warning 235: public function lacks forward declaration (symbol "OnPlayerShootPlayer")
coloca isso no comeзo do GM
pawn Код:
forward OnPlayerShootPlayer(Shooter,Target,Float:HealthLost,Float:ArmourLost);
Reply
#7

Quote:
Originally Posted by BlackCoder
Посмотреть сообщение
coloca isso no comeзo do GM
pawn Код:
forward OnPlayerShootPlayer(Shooter,Target,Float:HealthLost,Float:ArmourLost);
Funcionou, obrigado. + reputation para vocк ^^
Reply
#8

Quote:
Originally Posted by Bryaan_Smith
Посмотреть сообщение
Funcionou, obrigado. + reputation para vocк ^^
Valew brow!!!
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)