Hallo,
wollte ein Haus System scripten, naja ich habs versucht, das was funktioniert bis jetzt ist, der Checkpoint, das Map-Icon und die Dini Datei sowie die dazugehörigen Sachen in diese einzutragen. Nun wollte ich aber eine forward erstellen mit der man am Haus spawnt, was relativ daneben ging...vielleicht ist mein ganzer Code ja Murx ^^, hoffe auf Hilfe:
public CreateHouse(houseid,Float:x,Float:y,Float:z,Float:intx,Float:inty,Float:intz,interior,virtualworld,minscore,minmoney) //interior und minimalerscore sowie money noch nicht verwendet...
{
CreateCheckpoint(Float:x,Float:y,Float:z,0,2,20,1);
CreateMapIcon(31,0,Float:x,Float:y,Float:z);
new string[128];
format(string,128,"/Users/Haeuser/%d.txt",houseid);
if(dini_Exists(string))
{
//nothing
}
else
{
dini_Create(string);
}
new string4[48];
format(string4,48,"%d",houseid);
dini_Set(string,"Houseid",string4);
dini_FloatSet(string,"Float_X",Float:x);
dini_FloatSet(string,"Float_Y",Float:y);
dini_FloatSet(string,"Float_Z",Float:z);
new string2[48];
format(string,48,"%f,%f,%f",Float:intx,Float:inty,Float:intz);
dini_Set(string,"InteriorFloat",string2);
if(dini_Int(string,"Owned") == 0)
{
dini_IntSet(string,"Owned",0);
CreateMapIcon(31,0,Float:x,Float:y,Float:z);
}
else
{
CreateMapIcon(32,0,Float:x,Float:y,Float:z);
//nothing
}
}
Das funktioniert soweit, aber das nicht:
forward SetPlayerHousePos(playerid);
public SetPlayerHousePos(playerid)
{
new houseid;
GetPlayerHouse(playerid,houseid);
new string[128];
new Float:X, Float:Y, Float:Z;
format(string,128,"/Users/Haeuser/%d.txt",houseid);
X = dini_Float(string,"Float_X");
Y = dini_Float(string,"Float_Y");
Z = dini_Float(string,"Float_Z");
SetPlayerPos(playerid,X+3,Y,Z);
}
forward GetPlayerHouse(playerid,houseid);
public GetPlayerHouse(playerid,houseid)
{
if(PlayerData[playerid][HausID] <= 0)
{
return false;
}
else
{
houseid = PlayerData[playerid][HausID];
return houseid;
}
}