Hallo Brotifsche
Ich bin heute mit meine Haussystem soweit ferig geworden, nun habe ich das Probelm wenn ich ein Haus mit einem Interior erstelle, was ich davor schonmal irgenwo erstellt habe, komme ich nicht an dem Haus raus, sondern an dem anderen Haus.
Code:
ocmd:chaus(playerid, params[])
{
if(!isAdmin(playerid, 1337))return SendClientMessage(playerid, COLOR_RED, "Dein Adminrang ist zu niedrig.");
new Float:xc, Float:yc, Float:zc;
GetPlayerPos(playerid, xc, yc, zc);
new preis,type,mietpreis,maxmieter;
if(sscanf(params,"iiii",type, preis, mietpreis, maxmieter)) return SendClientMessage(playerid,COLOR_WHITE,"Verwende: /chaus [Typ] [Preis] [Mietpreis] [Max. Mieter]");
new id=getFreeHausID();
hInfo[id][h_x]=xc;
hInfo[id][h_y]=yc;
hInfo[id][h_z]=zc;
hInfo[id][ih_x]=gHausType[type][haus_x];
hInfo[id][ih_y]=gHausType[type][haus_y];
hInfo[id][ih_z]=gHausType[type][haus_z];
hInfo[id][h_interior]=gHausType[type][haus_interior];
format(hInfo[id][h_besitzer],25,"Staat");
hInfo[id][h_preis]=preis;
hInfo[id][h_mietpreis] = mietpreis;
hInfo[id][h_maxmieter] = maxmieter;
updateHaus(id);
//In Datenbank abspeichern
new query[256];
format(query, sizeof(query),
"INSERT INTO houses (h_x, h_y, h_z, ih_x, ih_y, ih_z, h_interior, h_preis, h_mietpreis, h_maxmieter) VALUES ('%f', '%f', '%f', '%f', '%f', '%f', '%i', '%i', '%i', '%i')",
xc, yc, zc ,hInfo[id][ih_x] ,hInfo[id][ih_y] ,hInfo[id][ih_z], hInfo[id][h_interior] ,hInfo[id][h_preis], hInfo[id][h_mietpreis], hInfo[id][h_maxmieter]);
mysql_function_query(dbhandle, query, true, "OnHausCreated", "i", id);
return 1;
}
ocmd:enterexit(playerid,params[])
{
for(new i=0; i<sizeof(hInfo); i++)
{
if(GetPlayerVirtualWorld(playerid)!=i)continue;
if(!IsPlayerInRangeOfPoint(playerid,8,hInfo[i][ih_x],hInfo[i][ih_y],hInfo[i][ih_z]))continue;
SetPlayerPos(playerid, hInfo[i][h_x], hInfo[i][h_y], hInfo[i][h_z]);
SetPlayerInterior(playerid, 0);
SetPlayerVirtualWorld(playerid, 0);
return 1;
}
for(new i=0; i<sizeof(hInfo); i++)
{
if(!hInfo[i][h_id])continue;
if(hInfo[i][ih_x]==0.0)continue;
if(!IsPlayerInRangeOfPoint(playerid,2,hInfo[i][h_x],hInfo[i][h_y],hInfo[i][h_z]))continue;
SetPlayerPos(playerid,hInfo[i][ih_x],hInfo[i][ih_y],hInfo[i][ih_z]);
SetPlayerInterior(playerid,hInfo[i][h_interior]);
SetPlayerVirtualWorld(playerid,i);
if(IsPlayerMieter(playerid,hInfo[i][h_id])) SendClientMessage(playerid,COLOR_GRAY,"Mieter...");
return 1;
}
return 1;
}
Ich hoffe ihr könnt mir helfen
MfG