· 6 years ago · Nov 16, 2019, 02:04 AM
1/*
2
3
4
5 FilterScript Sistema de casas C-Casas.
6 Criado por Cleyson Stein - StNN
7
8 Não retire os créditos.
9 Todos os direitos reservados. 02/05/2018*
10
11
12
13*/
14
15
16#include <a_samp>
17#include <pawn.cmd>
18#include <sscanf2>
19#include <streamer>
20
21enum
22{
23 MAX_CASAS = 100, // Maximo de casas
24
25 VERMELHO = 0xFF000FFF,
26 CINZA = 0xCECECEFF,
27 LARANJA = 0xF97804FF
28};
29
30enum pInfo
31{
32 Nome[24],
33 TemCasa,
34 EntrouCasa
35};
36new p[MAX_PLAYERS][pInfo];
37
38enum cInfo
39{
40 cDono[24],
41 Float:cX,
42 Float:cY,
43 Float:cZ,
44 cTemDono,
45 cTrancada,
46 cIcone,
47 cPickup,
48 cInt,
49 Text3D:cText,
50 cPreco
51};
52new c[MAX_CASAS][cInfo], TOTALCASA;
53
54
55// interiores casas
56enum inter
57{
58 Float:iX,
59 Float:iY,
60 Float:iZ,
61 Float:iA,
62 iID
63}
64
65new interior[][inter] =
66{
67 {2196.84, -1204.36, 1049.02, 94.0010, 6},
68 {2259.38, -1135.89, 1050.64, 275.3992, 10},
69 {2282.99, -1140.28, 1050.89, 358.4660, 11},
70 {2233.69, -1115.26, 1050.88, 358.4660, 5},
71 {2218.39, -1076.21, 1050.48, 95.2635, 1},
72 {2496.00, -1692.08, 1014.74, 177.8159, 3},
73 {2365.25, -1135.58, 1050.88, 359.0367, 8},
74 {2317.77, -1026.76, 1050.21, 359.0367, 9},
75 {2324.41, -1149.54, 1050.71, 359.0367, 12},
76 {1260.6603, -785.4005, 1091.9063, 270.9891, 5},
77 {140.28, 1365.92, 1083.85, 9.6901, 5}
78};
79
80// sqlite
81new DB:Database;
82
83
84
85public OnFilterScriptInit()
86{
87 print("\n-------------------------------------");
88 print("Sistema C-casas carregado com sucesso.");
89 print(" Criado por Cleyson Stein - StNN.");
90 print(" Todos os direitos reservados.");
91 print("-------------------------------------\n");
92
93 ConectarDB();
94 CarregarCasas();
95 EnableStuntBonusForAll(0);
96 DisableInteriorEnterExits();
97 return 1;
98}
99
100public OnFilterScriptExit()
101{
102 db_close(Database);
103
104 for(new i = 0; i < MAX_CASAS; ++i)
105 {
106 DestroyDynamicPickup(c[i][cPickup]);
107 DestroyDynamicMapIcon(c[i][cIcone]);
108 DestroyDynamic3DTextLabel(c[i][cText]);
109 }
110 return 1;
111}
112
113public OnPlayerConnect(playerid)
114{
115 GetPlayerName(playerid, p[playerid][Nome], 24);
116 CarregarDadosPlayer(playerid);
117 return 1;
118}
119
120public OnPlayerDisconnect(playerid, reason)
121{
122 if(p[playerid][TemCasa] > 0) SalvarDadosPlayer(playerid);
123 return 1;
124}
125
126
127
128
129
130// ============= COMMANDS ADMIN
131CMD:acasa(playerid)
132{
133 if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, VERMELHO, "Comando restrito a administradores.");
134
135 new String_COMANDOS[220]; //
136 format(String_COMANDOS, sizeof String_COMANDOS, "");
137
138 strcat(String_COMANDOS, "{009900}ADMIN C-CASAS\n\n");
139 strcat(String_COMANDOS, "{CECECE}/criarcasa {FFFFFF}- Criar uma casa.\n");
140 strcat(String_COMANDOS, "{CECECE}/editarcasa {FFFFFF}- Editar uma casa.\n");
141 strcat(String_COMANDOS, "{CECECE}/deletarcasa {FFFFFF}- Deletar casa.\n");
142 strcat(String_COMANDOS, "{CECECE}/ircasa {FFFFFF}- Ir a uma casa.\n");
143
144 ShowPlayerDialog(playerid, 9545, DIALOG_STYLE_MSGBOX, "Comandos Admin C-Casas", String_COMANDOS, "Ok", "");
145 return 1;
146}
147
148CMD:criarcasa(playerid, params[])
149{
150 if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, VERMELHO, "Comando restrito a administradores.");
151 if(sscanf(params, "ii", params[0], params[1])) return SendClientMessage(playerid, CINZA, "Use /criarcasa [preco] [int 0a10]");
152
153 Criar_Casa(playerid, TOTALCASA+1, params[0], params[1]);
154 return 1;
155}
156
157CMD:ircasa(playerid, params[])
158{
159 if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, VERMELHO, "Comando restrito a administradores.");
160 if(sscanf(params, "i", params[0])) return SendClientMessage(playerid, CINZA, "Use /ircasa [id]");
161
162 Ir_Casa(playerid, params[0]);
163 return 1;
164}
165
166CMD:editarcasa(playerid, params[])
167{
168 if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, VERMELHO, "Comando restrito a administradores.");
169 if(sscanf(params, "iii", params[0], params[1], params[2])) return SendClientMessage(playerid, CINZA, "Use /editarcasa [id] [preco] [int 0a10]");
170
171 Editar_Casa(playerid, params[0], params[1], params[2]);
172 return 1;
173}
174
175CMD:deletarcasa(playerid, params[])
176{
177 if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, VERMELHO, "Comando restrito a administradores.");
178 if(sscanf(params, "i", params[0])) return SendClientMessage(playerid, CINZA, "Use /deletarcasa [id]");
179
180 Deletar_Casa(playerid, params[0]);
181 return 1;
182}
183
184
185
186
187
188
189// ================= COMMANDS PLAYERS
190
191/*CMD:dinheiro(playerid)
192{
193 GivePlayerMoney(playerid, 500000);
194 return 1;
195}
196*/
197
198CMD:comprarcasa(playerid)
199{
200 for(new i = 0; i < MAX_CASAS; i++)
201 {
202 if(IsPlayerInRangeOfPoint(playerid, 1, c[i][cX], c[i][cY], c[i][cZ]))
203 {
204 if(p[playerid][TemCasa] > 0) return SendClientMessage(playerid, VERMELHO, "Você ja possue uma casa.");
205 if(c[i][cTemDono] == 1) return SendClientMessage(playerid, VERMELHO, "Essa casa ja possue dono.");
206 if(GetPlayerMoney(playerid) < c[i][cPreco]) return SendClientMessage(playerid, VERMELHO, "Dinheiro insuficiente.");
207
208 format(c[i][cDono], 24, p[playerid][Nome]);
209 c[i][cTemDono] = 1;
210 p[playerid][TemCasa] = i;
211 SendClientMessage(playerid, LARANJA, "Casa adiquirida com sucesso.");
212 GivePlayerMoney(playerid, -c[i][cPreco]);
213
214 DestroyDynamicPickup(c[i][cPickup]);
215 DestroyDynamicMapIcon(c[i][cIcone]);
216 DestroyDynamic3DTextLabel(c[i][cText]);
217
218 new texto[200];
219 c[i][cIcone] = CreateDynamicMapIcon(c[i][cX], c[i][cY], c[i][cZ], 32, -1);
220 c[i][cPickup] = CreateDynamicPickup(19522, 21, c[i][cX], c[i][cY], c[i][cZ]);//1272
221
222 format(texto, sizeof(texto), "{B22222}CASA ID: {FFFFFF}%d\n{CD5C5C}Dono: {FFFFFF}%s\n{CD5C5C}Preço: {FFFFFF}$ %d{CD5C5C}\n/ajudacasa", i, c[i][cDono], c[i][cPreco]);
223 c[i][cText] = CreateDynamic3DTextLabel(texto, 0xFFFFFFAA, c[i][cX], c[i][cY], c[i][cZ]+1, 20);
224
225 new Query[80];
226 format(Query, sizeof(Query), "UPDATE CASAS SET DONO ='%s', TEMDONO = 1 WHERE ID =%d", c[i][cDono], i);
227 db_query(Database, Query);
228 break;
229 }
230 }
231 return 1;
232}
233
234CMD:vendercasa(playerid)
235{
236 for(new i = 0; i < MAX_CASAS; i++)
237 {
238 if(IsPlayerInRangeOfPoint(playerid, 1, c[i][cX], c[i][cY], c[i][cZ]))
239 {
240 if(p[playerid][TemCasa] == 0) return SendClientMessage(playerid, VERMELHO, "Você não possue uma casa.");
241 if(c[i][cTemDono] == 0) return SendClientMessage(playerid, VERMELHO, "Essa casa não possue dono.");
242 if(p[playerid][TemCasa] == i)
243 {
244 SendClientMessage(playerid, LARANJA, "Casa vendida com sucesso.");
245 GivePlayerMoney(playerid, c[i][cPreco]/2);
246 format(c[i][cDono], 24, "Nenhum");
247 c[i][cTemDono] = 0;
248 p[playerid][TemCasa] = 0;
249
250 DestroyDynamicPickup(c[i][cPickup]);
251 DestroyDynamicMapIcon(c[i][cIcone]);
252 DestroyDynamic3DTextLabel(c[i][cText]);
253
254 new texto[200];
255 c[i][cIcone] = CreateDynamicMapIcon(c[i][cX], c[i][cY], c[i][cZ], 31, -1);
256 c[i][cPickup] = CreateDynamicPickup(1273, 21, c[i][cX], c[i][cY], c[i][cZ]);
257
258 format(texto, sizeof(texto), "{2E8B57}CASA ID: {FFFFFF}%d\n{3CB371}Dono: {FFFFFF}%s\n{3CB371}Preço: {FFFFFF}$ %d\n{3CB371}Aperte 'F' para entrar\n/ajudacasa", i, c[i][cDono], c[i][cPreco]);
259 c[i][cText] = CreateDynamic3DTextLabel(texto, 0xFFFFFFAA, c[i][cX], c[i][cY], c[i][cZ]+1, 20);
260
261 new Query[80];
262 format(Query, sizeof(Query), "UPDATE CASAS SET DONO ='%s', TEMDONO = 0 WHERE ID =%d", c[i][cDono], i);
263 db_query(Database, Query);
264 break;
265
266 } else {
267
268 SendClientMessage(playerid, VERMELHO, "Essa casa não é sua.");
269 return 1;
270 }
271 }
272 }
273 return 1;
274}
275
276CMD:trancar(playerid)
277{
278 for(new i = 0; i < MAX_CASAS; i++)
279 {
280 if(IsPlayerInRangeOfPoint(playerid, 1, c[i][cX], c[i][cY], c[i][cZ]))
281 {
282 if(p[playerid][TemCasa] == 0) return SendClientMessage(playerid, VERMELHO, "Você não possue uma casa.");
283 if(c[i][cTemDono] == 0) return SendClientMessage(playerid, VERMELHO, "Essa casa não possue dono.");
284 if(p[playerid][TemCasa] == i)
285 {
286 new Query[80];
287 if(c[i][cTrancada] == 0)
288 {
289 SendClientMessage(playerid, LARANJA, "Casa trancada.");
290 c[i][cTrancada] = 1;
291
292 format(Query, sizeof(Query), "UPDATE CASAS SET TRANCADA = 1 WHERE ID =%d", i);
293 db_query(Database, Query);
294 break;
295
296 } else {
297
298 SendClientMessage(playerid, LARANJA, "Casa destrancada.");
299 c[i][cTrancada] = 0;
300
301 format(Query, sizeof(Query), "UPDATE CASAS SET TRANCADA = 0 WHERE ID =%d", i);
302 db_query(Database, Query);
303 break;
304 }
305 } else {
306
307 SendClientMessage(playerid, VERMELHO, "Essa casa não é sua.");
308 return 1;
309 }
310 }
311 }
312 return 1;
313}
314
315CMD:ajudacasa(playerid)
316{
317 ShowPlayerDialog(playerid, 9595, DIALOG_STYLE_MSGBOX, "Ajuda C-Casas","{009900}CASAS\n\n{CECECE}/comprarcasa {FFFFFF}- Comprar uma casa.\n{CECECE}/vendercasa {FFFFFF}- Vender sua casa.\n{CECECE}/trancar {FFFFFF}- trancar | destrancar casa.\n", "Ok", "");
318 return 1;
319}
320
321
322
323
324
325
326public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
327{
328 if(newkeys == KEY_SECONDARY_ATTACK) // TECLA F
329 {
330 for(new x = 0; x < MAX_CASAS; x++)
331 {
332 if(IsPlayerInRangeOfPoint(playerid, 1, c[x][cX], c[x][cY], c[x][cZ]))
333 {
334 if(c[x][cTemDono] == 0)
335 {
336 SetPlayerPos(playerid, interior[c[x][cInt]][iX], interior[c[x][cInt]][iY], interior[c[x][cInt]][iZ]);
337 SetPlayerFacingAngle(playerid, interior[c[x][cInt]][iA]);
338 SetPlayerInterior(playerid, interior[c[x][cInt]][iID]);
339 p[playerid][EntrouCasa] = x;
340
341 SendClientMessage(playerid, LARANJA, "Casa a venda! Para comprar use /comprarcasa no pickup de fora. Use 'N' para sair.");
342 break;
343
344 }
345
346 if(c[x][cTemDono] == 1)
347 {
348 if(c[x][cTrancada] == 1 && p[playerid][TemCasa] != x) return SendClientMessage(playerid, VERMELHO, "Casa trancada.");
349
350 if(p[playerid][TemCasa] == x)
351 {
352 SetPlayerPos(playerid, interior[c[x][cInt]][iX], interior[c[x][cInt]][iY], interior[c[x][cInt]][iZ]);
353 SetPlayerFacingAngle(playerid, interior[c[x][cInt]][iA]);
354 SetPlayerInterior(playerid, interior[c[x][cInt]][iID]);
355 p[playerid][EntrouCasa] = x;
356
357 SendClientMessage(playerid, LARANJA, "Bem vindo a sua casa. Use 'N' para sair.");
358 break;
359
360 } else {
361
362 SendClientMessage(playerid, VERMELHO, "Essa casa não é sua.");
363 return 1;
364 }
365 }
366 }
367 }
368 }
369
370 if(newkeys == 131072) // TECLA N
371 {
372 if(p[playerid][EntrouCasa] > 0)
373 {
374 SetPlayerPos(playerid, c[p[playerid][EntrouCasa]][cX], c[p[playerid][EntrouCasa]][cY], c[p[playerid][EntrouCasa]][cZ]);
375 SetPlayerInterior(playerid, 0);
376 p[playerid][EntrouCasa] = 0;
377 }
378 }
379 return 1;
380}
381
382
383
384
385
386
387// ============== DATA
388ConectarDB()
389{
390 if((Database = db_open("C-Casas.db")) == DB:0)
391 {
392 SendRconCommand("exit");
393 print("Falha ao se conectar a DataBase SQlite"); // DEBUG
394
395 } else {
396
397 print("Conectado com sucesso a DataBase SQlite."); // DEBUG
398 }
399 //criar a db esta em db.txt
400
401 new Query[280];
402 format(Query, sizeof(Query), "CREATE TABLE IF NOT EXISTS CASAS(ID INTEGER PRIMARY KEY AUTOINCREMENT,\
403 DONO TEXT DEFAULT '',\
404 X FLOAT DEFAULT 0.0,\
405 Y FLOAT DEFAULT 0.0,\
406 Z FLOAT DEFAULT 0.0,\
407 INTERIOR INTEGER DEFAULT 0,\
408 TRANCADA INTEGER DEFAULT 0,\
409 TEMDONO INTEGER DEFAULT 0,\
410 PRECO INTEGER DEFAULT 0)");
411 db_query(Database, Query);
412
413 format(Query, sizeof(Query), "CREATE TABLE IF NOT EXISTS DONOS(ID INTEGER PRIMARY KEY AUTOINCREMENT, NOME TEXT DEFAULT '', CASAID INTEGER DEFAULT 0)");
414 db_query(Database, Query);
415
416 return 1;
417}
418
419CarregarDadosPlayer(playerid)
420{
421 new DBResult:Result, Query[65];
422 format(Query, sizeof(Query), "SELECT * FROM DONOS WHERE NOME = '%s'", p[playerid][Nome]);
423 Result = db_query(Database, Query);
424
425 if(db_num_rows(Result))
426 {
427 p[playerid][TemCasa] = db_get_field_assoc_int(Result, "CASAID");
428
429 } else {
430
431 new Query2[75];
432 format(Query2, sizeof(Query2), "INSERT INTO DONOS (NOME, CASAID) VALUES ('%s', 0)", p[playerid][Nome]);
433 db_query(Database, Query2);
434
435
436 p[playerid][TemCasa] = 0;
437 }
438 db_free_result(Result);
439 return 1;
440}
441
442SalvarDadosPlayer(playerid)
443{
444 new Query[75];
445 format(Query, sizeof(Query), "UPDATE DONOS SET CASAID =%d WHERE NOME ='%s'", p[playerid][TemCasa], p[playerid][Nome]);
446 db_query(Database, Query);
447 return 1;
448}
449
450
451
452
453// ============== INIT
454CarregarCasas()
455{
456 new DBResult:Result, Query[50];
457 for(new i = 0; i < MAX_CASAS; i++)
458 {
459 format(Query, sizeof(Query), "SELECT * FROM CASAS WHERE ID = %d", i);
460 Result = db_query(Database, Query);
461
462 if(db_num_rows(Result))
463 {
464 db_get_field_assoc(Result, "DONO", c[i][cDono], 24);
465
466 c[i][cX] = db_get_field_assoc_float(Result, "X");
467 c[i][cY] = db_get_field_assoc_float(Result, "Y");
468 c[i][cZ] = db_get_field_assoc_float(Result, "Z");
469
470 c[i][cTemDono] = db_get_field_assoc_int(Result, "TEMDONO");
471 c[i][cPreco] = db_get_field_assoc_int(Result, "PRECO");
472 c[i][cInt] = db_get_field_assoc_int(Result, "INTERIOR");
473 c[i][cTrancada] = db_get_field_assoc_int(Result, "TRANCADA");
474 TOTALCASA ++;
475
476 CriarCasa(i);
477 }
478 db_free_result(Result);
479 }
480
481 printf("\nCasas carregadas: %d", TOTALCASA);
482 return 1;
483}
484
485CriarCasa(i)
486{
487 new texto[200];
488 if(c[i][cTemDono] == 0)
489 {
490 c[i][cIcone] = CreateDynamicMapIcon(c[i][cX], c[i][cY], c[i][cZ], 31, -1);
491 c[i][cPickup] = CreateDynamicPickup(1273, 21, c[i][cX], c[i][cY], c[i][cZ]);
492
493 format(texto, sizeof(texto), "{2E8B57}CASA ID: {FFFFFF}%d\n{3CB371}Dono: {FFFFFF}%s\n{3CB371}Preço: {FFFFFF}$ %d\n{3CB371}Aperte 'F' para entrar\n/ajudacasa", i, c[i][cDono], c[i][cPreco]);
494 c[i][cText] = CreateDynamic3DTextLabel(texto, 0xFFFFFFAA, c[i][cX], c[i][cY], c[i][cZ]+1, 20);
495 }
496 else if(c[i][cTemDono] == 1)
497 {
498 c[i][cIcone] = CreateDynamicMapIcon(c[i][cX], c[i][cY], c[i][cZ], 32, -1);
499 c[i][cPickup] = CreateDynamicPickup(19522, 21, c[i][cX], c[i][cY], c[i][cZ]);//1272
500
501 format(texto, sizeof(texto), "{B22222}CASA ID: {FFFFFF}%d\n{CD5C5C}Dono: {FFFFFF}%s\n{CD5C5C}Preço: {FFFFFF}$ %d{CD5C5C}\n/ajudacasa", i, c[i][cDono], c[i][cPreco]);
502 c[i][cText] = CreateDynamic3DTextLabel(texto, 0xFFFFFFAA, c[i][cX], c[i][cY], c[i][cZ]+1, 20);
503 }
504 return 1;
505}
506
507
508
509
510
511
512// ============== ADMIN
513Criar_Casa(playerid, id, preco, inte)
514{
515 new DBResult:Result, Query[160];
516 format(Query, sizeof(Query), "SELECT * FROM CASAS WHERE ID = %d", id);
517 Result = db_query(Database, Query);
518
519 if(db_num_rows(Result))
520 {
521 SendClientMessage(playerid, VERMELHO, "Ocorreu um erro. Esse ID esta em uso.");
522
523 } else {
524
525 new Float:Pos[3];
526 GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);
527
528 format(c[id][cDono], 24, "Nenhum");
529 c[id][cX] = Pos[0];
530 c[id][cY] = Pos[1];
531 c[id][cZ] = Pos[2];
532 c[id][cTemDono] = 0;
533 c[id][cPreco] = preco;
534 c[id][cInt] = inte;
535
536 SendClientMessage(playerid, LARANJA, "Casa criada com sucesso.");
537 CriarCasa(id);
538
539 format(Query, sizeof(Query), "INSERT INTO CASAS(DONO, X, Y, Z, PRECO, INTERIOR) VALUES ('%s', %f, %f, %f, %d, %d)", c[id][cDono], c[id][cX], c[id][cY], c[id][cZ], c[id][cPreco], c[id][cInt]);
540 db_query(Database, Query);
541
542 TOTALCASA ++;
543 }
544 db_free_result(Result);
545 return 1;
546}
547
548Editar_Casa(playerid, id, preco, interi)
549{
550 new DBResult:Result, Query[50];
551 format(Query, sizeof(Query), "SELECT * FROM CASAS WHERE ID = %d", id);
552 Result = db_query(Database, Query);
553
554 if(db_num_rows(Result))
555 {
556 new string[60];
557 format(string, sizeof(string), "Você editou a casa id %d com sucesso!", id);
558 SendClientMessage(playerid, LARANJA, string);
559
560 c[id][cPreco] = preco;
561 c[id][cInt] = interi;
562
563 DestroyDynamicPickup(c[id][cPickup]);
564 DestroyDynamicMapIcon(c[id][cIcone]);
565 DestroyDynamic3DTextLabel(c[id][cText]);
566
567 CriarCasa(id);
568
569 } else {
570
571 SendClientMessage(playerid, VERMELHO, "Ocorreu um erro. Esse ID não existe.");
572 }
573 db_free_result(Result);
574 return 1;
575}
576
577Ir_Casa(playerid, id)
578{
579 new DBResult:Result, Query[50];
580 format(Query, sizeof(Query), "SELECT * FROM CASAS WHERE ID = %d", id);
581 Result = db_query(Database, Query);
582
583 if(db_num_rows(Result))
584 {
585 new string[60];
586 format(string, sizeof(string), "Você foi a casa id %d.", id);
587 SendClientMessage(playerid, LARANJA, string);
588
589 SetPlayerPos(playerid, c[id][cX], c[id][cY], c[id][cZ]);
590 SetPlayerInterior(playerid, 0);
591
592 } else {
593
594 SendClientMessage(playerid, VERMELHO, "Ocorreu um erro. Esse ID não existe.");
595 }
596 db_free_result(Result);
597 return 1;
598}
599
600Deletar_Casa(playerid, id)
601{
602 new DBResult:Result, Query[50];
603 format(Query, sizeof(Query), "SELECT * FROM CASAS WHERE ID = %d", id);
604 Result = db_query(Database, Query);
605
606 if(db_num_rows(Result))
607 {
608 format(Query, sizeof(Query), "DELETE FROM CASAS WHERE ID = %d", id);
609 db_query(Database, Query);
610
611 new string[60];
612 format(string, sizeof(string), "Você excluiu a casa id %d com sucesso!", id);
613 SendClientMessage(playerid, LARANJA, string);
614
615 format(c[id][cDono], 24, "Nenhum");
616 c[id][cX] = -1;
617 c[id][cY] = -1;
618 c[id][cZ] = -1;
619
620 c[id][cTemDono] = -1;
621 c[id][cPreco] = -1;
622 c[id][cInt] = -1;
623 c[id][cTrancada] = -1;
624
625 DestroyDynamicPickup(c[id][cPickup]);
626 DestroyDynamicMapIcon(c[id][cIcone]);
627 DestroyDynamic3DTextLabel(c[id][cText]);
628
629 TOTALCASA --;
630
631 } else {
632
633 SendClientMessage(playerid, VERMELHO, "Ocorreu um erro. Esse ID não existe.");
634 }
635 db_free_result(Result);
636 return 1;
637}