Hier wird gekauft:
COMMAND:hauskaufen(playerid)
{
if(Spieler[playerid][Eingeloggt] == 0) return SendClientMessage(playerid,ROT,"Du bist nicht Eingeloggt!");
if(Spieler[playerid][pAFK] == 1)return SendClientMessage(playerid,WRONGCMD,"Du bist AFK. Benutze /back");
if(Spieler[playerid][pGetazert] == 1) return SendClientMessage(playerid,ROT,"Du bist getazert!");
new uMoney = Spieler[playerid][pGeld], HouseText[275], HouseIText[120];
if(Spieler[playerid][pHouseID] != defaulth && Spieler[playerid][pMieter] != defaulth) return SendClientMessage(playerid,ROT,"Du besitzt schon ein Haus (/hausverkaufen) oder bist in einem Haus eingemietet (/ausmieten)!");
for(new houseID = 0; houseID < MAX_HOUSE; houseID++)
{
if(IsPlayerInRangeOfPoint(playerid,5.0,HouseInfo[houseID][hPos][0],HouseInfo[houseID][hPos][1],HouseInfo[houseID][hPos][2]))
{
if(HouseInfo[houseID][hSell] == 1) return SendClientMessage(playerid,ROT,"Dieses Haus kannst du nicht kaufen!");
if(uMoney < HouseInfo[houseID][hPrice]) return SendClientMessage(playerid,ROT,"Dieses Haus kannst du dir nicht leisten!");
if(Spieler[playerid][pLevel] < HouseInfo[houseID][hLevel]) return SendClientMessage(playerid,ROT,"Dein Level ist zu niedrig!");
format( HouseInfo[houseID][hOwner], 35, "%s", Spieler[playerid][pName]);
HouseInfo[houseID][hSell] = 1;
HouseInfo[houseID][hMietPreis] = 500;
Delete3DTextLabel(HouseInfo[houseID][hText]);
format(HouseText,sizeof(HouseText),""#HTML_LOGIN"HausID: %i\n"#HTML_LOGIN"Hausbesitzer: "#HTML_WHITE"%s\n"#HTML_LOGIN"Mietpreis: "#HTML_WHITE"%i$\n"#HTML_LOGIN"Mieter:"#HTML_WHITE"%i/%i\n"#HTML_LOGIN"Müll:"#HTML_WHITE"%d\n\nUm dich einzumieten benutze /einmieten"#HTML_WHITE" ein!\nZum Betreten 'F'", HouseInfo[houseID][hID], HouseInfo[houseID][hOwner], HouseInfo[houseID][hMietPreis], HouseInfo[houseID][hRentcount], HouseInfo[houseID][hMaxRent], HouseInfo[houseID][hMuell]);
HouseInfo[houseID][hText] = Create3DTextLabel(HouseText, WEISS, HouseInfo[houseID][hPos][0], HouseInfo[houseID][hPos][1], HouseInfo[houseID][hPos][2], 10, 0);
DestroyDynamicPickup(HouseInfo[houseID][hPickup]);
HouseInfo[houseID][hPickup] = CreateDynamicPickup(1272, 1, HouseInfo[houseID][hPos][0], HouseInfo[houseID][hPos][1], HouseInfo[houseID][hPos][2],0);
Spieler[playerid][pHouseID] = houseID;
ACMoney(playerid, -HouseInfo[houseID][hPrice]);
ERTextHide(playerid);
format(HouseIText,sizeof(HouseIText),"Haus gekauft:~n~ID:%d~n~Name:%s~n~Preis:%d",HouseInfo[houseID][hID], HouseInfo[houseID][hOwner], HouseInfo[houseID][hPrice]);
ERText(playerid,HouseIText,5000);
SaveHouse(houseID);
}
}
return true;
}
Hier wird es Createt:
stock CreateHouse(playerid, price, level, uID, slot, Float:x , Float:y , Float:z)
{
new query[750], HouseText[300], HouseIText[120];
for(new i=0;i<MAX_HOUSE;i++)
{
if(HouseInfo[i][hPos][0] == 0 ||HouseInfo[i][hPos][1] == 0 || HouseInfo[i][hPos][2] == 0)
{
if(HouseInfo[i][hcreate] == 0)
{
if(uID == defaulth)
{
HouseInfo[i][hPos][0] = x;
HouseInfo[i][hPos][1] = y;
HouseInfo[i][hPos][2] = z;
HouseInfo[i][hLevel] = level;
HouseInfo[i][hPrice] = price;
HouseInfo[i][hLocked] = 1;
HouseInfo[i][hcreate] = 1;
HouseInfo[i][hRent] = 0;
HouseInfo[i][hSell] = 0;
HouseInfo[i][hRentcount] = 0;
format( HouseInfo[i][hOwner], 35, "Niemand");
HouseInfo[i][hiPos][0] = 244.411987;
HouseInfo[i][hiPos][1] = 305.032989;
HouseInfo[i][hiPos][2] = 999.148437;
HouseInfo[i][hvWorld] = GetRandomWorld();
HouseInfo[i][hint] = 1;
HouseInfo[i][hMuell] = 0;
HouseInfo[i][hID] = i;
HouseInfo[i][hMuell] = 0;
HouseInfo[i][hMaxRent] = slot;
HouseInfo[i][hiPickup] = CreateDynamicPickup(1273,1,HouseInfo[i][hiPos][0], HouseInfo[i][hiPos][1], HouseInfo[i][hiPos][2], HouseInfo[i][hvWorld], HouseInfo[i][hint]);
HouseInfo[i][hPickup] = CreateDynamicPickup(1273,1, HouseInfo[i][hPos][0], HouseInfo[i][hPos][1], HouseInfo[i][hPos][2],0);
format(HouseText,sizeof(HouseText),""#HTML_LOGIN"HausID: "#HTML_WHITE"%i\n"#HTML_LOGIN"Preis: "#HTML_WHITE"%i$ \n"#HTML_LOGIN"Level: "#HTML_WHITE"%d\n"#HTML_LOGIN"Müll: "#HTML_WHITE"%d\n"#HTML_WHITE"Haus steht zum "#HTML_GREEN"Verkauf \n"#HTML_WHITE"/hauskaufen",i, HouseInfo[i][hPrice], HouseInfo[i][hLevel], HouseInfo[i][hMuell]);
HouseInfo[i][hText] = Create3DTextLabel(HouseText, WEISS, HouseInfo[i][hPos][0], HouseInfo[i][hPos][1], HouseInfo[i][hPos][2], 10, 0 );
format(HouseIText,sizeof(HouseIText),"Haus erstellt:~n~ID:%d~n~Preis:%d~n~Level:%d",i, HouseInfo[i][hPrice], HouseInfo[i][hLevel]);
ERText(playerid,HouseIText,5000);
format(query,sizeof(query),"INSERT INTO "#DATENBANK"_hauser (`hcreate`,`hID`,`Owner`,`Sell`,`Rent`,`Price`,`Locked`,`Rentcount`,`MaxRentcount`,`Posx`,`Posy`,`Posz`,`Posix`,`Posiy`,`Posiz`,`vworld`,`hint`,`hLevel`,`Bank`,`Muell`,`waterprice`,`stromprice`,`heizprice`,`Mietpreis`) VALUES ('1','%d','Niemand','0','0','%d','1','0','%d','%f','%f','%f','%f','%f','%f','%d','1','%d','0','0','%d','%d','%d','500')",
i,HouseInfo[i][hPrice],slot,x,y,z,HouseInfo[i][hiPos][0],HouseInfo[i][hiPos][1],HouseInfo[i][hiPos][2],HouseInfo[i][hvWorld],level,BusinessInfo[11][WasserKosten],
BusinessInfo[5][StromKosten],BusinessInfo[12][GasKosten]);
mysql_function_query(MYSQLVerbindung,query,false,"","");
SaveHouse(i);
return 1;
}
else
{
if(IsPlayerConnected(uID))
{
if(uID != INVALID_PLAYER_ID || !IsPlayerNPC(uID))
{
if(Spieler[uID][pHouseID] == defaulth)
{
format( HouseInfo[i][hOwner], 35, "%s", Spieler[uID][pName]);
HouseInfo[i][hPos][0] = x;
HouseInfo[i][hPos][1] = y;
HouseInfo[i][hPos][2] = z;
HouseInfo[i][hRent] = 0;
HouseInfo[i][hSell] = 1;
HouseInfo[i][hcreate] = 1;
HouseInfo[i][hLevel] = level;
HouseInfo[i][hPrice] = price;
HouseInfo[i][hLocked] = 1;
HouseInfo[i][hiPos][0] = 244.411987;
HouseInfo[i][hiPos][1] = 305.032989;
HouseInfo[i][hiPos][2] = 999.148437;
HouseInfo[i][hvWorld] = GetRandomWorld();
HouseInfo[i][hint] = 1;
HouseInfo[i][hMuell] = 0;
HouseInfo[i][hiPickup] = CreateDynamicPickup(1272,1,HouseInfo[i][hiPos][0], HouseInfo[i][hiPos][1], HouseInfo[i][hiPos][2], HouseInfo[i][hvWorld], HouseInfo[i][hint]);
format(HouseText,sizeof(HouseText),""#HTML_LOGIN"HausID: %i\n"#HTML_LOGIN"Hausbesitzer: "#HTML_WHITE"%s\n"#HTML_LOGIN"Mietpreis: "#HTML_WHITE"%i$\n"#HTML_LOGIN"Müll: "#HTML_WHITE"%d\n"#HTML_LOGIN"Mieter: "#HTML_WHITE"%i/%i\n\nUm dich einzumieten benutze /einmieten"#HTML_WHITE"\nZum Betreten 'F'", i, HouseInfo[i][hOwner], HouseInfo[i][hMietPreis], HouseInfo[i][hRentcount], HouseInfo[i][hMaxRent], HouseInfo[i][hMuell]);
HouseInfo[i][hText] = Create3DTextLabel(HouseText, WEISS, HouseInfo[i][hPos][0], HouseInfo[i][hPos][1], HouseInfo[i][hPos][2], 10, 0);
HouseInfo[i][hPickup] = CreateDynamicPickup(1272, 1, HouseInfo[i][hPos][0], HouseInfo[i][hPos][1], HouseInfo[i][hPos][2], 0);
HouseInfo[i][hID] = i;
Spieler[uID][pHouseID] = i;
ACMoney(uID, -HouseInfo[i][hPrice]);
HouseInfo[i][hMaxRent] = slot;
format(HouseIText,sizeof(HouseIText),"Haus erstellt:~n~ID:%d~n~Name:%s~n~Preis:%d~n~Level:%d",i, HouseInfo[i][hOwner], HouseInfo[i][hPrice], HouseInfo[i][hLevel]);
ERText(playerid,HouseIText,5000);
format(query,sizeof(query),"INSERT INTO "#DATENBANK"_hauser (`hcreate`,`hID`,`Owner`,`Sell`,`Rent`,`Price`,`Locked`,`Rentcount`,`MaxRentcount`,`Posx`,`Posy`,`Posz`,`Posix`,`Posiy`,`Posiz`,`vworld`,`hint`,`hLevel`,`Bank`,`Muell`,`waterprice`,`stromprice`,`heizprice`,`Mietpreis`) VALUES ('1','%d','%s','0','0','%d','1','0','%d','%f','%f','%f','%f','%f','%f','%d','1','%d','0','0','%d','%d','%d','500')",
i,Spieler[uID][pName],HouseInfo[i][hPrice],slot,x,y,z,HouseInfo[i][hiPos][0],HouseInfo[i][hiPos][1],HouseInfo[i][hiPos][2],HouseInfo[i][hvWorld],level,BusinessInfo[11][WasserKosten],
BusinessInfo[5][StromKosten],BusinessInfo[12][GasKosten]);
mysql_function_query(MYSQLVerbindung,query,false,"","");
SaveHouse(i);
return 1;
}else return SendClientMessage(playerid,ROT,"Dieser Spieler hat schon ein Haus!");
}else return SendClientMessage(playerid,ROT,"Unbekannte Spieler ID!");
}else return SendClientMessage(playerid,ROT,"Dieser Spieler ist nicht Online!");
}
}
}
}
return 1;
}
Gespeichert:
stock SaveHouse(sid)
{
new query[500];
format(query,sizeof(query),"UPDATE "#DATENBANK"_hauser SET Owner = '%s', Sell='%d', Rent='%d', Price='%d', Locked='%d', Rentcount='%d', MaxRentcount = '%d', Posx='%f', Posy='%f', Posz='%f', Posix='%f', Posiy='%f', Posiz='%f', hLevel='%d', vworld='%d', hint='%d', Bank='%d', Muell='%d', waterprice='%d', stromprice='%d', heizprice='%d' , Mietpreis ='%d', Upgrade1 = '%d', Upgrade2 = '%d' WHERE hID = '%d'",
HouseInfo[sid][hOwner], HouseInfo[sid][hSell], HouseInfo[sid][hRent], HouseInfo[sid][hPrice], HouseInfo[sid][hLocked], HouseInfo[sid][hRentcount], HouseInfo[sid][hMaxRent], HouseInfo[sid][hPos][0], HouseInfo[sid][hPos][1], HouseInfo[sid][hPos][2], HouseInfo[sid][hiPos][0], HouseInfo[sid][hiPos][1],
HouseInfo[sid][hiPos][2], HouseInfo[sid][hLevel], HouseInfo[sid][hvWorld], HouseInfo[sid][hint], HouseInfo[sid][hBank], HouseInfo[sid][hMuell],HouseInfo[sid][hWaterprice],HouseInfo[sid][hStromprice], HouseInfo[sid][hHeizprice], HouseInfo[sid][hMietPreis],
HouseInfo[sid][hUpgrade][0],HouseInfo[sid][hUpgrade][1],HouseInfo[sid][hID]);
mysql_function_query(MYSQLVerbindung,query,false,"","");
}