Hey
Ich bin grade dabei mein Haussystem zu fixxen , ich kriegs aber iwie nicht hin!
Also mein Problem ist gerade , dass wenn ich /hausverkaufen mache , die Nachricht bekomme "Du besitzt kein Haus!".
ocmd:hausverkaufen(playerid,params[])
{
for(new haus=1;haus<MAX_HAUS;haus++)
{
new Spieler[50];
format(Spieler,50,"/Spieler/%s.txt",PlayerName(playerid));
if(strcmp(HausInfo[haus][haus_besitzer],PlayerName(playerid),false) == 0)
{
new string[256];
format(string,sizeof(string),"Du hast dein Haus für %i$ verkauft.",HausInfo[haus][haus_preis]/2);
SendClientMessage(playerid,Gelb,string);
GivePlayerMoney(playerid,HausInfo[haus][haus_preis]/2);
new Hausstring[50];
format(Hausstring,50,"/haus/%d.txt",haus);
dini_Set(Hausstring,"besitzer","Niemand");
dini_IntSet(Spieler,"Haus",0);
dini_IntSet(Hausstring,"Besetzt",0);
KillHaus(haus);
LoadHaus(haus);
return true;
}
else
{
return SendClientMessage(playerid,Rot,"Du hast kein Haus!");
}
}
return 1;
}
ocmd:hauskaufen(playerid,params[])
{
new bool:NotAtPoint[MAX_PLAYERS]=false;
new bool:HatHaus[MAX_PLAYERS]=false;
for(new haus=1;haus<MAX_HAUS;haus++)
{
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof name);
new Spieler[50];
format(Spieler,50,"/Spieler/%s.txt",name);
if(dini_Int(Spieler,"Haus")==0)
{
if(IsPlayerInRangeOfPoint(playerid,5,HausInfo[haus][haus_x],HausInfo[haus][haus_y],HausInfo[haus][haus_z]))
{
if(strcmp(HausInfo[haus][haus_besitzer],name,false) == 0)return SendClientMessage(playerid,Rot,"Dieses Haus gehört dir bereits!");
if(strcmp(HausInfo[haus][haus_besitzer],"Niemand",false))return SendClientMessage(playerid,Rot,"Dieses Haus steht nicht zum Verkauf!");
// wenn das Haus frei ist dann kaufen:
if(GetPlayerMoney(playerid) < HausInfo[haus][haus_preis])return SendClientMessage(playerid,Rot,"Du hast nicht genug Geld!");
GivePlayerMoney(playerid,-HausInfo[haus][haus_preis]); // Geld abziehen
dini_IntSet(Spieler,"Haus",1);
new Hausstring[50];
format(Hausstring,50,"/haus/%d.txt",haus); // Pfad formatieren
dini_Set(Hausstring,"besitzer",name);
dini_IntSet(Hausstring,"Besetzt",1); // Besitzer überschreiben
SendClientMessage(playerid,Gelb,"Du hast das Haus erfolgreich gekauft!");
KillHaus(haus); // Hauspickup löschen
LoadHaus(haus); // Haus laden
return true;
}
else
{
NotAtPoint[playerid]=true;
}
}
else
{
HatHaus[playerid]=true;
}
}
if(NotAtPoint[playerid])
{
return SendClientMessage(playerid,Rot,"Du bist in keinem Hauspickup!");
}
if(HatHaus[playerid])
{
return SendClientMessage(playerid,Rot,"Du hast bereits ein Haus!");
}
return 1;
}