MATHIJS Geplaatst: 2 december 2010 Rapport Geplaatst: 2 december 2010 Hey hallo ik heb een klein probleempje bij me /paycheck command. het is dus dat hij de string niet wilt uitvoeren maar weet niet waarom. if (strcmp("/paycheck", cmdtext, true, 10) == 0) { if (IsPlayerAdmin(playerid)) { new string[128]; new count; new PaycheckMoney; new givescore; givescore = GetPlayerScore(playerid) + 1; PaycheckMoney = 1500+random(5000); SetPlayerScore(playerid, givescore); for(count = 0; count <= 100; count++) { GivePlayerMoney((count), PaycheckMoney); } SendClientMessageToAll(COLOR_RED,"*****************************************************************"); SendClientMessageToAll(COLOR_LBLUE, "You have recived a paycheck from the Government."); format(string, sizeof(string), "Recived %d dollar.", PaycheckMoney); SendClientMessageToAll(COLOR_LBLUE, string); format(string, sizeof(string), "Level : &d", GetPlayerScore(playerid)); SendClientMessageToAll(COLOR_LBLUE, string); SendClientMessageToAll(COLOR_RED,"*****************************************************************"); } else SendClientMessage(playerid, COLOR_RED, "Only admins can use this command!"); return 1; } erg bedankt als je het kan oplossen. Reageren
Morph1 Geplaatst: 2 december 2010 Rapport Geplaatst: 2 december 2010 (bewerkt) wat is precies je bedoeling want eerst zie je dat alleen de speler die /paycheck geld en een punt krijgt en verderop ga je iedereen vertellen dat ze geld hebben gekregen edit: ow wacht bij giveplayermoney heb je geen playerid, maar hoe heb je count gedefined? srry ben even te snel aan het kijken, playerid's kan je niet in de gewone cmdtext gebruiken. je zou stock of dcmd of zcmd moeten gebruiken. heb er nu geen tijd voor om te maken want ik moet morgen tot half 6 werken en zaterdag tot half 4 en in die avonden moet ik ook nog ff een surprise in elkaar flansen:S Bewerkt: 2 december 2010 door Morph1 Reageren
MATHIJS Geplaatst: 3 december 2010 Auteur Rapport Geplaatst: 3 december 2010 er was geen probleem met playerid ofzo want dat werkte bij me andere command ook gewoon goed het probleem was dat hij hem fout opsloeg Reageren
Morph1 Geplaatst: 3 december 2010 Rapport Geplaatst: 3 december 2010 maar als je hem op wilt slaan in een bestandje zit de fout niet in het commando, misschien geeft hij het wel maar zit er een fout in het gedeelte waar hij hem opslaat. Reageren
Gast Geplaatst: 4 december 2010 Rapport Geplaatst: 4 december 2010 (bewerkt) if (strcmp("/paycheck", cmdtext, true, 10) == 0) { if (IsPlayerAdmin(playerid)) { new string[128]; new count; new PaycheckMoney; new givescore; givescore = GetPlayerScore(playerid) + 1; PaycheckMoney = 1500+random(5000); SetPlayerScore(playerid, givescore); for(count = 0; count <= 100; count++) { GivePlayerMoney((count), PaycheckMoney); } SendClientMessageToAll(COLOR_RED,"*****************************************************************"); SendClientMessageToAll(COLOR_LBLUE, "You have recived a paycheck from the Government."); format(string, sizeof(string), "Recived %d dollar.", PaycheckMoney); SendClientMessageToAll(COLOR_LBLUE, string); format(string, sizeof(string), "Level : &d", GetPlayerScore(playerid)); SendClientMessageToAll(COLOR_LBLUE, string); SendClientMessageToAll(COLOR_RED,"*****************************************************************"); } else SendClientMessage(playerid, COLOR_RED, "Only admins can use this command!"); return 1; } Zoals ik al eerder heb gezegt in vorige topic van jou, waarom tel je de 'letters'(symbolen) die in /paycheck zitten. Hiermee zorg je dat CMDText gaat functioneren. Dat heb je in deze command niet nodig. Voor jouw probleem, je geprijkt 'string' twee keer voor twee verschillende berichten. Dat kan niet. Doe boven aan je command new string2[128]; Dan vervang je format(string, sizeof(String), "Level : %d", GetPlayerScore(playerid)); met format(string2, sizeof(String2), "Level : %d", GetPlayerScore(playerid)); Dus dan wordt het: if (strcmp("/paycheck", cmdtext, true) == 0) { if (IsPlayerAdmin(playerid)) { new string[128], string2[128]; new count; new PaycheckMoney; new givescore; givescore = GetPlayerScore(playerid) + 1; PaycheckMoney = 1500+random(5000); SetPlayerScore(playerid, givescore); for(count = 0; count <= 100; count++) { GivePlayerMoney((count), PaycheckMoney); } SendClientMessageToAll(COLOR_RED,"*****************************************************************"); SendClientMessageToAll(COLOR_LBLUE, "You have recived a paycheck from the Government."); format(string, sizeof(string), "Recived %d dollar.", PaycheckMoney); SendClientMessageToAll(COLOR_LBLUE, string); format(string2, sizeof(string2), "Level : &d", GetPlayerScore(playerid)); SendClientMessageToAll(COLOR_LBLUE, string2); SendClientMessageToAll(COLOR_RED,"*****************************************************************"); } else SendClientMessage(playerid, COLOR_RED, "Only admins can use this command!"); return 1; } Bewerkt: 4 december 2010 door Gast Reageren
Big Boss Geplaatst: 4 december 2010 Rapport Geplaatst: 4 december 2010 Voor jouw probleem, je geprijkt 'string' twee keer voor twee verschillende berichten. Dat kan niet. Kan perfect. Voorbeeldje: new string[128]; format(string, sizeof(string), "Bericht %d", 1); SendClientMessage(playerid, COLOR_WHITE, string); // Dit bericht is nu verzonden, dus we hebben de waarde die in string zit niet meer nodig // Dus kunnen we string hier opnieuw gebruiken format(string, sizeof(string), "Bericht %d", 2); SendClientMessage(playerid, COLOR_WHITE, string); Wat NIET zal werken is dit: format(string, sizeof(string), "Bericht %d", 1); format(string, sizeof(string), "Bericht %d", 2); SendClientMessage(playerid, COLOR_WHITE, string); SendClientMessage(playerid, COLOR_WHITE, string); Hier zal string enkel Bericht 2 bevatten en bovendien tweemaal verzonden worden. In dit voorbeeld kan je jouw manier wel toepassen. Dan, omtrent het probleem. Je zal de berichten naar iedereen apart moeten versturen, aangezien je een player variabele wil verzenden. Dit houdt in dat je SendClientMessages ook in de loop moeten geplaatst worden. for(new i; i < MAX_PLAYERS; i++) { if(!IsPlayerConnected(i) || IsPlayerNPC(i)) continue; SendClientMessage(i, COLOR_RED,"*****************************************************************"); SendClientMessage(i, COLOR_LBLUE, "You have recived a paycheck from the Government."); format(string, sizeof(string), "Recieved %d dollar.", PaycheckMoney); SendClientMessage(i, COLOR_LBLUE, string); format(string, sizeof(string), "Level : &d", GetPlayerScore(i)); SendClientMessage(i, COLOR_LBLUE, string2); SendClientMessage(i, COLOR_RED,"*****************************************************************"); GivePlayerMoney(i, PaycheckMoney); SetPlayerScore(i, GetPlayerScore(i)+1); } Reageren
Recommended Posts
Een reactie plaatsen
Je kan nu een reactie plaatsen en pas achteraf registreren. Als je al lid bent, log eerst in om met je eigen account een reactie te plaatsen.