GTAOnline.net

San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: zazira le 18 Septembre 2011, 21:18:44

Titre: Problème commande
Posté par: zazira le 18 Septembre 2011, 21:18:44
Bonjour ,

J'ai un problème avec ma commande .

En jeux quand je tape /MCoffre Deposer 1000

La valeur n'est pas prise en compte du coups je dépose rien .

Code: (pawn) [Sélectionner]
if(strcmp(cmd, "/MCoffre", true) == 0)
{
    if(IsPlayerConnected(playerid))
    {
new x_rp[256];
            x_rp = strtok(cmdtext, idx);
if(!strlen(x_rp))
{
SendClientMessage(playerid, COLOR_GRAD2, "[CMD]: /MCoffre [Deposer/Retirer/Infos] [Argent]");
return 1;
}

new argentcoffre = CoffreMairie[cArgent];
if (PlayerInfo[playerid][pLeader] == 2 || PlayerInfo[playerid][pMember] == 2 && PlayerInfo[playerid][pRank] >= 5)
{
        new pMoney = GetPlayerMoney(playerid);
        if(strcmp(x_rp,"Deposer",true) == 0)
        {
    new y;
y = strval(tmp);
if( y <= pMoney)
{
      SafeGivePlayerMoney(playerid, -y);
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, 256, "[Mairie]: %s a deposé $%d.", sendername,y);
ABroadCast(COLOR_YELLOW,string);
CoffreMairie[cArgent] = y;
SaveCoffreMairie();
}
else
{
    SendClientMessage(playerid,COLOR_GRAD1," Vous n'avez pas asser d'argent")
}
}
if(strcmp(x_rp,"Retirer",true) == 0)
        {
            new y;
y = strval(tmp);
            if( y <= CoffreMairie[cArgent])
            {
      SafeGivePlayerMoney(playerid, y);
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, 256, "[Mairie]: %s a retiré $%d.", sendername,y);
ABroadCast(COLOR_YELLOW,string);
CoffreMairie[cArgent] = - y;
SaveCoffreMairie();
}
else
{
    SendClientMessage(playerid,COLOR_GRAD1," Il n'y a pas asser d'argent dans le coffre")
}
}
if(strcmp(x_rp,"Infos",true) == 0)
        {
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, 256, "[Mairie]: Le coffre contient $%d.",argentcoffre);
ABroadCast(COLOR_YELLOW,string);
}
}
else
{
SendClientMessage(playerid, COLOR_GRAD1, "   Vous n'êtes pas autoriser a faire cette commande!");
}
}
return 1;
}



Merci d'avance
Titre: Re : Problème commande
Posté par: herq le 30 Septembre 2011, 12:33:30
Salut,

Déjà dans ton code il te manque un "}" a la fin.. :)

Après tu as des choses fausses du genre " CoffreMairie[cArgent] = y; " Qui devrait être plutôt : CoffreMairie[cArgent] += y;
Pareil pour : "CoffreMairie[cArgent] = - y;" en "CoffreMairie[cArgent] -= -y;

Après en surpassant le script, je ne vois pas de soucis majeur.