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
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);
}
}
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.
Steht doch da was der Fehler ist. Besser das "classsid" in "classid" um
& Die Warnings sind ja nur nicht gut eingedrückte Codes.
Hallo,
wie meint er das mit
if(classid == classsid[0]) //skin von team 1
{
team[playerid] = 1;
}
else
team[playerid] = 2;
wo soll der skin drein ???
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);
}
}
So einfacher:
Pack dir diese Include http://forum.sa-mp.com/showthread.php?t=195439
Frag bi den OnPlayerShootPlayer ab ob er auf ein Temmate schießt wenn ja gib ihn die HP zurück wo er hatte , und bestrafe den anderen das ist glaube mal effektiver, und halt noch waffen für 1/2 sekunden resseten oder so :()
Nein man darf eben das teammitglied killen sollte nicht bestraft werden es darf dann einfach keinen punkt geben für den gegner und das weiss ich nicht wie ich das machen muss
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;
}
if(PlayerInfo[playerid][pTeam] != PlayerInfo[killerid][pTeam])
sonst ist es immer Teamkill
Huhu
Ah danke, peinlich
Muss man bei sowas abfragen, ob die killerid gültig ist ?
MfG dUDA
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 ?