[Tutorial] Criando um GameMode Simples
#1

Bom estб tudo explicado no codigo abaixo, tentei explicar varias coisas, se estiver algo errado me avise ._.

pawn Код:
/*

    Bonus:

    Criando um Comando

    Vocк diz: Como eu crio um comando
    Eu digo: й muito facil basta seguir o tutorial abaixo.

    if (strcmp("/criando", cmdtext, true, 10) == 0)
    {
        // Funзoes que ira Efetuar ao digitar
        return 1;
    }

    Explicando:

    if (strcmp("/criando", cmdtext, true, 10) == 0) // Comando
    { // Toda chave que abre Fecha
        // Funзoes que ira Efetuar ao digitar
        return 1; // Retorna a 1
    } // Fecha a Chave

    Um Exemplo de Comando:

    if (strcmp("/criando", cmdtext, true, 10) == 0)
    {
        GivePlayerWeapon(playerid, 24, 500);
        return 1;
    }
   
    Explicando:

    if (strcmp("/criando", cmdtext, true, 10) == 0) // Comando
    { // Toda chave que abre Fecha
        GivePlayerWeapon(playerid, 24, 500); // 24 = Arma Desert Eagle , 500 = Quantidade de Ballas
        return 1; // Retorna a 1
    } // Fecha a Chave

    Bonus Gang:
   
    Vocк diz: Como crio comando pra minha gang?
    Eu digo: facil olhe o exemplo
   
    if(strcmp(cmdtext, "/Policia", true) == 0)
    {
        if(LipeStronda[playerid] == Policia)  // Ou Seja Sу Policia Poderб Usar o Comando
        {
            Mensagem(playerid, Policia, "Vocк й Policia, Parabйns.");
            // Outras Funзoes
        }
        return true;
    }
    if(strcmp(cmdtext, "/Ladroes", true) == 0)
    {
        if(LipeStronda[playerid] == Ladroes)  // Ou Seja Sу Ladroes Poderб Usar o Comando
        {
            Mensagem(playerid, Ladroes, "Vocк й Ladroes, Parabйns.");
            // Outras Funзoes
        }
        return true;
    }
   
*/


// Estava fazendo isso quando o flamengo estava perdendo AFFFFFFFFFFFFF ;(
// Havai 3 x 1 Flamengo

#include <a_samp> // Includes
new LipeStronda[MAX_PLAYERS]; // Essa й a define das organizaзoes
#define Policia 1 // Define Usada pra quem й Policia, vale como " 1 "
#define Ladrao 2 // Define Usada pra quem й Ladrao, vale como " 2 "
#define CorPolicia 0x2641FEC8 // Cor Dos Policias
#define CorLadrao 0x00D900C8 // Cor dos Ladroes
#define Mensagem SendClientMessage // Troca a funзao SendClientMessage por Mensagem Ex: Mensagem(playerid, -1, " teste ");
public OnGameModeInit() // Public ( Tudo que estiver nela й que vai carregar quando o gm ligar pelo sampserver )
{ // Toda chave que abre Fecha
    // =========================== Policia =====================================
    AddPlayerClass(265,2232.2813,-1158.4985,29.7969,0.3858,0,0,0,0,0,0);   //  Skin Da Policia Militar
    AddPlayerClass(266,2232.2813,-1158.4985,29.7969,0.3858,0,0,0,0,0,0);   //  Skin Da Policia Militar
    AddPlayerClass(267,2232.2813,-1158.4985,29.7969,0.3858,0,0,0,0,0,0);   //  Skin Da Policia Militar
    // =========================== Ladrao ======================================
    AddPlayerClass(105,2531.0586,-1666.2322,15.1678,183.9649,0,0,0,0,0,0); //  Skin Dos Ladroes
    AddPlayerClass(106,2531.0586,-1666.2322,15.1678,183.9649,0,0,0,0,0,0); //  Skin Dos Ladroes
    AddPlayerClass(107,2531.0586,-1666.2322,15.1678,183.9649,0,0,0,0,0,0); //  Skin Dos Ladroes
    // =========================================================================
    SetGameModeText("Policia x Ladrao"); // Nome do GameMode
    return 1; // Retorna a 1
} // Fecha a Chave

public OnGameModeExit() // Public que ira acontecer tudo ao desligar o Samp Server ( DESLIGAR O SERVIDOR )
{ // Toda chave que abre Fecha
    return 1;
} // Fecha a Chave

public OnPlayerRequestClass(playerid, classid) // Public que ira aparecer para escolher o Time que quer ser.
{ // Toda chave que abre Fecha
    if((classid >= 0) && (classid <= 2)) // Ou seja: la em cima estб definido como skin da policia 0 1 2  entao aqui o id й de 0 a 2
    { // Toda chave que abre Fecha
        LipeStronda[playerid] = Policia; // Setarб ele Para Policia
        GameTextForPlayer(playerid,"~n~~n~~n~~b~Policia Militar",4000,5); // Irб Aparecer Policia Militar Por 4 Segundos.
    } // Fecha a Chave
    if((classid >= 3) && (classid <= 5)) // Ou seja: la em cima estб definido como skin da policia 3  4  5  entao aqui o id й de 3 a 5
    { // Toda chave que abre Fecha
        LipeStronda[playerid] = Ladrao; // Setarб Ele Para a Ladroes
        GameTextForPlayer(playerid,"~n~~n~~n~~g~Ladrao",4000,5); // Irб Aparecer Ladrao Por 4 Segundos.
    } // Fecha a Chave
    return 1; // Retorna a 1
} // Fecha a Chave

public OnPlayerConnect(playerid) // Public que ira fazer tudo quando o player entrar no server
{ // Toda chave que abre Fecha
    return 1; // Retorna a 1
} // Fecha a Chave

public OnPlayerDisconnect(playerid, reason) // Public que ira acontecer tudo quando o player sair do server
{ // Toda chave que abre Fecha
    return 1; // Retorna a 1
} // Fecha a Chave

public OnPlayerSpawn(playerid) // Onde vai dar spawn no player ao escolher o time.
{ // Toda chave que abre Fecha
    if(LipeStronda[playerid] == Policia) // Se Ele For Policia Ele Setarб Pro Local Abaixo :
    { // Toda chave que abre Fecha
        SetPlayerColor(playerid, CorPolicia); // Setarб a Cor Dele Para AZUL Que й a Cor definida no Topo !
        SetPlayerPos(playerid, 2232.2813,-1158.4985,29.7969); // Setarб Ele Para Estб Posiзгo
        SetPlayerInterior(playerid, 0); // Setarб o Interior Dele.
    } // Fecha a Chave
    if(LipeStronda[playerid] == Ladrao) // Se Ele For Ladrao Ele Setarб Pro Local Abaixo :
    { // Toda chave que abre Fecha
        SetPlayerColor(playerid, CorLadrao); // Setarб a Cor Dele Para VERDE Que й a Cor definida no Topo !
        SetPlayerPos(playerid, 2232.2813,-1158.4985,29.7969); // Setarб Ele Para Estб Posiзгo
        SetPlayerInterior(playerid, 0); // Setarб o Interior Dele.
    } // Fecha a Chave
    return 1; // Retorna a 1
} // Fecha a Chave

public OnPlayerDeath(playerid, killerid, reason) // Public que tem a Funзao que й quando a pessoa morre
{ // Toda chave que abre Fecha
    return 1; // Retorna a 1
} // Fecha a Chave

public OnVehicleSpawn(vehicleid) // Public que Quando o veiculo й spawnado
{ // Toda chave que abre Fecha
    return 1; // Retorna a 1
} // Fecha a Chave

public OnVehicleDeath(vehicleid, killerid) // Public que quando o vehicle explodir
{ // Toda chave que abre Fecha
    return 1; // Retorna a 1
} // Fecha a Chave

public OnPlayerText(playerid, text[]) // Public de quando o player digita algo
{ // Toda chave que abre Fecha
    return 1; // Retorna a 1
} // Fecha a Chave

public OnPlayerCommandText(playerid, cmdtext[]) // Public dos Commands do servidor
{ // Toda chave que abre Fecha
    if (strcmp("/mycommand", cmdtext, true, 10) == 0) // Comando
    { // Toda chave que abre Fecha
        Mensagem(playerid, -1, "Creditos a LipeStronda , Jonathan Feitosa."); // Creditos
        return 1; // Retorna a 1
    }  // Fecha a Chave
    return 0; // Retorna a 0
}  // Fecha a Chave

public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger) // Public que faz algo ao entrar no veiculo
{ // Toda chave que abre Fecha
    return 1; // Retorna a 1
}  // Fecha a Chave

public OnPlayerExitVehicle(playerid, vehicleid) // Public que acontece algo ao sair do veiculo
{ // Toda chave que abre Fecha
    return 1; // Retorna a 1
} // Fecha a Chave

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) // Todos Dialogs Aqui
{ // Toda chave que abre Fecha
    return 1; // Retorna a 1
} // Fecha a Chave

public OnPlayerClickPlayer(playerid, clickedplayerid, source) // Public que tipo quando apertar tab e a pessoa clicar no seu nick
{ // Toda chave que abre Fecha
    return 1; // Retorna a 1
} // Fecha a Chave
Creditos: Lipe_Stronda , JFS pelo tutorial https://sampforum.blast.hk/showthread.php?tid=260226
Reply
#2

Podia ter explicado melhor cada funзгo, mas nгo estб mal.
Reply
#3

sim cara poderia explicar melhor mesmo mais muito bom ae cara
Reply
#4

Legal! Lipe
Reply
#5

Podia ser melhor, porque isso й meio confuso :/
Reply
#6

pode me ajudar , oque estб confuso ai?
Reply
#7

podia ter explicado, parte a parte .. funзгo a funзгo .. o que elas fazem ou deixam de fazer.
Reply
#8

Sim, alem que explicando dentro do code confunde...

@Anti-Flood Owna '-'
"This forum requires that you wait 120 seconds between posts. Please try again in 68 seconds."
Reply
#9

aqui й 1 exemplo .-.

pawn Код:
if (strcmp("/criando", cmdtext, true, 10) == 0)  
    {  
       // Funзoes que ira Efetuar ao digitar
        return 1;  
    }
vc fala efetuar a funзao ao digitar mais vc nao explico
if (strcmp("/criando", cmdtext, true, 10) == 0)

assim ele apenas vai copiar sem entender oque faser ta ai 1 exemplo

OBS: return 0; // Retorna a 1
? return 0; // retorna a 1? arume isso .-.
Reply
#10

Ficou Bom Lipe,e so uma coisa
pawn Код:
if (strcmp("/criando", cmdtext, true, 10) == 0)
Ali no Lugar do 10 nao seria 8?
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)