Guest User

Untitled

a guest
Jan 11th, 2015
239
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 14.20 KB | None | 0 0
  1. CMD:makehouse(playerid, params[]) {
  2.         if(admin[playerid] < 6) return 0;
  3.         new houseid, type;
  4.         new query[1024];
  5.         new string[80];
  6.         if(sscanf(params,"ii", houseid, type)) {
  7.             SendClientMessage(playerid, -1, "Use: /makehouse [houseid] [type]");
  8.             SendClientMessage(playerid, -1, "types: 1-pequena 2-media 3-grande 4-mansão 5-vip");
  9.             return 1;
  10.         }
  11.         switch( type ) {
  12.             case 1: { // Pequena
  13.                 HouseInfo[houseid][InPosX] = 223.20;
  14.                 HouseInfo[houseid][InPosY] = 1287.08;
  15.                 HouseInfo[houseid][InPosZ] = 1082.14;
  16.                 HouseInfo[houseid][Interior] = 1;
  17.                 HouseInfo[houseid][Price] = 500000;
  18.             }
  19.             case 2: { // media
  20.                 HouseInfo[houseid][InPosX] = 2365.31;
  21.                 HouseInfo[houseid][InPosY] = -1135.60;
  22.                 HouseInfo[houseid][InPosZ] = 1050.88;
  23.                 HouseInfo[houseid][Interior] = 8;
  24.                 HouseInfo[houseid][Price] = 3000000;
  25.             }
  26.             case 3: { // grande
  27.                 HouseInfo[houseid][InPosX] = 446.99;
  28.                 HouseInfo[houseid][InPosY] = 1397.07;
  29.                 HouseInfo[houseid][InPosZ] = 1084.30;
  30.                 HouseInfo[houseid][Interior] = 2;
  31.                 HouseInfo[houseid][Price] = 10000000;
  32.             }
  33.             case 4: { // mansão
  34.                 HouseInfo[houseid][InPosX] = 2196.85;
  35.                 HouseInfo[houseid][InPosY] = -1204.25;
  36.                 HouseInfo[houseid][InPosZ] = 1049.02;
  37.                 HouseInfo[houseid][Interior] = 6;
  38.                 HouseInfo[houseid][Price] = 100000000;
  39.  
  40.             }
  41.             case 5: { // VIP
  42.                 HouseInfo[houseid][InPosX] = 140.17;
  43.                 HouseInfo[houseid][InPosY] = 1366.07;
  44.                 HouseInfo[houseid][InPosZ] = 1083.65;
  45.                 HouseInfo[houseid][Interior] = 5;
  46.                 HouseInfo[houseid][Price] = 3000; // abaixo de 10000 vai ser DP
  47.             }
  48.         }
  49.         HouseInfo[houseid][Owner] = 0;
  50.         HouseInfo[houseid][FHQ] = 0;
  51.         HouseInfo[houseid][ID] = houseid;
  52.         GetPlayerPos(playerid, HouseInfo[houseid][OutPosX], HouseInfo[houseid][OutPosY], HouseInfo[houseid][OutPosZ]);
  53.  
  54.         mysql_format(ConnectMYSQL, query, sizeof(query), "INSERT INTO `houses` (`ID`, `OutPosX`, `OutPosY`, `OutPosZ`, `InPosX`, `InPosY`, `InPosZ`, `World`, `Price`, `Interior`, `Locked`, `Dono`, `FHQ`, `Money`, `Maconha`, `Owner`) VALUES ('%d', '%f', '%f', '%f', '%f', '%f', '%f', '%d', '%d', '%d', '%d', '%s', '%d', '%d', '%d', '%d')"
  55.         ,
  56.             HouseInfo[houseid][ID],
  57.             HouseInfo[houseid][OutPosX],
  58.             HouseInfo[houseid][OutPosY],
  59.             HouseInfo[houseid][OutPosZ],
  60.             HouseInfo[houseid][InPosX],
  61.             HouseInfo[houseid][InPosY],
  62.             HouseInfo[houseid][InPosZ],
  63.             HouseInfo[houseid][World],
  64.             HouseInfo[houseid][Price],
  65.             HouseInfo[houseid][Interior],
  66.             HouseInfo[houseid][Locked],
  67.             HouseInfo[houseid][Dono],
  68.             HouseInfo[houseid][FHQ],
  69.             HouseInfo[houseid][Money],
  70.             HouseInfo[houseid][Maconha],
  71.             HouseInfo[houseid][Owner])
  72.         ;
  73.         mysql_query(ConnectMYSQL,query);
  74.  
  75.         format(string, sizeof(string), "%s criou uma nova casa!", PlayerName(playerid) );
  76.         SendClientMessage(playerid, COLOR_LIGHTRED, string);
  77.         RefreshHouses();
  78.         return 1;
  79.     }
  80.    
  81. //============================================================================================================================================================================
  82.  
  83. // Casas Carregamento / Reload /  Salvamento ~~~~~ salvar casas, criar casas, reload casas
  84.  
  85. CarregarCasas() {
  86.     for(new houseid; houseid < MAX_HOUSES; houseid++)
  87.     {
  88.         new query[50]; // Não precisa ser enorme como você tinha colocado; Precisa apenas caber sua query dentro dela
  89.         mysql_format(ConnectMYSQL, query, sizeof(query), "SELECT * FROM houses WHERE ID = %d", houseid);
  90.         mysql_function_query(ConnectMYSQL, query, true, "Carregar_Casa","i",houseid);    
  91.     }
  92. }
  93.  
  94. // A forward e a public coloca no final do GM
  95. forward Carregar_Casa(houseid);
  96. public Carregar_Casa(houseid) {
  97.     new string[256];
  98.     new savestr[100], rows, fields;
  99.     cache_get_data(rows, fields);
  100.     if(rows)
  101.     {
  102.         cache_get_field_content(0, "ID", savestr);                  HouseInfo[houseid][ID] = strval(savestr);
  103.         cache_get_field_content(0, "InPosX", savestr);              HouseInfo[houseid][InPosX] = strval(savestr);
  104.         cache_get_field_content(0, "InPosY", savestr);              HouseInfo[houseid][InPosY] = strval(savestr);
  105.         cache_get_field_content(0, "InPosZ", savestr);              HouseInfo[houseid][InPosZ] = strval(savestr);
  106.         cache_get_field_content(0, "OutPosX", savestr);             HouseInfo[houseid][OutPosX] = strval(savestr);
  107.         cache_get_field_content(0, "OutPosY", savestr);             HouseInfo[houseid][OutPosY] = strval(savestr);
  108.         cache_get_field_content(0, "OutPosZ", savestr);             HouseInfo[houseid][OutPosZ] = strval(savestr);
  109.         cache_get_field_content(0, "World", savestr);               HouseInfo[houseid][World] = strval(savestr);
  110.         cache_get_field_content(0, "Price", savestr);               HouseInfo[houseid][Price] = strval(savestr);
  111.         cache_get_field_content(0, "Owner", savestr);               HouseInfo[houseid][Owner] = strval(savestr);
  112.         cache_get_field_content(0, "Locked", savestr);              HouseInfo[houseid][Locked] = strval(savestr);
  113.         cache_get_field_content(0, "Dono", savestr);                HouseInfo[houseid][Dono] = strval(savestr);
  114.         cache_get_field_content(0, "Money", savestr);               HouseInfo[houseid][Money] = strval(savestr);
  115.         cache_get_field_content(0, "Maconha", savestr);             HouseInfo[houseid][Maconha] = strval(savestr);
  116.         cache_get_field_content(0, "FHQ", savestr);                 HouseInfo[houseid][FHQ] = strval(savestr);
  117.         cache_get_field_content(0, "Interior", savestr);            HouseInfo[houseid][Interior] = strval(savestr);
  118.     }
  119.    
  120.     new casaavenda;
  121.     if(HouseInfo[houseid][Owner] == 1) {
  122.         casaavenda = 1272; // azul =  tem dono
  123.     }
  124.     else if(HouseInfo[houseid][Owner] == 0) {
  125.         casaavenda = 1273; // verde =  a venda
  126.     }
  127.        
  128.     new classhouse[30];
  129.     if(HouseInfo[houseid][Interior] == 1) { classhouse = "Small House"; } // pequena
  130.     else if(HouseInfo[houseid][Interior] == 8) { classhouse = "Average House"; } // media
  131.     else if(HouseInfo[houseid][Interior] == 2) { classhouse = "Big House"; } // grande
  132.     else if(HouseInfo[houseid][Interior] == 6) { classhouse = "Mansion"; } // mansão
  133.     else if(HouseInfo[houseid][Interior] == 5) { classhouse = "VIP"; }
  134.     else { classhouse = "BUG"; }
  135.        
  136.     new door[30];
  137.     if(HouseInfo[houseid][Locked] == 1) { door = "{ff0000}Locked"; }
  138.     else if(HouseInfo[houseid][Locked] == 0) { door = "Open"; }
  139.     else { door = "BUG"; }
  140.        
  141.     //new Pickup:casas[MAX_HOUSES];
  142.     //new Text3D:casas[MAX_HOUSES];
  143.     //DestroyPickup(Pickupcasas[houseid]);
  144.     //Delete3DTextLabel(Text3Dcasas[houseid]);
  145.        
  146.     if(HouseInfo[houseid][Owner] == 0) {
  147.         if(HouseInfo[houseid][Price] <= 10000) {
  148.             format(string, sizeof(string), "House ID: %i\n{00ff00}For Sale!\n{FFFFFF}Class:%s\nValue:%iDPs\nDoor:%s",  HouseInfo[houseid][ID],  classhouse, HouseInfo[houseid][Price], door );
  149.             Text3Dcasas[houseid] = Create3DTextLabel(string, 0xABDEACFF, HouseInfo[houseid][OutPosX], HouseInfo[houseid][OutPosY], HouseInfo[houseid][OutPosZ], 10.0, 0, 0);
  150.         }
  151.         if(HouseInfo[houseid][Price] > 10000) {
  152.             format(string, sizeof(string), "House ID: %i\n{00ff00}For Sale!\n{FFFFFF}Class:%s\nValue:%i$\nDoor:%s",  HouseInfo[houseid][ID],  classhouse, HouseInfo[houseid][Price], door );
  153.             Text3Dcasas[houseid] = Create3DTextLabel(string, 0xABDEACFF, HouseInfo[houseid][OutPosX], HouseInfo[houseid][OutPosY], HouseInfo[houseid][OutPosZ], 10.0, 0, 0);
  154.         }
  155.         Pickupcasas[houseid] = CreatePickup(casaavenda, 2, HouseInfo[houseid][OutPosX], HouseInfo[houseid][OutPosY], HouseInfo[houseid][OutPosZ], -1);
  156.     }
  157.     else if(HouseInfo[houseid][Owner] == 1) {
  158.         if(HouseInfo[houseid][FHQ] == 1) {
  159.                 new localFHQ = HouseInfo[houseid][FHQ];
  160.                 format(string, sizeof(string), "Faction HQ\n id:%i %s", HouseInfo[houseid][FHQ], FactionInfo[localFHQ][facname] );
  161.                 Text3Dcasas[houseid] = Create3DTextLabel(string, 0xABDEACFF, HouseInfo[houseid][OutPosX], HouseInfo[houseid][OutPosY], HouseInfo[houseid][OutPosZ], 10.0, 0, 0);
  162.                 Pickupcasas[houseid] = CreatePickup(1254, 2, HouseInfo[houseid][OutPosX], HouseInfo[houseid][OutPosY], HouseInfo[houseid][OutPosZ], -1);
  163.         }
  164.         else {
  165.             Pickupcasas[houseid] = CreatePickup(casaavenda, 2, HouseInfo[houseid][OutPosX], HouseInfo[houseid][OutPosY], HouseInfo[houseid][OutPosZ], -1);
  166.             if(HouseInfo[houseid][Price] <= 10000) {
  167.                 format(string, sizeof(string), "House ID: %i\nOwner:%s\nClass:%s\nValue:%iDPs\nDoor:%s", HouseInfo[houseid][ID],  HouseInfo[houseid][Dono], classhouse, HouseInfo[houseid][Price], door );
  168.                 Text3Dcasas[houseid] = Create3DTextLabel(string, 0xABDEACFF, HouseInfo[houseid][OutPosX], HouseInfo[houseid][OutPosY], HouseInfo[houseid][OutPosZ], 10.0, 0, 0);
  169.             }
  170.             if(HouseInfo[houseid][Price] > 10000) {
  171.                 format(string, sizeof(string), "House ID: %i\nOwner:%s\nClass:%s\nValue:%i$\nDoor:%s", HouseInfo[houseid][ID], HouseInfo[houseid][Dono], classhouse, HouseInfo[houseid][Price], door );
  172.                 Text3Dcasas[houseid] = Create3DTextLabel(string, 0xABDEACFF, HouseInfo[houseid][OutPosX], HouseInfo[houseid][OutPosY], HouseInfo[houseid][OutPosZ], 10.0, 0, 0);
  173.             }
  174.         }
  175.     }
  176. }
  177. stock RefreshHouses() {
  178.     for(new houseid; houseid < MAX_HOUSES; houseid++)
  179.     {
  180.         new casaavenda, string[128];
  181.         casaavenda = (HouseInfo[houseid][Owner] ? 1272 : 1273);
  182.  
  183.         new classhouse[30];
  184.         switch(HouseInfo[houseid][Interior]) {
  185.             case 1: classhouse = "Small House";
  186.             case 8: classhouse = "Average House";
  187.             case 2: classhouse = "Big House";
  188.             case 6: classhouse = "Mansion";
  189.             case 5: classhouse = "VIP";
  190.             default: classhouse = "BUG";
  191.         }
  192.                    
  193.         new door[30];
  194.         if(HouseInfo[houseid][Locked] == 1) door = "{ff0000}Locked";
  195.         else if(HouseInfo[houseid][Locked] == 0) door = "Open";
  196.         else door = "BUG";
  197.  
  198.         DestroyPickup(Pickupcasas[houseid]);
  199.         Delete3DTextLabel(Text3Dcasas[houseid]);
  200.                    
  201.         if(HouseInfo[houseid][Owner] == 0) {
  202.             if(HouseInfo[houseid][Price] <= 10000) {
  203.                 format(string, sizeof(string), "House ID: %i\n{00ff00}For Sale!\n{FFFFFF}Class:%s\nValue:%iDPs\nDoor:%s",  HouseInfo[houseid][ID],  classhouse, HouseInfo[houseid][Price], door );
  204.                 Text3Dcasas[houseid] = Create3DTextLabel(string, 0xABDEACFF, HouseInfo[houseid][OutPosX], HouseInfo[houseid][OutPosY], HouseInfo[houseid][OutPosZ], 10.0, 0, 0);
  205.             }
  206.             if(HouseInfo[houseid][Price] > 10000) {
  207.                 format(string, sizeof(string), "House ID: %i\n{00ff00}For Sale!\n{FFFFFF}Class:%s\nValue:%i$\nDoor:%s",  HouseInfo[houseid][ID],  classhouse, HouseInfo[houseid][Price], door );
  208.                 Text3Dcasas[houseid] = Create3DTextLabel(string, 0xABDEACFF, HouseInfo[houseid][OutPosX], HouseInfo[houseid][OutPosY], HouseInfo[houseid][OutPosZ], 10.0, 0, 0);
  209.             }
  210.             Pickupcasas[houseid] = CreatePickup(casaavenda, 2, HouseInfo[houseid][OutPosX], HouseInfo[houseid][OutPosY], HouseInfo[houseid][OutPosZ], -1);
  211.         }
  212.         else if(HouseInfo[houseid][Owner] == 1) {
  213.             if(HouseInfo[houseid][FHQ] == 1) {
  214.                     new localFHQ = HouseInfo[houseid][FHQ];
  215.                     format(string, sizeof(string), "Faction HQ\n id:%i %s", HouseInfo[houseid][FHQ], FactionInfo[localFHQ][facname] );
  216.                     Text3Dcasas[houseid] = Create3DTextLabel(string, 0xABDEACFF, HouseInfo[houseid][OutPosX], HouseInfo[houseid][OutPosY], HouseInfo[houseid][OutPosZ], 10.0, 0, 0);
  217.                     Pickupcasas[houseid] = CreatePickup(1254, 2, HouseInfo[houseid][OutPosX], HouseInfo[houseid][OutPosY], HouseInfo[houseid][OutPosZ], -1);
  218.             }
  219.             else {
  220.                 Pickupcasas[houseid] = CreatePickup(casaavenda, 2, HouseInfo[houseid][OutPosX], HouseInfo[houseid][OutPosY], HouseInfo[houseid][OutPosZ], -1);
  221.                 if(HouseInfo[houseid][Price] <= 10000) {
  222.                     format(string, sizeof(string), "House ID: %i\nOwner:%s\nClass:%s\nValue:%iDPs\nDoor:%s", HouseInfo[houseid][ID],  HouseInfo[houseid][Dono], classhouse, HouseInfo[houseid][Price], door );
  223.                     Text3Dcasas[houseid] = Create3DTextLabel(string, 0xABDEACFF, HouseInfo[houseid][OutPosX], HouseInfo[houseid][OutPosY], HouseInfo[houseid][OutPosZ], 10.0, 0, 0);
  224.                 }
  225.                 if(HouseInfo[houseid][Price] > 10000) {
  226.                     format(string, sizeof(string), "House ID: %i\nOwner:%s\nClass:%s\nValue:%i$\nDoor:%s", HouseInfo[houseid][ID], HouseInfo[houseid][Dono], classhouse, HouseInfo[houseid][Price], door );
  227.                     Text3Dcasas[houseid] = Create3DTextLabel(string, 0xABDEACFF, HouseInfo[houseid][OutPosX], HouseInfo[houseid][OutPosY], HouseInfo[houseid][OutPosZ], 10.0, 0, 0);
  228.                 }
  229.             }
  230.         }
  231.     }
  232. }
  233. stock SalvarCasas() {  
  234.     for(new houseid; houseid < MAX_HOUSES; houseid++) {
  235.         new query[1024];
  236.         format(query, sizeof(query), "UPDATE houses SET OutPosX = %f , OutPosY = %f, OutPosZ = %f, InPosX = %f, InPosY = %f, InPosZ = %f, ",
  237.             HouseInfo[houseid][ID], HouseInfo[houseid][OutPosX], HouseInfo[houseid][OutPosY], HouseInfo[houseid][OutPosZ], HouseInfo[houseid][InPosX], HouseInfo[houseid][InPosY], HouseInfo[houseid][InPosZ]);
  238.         format(query, sizeof(query), "%sWorld = %d, Price = %d, Interior = %d, Locked = %d, Dono = %s, FHQ = %d, Money = %d, Maconha = %d, Owner = %d WHERE ID = %d",
  239.             HouseInfo[houseid][World], HouseInfo[houseid][Price], HouseInfo[houseid][Interior], HouseInfo[houseid][Locked], HouseInfo[houseid][Dono], HouseInfo[houseid][FHQ], HouseInfo[houseid][Money], HouseInfo[houseid][Maconha], HouseInfo[houseid][Owner], HouseInfo[houseid][ID]);
  240.         mysql_pquery(ConnectMYSQL, query);
  241.     }
  242. }
Advertisement
Add Comment
Please, Sign In to add comment