Chan_Young Geplaatst: 8 augustus 2008 Rapport Geplaatst: 8 augustus 2008 Ok, Ik heb een paar minuten geleden een Commando gemaakt "/popup [Popup Naam] [Text]" De naam van het Commando zegt het al, Het laat een popup zien voor alle spelers. maar nu het probleem. Ik teste het met /popup announcement -uw text hier- Maar de server crashte, maar omdat ik een Auto Restarter had ging ie wel weer aan, maar dat is een ander verhaal. hier is het commando: if(strcmp(cmd, "/popup", true) == 0) { tmp = strtok(cmdtext, idx); tmp2 = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_WHITE, "[uSAGE]: /popup [boxname] [text]"); return 1; } if(!strlen(tmp2)) { SendClientMessage(playerid, COLOR_WHITE, "[uSAGE]: /popup [boxname] [text]"); return 1; } new MsgString1[256]; new MsgString2[256]; strval(tmp); tmp = strtok(cmdtext, idx); strval(tmp2); tmp2 = strtok(cmdtext, idx); if ((IsPlayerAdmin(playerid)) || Pinfo[playerid][Admin] >= 7) { SendClientMessage(playerid, 0xFFFFFFFF, "Box has been Generated"); SetTimer("HideBox", 5000, 0); format(MsgString1,sizeof(MsgString1), "%s", tmp); format(MsgString2,sizeof(MsgString2), "%s", tmp2); TextDrawSetString(BoxName, MsgString1); TextDrawShowForAll(BoxName); TextDrawSetString(BoxText, MsgString2); TextDrawShowForAll(BoxText); TextDrawShowForAll(TextBox); } else { SendClientMessage(playerid, COLOR_RED, "You are not authorized to use that command!"); } return 1; } alvast bedankt, Chan Reageren
Chan_Young Geplaatst: 8 augustus 2008 Auteur Rapport Geplaatst: 8 augustus 2008 Sorry voor de Dubbel Post, maar ik heb dit echt nodig (BUMP) Alvast Bedankt, Chan Reageren
Ymosky Geplaatst: 8 augustus 2008 Rapport Geplaatst: 8 augustus 2008 Ik heb even zitten proberen, maar dat wil niet lukken doordat "Boxname", Boxtext" en "Textbox" bij mij "undefined symbol" geeft. Kun je die er even bijgeven? Nog een kleine opmerking: bijna helemaal bovenaan staat "tmp = strtok(cmdtext, idx);" wat me vrij overbodig lijkt? in dat gedeelte gebruik je alleen tmp2 btw, ik snap trouwens totaal niets van de bedoeling van deze command, maar dat kan aan mij liggen Reageren
Chan_Young Geplaatst: 9 augustus 2008 Auteur Rapport Geplaatst: 9 augustus 2008 Hier is het: http://pastebin.com/f5f1831d Reageren
Sandra Geplaatst: 9 augustus 2008 Rapport Geplaatst: 9 augustus 2008 Je hebt die tmp = strtok(cmdtext, idx); tmp2 = strtok(cmdtext, idx); er 2 keer in staan, dat is niet de bedoeling. Bij de eerste keer, bovenaan het commando, worden de boxnaam en de boxtext er wel correct uitgehaald, maar als je het nogmaals doet, dan krijg je 2 lege strings.... ...en als je een lege string wil verzenden, crasht je server (of client). En ook aan strval(tmp); en strval(tmp2) heb je niks, omdat je die 2 variabelen gewoon als string wilt gebruiken en niet als getal (integer). 'strval' converteerd namelijk een string naar een getal Dus haal eens deze 4 regels uit je script. (In die pastebin code is het regel 57 t/m regel 60. strval(tmp); tmp = strtok(cmdtext, idx); strval(tmp2); tmp2 = strtok(cmdtext, idx); Reageren
Chan_Young Geplaatst: 9 augustus 2008 Auteur Rapport Geplaatst: 9 augustus 2008 Ok =>Sandra<= Het werkt Bedankt, maar dan kom ik bij een 2é Probleem als ik doe /popup Warning You have been Spotted Kom er alleen Warning [als boxname] you [als text] meer niet, Hoe kan ik dat nou weer oplossen? 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.