#define MaxRobs 35 // Maximale Anzahl an Häusern
Hat nichts damit zu tun.
Der Fehler war bei der Schleife mitten im Befehl.
Die scheint irgentwie was falsch zu machen.
Habe ein neues Problemchen.
Das System ist so gut wie fertig, nur verträgt mein Haussystem es nicht und reagiert nicht.
if(oldkeys == KEY_SECONDARY_ATTACK)
{
if(gMode[playerid] == MODE_CNR)
{
new i = isPlayerInRangeOfRob(playerid);
if(i == -1) return 1;
if(IsPlayerInRangeOfPoint(playerid, 2.0, Rob[i][PosX], Rob[i][PosY], Rob[i][PosZ]) ) {
SetPlayerPos(playerid, Rob[i][PosXInt], Rob[i][PosYInt], Rob[i][PosZInt]);
SetPlayerVirtualWorld(playerid, Rob[i][HouseVW]);
SetPlayerInterior(playerid, Rob[i][HouseInt]);
PlayerData[playerid][pHouseID] = Rob[i][robID];
GameTextForPlayer(playerid, "/robstore" ,5000, 1);
return 1;
}
if(IsPlayerInRangeOfPoint(playerid, 2.0, Rob[i][PosXInt], Rob[i][PosYInt], Rob[i][PosZInt]) && GetPlayerVirtualWorld(playerid) == Rob[i][HouseVW] && GetPlayerInterior(playerid) == Rob[i][HouseInt]) {
SetPlayerPos(playerid, Rob[i][PosX], Rob[i][PosY], Rob[i][PosZ]);
SetPlayerVirtualWorld(playerid, 0);
SetPlayerInterior(playerid, 0);
PlayerData[playerid][pHouseID] = -1;
Rob[i][InRob] = 0;
return 1;
}
}
else if(gMode[playerid] == MODE_CNR)
{
new x = isPlayerInRangeOfHouse(playerid);
if(x == -1) return 1;
if(IsPlayerInRangeOfPoint(playerid, 2.0, House[x][PosX], House[x][PosY], House[x][PosZ]) ) {
if(HouseInfo[x][HouseDoor] == 1) {
SetPlayerPos(playerid, House[x][PosXInt], House[x][PosYInt], House[x][PosZInt]);
SetPlayerVirtualWorld(playerid, House[x][HouseVW]);
SetPlayerInterior(playerid, House[x][HouseInt]);
PlayerData[playerid][pHouseID] = House[x][HouseID];
} else SendClientMessage(playerid, clBlue, "Das Haus ist abgeschlossen");
return 1;
}
if(IsPlayerInRangeOfPoint(playerid, 2.0, House[x][PosXInt], House[x][PosYInt], House[x][PosZInt]) && GetPlayerVirtualWorld(playerid) == House[x][HouseVW] && GetPlayerInterior(playerid) == House[x][HouseInt]) {
if(HouseInfo[x][HouseDoor] == 1) {
SetPlayerPos(playerid, House[x][PosX], House[x][PosY], House[x][PosZ]);
SetPlayerVirtualWorld(playerid, 0);
SetPlayerInterior(playerid, 0);
PlayerData[playerid][pHouseID] = -1;
} else SendClientMessage(playerid, clBlue, "Das Haus ist abgeschlossen");
return 1;
}
}
return 1;
}
/edit
Erst bei else if(gMode[playerid] == MODE_CNR) regiert es nicht.
Also, ich kann kein Haus betreten