Zum Inhalt springen
cbacon93

Servermodding - nur Sniper kills

Empfohlene Beiträge

Geschrieben (bearbeitet)

Hallo,

ich hoste schon seit langem einen "Sniper Only" Server.

Da ich und andere Admins nicht 24 Stunden am Tag aufpassen können, habe ich mir vorgenommen,

ein Script zu schreiben, welche normale kills, die nicht vom Sniper kommen automatisch als Teamkill gezählt werden, was dann automatisch zum kick führt.

Ich habe soweit alles Fertig gestellt mit dem Aufbau. Nun weiß ich aber nicht, in welcher Variable oder mit welcher Funktion ich die Waffe des Abfeuernden auslesen kann.

Das Script ist mehr eine Apposition der Funktion

def onPlayerKilled(victim, attacker, weapon, assists, object)
Wobei, zumindest denke ich so, "weapon" für die Waffe steht, die ich weiter unten auslesen will. Nun habe ich vor dem "Normalen Kill" ein paar else' hingemacht, für alle Waffen, die ein Sniper tragen kann, und dann zum schluss den "Normalen Kill" als Teamkill gewertet ^^
............



		# killed by own team

	elif attacker.getTeam() == victim.getTeam():



		# no teamkills from own wreck

		if killedByEmptyVehicle and object.getIsWreck():

			return



		attacker.score.suicides += 1

		addScore(attacker, SCORE_TEAMKILL, RPL)

		

		countAssists = True

		elif weapon == "ussni_m95_barret":

		attacker.score.kills += 1

		addScore(attacker, SCORE_KILL, SKILL)

		

		countAssists = True

	elif weapon == "kni_knife":

		attacker.score.kills += 1

		addScore(attacker, SCORE_KILL, SKILL)

		

		countAssists = True

	elif weapon == "usrif_m24":

		attacker.score.kills += 1

		addScore(attacker, SCORE_KILL, SKILL)

		

		countAssists = True

	elif weapon == "ushgr_m67":

		attacker.score.kills += 1

		addScore(attacker, SCORE_KILL, SKILL)

		

		countAssists = True

	elif weapon == "rurif_dragunov":

		attacker.score.kills += 1

		addScore(attacker, SCORE_KILL, SKILL)

		

		countAssists = True

	elif weapon == "uspis_92fs_silencer":

		attacker.score.kills += 1

		addScore(attacker, SCORE_KILL, SKILL)

		

		countAssists = True

	elif weapon == "rupis_baghira_silencer":

		attacker.score.kills += 1

		addScore(attacker, SCORE_KILL, SKILL)

		

		countAssists = True

		

	elif weapon == "usmin_claymore":

		attacker.score.kills += 1

		addScore(attacker, SCORE_KILL, SKILL)

		

		countAssists = True



	elif weapon == "defibrillator":

		attacker.score.kills += 1

		addScore(attacker, SCORE_KILL, SKILL)

		

		countAssists = True

		

	# killed by enemy kills

	else:

				#Der ehemalige normale kill nun zum teamkill umgeformt

		attacker.score.TKs += 1

		addScore(attacker, SCORE_TEAMKILL, RPL)





.........

Die Namen der Waffen habe ich aus dem BF2 Editor genommen.

Nun ist es so, dass wenn ich nun mit einen der "erlaubten" Waffen jemanden kille, es trotzdem als Teamkill gewertet wird.

Heißt, die Waffennamen sind falsch. Es kann auch sein dass die Variable "weapon" nur auf true oder false gesetzt wird...

oder aber man braucht dazu eine extra Funktion.

Falls jemand schoneinmal so etwas gemacht hat, bitte ich um hilfe, damit unser Server endlich unterbrechungsfrei laufen kann =)

EDIT: Die Datei die ich verändert habe ist die "scoringCommon.py" in dem Verzeichnis "/mods/bf2/phyton/game/"

Bearbeitet von cbacon93

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden


  • Wer ist Online   0 Benutzer

    • Keine registrierten Benutzer online.
×
×
  • Neu erstellen...

Wichtige Information

Wir haben Cookies auf Deinem Gerät platziert. Das hilft uns diese Webseite zu verbessern. Du kannst die Cookie-Einstellungen anpassen, andernfalls gehen wir davon aus, dass Du damit einverstanden bist, weiterzumachen.