[Ajuda] Sistema de Profissгo
#1

Estou a um tempo a procura de um sistema de profissхes no fуrum. Nгo achei realmente um tutorial que explique muito bem. Se alguйm puder me ensinar nesse post mesmo ou mandar algum link que tutorial que vocк saiba que realmente vai me ajudar agradeзo muito
Reply
#2

https://sampforum.blast.hk/showthread.php?tid=449886
https://sampforum.blast.hk/showthread.php?tid=499591
https://sampforum.blast.hk/showthread.php?tid=280110
https://sampforum.blast.hk/showthread.php?tid=490766
https://sampforum.blast.hk/showthread.php?tid=617051
https://sampforum.blast.hk/showthread.php?tid=515680
https://sampforum.blast.hk/showthread.php?tid=265957
Espero que algum te ajude.
Reply
#3

Nгo ajudou muito nгo , mas obrigado <3
Reply
#4

Nгo deveria existir tutorial para criar um determinado sistema, vocк apenas precisa usar a logica e programaзгo que qualquer sistema pode ser formado.

Vamos lб, lуgica do sistema de empregos em script:
pawn Код:
/*

    Precisamos, primeiramente, definir quais sгo os empregos existentes, para isso,
    vamos usar um enumerador (enum) para classificar em ordem crescente cada uma.

*/

enum // Cria o enumerador.
{
    DESEMPREGADO,   // Nгo possui emprego.
    JORNALISTA      // Emprego de exemplo.
}

/*

    Agora precisamos de uma maneira para saber qual o emprego do jogador em questгo,
    entгo vamos criar uma variбvel que armazene isso.

*/

new playerEmprego[MAX_PLAYERS]; // [ new > cria a variбvel ] [ playerEmprego > nome da variбvel ] [ MAX_PLAYERS > Para todos os ID's ]

/*

    Bom, quando o jogador entrar no servidor ele serб um desempregado, nгo terб emprego.
    Vamos definir entгo na primeira callback(publio) que й chamada ao se conectar.

*/

public OnPlayerConnect(playerid)
{
    playerEmprego[playerid] = DESEMPREGADO; // Acredito que nгo precise de explicaзгo.
    return true;
}

/*

    Agora, como pegar o emprego? Simples! Vamos criar um comando chamado '/jornalista'
    para que o jogador se torne um.

    Entгo vamos criar o comando.

*/

CMD:jornalista(playerid) // cria o comando.
{
    playerEmprego[playerid] = JORNALISTA; // Definimos o emprego do jogador como jornalista.
    SendClientMessage(playerid, -1, "Parabйns pelo seu novo emprego!"); // Mensagem de felicitaзхes.
    return true;
}

/*

    Poxa, mas agora como criamos uma funзгo para esse emprego?
    Vamos, fazer um comando que verifique se o jogador pertence ao emprego e realize alguma funзгo.

*/

CMD:noticia(playerid, params[]) // Criamos o comando.
{
    new text[128]; // Variбvel do tipo String para armazenar a noticia.
   
    if(playerEmprego[playerid] != JORNALISTA) // Se o jogador nгo for um jornalista.
        return SendClientMessage(playerid, -1, "| x ERRO x | --> Vocк nгo й um jornalista."); // Retorna uma mensagem de erro.
   
    if(sscanf(params, "s", text)) // Verifica se o jogador digitou a noticia.
        return SendClientMessage(playerid, -1, "| x ERRO x | --> Digite uma noticia."); // Se nгo houver digitado irб retornar essa mensagem de erro.");
       
    SendClientMessageToAll(-1, text); // Envia a noticia para todos.
    return true/
}
Explicaзгo rбpida.
Reply
#5

Quote:
Originally Posted by tonisantolia
Посмотреть сообщение
Nгo deveria existir tutorial para criar um determinado sistema, vocк apenas precisa usar a logica e programaзгo que qualquer sistema pode ser formado.

Vamos lб, lуgica do sistema de empregos em script:
pawn Код:
/*

    Precisamos, primeiramente, definir quais sгo os empregos existentes, para isso,
    vamos usar um enumerador (enum) para classificar em ordem crescente cada uma.

*/

enum // Cria o enumerador.
{
    DESEMPREGADO,   // Nгo possui emprego.
    JORNALISTA      // Emprego de exemplo.
}

/*

    Agora precisamos de uma maneira para saber qual o emprego do jogador em questгo,
    entгo vamos criar uma variбvel que armazene isso.

*/

new playerEmprego[MAX_PLAYERS]; // [ new > cria a variбvel ] [ playerEmprego > nome da variбvel ] [ MAX_PLAYERS > Para todos os ID's ]

/*

    Bom, quando o jogador entrar no servidor ele serб um desempregado, nгo terб emprego.
    Vamos definir entгo na primeira callback(publio) que й chamada ao se conectar.

*/

public OnPlayerConnect(playerid)
{
    playerEmprego[playerid] = DESEMPREGADO; // Acredito que nгo precise de explicaзгo.
    return true;
}

/*

    Agora, como pegar o emprego? Simples! Vamos criar um comando chamado '/jornalista'
    para que o jogador se torne um.

    Entгo vamos criar o comando.

*/

CMD:jornalista(playerid) // cria o comando.
{
    playerEmprego[playerid] = JORNALISTA; // Definimos o emprego do jogador como jornalista.
    SendClientMessage(playerid, -1, "Parabйns pelo seu novo emprego!"); // Mensagem de felicitaзхes.
    return true;
}

/*

    Poxa, mas agora como criamos uma funзгo para esse emprego?
    Vamos, fazer um comando que verifique se o jogador pertence ao emprego e realize alguma funзгo.

*/

CMD:noticia(playerid, params[]) // Criamos o comando.
{
    new text[128]; // Variбvel do tipo String para armazenar a noticia.
   
    if(playerEmprego[playerid] != JORNALISTA) // Se o jogador nгo for um jornalista.
        return SendClientMessage(playerid, -1, "| x ERRO x | --> Vocк nгo й um jornalista."); // Retorna uma mensagem de erro.
   
    if(sscanf(params, "s", text)) // Verifica se o jogador digitou a noticia.
        return SendClientMessage(playerid, -1, "| x ERRO x | --> Digite uma noticia."); // Se nгo houver digitado irб retornar essa mensagem de erro.");
       
    SendClientMessageToAll(-1, text); // Envia a noticia para todos.
    return true/
}
Explicaзгo rбpida.
Vlw men

+REP
Reply
#6

Com essa explicaзгo da para fazer muito, vai da sua imaginaзгo e lуgica.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)