Ich möchte in meinem gm gern mit strings arbeiten da sich dadurch sehr viele nette möglichkeiten ergeben. Um daraus zu lernen habe ich mir hier im forum verschiedenste funktionen mit strok,strget etc angesehen udn testweise auch welche in meinem gm übernommen bevor ich anfange selbst welche zu machen.
Aber das problem ist das ich immer meldungen bekomme wie zb "strok undefined symbol" etc.....
Was muss ich tun um strok nutzen zu können bzw wie definiere ich es ? Zb hatte ich mir eine ganz simple kick funktion überlegt.....in diesem bespiel würde ich mich selbst kicken, würde ich an stelle von playerid eine id reinschreiben würde die eingegebene id gekickt werden wenn ich richtig liege. Wie kann ich es nun machen das anstelle von playerid die eingegebene id gekickt wird zb. /kick 11 ? Daher die eingebene zahl müsste vom script eingelesen werden und an dies stelle gesetzt werden wenn jemand den befehl eingibt.
if (strcmp("/kick", cmdtext, true, 10) == 0)
{
if(IsPlayerConnected(playerid))
{
if(gTeam[playerid] == TEAM_ADMIN)
{
Kick(playerid);
}
else
{
SendClientMessage(playerid,COLOR_ROT, "Du Bist Kein Admin !");
}
return 1;
}}
Wenn jemand eine einfachere lösung hat bin ich natürlich auch nicht abgeneigt^^
P.S Habe schon die sufu benutzt und verschiedenste kick funktionen angesehen, hat mich aber nicht weitergebracht.............
EDIT 1
Habe es nun so gemacht
if (strcmp("/kick", cmdtext, true, 10) == 0)//setze Armor auf 0
{
if(IsPlayerConnected(playerid))
{
if(gTeam[playerid] == TEAM_ADMIN)
{
new giveplayer = strval(strget(cmdtext, 1));
Kick(giveplayer);
}
else
{
SendClientMessage(playerid,COLOR_ROT, "Du Bist Kein Admin !");
}
return 1;
}}
aber
"undefined symbol "strget""
EDIT 2
Ok hat sich erledigt, hab es nun hinbekommen strget zu definieren
public OnPlayerExitedMenu(playerid)
{
return 1;
}
stock strget(strx[], pos, search = ' ') {
new arg, ret[128], idxx;
for (new i = 0; i < strlen(strx); i++) {
if(strx[i] == search i == strlen(strx) strx[i + 1] == 10) {
arg++;
if (arg == pos + 1){
ret[i-idxx] = EOS;
return ret;
} else if (arg == pos)
idxx= i+1;
}
else if (arg == pos)
ret[i - idxx] = strx[i];
}
return ret;
}