Advertisement
Axll

aProp - Funções v0.0001 R2

Mar 15th, 2014
176
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 6.10 KB | None | 0 0
  1. #include "../Include/config.inc"
  2.  
  3. enum enum_casas
  4. {
  5.     bool:pr_ativa,          //casa ativa;
  6.     bool:pr_porta,          //porta trancando = true, aberta = false;
  7.  
  8.     pr_preco,               //preço definido pelo admin ou dono do hotel;
  9.     pr_level,               //minimo para compra
  10.  
  11.     pr_tamanho,             //casa (trailer, pequena, media, grande);
  12.     pr_interior,            //interior para tipo nao mobilhavel (interiores proprios do gta sa);
  13.     pr_world,               //mundo virtual, igual ao id da propriedade;
  14.  
  15.     Float:pr_ext_posicao[4], //0=x,1=y,2=z,3=rotacao;
  16.     Float:pr_int_posicao[4], //0=x,1=y,2=z,3=rotacao;
  17.  
  18.     pr_ext_pickup,
  19.     pr_int_pickup,
  20.     Text3D:pr_ext_label,
  21.     Text3D:pr_int_label
  22. }
  23.  
  24. enum enum_garagem
  25. {
  26.     bool:gr_ativa,
  27.     gr_casaid,
  28.     bool:gr_portao,
  29.  
  30.     Float:gr_ext_posicao[4],
  31.     Float:gr_int_posicao[4],
  32.  
  33.     gr_world,
  34.  
  35.     gr_ext_pickup,
  36.     gr_int_pickup,
  37.     Text3D:gr_ext_label,
  38.     Text3D:gr_int_label
  39. }
  40.  
  41. new propriedade[max_prop][enum_casas];
  42. new garagem[max_garagem][enum_garagem];
  43. //a-prop | sistema de casas [funções]
  44. stock aPropCriar(playerid, casaid, tamanho, level, preco)
  45. {
  46.     new string[252], Float:ext_posicao[4], Float:int_posicao[4], int_interior;
  47.  
  48.     GetPlayerPos(playerid, ext_posicao[0], ext_posicao[1], ext_posicao[2]);
  49.     GetPlayerFacingAngle(playerid, ext_posicao[3]);
  50.  
  51.     propriedade[casaid][pr_ativa] = true;
  52.     propriedade[casaid][pr_porta] = true;
  53.  
  54.     propriedade[casaid][pr_preco] = preco;
  55.     propriedade[casaid][pr_level] = level;
  56.  
  57.     propriedade[casaid][pr_tamanho] = tamanho;
  58.     switch(tamanho)
  59.     {
  60.         case 1: int_posicao[0] = 2352.7454, int_posicao[1] = -1180.9149, int_posicao[2] = 1027.9766, int_posicao[3] = 91.6186, int_interior = 5;
  61.         case 2: int_posicao[0] = 421.9722, int_posicao[1] = 495.8725, int_posicao[2] = 1001.5299, int_posicao[3] = 89.2832, int_interior = 0;
  62.         case 3: int_posicao[0] = 0.0, int_posicao[1] = 0.0, int_posicao[2] = 0.0, int_posicao[3] = 0.0;
  63.     }
  64.     propriedade[casaid][pr_interior] = int_interior;
  65.     propriedade[casaid][pr_world] = casaid;
  66.  
  67.     propriedade[casaid][pr_ext_posicao][0] = ext_posicao[0];
  68.     propriedade[casaid][pr_ext_posicao][1] = ext_posicao[1];
  69.     propriedade[casaid][pr_ext_posicao][2] = ext_posicao[2];
  70.     propriedade[casaid][pr_ext_posicao][3] = ext_posicao[3];
  71.     propriedade[casaid][pr_int_posicao][0] = int_posicao[0];
  72.     propriedade[casaid][pr_int_posicao][1] = int_posicao[1];
  73.     propriedade[casaid][pr_int_posicao][2] = int_posicao[2];
  74.     propriedade[casaid][pr_int_posicao][3] = int_posicao[3];
  75.  
  76.     propriedade[casaid][pr_ext_pickup] = CreatePickup(1273, 1, ext_posicao[0], ext_posicao[1], ext_posicao[2]);
  77.     propriedade[casaid][pr_int_pickup] = CreatePickup(19198, 1, int_posicao[0], int_posicao[1], int_posicao[2]+0.2, casaid);
  78.  
  79.     format(string, 252, "{00FF00}[Propriedade a venda]{FFFFFF}\n{FF0000}Level:{FFFFFF} %d\n{FF0000}Preço:{FFFFFF} $%d", level, preco);
  80.  
  81.     propriedade[casaid][pr_ext_label] = Create3DTextLabel(string, -1, ext_posicao[0], ext_posicao[1], ext_posicao[2]-0.2, 5.0, 0);
  82.     propriedade[casaid][pr_int_label] = Create3DTextLabel("[saida]", -1, int_posicao[0], int_posicao[1], int_posicao[2]-0.2, 5.0, casaid);
  83.     printf("casa criada %d | int %d | preco %d | level %d", casaid, tamanho, preco, level);
  84.     return true;
  85. }
  86.  
  87. stock aPropApagar(casaid)
  88. {
  89.     propriedade[casaid][pr_ativa] = false;
  90.     propriedade[casaid][pr_porta] = false;
  91.  
  92.     propriedade[casaid][pr_preco] = 0;
  93.     propriedade[casaid][pr_level] = 0;
  94.  
  95.     propriedade[casaid][pr_tamanho] = 0;
  96.     propriedade[casaid][pr_interior] = 0;
  97.     propriedade[casaid][pr_world] = 0;
  98.  
  99.     propriedade[casaid][pr_ext_posicao][0] = 0.0;
  100.     propriedade[casaid][pr_ext_posicao][1] = 0.0;
  101.     propriedade[casaid][pr_ext_posicao][2] = 0.0;
  102.     propriedade[casaid][pr_ext_posicao][3] = 0.0;
  103.     propriedade[casaid][pr_int_posicao][0] = 0.0;
  104.     propriedade[casaid][pr_int_posicao][1] = 0.0;
  105.     propriedade[casaid][pr_int_posicao][2] = 0.0;
  106.     propriedade[casaid][pr_int_posicao][3] = 0.0;
  107.  
  108.     DestroyPickup(propriedade[casaid][pr_ext_pickup]);
  109.     DestroyPickup(propriedade[casaid][pr_int_pickup]);
  110.  
  111.     Delete3DTextLabel(propriedade[casaid][pr_ext_label]);
  112.     Delete3DTextLabel(propriedade[casaid][pr_int_label]);
  113.     printf("casa %d apagada com sucesso.");
  114.     return true;
  115. }
  116.  
  117. stock aPropSet(casaid, setid, quantidade)
  118. {
  119.     /*
  120.         1 = tamanho
  121.         2 = nivel
  122.         3 = preco
  123.     */
  124.     new string[252];
  125.     switch(setid)
  126.     {
  127.         case 1: propriedade[casaid][pr_tamanho] = quantidade;
  128.         case 2: propriedade[casaid][pr_level] = quantidade;
  129.         case 3: propriedade[casaid][pr_preco] = quantidade;
  130.     }
  131.     Delete3DTextLabel(propriedade[casaid][pr_ext_label]);
  132.     //
  133.     format(string, 252, "{00FF00}[Propriedade a venda]{FFFFFF}\n{FF0000}Level:{FFFFFF} %d\n{FF0000}Preço:{FFFFFF} $%d", propriedade[casaid][pr_level], propriedade[casaid][pr_preco]);
  134.     propriedade[casaid][pr_ext_label] = Create3DTextLabel(string, -1, propriedade[casaid][pr_ext_posicao][0], propriedade[casaid][pr_ext_posicao][1], propriedade[casaid][pr_ext_posicao][2]-0.2, 5.0, 0);
  135. }
  136.  
  137. //garagens
  138.  
  139.  
  140. stock CriarGaragem(playerid, gr_id, casaid)
  141. {
  142.     new Float:ext_posicao[4];
  143.     GetPlayerPos(playerid, ext_posicao[0], ext_posicao[1], ext_posicao[2]);
  144.     GetPlayerFacingAngle(playerid, ext_posicao[3]);
  145.    
  146.     garagem[gr_id][gr_ativa] = true;
  147.     garagem[gr_id][gr_casaid] = casaid;
  148.     garagem[gr_id][gr_portao] = false;
  149.  
  150.     garagem[gr_id][gr_ext_posicao][0] = ext_posicao[0];
  151.     garagem[gr_id][gr_ext_posicao][1] = ext_posicao[1];
  152.     garagem[gr_id][gr_ext_posicao][2] = ext_posicao[2];
  153.     garagem[gr_id][gr_ext_posicao][3] = ext_posicao[3];
  154.    
  155.     garagem[gr_id][gr_int_posicao][0] = 181.7559;
  156.     garagem[gr_id][gr_int_posicao][1] = 1741.1469;
  157.     garagem[gr_id][gr_int_posicao][2] = 110.9927;
  158.     garagem[gr_id][gr_int_posicao][3] = 358.9667;
  159.  
  160.     garagem[gr_id][gr_world] = casaid;
  161.  
  162.     garagem[gr_id][gr_ext_pickup] = CreatePickup(1277, 1, ext_posicao[0], ext_posicao[1], ext_posicao[2]);
  163.     garagem[gr_id][gr_int_pickup] = CreatePickup(19198, 1, 181.7559, 1741.1469, 110.9927+0.2, gr_id);
  164.  
  165.     propriedade[casaid][pr_ext_label] = Create3DTextLabel("[Garagem]", -1, ext_posicao[0], ext_posicao[1], ext_posicao[2]-0.2, 5.0, 0);
  166.     propriedade[casaid][pr_int_label] = Create3DTextLabel("[saida]", -1, 181.7559, 1741.1469, 110.9927, 5.0, gr_id);
  167. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement