public OnEssaiTransfert(playerid, nom[], somme) { new string[128], query[128]; if(!cache_get_row_count()) return SendClientMessage(playerid, Rouge, "Ce joueur n'existe pas !"); mysql_format(mysql, query, sizeof(query),"UPDATE `joueurs` SET `Banque` = 'Banque + %d' WHERE `Username` = '%e'", somme, nom); pInfo[playerid][Banque] -= somme; format(string, sizeof(string), "Vous avez maintenant %d $ sur votre compte bancaire.", pInfo[playerid][Banque]); SendClientMessage(playerid, Gris,string); GetPlayerName(playerid, joueuremetteur, sizeof(joueuremetteur)); format(string, sizeof(string), "%s a transferer %d $ %s.", joueuremetteur, somme, nom); ChannelAdmin(Rouge, string); return 1; } CMD:transferer(playerid, params[]) // ajouter le IsPlayerInRangeOfPoint de la future banque { new nom, somme, query[128], string[128]; if(sscanf(params, "ud", nom, somme)) return SendClientMessage(playerid, Gris, "Utilisation: /transferer [Nom_Prйnom ou Prйnom_Nom du Joueur] [Somme]"); //Essayer s[24] si ca marche pas if(somme >= 2500000 || somme < 0) return SendClientMessage(playerid, Rouge, "La somme doit кtre comprise entre 1 et 2 500 000 $."); if(pInfo[playerid][Banque] < somme) return SendClientMessage(playerid, Rouge, "Vous n'avez pas assez sur votre compte bancaire."); if(playerid == nom) return SendClientMessage(playerid, Rouge, "Vous ne pouvez pas transferer d'argent а vous mкme."); if(IsPlayerConnected(nom)) { pInfo[playerid][Banque] -= somme; pInfo[nom][Banque] += somme; format(string, sizeof(string), "%s a transferй %d $ sur votre compte bancaire. Vous avez maintenant %d $ sur votre compte.", joueuremetteur, somme, pInfo[nom][Banque]); SendClientMessage(nom, Jaune, string); format(string, sizeof(string), "[Admin]:%s a transferй %d $ sur le compte de %s", joueuremetteur, somme, nom); ChannelAdmin(Rouge, string); return 1; } if(!IsPlayerConnected(nom)) { format(query, sizeof(query), "SELECT * FROM `joueurs` WHERE `Username` = '%s' LIMIT 1", nom); mysql_tquery(mysql, query, "OnEssaiTransfert", "isd", playerid, nom, somme); return 1; } return 1; }
if(sscanf(params, "ud", nom, somme)) return SendClientMessage(playerid, Gris, "Utilisation: /transferer [Nom_Prйnom ou Prйnom_Nom du Joueur] [Somme]");
sscanf(params,"s[24]d",nom,somne)
Beta.pwn(2385) : error 033: array must be indexed (variable "nom") Beta.pwn(2386) : error 035: argument type mismatch (argument 1) Beta.pwn(2389) : error 035: argument type mismatch (argument 1) Beta.pwn(2391) : error 033: array must be indexed (variable "nom") Beta.pwn(2392) : error 033: array must be indexed (variable "nom") Beta.pwn(2393) : error 035: argument type mismatch (argument 1) Beta.pwn(2400) : error 035: argument type mismatch (argument 1)
if(playerid == nom) return SendClientMessage(playerid, Rouge, "Vous ne pouvez pas transferer d'argent а vous mкme.");
if(IsPlayerConnected(nom))
GetPlayerName(nom, joueurdestinataire, sizeof(joueurdestinataire));
pInfo[nom][Banque] += somme;
format(string, sizeof(string), "%s a transferй %d $ sur votre compte bancaire. Vous avez maintenant %d $ sur votre compte.", joueuremetteur, somme, pInfo[nom][Banque]);
SendClientMessage(nom, Jaune, string);
if(!IsPlayerConnected(nom))
By this way you would also need to change the script, you can no longer do IsPlayerConnected(nom) (since it requieres a numerical input), instead, you would need a loop to check thru all players if their name equals to the typed one.
|
By this way you would also need to change the script, you can no longer do IsPlayerConnected(nom) (since it requieres a numerical input), instead, you would need a loop to check thru all players if their name equals to the typed one. |
foreach(new i : Player) { GetPlayerName(playerid, name, sizeof(name)) if(name == nom) { // Should I do here here: GetPlayerName(playerid, joueuremetteur, sizeof(joueuremetteur)); GetPlayerName(nom, joueurdestinataire, sizeof(joueurdestinataire)); pInfo[playerid][Banque] -= somme; pInfo[nom][Banque] += somme; format(string, sizeof(string), "%s a transferй %d $ sur votre compte bancaire. Vous avez maintenant %d $ sur votre compte.", joueuremetteur, somme, pInfo[nom][Banque]); SendClientMessage(nom, Jaune, string); format(string, sizeof(string), "Vous avez maintenant %d $ sur votre compte bancaire.", pInfo[playerid][Banque]); SendClientMessage(playerid, Jaune, string); format(string, sizeof(string), "[Admin]:%s a transferй %d $ sur le compte de %s", joueuremetteur, somme, joueurdestinataire); ChannelAdmin(Rouge, string); return 1; } }
new player = INVALID_PLAYER_ID;
foreach(new i : Player)
{
GetPlayerName(i, name, sizeof(name))
if(strcmp(name, nom, true) == 0)
{
player = i;
break;
}
}
if(player != INVALID_PLAYER_ID) //means that a player was found
{
//code
}
else //no player was found online with that name
{
//code
}
CMD:transferer(playerid, params[]) // ajouter le IsPlayerInRangeOfPoint de la future banque { new nom[24], somme, query[128], string[256]; if(sscanf(params, "s[24]d", nom, somme)) return SendClientMessage(playerid, Gris, "Utilisation: /transferer [Nom_Prйnom ou Prйnom_Nom du Joueur] [Somme]"); if(somme >= 2500000 || somme < 0) return SendClientMessage(playerid, Rouge, "La somme doit кtre comprise entre 1 et 2 500 000 $."); if(pInfo[playerid][Banque] < somme) return SendClientMessage(playerid, Rouge, "Vous n'avez pas assez sur votre compte bancaire."); if(playerid == nom) return SendClientMessage(playerid, Rouge, "Vous ne pouvez pas transferer d'argent а vous mкme."); new joueur = INVALID_PLAYER_ID; foreach(new i : Player) { GetPlayerName(i, joueurdestinataire, sizeof(joueurdestinataire)); if(strcmp(joueurdestinataire, joueur, true) == 0) { joueur = i; break; } } if(joueur != INVALID_PLAYER_ID) { GetPlayerName(playerid, joueuremetteur, sizeof(joueuremetteur)); GetPlayerName(nom, joueurdestinataire, sizeof(joueurdestinataire)); pInfo[playerid][Banque] -= somme; pInfo[nom][Banque] += somme; format(string, sizeof(string), "%s a transferй %d $ sur votre compte bancaire. Vous avez maintenant %d $ sur votre compte.", joueuremetteur, somme, pInfo[nom][Banque]); SendClientMessage(nom, Jaune, string); format(string, sizeof(string), "Vous avez maintenant %d $ sur votre compte bancaire.", pInfo[playerid][Banque]); SendClientMessage(playerid, Jaune, string); format(string, sizeof(string), "[Admin]:%s a transferй %d $ sur le compte de %s", joueuremetteur, somme, joueurdestinataire); ChannelAdmin(Rouge, string); return 1; } else { format(query, sizeof(query), "SELECT * FROM `joueurs` WHERE `Username` = '%s' LIMIT 1", nom); mysql_tquery(mysql, query, "OnEssaiTransfert", "is", playerid, nom, somme); return 1; } }
Beta.pwn(2385) : error 033: array must be indexed (variable "nom") Beta.pwn(2390) : error 035: argument type mismatch (argument 1) Beta.pwn(2399) : error 035: argument type mismatch (argument 1) Beta.pwn(2401) : error 033: array must be indexed (variable "nom") Beta.pwn(2402) : error 033: array must be indexed (variable "nom") Beta.pwn(2403) : error 035: argument type mismatch (argument 1)
if(playerid == nom) return SendClientMessage(playerid, Rouge, "Vous ne pouvez pas transferer d'argent а vous mкme.");
if(strcmp(joueurdestinataire, joueur, true) == 0)
GetPlayerName(nom, joueurdestinataire, sizeof(joueurdestinataire));
pInfo[nom][Banque] += somme;
format(string, sizeof(string), "%s a transferй %d $ sur votre compte bancaire. Vous avez maintenant %d $ sur votre compte.", joueuremetteur, somme, pInfo[nom][Banque]);
SendClientMessage(nom, Jaune, string);
`public OnEssaiTransfert(playerid, nom[], somme) { new string[128], query[128]; if(!cache_get_row_count()) return SendClientMessage(playerid, Rouge, "Ce joueur n'existe pas !"); mysql_format(mysql, query, sizeof(query),"UPDATE `joueurs` SET `Banque` = 'Banque + '%d'' WHERE `Username` = '%e'", somme, nom); mysql_tquery(mysql, query, "", ""); pInfo[playerid][Banque] -= somme; format(string, sizeof(string), "Vous avez maintenant %d $ sur votre compte bancaire.", pInfo[playerid][Banque]); SendClientMessage(playerid, Gris,string); GetPlayerName(playerid, joueuremetteur, sizeof(joueuremetteur)); format(string, sizeof(string), "%s a transferer %d $ %s.", joueuremetteur, somme, nom); ChannelAdmin(Rouge, string); return 1; }
CMD:transferer(playerid, params[]) // ajouter le IsPlayerInRangeOfPoint de la future banque { new nom[24], somme, query[128], string[256], joueur = INVALID_PLAYER_ID; if(sscanf(params, "s[24]d", nom, somme)) return SendClientMessage(playerid, Gris, "Utilisation: /transferer [Nom_Prйnom ou Prйnom_Nom du Joueur] [Somme]"); if(somme >= 2500000 || somme < 0) return SendClientMessage(playerid, Rouge, "La somme doit кtre comprise entre 1 et 2 500 000 $."); if(pInfo[playerid][Banque] < somme) return SendClientMessage(playerid, Rouge, "Vous n'avez pas assez sur votre compte bancaire."); foreach(new i : Player) { GetPlayerName(i, joueurdestinataire, sizeof(joueurdestinataire)); if(strcmp(joueurdestinataire, nom, true) == 0) { joueur = i; break; } } if(playerid == joueur) return SendClientMessage(playerid, Rouge, "Vous ne pouvez pas transferer d'argent а vous mкme."); if(joueur != INVALID_PLAYER_ID) { GetPlayerName(playerid, joueuremetteur, sizeof(joueuremetteur)); GetPlayerName(joueur, joueurdestinataire, sizeof(joueurdestinataire)); pInfo[playerid][Banque] -= somme; pInfo[joueur][Banque] += somme; format(string, sizeof(string), "%s a transferй %d $ sur votre compte bancaire. Vous avez maintenant %d $ sur votre compte.", joueuremetteur, somme, pInfo[joueur][Banque]); SendClientMessage(joueur, Jaune, string); format(string, sizeof(string), "Vous avez maintenant %d $ sur votre compte bancaire.", pInfo[playerid][Banque]); SendClientMessage(playerid, Jaune, string); format(string, sizeof(string), "[Admin]:%s a transferй %d $ sur le compte de %s", joueuremetteur, somme, joueurdestinataire); ChannelAdmin(Rouge, string); return 1; } else { format(query, sizeof(query), "SELECT * FROM `joueurs` WHERE `Username` = '%s' LIMIT 1", nom); mysql_tquery(mysql, query, "OnEssaiTransfert", "isd", playerid, nom, somme); return 1; } }
2:28] [DEBUG] mysql_format - connection: 1, len: 128, format: "UPDATE `joueurs` SET `Banque` = 'Banque + '%d'' WHERE `Username` = '%e'" [04:22:28] [DEBUG] mysql_tquery - connection: 1, query: "UPDATE `joueurs` SET `Banque` = 'Banque + '10000'' WHERE `Usern", callback: "(null)", format: "(null)" [04:22:28] [DEBUG] CMySQLResult::~CMySQLResult() - deconstructor called [04:22:28] [DEBUG] CMySQLQuery::Execute[] - starting query execution [04:22:28] [ERROR] CMySQLQuery::Execute[] - (error #1064) You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '10000'' WHERE `Username` = 'Cista_Adel'' at line 1