GTAOnline.net

San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: Yornays le 16 Février 2012, 21:47:43

Titre: [SCRIPT] Problème achat armes.
Posté par: Yornays le 16 Février 2012, 21:47:43
Yo' !

Je suis entrain de créer une commande pour acheter des armes.

Je commande par un couteau pour tester..

Sa fonctionne mais j'ai un problème , comment faire pour que si la personne n'ai pas les 100$ elle ne puisse pas acheter l'arme..

// Ventes armes :
    if (strcmp(cmdtext, "/acheter couteau", true) == 0)
    {
        GivePlayerWeapon(playerid, 4 , 1);
        GivePlayerMoney(playerid, -100);
return 1;
    }
    return 0;
}

Je l'ai mit dans
Citer
public OnPlayerCommandText(playerid, cmdtext[])

Donc, je voudrais que si l'argent sois =>99 sa refuse l'achat.


Merci de votre aide !

PS : Je débute en Pawn..
Titre: Re : [SCRIPT] Problème achat armes.
Posté par: .:: Miguel .:: le 16 Février 2012, 21:55:05
Déjà tu peux pas faire /acheter couteau enléve l'espace (après pour faire sa sais autre chose :x)
Titre: Re : [SCRIPT] Problème achat armes.
Posté par: Xartrick le 17 Février 2012, 07:11:16
Utilise GetPlayerMoney.
Titre: Re : [SCRIPT] Problème achat armes.
Posté par: Yornays le 17 Février 2012, 09:00:56
.:: Miguel .::  ; Si je peut, sa fonctionne c'est juste que si le joueur à 50 $ il peut quand même, sa le met juste en dette ^^.

Xartrick : Ok, merci je vais aller tester sa tous de suite ! :)



EDIT :

J'ai fais comme ceci :

if (strcmp(cmdtext, "/acheter armes", true) == 0)
    {
        ShowPlayerDialog(playerid, 1, DIALOG_STYLE_LIST, "ACHAT D'ARMES", "Couteau (100$)\nDeagle (2500$)\nSpas12 (2600$)\nMP5 (2650$)\nM4 (3000$)\nSniper (4000$)", "Acheter", "Retour");
        return 1;
   }

dans
Citer
public OnPlayerCommandText(playerid, cmdtext[])

Puis :

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(response)
    {
    switch(dialogid)
        {
case 1:
        {
           switch(listitem)
         {
            case 0: // Achat couteau
            {
                if(GetPlayerMoney(playerid) < 100) return SendClientMessage(playerid, Gris, "Tu n'as pas assez d'argent.");
                GivePlayerMoney(playerid, -100);
                GivePlayerWeapon(playerid, 4 , 1);
            }
            case 1: // Achat Deagle
            {
                if(GetPlayerMoney(playerid) < 2500) return SendClientMessage(playerid, Gris, "Tu n'as pas assez d'argent.");
                GivePlayerMoney(playerid, -2500);
                GivePlayerWeapon(playerid, 24 , 100);
            }
            case 2: // Achat SPAS 12
            {
                if(GetPlayerMoney(playerid) < 2600) return SendClientMessage(playerid, Gris, "Tu n'as pas assez d'argent.");
                GivePlayerMoney(playerid, -2600);
                GivePlayerWeapon(playerid, 27 , 150);
            }
            case 3: // Achat MP5
            {
                if(GetPlayerMoney(playerid) < 2650) return SendClientMessage(playerid, Gris, "Tu n'as pas assez d'argent.");
                GivePlayerMoney(playerid, -2650);
                GivePlayerWeapon(playerid, 29 , 750);
            }
            case 4: // Achat M4
            {
                if(GetPlayerMoney(playerid) < 3000) return SendClientMessage(playerid, Gris, "Tu n'as pas assez d'argent.");
                GivePlayerMoney(playerid, -2500);
                GivePlayerWeapon(playerid, 31 , 1250);
            }
            case 5: // Achat Sniper
            {
                if(GetPlayerMoney(playerid) < 5000) return SendClientMessage(playerid, Gris, "Tu n'as pas assez d'argent.");
                GivePlayerMoney(playerid, -5000);
                GivePlayerWeapon(playerid, 34 , 300);
            }
         }
          }
  }
    }
return 1;
}

En tous cas, merci encore ^^

PS : Désoler pour l'indentation et tout, c'est pas du tout comme sa dans mon GM.