Hallo erstmal, ich weiß ja nicht ob ihr es wusstet, aber ich erstelle ein Team-Deathmatch mit zwei Teams. Ich wollte nun mal fragen, wie man ein Anti-Teamkill erstellen kann, also dass man seine Teammitglieder nicht töten kann, oder dass der Teamkiller dabei draufgeht. Kann da jemand helfen?
Anti-TeamKill
- DuffMan
- Geschlossen
- Erledigt
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
-
-
Wie wärs so..
Bei OnPlayerDeath..
Header:
static gTeam[playerid];
#define TEAM_TeamA 1
#define TEAM_TeamB 2OnPlayerDeath:
if(gTeam == TEAM_TeamA[killerid] && gTeam == TEAM_TeamA[playerid] || gTeam == TeamB[killerid] && gTeam == TEAM_TeamB[playerid])
{
SetPlayerScore(playerid, -1);
SendClientMessage(playerid, COLOR_WHITE, " Dir wurde 1Punkt abgezogen..Grund: Teamkill");
} -
So, wie du das wolltest, gibt es das nicht
//EDIT: @ Joe: Warum machst du dann nicht "if(gTeam[playerid]==gTeam[killerid]) {" ? -
ich mein sowas hab ich schon mal gesehen oder die lesen den schaden aus und geben die hp wieder aber sonst ka
-
Funktioniert i-wie nicht richtig.
//Edit:
Ich hab's dcoh noch geschafft:
public OnPlayerDeath(playerid, killerid, reason)
{
SendDeathMessage(killerid, playerid, reason);
new team, team2;
switch (gClass[playerid])
{
case 0, 1, 2:
{
team = 1;
}
case 3, 4, 5:
{
team = 2;
}
}switch (gClass[killerid])
{
case 0, 1, 2:
{
team2 = 1;
}
case 3, 4, 5:
{
team2 = 2;
}
}
if (team == team2)
{
//irgendwas
}
return 1;
} -
Ein wenig kürzer...
public OnPlayerDeath(playerid, killerid, reason)
{
SendDeathMessage(killerid, playerid, reason);
if(gClass[playerid] == gClass[killerid])
{
//irgendwas
}
return 1;
} -
Gut, abber ich hab mehrere Classes.
Trotzden thx. -
breadfish.de
Hat das Thema geschlossen.