GTAOnline.net

San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: [DaD]Kizo le 01 Mai 2009, 23:28:31

Titre: Payer
Posté par: [DaD]Kizo le 01 Mai 2009, 23:28:31
Salut,

Désolé de vous embêter une fois de plus mais j'ai des problèmes de script :P
Si vous pouvez m'aider ça serait sympa :)

Le script: (commande du GF)

new string[256];
new playermoney;
new sendername[MAX_PLAYER_NAME];
new giveplayer[MAX_PLAYER_NAME];
new playername[MAX_PLAYER_NAME];
new giveplayerid, moneys;
cmd = strtok(cmdtext, idx);

if(strcmp(cmd, "/pay", true) == 0)
{
    if(IsPlayerConnected(playerid))
    {
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_YELLOW, "USAGE: /pay [playerid/PartOfName] [amount]");
return 1;
}
//giveplayerid = strval(tmp);
        giveplayerid = ReturnUser(tmp);
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_YELLOW, "USAGE: /pay [playerid/PartOfName] [amount]");
return 1;
}
if (IsPlayerConnected(giveplayerid))
{
    if(giveplayerid != INVALID_PLAYER_ID)
    {
        if(PlayerInfo[giveplayerid][pLocal] == 106)
{
SendClientMessage(playerid, COLOR_YELLOW, "Command not allowed in this location");
return 1;
}
if (ProxDetectorS(5.0, playerid, giveplayerid))
{
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
playermoney = GetPlayerMoney(playerid);
if (moneys > 0 && playermoney >= moneys)
{
    ConsumingMoney[giveplayerid] = 1;
GivePlayerMoney(playerid, (0 - moneys));
GivePlayerMoney(giveplayerid, moneys);
format(string, sizeof(string), "   Vous avez envoyer %s(player: %d), $%d.", giveplayer,giveplayerid, moneys);
PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
SendClientMessage(playerid, COLOR_GRAD1, string);
format(string, sizeof(string), "   Vous avez reçus $%d de %s(player: %d).", moneys, sendername, playerid);
SendClientMessage(giveplayerid, COLOR_GRAD1, string);
format(string, sizeof(string), "%s has paid $%d to %s", sendername, moneys, giveplayer);
PayLog(string);
if(moneys >= 1000000)
{
ABroadCast(COLOR_YELLOW,string,1);
}
PlayerPlaySound(giveplayerid, 1052, 0.0, 0.0, 0.0);
format(string, sizeof(string), "* %s Sort un peut d'argent et le remet à %s.", sendername ,giveplayer);
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
}
else
{
SendClientMessage(playerid, COLOR_YELLOW, "   Montant invalide.");
}
}
else
{
SendClientMessage(playerid, COLOR_YELLOW, "   Vous êtes trop loin.");
}
}//invalid id
}
else
{
format(string, sizeof(string), "   %d Ce joueur n'est pas actif.", giveplayerid);
SendClientMessage(playerid, COLOR_GRAD1, string);
}
}
return 1;
}

et les erreurs:
D:\GTA San Andreas\GTA San Andreas\gamemodes\DaD.pwn(936) : error 017: undefined symbol "ReturnUser"
D:\GTA San Andreas\GTA San Andreas\gamemodes\DaD.pwn(947) : error 017: undefined symbol "PlayerInfo"
D:\GTA San Andreas\GTA San Andreas\gamemodes\DaD.pwn(947) : warning 215: expression has no effect
D:\GTA San Andreas\GTA San Andreas\gamemodes\DaD.pwn(947) : error 001: expected token: ";", but found "]"
D:\GTA San Andreas\GTA San Andreas\gamemodes\DaD.pwn(947) : error 029: invalid expression, assumed zero
D:\GTA San Andreas\GTA San Andreas\gamemodes\DaD.pwn(947) : fatal error 107: too many error messages on one line

Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase


5 Errors.

La ligne qui bug:
if(PlayerInfo[giveplayerid][pLocal] == 106)
J'ai vraiment essayer mais la je ne sais pas du tout.

Merci.
Titre: Re : Payer
Posté par: Ssk le 02 Mai 2009, 11:28:23
Si j' ai comrpis tu as pris une commande du Gf, et le mettre dans ton Gm ou bien tu as juste modifier la commande
Titre: Re : Payer
Posté par: [DaD]Kizo le 02 Mai 2009, 12:11:47
Oui j'ai pris la commande du gf, mais ça peut coller au moins? :laugh
Titre: Re : Payer
Posté par: » Lukubi™ le 02 Mai 2009, 12:24:51
Au lieu de copier coller bêtement une commande d'un RPG, essaye de comprendre le fonctionnement de la commande /givecash du LVTDM fournit avec le serveur SA:MP  :bangin


PS : déjà dit des centaines de fois, le copier coller ne marche pas toujours .

++
MrT®
Titre: Re : Payer
Posté par: [DaD]Kizo le 02 Mai 2009, 14:20:53
Je sais pas, j'apprends en maniant  ;D

Juste un petit truc, vous savez ce qu'est le aLog pour une commande /asave. :ohmy