• 27 Juin 2025, 22:50:26


Auteur Sujet: [HELP] Recherche Commande GivePlayerMoney  (Lu 2104 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne kenjy24

  • *
  • Criminel
  • Messages: 47
    • Voir le profil
[HELP] Recherche Commande GivePlayerMoney
« le: 27 Février 2011, 02:11:02 »
Bonjour je suis a la recherche d'une commande du genre GivePlayerMoney, en faite j'explique je souhaiterais que lorsqu'un joueur meurt il perde de l'argent mais je ne trouve pas je peux faire gagner de l'argent a la personne qui tu ainsi qu'un level (voir ci dessous):
Code: (pawn) [Sélectionner]
//----------------------------------------------------------------------------------------------------------------------

public OnPlayerDeath(playerid, killerid, reason)
{
if(killerid == INVALID_PLAYER_ID) {
        SendDeathMessage(INVALID_PLAYER_ID,playerid,reason);
} else {
        if(gTeam[killerid] != gTeam[playerid]) {
   
//-----------------------------------------------------KILL VALIDE--------------------------------------------------------

  SendDeathMessage(killerid,playerid,reason);
SetPlayerScore(killerid,GetPlayerScore(killerid)+1);
GivePlayerMoney(killerid, 1000);
}
else {


et faire perdre de l'argent ainsi qu'un level a la personne qui tue quelqu'un de sa Team (voir ci dessous):
Code: (pawn) [Sélectionner]
//-----------------------------------------------------KILL INVALIDE-------------------------------------------------------

new warning[256];
format(warning, sizeof(warning), "ATTENTION!!! Vous allez payer 2000$ pour avoir tué un de vos coéquipier");
SendClientMessage(killerid, 0xFFFF00AA, warning);
SendDeathMessage(killerid,playerid,reason);
GivePlayerMoney(killerid, -2000);
SetPlayerScore(killerid, GetPlayerScore(killerid) - 1);
}
}
  return 1;
}

Mais je n'arrive pas a mettre a la victime une perte d'argent de 500 dollars (le fait de s'être fait tuer).
Merci d'avance de votre aide.

Hors ligne Xartrick

  • *
  • C & Pawn Programmer
  • Messages: 1391
    • Voir le profil
    • Xartrick's Area
Re : [HELP] Recherche Commande GivePlayerMoney
« Réponse #1 le: 27 Février 2011, 02:18:08 »
Fonction:

enum
{
X_MONEY_ADD,
X_MONEY_DELETE,
X_MONEY_SET
}

stock xMoneyAction(action, amount, playerid)
{
if(action == X_MONEY_ADD)
{
GivePlayerMoney(playerid, amount);
}
else if(action == X_MONEY_DELETE)
{
new tmp = 0;

tmp = GetPlayerMoney(playerid);

if((tmp - amount) > 0)
{
GivePlayerMoney(playerid, -amount);
}
else
{
return 0;
}
}
else if(action == X_MONEY_SET)
{
ResetPlayerMoney(playerid);
GivePlayerMoney(playerid, amount);
}

return 1;
}

Usage:

xMoneyAction(X_MONEY_ADD, 100, 1); // Ajoute 100$ au joueur qui possède l'ID numéro 1
xMoneyAction(X_MONEY_DELETE, 100, 1); // Retire 100$ au joueur (si possible (non négatif)) qui possède l'ID numéro 1 sinon retourne 0 (erreur)
xMoneyAction(X_MONEY_SET, 100, 1); // Met l'argent du joueur à 100$ au joueur qui possède l'ID numéro 1



Pour lever de l'argent, il suffit de passer la valeur en négatif.

GivePlayerMoney(playerid, -100);
« Modifié: 27 Février 2011, 02:20:57 par Xartrick »

Hors ligne kenjy24

  • *
  • Criminel
  • Messages: 47
    • Voir le profil
Re : [HELP] Recherche Commande GivePlayerMoney
« Réponse #2 le: 27 Février 2011, 02:52:18 »
Merci beaucoup mais n'etant qu'un debutant je voulais savoir si il me fallait mettre la toute la commande dans le "public OnPlayerDeath(playerid, killerid, reason)"
ou uniquement le GivePlayerMoney(playerid, -100);
Si je comprend pas bien peux tu m'expliquer un peu plus simplement (désolé il faut que j'y arrive pour ca il me faut un peu de temps lol).
Merci beaucoup Xartrick.

Double post
En faite est ce qu'il faut que j'efface ce que j'ai déjà fait ou que je rajoute ce que tu m'a envoyé??
 Double post ...
« Modifié: 27 Février 2011, 03:11:36 par kenjy24 »

Hors ligne Xartrick

  • *
  • C & Pawn Programmer
  • Messages: 1391
    • Voir le profil
    • Xartrick's Area
Re : [HELP] Recherche Commande GivePlayerMoney
« Réponse #3 le: 27 Février 2011, 03:12:58 »
As-tu déjà les bases ? Je veux dire par là, sait tu ce qu'es une fonction, une instruction ?
Car ce que je te donne, si on à les bases, cela coule de source.




J'ai modifiais ton code car je ne le trouvé pas très beau, de plus, tu utilisais des fonctions totalement inutile telle que format.

public OnPlayerDeath(playerid, killerid, reason)
{
if((IsPlayerConnected(playerid)) && (IsPlayerConnected(killerid)))
{
if(gTeam[killerid] == gTeam[playerid])
{
SendClientMessage(killerid, 0xFFFF00AA, "Il est interdit de tuer les membres de son équipe !");
SendClientMessage(killerid, 0xFFFF00AA, "2000$ vous sont retiré pour cette acte !");
SendClientMessage(killerid, 0xFFFF00AA, "Vous perdez également un point.");

GivePlayerMoney(killerid, -2000);
SetPlayerScore(killerid, (GetPlayerScore(killerid) - 1));

SendDeathMessage(killerid, playerid, reason);
}
else
{
GivePlayerMoney(killerid, +1000);
SetPlayerScore(killerid, (GetPlayerScore(killerid) + 1));

SendDeathMessage(killerid, playerid, reason);
}
}
}
« Modifié: 27 Février 2011, 03:24:12 par Xartrick »

Hors ligne kenjy24

  • *
  • Criminel
  • Messages: 47
    • Voir le profil
Re : [HELP] Recherche Commande GivePlayerMoney
« Réponse #4 le: 27 Février 2011, 03:54:07 »
Génial tu es vraiment un chef, il y a juste le +1000 à GiveMoneyPlayer qui n'allait pas mais ça j'ai trouvé merci encore grace à vous j'apprend et comprend et les bases j'essaye avec Wiki mais c'est du bourrage de crane mais je perssiste et commence a comprendre certaine chose je te remerci encore
Bonne nuit^^ je vais mieux dormir lol.

Double post
Re excuse moi mais je me suis emballé trop vite car ma commande pour enlevé de l'argent a la victime n'y est pas ( c'etait ca que je voulais au depart^^ ) mais merci pour ta patience quand même mais si tu m'expliqué un peu pour la fameuse commande.
En faite lorsqu'un joueur tu un autre joueur il gagne 1000 dollars le tueur mais la victime je souhaiterai qu'elle perde 300 dollars.
Désolé.
 Encore un double post !
« Modifié: 27 Février 2011, 04:07:08 par kenjy24 »

Hors ligne MafiaPainFritte

  • *
  • Nouveau
  • Messages: 5
    • Voir le profil
Re : [HELP] Recherche Commande GivePlayerMoney
« Réponse #5 le: 19 Décembre 2013, 19:58:48 »
Perso j'ai mis sa :


public OnPlayerDeath(playerid, killerid, reason)

{
   new string[48];
   format(string, sizeof(string), "Vous aviez $%i avant votre mort , vous avez maintenant 0$ .", GetPlayerMoney(playerid));
   SendClientMessage(playerid, 0xFFFFFFAA, string);
   ResetPlayerMoney(playerid);
}

Et ca marche tres bien
Est-ce qui parait ce qui ne te tue pas te rend plus fort?
Cela veut dire que si on te coupe les deux bras et les deux jambes, tu serras comme invincible?
AMENEZ-MOI UN COUTEAU ! ! !

Hors ligne Wallegi

  • *
  • Nouveau
  • Messages: 15
    • Voir le profil
Re : [HELP] Recherche Commande GivePlayerMoney
« Réponse #6 le: 19 Décembre 2013, 20:18:12 »
Bonsoir,

Comme dit plus haut, tu dois mettre la valeur en négative, donc GivePlayerMoney(playerid, -300);

Si tu ne veut pas retiré 300 $ si le joueur ne les a pas, il faut que tu fasse une condition, tu "Get" l'argent de la personne, et tu regarde si elle est superieur ou égal a 300. Si elle est superieur, tu retire les 300 $, sinon tu met l'argent a 0

En esperant t'avoir aidé.

Wallegi