Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //ZiPoNz guide for strrest & strtok.
- #include <a_samp>
- public OnPlayerCommandText(playerid, cmdtext[])
- {
- new cmd[128], idx;
- cmd = strtok(cmdtext, idx);
- if(!strcmp(cmd, "/hello", true))
- {
- cmd = strtok(cmdtext, idx);
- if(!strlen(cmd)) return SendClientMessage(playerid, 0xFFFFFF00, "Please write the PlayerID that you want to say Hello!");
- if(!IsPlayerConnected(strval(cmd))) return SendClientMessage(playerid, 0xFFFFFF00, "The player isn't connected.");
- SendClientMessage(strval(cmd), 0xFFFFFF00, "Someone said you Hello!");
- return true;
- }
- if(!strcmp(cmd, "/kick", true))
- {
- new reason[256], message[256], Name[24];
- cmd = strtok(cmdtext, idx);
- if(!strlen(cmd)) return SendClientMessage(playerid, 0xFFFFFF00, "Please write the PlayerID that you want to kick!");
- if(!IsPlayerConnected(strval(cmd))) return SendClientMessage(playerid, 0xFFFFFF00, "The player isn't connected.");
- reason = strrest(cmdtext, idx);
- if(!strlen(reason)) return SendClientMessage(playerid, 0xFFFFFF00, "Please write the reason.");
- GetPlayerName(strval(cmd), Name, 24);
- format(message, 256, "The player %s[%d] kicked from the server, reason: %s.", Name, strval(cmd));
- SendClientMessageToAll(0xFFFFFF00, message);
- Kick(strval(cmd));
- return true;
- }
- return false;
- }
- strtok(const string[], &index)
- {
- new length = strlen(string);
- while ((index < length) && (string[index] <= ' ')) index++;
- new offset = index, result[20];
- while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
- {
- result[index - offset] = string[index];
- index++;
- }
- result[index - offset] = EOS;
- return result;
- }
- stock strrest(const string[], &index)
- {
- new length = strlen(string);
- while ((index < length) && (string[index] <= ' '))
- {
- index++;
- }
- new offset = index;
- new result[128];
- while ((index < length) && ((index - offset) < (sizeof(result) - 1)))
- {
- result[index - offset] = string[index];
- index++;
- }
- result[index - offset] = EOS;
- return result;
- }
Advertisement
Add Comment
Please, Sign In to add comment