[Tutorial] Aprendendo o Bбsico Do SA-MP e Do Pawn [Nivel: Iniciante]
#1

Tutorial: Aprendendo o Bбsico Do SA-MP e Do Pawn [Nivel: Iniciante]

Olб Galera Do Samp Forum,

Primeiramente venho informar a vocкs que esse e meu primeiro post aqui no Samp Forum,
mais eu nгo sou novo na linguagem pawn, e nem no SA-MP, bom entгo vamos lб :

Aprendendo o Basico Do SA-MP,

O que й SA-MP :

San Andreas Multi Player, Й um aplicativo que permite vocк jogar online o seu GTA San Andreas.

Quais sгo os controles adicionais no SA-MP?

Bom, tem os do GTA offline e esses :

pawn Код:
Tab // Ver os players online no momento, seus IDs e seus pings.
H // Te permite atirar como passageiro(Somente com armas tipo SMG).
F4 // Permite que o jogador troque de personagem(apуs morrer).
F7 // Mostra e esconde a janela de chat(Remove tambйm o HUD).
F6 // Uma outra alternativa para enviar texto e comandos.
G // Te permite entrar em um veiculo como passageiro.
T // Permite ao jogador que envie comandos ou texto.
Shift // Seleciona um personagem na tela de seleзгo.
F5 // Mostra o estado da conexгo (ex: uso de banda).
F9 // Mostra e esconde a janela de mortes.
F1 // Mostra o menu de ajuda no jogo.
Esc // Exibe ou esconde o jogo.
F8 // Tira uma screenshot.
F10 // Esconde o HUD.
Qual й a diferenзa das versхes do SA-MP :

procura trazer mais funcionalidades para os players, Ex: Atualizar, remover bugs, e outras mudanзas

O que acontece se eu for banido de um servidor :

Vocк nгo poderб mais logar com sua conta e o IP de sua internet tambйm й banido.

Comandos do SA-MP :

pawn Код:
/rcon Remote // Controle do seu Servidor (Administrador).
/headmove // move a cabeзa ou faz ela parar de se mover.
/rs // Salva a sua posiзгo em formato de cordenada.
/quit // Fecha o jogo, vocк pode digitar tambйm /q.
/pagesize // Aumenta ou diminui o tamanho do chat.
/save // Salvar a coordenada em AddPlayerClass.
/interior // Mostra o nъmero do seu interior.
/dll // Monstra as informaзхes dos carros.
/timestamp // mostra a hora No Chat.
/fpslimit // Limite do seu FPS.
/mem // Mostra sua memoria.
/inacc // edit sync.
/ofc // edit sync.
Comandos da rcon :

pawn Код:
/rcon login [Senha] // Loga na rcon, para poder acessar os comandos dela.
/rcon players // Mostra todos os usuarios do servidor, nick, ip e ping.
/rcon reloadbans // Recarrega todos os banimentos do arquivo samp.ban.
/rcon say // Manda uma mensagem com nota destacada de administrador.
/rcon gravity [Gravidade] // Muda o sistema de gravidade.
/rcon reloadlog // Recarrega o arquivo server_log.txt.
/rcon echo [texto] // Aparece uma mensagem destacada.
/rcon weather [ID] // Muda a configuraзгo da agua.
/rcon kick [ID] // Kicka o usuбrio pela ID.
/rcon changemode [mode] // Muda o gamemode.
/rcon unbanip [IP] // Desbane direto um ip.
/rcon varlist // Lista todas as variaveis.
/rcon cmdlist // Lista todos comandos.
/rcon ban [ID] // Bane o usuario pela ID.
/rcon banip [IP] // Bane direto um ip.
/rcon gmx // Reinicia o servidor.
/rcon exit // Fecha o servidor.
Obs: Rcon й os comandos de controle de seu servidor.

Extras :

pawn Код:
ID // e o ID do Jogador, Cada jogador tem um id diferente para mais facilidade de achar.
PING // Ping й o nъmero que simboliza como estб sua conexгo da internet.
Aprendendo o Basico Da Linguagem Pawn,

algumas funзхes bбsicas :

pawn Код:
SetPlayerDrunkLevel // Seta o nivel de "Dorgas" do jogador, fazendo ele andar mais desrreguladamente, ou a tela comeзar a rodar.
SendClientMessageToAll // A Mesma Funзгo do SendClientMessage, sу que manda para todos os usuarios ON.
ForceClassSelection // Forзa o jogador a voltar pra tela de seleзгo de Skins.
GetObjectPos // Seta a Posiзгo do Objeto(Ela precisa ja estar criado).
GameTextForPlayer // Uma funзгo parecida com o SendClientMessage.
SetPlayerInterior // Seta o Interior do Player ( 0 para Exterior).
SetPlayerWantedLevel // Seta Estrelas de Procurado do Player.
GameTextForAll // Como o Game Text, sу que para todos Online.
SetPlayerCheckpoint // Pфe um checkpoint no Jogador definido.
SendClientMessage // Manda uma Mensagem do Server ao Player.
SetPlayerSpecialAction // Seta uma aзгo pra Skin do Player.
RemovePlayerFromVehicle // Remove o jogador do Veiculo.
ResetPlayerWeapons // Tira todas as armas do jogador.
PlayerPlaySound // Faz a Skin do Jogador falar algo.
SetPlayerColor // Seta a cor do Nick do jogador.
GivePlayerWeapon // Adiciona Armas ao Jogador.
GivePlayerMoney // Muda o DInheiro do Jogador.
ApplyAnimation // Aplica Animaзгo ao jogador.
SetPlayerArmour // Seta o colete do Jogador.
SetVehiclePos // Seta a posiзгo do Veiculo.
Ban(playerid) // BAN o Player Selecionado.
SetTimer // Seta uma quantidade de tempo.
SetPlayerPos // Seta a posiзгo do player.
SetPlayerSkin // Seta a Skin do Jogador.
GetPlayerName // Pega o nome do jogador.
SetPlayerName // Muda o nome do jogador.
GetPlayerHealth // Pega a HP do Usuario.
SetPlayerHealth // Seta a HP do Player.
SetVehicleHealth // Seta HP do Veiculo.
Kick(playerid) // Kicka o jogador.
CreateObject // Cria um Objeto.
Algumas publics bбsicas :

pawn Код:
public OnGameModeInit()
{
    // Funзгo.
    return true;
}
Explicando : chamado quando um modo de jogo comeзa.

pawn Код:
public OnGameModeExit()
{
    // Funзгo.
    return true;
}
Explicando : chamado quando um modo de jogo termina.


pawn Код:
public OnPlayerRequestClass(playerid, classid)
{
    // Funзгo.
    return true;
}
Explicando : chamado quando um jogador muda de classe na seleзгo de classe.

pawn Код:
public OnPlayerConnect(playerid)
{
    // Funзгo.
    return true;
}
Explicando : chamado quando um jogador entra no servidor.


pawn Код:
public OnPlayerSpawn(playerid)
{
    // Funзгo.
    return true;
}
Explicando : chamado quando um jogador spawna no servidor.


pawn Код:
public OnPlayerDisconnect(playerid)
{
    // Funзгo.
    return true;
}
Explicando : chamado quando um jogador sai do servidor.


pawn Код:
public OnPlayerCommandText(playerid, cmdtext[])
{
    return false;
}
Ex de uso :

pawn Код:
public OnPlayerCommandText(playerid, cmdtext[])
{
    if(strcmp(cmdtext, "/seucomando", true) == 0)
    {
        //Funзгo
        return true;
    }
    return false;
}
Explicando : chamado quando um jogador digita um comando no servidor.

pawn Код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    // Funзгo.
    return true;
}
Explicando : chamado quando um jogador responde a um diбlogo.

Tipos de diбlogos :

DIALOG_STYLE_MSGBOX,

pawn Код:
// Define o ID do dialog
#define DIALOG_RULES 1

// Em algum comando
ShowPlayerDialog(playerid, DIALOG_RULES, DIALOG_STYLE_MSGBOX, "Regras", "- Sem cheater\n- Sem spam\n- Respeite os administradores\n\nVocк concorda com esta regras?", "Sim", "Nгo");

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    if(dialogid == DIALOG_RULES)
    {
        if(response) // Se clicou no botгo 'Sim' ou apertou enter
        {
            SendClientMessage(playerid, COLOR_GREEN, "Obrigado por concordar com as regras do servidor!");
        }
        else // Caso pressione ESC ou click no botгo 'Nгo'
        {
            KickWithMessage(playerid, COLOR_RED, "Vocк precisa concordar com as regras para jogar aqui!");
        }
        return 1; /
    }

    return 0; // Vocк precisa retornar 0 aqui! Assim como OnPlayerCommandText.
}

[FONT="Impact"][COLOR="Blue"]D[/COLOR]IALOG_STYLE_INPUT/DIALOG_STYLE_PASSWORD,[/FONT]

#define DIALOG_LOGIN 2

// Em algum comando
ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT, "Login", "Por favor, insira sua senha:", "Login", "Cancelar");

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    if(dialogid == DIALOG_LOGIN)
    {
        if(!response) // Se pressionou ESC ou click no botгo 'Cancelar'
        {
            KickWithMessage(playerid, COLOR_RED, "Vocк precisa se logar para jogar!");
        }
        else // Se clicou no botгo 'Login' ou apertou enter
        {
            if(CheckPassword(playerid, inputtext)) // Funзгo imaginaria para comparar a senha, se esta correta ou nгo.
            {
                SendClientMessage(playerid, COLOR_RED, "Vocк esta logado!");
            }
            else
            {
                SendClientMessage(playerid, COLOR_RED, "Falha no Login!");

                // Re-mostra o dialog de Login
                ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT, "Login", "Por favor, insira sua senha:", "Login", "Cancelar");
            }
        }
        return 1; // Lidamos com um dialog, entгo retornamos 1. Assim como OnPlayerCommandText.
    }

    return 0; // Vocк precisa retornar 0 aqui! Assim como OnPlayerCommandText.
}
DIALOG_STYLE_LIST,

pawn Код:
#define DIALOG_WEAPONS 3

// Em algum comando
ShowPlayerDialog(playerid, DIALOG_WEAPONS, DIALOG_STYLE_LIST, "Armas", "Desert Eagle\nAK-47\nCombat Shotgun", "Selecionar", "Fechar");

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    if(dialogid == DIALOG_WEAPONS)
    {
        if(response) // Se clicou no botгo 'Selecionar' ou apertou enter
        {
            // Dк a arma
            if(listitem == 0) // Caso selecione o primeiro item - Desert Eagle
            {
                GivePlayerWeapon(playerid, WEAPON_DEAGLE, 14);
            }
            if(listitem == 1) // Caso selecione o segundo item - AK-47
            {
                GivePlayerWeapon(playerid, WEAPON_AK47, 120);
            }
            if(listitem == 2) // Caso selecione o terceiro item - Combat Shotgun
            {
                GivePlayerWeapon(playerid, WEAPON_SHOTGSPA, 28);
            }
        }
        return 1; // Lidamos com um dialog, entгo retornamos 1. Assim como OnPlayerCommandText.
    }

    return 0; // Vocк precisa retornar 0 aqui! Assim como OnPlayerCommandText.
}
Funзгo KickWithMessage,

pawn Код:
forward KickPublic(playerid);
public KickPublic(playerid)
{
    Kick(playerid);
    return true;
}

stock KickWithMessage(playerid, color, message[])
{
    SendClientMessage(playerid, color, message);
    SetTimerEx("KickPublic", 1000, 0, "d", playerid);
}
Agradecimentos :

Crazy Games.

Samp Forum.

Creditos :

Wiki SA-MP - Algumas Base.

iTroll - Geral.

Obrigado a Todos Voces, Ate Mais.

Obs: Se tiver algo errado me lembre por favor, e me desculpe pelos meus erros.
Reply
#2

Bom tutorial, sу tem que arrumar um erro ali dentro da caixa de cуdigos.
Em settimer, vocк deve usar um valor booleano(true/false) sobre o parвmetro repeat.
Reply
#3

Bom tutorial, e mesmo o basico dos basicos.

isto e bom para quem esta iniciando.
Reply
#4

Й um tutorial bem simples, mas pode ajudar muitos iniciantes.

Parabйns
Reply
#5

Primeiro post do cara e jб traz coisa boa, diferente de alguns aqui que tem 53446545 posts sу pra falar merda e spam, bom tуpico, parabйns.
Reply
#6

Gostei da explicaзгo sobre teclas padrхes, comandos padrхes e comandos RCON do SA-MP .



Essas informaзхes sгo essenciais, mas geralmente sгo aprendidas atravйs da comunicaзгo com jogadores experientes.



Espero ter ajudado .
Reply
#7

Vocк explicou bem, tem utilidade sim, mas tudo isso estб na internet.

Parabйns pelo seu esforзo.
Reply
#8

Nгo acho ter necessidade de ficar Banindo por causa de Reviver TOPICOS.
Pode ajudar pessoas que nгo sabiam observa e aprende.
Reply
#9

Gostei mano, parabйns pela organizaзгo
Reply
#10

Belo tutorial mano vai ajuda muito novatos aki no forum Parabйns...
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)