Re: String gavimas
Posted: 2011 May 11 21:25
strtok dalina stringa i kaire ir i desne nuo pirmo tarpo (nebutinai tarpo), tai pirma dalini i viena name i kita time su reason, o veliau time ir reason atskiri.
Code: Select all
strtok(arg, target, charsmax(target), bantime, charsmax(bantime), ' ')strtok(arg, bantime, charsmax(bantime), reason, charsmax(reason), ' ')
Code: Select all
/* Plugin generated by AMXX-Studio */ #include <amxmodx>#include <amxmisc> #define PLUGIN "Plugin"#define VERSION "1.0"#define AUTHOR "aaarnas" public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_clcmd("say", "clmds")} public clmds(id) { static text[250] read_args(text, charsmax(text)) remove_quotes(text) if(text[0] != '!') return PLUGIN_CONTINUE; new lenght = strlen(text) new param, slot, i new cmd[48], nick[40], ttime[10], reason[128] for(i=0; i<lenght; i++) { if(!text[i]) break; if(text[i] == ' ') { param++; slot = i+1; continue;} switch(param) { case 0: { if(i>charsmax(cmd)) return PLUGIN_HANDLED; cmd[i] = text[i] cmd[i+1] = 0 } case 1: { if(i-slot>charsmax(nick)) return PLUGIN_HANDLED; nick[i-slot] = text[i] nick[i-slot+1] = 0 } case 2: { if(i-slot>charsmax(ttime)) return PLUGIN_HANDLED; ttime[i-slot] = text[i] ttime[i-slot+1] = 0 } case 3: break; } } copy(reason, charsmax(reason), text[i]) /*client_print(id, print_console, cmd) client_print(id, print_console, nick) client_print(id, print_console, ttime) client_print(id, print_console, reason)*/ return PLUGIN_HANDLED;}
Code: Select all
static arg[60] read_argv(1, arg, charsmax(arg)) if(arg[0] != '!') return PLUGIN_CONTINUE; if(equal(arg, "!mute", 5)) { new target[20], mutetime[7], reason[40] replace(arg, charsmax(arg), "!mute ", "") strbreak ( arg, target, sizeof target-1, mutetime, sizeof mutetime-1 ) replace(arg, charsmax(arg), target, "") replace(arg, charsmax(arg), mutetime, "") copy(reason, charsmax(reason), arg) client_print(id, print_console, "^nTarget: %s", target) client_print(id, print_console, "Time: %d", mutetime) client_print(id, print_console, "Reason: %s", reason) return PLUGIN_HANDLED_MAIN; } return PLUGIN_CONTINUE;