Guten Tag,
ich habe ein Problem undzwar:
Ich arbeite mit dem Datensystem dini.
Jedoch habe ich keine ahnung wie ich einen Datenwert auf 0 Setzte.
Ich habe den anfang schon gemacht:
ocmd:verkaufen(playerid,params[])
{
for(new haus=1;haus<MAX_HAUS;haus++)
{
if(IsPlayerInRangeOfPoint(playerid,2,HausInfo[haus][haus_x],HausInfo[haus][haus_y],HausInfo[haus][haus_z]))
{
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof name);
if(strcmp(HausInfo[haus][haus_besitzer],name,true) == 0)return SendClientMessage(playerid,COLOR_RED,"Dieses Haus gehört dir nicht!");
KillHaus(haus);
LoadHaus(haus);
}
}
return 1;
}
Nur wie mache ich jetzt das der Besitzer auf Keiner gesetzt wird das man es wieder kaufen kann.
hat da einer einen Paln und will ihn mir verraten ;D
mfg
//edit
Ich habe jetzt ein Stock mit dem namen SellHaus angelegt:
stock SellHaus(besitzer[32])
{
new pfad[50];
for(new haus=1;haus<MAX_HAUS;haus++)
{
format(pfad,50,"/haus/%d.txt",haus);
if(fexist(pfad))
{
dini_Set(pfad,"besitzer",besitzer);
dini_Set(pfad,"besitzer",besitzer);
return LoadHaus(haus);
}
}
return 1;
}
So sieht mein COmmand jetzt aus:
ocmd:verkaufen(playerid,params[])
{
for(new haus=1;haus<MAX_HAUS;haus++)
{
if(IsPlayerInRangeOfPoint(playerid,2,HausInfo[haus][haus_x],HausInfo[haus][haus_y],HausInfo[haus][haus_z]))
{
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof name);
if(strcmp(HausInfo[haus][haus_besitzer],name,false) == 1)return SendClientMessage(playerid,COLOR_RED,"Dieses Haus gehört dir nicht!");
SendClientMessage(playerid,COLOR_GREEN,"Du hast das Haus erfolgreich verkauft!");
GivePlayerMoney(playerid,-HausInfo[haus][haus_preis]);
SellHaus("Keiner");
KillHaus(haus);
LoadHaus(haus);
}
}
return 1;
}
Trotzdem wird der besitzter nicht auf keiner gesetzt also behält der Besitzter sein Haus und kriegt das Geld trotzdem.
Kann mir wer sagen woran das liegt und wie ich das richtig mache?
mfg