Advertisement
Axll

aProp - FilterScript v0.0001 R4

Mar 27th, 2014
181
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 16.20 KB | None | 0 0
  1. #include a_samp
  2. #include zcmd
  3. #include sscanf2
  4. #include DOF2
  5. #include "../Include/funcoes.inc"
  6. #include "../Include/interiores.inc"
  7.  
  8. command(aprop, playerid, params [])
  9. {
  10.     char string[252], cmd_string[32];
  11.     int cmd_tamanho, cmd_level, cmd_preco;
  12.     if(sscanf(params, "s[32]I(-1)I(-1)I(-1)", cmd_string, cmd_tamanho, cmd_level, cmd_preco))
  13.     {
  14.         SendClientMessage(playerid, -1, ""); //
  15.         SendClientMessage(playerid, -1, "Sistema de {FF0000}propriedades{FFFFFF}, veja abaixo os comandos disponiveis.");
  16.         SendClientMessage(playerid, -1, "   {FF0000}criar: {FFFFFF}cria uma propriedade em sua posicao.");
  17.         SendClientMessage(playerid, -1, "   {FF0000}apagar: {FFFFFF}apaga a propriedade em sua posicao ou id.");
  18.         SendClientMessage(playerid, -1, "   {FF0000}editar: {FFFFFF}edita a propriedade.");
  19.         SendClientMessage(playerid, -1, "   {FF0000}addgaragem: {FFFFFF}adiciona uma garagem a casaid.");
  20.         SendClientMessage(playerid, -1, "   {FF0000}mostrarid: {FFFFFF}exibe o id da casa.");
  21.         SendClientMessage(playerid, -1, "{FF0000}ajuda: {FFFFFF}para ver os interiores use {FF0000}/irint [int]{FFFFFF}.");
  22.         return true;
  23.     }
  24.     if(!strcmp(cmd_string, "criar", true))
  25.     {
  26.         if(cmd_tamanho == -1 || cmd_level == -1 || cmd_preco == -1) return SendClientMessage(playerid, -1, "erro: comando: /aprop criar [interior] [level min] [preco]");
  27.         for(int i = 0; i < max_prop; i++)
  28.         {
  29.             if(propriedade[i][pr_ativa] == true) continue;
  30.             aPropCriar(playerid, i, cmd_tamanho, cmd_level, cmd_preco);
  31.             format(string, 252, "{FF0000}aprop info:{FFFFFF} (casa id {FF0000}%d{FFFFFF}) (tamanho {FF0000}%d{FFFFFF}) (levelmin {FF0000}%d{FFFFFF}) (preço {FF0000}%d{FFFFFF})", i, cmd_tamanho, cmd_level, cmd_preco);
  32.             SendClientMessage(playerid, -1, string);
  33.             SendClientMessage(playerid, -1, "{FF0000}aprop status: {FFFFFF}casa criada com {00FF00}sucesso{FFFFFF}.");
  34.             break;
  35.         }
  36.         return true;
  37.     }
  38.     else if(!strcmp(cmd_string, "apagar", true))
  39.     {
  40.         if(cmd_tamanho == -1)
  41.         {
  42.             for(int i = 0; i < max_prop; i++)
  43.             {
  44.                 if(!IsPlayerInRangeOfPoint(playerid, 2.0, propriedade[i][pr_ext_posicao][0], propriedade[i][pr_ext_posicao][1], propriedade[i][pr_ext_posicao][2])) continue;
  45.                 format(string, 252, "Admin: casa %d foi apagada com sucesso", i);
  46.                 SendClientMessage(playerid, -1, string);
  47.                 aPropApagar(i);
  48.                 break;
  49.             }
  50.         }
  51.         else
  52.         {
  53.             format(string, 128, "{FF0000}aprop apagar: {FFFFFF}casa {FF0000}%d {FFFFFF}foi apagada com {00FF00}sucesso", cmd_tamanho);
  54.             SendClientMessage(playerid, -1, string);
  55.             aPropApagar(cmd_tamanho);
  56.         }
  57.         return true;
  58.     }
  59.     else if(!strcmp(cmd_string, "editar", true))
  60.     {
  61.         if(cmd_level == -1)
  62.         {
  63.             SendClientMessage(playerid, -1, "");
  64.             SendClientMessage(playerid, -1, "{FF0000}aprop editar:{FFFFFF} aqui voce pode editar {FF0000}(tamanho, level, preço){FFFFFF} de uma {FF0000}casa.");
  65.             SendClientMessage(playerid, -1, "{FF0000}aprop exemplo:{7C7C7D} /aprop editar [casaid] [setid] [quantidade]");
  66.             SendClientMessage(playerid, -1, "{FF0000}aprop setid:{FFFFFF} 1 {FF0000}(tamanho){FFFFFF}, 2 {FF0000}(level){FFFFFF} e 3 {FF0000}(preço){FFFFFF}.");
  67.             return true;
  68.         }
  69.         else
  70.         {
  71.             if(cmd_preco == -1) return true;
  72.             if(cmd_level > 3 || cmd_level < 0) return true;
  73.             format(string, 128, "{FF0000}aprop editar: {FFFFFF}valor alterado para {FF0000}%d", cmd_level);
  74.             SendClientMessage(playerid, -1, string);
  75.             aPropSet(cmd_tamanho, cmd_level, cmd_preco);
  76.         }
  77.         return true;
  78.     }
  79.     else if(!strcmp(cmd_string, "addgaragem", true))
  80.     {
  81.         if(cmd_tamanho == -1) return SendClientMessage(playerid, -1, "erro: comando: /aprop addgaragem [casaid]");
  82.         for(int i = 0; i < max_prop; i++)
  83.         {
  84.             if(i == 0) continue;
  85.             if(garagem[i][gr_ativa] == true) continue;
  86.             CriarGaragem(playerid, cmd_tamanho, i);
  87.             format(string, 252, "{FF0000}aprop info:{FFFFFF} (garagem id {FF0000}%d{FFFFFF}) (casa id {FF0000}%d{FFFFFF})", i, cmd_tamanho);
  88.             SendClientMessage(playerid, -1, string);
  89.             SendClientMessage(playerid, -1, "{FF0000}aprop status: {FFFFFF}garagem criada com {00FF00}sucesso{FFFFFF}.");
  90.             break;
  91.         }
  92.         return true;
  93.     }
  94.     else if(!strcmp(cmd_string, "mostrarid", true))
  95.     {
  96.         for(int i = 0; i < MAX_PLAYERS; i++)
  97.         {
  98.             if(IsPlayerInRangeOfPoint(playerid, 1.0, propriedade[i][pr_ext_posicao][0], propriedade[i][pr_ext_posicao][1], propriedade[i][pr_ext_posicao][2]))
  99.             {
  100.                 format(string, 128, "{FF0000}aprop id: {FFFFFF}casa %d", i);
  101.                 SendClientMessage(playerid, -1, string);
  102.                 break;
  103.             }
  104.             else if(IsPlayerInRangeOfPoint(playerid, 1.0, garagem[i][gr_ext_posicao][0], garagem[i][gr_ext_posicao][1], garagem[i][gr_ext_posicao][2]))
  105.             {
  106.                 format(string, 128, "{FF0000}aprop id: {FFFFFF}garagem %d", i);
  107.                 SendClientMessage(playerid, -1, string);
  108.                 break;
  109.             }
  110.         }
  111.         return true;
  112.     }
  113.     return true;
  114. }
  115.  
  116. command(casa, playerid, params [])
  117. {
  118.     char cmd_string[32], string[128];
  119.     if(sscanf(params, "s", cmd_string))
  120.     {
  121.         SendClientMessage(playerid, -1, ""); //
  122.         SendClientMessage(playerid, -1, "Sistema de {FF0000}propriedades{FFFFFF}, veja abaixo os comandos disponiveis.");
  123.         SendClientMessage(playerid, -1, "   {FF0000}comprar: {FFFFFF}compra uma propriedade em sua posicao.");
  124.         SendClientMessage(playerid, -1, "   {FF0000}ver: {FFFFFF}mostra o interior da casa.");
  125.         return true;
  126.     }
  127.     if(!strcmp(cmd_string, "comprar", true))
  128.     {
  129.         int money = GetPlayerMoney(playerid);
  130.         int score = GetPlayerScore(playerid);
  131.         for(int i = 0; i < MAX_PLAYERS; i++)
  132.         {
  133.             if(!IsPlayerInRangeOfPoint(playerid, 1.0, propriedade[i][pr_ext_posicao][0], propriedade[i][pr_ext_posicao][1], propriedade[i][pr_ext_posicao][2])) continue;
  134.             if(!strcmp(propriedade[i][pr_dono], "Ninguem", true))
  135.             {
  136.                 if(money < propriedade[i][pr_preco])
  137.                 {
  138.                     format(string, 128, " - {FF0000}Dinheiro insuficiente{FFFFFF} para fazer a compra. ({FF0000}falta R$%d - {00FF00}possue R$%d)", money-propriedade[i][pr_preco], money);
  139.                     SendClientMessage(playerid, -1, string);
  140.                     return true;
  141.                 }
  142.                 if(score < propriedade[i][pr_level])
  143.                 {
  144.                     format(string, 128, " - {FF0000}Level insuficiente{FFFFFF} para fazer a compra. ({FF0000}falta %d - {00FF00}possue %d)", score-propriedade[i][pr_level], score);
  145.                     SendClientMessage(playerid, -1, string);
  146.                     return true;
  147.                 }
  148.                 aPropComprar(playerid, i);
  149.                 break;
  150.             }
  151.         }
  152.         return true;
  153.     }
  154.     else if(!strcmp(cmd_string, "ver", true))
  155.     {
  156.         for(int i = 0; i < MAX_PLAYERS; i++)
  157.         {
  158.             if(!IsPlayerInRangeOfPoint(playerid, 1.0, propriedade[i][pr_ext_posicao][0], propriedade[i][pr_ext_posicao][1], propriedade[i][pr_ext_posicao][2])) continue;
  159.             if(!strcmp(propriedade[i][pr_dono], "Ninguem", true))
  160.             {
  161.                 SetPlayerPos(playerid, propriedade[i][pr_int_posicao][0], propriedade[i][pr_int_posicao][1], propriedade[i][pr_int_posicao][2]);
  162.                 SetPlayerFacingAngle(playerid, propriedade[i][pr_int_posicao][3]);
  163.                 SetPlayerVirtualWorld(playerid, propriedade[i][pr_world]);
  164.                 SetPlayerInterior(playerid, propriedade[i][pr_interior]);
  165.                 break;
  166.             }
  167.         }
  168.         return true;
  169.     }
  170.     return true;
  171. }
  172.  
  173. command(minhacasa, playerid, params [])
  174. {
  175.     char cmd_string[32], string[128];
  176.     if(sscanf(params, "s", cmd_string))
  177.     {
  178.         SendClientMessage(playerid, -1, ""); //
  179.         SendClientMessage(playerid, -1, "Sistema de {FF0000}propriedades{FFFFFF}, veja abaixo os comandos disponiveis.");
  180.         SendClientMessage(playerid, -1, "   {FF0000}vender: {FFFFFF}Vende sua casa (você recebe 90% do preço da sua casa).");
  181.         SendClientMessage(playerid, -1, "   {FF0000}porta: {FFFFFF}abre ou tranca a porta da casa.");
  182.         SendClientMessage(playerid, -1, "   {FF0000}garagem: {FFFFFF}tranca ou abre o portao da garagem.");
  183.         return true;
  184.     }
  185.     if(!strcmp(cmd_string, "vender", true))
  186.     {
  187.         for(int i = 0; i < MAX_PLAYERS; i++)
  188.         {
  189.             if(strcmp(propriedade[i][pr_dono], GetName(playerid), true)) continue;
  190.             GivePlayerMoney(playerid, (propriedade[i][pr_preco]-5000));
  191.             aPropVender(playerid, i);
  192.             break;
  193.         }
  194.         return true;
  195.     }
  196.     else if(!strcmp(cmd_string, "porta", true))
  197.     {
  198.         for(int i = 0; i < MAX_PLAYERS; i++)
  199.         {
  200.             if(strcmp(propriedade[i][pr_dono], GetName(playerid), true)) continue;
  201.             if(propriedade[i][pr_porta] == false)
  202.             {
  203.                 propriedade[i][pr_porta] = true;
  204.                 SendClientMessage(playerid, -1, "   Sua casa foi {FF0000}trancada{FFFFFF} com sucesso.");
  205.                 break;
  206.             }
  207.             else if(propriedade[i][pr_porta] == true)
  208.             {
  209.                 propriedade[i][pr_porta] = false;
  210.                 SendClientMessage(playerid, -1, "   Sua casa foi {FF0000}aberta{FFFFFF} com sucesso.");
  211.                 break;
  212.             }
  213.         }
  214.         return true;
  215.     }
  216.     else if(!strcmp(cmd_string, "garagem", true))
  217.     {
  218.         for(int casaid = 0; casaid < MAX_PLAYERS; casaid++)
  219.         {
  220.             if(strcmp(propriedade[casaid][pr_dono], GetName(playerid), true)) continue;
  221.             for(int gr = 0; gr < max_garagem; gr++)
  222.             {
  223.                 if(garagem[gr][gr_casaid] != casaid) continue;
  224.                 if(garagem[gr][gr_portao] == false)
  225.                 {
  226.                     garagem[gr][gr_portao] = true;
  227.                     SendClientMessage(playerid, -1, "   Sua garagem foi {FF0000}fechada{FFFFFF} com sucesso.");
  228.                 }
  229.                 else if(garagem[gr][gr_portao] == true)
  230.                 {
  231.                     garagem[gr][gr_portao] = false;
  232.                     SendClientMessage(playerid, -1, "   Sua garagem foi {FF0000}aberta{FFFFFF} com sucesso.");
  233.                 }
  234.                 break;
  235.             }
  236.         }
  237.         return true;
  238.     }
  239.     return true;
  240. }
  241.  
  242. command(entrar, playerid, params [])
  243. {
  244.     for(int i = 0; i < MAX_PLAYERS; i++)
  245.     {
  246.         if(IsPlayerInRangeOfPoint(playerid, 1.0, propriedade[i][pr_ext_posicao][0], propriedade[i][pr_ext_posicao][1], propriedade[i][pr_ext_posicao][2]))
  247.         {
  248.             if(propriedade[i][pr_porta] == true) return true;
  249.             SetPlayerPos(playerid, propriedade[i][pr_int_posicao][0], propriedade[i][pr_int_posicao][1], propriedade[i][pr_int_posicao][2]);
  250.             SetPlayerFacingAngle(playerid, propriedade[i][pr_int_posicao][3]);
  251.             SetPlayerVirtualWorld(playerid, propriedade[i][pr_world]);
  252.             SetPlayerInterior(playerid, propriedade[i][pr_interior]);
  253.             break;
  254.         }
  255.         else if(IsPlayerInRangeOfPoint(playerid, 1.0, garagem[i][gr_ext_posicao][0], garagem[i][gr_ext_posicao][1], garagem[i][gr_ext_posicao][2]))
  256.         {
  257.             if(garagem[i][gr_portao] == true) return true;
  258.             if(IsPlayerInAnyVehicle(playerid))
  259.             {
  260.                 int vehicle;
  261.                 vehicle = GetPlayerVehicleID(playerid);
  262.                 SetVehiclePos(vehicle, garagem[i][gr_int_posicao][0], garagem[i][gr_int_posicao][1], garagem[i][gr_int_posicao][2]);
  263.                 SetVehicleZAngle(vehicle, garagem[i][gr_int_posicao][3]);
  264.                 SetVehicleVirtualWorld(vehicle, garagem[i][gr_world]);
  265.                 SetPlayerVirtualWorld(playerid, garagem[i][gr_world]);
  266.                 SetPlayerInterior(playerid, 0);
  267.                 break;
  268.             }
  269.             else
  270.             {
  271.                 SetPlayerPos(playerid, garagem[i][gr_int_posicao][0], garagem[i][gr_int_posicao][1], garagem[i][gr_int_posicao][2]);
  272.                 SetPlayerFacingAngle(playerid, garagem[i][gr_int_posicao][3]);
  273.                 SetPlayerVirtualWorld(playerid, garagem[i][gr_world]);
  274.                 SetPlayerInterior(playerid, 0);
  275.                 break;
  276.             }
  277.         }
  278.         return true;
  279.     }
  280.     return true;
  281. }
  282.  
  283. command(sair, playerid, params [])
  284. {
  285.     for(int i = 0; i < MAX_PLAYERS; i++)
  286.     {
  287.         if(IsPlayerInRangeOfPoint(playerid, 1.0, propriedade[i][pr_int_posicao][0], propriedade[i][pr_int_posicao][1], propriedade[i][pr_int_posicao][2]))
  288.         {
  289.             if(propriedade[i][pr_world] != GetPlayerVirtualWorld(playerid)) continue;
  290.             SetPlayerPos(playerid, propriedade[i][pr_ext_posicao][0], propriedade[i][pr_ext_posicao][1], propriedade[i][pr_ext_posicao][2]);
  291.             SetPlayerFacingAngle(playerid, propriedade[i][pr_ext_posicao][3]);
  292.             SetPlayerVirtualWorld(playerid, 0);
  293.             SetPlayerInterior(playerid, 0);
  294.             break;
  295.         }
  296.         else if(IsPlayerInRangeOfPoint(playerid, 5.0, garagem[i][gr_int_posicao][0], garagem[i][gr_int_posicao][1], garagem[i][gr_int_posicao][2]))
  297.         {
  298.             if(garagem[i][gr_world] != GetPlayerVirtualWorld(playerid)) continue;
  299.             if(IsPlayerInAnyVehicle(playerid))
  300.             {
  301.                 int vehicle;
  302.                 vehicle = GetPlayerVehicleID(playerid);
  303.                 SetVehiclePos(vehicle, garagem[i][gr_ext_posicao][0], garagem[i][gr_ext_posicao][1], garagem[i][gr_ext_posicao][2]);
  304.                 SetVehicleZAngle(vehicle, garagem[i][gr_ext_posicao][3]);
  305.                 SetVehicleVirtualWorld(vehicle, 0);
  306.                 SetPlayerVirtualWorld(playerid, 0);
  307.                 SetPlayerInterior(playerid, 0);
  308.                 break;
  309.             }
  310.             else
  311.             {
  312.                 SetPlayerPos(playerid, garagem[i][gr_ext_posicao][0], garagem[i][gr_ext_posicao][1], garagem[i][gr_ext_posicao][2]);
  313.                 SetPlayerFacingAngle(playerid, garagem[i][gr_ext_posicao][3]);
  314.                 SetPlayerVirtualWorld(playerid, 0);
  315.                 SetPlayerInterior(playerid, 0);
  316.                 break;
  317.             }
  318.         }
  319.         return true;
  320.     }
  321.     return true;
  322. }
  323.  
  324. public OnGameModeInit()
  325. {
  326.     Interiores();
  327.     DisableInteriorEnterExits();
  328.     return true;
  329. }
  330.  
  331. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  332. {
  333.     if((newkeys == KEY_SECONDARY_ATTACK))
  334.     {
  335.         for(int i = 0; i < MAX_PLAYERS; i++)
  336.         {
  337.             if(IsPlayerInRangeOfPoint(playerid, 1.0, propriedade[i][pr_ext_posicao][0], propriedade[i][pr_ext_posicao][1], propriedade[i][pr_ext_posicao][2]))
  338.             {
  339.                 if(propriedade[i][pr_porta] == true) return true;
  340.                 SetPlayerPos(playerid, propriedade[i][pr_int_posicao][0], propriedade[i][pr_int_posicao][1], propriedade[i][pr_int_posicao][2]);
  341.                 SetPlayerFacingAngle(playerid, propriedade[i][pr_int_posicao][3]);
  342.                 SetPlayerVirtualWorld(playerid, propriedade[i][pr_world]);
  343.                 SetPlayerInterior(playerid, propriedade[i][pr_interior]);
  344.                 break;
  345.             }
  346.             else if(IsPlayerInRangeOfPoint(playerid, 1.0, propriedade[i][pr_int_posicao][0], propriedade[i][pr_int_posicao][1], propriedade[i][pr_int_posicao][2]))
  347.             {
  348.                 if(propriedade[i][pr_world] != GetPlayerVirtualWorld(playerid)) continue;
  349.                 SetPlayerPos(playerid, propriedade[i][pr_ext_posicao][0], propriedade[i][pr_ext_posicao][1], propriedade[i][pr_ext_posicao][2]);
  350.                 SetPlayerFacingAngle(playerid, propriedade[i][pr_ext_posicao][3]);
  351.                 SetPlayerVirtualWorld(playerid, 0);
  352.                 SetPlayerInterior(playerid, 0);
  353.                 break;
  354.             }
  355.             else if(IsPlayerInRangeOfPoint(playerid, 1.0, garagem[i][gr_ext_posicao][0], garagem[i][gr_ext_posicao][1], garagem[i][gr_ext_posicao][2]))
  356.             {
  357.                 if(garagem[i][gr_portao] == true) return true;
  358.                 if(IsPlayerInAnyVehicle(playerid))
  359.                 {
  360.                     /*int vehicle;
  361.                     vehicle = GetPlayerVehicleID(playerid);
  362.                     SetVehiclePos(vehicle, garagem[i][gr_int_posicao][0], garagem[i][gr_int_posicao][1], garagem[i][gr_int_posicao][2]);
  363.                     SetVehicleZAngle(vehicle, garagem[i][gr_int_posicao][3]);
  364.                     SetVehicleVirtualWorld(vehicle, garagem[i][gr_world]);
  365.                     SetPlayerVirtualWorld(playerid, garagem[i][gr_world]);
  366.                     SetPlayerInterior(playerid, 0);*/
  367.                     break;
  368.                 }
  369.                 else
  370.                 {
  371.                     SetPlayerPos(playerid, garagem[i][gr_int_posicao][0], garagem[i][gr_int_posicao][1], garagem[i][gr_int_posicao][2]);
  372.                     SetPlayerFacingAngle(playerid, garagem[i][gr_int_posicao][3]);
  373.                     SetPlayerVirtualWorld(playerid, garagem[i][gr_world]);
  374.                     SetPlayerInterior(playerid, 0);
  375.                     break;
  376.                 }
  377.                
  378.             }
  379.             else if(IsPlayerInRangeOfPoint(playerid, 1.0, garagem[i][gr_int_posicao][0], garagem[i][gr_int_posicao][1], garagem[i][gr_int_posicao][2]))
  380.             {
  381.                 if(garagem[i][gr_world] != GetPlayerVirtualWorld(playerid)) continue;
  382.                 if(IsPlayerInAnyVehicle(playerid))
  383.                 {
  384.                     /*int vehicle;
  385.                     vehicle = GetPlayerVehicleID(playerid);
  386.                     SetVehiclePos(vehicle, garagem[i][gr_ext_posicao][0], garagem[i][gr_ext_posicao][1], garagem[i][gr_ext_posicao][2]);
  387.                     SetVehicleZAngle(vehicle, garagem[i][gr_ext_posicao][3]);
  388.                     SetVehicleVirtualWorld(vehicle, 0);
  389.                     SetPlayerVirtualWorld(playerid, 0);
  390.                     SetPlayerInterior(playerid, 0);*/
  391.                     break;
  392.                 }
  393.                 else
  394.                 {
  395.                     SetPlayerPos(playerid, garagem[i][gr_ext_posicao][0], garagem[i][gr_ext_posicao][1], garagem[i][gr_ext_posicao][2]);
  396.                     SetPlayerFacingAngle(playerid, garagem[i][gr_ext_posicao][3]);
  397.                     SetPlayerVirtualWorld(playerid, 0);
  398.                     SetPlayerInterior(playerid, 0);
  399.                     break;
  400.                 }
  401.             }
  402.         }
  403.         return true;
  404.     }
  405.     return true;
  406. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement