GTAOnline.net
San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: ShaDowxx™ le 08 Avril 2012, 13:51:39
-
Bonjour à tous
Je voudrais savoir comment peut-on changer les dégâts des armes, je sais que c'est possible mais je ne connait pas le code. Pouvez-vous me donner la page du wiki samp ou des bases ?
Merci à vous tous !
Cordialement, ShaDowxx™
-
Avec http://wiki.sa-mp.com/wiki/OnPlayerTakeDamage (http://wiki.sa-mp.com/wiki/OnPlayerTakeDamage)
-
Utilise les Callbacks OnPlayerGiveDamage ou onplayertakedamage.
http://wiki.sa-mp.com/wiki/OnPlayerTakeDamage (http://wiki.sa-mp.com/wiki/OnPlayerTakeDamage)
Après tu mets une condition pour vérifier l'arme, par exemple
public OnPlayerGiveDamage(playerid, damagedid, Float:amount, weaponid)
{
if(GetPlayerWeapon(playerid) == 24) // Sniper si je me souvient bien.
{
SetPlayerhealth(damageid, 0); // damageid, c'est l'ID du joueur qui se fait tirer dessus.
}
return 1;
}
Voilà, bonne soirée.
-
Codé sur le forum, je ne sais pas ce que ca vaut
#define COEFFICIENT_DEGAT 1.5
public OnPlayerTakeDamage(playerid, issuerid, Float: amount, weaponid)
{
if(issuerid != INVALID_PLAYER_ID)
{
amount = (amount*COEFFICIENT_DEGAT)-amount;
new Float:health;
GetPlayerHealth(playerid, health);
health -= amount;
SetPlayerHealth(playerid, health);
if(health <= 0.0) SendDeathMessage( issuerid, playerid, weapondid );
}
return 1;
}
-
Merci de votre aide ! J'ai le code qu'il me faut ! Merci à vous tous !
-
Un peu plus de detail sur ce que tu as? J'aime connaitre la fin de l'histoire :)
-
#define _sniperosok_included
public OnPlayerTakeDamage(playerid, issuerid, Float:amount, weaponid)
{
if(weaponid == 34) SetPlayerHealth(playerid, -0);
if(weaponid == 33) SetPlayerHealth(playerid, -0);
return CallLocalFunction("osok_OnPlayerTakeDamage", "iifi", playerid, issuerid, amount, weaponid);
}
Avec un ami et il marche.