Möchte Polizei und Passanten Scripten

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
  • Hallo,
    als Neuling und langer GTA Anhänger (seit GTA2) möchte ich mich erstmal kurz vorstellen:
    Ich bin 19 Jahre alt und Azubi als Fachinformatiker für Anwendungsentwicklung. Ich darf auch noch die normalen Schulferien genießen und wollte mir deshalb dieses Vorhaben als Projekt für die Faschingsferien setzen. Ich stamme aus der Java/ C# / PHP Ecke und habe Ahnung von tiefergehende Objektorientierung, relationalen Datenbanken, sowie von Algorythmik. Programmiert in die Richtung hatte ich schonmal ein kleines Plugin für Counter-Strike mit AMX Mod X mit Pawn.


    Zur Problemstellung: Zur Zeit gibt es gibt es Polizei/ Fahndungslevel und Passanten nur im Single Player. Ich denke, ich bin da nicht der einzige der das auch gerne im Multiplayer hätte.
    Das hängt alles etwas voneinander ab, denn ohne Passanten ist es schwer Fahndungslevel zu bekommen.
    Ich hatte mir diesen Pawno Editor schon einmal angeschaut, sieht eigentlich relativ einfach aus. Man muss nicht mal eine Schnittstelle implementieren, um die Events abzufangen, das bekommnt man ja alles schon auf dem Silbertablett serviert.


    Und meine Frage wäre jetzt, ob das theoretisch möglich wäre so etwas wie Bot Logik für Polizei und Passanten mit Standardmodels und allem umzusetzen? Die Passanten können ja zufällig rumlaufen, das ist ja nicht schwierig, aber bei der Polizei sieht es etwas anders aus.


    Also ich weiß bis jetzt durch googeln und einen eigenen LAN Server, das man für Bots Wegpunkte vergeben muss. KIs sind eigentlich für Bots allgemein üblich. Kann man nun hergehen und sagen, dass die Wegpunkte dynamisch vergeben werden? Konkret gehts mir dabei um den Anwendungsfall von einer Polizei Autoverfolgung. Im Prinzip wäre das nicht schwer, einfach nur eine Schleife, die mir in Echtzeit die aktuellen Koordinaten vom Spieler mit dem entsprechenden Fahndungslevel holt und das Polizeiauto sollte sich z. B. nicht weiter wie 10 Einheiten sich den Spieler nähern. Schließlich ein Polizeiauto im Auto des Spielers fahren zu lassen macht wenig Sinn.


    Eventuell wird auch Load Balancing nötig sein, denn die meisten Gameserver geben sich ja nicht mit 500 Ports zufrieden.


    Das ganze was ich da scripten möchte nennt sich denke ich mit Fachbegriff Filterscripts. Ich habe auch einen Kumpel, der mir mit seiner San Andreas Multiplayer Erfahrung helfen kann, das alles zu verstehen.



    MFG alphatier

  • Deswegen wollte ich erstmal fragen, ob es theoretisch möglich ist, bevor ich mir die ganze Arbeit mache.
    Wichtig wäre ersteinmal zu wissen, ob ich die KIs der Bots während der Laufzeit ändern kann.

  • Das mit der Polizei kannst du nicht machen,
    da die Bots ja immer festen Wegpunkten folgen,
    und nicht frei rumfahren und dich verfolgen.
    Soweit ich weiss können Bots auchnicht sterben,
    somit wäre das mit dem Killen der Bots auch nichtig.
    Ausserdem bekommst du durch das töten auch keine Wanteds,
    es sei denn du scriptest das rein,
    wobei ich mir nicht sicher bin ob das auch für Bots geht.
    MfG
    Das Brot

  • Teoretisch ja
    Praktisch nein.


    Denn du müsstest den Server weitesgehend verändern so das Bots auch sterben können bzw Cars die von Bots gefahren werden auch schaden nehmen. Dieses ist nicht Implimentiert somit ist das ganze vorhaben nicht machbar. ;)


    Ausser (und nun das ja) wenn du den Source vom Server hättest, wäre dies ggf möglich da du dir so die Funktionen und auch die KI (ist ja vorhanden) zur nutzen machen kannst.


    Ich denke das dass ganze vorhaben in MTA sinnvoller wär da es zu SA-MP auch OpenSurce ist.

  • Ich weiß ja nicht mal, ob Pawn objektorientiert ist. Sonst würd ich sagen für jeden Bot lege ich ein Objekt an, der eine int Klassenvariable hat mit der Anzahl von Treffern. Die Variable wird mit jedem getroffen-Event erhöht. Und wenn eine bestimmte Anzahl erreicht ist, dann verschwindet der Bot einfach. Sterben lassen kann man ihn ja nicht, aber er kann verschwinden ;)


    Ok die Wegpunkte kann man während der Laufzeit nicht ändern, somit fällt schonmal die Verfolgung raus.


    Also würde theoretisch und praktisch gesehen nur Fußgänger gehen, die auf festen Wegpunkten laufen und auch sterben können?

  • Ich verstehe dein Vorhaben, klingt auch echt gut. Ich bezweifel aber die durchführbarkeit in Sa-Mp. Es ist möglich dein Vorhaben zu realisieren, keine Frage. Jedoch zieht das sehr viel Rechenleistung, sehr sehr viel und das in Sa-Mp? Du musst bedenken, der Server muss hier alle Berechnungen durchführen und unterstützen tut es auch nur einen Core vom CPU. Wenn du alleine auf dem Server bist, wäre das machbar aber mit mehreren Spieler wird das eine Laggparty. Du musst dir die Idee leider aus dem Kopf schlagen.

  • Naja theorethisch alles möglich, du hast ja wie ich gelesen habe Kentnisse in C und somit könntest du dir Plugins Programmieren die dies machen und nicht durch Filterscripts das ganze realisieren. Du könntest ja auch den Source Code von CNPC verwenden um dir die Arbeit ein wenig zu erleichtern. Ich weis nicht ob das ganze auch nicht per Memory Hacking möglich ist was aber "anscheinend" verboten ist. Wegen der Objektorientierung kannst du ja C nehmen. Wiso kann man die Wegpunkte nicht ändern während der Laufzeit, ich habe das so verstanden, das der Bot die Waypoints dynamisch nimmt jenachdem wo er hin muss, das wäre doch möglich? Außerdem kann man auch neue Waypoints definieren.


    Autos würden auch gehen, jedoch hab ich da nicht so Ahnung, jedoch halte ich den Vorhaben für möglich nur mein Wissen reicht leider nicht für diesen Bereich spezifisch Bots aus, es ist schwer, aber denke ich möglich :)