[Tut] Criando um TeamKill
#1

Olб a todos nesse Tut irei insinalos a criar um Anti-TK(Anti-TeamKill)
Bom a primeira coisa a se fazer й Definir os Nome dos Team.


No Tomo do Gamemode.


Код:
#define TEAM_CivisNoob  0 //Este й o primeiro Team criado com nome 'CivisNoob'
#define TEAM_Gangsters  1 //Este й o segundo Team criado com nome  "Gangsters"
Agora iremos definir o gTeam


Код:
new gTeam[MAX_PLAYERS];
Apуs isso temos que definir as Classes dos Teams com as skins

Код:
forward TeamKill();//Esse forward й a funзгo que chamara o public TeamKill
Код:
public OnGameModeInit()
{
     AddPlayerClass(118, 0, 0, 0, 0, 1, 2, 10, 10, 11,11);
     AddPlayerClass(119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
     return 1;
}
Код:
SetPlayerTeamFromClass(playerid, classid)
{
      if (classid == 0)//A classe 0 й a do Team CivisNoob
      {
               gTeam[playerid] = TEAM_CivisNoob;
      }
      else  //a else serб a segunda resposta que retorna o Team dos Gangsters
      {
               gTeam[playerid] = Gangsters;
      }
}
Caso houver um bug no TeamKill quando jogador morrer ira receber a mensagem do script.


Код:
public OnPlayerDeath(playerid, killerid, reason)
{
     if(gTeam[killerid] == gTeam[playerid])// o Killeid й o jogador que matou e o playerid e o jogador que morreu
          SendClientMessage(killerid,0xAA3333AA,"AutoAdmin: Й proibido fazer TeamKill nгo repita ou podera ser Banido!");// this is telling them they will be punished.
          TogglePlayerControllable(killerid,0); //Estб funзгo congela o jogador
          SetTimerEx("TeamKill", 5000, 0, "i", killerid); //Estб funзгo descongelara o Jogador do TeamKill
          return 1;
     }
     return 1;
}
Код:
public TeamKill()
{
    TogglePlayerControllable(playerid, 1); //descongela o Jogador
    SendClientMessage(playerid, 0xAA3333AA, "AutoAdmin: Vocк foi descongelado do TeamKill"); //Mensagem que o jogador foi liberado
    GameTextForPlayer(playerid, "~y~Descongelado", 8000, 3);// Mensagem que serб enviada para o jogador
    return 1;
}
Observanзгo esse tutorial nгo garante que o jogador levara bala e nгo sofrera dados mesmo que sejб da mesmo Team
Este Tutorial foi criado para que se o jogador mata de outro da mesmo Team serб advertido.

[Tut] Liberado para postar em blogs e Sites. (faзa bom proveito)

Crйditos:
kye
Data_Base
Reply
#2

Corrigindo:
pawn Код:
forward TeamKill(playerid);
public TeamKill(playerid)
{
    TogglePlayerControllable(playerid, 1); //descongela o Jogador
    SendClientMessage(playerid, 0xAA3333AA, "AutoAdmin: Vocк foi descongelado do TeamKill"); //Mensagem que o jogador foi liberado
    GameTextForPlayer(playerid, "~y~Descongelado", 8000, 3);// Mensagem que serб enviada para o jogador
    return 1;
}
P.S: Isso й improvisado, hб uma forma que deixa 2 players em God um com outro

Sу para Complementar..
pawn Код:
#define TIME_GAY 2424
#define TiME_VIADAUNS 24


if (gTeam[playerid] == TIME_GAY )
{
SetPlayerTeam(playerid, TIME_GAY );
}
else if (gTeam[playerid] == TiME_VIADAUNS )
{
SetPlayerTeam(playerid, TiME_VIADAUNS );
}
Bom Tuto!
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)