Předem vím že už tu jeden anti team kill je, ale dávám jsem mojí trochu upravenou verzy...
Tak jsem napsal jednoduchý anti team kill scriptík...
Nahoru do módu.
new TeamKillPoints[MAX_PLAYERS];
Public OnPlayerDeath
if(gTeam[playerid] == gTeam[killerid])
{
TeamKillPoints[killerid] ++;
if(TeamKillPoints[killerid] == 1)
{
SendClientMessage(killerid, 0xFF0000AA, "Varovani 1/3. Zabil jsi spoluhrace -10 000!");
GivePlayerMoney(killerid, -10000);
}
else if(TeamKillPoints[killerid] == 2)
{
SendClientMessage(killerid, 0xFF0000AA, "Varovani 2/3. Zabil jsi spoluhrace -20 000!");
GivePlayerMoney(killerid, -20000);
}
else if(TeamKillPoints[killerid] == 3)
{
new string[256];
format(string,sizeof(string), "Hrac %s byl vyhozen za opakovany team kill!",Jmeno(killerid));
SendClientMessageToAll(0xFFFF00AA, string);
SendClientMessage(killerid, 0xFF0000AAD, "Varovani 3/3 ----> KICK!!!");
Kick(killerid);
}
v podmínce místo gTeam si dosadtě co používáte v módu, já většinou gTeam. A teď jak to funguje, když hráč zabije hráče který má stejné zaměstnání (Team)...napíše mu to zprávu, o varování (má 3 pokusy aby to pochopil) a odebere mu to 10 000...ještě by šlo třeba aby mu to přidalo WantedLevel či tak, ale to už je věc každého. Přídá mu to jeden TeamKillPoints, jakmile má 2 odebere mu to 20 000 a má druhé varování... jakmile zabije potřetí tak napíše všem hráčům na serveru že hráč byl kicknut za teamkill, hráčovi to napíše zprávu a kickne ho to...
Nevim zdá má smysl popisovat kód, protože je to opravdu easy...
málem bych zapomněl.... někam na začátek módu...
stock Jmeno(playerid)
{
new jmeno[64];
GetPlayerName(playerid,jmeno,64);
return jmeno;
}