Asta am in ladmin ce are legatura cu 3DText AddHouse(houseid, Float:iconX, Float:iconY, Float:iconZ, Float:interiorX, Float:interiorY, Float:interiorZ, Costa, Sella, Interiora, virtualworld)
{
new house[256];
format(house, sizeof(house), "Houses/houseid%d",houseid);
if(!dini_Exists(house))
{
dini_Create(house);
format(hInfo[houseid][Name], 24, "ForSale");
dini_Set(house, "Name", "ForSale");
format(hInfo[houseid][Renter], 24, "ForRent");
dini_Set(house, "Renter", "ForRent");
hInfo[houseid][Rentable] = 0;
dini_IntSet(house, "Rentable", 0);
hInfo[houseid][Rentcost] = 0;
dini_IntSet(house, "Rentcost", 0);
hInfo[houseid][Cost] = Costa;
dini_IntSet(house, "Cost", Costa);
hInfo[houseid][Sell] = Sella;
dini_IntSet(house, "Sell", Sella);
hInfo[houseid][Interior2] = Interiora;
dini_IntSet(house, "Interior", Interiora);
dini_IntSet(house, "Virtualworld", virtualworld);
hInfo[houseid][Virtualworld] = virtualworld;
hInfo[houseid][Locked] = 1;
dini_IntSet(house, "Locked", 1);
hInfo[houseid][Interior2X] = interiorX;
hInfo[houseid][Interior2Y] = interiorY;
hInfo[houseid][Interior2Z] = interiorZ;
dini_FloatSet(house, "X", interiorX);
dini_FloatSet(house, "Y", interiorY);
dini_FloatSet(house, "Z", interiorZ);
dini_IntSet(house, "RentPay", 0);
dini_IntSet(house, "RentGet", 0);
print("-");
print("--------------House Created--------------");
printf("- Houseid: %d", houseid);
printf("- Buy Cost: %d", Costa);
printf("- Sell Cost: %d", Sella);
printf("- Interior: %d", Interiora);
printf("- VirtualWorld: %d", virtualworld);
print("-----------------------------------------");
print("-");
}
else
{
format(hInfo[houseid][Name], 24, dini_Get(house, "Name"));
format(hInfo[houseid][Renter], 24, dini_Get(house, "Renter"));
hInfo[houseid][Rentable] = dini_Int(house, "Rentable");
hInfo[houseid][Rentcost] = dini_Int(house, "Rentcost");
hInfo[houseid][Cost] = dini_Int(house, "Cost");
hInfo[houseid][Sell] = dini_Int(house, "Sell");
hInfo[houseid][Interior2] = dini_Int(house, "Interior");
hInfo[houseid][Locked] = dini_Int(house, "Locked");
hInfo[houseid][Interior2X] = dini_Float(house, "X");
hInfo[houseid][Interior2Y] = dini_Float(house, "Y");
hInfo[houseid][Interior2Z] = dini_Float(house, "Z");
hInfo[houseid][Virtualworld] = dini_Int(house, "Virtualworld");
}
hInfo[houseid][iconx]=iconX;
hInfo[houseid][icony]=iconY;
hInfo[houseid][iconz]=iconZ;
format(house, sizeof(house), "Houses/houseid%d",houseid);
if(strcmp(hInfo[houseid][Name],"ForSale",true)==0)
{
HousePickup[houseid] = CreatePickup(19135, 23, iconX, iconY, iconZ);//not bought
}
else
{
HousePickup[houseid] = CreatePickup(19135,23, iconX, iconY, iconZ);//bought
}
new string[256];
format(string, 256, "Proprietar: {FFAF00}%s\n{FFFFFF}Cost: {00C0FF}%i", hInfo[houseid][Name],hInfo[houseid][Cost]);
hInfo[houseid][house3d] = CreateDynamic3DTextLabel(string,0xFFFFFFFF,iconX, iconY, iconZ,250.0);
}
BUY & SELL
dcmd_sell(playerid, params[])
{
if(PlayerInfo[playerid][LoggedIn] == 0) return SendClientMessage(playerid,red,"ERROR: You must be logged in to use this commands");
#pragma unused params
new str[255],str1[256],pname[24],housenumber;
housenumber = GetHouseID(playerid);
GetPlayerName(playerid, pname, 24);
format(str1, sizeof(str1), "Houses/houseid%d", housenumber);
if (strcmp(hInfo[housenumber][Name],pname,false || IsPlayerAdmin(playerid))) return SendClientMessage(playerid, c_r, "This house is not yours!");
SendClientMessage(playerid, c_y, "You sold the house!");
format(str, sizeof(str), "%s He left home with id %d",pname,housenumber);
print(str);
GivePlayerMoney(playerid, hInfo[housenumber][Sell]);
dini_Set(str1, "Name", "ForSale");
hInfo[housenumber][Locked] = dini_IntSet(str1,"Locked",1);
format(hInfo[housenumber][Name],255,"ForSale");
format(str1, sizeof(str1), "Houses/Users/%s", udb_encode(pname));
if (!dini_Exists(str1)) dini_Create(str1);
dini_IntSet(str1, "Houseid", -255);
format(str1, 256, "Proprietar: {FFAF00}For Sale\n{FFFFFF}Cost: {00C0FF}%i", hInfo[housenumber][Cost]);
Update3DTextLabelText(hInfo[housenumber][house3d],0xFFFFFFFF,str1);
DestroyPickup(HousePickup[housenumber]);
HousePickup[housenumber] = CreatePickup(19135, 23, hInfo[housenumber][iconx], hInfo[housenumber][icony], hInfo[housenumber][iconz]);
RemovePlayerMapIcon(playerid, housemapicon[playerid]);
return 1;
}
dcmd_buy(playerid, params[])
{
#pragma unused params
new str[255],str1[255],pname[24], housenumber;
housenumber = GetHouseID(playerid);
if(housenumber == -1) return SendClientMessage(playerid, c_r, "There are not house icon!");
GetPlayerName(playerid, pname, 24);
format(str1, sizeof(str1), "Houses/Users/%s", udb_encode(pname));
if(dini_Exists(str1))
{
if (dini_Int(str1, "Houseid")!=-255) return SendClientMessage(playerid, c_r, "You have a house! /sell to let old house!");
}
format(str1, sizeof(str1), "Houses/houseid%d", housenumber);
if (strcmp(hInfo[housenumber][Name],"ForSale",true)) return SendClientMessage(playerid, c_r, "This house is already bought!");
if(GetPlayerScore(playerid)<hInfo[housenumber][Cost]) return SendClientMessage(playerid, c_r, "Do not have enough Score!");
SendClientMessage(playerid, c_y, "You bought this house!");
format(str, sizeof(str), "%s bought the house with id 0",pname);
print(str);
SetPlayerScore(playerid,GetPlayerScore(playerid)-hInfo[housenumber][Cost]);
dini_Set(str1, "Name", pname);
hInfo[housenumber][Name]=pname;
hInfo[housenumber][Locked] = dini_IntSet(str1,"Incuiat",0);
format(str1, sizeof(str1), "Houses/Users/%s", udb_encode(pname));
if (!dini_Exists(str1)) dini_Create(str1);
new Float:sy, Float:sx, Float:sz;
dini_IntSet(str1, "Houseid", housenumber);
if(!dini_Isset(str1,"Rentid"))
{
dini_IntSet(str1, "Rentid", -255);
}
GetPlayerPos(playerid, sx,sy,sz);
dini_FloatSet(str1, "SpawnX", sx);
dini_FloatSet(str1, "SpawnY", sy);
dini_FloatSet(str1, "SpawnZ", sz);
dini_IntSet(str1, "SpawnInt", GetPlayerInterior(playerid));
new string[ 256 ];
format(string, 256, "Proprietar: {FFAF00}%s\n{FFFFFF}Cost: {00C0FF}%i", hInfo[housenumber][Name],hInfo[housenumber][Cost]);
Update3DTextLabelText(hInfo[housenumber][house3d],0xFFFFFFFF,string);
DestroyPickup(HousePickup[housenumber]);
HousePickup[housenumber] = CreatePickup(19135, 23, hInfo[housenumber][iconx], hInfo[housenumber][icony], hInfo[housenumber][iconz]);
return 1;
} iar la inceput la enum HouseInfo am " Text3D:house3d " atat am... si cand dau /buy nu se schimba Text3d-ul.. si lafel si la /sell.