Hey!
Ich habe in meinem Haussystem eine Funktion die herrausfinden kann ob ein Spieler bereits ein Haus besitzt.
Dies hat bis jetzt auch ganz gut Funktioniert.
Nur wenn man in den Administratoren Dienst geht, bekommt man ein "[IQ]" vor den namen.
Ich habe es gemacht es das es beim /bhouse haus befehl entfernt wird aus dem string.
So wollt ich das nun auch bei der Funktion machen.
stock hasPlayerHouse(playerid){
if(PlayerInfo[playerid][pAduty] && GetPlayerAdmin(playerid) != 0){
GetPlayerName(playerid, string, sizeof string);
strdel(string, 0, 4);
}
for(new x, o = sizeof hInfo; x != o; ++x){
if(!hInfo[x][hID])continue;
if(!strlen(hInfo[x][hBesitzer]))continue;
if(!strcmp(string, hInfo[x][hBesitzer], true))return true;
if((x == o && o == sizeof hInfo))break;
}
return false;
}
Wenn man Aduty geht und /hverwalten eingibt kommt, "unknown command".
Wenn man dann wieder offduty geht und sofort /hverwalten eingibt, funktioniert es 1x.
Gebe ich dann nochmal /hverwalten ein, steht dort "du hast kein haus".
ocmd:hverwalten(playerid){
if(!PlayerInfo[playerid][pEingeloggt])return SendClientMessage(playerid, COLOR_RED, "[Fehler] {FFFFFF}Du kannst diesen Befehl nicht ausführen da du nicht eingeloggt bist.");
if(!hasPlayerHouse(playerid))return SendClientMessage(playerid, COLOR_RED, "[Fehler] {FFFFFF}Du hast kein Haus!");
new x = GetHausIDFromPlayer(playerid);
if(GetPlayerDistanceFromPoint(playerid, hInfo[x][hPos][0], hInfo[x][hPos][1], hInfo[x][hPos][2]) >= 2.1)return SendClientMessage(playerid, COLOR_RED, "[Fehler] {FFFFFF}Du bist nicht nah genug an deinem Haus!");
ShowPlayerMenu(playerid, "haus.verwalten.main");
return 1;
}
stock GetHausIDFromPlayer(playerid){
if(PlayerInfo[playerid][pAduty] && GetPlayerAdmin(playerid) != 0){
GetPlayerName(playerid, string, sizeof string);
strdel(string, 0, 4);
}
for(new x, o = sizeof hInfo; x != o; ++x){
if(!hInfo[x][hID])continue;
if(!strlen(hInfo[x][hBesitzer]))continue;
if(!strcmp(hInfo[x][hBesitzer], GetName(playerid), true))return x;
if((x == o && o == sizeof hInfo))break;
}
return -1;
}
Wäre super wenn mir bei diesem "Problem" behilflich" sein kann!
mfg