June 21, 200818 yr Kan iemand mij hier mee helpen ik probeer dus een command te maken /setlevel [id] [level] maar hoe werkt dat ik heb hier al gekeken en op wiki en op sa-mp.com maar ik snap er nog niks van kan iemand mij uitleggen hoe strtok werkt?
June 21, 200818 yr Ik hoop dat je Engels kunt. Want dit is een hele duidelijke tutorial: Strtok tutorial!
June 22, 200818 yr Ik hoop dat je Engels kunt.Want dit is een hele duidelijke tutorial: Strtok tutorial! Error: File Not Found
June 22, 200818 yr Ik hoop dat je Engels kunt.Want dit is een hele duidelijke tutorial: Strtok tutorial! Error: File Not Found http://streetplaya.hopto.org/SAMP_Wiki/wik...g_strcmp().html
June 23, 200818 yr Je kunt geen Engels zeker. Nou ik zal het even uitleggen. Ga naar de public OnPlayerCommandText(playerid, cmdtext[]) regel. Zet dit onder de eerste { : new cmd[30]; new idx; cmd = strtok(cmdtext, idx); Dan zet je daaronder je cmd bijv dit: if(strcmp(cmd, "/sayhello", true) == 0) Daar zet je dit onder. { new tmp[30]; tmp = strtok(cmdtext, idx); new anderespeler = strval(tmp); En dan zet je eronder } return 1; } return 0; } Dan krijg je dit: public OnPlayerCommandText(playerid, cmdtext[]) { new cmd[30]; new idx; cmd = strtok(cmdtext, idx); if(strcmp(cmd, "/sayhello", true) == 0) { new tmp[30]; tmp = strtok(cmdtext, idx); new anderespeler = strval(tmp); //Hier is nu otherplayer de speler van het id wat iemand in //het spel achter /sayhello zet. En playerid degene die /sayhello in typt. //Hier kun je dus iets gaan doen met otherplayer en playerid return 1; } return 0; } Ik hoop dat je het nu snapt. En voor de duidelijkheid nog even een voorbeeld om iemand anders te vermoorden d.m.v. een cmd: By =>Sandra<=: public OnPlayerCommandText(playerid, cmdtext[]) { new cmd[30]; new idx; cmd = strtok(cmdtext, idx); if(strcmp(cmd, "/kill", true) == 0) { new tmp[30]; tmp = strtok(cmdtext, idx); new anderespeler = strval(tmp); new pname[MAX_PLAYER_NAME], aname[MAX_PLAYER_NAME]; GetPlayerName(playerid, pname, sizeof(pname)); GetPlayerName(anderespeler, aname, sizeof(aname)); if(IsPlayerConnected(anderespeler)) { new string[128], SetPlayerHealth(anderespeler, 0); format(string, sizeof(string), "%s has killed you!", pname); SendClientMessage(anderespeler, 0xE21D2CFF, string); format(string, sizeof(string), "You've killed %s!", aname); SendClientMessage(playerid, 0xE21D2CFF, string); format(string, sizeof(string), "%s has killed %s!", pname, aname); SendClientMessageToAll(0xE21D2CFF, string); } else { SendClientMessage(playerid, 0xFF0000AA, "This player is not online!"); } return 1; } return 0; } Edited June 24, 200818 yr by Juwayri
June 23, 200818 yr Hier de code van hierboven, alleen dan zonder foutjes zover ik kon zien public OnPlayerCommandText(playerid, cmdtext[]) { new cmd[30]; new idx; cmd = strtok(cmdtext, idx); if(strcmp(cmd, "/kill", true) == 0) { new tmp[30]; tmp = strtok(cmdtext, idx); new anderespeler = strval(tmp); new pname[MAX_PLAYER_NAME], aname[MAX_PLAYER_NAME]; GetPlayerName(playerid, pname, sizeof(pname)); GetPlayerName(anderespeler, aname, sizeof(aname)); if(IsPlayerConnected(anderespeler)) { new string[128], SetPlayerHealth(anderespeler, 0); format(string, sizeof(string), "%s has killed you!", pname); SendClientMessage(anderespeler, 0xE21D2CFF, string); format(string, sizeof(string), "You've killed %s!", aname); SendClientMessage(playerid, 0xE21D2CFF, string); format(string, sizeof(string), "%s has killed %s!", pname, aname); SendClientMessageToAll(0xE21D2CFF, string); } else { SendClientMessage(playerid, 0xFF0000AA, "This player is not online!"); } return 1; } return 0; }
June 24, 200818 yr Oeps, ik heb hem ook maar even snel in elkaar gezet en niet getest en dan maak je wel eens foutjes. Ik zal het meteen aanpassen.
June 27, 200818 yr Author ik kan wel engels maar ik heb daar niks aan want ik wil zo'n command /setlevel (id) (level) en niet allen /heal {id}
June 27, 200818 yr ik kan wel engels maar ik heb daar niks aan want ik wil zo'n command /setlevel (id) (level) en niet allen /heal {id} Ik weet niet zeker hoor. Maar dan moet je geloof ik strok 2x gebruiken en dan moet je de variablen een andere naam geven.
Kan iemand mij hier mee helpen ik probeer dus een command te maken /setlevel [id] [level]
maar hoe werkt dat ik heb hier al gekeken en op wiki en op sa-mp.com maar ik snap er nog niks van kan iemand mij uitleggen hoe strtok werkt?