· 6 years ago · Jul 07, 2019, 08:10 AM
1// de pus la inceputu gmului
2new furnitureid = 1;
3new furnitureedit[MAX_PLAYERS];
4enum furnitureInfo
5{
6 Float: furnitureX,
7 Float: furnitureZ,
8 Float: furnitureY,
9 Float: furnitureRX,
10 Float: furnitureRY,
11 Float: furnitureRZ,
12 furnitureHouse,
13 furnitureModel,
14 furnitureInterior,
15 furnitureObject,
16 furnitureObject2,
17}
18#define MAX_FURNITURE 20000
19new Furniture[MAX_FURNITURE][furnitureInfo];
20new doorlist[12]={1493,1495,1500,1501,1504,1505,1506,1507,1535,1536,1566,1569};
21
22
23stock ResetPlayerVariables( playerid )
24{
25 furnitureedit[playerid] = 0;
26}
27
28
29
30
31
32////////////////////////////////////////
33public OnPlayerSelectObject(playerid, type, objectid, modelid, Float:fX, Float:fY, Float:fZ)
34{
35 if (furnitureedit[playerid] == 1)
36 {
37 for (new i=0;i<MAX_FURNITURE;i++)
38 {
39 if (Furniture[i][furnitureX] == fX && Furniture[i][furnitureY] == fY && Furniture[i][furnitureZ] == fZ)
40 {
41 DestroyDynamicObject(Furniture[i][furnitureObject2]);
42 new query[1024];
43 format(query, sizeof(query), "DELETE FROM furniture WHERE ID=%d",i);
44 mysql_query(query);
45 Furniture[i][furnitureX]=0;
46 Furniture[i][furnitureY]=0;
47 Furniture[i][furnitureZ]=0;
48 i=MAX_FURNITURE;
49 furnitureedit[playerid] = 0;
50 }
51 }
52 }
53 return 1;
54}
55////////////////////////////////////////////
56public OnPlayerEditObject(playerid, playerobject, objectid, response, Float:fX, Float:fY, Float:fZ, Float:fRotX, Float:fRotY, Float:fRotZ)
57{
58 if(furnitureedit[playerid]!=0)
59 {
60 if(response == EDIT_RESPONSE_FINAL)
61 {
62 Furniture[furnitureedit[playerid]][furnitureX]=fX;
63 Furniture[furnitureedit[playerid]][furnitureY]=fY;
64 Furniture[furnitureedit[playerid]][furnitureZ]=fZ;
65 Furniture[furnitureedit[playerid]][furnitureRX]=fRotX;
66 Furniture[furnitureedit[playerid]][furnitureRY]=fRotY;
67 Furniture[furnitureedit[playerid]][furnitureRZ]=fRotZ;
68 DestroyObject(Furniture[furnitureedit[playerid]][furnitureObject]);
69 new id=furnitureedit[playerid];
70 Furniture[id][furnitureObject2]=CreateDynamicObject(Furniture[id][furnitureModel], Furniture[id][furnitureX], Furniture[id][furnitureY], Furniture[id][furnitureZ], Furniture[id][furnitureRX], Furniture[id][furnitureRY], Furniture[id][furnitureRZ], Furniture[id][furnitureHouse],Furniture[id][furnitureInterior]);
71 SaveFurniture(furnitureedit[playerid]);
72 furnitureedit[playerid]=0;
73 }
74 if(response == EDIT_RESPONSE_CANCEL)
75 {
76 DestroyObject(Furniture[furnitureedit[playerid]][furnitureObject]);
77 new query[1024];
78 format(query, sizeof(query), "DELETE FROM furniture WHERE ID=%d",furnitureedit[playerid]);
79 mysql_query(query);
80 Furniture[furnitureedit[playerid]][furnitureX]=0;
81 Furniture[furnitureedit[playerid]][furnitureY]=0;
82 Furniture[furnitureedit[playerid]][furnitureZ]=0;
83 furnitureedit[playerid]=0;
84 }
85 }
86 if (graffity[playerid] == 1)
87 {
88 if(response == EDIT_RESPONSE_FINAL)
89 {
90 SetObjectPos(objectid, fX, fY, fZ);
91 SetObjectRot(objectid, fRotX, fRotY, fRotZ);
92 graffity[playerid] = 0;
93 }
94 if(response == EDIT_RESPONSE_CANCEL)
95 {
96 DestroyObject(objectid);
97 graffity[playerid] = 0;
98 }
99 }
100
101 return 1;
102}
103//////////////////////////////////////////////////////////////
104public OnPlayerModelSelectionEx(playerid, response, extraid, modelid, selectie)
105{
106 if(extraid == 1700)
107 {
108 if(response)
109 {
110 if (GetPlayerCash(playerid) < 1000)
111 {
112 SendClientMessage(playerid, COLOR_GREY, "Pretul unui obiect este de 1000$, iar tu nu ai destui bani.");
113 return 1;
114 }
115 GivePlayerCash(playerid, -1000);
116 furnitureedit[playerid]=furnitureid;
117 Furniture[furnitureedit[playerid]][furnitureHouse]=GetPlayerVirtualWorld(playerid);
118 Furniture[furnitureedit[playerid]][furnitureInterior]=GetPlayerInterior(playerid);
119 Furniture[furnitureedit[playerid]][furnitureModel]=modelid;
120 GetPlayerPos(playerid,Furniture[furnitureedit[playerid]][furnitureX],Furniture[furnitureedit[playerid]][furnitureY],Furniture[furnitureedit[playerid]][furnitureZ]);
121 Furniture[furnitureedit[playerid]][furnitureX]+=0.5;
122 Furniture[furnitureedit[playerid]][furnitureZ]+=0.5;
123 Furniture[furnitureedit[playerid]][furnitureY]+=0.5;
124 Furniture[furnitureedit[playerid]][furnitureObject] = CreateObject(Furniture[furnitureedit[playerid]][furnitureModel], Furniture[furnitureedit[playerid]][furnitureX], Furniture[furnitureedit[playerid]][furnitureY], Furniture[furnitureedit[playerid]][furnitureZ], Furniture[furnitureedit[playerid]][furnitureRX], Furniture[furnitureedit[playerid]][furnitureRY], Furniture[furnitureedit[playerid]][furnitureRZ]);
125 EditObject(playerid,Furniture[furnitureedit[playerid]][furnitureObject]);
126 new query[1024];
127 format(query, sizeof(query), "INSERT INTO furniture(ID,HouseID,Model,X,Y,Z,RX,RY,RZ,Interior) VALUES (%d,%d,%d,%f,%f,%f,%f,%f,%f,%d)",
128 furnitureedit[playerid],
129 Furniture[furnitureedit[playerid]][furnitureHouse],
130 Furniture[furnitureedit[playerid]][furnitureModel],
131 Furniture[furnitureedit[playerid]][furnitureX],
132 Furniture[furnitureedit[playerid]][furnitureY],
133 Furniture[furnitureedit[playerid]][furnitureZ],
134 Furniture[furnitureedit[playerid]][furnitureRX],
135 Furniture[furnitureedit[playerid]][furnitureRY],
136 Furniture[furnitureedit[playerid]][furnitureRZ],
137 Furniture[furnitureedit[playerid]][furnitureInterior]);
138 mysql_query(query);
139 furnitureid++;
140 }
141 }
142 return 1;
143}
144
145////////////////////////COMENZI/////////////////////////////////////////
146CMD:furniture(playerid, params[])
147 {
148 if(IsPlayerConnected(playerid))
149 {
150 if (furnitureedit[playerid] != 0)
151 {
152 return 1;
153 }
154 if (GetPlayerVirtualWorld(playerid) != PlayerInfo[playerid][pHouseKey])
155 {
156 SendClientMessage(playerid, COLOR_GREY, "Nu esti in casa ta.");
157 return 1;
158 }
159 if (GetPlayerVirtualWorld(playerid) == 0)
160 {
161 SendClientMessage(playerid, COLOR_GREY,"Nu ai o casa.");
162 return 1;
163 }
164 new playername[MAX_PLAYER_NAME];
165 GetPlayerName(playerid, playername, sizeof(playername));
166 if(strcmp(playername, Houses[PlayerInfo[playerid][pHouseKey]][Owner], true) == 0)
167 {
168 if(PlayerToPoint(100.0, playerid, Houses[PlayerInfo[playerid][pHouseKey]][ExitX],Houses[PlayerInfo[playerid][pHouseKey]][ExitY],Houses[PlayerInfo[playerid][pHouseKey]][ExitZ]))
169 {
170 ShowPlayerDialog(playerid, 1223, DIALOG_STYLE_LIST, "Furniture", "Creeaza\nEditeaza\nSterge\nPune usa", "Alege", "Cancel");
171 }
172 }
173 else
174 {
175 SendClientMessage(playerid, COLOR_GREY,"Nu esti proprietarul casei");
176 }
177 }
178 }
179CMD:delfurniture(playerid, params[])
180 {
181 if(IsPlayerConnected(playerid))
182 {
183 if (PlayerInfo[playerid][pAdmin] < 1339)
184 {
185 SendClientMessage(playerid, COLOR_GREY, "Nu esti autorizat sa folosesti aceasta comanda.");
186 return 1;
187 }
188 if (furnitureedit[playerid] != 0)
189 {
190 return 1;
191 }
192 furnitureedit[playerid] = 1;
193 SelectObject(playerid);
194 }
195 }
196////////////////////////////////////////////ONDIALOGRESPONSE/////////////////////////////////////////////////////
197if(dialogid == 1223)
198 {
199 if(response)
200 {
201 switch(listitem)
202 {
203 case 0:
204 {
205 ShowPlayerDialog(playerid,1224,DIALOG_STYLE_INPUT,"ID Obiect","Introdu id-ul obiectului","Ok","Refuza");
206 }
207 case 1:
208 {
209 for (new i=0;i<MAX_FURNITURE;i++)
210 {
211 if (PlayerToPoint(2.0, playerid, Furniture[i][furnitureX], Furniture[i][furnitureY], Furniture[i][furnitureZ]))
212 {
213 if (Furniture[i][furnitureHouse] == GetPlayerVirtualWorld(playerid))
214 {
215 DestroyDynamicObject(Furniture[i][furnitureObject2]);
216 Furniture[i][furnitureObject]=CreateObject(Furniture[i][furnitureModel], Furniture[i][furnitureX], Furniture[i][furnitureY], Furniture[i][furnitureZ], Furniture[i][furnitureRX], Furniture[i][furnitureRY], Furniture[i][furnitureRZ]);
217 EditObject(playerid, Furniture[i][furnitureObject]);
218 furnitureedit[playerid]=i;
219
220 i=MAX_FURNITURE;
221 }
222 }
223 }
224 }
225 case 2:
226 {
227 for (new i=0;i<MAX_FURNITURE;i++)
228 {
229 if (PlayerToPoint(2.0, playerid, Furniture[i][furnitureX], Furniture[i][furnitureY], Furniture[i][furnitureZ]))
230 {
231 if (Furniture[i][furnitureHouse] == GetPlayerVirtualWorld(playerid))
232 {
233 DestroyDynamicObject(Furniture[i][furnitureObject2]);
234 new query[1024];
235 format(query, sizeof(query), "DELETE FROM furniture WHERE ID=%d",i);
236 mysql_query(query);
237 Furniture[i][furnitureX]=0;
238 Furniture[i][furnitureY]=0;
239 Furniture[i][furnitureZ]=0;
240
241 i=MAX_FURNITURE;
242 }
243 }
244 }
245 }
246 case 3:
247 {
248 ShowModelSelectionMenuEx(playerid, doorlist, 12, "Usi", 1700, 0.0, 0.0, -55.0);
249 }
250 }
251 }
252 }
253 if(dialogid == 1224)
254 {
255 if(response)
256 {
257 if (GetPlayerVirtualWorld(playerid) == 0)
258 {
259 SendClientMessage(playerid, COLOR_GREY,"Nu te mai afli in casa ta.");
260 return 1;
261 }
262 if(strval(inputtext) < 1 || strval(inputtext) > 19999)
263 {
264 SendClientMessage(playerid, COLOR_GREY, "ID obiect invalid.");
265 return 1;
266 }
267 if (GetPlayerCash(playerid) < 1000)
268 {
269 SendClientMessage(playerid, COLOR_GREY, "Pretul unui obiect este de 1000$, iar tu nu ai destui bani.");
270 return 1;
271 }
272 GivePlayerCash(playerid, -300);
273 furnitureedit[playerid]=furnitureid;
274 Furniture[furnitureedit[playerid]][furnitureHouse]=GetPlayerVirtualWorld(playerid);
275 Furniture[furnitureedit[playerid]][furnitureInterior]=GetPlayerInterior(playerid);
276 Furniture[furnitureedit[playerid]][furnitureModel]=strval(inputtext);
277 GetPlayerPos(playerid,Furniture[furnitureedit[playerid]][furnitureX],Furniture[furnitureedit[playerid]][furnitureY],Furniture[furnitureedit[playerid]][furnitureZ]);
278 Furniture[furnitureedit[playerid]][furnitureX]+=0.5;
279 Furniture[furnitureedit[playerid]][furnitureZ]+=0.5;
280 Furniture[furnitureedit[playerid]][furnitureY]+=0.5;
281 Furniture[furnitureedit[playerid]][furnitureObject] = CreateObject(Furniture[furnitureedit[playerid]][furnitureModel], Furniture[furnitureedit[playerid]][furnitureX], Furniture[furnitureedit[playerid]][furnitureY], Furniture[furnitureedit[playerid]][furnitureZ], Furniture[furnitureedit[playerid]][furnitureRX], Furniture[furnitureedit[playerid]][furnitureRY], Furniture[furnitureedit[playerid]][furnitureRZ]);
282 EditObject(playerid,Furniture[furnitureedit[playerid]][furnitureObject]);
283 new query[1024];
284 format(query, sizeof(query), "INSERT INTO furniture(ID,HouseID,Model,X,Y,Z,RX,RY,RZ,Interior) VALUES (%d,%d,%d,%f,%f,%f,%f,%f,%f,%d)",
285 furnitureedit[playerid],
286 Furniture[furnitureedit[playerid]][furnitureHouse],
287 Furniture[furnitureedit[playerid]][furnitureModel],
288 Furniture[furnitureedit[playerid]][furnitureX],
289 Furniture[furnitureedit[playerid]][furnitureY],
290 Furniture[furnitureedit[playerid]][furnitureZ],
291 Furniture[furnitureedit[playerid]][furnitureRX],
292 Furniture[furnitureedit[playerid]][furnitureRY],
293 Furniture[furnitureedit[playerid]][furnitureRZ],
294 Furniture[furnitureedit[playerid]][furnitureInterior]);
295 mysql_query(query);
296 furnitureid++;
297 }
298 }
299
300
301
302
303///////////////////////////////////////////TABEL DB///////////////////////////////
304CREATE TABLE IF NOT EXISTS `furniture` (
305 `ID` int(11) NOT NULL,
306 `HouseID` int(11) NOT NULL,
307 `Model` int(11) NOT NULL,
308 `X` float NOT NULL,
309 `Y` float NOT NULL,
310 `Z` float NOT NULL,
311 `RX` float NOT NULL,
312 `RY` float NOT NULL,
313 `RZ` float NOT NULL,
314 `Interior` int(11) NOT NULL,
315 PRIMARY KEY (`ID`)
316) ENGINE=InnoDB DEFAULT CHARSET=latin1;