Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Pequeno tutorial de como criar um GameMode TDM
- facilmente, otimizado e com funções nativas.
- Explicação por min(Garfield/SuYaNw).
- ATENÇÃO,
- - Não edite o gamemode, apenas leia com atenção
- e tente fazer o seu próprio, e caso tenha dúvidas,
- antes de chegar criando tópico, vá na Wiki.sa-mp,com.
- Cordialmente,
- G.SuYaNw Dácio.
- */
- #include a_samp
- // Bom, caso queira colocar mais "Times", coloque "TEAM_NOME_TIME".
- #define TEAM_HUMANS (10)
- #define TEAM_ZOMBIES (15)
- public OnGameModeInit()
- {
- // AddPlayerClassEx(teamid, skin, Float:x, Float:y, Float:z, Float:Angle, weapon1, weapon1_ammo, weapon2, weapon2_ammo, weapon3, weapon3_ammo)
- AddPlayerClassEx(TEAM_HUMANS, 100, 2096.2456,1285.5159,78.1742, 0.0, 0,0,0,0,0,0); // Time Humanos - CLASSE 0
- AddPlayerClassEx(TEAM_ZOMBIES, 128, 2096.2456,1285.5159,78.1742, 0.0, 0,0,0,0,0,0); // Time Zombies - CLASSE 1
- // Utilizamos AddPlayerClasseEx para quando o membro da mesma equipe
- // Atirar no outro membro da mesma equipe (TeamKill), não perde vida
- // Assim Evitando "Team Kill".
- return true;
- }
- public OnPlayerRequestClass(playerid, classid)
- {
- switch(classid)
- {
- case 0:
- {
- // Utilizamos também o "CLASSEID", o Classid é a sequência das classes
- // que foram criadas, como no caso acima, a classe "Humanso" foi criada
- // Antesq ue a classe Zombies, então a classe 'Humanos' é 0.
- // e a classe zombie é 1.
- SetPlayerTeam(playerid, TEAM_HUMANS);
- // Agora, na função "SetPlayerTeam" para indicar qual team o jogador
- // pertence, normalmente utilizamos para fazer o Anti- Team Kill.
- // Agora iremos mandar uma mensagem na tela do player dizendo qual
- // é o "Time" dele:
- GameTextForPlayer(playerid, "Humanos", 2500, 3);
- // Este texto irá desaparecer em 2 segundos e meio ( 25000 ).
- }
- case 1:
- {
- // --
- SetPlayerTeam(playerid, TEAM_ZOMBIES);
- GameTextForPlayer(playerid, "Zombies", 2500, 3);
- // --
- }
- }
- // Agora iremos mostrar aonde estará o personagem para o player escolher:
- // A função abaixo, seta o mundo virtual do player, ele é quase infinto,
- // imagine um mundo virtual, sendo um universo pararelo, o cara está connectado
- // ao servidor, mais não está no mesmo "Universo" que os outros players xD.
- // Por padrão, o mundo virtual dos players é "0".
- SetPlayerVirtualWorld(playerid, 0);
- // Agora iremos indicar aonde fica a posição do personagem, ou seja, aonde
- // ele fica parao player escolher.
- SetPlayerPos(playerid, 2096.2456,1285.5159,78.1742);
- // Bom, na função abaixo, iremos indicar aonde fica a posição da câmera do Player.
- SetPlayerCameraPos(playerid,2097.145,1288.484,80.396);
- // Agora iremos indicar a distância da camera com o personagem.
- SetPlayerCameraLookAt(playerid,2096.245,1285.515,78.174);
- // E por último, o Angulo.
- SetPlayerFacingAngle(playerid, 0.0);
- return true;
- }
- public OnPlayerConnect(playerid)
- {
- new // A função "new" cria uma variável para alocar valores e/ou string's(textos).
- string[128], // criamos a array que amarzenará temporariamente uma mensagem.
- Nome[24] // e esta array amarzenará o nome do player. Nota-se que sempre a última array/variável não tem vírgula.
- ;
- // Agora, com a função "GetPlayerName", Pegamos o nome do player e
- // 'Colocamos' na array "Nome".
- GetPlayerName(playerid, Nome, 24);
- // Com a função "format", formatamos a mensagem para colocar o nome do player nela.
- format(string, sizeof(string),"%s conectou ao servidor", Nome);
- // Mandamos a mensagem formatada para todos do servidor.
- SendClientMessageToAll(-1, string);
- /*
- Quando precisamos utilizar algum nome ou valor em uma string,
- necessitamos formata-las, caso você tentar sem formatar, dará
- erro ou bug, mais caso não precise introduzir valores/arrays adicionais,
- basta você utilizar a função sem criar uma array ou nome.
- Vamos a um Exemplo:
- Vamos dar "Bem Vindo" somente para o player que entrou.
- */
- SendClientMessage(playerid, -1, "Seja bem vindo ao servidor");
- /*
- Nota-se que no exemplo acima, não precisa criar "string" ou "Nome",
- porque você não irá usar.
- */
- return true;
- }
- public OnPlayerSpawn(playerid)
- {
- // Vamos dar uma arma para o player, no caso a arma id "34" e com "1000" Balas.
- GivePlayerWeapon(playerid, 34, 1000);
- return true;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement