Sie sind nicht angemeldet.

Impact

Super Moderator

  • »Impact« ist der Autor dieses Themas

Beiträge: 1 276

Rootserver vorhanden: Nein

  • Nachricht senden

1

Sonntag, 27. November 2011, 01:14

Suche Idee für ein Anti-Freekill: Plugin

Ich bin mir ziemlich sicher dass 90% der Community hier nichts von Jail hält, oder diesen Gamemode kennt.
Dennoch hoffe ich dass hier einige eine nette Idee für mich haben um mein Problem zu lösen.
Es geht um folgendes:

Da wir einen Jailserver betreiben und wir oft Freekiller haben, dachte ich mir ich versuche mal ein Plugin zu schreiben was dieses verhindert.
Im Prinzip funktioniert das Plugin so (Kurz gefasst):
Das Plugin prüft Freekills und Freeattacks über folgende Variablen
  • Spieler hat einen Ct attackiert
  • Spieler hat bereits mit einer Waffe geschossen
  • Spieler hat getötet

Diese werden bei jedem Rundenstart zurückgesetzt.

Bei jedem Hurtevent, wird dem Counter-Terrorist der gegebene Schaden zugefügt, und dem Terrorist zurückgegeben.
Damit das nicht passiert, muss eine der folgenden Aktionen passiert sein :

  • Spieler hat einen CT attackiert
  • Spieler hat bereits mit einer Waffe geschossen
  • Spieler hat getötet
  • Spieler hat eine Waffe
  • Spieler ist zu nahe am CT
  • Spieler ist zu weit vom Spawnpunkt weg

oder:
  • T ist Ct nicht zu nahe
  • T hat sich ergeben
  • T hat noch nicht getötet

Das ganze wird über einen Timer nach einer bestimmten Zeit deaktiviert.

Das Problem besteht nun darin dass wenn die Zellen aufgehen bevor der Check Zuende ist, können die Terroristen einfach weglaufen bzw Befehle ignorieren da sie geschützt sind.
Ich bräuchte also einen stabilen Check dafür ob der Terrorist gegen einen Befehl verstößt, bzw wegrennt.
Das mit dem wegrennen hatte ich durch ein 'Spieler ist zu weit vom Spawnpunkt weg' Check versucht einzuschränken, allerdings ist das je nach Map sehr variabel.
Vielleicht hat ja einer die brennende Idee wie sich das lösen lässt.


MfG
Impact

MadMakz

Super Moderator

Beiträge: 1 878

Wohnort: ~#

Rootserver vorhanden: Ja

  • Nachricht senden

2

Sonntag, 27. November 2011, 14:54

wegrennen könnte mit einem eyeangle und bewegungs check relativ zum nächsten gegner oder statischen punkt einer map gelöst werden. das ist an dem ganzen wohl das schwerste umzusetzende feature.

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »MadMakz« (27. November 2011, 15:18)


Chrisber

Administrator

Beiträge: 1 030

Wohnort: localhost

Rootserver vorhanden: Ja

  • Nachricht senden

3

Sonntag, 27. November 2011, 22:03

Konzept: alle func_door-Entities beobachten, OnOpen-Output hooken und prüfen ob es eine Schiebetür ist. Keine Ahnung ob jede Jail-Maps Schiebetüren hat. Ist vermutlich auch sehr unsicher.
Und das letzte, was gesagt wird, wenn die Welt untergeht, ist: das ist technisch unmöglich.

Impact

Super Moderator

  • »Impact« ist der Autor dieses Themas

Beiträge: 1 276

Rootserver vorhanden: Nein

  • Nachricht senden

4

Montag, 28. November 2011, 11:40

Danke euch beiden.

@MadMakz
Das mit den EyeAngles habe ich ausprobiert, leider bin ich allerdings irgendwo an der Mathematik dahinter gescheitert.
Ich kann zwar den Winkel berechnen, sogar die "real view-position" allerdings bringt mich das nicht sehr weiter.
Aber ich habe ja noch genug Zeit zum lernen :)

@Chrisber
Das ist auch eine Idee Wert die ich so sicherlich umsetzen werde.
Ich kam mit einem Prozensatz vom 75(75% der Türen müssen getriggert worden sein) ganz gut klar.
Ich muss nur mal sehen wie ich das mit den EntityOutputs mache, und den Check ob eine Tür mehrmals geöffnet wurde etwas verbessern.

Ich hatte mich auch mal etwas umgesehen ob es so etwas ähnliches schon gibt.
Ich fand nur das Sm_Hosties welches allerdings nur aufgrund von Kills checkt, was mir eindeutig zu mickrig ist.

MfG
Impact

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Impact« (28. November 2011, 11:46)


5

Montag, 28. November 2011, 12:01

Es gibt doch ein Ent-Control Plugin mit dem sich Point-Entities in Maps setzen lassen. Diese Entities nehmen dir schonmal jede Menge Arbeit ab. Den Rest kannst du schließlich mit einem Plugin regeln.
+88_________________+880______
_+880_______________++80______
_++88______________+880_______
_++88_____________++88________
__+880___________++88_________
__+888_________++880__________
__++880_______++880___________
__++888_____+++880____________
__++8888__+++8880++88_________
__+++8888+++8880++8888________
___++888++8888+++888888+80____
___++88++8888++8888888++888___
___+++++888888fx8888888888__
____++++++888888888888888888__
_____++++++++000888888888888__
_____+++++++00008f8888888888__
______+++++++00088888888888___
_______+++++++0888f8888888____
_______+++++++08888l888888____
________+++++++8888888888_____

Ich bin das Arschloch das dir direkt die Meinung sagt, um dir die Peinlichkeit zu ersparen.

Impact

Super Moderator

  • »Impact« ist der Autor dieses Themas

Beiträge: 1 276

Rootserver vorhanden: Nein

  • Nachricht senden

6

Montag, 28. November 2011, 23:31

Du hast mich auf eine Idee gebracht.
Ich schau mir mal den Code von Spawntools 7 an und sehe mal ob ich mir da was abgucken kann, leider bringen mich KeyValues noch um den Verstand.
Sollte allerdings nicht so schwer sein da ich nur 1 Punkt brauche.
Danke :)

Edit: Okay, das klappt schon mal relativ gut.
ich habe nun nur das Problem dass ich den Code in 2 Plugins einbauen muss, oder schauen wie man (natives?) richtig erstellt.

MfG
Impact

Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von »Impact« (29. November 2011, 08:27)


Ähnliche Themen

Verwendete Tags

freekill, jail