Hallo, habe schonmal ein Thema deswegen erstellt aber komme nicht mehr weiter. Ich weiss nicht wo ich die 3dtexte und icons einfügen muss damit sie bei dem Haussystem auch geladen werden. Denn die Icons werden nach restart vom server nicht mehr geladen.
stock LoadHaus(hausid)
{
new inhalt[35],File:f;
format(inhalt,20,"Häuser/Haus %d.ini",hausid);
if(!fexist(inhalt)) return false;
f=fopen(inhalt,io_read);
while(fread(f,inhalt))
{
StripNL(inhalt);
if(strfind(inhalt,"Besitzer: ")!=-1) strdel(inhalt,0,10), format(Haus[hausid][Besitzer],MAX_PLAYER_NAME,inhalt);
else if(strfind(inhalt,"Gekauft: ")!=-1) strdel(inhalt,0,9), Haus[hausid][Gekauft]=(strval(inhalt))?true:false;
else if(strfind(inhalt,"Abgeschlossen: ")!=-1) strdel(inhalt,0,15), Haus[hausid][Abgeschlossen]=(strval(inhalt))?true:false;
else if(strfind(inhalt,"AußenPosX: ")!=-1) strdel(inhalt,0,11), Haus[hausid][Pos][0]=floatstr(inhalt);
else if(strfind(inhalt,"AußenPosY: ")!=-1) strdel(inhalt,0,11), Haus[hausid][Pos][1]=floatstr(inhalt);
else if(strfind(inhalt,"AußenPosZ: ")!=-1) strdel(inhalt,0,11), Haus[hausid][Pos][2]=floatstr(inhalt);
else if(strfind(inhalt,"InnenPosX: ")!=-1) strdel(inhalt,0,11), Haus[hausid][Pos][3]=floatstr(inhalt);
else if(strfind(inhalt,"InnenPosY: ")!=-1) strdel(inhalt,0,11), Haus[hausid][Pos][4]=floatstr(inhalt);
else if(strfind(inhalt,"InnenPosZ: ")!=-1) strdel(inhalt,0,11), Haus[hausid][Pos][5]=floatstr(inhalt);
else if(strfind(inhalt,"Interior: ")!=-1) strdel(inhalt,0,10), Haus[hausid][Int]=strval(inhalt);
else if(strfind(inhalt,"VirtualWorld: ")!=-1) strdel(inhalt,0,14), Haus[hausid][VirtualWorld]=strval(inhalt);
else if(strfind(inhalt,"Preis: ")!=-1) strdel(inhalt,0,7), Haus[hausid][Preis]=strval(inhalt);
}
Haus[hausid][PickupID] = CreatePickup((Haus[hausid][Gekauft])?1239:1273,1,Haus[hausid][Pos][0],Haus[hausid][Pos][1],Haus[hausid][Pos][2]);
fclose(f);
return true;
}
stock SaveHaus(hausid)
{
if(!Haus[hausid][Int]) return false;
new inhalt[35],File:f;
format(inhalt,35,"Häuser/Haus %d.ini",hausid);
f=fopen(inhalt,io_write);
format(inhalt,35,"Besitzer: %s\r\n",Haus[hausid][Besitzer]),fwrite(f,inhalt);
format(inhalt,35,"Gekauft: %d\r\n",Haus[hausid][Gekauft]),fwrite(f,inhalt);
format(inhalt,35,"Abgeschlossen: %d\r\n",Haus[hausid][Abgeschlossen]),fwrite(f,inhalt);
format(inhalt,35,"AußenPosX: %f\r\n",Haus[hausid][Pos][0]),fwrite(f,inhalt);
format(inhalt,35,"AußenPosY: %f\r\n",Haus[hausid][Pos][1]),fwrite(f,inhalt);
format(inhalt,35,"AußenPosZ: %f\r\n",Haus[hausid][Pos][2]),fwrite(f,inhalt);
format(inhalt,35,"InnenPosX: %f\r\n",Haus[hausid][Pos][3]),fwrite(f,inhalt);
format(inhalt,35,"InnenPosY: %f\r\n",Haus[hausid][Pos][4]),fwrite(f,inhalt);
format(inhalt,35,"InnenPosZ: %f\r\n",Haus[hausid][Pos][5]),fwrite(f,inhalt);
format(inhalt,35,"Interior: %d\r\n",Haus[hausid][Int]),fwrite(f,inhalt);
format(inhalt,35,"VirtualWorld: %d\r\n",Haus[hausid][VirtualWorld]),fwrite(f,inhalt);
format(inhalt,35,"Preis: %d\r\n",Haus[hausid][Preis]),fwrite(f,inhalt);
fclose(f);
return true;
}
stock CreateHaus(Owner[],Float:X,Float:Y,Float:Z,Float:iX,Float:iY,Float:iZ,Interior,p)
{
new ID=GetFreeHausID();
if(ID==-1) print("Es sind bereits zuviele Häuser erstellt worden | Lösch zu erst eins");
format(Haus[ID][Besitzer],MAX_PLAYER_NAME,Owner);
Haus[ID][Gekauft]=false;
Haus[ID][Abgeschlossen]=true;
Haus[ID][Pos][0]=X;
Haus[ID][Pos][1]=Y;
Haus[ID][Pos][2]=Z;
Haus[ID][Pos][3]=iX;
Haus[ID][Pos][4]=iY;
Haus[ID][Pos][5]=iZ;
Haus[ID][Int]=Interior;
Haus[ID][Preis]=p;
Haus[ID][VirtualWorld]=GetFreeInteriorVW(Haus[ID][Int]);
Haus[ID][PickupID] = CreatePickup(1273,1,X,Y,Z);
for(new i,j=GetMaxPlayers();i!=j;i++) if(IsPlayerConnected(i)) SetPlayerMapIcon(i,STARTMAPICON+ID,X,Y,Z,31,0xFFFFFFFF);
new string[55];
format(string,55,"Dieses Haus steht zum Verkauf\n\nPreis: %d $",Haus[ID][Preis]);
Haus[ID][Label] = Create3DTextLabel(string,0x33AA33FF,X,Y,Z,100.0,0,1);
return ID;
}
stock DeleteHaus(hausid)
{
strdel(Haus[hausid][Besitzer],0,MAX_PLAYER_NAME);
Haus[hausid][Gekauft]=false;
Haus[hausid][Abgeschlossen]=false;
Haus[hausid][Pos][0]=0;
Haus[hausid][Pos][1]=0;
Haus[hausid][Pos][2]=0;
Haus[hausid][Pos][3]=0;
Haus[hausid][Pos][4]=0;
Haus[hausid][Pos][5]=0;
Haus[hausid][Int]=0;
Haus[hausid][VirtualWorld]=0;
DestroyPickup(Haus[hausid][PickupID]);
Delete3DTextLabel(Haus[hausid][Label]);
for(new i,j=GetMaxPlayers();i!=j;i++) if(IsPlayerConnected(i)) RemovePlayerMapIcon(i,STARTMAPICON+hausid);
new pfad[20];
format(pfad,20,"Häuser/Haus %d.ini",hausid);
fremove(pfad);
return true;
}
public OnFilterScriptInit()
{
for(new i;i!=MAX_HAUSER;i++) LoadHaus(i);
return true;
}
public OnFilterScriptExit()
{
for(new i;i!=MAX_HAUSER;i++) SaveHaus(i);
return true;
}
public OnGameModeExit()
{
for(new i;i!=MAX_HAUSER;i++) SaveHaus(i);
return true;
}
Hoffe jemand kann mir deswegen nochmal helfen.