Anit Teamkill

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Guten Tag,


    Wie macht man ein Teamkill??


    wen jemand z.b 3Mal einen in sein Team gekillt hat er denn Automatisch gekickt wird.


    Wie mache ich das??


    MfG KillerOne

  • Anit Teamkill


    ...falsche frage


    Wie macht man ein Teamkill??


    ...auch falsche frage


    Es müsste heissen: Wie macht man ein ANTI Teamkill System??


    ____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________


    ganz oben:

    new team[MAX_PLAYERS],teamkills[MAX_PLAYERS],classsid[2];


    dann bei On GameModeInit deine Classen:



    classsid[0] = AddPlayerClass(skin, Float:x, Float:y, Float:z, Float:Angle, weapon1, weapon1_ammo, weapon2, weapon2_ammo, weapon3, weapon3_ammo);
    classsid[1] = AddPlayerClass(skin, Float:x, Float:y, Float:z, Float:Angle, weapon1, weapon1_ammo, weapon2, weapon2_ammo, weapon3, weapon3_ammo);


    Dan bei OnPlayerRequestClass:



    if(classid == classsid[0]) //skin von team 1
    {
    team[playerid] = 1;
    }
    else
    team[playerid] = 2;


    Bei OnPlayerDeath:



    if(team[playerid] == team[killerid])
    {
    teamkills[killerid] ++;
    SendClientMessage(killerid,farbe,"Du hast teamkill begangen!");
    if(teamkills[killerid] >= 3) // Bei wie vielen kills soll man geckikt werden?
    {
    SendClientMessage(killerid,farbe,"Du wurdest wegen wiederholtem teamkill geckikt");
    Kick(killerid);
    }
    }

    Einmal editiert, zuletzt von Purm ()

  • kann mir jemand helfen ich bekomme den error
    D:\Datenablage\Users\Ronny\Games\benni samp\gamemodes\area51.pwn(257) : error 032: array index out of bounds (variable "classsid")
    D:\Datenablage\Users\Ronny\Games\benni samp\gamemodes\area51.pwn(264) : warning 217: loose indentation
    D:\Datenablage\Users\Ronny\Games\benni samp\gamemodes\area51.pwn(433) : warning 217: loose indentation
    D:\Datenablage\Users\Ronny\Games\benni samp\gamemodes\area51.pwn(437) : warning 217: loose indentation
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    1 Error.

  • Ich habe auch eine frage bei mir habe ich 2 teams ein team bekommt einen punkt wenn es das generische tem killt wenn jetzt aber 2 vom selben team sich killen kriegt auch das gegner team einen punkt das will ich aber nicht wie muss ich das ändern so sieht es aus


    if(gTeam[playerid]==TEAM_Cops)
    {
    if(k[killerid] == false)
    {
    SendClientMessageToAll(0xFFB400FF, "|- team2 punkt ! -|");


    GivePlayerMoney(playerid, 100);
    Scop++;
    Score[killerid] += 1;
    TogglePlayerSpectating(playerid, 1);
    PlayerSpectatePlayer(playerid, killerid);
    SetTimerEx("Spectator", 12000, false, "i", playerid);
    }
    }
    if(gTeam[playerid]==TEAM_Gangsta)
    {
    if(k[killerid] == false)
    {
    SendClientMessageToAll(0x23FF00FF, "team1 Punkt ! -|");
    GivePlayerMoney(playerid, 100);
    Sgangsta ++;
    Score[killerid] += 1;
    TogglePlayerSpectating(playerid, 1);
    PlayerSpectatePlayer(playerid, killerid);
    SetTimerEx("Spectator", 12000, false, "i", playerid);
    }
    }

  • Huhu


    Guck dir zuerst das mal an:


    http://wiki.sa-mp.com/wiki/SetPlayerTeam


    //Edit
    Wenn Du diese Funktion verwendest, verhinderst Du die Situation, dass er stirbt und Du schauen musst, ob es Teamkill war und nicht counten darfst oder ob es kein Teamkill war.


    Das wäre eine Variante um zu zählen:


    public OnPlayerDeath(playerid, killerid, reason)
    {
    if(PlayerInfo[playerid][pTeam] != PlayerInfo[playerid][pTeam])
    {
    printf("Das war der Richtige");
    }
    else
    {
    printf("Teamkiller");
    }
    return 1;
    }

  • Ja aber eben wie oben schon gesagt möchte ich das man teammitglieder killen kann manchmal muss man sogar einen killen um ihn vor dem gegner zu killen damit man ihm den punkt versauen kann versteht ihr was ich meine ?