Johannetje2 Geplaatst: 1 januari 2010 Rapport Geplaatst: 1 januari 2010 Hey! Als ik /hallo <id> typ, wil ik dat er bijv een bericht word verzonden aan alle mensen met deze tekst: Hallo, <Hier de naam van de gene met dat id> Maar hoe moet dit? Reageren
Wanted Geplaatst: 1 januari 2010 Rapport Geplaatst: 1 januari 2010 (bewerkt) In OnPlayerCommandText: if(strcmp(cmdtext, "/hallo", true)) { new giveplayerid, pName[MAX_PLAYER_NAME], string[50]; tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, 0xFF0000AA, "Gebruik: /hallo [id]"); return 1; } giveplayerid = strval(tmp); GetPlayerName(giveplayerid, pName, sizeof(pName)); format(string, sizeof(string), "Hallo, %s", pName); SendClientMessageToAll(0xFFFFFFAA, string); return 1; } EDIT: Dit soort vragen horen volgens mij in het Script aanvraag topic. Bewerkt: 1 januari 2010 door Wanted Reageren
Johannetje2 Geplaatst: 1 januari 2010 Auteur Rapport Geplaatst: 1 januari 2010 In OnPlayerCommandText: if(strcmp(cmdtext, "/hallo", true)) { new giveplayerid, pName[MAX_PLAYER_NAME], string[50]; tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, 0xFF0000AA, "Gebruik: /hallo [id]"); return 1; } giveplayerid = strval(tmp); GetPlayerName(giveplayerid, pName, sizeof(pName)); format(string, sizeof(string), "Hallo, %s", pName); SendClientMessageToAll(0xFFFFFFAA, string); return 1; } EDIT: Dit soort vragen horen volgens mij in het Script aanvraag topic. C:\Users\Johan Wenting\Documents\Server\gamemodes\NL2.pwn(351) : error 017: undefined symbol "tmp" C:\Users\Johan Wenting\Documents\Server\gamemodes\NL2.pwn(351) : error 017: undefined symbol "idx" C:\Users\Johan Wenting\Documents\Server\gamemodes\NL2.pwn(352) : error 017: undefined symbol "tmp" C:\Users\Johan Wenting\Documents\Server\gamemodes\NL2.pwn(357) : error 017: undefined symbol "tmp" Reageren
Freaksken Geplaatst: 1 januari 2010 Rapport Geplaatst: 1 januari 2010 Zet gewoon vanboven bij OnPlayerCommandText dit: new idx, tmp[256]; Reageren
Wanted Geplaatst: 1 januari 2010 Rapport Geplaatst: 1 januari 2010 (bewerkt) C:\Users\Johan Wenting\Documents\Server\gamemodes\NL2.pwn(351) : error 017: undefined symbol "tmp" C:\Users\Johan Wenting\Documents\Server\gamemodes\NL2.pwn(351) : error 017: undefined symbol "idx" C:\Users\Johan Wenting\Documents\Server\gamemodes\NL2.pwn(352) : error 017: undefined symbol "tmp" C:\Users\Johan Wenting\Documents\Server\gamemodes\NL2.pwn(357) : error 017: undefined symbol "tmp" Zet bovenaan OnPlayerCommandText: new tmp[128], idx; EDIT: Whoops, had de reactie hierboven niet gezien. :$ Bewerkt: 1 januari 2010 door Wanted Reageren
Johannetje2 Geplaatst: 1 januari 2010 Auteur Rapport Geplaatst: 1 januari 2010 C:\Users\Johan Wenting\Documents\Server\gamemodes\NL2.pwn(351) : error 017: undefined symbol "tmp" C:\Users\Johan Wenting\Documents\Server\gamemodes\NL2.pwn(351) : error 017: undefined symbol "idx" C:\Users\Johan Wenting\Documents\Server\gamemodes\NL2.pwn(352) : error 017: undefined symbol "tmp" C:\Users\Johan Wenting\Documents\Server\gamemodes\NL2.pwn(357) : error 017: undefined symbol "tmp" Zet bovenaan OnPlayerCommandText: new tmp[128], idx; EDIT: Whoops, had de reactie hierboven niet gezien. :$ Stel je heet ingame killer dan welk id ik ook intyp, er staat altijd: "Hallo, killer" En waar zijn die getallen voor: new tmp[128], idx; Reageren
Wanted Geplaatst: 1 januari 2010 Rapport Geplaatst: 1 januari 2010 (bewerkt) Stel je heet ingame killer dan welk id ik ook intyp, er staat altijd: "Hallo, killer" Dat komt waarschijnlijk doordat je een ID hebt ingevoerd van een speler die niet online was. Vervang je command in dit om een melding te krijgen als je een verkeerd ID hebt ingevoerd. if(strcmp(cmdtext, "/hallo", true)) { new giveplayerid, pName[MAX_PLAYER_NAME], string[50]; tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, 0xFF0000AA, "Gebruik: /hallo [id]"); return 1; } giveplayerid = strval(tmp); if(!IsPlayerConnected(giveplayerid)) { SendClientMessage(playerid, 0xFF0000AA, "Deze speler is niet online!"); return 1; } GetPlayerName(giveplayerid, pName, sizeof(pName)); format(string, sizeof(string), "Hallo, %s", pName); SendClientMessageToAll(0xFFFFFFAA, string); return 1; } En waar zijn die getallen voor: new tmp[128], idx; Dat is hoeveel karakters de zin maximaal kan hebben. Een command kan maximaal 128 tekens lang zijn, dus vandaar dat daar 128 staat. Bewerkt: 1 januari 2010 door Wanted Reageren
Johannetje2 Geplaatst: 1 januari 2010 Auteur Rapport Geplaatst: 1 januari 2010 Stel je heet ingame killer dan welk id ik ook intyp, er staat altijd: "Hallo, killer" Dat komt waarschijnlijk doordat je een ID hebt ingevoerd van een speler die niet online was. Vervang je command in dit om een melding te krijgen als je een verkeerd ID hebt ingevoerd. if(strcmp(cmdtext, "/hallo", true)) { new giveplayerid, pName[MAX_PLAYER_NAME], string[50]; tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, 0xFF0000AA, "Gebruik: /hallo [id]"); return 1; } giveplayerid = strval(tmp); if(!IsPlayerConnected(giveplayerid)) { SendClientMessage(playerid, 0xFF0000AA, "Deze speler is niet online!"); return 1; } GetPlayerName(giveplayerid, pName, sizeof(pName)); format(string, sizeof(string), "Hallo, %s", pName); SendClientMessageToAll(0xFFFFFFAA, string); return 1; } En waar zijn die getallen voor: new tmp[128], idx; Dat is hoeveel karakters de zin maximaal kan hebben. Een command kan maximaal 128 tekens lang zijn, dus vandaar dat daar 128 staat. Ik kreeg weer die error en heb: new tmp[128], idx; er neergezet, maar nogsteeds een error: C:\Users\Johan Wenting\Documents\Server\gamemodes\NL2.pwn(352) : error 047: array sizes do not match, or destination array is too small Reageren
GTAguillaume Geplaatst: 1 januari 2010 Rapport Geplaatst: 1 januari 2010 Ik heb new tmp[256] staan, ik denk dat het anders errors geeft. Reageren
Johannetje2 Geplaatst: 1 januari 2010 Auteur Rapport Geplaatst: 1 januari 2010 Als ik die met 128 heb dan krijg ik dit: C:\Users\Johan Wenting\Documents\Server\gamemodes\NL2.pwn(352) : error 047: array sizes do not match, or destination array is too small En als ik die van 256 heb dan krijg ik bij elk id: Hallo, killer Reageren
GTAguillaume Geplaatst: 1 januari 2010 Rapport Geplaatst: 1 januari 2010 (bewerkt) cmd = strtok(cmdtext, idx); dit gans vanvoor aan OnPlayerCommand en dan: if(strcmp(cmdtext, "/hallo", true)) Vervangen door: if(strcmp(cmd, "/hallo", true)) Bewerkt: 1 januari 2010 door GTAguillaume Reageren
Johannetje2 Geplaatst: 1 januari 2010 Auteur Rapport Geplaatst: 1 januari 2010 Ja, hallo mensen! Geef me nou eens die goede code!! Iedereen zegt steeds weer iets anders dan moet dat getal 128 zijn en dan 256 en dan de commando regel aanpassen!? Ik zit heel die gamemode hier te *********! Dit heb ik nou: if(strcmp(cmd, "/hallo", true)) { new giveplayerid, pName[MAX_PLAYER_NAME], string[50]; new idx, tmp[256]; cmd = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, 0xFF0000AA, "Gebruik: /hallo [id]"); return 1; } giveplayerid = strval(tmp); if(!IsPlayerConnected(giveplayerid)) { SendClientMessage(playerid, 0xFF0000AA, "Deze speler is niet online!"); return 1; } GetPlayerName(giveplayerid, pName, sizeof(pName)); format(string, sizeof(string), "Hallo, %s", pName); SendClientMessageToAll(0xFFFFFFAA, string); return 1; } Reageren
GTAguillaume Geplaatst: 1 januari 2010 Rapport Geplaatst: 1 januari 2010 (bewerkt) Dat ziet er nogtans op het eerste gezicht goed uit, maar wat is nu eigelijk het probleem?? EDIT: new idx, cmd[256]; cmd = strtok(cmdtext, idx); Dit moet gangs vanvoor aan OnPlayerCommand staan en tmp = strtok(cmdtext, idx); moet onder if(strcmp(cmd, "/hallo", true)) { staan... Bewerkt: 1 januari 2010 door GTAguillaume Reageren
Johannetje2 Geplaatst: 1 januari 2010 Auteur Rapport Geplaatst: 1 januari 2010 C:\Users\Johan Wenting\Documents\Server\gamemodes\NL2.pwn(350) : error 017: undefined symbol "cmd" C:\Users\Johan Wenting\Documents\Server\gamemodes\NL2.pwn(354) : error 017: undefined symbol "cmd" En als het getal 256 is, ookal vul ik dit in: /hallo 100000000000 dan staat er nogsteeds: Hallo, killer Reageren
Wanted Geplaatst: 1 januari 2010 Rapport Geplaatst: 1 januari 2010 Aha, fout gevonden. if(strcmp(cmd, "/hallo", true)) { new giveplayerid, pName[MAX_PLAYER_NAME], string[50]; new idx, tmp[256]; tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, 0xFF0000AA, "Gebruik: /hallo [id]"); return 1; } giveplayerid = strval(tmp); if(!IsPlayerConnected(giveplayerid)) { SendClientMessage(playerid, 0xFF0000AA, "Deze speler is niet online!"); return 1; } GetPlayerName(giveplayerid, pName, sizeof(pName)); format(string, sizeof(string), "Hallo, %s", pName); SendClientMessageToAll(0xFFFFFFAA, string); return 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.