Advertisement
Don_Speed

Empresas

Sep 8th, 2018
936
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 11.56 KB | None | 0 0
  1. /*    COMANDOS
  2. /MINHAEMPRESA
  3. POSTOS DE GASOLINA - ha fazer
  4. LOJA DE CELULAR - /valorreset
  5. OPERADORAS - /valoraparelho - /valorcredito
  6.  
  7. */
  8.  
  9. #define  MAX_EMPRESAS     13
  10. #define  MAX_ITENS        5
  11.  
  12. #define     EmpresaSalva                 "BrasilRolePlay/Empresas/%d.ini"
  13.  
  14. new Text3D:PickEmpresa[MAX_EMPRESAS], PickEmpresa2[MAX_EMPRESAS];
  15. enum einf{
  16.      eID,
  17.      eNome[24],
  18.      Float:eX,
  19.      Float:eY,
  20.      Float:eZ,
  21.      eValor,
  22.      eMProduto,
  23.      //--
  24.      eDono[24],
  25.      eCofre,
  26.      eProdutos,
  27.      eItem[MAX_ITENS]
  28. }
  29. new EmpresaInfo[MAX_EMPRESAS][einf] = {
  30. {0, "ERRO", 0.0, 0.0, 0.0, 0, 0},
  31. {1, "Posto Commerce", 1375.5426, -1766.5764, 13.6156, 600000, 6000},
  32. {2, "Posto Idlewood", 1928.8322,-1776.3713,13.5469, 600000, 6000},
  33. {3, "Posto International", 1439.7448,-2221.4146,13.5469, 600000, 6000},
  34. {4, "Posto MulHoland", 1000.2529,-919.8860,42.3281, 600000, 6000},
  35. {5, "Posto County", -78.3788,-1169.9130,2.1354, 400000, 6000},
  36. {6, "Loja de celulares", 1114.1182,-1370.0334,13.9844, 150000, 1000},// 1 prod 2 reset
  37. {7, "TIM", 1438.1327,-1010.6299,26.8438, 350000, 500},
  38. {8, "CLARO", 1449.4279,-1010.9775,26.8438, 350000, 500},
  39. {9, "OI", 1458.9500,-1010.9035,26.8438, 350000, 500}, // 2 prod | 3 creditos | 4 celular
  40. {10, "VIVO", 1468.8394,-1010.8264,26.8438, 350000, 500},
  41. {11, "DON TELEFONIA", 1478.9253,-1010.8315,26.8438, 350000, 500},
  42. {12, "Auto Escola", 1547.0178,-1137.1910,24.0721, 500000, 500}
  43. };
  44.  
  45. stock SalvarEmpresa()
  46. {
  47.     for(new id = 1; id<MAX_EMPRESAS; id++)
  48.     {
  49.         format(EmGeral, sizeof(EmGeral), EmpresaSalva , id);
  50.         if(!DOF2_FileExists(EmGeral))
  51.         {
  52.             DOF2_CreateFile(EmGeral);
  53.             DOF2_SetString(EmGeral,"Nome",EmpresaInfo[id][eNome]);
  54.             DOF2_SetFloat(EmGeral,"X",EmpresaInfo[id][eX]);
  55.             DOF2_SetFloat(EmGeral,"Y",EmpresaInfo[id][eY]);
  56.             DOF2_SetFloat(EmGeral,"Z",EmpresaInfo[id][eZ]);
  57.             DOF2_SetInt(EmGeral,"Valor",EmpresaInfo[id][eValor]);
  58.             DOF2_SetInt(EmGeral,"MProduto",EmpresaInfo[id][eMProduto]);
  59.            
  60.             format(EmpresaInfo[id][eDono], 24, "Ninguem");
  61.             DOF2_SetString(EmGeral,"Dono", "Ninguem");
  62.            
  63.             EmpresaInfo[id][eCofre] = 100;
  64.             DOF2_SetInt(EmGeral,"Cofre",EmpresaInfo[id][eCofre]);
  65.             EmpresaInfo[id][eProdutos] = EmpresaInfo[id][eMProduto] / 7;
  66.             DOF2_SetInt(EmGeral,"Produtos",EmpresaInfo[id][eProdutos]);
  67.            
  68.             new strintem[24];
  69.             for(new item = 1; item<MAX_ITENS; item++)
  70.             {
  71.                 EmpresaInfo[id][eItem][item] = 15;
  72.                 format(strintem, sizeof strintem, "Item %d", item);
  73.                 DOF2_SetInt(EmGeral, strintem, EmpresaInfo[id][eItem][item]);
  74.             }
  75.             DOF2_SaveFile();
  76.         }
  77.         else
  78.         {
  79.             DOF2_SetString(EmGeral,"Nome",EmpresaInfo[id][eNome]);
  80.             DOF2_SetFloat(EmGeral,"X",EmpresaInfo[id][eX]);
  81.             DOF2_SetFloat(EmGeral,"Y",EmpresaInfo[id][eY]);
  82.             DOF2_SetFloat(EmGeral,"Z",EmpresaInfo[id][eZ]);
  83.             DOF2_SetInt(EmGeral,"Valor",EmpresaInfo[id][eValor]);
  84.             DOF2_SetInt(EmGeral,"MProduto",EmpresaInfo[id][eMProduto]);
  85.  
  86.             DOF2_SetString(EmGeral,"Dono", EmpresaInfo[id][eDono]);
  87.             DOF2_SetInt(EmGeral,"Cofre",EmpresaInfo[id][eCofre]);
  88.             DOF2_SetInt(EmGeral,"Produtos",EmpresaInfo[id][eProdutos]);
  89.             new strintem[24];
  90.             for(new item = 1; item<MAX_ITENS; item++)
  91.             {
  92.                 format(strintem, sizeof strintem, "Item %d", item);
  93.                 DOF2_SetInt(EmGeral, strintem, EmpresaInfo[id][eItem][item]);
  94.             }
  95.             DOF2_SaveFile();
  96.         }
  97.     }
  98.     return true;
  99. }
  100. stock CarregarEmpresa()
  101. {
  102.     for(new id = 1; id<MAX_EMPRESAS; id++)
  103.     {
  104.         format(EmGeral, sizeof(EmGeral), EmpresaSalva , id);
  105.         if(DOF2_FileExists(EmGeral))
  106.         {
  107.             format(EmpresaInfo[id][eNome], 24, DOF2_GetString(EmGeral,"Nome"));
  108.             EmpresaInfo[id][eX] = DOF2_GetFloat(EmGeral,"X");
  109.             EmpresaInfo[id][eY] = DOF2_GetFloat(EmGeral,"Y");
  110.             EmpresaInfo[id][eZ] = DOF2_GetFloat(EmGeral,"Z");
  111.             EmpresaInfo[id][eValor] = DOF2_GetInt(EmGeral,"Valor");
  112.             EmpresaInfo[id][eMProduto] = DOF2_GetInt(EmGeral,"MProduto");
  113.  
  114.             format(EmpresaInfo[id][eDono], 24, DOF2_GetString(EmGeral,"Dono"));
  115.             EmpresaInfo[id][eCofre] = DOF2_GetInt(EmGeral,"Cofre");
  116.             EmpresaInfo[id][eProdutos] = DOF2_GetInt(EmGeral,"Produtos");
  117.             new strintem[24];
  118.             for(new item = 1; item<MAX_ITENS; item++)
  119.             {
  120.                 format(strintem, sizeof strintem, "Item %d", item);
  121.                 EmpresaInfo[id][eItem][item] = DOF2_GetInt(EmGeral, strintem);
  122.             }
  123.         }
  124.         else
  125.         {
  126.             DOF2_CreateFile(EmGeral);
  127.             DOF2_SetString(EmGeral,"Nome",EmpresaInfo[id][eNome]);
  128.             DOF2_SetFloat(EmGeral,"X",EmpresaInfo[id][eX]);
  129.             DOF2_SetFloat(EmGeral,"Y",EmpresaInfo[id][eY]);
  130.             DOF2_SetFloat(EmGeral,"Z",EmpresaInfo[id][eZ]);
  131.             DOF2_SetInt(EmGeral,"Valor",EmpresaInfo[id][eValor]);
  132.             DOF2_SetInt(EmGeral,"MProduto",EmpresaInfo[id][eMProduto]);
  133.  
  134.             format(EmpresaInfo[id][eDono], 24, "Ninguem");
  135.             DOF2_SetString(EmGeral,"Dono", "Ninguem");
  136.  
  137.             EmpresaInfo[id][eCofre] = 100;
  138.             DOF2_SetInt(EmGeral,"Cofre",EmpresaInfo[id][eCofre]);
  139.             EmpresaInfo[id][eProdutos] = EmpresaInfo[id][eMProduto] / 3;
  140.             DOF2_SetInt(EmGeral,"Produtos",EmpresaInfo[id][eProdutos]);
  141.  
  142.             new strintem[24];
  143.             for(new item = 1; item<MAX_ITENS; item++)
  144.             {
  145.                 EmpresaInfo[id][eItem][item] = 15;
  146.                 format(strintem, sizeof strintem, "Item %d", item);
  147.                 DOF2_SetInt(EmGeral, strintem, EmpresaInfo[id][eItem][item]);
  148.             }
  149.             DOF2_SaveFile();
  150.         }
  151.     }
  152.     CriarInfo();
  153.     return true;
  154. }
  155. stock CriarInfo()
  156. {
  157.     new StringDESD[500];
  158.     for(new id = 1; id<MAX_EMPRESAS; id++)
  159.     {
  160.         PickEmpresa2[id] = CreatePickup(19523, 1, EmpresaInfo[id][eX],EmpresaInfo[id][eY],EmpresaInfo[id][eZ],-1);
  161.  
  162.         if(!strcmp(EmpresaInfo[id][eDono],"Ninguem",true))
  163.         {
  164.            format(StringDESD, sizeof StringDESD, "{FFFFFF}%s\nDono: %s\nMateriais:%d/%d\nValor Prod.: R$ %d,00\n\n/comprarempresa",\
  165.            EmpresaInfo[id][eNome], EmpresaInfo[id][eDono],EmpresaInfo[id][eProdutos],EmpresaInfo[id][eMProduto], EmpresaInfo[id][eItem][1]);
  166.         }
  167.         else{
  168.            format(StringDESD, sizeof StringDESD, "{FFFFFF}%s\nDono: %s\nMateriais:%d/%d\nValor Prod.: R$ %d,00", EmpresaInfo[id][eNome], EmpresaInfo[id][eDono],EmpresaInfo[id][eProdutos],EmpresaInfo[id][eMProduto], EmpresaInfo[id][eItem][1]);
  169.         }
  170.         PickEmpresa[id] = Create3DTextLabel(StringDESD, -1, EmpresaInfo[id][eX], EmpresaInfo[id][eY], EmpresaInfo[id][eZ], 15.0, 0, 0);
  171.     }
  172.     return true;
  173. }
  174. stock UpDateEmpresa(id)
  175. {
  176.     new SSStringDE[500];
  177.     if(!strcmp(EmpresaInfo[id][eDono],"Ninguem",true))
  178.     {
  179.        format(SSStringDE, sizeof SSStringDE, "{FFFFFF}%s\nDono: %s\nMateriais:%d/%d\nValor Prod.: R$ %d,00\n\n/comprarempresa", EmpresaInfo[id][eNome], EmpresaInfo[id][eDono],EmpresaInfo[id][eProdutos],EmpresaInfo[id][eMProduto], EmpresaInfo[id][eItem][1]);
  180.     }
  181.     else{
  182.       format(SSStringDE, sizeof SSStringDE, "{FFFFFF}%s\nDono: %s\nMateriais:%d/%d\nValor Prod.: R$ %d,00", EmpresaInfo[id][eNome], EmpresaInfo[id][eDono],EmpresaInfo[id][eProdutos],EmpresaInfo[id][eMProduto], EmpresaInfo[id][eItem][1]);
  183.     }
  184.     Update3DTextLabelText(PickEmpresa[id], -1, SSStringDE);
  185.     return true;
  186. }
  187. command(comprarempresa, playerid, params[])return ComprarEmpresa(playerid);
  188. stock ComprarEmpresa(playerid)
  189. {
  190.     for(new id = 1; id<MAX_EMPRESAS; id++)
  191.     {
  192.        if(IsPlayerInRangeOfPoint(playerid, 3.0, EmpresaInfo[id][eX],EmpresaInfo[id][eY],EmpresaInfo[id][eZ]))
  193.        {
  194.            if(strcmp(EmpresaInfo[id][eDono],"Ninguem",true)) return SendClientMessage(playerid, -1, "Erro essa empresa ja tem dono");
  195.            if(PlayerInfo[playerid][Dinheiro] < EmpresaInfo[id][eDono])return SendClientMessage(playerid, -1, "Erro você não tem toda a grana.");
  196.  
  197.            PlayerInfo[playerid][Dinheiro] -= EmpresaInfo[id][eValor];
  198.  
  199.            format(EmpresaInfo[id][eDono], 24, DonPegaNome(playerid));
  200.  
  201.            UpDateEmpresa(id);
  202.  
  203.            SendClientMessage(playerid, -1, "Empresa comprada com sucesso");
  204.            SalvarEmpresa();
  205.            return true;
  206.        }
  207.     }
  208.     return true;
  209. }
  210. command(venderempresa, playerid, params[])return VenderEmpresa(playerid);
  211. stock VenderEmpresa(playerid)
  212. {
  213.     for(new id = 1; id<MAX_EMPRESAS; id++)
  214.     {
  215.        if(IsPlayerInRangeOfPoint(playerid, 3.0, EmpresaInfo[id][eX],EmpresaInfo[id][eY],EmpresaInfo[id][eZ]))
  216.        {
  217.           if(strcmp(EmpresaInfo[id][eDono], DonPegaNome(playerid),true)) return SendClientMessage(playerid, -1, "Erro essa empresa nao e sua.");
  218.  
  219.           PlayerInfo[playerid][Dinheiro] += EmpresaInfo[id][eValor];
  220.           format(EmpresaInfo[id][eDono], 24, "Ninguem");
  221.           UpDateEmpresa(id);
  222.           SendClientMessage(playerid, -1, "Empresa vendida com sucesso");
  223.           SalvarEmpresa();
  224.        }
  225.     }
  226.     return true;
  227. }
  228. command(minhaempresa, playerid, params[])
  229. {
  230.     new Dons[500];
  231.     for(new id = 1; id<MAX_EMPRESAS; id++)
  232.     {
  233.         if(!strcmp(EmpresaInfo[id][eDono], DonPegaNome(playerid),true)){
  234.         format(Dons, sizeof Dons, "{FFFFFF}%s | Valor R$ %d,00 | Cofre R$ %d,00",EmpresaInfo[id][eNome], EmpresaInfo[id][eValor], EmpresaInfo[id][eCofre]);
  235.         SendClientMessage(playerid, -1, Dons);}
  236.     }
  237.     return true;
  238. }
  239. command(valorcredito, playerid, params[]) // Operadoras
  240. {
  241.     new valor;
  242.     if(sscanf(params, "d", valor))return SendClientMessage(playerid, -1, "/valorcredito valor [VALOR REFERENTE A 1 CREDITO]");
  243.     if(3<(valor)>50)return SendClientMessage(playerid, -1 , "Valor acima de 3 abaixo de 50");
  244.     for(new id = 7; id<12; id++)
  245.     {
  246.         if(!strcmp(EmpresaInfo[id][eDono], DonPegaNome(playerid),true))
  247.         {
  248.             if(IsPlayerInRangeOfPoint(playerid, 3.0, EmpresaInfo[id][eX],EmpresaInfo[id][eY],EmpresaInfo[id][eZ]))
  249.             {
  250.                 EmpresaInfo[id][eItem][3] = valor;
  251.                 SendClientMessage(playerid, -1, "Valor alterado com sucesso.");
  252.                 SalvarEmpresa();
  253.             }
  254.         }
  255.     }
  256.     return true;
  257. }
  258. command(valoraparelho, playerid, params[]) // Operadoras
  259. {
  260.     new valor;
  261.     if(sscanf(params, "d", valor))return SendClientMessage(playerid, -1, "/valoraparelho valor [VALOR REFERENTE A 1 APARELHO]");
  262.     if(500<(valor)>2000)return SendClientMessage(playerid, -1 , "Valor acima de 500 abaixo de 2000");
  263.     for(new id = 7; id<12; id++)
  264.     {
  265.         if(!strcmp(EmpresaInfo[id][eDono], DonPegaNome(playerid),true))
  266.         {
  267.             if(IsPlayerInRangeOfPoint(playerid, 3.0, EmpresaInfo[id][eX], EmpresaInfo[id][eY], EmpresaInfo[id][eZ]))
  268.             {
  269.                  EmpresaInfo[id][eItem][2] = valor;
  270.                  SendClientMessage(playerid, -1, "Valor alterado com sucesso.");
  271.                  SalvarEmpresa();
  272.             }
  273.         }
  274.     }
  275.     return true;
  276. }
  277. command(valorreset, playerid, params[]) // Loja de celulares
  278. {
  279.     new valor;
  280.     if(sscanf(params, "d", valor))return SendClientMessage(playerid, -1, "/valorreset valor ");
  281.     if(500<(valor)>8000)return SendClientMessage(playerid, -1 , "Valor acima de 500 abaixo de 8000");
  282.     new id = 6;
  283.     if(!IsPlayerInRangeOfPoint(playerid, 3.0, EmpresaInfo[id][eX],EmpresaInfo[id][eY],EmpresaInfo[id][eZ]))return SendClientMessage(playerid, -1, "Esteja no incom da empresa");
  284.     if(!strcmp(EmpresaInfo[id][eDono], DonPegaNome(playerid),true))
  285.     {
  286.         EmpresaInfo[id][eItem][2] = valor;
  287.         SendClientMessage(playerid, -1, "Valor alterado com sucesso.");
  288.         SalvarEmpresa();
  289.     }
  290.     return true;
  291. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement