Advertisement
Axll

aProp - Funções v0.0001 R3

Mar 18th, 2014
162
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 7.22 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_dono[24],
  9.    
  10.     pr_preco,               //preço definido pelo admin ou dono do hotel;
  11.     pr_level,               //minimo para compra
  12.  
  13.     pr_tamanho,             //casa (trailer, pequena, media, grande);
  14.     pr_interior,            //interior para tipo nao mobilhavel (interiores proprios do gta sa);
  15.     pr_world,               //mundo virtual, igual ao id da propriedade;
  16.  
  17.     Float:pr_ext_posicao[4], //0=x,1=y,2=z,3=rotacao;
  18.     Float:pr_int_posicao[4], //0=x,1=y,2=z,3=rotacao;
  19.  
  20.     pr_ext_pickup,
  21.     pr_int_pickup,
  22.     Text3D:pr_ext_label,
  23.     Text3D:pr_int_label
  24. }
  25.  
  26. enum enum_garagem
  27. {
  28.     bool:gr_ativa,
  29.     gr_casaid,
  30.     bool:gr_portao,
  31.  
  32.     Float:gr_ext_posicao[4],
  33.     Float:gr_int_posicao[4],
  34.  
  35.     gr_world,
  36.  
  37.     gr_ext_pickup,
  38.     gr_int_pickup,
  39.     Text3D:gr_ext_label,
  40.     Text3D:gr_int_label
  41. }
  42.  
  43. new propriedade[max_prop][enum_casas];
  44. new garagem[max_garagem][enum_garagem];
  45. //a-prop | sistema de casas [funções]
  46. stock aPropCriar(playerid, casaid, tamanho, level, preco)
  47. {
  48.     new string[252], Float:ext_posicao[4], Float:int_posicao[4], int_interior;
  49.  
  50.     GetPlayerPos(playerid, ext_posicao[0], ext_posicao[1], ext_posicao[2]);
  51.     GetPlayerFacingAngle(playerid, ext_posicao[3]);
  52.  
  53.     propriedade[casaid][pr_ativa] = true;
  54.     propriedade[casaid][pr_porta] = true;
  55.  
  56.     format(propriedade[casaid][pr_dono], 24, "Ninguem");
  57.  
  58.     propriedade[casaid][pr_preco] = preco;
  59.     propriedade[casaid][pr_level] = level;
  60.  
  61.     propriedade[casaid][pr_tamanho] = tamanho;
  62.     switch(tamanho)
  63.     {
  64.         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;
  65.         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;
  66.         case 3: int_posicao[0] = 0.0, int_posicao[1] = 0.0, int_posicao[2] = 0.0, int_posicao[3] = 0.0;
  67.     }
  68.     propriedade[casaid][pr_interior] = int_interior;
  69.     propriedade[casaid][pr_world] = casaid;
  70.  
  71.     propriedade[casaid][pr_ext_posicao][0] = ext_posicao[0];
  72.     propriedade[casaid][pr_ext_posicao][1] = ext_posicao[1];
  73.     propriedade[casaid][pr_ext_posicao][2] = ext_posicao[2];
  74.     propriedade[casaid][pr_ext_posicao][3] = ext_posicao[3];
  75.     propriedade[casaid][pr_int_posicao][0] = int_posicao[0];
  76.     propriedade[casaid][pr_int_posicao][1] = int_posicao[1];
  77.     propriedade[casaid][pr_int_posicao][2] = int_posicao[2];
  78.     propriedade[casaid][pr_int_posicao][3] = int_posicao[3];
  79.  
  80.     propriedade[casaid][pr_ext_pickup] = CreatePickup(1273, 1, ext_posicao[0], ext_posicao[1], ext_posicao[2]);
  81.     propriedade[casaid][pr_int_pickup] = CreatePickup(19198, 1, int_posicao[0], int_posicao[1], int_posicao[2]+0.2, casaid);
  82.  
  83.     format(string, 252, "{00FF00}[Propriedade a venda]{FFFFFF}\n{FF0000}Level:{FFFFFF} %d\n{FF0000}Preço:{FFFFFF} $%d", level, preco);
  84.  
  85.     propriedade[casaid][pr_ext_label] = Create3DTextLabel(string, -1, ext_posicao[0], ext_posicao[1], ext_posicao[2]-0.2, 5.0, 0);
  86.     propriedade[casaid][pr_int_label] = Create3DTextLabel("[saida]", -1, int_posicao[0], int_posicao[1], int_posicao[2]-0.2, 5.0, casaid);
  87.     printf("casa criada %d | int %d | preco %d | level %d", casaid, tamanho, preco, level);
  88.     return true;
  89. }
  90.  
  91. stock aPropApagar(casaid)
  92. {
  93.     propriedade[casaid][pr_ativa] = false;
  94.     propriedade[casaid][pr_porta] = false;
  95.  
  96.     propriedade[casaid][pr_preco] = 0;
  97.     propriedade[casaid][pr_level] = 0;
  98.  
  99.     propriedade[casaid][pr_tamanho] = 0;
  100.     propriedade[casaid][pr_interior] = 0;
  101.     propriedade[casaid][pr_world] = 0;
  102.  
  103.     propriedade[casaid][pr_ext_posicao][0] = 0.0;
  104.     propriedade[casaid][pr_ext_posicao][1] = 0.0;
  105.     propriedade[casaid][pr_ext_posicao][2] = 0.0;
  106.     propriedade[casaid][pr_ext_posicao][3] = 0.0;
  107.     propriedade[casaid][pr_int_posicao][0] = 0.0;
  108.     propriedade[casaid][pr_int_posicao][1] = 0.0;
  109.     propriedade[casaid][pr_int_posicao][2] = 0.0;
  110.     propriedade[casaid][pr_int_posicao][3] = 0.0;
  111.  
  112.     DestroyPickup(propriedade[casaid][pr_ext_pickup]);
  113.     DestroyPickup(propriedade[casaid][pr_int_pickup]);
  114.  
  115.     Delete3DTextLabel(propriedade[casaid][pr_ext_label]);
  116.     Delete3DTextLabel(propriedade[casaid][pr_int_label]);
  117.     printf("casa %d apagada com sucesso.");
  118.     return true;
  119. }
  120.  
  121. stock aPropSet(casaid, setid, quantidade)
  122. {
  123.     /*
  124.         1 = tamanho
  125.         2 = nivel
  126.         3 = preco
  127.     */
  128.     new string[252];
  129.     switch(setid)
  130.     {
  131.         case 1: propriedade[casaid][pr_tamanho] = quantidade;
  132.         case 2: propriedade[casaid][pr_level] = quantidade;
  133.         case 3: propriedade[casaid][pr_preco] = quantidade;
  134.     }
  135.     Delete3DTextLabel(propriedade[casaid][pr_ext_label]);
  136.     //
  137.     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]);
  138.     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);
  139. }
  140.  
  141. stock aPropComprar(playerid, casaid)
  142. {
  143.     char string[138];
  144.     format(propriedade[casaid][pr_dono], 24, "%s", GetName(playerid));
  145.    
  146.     SendClientMessage(playerid, -1, ""); //
  147.     SendClientMessage(playerid, -1, "{FF0000}Parabens{FFFFFF} pela sua {00FF00}compra.");
  148.     SendClientMessage(playerid, -1, "   {00FF00}/minhacasa: {FFFFFF}veja os comandos da sua casa.");
  149.     SendClientMessage(playerid, -1, "   {00FF00}ajuda: {FFFFFF}comando /minhacasa indisponivel");
  150.  
  151.    
  152.     Delete3DTextLabel(propriedade[casaid][pr_ext_label]);
  153.     format(string, 252, "{00FF00}[Propriedade]\nDono:{FFFFFF} %s", propriedade[casaid][pr_dono]);
  154.     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);
  155. }
  156.  
  157. stock CriarGaragem(playerid, gr_id, casaid)
  158. {
  159.     new Float:ext_posicao[4];
  160.     GetPlayerPos(playerid, ext_posicao[0], ext_posicao[1], ext_posicao[2]);
  161.     GetPlayerFacingAngle(playerid, ext_posicao[3]);
  162.    
  163.     garagem[gr_id][gr_ativa] = true;
  164.     garagem[gr_id][gr_casaid] = casaid;
  165.     garagem[gr_id][gr_portao] = false;
  166.  
  167.     garagem[gr_id][gr_ext_posicao][0] = ext_posicao[0];
  168.     garagem[gr_id][gr_ext_posicao][1] = ext_posicao[1];
  169.     garagem[gr_id][gr_ext_posicao][2] = ext_posicao[2];
  170.     garagem[gr_id][gr_ext_posicao][3] = ext_posicao[3];
  171.    
  172.     garagem[gr_id][gr_int_posicao][0] = 181.7559;
  173.     garagem[gr_id][gr_int_posicao][1] = 1741.1469;
  174.     garagem[gr_id][gr_int_posicao][2] = 110.9927;
  175.     garagem[gr_id][gr_int_posicao][3] = 358.9667;
  176.  
  177.     garagem[gr_id][gr_world] = casaid;
  178.  
  179.     garagem[gr_id][gr_ext_pickup] = CreatePickup(1277, 1, ext_posicao[0], ext_posicao[1], ext_posicao[2]);
  180.     garagem[gr_id][gr_int_pickup] = CreatePickup(19198, 1, 181.7559, 1741.1469, 110.9927+0.2, gr_id);
  181.  
  182.     propriedade[casaid][pr_ext_label] = Create3DTextLabel("[Garagem]", -1, ext_posicao[0], ext_posicao[1], ext_posicao[2]-0.2, 5.0, 0);
  183.     propriedade[casaid][pr_int_label] = Create3DTextLabel("[saida]", -1, 181.7559, 1741.1469, 110.9927, 5.0, gr_id);
  184. }
  185.  
  186. //outros
  187.  
  188. stock GetName(playerid)
  189. {
  190.     new nome[MAX_PLAYER_NAME];
  191.     GetPlayerName(playerid, nome, sizeof(nome));
  192.     for(new i = 0; i < MAX_PLAYER_NAME; i++)
  193.     {
  194.         if(nome[i] == '_') nome[i] = ' ';
  195.     }
  196.     return nome;
  197. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement