Advertisement
Guest User

Untitled

a guest
Nov 15th, 2019
130
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 19.58 KB | None | 0 0
  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.  
  21. enum
  22. {
  23. MAX_CASAS = 100, // Maximo de casas
  24.  
  25. VERMELHO = 0xFF000FFF,
  26. CINZA = 0xCECECEFF,
  27. LARANJA = 0xF97804FF
  28. };
  29.  
  30. enum pInfo
  31. {
  32. Nome[24],
  33. TemCasa,
  34. EntrouCasa
  35. };
  36. new p[MAX_PLAYERS][pInfo];
  37.  
  38. enum 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. };
  52. new c[MAX_CASAS][cInfo], TOTALCASA;
  53.  
  54.  
  55. // interiores casas
  56. enum inter
  57. {
  58. Float:iX,
  59. Float:iY,
  60. Float:iZ,
  61. Float:iA,
  62. iID
  63. }
  64.  
  65. new 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
  81. new DB:Database;
  82.  
  83.  
  84.  
  85. public 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.  
  100. public 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.  
  113. public OnPlayerConnect(playerid)
  114. {
  115. GetPlayerName(playerid, p[playerid][Nome], 24);
  116. CarregarDadosPlayer(playerid);
  117. return 1;
  118. }
  119.  
  120. public OnPlayerDisconnect(playerid, reason)
  121. {
  122. if(p[playerid][TemCasa] > 0) SalvarDadosPlayer(playerid);
  123. return 1;
  124. }
  125.  
  126.  
  127.  
  128.  
  129.  
  130. // ============= COMMANDS ADMIN
  131. CMD: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.  
  148. CMD: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.  
  157. CMD: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.  
  166. CMD: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.  
  175. CMD: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.  
  198. CMD: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.  
  234. CMD: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.  
  276. CMD: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.  
  315. CMD: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.  
  326. public 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
  388. ConectarDB()
  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.  
  419. CarregarDadosPlayer(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.  
  442. SalvarDadosPlayer(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
  454. CarregarCasas()
  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.  
  485. CriarCasa(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
  513. Criar_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.  
  548. Editar_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.  
  577. Ir_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.  
  600. Deletar_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. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement