wenn mode 2 zeichen halten soll, muss das array mind. 3 zeichen gross sein, weil small null-terminierte strings benutzt. ausserdem produziert diese variante AMX runtime errors. strings für benutzereingaben sollten immer die länge MAX_DATA_LENGTH haben
Code:
public admin_chgtm(HLCommand,HLData,HLUserName,UserIndex) {
new Data[MAX_DATA_LENGTH];
new User[MAX_NAME_LENGTH];
convert_string(HLData,Data,MAX_DATA_LENGTH);
strsplit(Data, " ",User,MAX_NAME_LENGTH,Data, MAX_DATA_LENGTH);
if(check_user(User)) {
get_username(User,User,MAX_NAME_LENGTH);
if(check_immunity(User)) {
snprintf(Data,MAX_DATA_LENGTH,"Laf. You can't move %s onto another team, you silly bear.",User);
selfmessage(Data);
} else {
if (!strcmp(Data,"t1")) {
execclient(User,"jointeamone");
} else if (!strcmp(Data,"t2")) {
execclient(User,"jointeamtwo");
} else if (!strcmp(Data,"rr")) {
execclient(User,"readyroom");
} else {
selfmessage("Unrecognized team:");
selfmessage(Data);
}
}
} else {
selfmessage("Unrecognized player: ");
selfmessage(User);
}
return PLUGIN_HANDLED;
}
und ja, mir ist klar, dass die indentations nicht stimmen, aber ich habs auch hier im forum geschrieben