R0cky 3 Odesláno: 10. Květen, 2015 Share Odesláno: 10. Květen, 2015 Ahoj mam problem nepiše mi žádny error ani nič skopiroval sem z jedni stranky givecash a když to napišu ve hře tak to nič nedela . Nevite čim to je ? Code: Když sem to dal do PHP codu tak se to posunulo a bylo to špatne COMMAND:givecash(playerid, params[]) { new player, amount,name1[24], name2[24], string[128]; if(!sscanf(params, "ui",player,amount)) { if(playerid != player) { if(GetPlayerMoney(playerid) >= amount) { GetPlayerName(playerid, name1, 24); GetPlayerName(player, name2, 24); format(string, sizeof(string), "You gaved $%d to %s.",amount,name2); SendClientMessage(playerid, 0xFFFF00FF, string); format(string, sizeof(string), "%s gave you $%d!", name1, amount); SendClientMessage(player, 0xFFFF00FF, string); GivePlayerMoney(playerid, -amount); GivePlayerMoney(player, amount); } else return SendClientMessage(playerid, 0xFF0000FF,"You don't have that much."); } else return SendClientMessage(playerid, 0xFF0000FF,"You can't pay to yourself."); } else return SendClientMessage(playerid, 0xFFFFFFFF,"Usage: /givecash [iD][Amount]"); return 1; } Link to comment Share on other sites More sharing options...
0 SeaS 1 Odesláno: 10. Květen, 2015 Share Odesláno: 10. Květen, 2015 ~> Ten, kdo to dělal, tak to dělal naprosto na nic složitě. Pak není divu, že se v tom sotva někdo vyzná CMD:givecash(playerid, params[]) { new player, amount; if(sscanf(params, "ui",player,amount)) return SendClientMessage(playerid, 0xFFFFFFFF,"Usage: /givecash [ID][Amount]"); if(playerid == player) return SendClientMessage(playerid, 0xFF0000FF,"You can't pay to yourself."); if(GetPlayerMoney(playerid) < amount) return SendClientMessage(playerid, 0xFF0000FF,"You don't have that much."); new name1[24], name2[24], string[128]; GetPlayerName(playerid, name1, 24) , GetPlayerName(player, name2, 24); format(string, sizeof(string), "You gaved $%d to %s.",amount,name2); format(string, sizeof(string), "%s gave you $%d!", name1, amount); SendClientMessage(playerid, 0xFFFF00FF, string) , SendClientMessage(player, 0xFFFF00FF, string); GivePlayerMoney(playerid, -amount) , GivePlayerMoney(player, amount); return 1; } Tady to pošle stejnou zprávu oboum hráčům, pokud se nepletu. CMD:givecash(playerid, params[]) { new player, amount; if(sscanf(params, "ui",player,amount)) return SendClientMessage(playerid, 0xFFFFFFFF,"Usage: /givecash [ID][Amount]"); if(playerid == player) return SendClientMessage(playerid, 0xFF0000FF,"You can't pay to yourself."); if(GetPlayerMoney(playerid) < amount) return SendClientMessage(playerid, 0xFF0000FF,"You don't have that much."); new name1[24], name2[24], string[128]; GetPlayerName(playerid, name1, 24) , GetPlayerName(player, name2, 24); format(string, sizeof(string), "You gaved $%d to %s.",amount,name2); SendClientMessage(playerid, 0xFFFF00FF, string); format(string, sizeof(string), "%s gave you $%d!", name1, amount); SendClientMessage(player, 0xFFFF00FF, string); GivePlayerMoney(playerid, -amount) , GivePlayerMoney(player, amount); return 1; } Link to comment Share on other sites More sharing options...
0 R0cky 3 Odesláno: 10. Květen, 2015 Author Share Odesláno: 10. Květen, 2015 ~> Ten, kdo to dělal, tak to dělal naprosto na nic složitě. Pak není divu, že se v tom sotva někdo vyzná CMD:givecash(playerid, params[]) { new player, amount; if(sscanf(params, "ui",player,amount)) return SendClientMessage(playerid, 0xFFFFFFFF,"Usage: /givecash [ID][Amount]"); if(playerid == player) return SendClientMessage(playerid, 0xFF0000FF,"You can't pay to yourself."); if(GetPlayerMoney(playerid) < amount) return SendClientMessage(playerid, 0xFF0000FF,"You don't have that much."); new name1[24], name2[24], string[128]; GetPlayerName(playerid, name1, 24) , GetPlayerName(player, name2, 24); format(string, sizeof(string), "You gaved $%d to %s.",amount,name2); format(string, sizeof(string), "%s gave you $%d!", name1, amount); SendClientMessage(playerid, 0xFFFF00FF, string) , SendClientMessage(player, 0xFFFF00FF, string); GivePlayerMoney(playerid, -amount) , GivePlayerMoney(player, amount); return 1; } Vůbec nefunguje to sami napišu /givecash a nič nenapiše Link to comment Share on other sites More sharing options...
0 SeaS 1 Odesláno: 10. Květen, 2015 Share Odesláno: 10. Květen, 2015 stock PlayerName(id) { new p[26]; GetPlayerName(id, p, 26); return p; } COMMAND:givecash(playerid, params[]) { new id, penize; if(sscanf(params, "ii", id, penize)) return SendClientMessage(playerid, 0xFF0000AA, "/givecash [ID hráče] [Suma]"); else if(!IsPlayerConnected(id)) return SendClientMessage(playerid, 0xFF0000AA, "Hráč s tímto ID není na serveru."); else if(GetPlayerMoney(playerid) < penize) return SendClientMessage(playerid, 0xFF0000AA, "Nemáš dostatečný počet peněz."); else if(id == playerid) return SendClientMessage(playerid, 0xFF0000AA, "Nemůžeš poslat peníze sobě."); GivePlayerMoney(id, penize); GivePlayerMoney(playerid, -penize); new string[128]; format(string, 128, "Dal jsi hráči %s $%d.", PlayerName(id), penize); SendClientMessage(playerid, 0xBAFF00AA, string); format(string, 128, "Hráč %s ti poslal $%d.", PlayerName(playerid), penize); SendClientMessage(id, 0xBAFF00AA, string); return 1; } Zkus tohle. Link to comment Share on other sites More sharing options...
0 Hlavní moderátor vEnd 279 Odesláno: 10. Květen, 2015 Hlavní moderátor Share Odesláno: 10. Květen, 2015 ~> Tak v tom případě buď používáš stockovou verzi (pak změníš "ui" na "ii"), a nebo máš chybu jinde u funguje i v té tvé "stockové" verzi CMD:givecash(playerid,params[]) { new id,amount; if(sscanf(params,"ui",id,amount)) return SendClientMessage(playerid, 0xFFFFFFFF,"Usage: /givecash [ID][Amount]"); if(playerid == id) return SendClientMessage(playerid, 0xFF0000FF,"You can't pay to yourself."); if(GetPlayerMoney(playerid) < amount) return SendClientMessage(playerid, 0xFF0000FF,"You don't have that much."); new name1[24],name2[24],string[128]; GetPlayerName(playerid, name1, 24); GetPlayerName(id, name2, 24); format(string, sizeof(string), "You gaved $%d to %s.",amount,name2); SendClientMessage(playerid, 0xFFFF00FF, string); format(string, sizeof(string), "%s gave you $%d!", name1, amount); SendClientMessage(id, 0xFFFF00FF, string); GivePlayerMoney(playerid, -amount); GivePlayerMoney(id, amount); return 1; } ty kódy by sis měl dělat přehlednější, pak se v tom budeš ztrácet... tohle by ti mělo fungovat, pokud ne, bude chyba někde se samotnými příkazy (výsledek kopírování) jinak, zapracoval bych na angličtině Link to comment Share on other sites More sharing options...
0 R0cky 3 Odesláno: 10. Květen, 2015 Author Share Odesláno: 10. Květen, 2015 Ďiky pomohli ste ale zase ked si to dam do módu tak tam mam nekde chybu ale použil sem ZCMD na OnPlayerCommandText a tam mi to funguje Pokud to nekdo chce tady: new cmd[256]; if(strcmp(cmd, "/givecash", true) == 0) { new tmp[256]; new string[256]; new playermoney; new sendername[MAX_PLAYER_NAME]; new giveplayer[MAX_PLAYER_NAME]; new giveplayerid, moneys, idx; cmd = strtok(cmdtext, idx); tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_WHITE, "USAGE: /givecash [playerid] [amount]"); return 1; } giveplayerid = strval(tmp); tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_WHITE, "USAGE: /givecash [playerid] [amount]"); return 1; } moneys = strval(tmp); if (IsPlayerConnected(giveplayerid)) { GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer)); GetPlayerName(playerid, sendername, sizeof(sendername)); playermoney = GetPlayerMoney(playerid); if (moneys > 0 && playermoney >= moneys) { GivePlayerMoney(playerid, (0 - moneys)); GivePlayerMoney(giveplayerid, moneys); format(string, sizeof(string), "You have sent %s(player: %d), $%d.", giveplayer,giveplayerid, moneys); SendClientMessage(playerid, COLOR_YELLOW, string); format(string, sizeof(string), "You have recieved $%d from %s(player: %d).", moneys, sendername, playerid); SendClientMessage(giveplayerid, COLOR_YELLOW, string); printf("%s(playerid:%d) has transfered %d to %s(playerid:%d)",sendername, playerid, moneys, giveplayer, giveplayerid); } else { SendClientMessage(playerid, COLOR_YELLOW, "Invalid transaction amount."); } } else { format(string, sizeof(string), "%d is not an active player.", giveplayerid); SendClientMessage(playerid, COLOR_YELLOW, string); } return 1; } A ešte nekde na konec: strtok(const string[], &index) { new length = strlen(string); while ((index < length) && (string[index] <= ' ')) { index++; } new offset = index; new result[20]; while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1))) { result[index - offset] = string[index]; index++; } result[index - offset] = EOS; return result; } Link to comment Share on other sites More sharing options...
Dotaz
R0cky 3
Ahoj mam problem nepiše mi žádny error ani nič skopiroval sem z jedni stranky givecash a když to napišu ve hře tak to nič nedela . Nevite čim to je ?
Code: Když sem to dal do PHP codu tak se to posunulo a bylo to špatne
Link to comment
Share on other sites
5 odpovědí na tuto otázku
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now