09.04.2019, 12:45
Code:
CMD:createhouse(playerid, params[]) { if(gPlayerLogged[playerid] == 0) return SendClientMessage(playerid, COLOR_LIGHTRED, "You need to log in first."); if(PlayerInfo[playerid][pAdmin] >= 7) { new house[64],Float:pX,Float:pY,Float:pZ,string[128],PropertyString[256],query[500]; if(sscanf(params, "s[64]", house)) return SendClientMessage(playerid, COLOR_GREY, "Syntax:{FFFFFF} /createhouse [exterior/interior/complete]"); if(strcmp(house,"exterior",true) == 0) { GetPlayerPos(playerid, pX, pY, pZ); SetPVarFloat(playerid, "pHeX", pX); SetPVarFloat(playerid, "pHeY", pY); SetPVarFloat(playerid, "pHeZ", pZ); SetPVarInt(playerid, "hExt", 1); SendClientMessage(playerid, COLOR_YELLOW, "House exterior position configured."); } if(strcmp(house,"interior",true) == 0) { GetPlayerPos(playerid, pX, pY, pZ); SetPVarFloat(playerid, "pHiX", pX); SetPVarFloat(playerid, "pHiY", pY); SetPVarFloat(playerid, "pHiZ", pZ); SetPVarInt(playerid, "pHiID", GetPlayerInterior(playerid)); SetPVarInt(playerid, "pHiVW", housess+1); SetPVarInt(playerid, "hInt", 1); SendClientMessage(playerid, COLOR_YELLOW, "House interior position configured."); } if(strcmp(house,"complete",true) == 0) { if(GetPVarInt(playerid, "hExt") != 1 || GetPVarInt(playerid, "hInt") != 1) return SendClientMessage(playerid, COLOR_ERROR, "(Error){FFFFFF} You haven't configured either the house exterior or interior. Creation attempt failed."); new i = housess+1; mysql_format(SQL, query, sizeof(query), "INSERT INTO `houses` (`EnterX`, `EnterY`, `EnterZ`, `Price`) VALUES ('%f', '%f', '%f', '%d')", "x, y, z, price"); mysql_tquery(SQL, query, "", ""); HouseInfo[i][hID] = i; HouseInfo[i][hEntrancex] = GetPVarFloat(playerid, "pHeX"); HouseInfo[i][hEntrancey] = GetPVarFloat(playerid, "pHeY"); HouseInfo[i][hEntrancez] = GetPVarFloat(playerid, "pHeZ"); HouseInfo[i][hExitx] = GetPVarFloat(playerid, "pHiX"); HouseInfo[i][hExity] = GetPVarFloat(playerid, "pHiY"); HouseInfo[i][hExitz] = GetPVarFloat(playerid, "pHiZ"); format(HouseInfo[i][hOwner], 64, "AdmBot"); format(HouseInfo[i][hDiscription], 64, "House"); HouseInfo[i][hValue] = 1000000; HouseInfo[i][hHel] = 0; HouseInfo[i][hMusic] = 0; HouseInfo[i][hInterior] = GetPVarInt(playerid, "pHiID"); HouseInfo[i][hLock] = 0; HouseInfo[i][hOwned] = 1; HouseInfo[i][hRent] = 5; HouseInfo[i][hRentabil] = 1; HouseInfo[i][hTakings] = 0; HouseInfo[i][hLevel] = 10; HouseInfo[i][hVirtual] = GetPVarInt(playerid, "pHiVW"); mysql_format(SQL, query, sizeof(query), "UPDATE `houses` SET `Entrancex`='%f',`Entrancey`='%f',`Entrancez`='%f',`Exitx`='%f',`Exity`='%f',`Exitz`='%f',`Interior`='%d',`Virtual`='%d' WHERE `ID`='%d'", HouseInfo[i][hEntrancex], HouseInfo[i][hEntrancey], HouseInfo[i][hEntrancez], HouseInfo[i][hExitx], HouseInfo[i][hExity], HouseInfo[i][hExitz], HouseInfo[i][hInterior], HouseInfo[i][hVirtual], i); mysql_tquery(SQL, query, "", ""); mysql_format(SQL, query, sizeof(query), "UPDATE `users` SET `House`='%d' WHERE `name`='AdmBot'", i); mysql_tquery(SQL, query, "", ""); DeletePVar(playerid, "pHeX"); DeletePVar(playerid, "pHeY"); DeletePVar(playerid, "pHeZ"); DeletePVar(playerid, "pHiX"); DeletePVar(playerid, "pHeY"); DeletePVar(playerid, "pHeZ"); DeletePVar(playerid, "pHiID"); DeletePVar(playerid, "pHiVW"); DeletePVar(playerid, "pExt"); DeletePVar(playerid, "pInt"); Create3DTextLabel(PropertyString, 0x9C0000F7, HouseInfo[i][hEntrancex], HouseInfo[i][hEntrancey], HouseInfo[i][hEntrancez], 15.0, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 0, -1, -1, -1, 100.0); format(PropertyString, sizeof(PropertyString),"{FFFFFF}House {B40404}%d \n{B40404}This house is for sale(/buyhouse) ! \n{FFFFFF}Description: {B40404}%s \n{FFFFFF}Price: {B40404}$%s \n{FFFFFF}Level: {B40404}%d",i,HouseInfo[i][hDiscription],FormatNumber(HouseInfo[i][hValue]),HouseInfo[i][hLevel]); HouseLabel[i] = Create3DTextLabel(PropertyString, 0x9C0000F7, HouseInfo[i][hEntrancex], HouseInfo[i][hEntrancey], HouseInfo[i][hEntrancez], 15.0, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 0, 0, 0, 0, 100.0); HouseLabel[i] = Create3DTextLabel(PropertyString, 0x008080FF, HouseInfo[i][hEntrancex], HouseInfo[i][hEntrancey], HouseInfo[i][hEntrancez], 40.0, 0, 0); DestroyDynamicPickup(HousePickup[i]); HousePickup[i] = AddStaticPickup(1273, 23, HouseInfo[i][hEntrancex], HouseInfo[i][hEntrancey], HouseInfo[i][hEntrancez]); SetPlayerInterior(playerid, 0); SetPlayerVirtualWorld(playerid, 0); SetPlayerPos(playerid, HouseInfo[i][hEntrancex], HouseInfo[i][hEntrancey], HouseInfo[i][hEntrancez]); housess++; format(string,sizeof(string),"House %d created!",i); SendClientMessage(playerid, COLOR_YELLOW, string); } } else return SendClientMessage(playerid, COLOR_LIGHTGREEN3, AdminOnly); return 1; }
I create the house after the server restart house is deleted!