Heyho !
Ich wollte mal fragen wie ich soetwas wie ein Anti TeamKill System machen kann?
Ich habe 6 Gangs
TEAM_COPS
TEAM_BALLAS
TEAM_GROVE
TEAM_PARA
TEAM_MAFIA
TEAM_ZIVI
Hab schon gesucht, jedoch kam ich damit nicht weiter.
MfG Jay
Anti Teamkill?
- JayTheSheep
- 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
-
-
Beispiel ( Variablen selber ergänzen)
if(spielerteam[playerid] == spielerteam[killerid]) /* Team Kill */und das ganze unter OnPlayerDeath abfragen, normal sollte man die Logik dazu selber besitzen um auf so etwas zu kommen
-
public OnPlayerDeath(playerid, killerid, reason)
{
SendDeathMessage(killerid, playerid, reason);
if(TEAM_COPS[playerid] == TEAM_COPS[killerid]){
SetPlayerHealth(playerid,0);
SendClientMessage(playerid,COLOR_RED,"Do not team kill!");
}
return 1;
}
So zeigt der bei mir Errors an, sorry bin Anfänger und erst 13 xD
C:\Dokumente und Einstellungen\Ich halt\Eigene Dateien\Server\gamemodes\tdmscript1.pwn(585) : error 029: invalid expression, assumed zero
C:\Dokumente und Einstellungen\Ich halt\Eigene Dateien\Server\gamemodes\tdmscript1.pwn(585) : error 029: invalid expression, assumed zero
C:\Dokumente und Einstellungen\Ich halt\Eigene Dateien\Server\gamemodes\tdmscript1.pwn(585) : warning 215: expression has no effect
C:\Dokumente und Einstellungen\Ich halt\Eigene Dateien\Server\gamemodes\tdmscript1.pwn(585) : error 001: expected token: ";", but found "]"
C:\Dokumente und Einstellungen\Ich halt\Eigene Dateien\Server\gamemodes\tdmscript1.pwn(585) : fatal error 107: too many error messages on one lineCompilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
4 Errors.
-
Makros darfst du so auch gar nicht nutzen :>
Hast du eine Variable die zurück gibt in welchem Team der jeweilige Spieler ist ? Die solltest du nutzen -
Meinst du so?
case 0,1,2: gTeam[playerid] = TEAM_COPS;
case 3,4,5: gTeam[playerid] = TEAM_GROVE;
case 6,7,8: gTeam[playerid] = TEAM_BALLAS;
case 9,10,11: gTeam[playerid] = TEAM_ZIVIS;
case 12,13,14: gTeam[playerid] = TEAM_MAFIA;
case 15,16,17: gTeam[playerid] = TEAM_PARA; -
gTeam ist die Variable die das Team wiedergibt also musst du diese auch für die Abfrage nutzen um die Nummern darin zu vergleichen,
die Makros sind in dem Fall nur Bezeichner die im Nachhinein die entsprechenden Werte ersetzen & so die Nummer die diese Makros enthalten verwenden. -
Und jetzt nochmal für Anfänger?
Sag mir ganz einfach was ich falsch gemacht habe und was ich ergänzen muss xD Ich lerne durch meine Fehler -
if(gTeam[playerid] == gTeam[killerid])
-
HA! so einfach xD Und du machst nen Umweg Ne aber danke das du es mir versuchst zu erklären, bin aber mit meinem 13 jährigem Gehirn noch nicht in der Lage das zu verstehen
/E: Hab aber jetzt noch ne kleine Frage
Kann ich vielleicht mit nem neuen public oder so machen, das wenn man einen von seinem Team abschießt, schon die Nachricht kommt No Team kill, und wenn man einen 5x abgeschossen hat wird man gekickt oder so?