SA-MP Forums

SA-MP Forums (https://forum.sa-mp.com/index.php)
-   Lançamentos/Releases (https://forum.sa-mp.com/forumdisplay.php?f=56)
-   -   [FilterScript] Profissão "Fabricante" (https://forum.sa-mp.com/showthread.php?t=676966)

uliano 25/06/2020 01:36 PM

Profissão Fabricante v1
 
Bom, Recentemente eu resolvi praticar um Pouco do que eu sei (Que é Muito Pouco mesmo..)E o Resultado foi esse ai, Uma Pequena Profissão, Pretendo Melhorar ela algum dia, mais enfim, espero que curtam, pq eu adorei :/, é meu primeiro projeto digamos assim...

Vídeo De Visualização

O Sistema:

Code:

///includes///
#include <a_samp>
#include <zcmd>
///includes///

///Defines///
#define FILTERSCRIPT
#define COR_TEXTOS 0xFFFFFF88
#define VERMELHO 0xFB0000FF
#define AMARELO 0xFFFF00FF
#define AZUL_CLARO 0x00C2ECFF
#define VERDE 0x9ACD32AA
#define DialogBoxEx 1
///Defines///

///news///
new EntradaPickup;
new SaidaPickup;
new fab[MAX_PLAYERS];
new UsouComando[MAX_PLAYERS];
new funcdomes;
new vigarista;
new chefe;
new Fabricante[MAX_PLAYERS]; 
new FabricanteTrabalhando[MAX_PLAYERS];
new CarFab[4];
///news///

public OnFilterScriptInit()
{
        Create3DTextLabel("{FFFFFF}aperte a tecla {30E7F8}F{FFFFFF} para entrar",COR_TEXTOS, 1779.0621,-1662.8247,14.4381+1, 15, 0);
        Create3DTextLabel("{FFFFFF}aperte a tecla {30E7F8}F{FFFFFF} para sair",COR_TEXTOS, 1062.2560,2077.3176,10.8203+1, 15, 0);
        Create3DTextLabel("{FFFFFF}Ola, Eu Sou o {30E7F8}Nathan {FFFFFF}Funcionario do Mes\nDicas?!?, Aperte F aqui..",COR_TEXTOS, 1077.9709,2086.6970,12.6279+1, 15, 0);
        Create3DTextLabel("{FFFFFF}Ola, Eu Sou o {30E7F8}Daniel {FFFFFF}Quer Saber por que Não sou o Funcionario do Mes?\nAperte F aqui..",COR_TEXTOS, 1057.6287,2085.4500,10.8203+1, 15, 0);
        Create3DTextLabel("{FFFFFF}Ola, Eu Sou o {30E7F8}Juliano {FFFFFF}Seu CHEFE\nVejamos Quantos Voce Ganhou...",COR_TEXTOS, 1086.4468,2121.7532,15.3504+1, 15, 0);
        Create3DTextLabel("{FFA500}Emprego Fabrica\n{FFFFFF}Digite /empregofabrica",0xFFA500AA,1773.0682,-1660.6495,14.4254,10.0,0);
        CarFab[0] = AddStaticVehicle(543,1760.5476,-1660.5618,13.3748,89.1338,1,1);
        CarFab[1] = AddStaticVehicle(543,1760.6503,-1663.5511,13.3736,90.8183,1,1);
        CarFab[2] = AddStaticVehicle(461,1760.6465,-1665.9012,13.1429,90.8826,1,1);
        AddStaticPickup(1210, 23, 1773.0682,-1660.6495,14.4254);
        EntradaPickup = CreatePickup(1318, 23, 1779.0621,-1662.8247,14.4381, -1);
        SaidaPickup = CreatePickup(1318, 23, 1062.2560,2077.3176,10.8203, -1);
        funcdomes = CreateActor (8, 1077.9709,2086.6970,12.6279,96.4708);
        ApplyActorAnimation(funcdomes, "ped","IDLE_chat", 4.1,1,0,0,1,0);
        vigarista = CreateActor (163, 1057.6287,2085.4500,10.8203,271.6024);
        ApplyActorAnimation(vigarista, "ped","IDLE_chat", 4.1,1,0,0,1,0);
        chefe = CreateActor (18, 1086.4468,2121.7532,15.3504,192.9545);
        ApplyActorAnimation(chefe, "ped","IDLE_chat", 4.1,1,0,0,1,0);
        return 1;
}

public OnFilterScriptExit()
{
        return 1;
}


main()
{
        print("\n----------------------------------");
        print("Certamente o Sistema ta Ligado!!");
        print("----------------------------------\n");
}


public OnPlayerConnect(playerid)
{
        Fabricante[playerid] = 0; FabricanteTrabalhando[playerid] = 0;
        return 1;
}

public OnPlayerDisconnect(playerid, reason)
{
    Fabricante[playerid] = 0; FabricanteTrabalhando[playerid] = 0;
        return 1;
}

public OnPlayerSpawn(playerid)
{
        SetPlayerPos(playerid, 1766.9008,-1667.1234,14.4103);
        return 1;
}

public OnPlayerStateChange(playerid, newstate, oldstate)
{
    new veiculo = GetPlayerVehicleID(playerid);
    if(veiculo == CarFab[0] || veiculo == CarFab[1] || veiculo == CarFab[2] || veiculo == CarFab[3])
        {
        if(Fabricante[playerid] == 0)
        {
        SendClientMessage(playerid,VERMELHO,"ERRO: Veiculo reservado para os Fabricantes");
        RemovePlayerFromVehicle(playerid);
        return 1;
        }
        else if(FabricanteTrabalhando[playerid] == 0) return SendClientMessage(playerid,VERDE,"INFO: Veiculo da Fabrica Quebrar, perdera Sua Casa!!!, Use com Cuidado");
        return 1;
        }
        return 1;
}

public OnPlayerEnterCheckpoint(playerid)
{
    if(fab[playerid] == 1)
    {
//        ApplyAnimation(playerid, "BOMBER", "BOM_Plant", 4.1, 0, 1, 0, 0, -1);
        DisablePlayerCheckpoint(playerid);
        fab[playerid] = 2;
        SetPlayerCheckpoint(playerid, 1060.5924,2093.0979,10.8203, 2.0);
        SendClientMessage(playerid, 0xFFFFFFFF, "Você Montou Uma Peça, vá para o próximo Checkpoint");
        return 1;
    }
    else if(fab[playerid] == 2)
    {
        ApplyAnimation(playerid, "GANGS", "DEALER_DEAL", 10.1, 0, 1, 0, 0, -1);
        DisablePlayerCheckpoint(playerid);
        fab[playerid] = 3;
        SetPlayerCheckpoint(playerid, 1060.9850,2099.4604,10.8203, 2.0);
        SendClientMessage(playerid, 0xFFFFFFFF, "Você Montou Uma Peça, vá para o próximo Checkpoint");
        return 1;
    }
    else if(fab[playerid] == 3)
    {
        ApplyAnimation(playerid, "GANGS", "DEALER_DEAL", 10.1, 0, 1, 0, 0, -1);
        DisablePlayerCheckpoint(playerid);
        fab[playerid] = 4;
        SetPlayerCheckpoint(playerid, 1064.5771,2100.8745,10.8203, 2.0);
        SendClientMessage(playerid, 0xFFFFFFFF, "Você Montou Uma Peça, vá para o próximo Checkpoint");
        return 1;
    }
    else if(fab[playerid] == 4)
    {
        ApplyAnimation(playerid, "GANGS", "DEALER_DEAL", 10.1, 0, 1, 0, 0, -1);
        DisablePlayerCheckpoint(playerid);
        fab[playerid] = 5;
        SetPlayerCheckpoint(playerid, 1071.7848,2101.3376,10.8203, 2.0);
        SendClientMessage(playerid, 0xFFFFFFFF, "Você Montou Uma Peça, vá para o próximo Checkpoint");
        return 1;
    }
    else if(fab[playerid] == 5)
    {
        ApplyAnimation(playerid, "GANGS", "DEALER_DEAL", 10.1, 0, 1, 0, 0, -1);
        DisablePlayerCheckpoint(playerid);
        fab[playerid] = 6;
        SetPlayerCheckpoint(playerid, 1072.6425,2097.6826,10.8203, 2.0);
        SendClientMessage(playerid, 0xFFFFFFFF, "Você Montou Uma Peça, vá para o próximo Checkpoint");
        return 1;
    }
    else if(fab[playerid] == 6)
    {
        ApplyAnimation(playerid, "GANGS", "DEALER_DEAL", 10.1, 0, 1, 0, 0, -1);
        DisablePlayerCheckpoint(playerid);
        fab[playerid] = 7;
        SetPlayerCheckpoint(playerid, 1063.8796,2097.6338,10.8203, 2.0);
        SendClientMessage(playerid, 0xFFFFFFFF, "Você Montou Uma Peça, vá para o próximo Checkpoint");
        return 1;
    }
    else if(fab[playerid] == 7)
    {
        ApplyAnimation(playerid, "GANGS", "DEALER_DEAL", 10.1, 0, 1, 0, 0, -1);
        DisablePlayerCheckpoint(playerid);
        fab[playerid] = 8;
        SetPlayerCheckpoint(playerid, 1058.2371,2119.9094,10.8203, 2.0);
        SendClientMessage(playerid, 0xFFFFFFFF, "Você Montou Uma Peça, vá para o próximo Checkpoint");
        return 1;
    }
    else if(fab[playerid] == 8)
    {
        ApplyAnimation(playerid, "GANGS", "DEALER_DEAL", 10.1, 0, 1, 0, 0, -1);
        DisablePlayerCheckpoint(playerid);
        fab[playerid] = 9;
        SetPlayerCheckpoint(playerid, 1058.5020,2125.0527,10.8203, 2.0);
        SendClientMessage(playerid, 0xFFFFFFFF, "Você Montou Uma Peça, vá para o próximo Checkpoint");
        return 1;
    }
    else if(fab[playerid] == 9)
    {
        ApplyAnimation(playerid, "GANGS", "DEALER_DEAL", 10.1, 0, 1, 0, 0, -1);
        DisablePlayerCheckpoint(playerid);
        fab[playerid] = 10;
        SetPlayerCheckpoint(playerid, 1091.8154,2077.7617,15.3504, 2.0);
        SendClientMessage(playerid, 0xFFFFFFFF, "Você Montou Uma Peça, vá para o próximo Checkpoint");
        return 1;
    }
    else if(fab[playerid] == 10)
    {
        ApplyAnimation(playerid, "GANGS", "DEALER_DEAL", 10.1, 0, 1, 0, 0, -1);
        DisablePlayerCheckpoint(playerid);
        fab[playerid] = 11;
        SetPlayerCheckpoint(playerid, 1092.4624,2086.0024,15.3504, 2.0);
        SendClientMessage(playerid, 0xFFFFFFFF, "Você Montou Uma Peça, vá para o próximo Checkpoint");
        return 1;
    }
    else if(fab[playerid] == 11)
    {
        ApplyAnimation(playerid, "GANGS", "DEALER_DEAL", 10.1, 0, 1, 0, 0, -1);
        DisablePlayerCheckpoint(playerid);
        fab[playerid] = 12;
        SetPlayerCheckpoint(playerid, 1086.0305,2120.2253,15.3504, 2.0);
        SendClientMessage(playerid, 0xFFFFFFFF, "Você Montou Uma Peça, vá para o próximo Checkpoint");
        return 1;
    }
    else if(fab[playerid] == 12)
    {
        ApplyAnimation(playerid, "GANGS", "DEALER_DEAL", 10.1, 0, 1, 0, 0, -1);
        DisablePlayerCheckpoint(playerid);
        fab[playerid] = 13;
        SetPlayerCheckpoint(playerid, 1086.7411,2120.1260,15.3504, 2.0);
        SendClientMessage(playerid, 0xFFFFFFFF, "Você Montou Uma Peça, vá para o próximo Checkpoint");
        return 1;
    }
    if(fab[playerid] == 13)
    {
        ApplyAnimation(playerid, "GANGS", "DEALER_DEAL", 10.1, 0, 1, 0, 0, -1);
        new reward, string[128];
        DisablePlayerCheckpoint(playerid);
        fab[playerid] = 0;
        reward = GivePlayerMoney(playerid, GetPlayerMoney(playerid) + random(5000) + 1000);
        format(string, sizeof(string), "Voce Terminou a Produção de Joias");
        SendClientMessage(playerid, 0xFFFFFFFF, string);
    }
    return 1;
}

public OnPlayerPickUpPickup(playerid, pickupid)
{
if(pickupid == EntradaPickup)
{
//        SetPlayerInterior(playerid, 11); // Interior Do Local que Será Setado.
//        SetPlayerPos(playerid, 932.6444,2150.4995,1011.0234); // Setando ele Para Dentro do Interior.
}
if(pickupid == SaidaPickup)
{
//    SetPlayerInterior(playerid, 0); // Interior Do Local que Será Setado.
//    SetPlayerPos(playerid, 1779.0621,-1662.8247,14.4381); // Setando ele Para Fóra Ou Seja Saindo do Interior.
}
        return 1;
}

public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if ((newkeys==KEY_SECONDARY_ATTACK)) // Key ( F / Enter )
{
          cmd_entrarfabrica(playerid); // Ao Apertar "F" Funcionará o Comando Do Lado.
        cmd_sairfabrica(playerid); // Ao Apertar "F" Funcionará o Comando Do Lado.
        cmd_ajudafabrica(playerid); // Ao Apertar "F" Funcionará o Comando Do Lado.
        cmd_troll(playerid); // Ao Apertar "F" Funcionará o Comando Do Lado.
  //Se Quiser Colocar mais, a vontade.
}
        return 1;
}

///Comandos///
CMD:entrarfabrica(playerid)
{
  if(IsPlayerInRangeOfPoint(playerid, 2.0, 1779.0621,-1662.8247,14.4381))
  {
      SetPlayerInterior(playerid, 0);
      SetPlayerPos(playerid, 1062.2560,2077.3176,10.8203);
  }
  return true; // Returnando a 1
}

CMD:sairfabrica(playerid)
{
  if(IsPlayerInRangeOfPoint(playerid, 2.0, 1062.2560,2077.3176,10.8203))
  {
      SetPlayerInterior(playerid, 0); // Setando o Interior ao Sair.
      SetPlayerPos(playerid, 1779.0621,-1662.8247,14.4381); // Setado Para Aqui ( TELE )
  }
  return true; // Returnando a 1
}
CMD:comecar(playerid, cmdtext)
{
        if(Fabricante[playerid] == 0) return SendClientMessage(playerid,VERMELHO,"ERRO: Você não é um Fabricante, Pegue a Profissão!");
        if(!IsPlayerInRangeOfPoint(playerid, 2.0, 1062.2560,2077.3176,10.8203)) return SendClientMessage(playerid,0xE74C3CFF,"ERRO: Você não está no local correto!");
        if(UsouComando[playerid] > gettime()) return SendClientMessage(playerid, -1,  "Você usou este comando recentemente. Aguarde algum tempo para usá-lo novamente.");
    fab[playerid] = 1;
    SetPlayerCheckpoint(playerid, 1060.5924,2093.0979,10.8203, 2.0);
    UsouComando[playerid] = gettime() + 240;
    SendClientMessage(playerid, 0xFFFFFFFF, "Você Começou a Montagem de Joias, Vá até o CheckPoint para Iniciar!!");
    SetPlayerSkin(playerid, 8);
    return 1;
}
CMD:fabrica(playerid)
{
        SetPlayerPos(playerid, 1761.3630,-1663.6487,13.5593);
        return 1;
}
CMD:ajudafabrica(playerid)
{
        if(Fabricante[playerid] == 0) return SendClientMessage(playerid,VERMELHO,"ERRO: Você não é um Fabricante!");
        if(IsPlayerInRangeOfPoint(playerid, 2.0, 375.5736,-68.2086,1001.5151)) return SendClientMessage(playerid,VERMELHO,"ERRO: Você não é um Fabricante!");
        new str[512];
        format(str, sizeof(str), "Digite /comecar perto da porta de entrada para iniciar seu trabalho na Fabrica.\n Cuidado Em quem voce confia aqui na fabrica, eles podem te passar a perna, Inclusive o Tal do ""Daniel"" \n Os Valores Finais são aleatorios, as vezes Bom, as vezes Ruin, Boa Sorte Novato", playerid);
        ShowPlayerDialog(playerid, DialogBoxEx, DIALOG_STYLE_MSGBOX, "Instruções", str, "Ok", "Cancelar");
        return 1;
}
CMD:empregofabrica(playerid)
{
    if(!IsPlayerInRangeOfPoint(playerid, 2.0, 1773.0682,-1660.6495,14.4254)) return SendClientMessage(playerid,VERMELHO,"ERRO: Você não está no local correto!");
    if(Fabricante[playerid] == 1) return SendClientMessage(playerid,VERMELHO,"ERRO: Você já é um Fabricante!");
        SendClientMessage(playerid,AZUL_CLARO,"INFO: Parabéns, vocé virou um Fabricante!Converse com o Funcionario do Mes para ver seus comandos");
        Fabricante[playerid] = 1; SetPlayerSkin(playerid, 8);
        return 1;
}
CMD:troll(playerid)
{
        if(!IsPlayerInRangeOfPoint(playerid, 2.0, 1057.6287,2085.4500,10.8203))
        SetPlayerInterior(playerid, 0);
        SetPlayerPos(playerid, 1548.5536,-1354.3528,329.4686);
        SendClientMessage(playerid,0xE74C3CFF,"POR CAUSA DISSO!!! +1 ENGANADO KKKKKKKKKKKKKKKKKKKKKK");
        return 1;
}

Obvio que aceito Criticas Construtivas, ou Dicas de como melhorar, desde que elas sejam saudáveis, sem toxidade Ok?, Tchau e Obrigado

Hazard 25/06/2020 01:50 PM

Re: Profissão "Fabricante"
 
achei legal e criativo parabéns :)

PaulinSAMP 25/06/2020 04:43 PM

Re: Profissão "Fabricante"
 
ficou básico, mas como disse é o seu primeiro projeto, mas parabéns ficou bom e criativo !

NelsonC 25/06/2020 04:48 PM

Re: Profissão "Fabricante"
 
Quote:

Join Date: Oct 2015
Você está no samp desde 2015, poderia deixar esse code bem melhor.
Enfim, sistema básico mas bom.

uliano 25/06/2020 05:41 PM

Re: Profissão "Fabricante"
 
Quote:

Originally Posted by NelsonC (Post 4153038)
Você está no samp desde 2015, poderia deixar esse code bem melhor.
Enfim, sistema básico mas bom.

Realmente, Mais nessa epoca, eu eu éra um CTRL C e CTRL V, Não sabia nada, hj eu melhorei um pouco, criei juizo e vergonha na cara, e procurei aprender, Obrigado pelo feedback, vcs que me motivam a Melhorar :D

Diguinho278 28/07/2020 11:15 AM

Re: Profissão "Fabricante"
 
Vou te dar uma sugestão!

ex : Cada vez q ele montar uma peça receber 1 'notinha' [ anotado q ele montou uma peça ]
Quando ele passar em 10 check ganhar 180 reais e assim vai indo , e assim as ideias vai surgindo e vc vai sempre melhorando essa profissão , abraços!

Gguiz 28/07/2020 02:17 PM

Re: Profissão "Fabricante"
 
Todo esforço é válido. A felicidade de quando conseguimos alcançar algo que outrora parecia impossível é surpreendente. Parabéns, você merece.


All times are GMT. The time now is 03:32 PM.

Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.