[Ajuda] Sistema de Profissгo
#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


Messages In This Thread
Sistema de Profissгo - by Cauezin - 23.04.2018, 22:40
Re: Sistema de Profissгo - by YCharlieY - 23.04.2018, 22:57
Re: Sistema de Profissгo - by Cauezin - 23.04.2018, 23:39
Re: Sistema de Profissгo - by tonisantolia - 24.04.2018, 00:17
Re: Sistema de Profissгo - by Cauezin - 24.04.2018, 00:34
Re: Sistema de Profissгo - by AllanSG - 24.04.2018, 01:08

Forum Jump:


Users browsing this thread: 1 Guest(s)