Archiv verlassen und diese Seite im Standarddesign anzeigen : Flowgraph im Multiplayer
Ich suche nach einigen Lösungen per FG oder Scripte für eine MP-Modifikation (basierend auf Modus Power Struggle):
1. Panzerfahrzeuge sollen nach dem Verlassen nicht automatisch zerstört werden.
2. Fährt ein beschädigtes Panzerfahrzeug zur Reparatur (ausgelöst per Trigger), dann sollen Damage und Ammo neu gesetzt werden.
3. Gibt es ausser mit 'Start' noch die Möglichkeit bei 'OnInit' (z.B. beim Respawn) per FG Aktionen zu steuern?
4. Wie deaktiviere/aktiviere ich ein 'Advanced Door' per FG?
:?:
Bei den Advanced doors kannst du doch einfach "locked" einstellen oder nicht?:-)
Ne, das bleibt dann so und geht nicht (funtzt nur im Editor).
Ich suche nach einigen Lösungen per FG oder Scripte für eine MP-Modifikation (basierend auf Modus Power Struggle):
1. Panzerfahrzeuge sollen nach dem Verlassen nicht automatisch zerstört werden.
Hi du, habe bisher nur mit dem sdk gebastelt, daher kann ich dir nicht mit sicherheit sagen das ich mit der LUA Info richtig liege, aber wenn ich hier unter:
\Electronic Arts\Crytek\Crysis\Game\Scripts\GameRulesin die Datei: PowerStruggle.lua
gehe, findet man zu Anfang diesen eintrag:
PowerStruggle.VEHICLE_CLAIM_TIME                = 90; -- seconds to claim a bought vehicle
Wenn ich mir dann noch die Methode UpdateUnclaimedVehicles angucke, findet sich dort ein Eintrag der das entfernen von unbesetzten Fahrzeugen "verursacht" (böse böse das ;) ).
Ich schätze also das man mit ner erhöhung der ClaimTime die Fahrzeuge länger im Spiel hält. Ist halt von Nachteil das ich bisher noch nie Online gespielt habe und somit nicht weiß ob sich die Fahrzeuge automatisch in die Luft sprengen wenn du aussteigst. ^_^
Habe hier mal in der Methode die drei Teile markiert mit denen man Quick & Dirty dafür sorgen könnte das die Fahrzeuge garnicht mehr entfernt werden.
function PowerStruggle:UpdateUnclaimedVehicles(frameTime)
    for id,v in pairs(self.unclaimedVehicle) do
        v.time=v.time-frameTime;
        if (v.time<=0) then
            -- inform the player
            self.game:SendTextMessage(TextMessageInfo, "@mp_UnclaimedVehicle", TextMessageToClient, v.ownerId, g_gameRules:GetItemName(v.name));
            -- refund
            local price=self:GetPrice(v.name);
            if (price and price>0) then
                self:AwardPPCount(v.ownerId, math.floor(self.ppList.VEHICLE_REFUND_MULT*price+0 .5));
            end
            
            System.RemoveEntity(id);
            
            self.unclaimedVehicle[id]=nil;
        end
    end
end
1) Hier könnte man einfach dafür sorgen das die Zeit nicht abläuft...
 
 v.time=v.time-frameTime;2) Ohne Remove, kein Fahrzeugschwund. Wenn man also diese beiden hier deaktivieren würde... ;)
 System.RemoveEntity(id);
            
            self.unclaimedVehicle[id]=nil;
Korrigiert mich wenn das so nicht geht oder Falsch ist, lerne gerne was dazu.
gruß Blue
Ich dachte, "Advanced Doors" gehen nicht im MP ?
Schau mal hier:
http://www.crymod.com/thread.php?threadid=13887
Da steht schonmal, was nicht geht. Advanced Doors scheinen auch nicht zu funktionieren :(
@ Roberi
Ja, die Liste kenne ich. :D
@ FHG
FG im Multiplayer ist wirklich sehr eingeschränkt. Hoffe mal, dass
Crysis da etwas ändern wird und uns ein paar neue MP-Nodes
liefert. :D
@Blue, die Power Struggle LUA habe ich schon verändert. Die Fahrzeuge kann man damit länger am Leben halten aber sie werden nach Verlassen zerstört. Das ist im C++ Code geregelt und wenn keine FG-Schnittstellen dafür da ist, komme ich nicht daran.
Advanced Doors habe ich am Laufen, nur das Steuern auf aktiv/inaktiv geht nicht. Genauso benutze ich Proximity Trigger (z.B. für verminte Bereiche und Steuerungen), die gehen unter Crysis aber nicht unter Wars.
Hallo Crytek! .. bin ja schon still.
Hast du deine FG Konstellation auch mal auf einem Dedicated Server ausprobiert? Denn da funktioniert fast kein FG, bei Selbsterstellten funktioniert noch ein Großteil.
Das weiß ich Roberi.
Mein Projekt ist für LAN ausgerichtet. 
Vielleicht wird es einmal die Basis für "das Mögliche". 
Vier Jahre gute Erfahrung mit Crytek läßt die Hoffnung nicht sterben, denn die Vergangenheit war wirklich sehr positiv  - sonst wäre ich nicht mehr dabei.
Gekleckert wird nicht, alles oder nichts!
@Blue, die Power Struggle LUA habe ich schon verändert. Die Fahrzeuge kann man damit länger am Leben halten aber sie werden nach Verlassen zerstört. Das ist im C++ Code geregelt und wenn keine FG-Schnittstellen dafür da ist, komme ich nicht daran.   Ok danke für die Info, das ist gut zu wissen. Die gehn also in die Luft wenn man aussteigt? Das muss ich mir bei Gelegenheit mal angucken wenn ich wieder im Code rumschmökere. ... So mal reingeguckt, bereits in der VehicleBase gibts ne Release Methode mit ner Delete Anweisung. Hab mal ein wenig drum rum geguckt, das könnte es sein (wird aber zigfach vererbt bzw. es gibt massig gleichnamige Methoden -_- ). Wenn ich die Woche mal zeit habe guck ich noch mal genauer rein, vieleicht ist es ja garnit so schwer zu lösen.
Was die Advanced Doors angeht, hast du die speziell Modifiziert oder wie hast du die lauffähig gemacht? Hab da vorhin mal reingeguckt und es scheint als wären in den lua Files nur die Serverseitigen Events geregelt, kann es sein das die nur den Client Part vergessen haben? Oder müssen die noch fürs Netzwerk speziell in C++ Serialisiert werden?
Hab mich in Netzwerksachen für MP Anwendungen bisher noch nicht wirklich eingearbeitet da ich meine Zeit mit anderen Sachen verbracht hab... aber wenn jemand Ahnung hat, warum ihm nicht ein paar fragen stellen? ;)
gruß Blue
@Blue, lass Dich nicht verwirren.
Was in den Scripten steht ist nicht zuverlässig und wird oft überhaupt nicht verwendet (Files aus 2004). 
Ein lustiges Beispiel hier:
 
http://www.abload.de/thumb/scriptswl1d.png (http://www.abload.de/image.php?img=scriptswl1d.png)
Egal, das Modding für Crysis MP macht mir langsam keinen Spaß mehr. Es gibt nur Einschränkungen und keine Möglichkeiten, ganz einfache Anforderungen zu realisieren. 
... oder sehe ich langsam den Wald vor lauter Bäumen nicht mehr?
Beispiel:
Ich benötige die Entity-ID des Fahrzeugs, dass in einen Shape fährt.
Hilfen und Hinweise hier aus dem Forum (Danke Hamers) haben mich zum Flowgraph Plugin - Iterator1 geführt, was diese Information liefern soll. Hier mein Versuchsbeispiel (einfahren und Motor aus):
http://www.abload.de/thumb/idyvre.png (http://www.abload.de/image.php?img=idyvre.png)
Name:        Iterator:GetEntitiesInArea
Purpose:     Generates a list of entities contained in the defined shape.
In:        Start - (Any) Call to generate the list and start iterating.
        Next - (Any) Call to get the next entity in the list.
        Limit - (Int) Limit how many entities are put in the list.
        Immediate - (Bool) TRUE to iterate through immediately.
        Type - (Enum) Specify which types of entities to gather.
        Area - (String) Name of the shape.
Out:        Entity - (EntityId) Next entity in the list.
        Count - (Int) Current count of iteration.
        Done - (Int) Called when last entity is returned, total count.
Remarks:    Limit allows you to control how many entities are gathered into
        the generated list. A limit of '0' means "give me all."
        Immediate means you want to have all of the entities found to
        be outputted right after you call Start. This is a shortcut to
        avoid having to call Next each time you want to handle the next
        entity in the list.
        For the area, you can use either a Shape, AreaBox or AreaSphere.
------
Soweit die Beschreibung dazu.
Ich habe bereits alle möglichen Kombinationen der Parameter und andere Vergleichslogiken versucht. Da komme ich nicht weiter, der Motor läuft und läuft.
:-(
Der FG ist nur ein Ausschnitt!
Da werden alle Panzerfahrzeuge abgefragt (im Bild ist zufällig ein APC) - das ist nicht der Fehler.
@ FHG
Wenn du aber mit der ID des Fahrzeuges doch schon arbeitest, 
dann könntest du es doch auch so machen:
http://www.abload.de/img/qe3rsf.jpg (http://www.abload.de/image.php?img=qe3rsf.jpg)
Bei dem "ProximityTrigger" musst du in den Eigenschaften
noch die Eigenschatf "OnlyPlayer" auf "Flase" setzen. :D
@Pat21, ich weiß doch nicht welches der Fahrzeuge es gerade ist, dass in den Shape fährt.
@ FHG
Ist schon klar.
Aber bei deinem FG überprüfst du ja auch mit einem "EntityID" 
und einem "Math:Equal", ob die ID, die du von dem "Iterator" bekommst,
gleich ist mit der ID des Fahrzeuges. Genau das gleiche macht auch 
mein FG. :D
Habe es mal mit dem Iterator gemacht:
http://www.abload.de/img/qeguer.jpg (http://www.abload.de/image.php?img=qeguer.jpg)
So wird jedes Fahrzeug, welches den Bereich befährt, ausgeschalten.
... die du von dem "Iterator" bekommst ...
 :D da bekomme ich ja nix!
Habe Deinen letzten Vorschlag mal probiert - kommt auch nix.
Ich benötige die ID des Fahrzeugs um:
1. es aus zuschalten (ist nebensächlich).
2. zu reparieren.
3. die passende Munition nach zu laden.
4. und noch etwas mehr, sage ich jetzt aber nicht. :wink:
Die ID's sind beide vom Typ 'integer' und das sollte man vielleicht mal im HUD debuggen (umwandeln in einen String). Wenn es bei Dir funktioniert, habe ich einen Fehler in meiner Laufzeitumgebung - das wäre dann mal eine Spur.
Schon mal Danke, dass Du mitdenkst !!! :p
Alleine übersieht man schnell die einfache Macke,,,,
@ FHG
Du brauchst die "ID" des Fahrzeuges, welches in das Shape fährt ??
Ja, das würde sogar mit einem "ProximityTrigger" gehen.
Könnte man so machen:
http://www.abload.de/img/qeuj56.jpg (http://www.abload.de/image.php?img=qeuj56.jpg)
(Geht aber nur, wenn nicht mehrere Fahrzeuge gleichzeitig in das Shape fahren.)
Der FG, den ich dir vorhin gepostet habe (den mit dem Iterator), 
funzt bei mir einwandfrei. Kannst du mal deinen posten, vllt ist ja nur ne 
Kleinigkeit falsch. :D
Cry|loud
20.12.2008, 12:47
Das wird alles nichts bringen, was Ihr hier versucht haben schon einige andere im Multiplayer versucht, man müsste die ganzen Scripts für den MP umcoden...
Irgendein MOD Team hatte doch mal vor dies zutun, gibts das noch ?
Vielleicht könntest du mit denen dann zusammenarbeiten falls das Team nicht schon längst aufgelöst ist
@Cry|loud, die DLL's --> wird Crytek noch machen (wenn alles tot ist).
@Pat21, Du hast mir jetzt auf das Pferd geholfen!
Ein Fahrzeug fährt ein (ich selektiere nur Vehicles!).
#784 ist der APC
#30583 das bin ich als Player (Ergebnis vom Iterator)
Der Vergleich ist 'false' :roll:
Bug in der Node. Bin doch kein Panzer:lol:
Cry|loud
20.12.2008, 14:27
Die sollen aber jetz funktionieren =)
... Irgendein MOD Team hatte doch mal vor dies zutun, gibts das noch ?
Vielleicht könntest du mit denen dann zusammenarbeiten falls das Team nicht schon längst aufgelöst ist
Ja, da war unser Meister-Coder Ghost2000 mit seiner Entwicklung eXcaliTrone (http://farcry.crymod.com/thread.php?threadid=9330) für FarCry. Bei Crytek sollte er auch offiziell den MP-Mode verbessern! Leider hat er nicht nur unser Team verlassen, sondern seine Leistung in die eigene berufliche Karriere gesteckt - was im 'echten' Leben wichtiger ist. Nachwuchs braucht Zeit und da ist zur Zeit wenig zu finden. Unser LiVe sieht auch (richtiger Weise) seinen Schwerpunkt in dem Insani-Projekt (http://crysis.4thdimension.info/forum/showthread.php?t=9784). Somit muß bei uns jeder als Einzelkämpfer alle Bereiche abdecken.
... aber wir arbeiten ja alle nur aus Spaß an der Sache!
Eine Community-Mod ist nicht realisierbar, das weiß ich aus der Vergangenheit. 
Das nötige, professionelle Management funktioniert nicht im 'Freizeitbereich'.
/FHG
P.S. Werde mir mal die letzte Version von 'Iterator' ziehen und schauen.
@ FHG
Genau das selbe kommt bei mir auch. Erst die ID des
Fahrzeuges und dann meine. Aber irgendwie funktioniert das
bei mir trotzdem. :D
Ja klar, Du gehst von der anderen Seite auf die Suche:
- was macht mein bekanntes Fahrzeug?
- dann Aktion.
Meine Anforderung:
- wer ist in dem Bereich?
- wie ist die Zuordnung und welche Aktion ist gefordert.
da ich hier gelesen habe das der fg im mp stark eingeschränkt ist, frag ich hier mal nach bevor ich mir die ganze mühe mache.
ist es möglich für den mp etwas zu realisieren wie auf der map island (wenn man die map verlässt wird man ja von den schiffen aus abgeschossen), dass ein geschütz eine lenkrakete auf ein bestimmtes entity abfeuert?
gibt es ein node mit dem man geld/prestigepoints "abbuchen" kann, weil eine eigene waffe bauen, und diese ins kaufmenü einbinden is glaub ne nummer zu groß.
und ist der trackview auch eingeschränkt?
gruß juls
ist es möglich für den mp etwas zu realisieren wie auf der map island (wenn man die map verlässt wird man ja von den schiffen aus abgeschossen), dass ein geschütz eine lenkrakete auf ein bestimmtes entity abfeuert?glaube das ist mit forbbiden area gelößt. man kann auch auf bestimmte entitys "schießen lassen", aber das problem ist eher das du im mp das auslösende event auch auf den anderen clients ausgeben musst, sonst passiert nur auf einem pc was und beim rest tut sich nix. ohne modding wird da glaube ich nix drauß.
und ist der trackview auch eingeschränkt?eigentlich nicht, problematik ist halt die selbe wie oben beschrieben. ;)
ansonsten frag mal pat21 - der ist hier sowas wie der flowgraph king - wenn dir hier jemand mit den "standardnodes" helfen kann, dann er. :grin:
gruß Blue
@ _Juls_
zu 1. Im MP würde ich das mit "ForbiddenAreas" lösen.
zu 2. Es gibt kein Node, mit dem man Geld/Prestige abbuchen kann.
zu 3. Ähm...............Trackview im MP geht soweit ich weiß, überhaupt nicht, da du 
die Sequence mit einem Flowgraph starten musst, welcher nicht geht.
Wenn du die ganzen Sachen umsetzten möchtest, dann müsstest du 
ne Mod machen.
@ _Juls_
zu 1. Im MP würde ich das mit "ForbiddenAreas" lösen.
zu 2. Es gibt kein Node, mit dem man Geld/Prestige abbuchen kann.
zu 3. Ähm...............Trackview im MP geht soweit ich weiß, überhaupt nicht, da du 
die Sequence mit einem Flowgraph starten musst, welcher nicht geht.
Wenn du die ganzen Sachen umsetzten möchtest, dann müsstest du 
ne Mod machen.
argh -.- ....
wegen 1. das war nich so gemeint um zu verindern das wer das schlachtfeld verlässt, so is das auf der map island, ich wollte das für was anderes zweckentfremden, was ich aber nich verraten wollte.
hmm aber die sequenz könnte man doch auch einfach mit nem trigger starten. aber nagut wenn es kein node gibt zum geld abbuchen fällt das wohl eh alles ins wasser, wollte es eig so machen das man für geld nen funkspruch abschicken kann wodurch dann flugzeuge ins spielgeschehen eingreifen, oder ein heli für 45sek das schlachtfeld aufmischt ... denn so käme dann auch mal richtiges schlachtfeeling auf ohne das viele leute mitspeilen(32), weil wenn ich auf nen server geh wo viel los is hab ich nach na gespielten map derbe laggs, zb steht dann immer da du spawnst in 0 sek obwohl ich schon längst rumlaufen kann (aber noch keine waffen/geld hab ...)
@ _Juls_
Sicher kannst du ne Sequence mit einem Trigger starten, aber das Node
"PlaySeuqence" geht, soweit ich weiß, nicht im MP und dieses brauchst 
du, um eine Szene zu starten.
Wen du das alles umsetzten möchtest, dann musst du eine Mod daraus 
machen. Das geht so nicht alles. :D
ja ne dann wird halt ne normale PS map draus, weil wenn ich da jetzt ne mod für anfang ... neee :D hab ja jetzt schon mehr bock die nächste map weiter zu machen. wobei die haupt ideen dafür auch somit ins wasser gefallen sin. naja trotzdem danke.
XcorpioN
11.03.2009, 16:24
@ _Juls_
Sicher kannst du ne Sequence mit einem Trigger starten, aber das Node
"PlaySeuqence" geht, soweit ich weiß, nicht im MP und dieses brauchst 
du, um eine Szene zu starten.
 
Also wenn ich nen Trackview machen möchte ... dann muss der non stop laufen?
Also ich kenn ne Map, wo per Trackview ein Alienwarrior und andere Schiffe über einen Krater (in dem man kämpft) fliegen. Dass sah aus wie ne "loop" wenn ich mich nicht irre.
 
Aber ich hab vor, dass man per Prox.Trigger einen TrackView auslöst.
Also kann ich mir abschminken?
@ Prototype
Wie gesagt, soweit ich weiß, geht es nicht. Wie heißt denn die Map ??
Wenn die ne .cry hat, dann kannst du ja mal schauen, wie sie das
gemacht haben bzw ich schaue dann mal. :D
XcorpioN
11.03.2009, 16:29
@ Prototype
Wie gesagt, soweit ich weiß, geht es nicht. Wie heißt denn die Map ??
Wenn die ne .cry hat, dann kannst du ja mal schauen, wie sie das
gemacht haben bzw ich schaue dann mal. :D
 
Ne ich denke ist keine cry datei bei soweit ich mich entsinne. Wie gesagt die map war bloß ein Beispiel für mich, dass Track view im MP funktioniert - hatte ja nichts mit einem Start einer Sequence zu tun. Schade wenn mein Vorhaben scheitert!
 
Wie ist das denn mit ner mod? Wo könnte ich denn da etwas ändern, dass es klappen könnte oder meintest du was anderes?
@ Prototype
Nun ja, wenn du ne Szene im MP gesehen hast, dann muss es
über den Trackview gelaufen sein. Bei Sachen über den MP
bin ich nicht so informiert, da ich kaum spiele bzw keine Maps 
für diesen mache. ;)
Du müsstes, wenn es nicht geht, im Code von Crysis etwas ändern
-> Mod erstellen. ;)
XcorpioN
11.03.2009, 16:38
Ok dann lass ich mir lieber ne alternative einfallen... also ich hatte geplant, dass ein Player (egal welcher) über ein portal (welches geheim ist/zufällig entdeckt werden kann solange ich es nicht in der Bescheibung aufführe) außerhalb des Kampffeldes einen Auslöser betätigen kann und so zum Beispiel (ich verrate nur die Idee, nicht die genaue Planung) eine Rakete(Raketen) aslöst die per Trackview fliegen und im Kampffeld einschlagen und dort alles in die luft jagen (also auch mit Triggern und plötzlichen Schaden/echten Explosionen - weiß aber noch nicht wie ich DAS mit dem Schaden regeln kann) ... also das ist meine verwirrende idee, hört sich doof und mp-unfreundlich an, aber wartet es ab ^^
Trackview funktioniert im Multiplayer!
Ich benutze TV oft für Schranken und Tore im Crysis-Multiplayer.
Selbst ProximityTrigger gehen sauber.
Die Frage ist: Mit welchem Game?
Unter Crysis geht es schon, bei Wars gibt es mehr Einschränkungen.
/FHG
Edit by Pat21:
Oh.........gut zu wissen. Danke. ;)
hey ich hab grade auch ma auf meiner map nen jet lang sausen lassen un ihn ne bombe abwerfen lassen, naja was soll ich sagen einmal via proxi trigger und ein ... ehm mutli iwas trigger der mit nem shape verbunden war, beides ging, aber ka ob das andere spieler auch sehen un nich nur der server.
aber die idee die ich hatte das man luftangriffe kaufen kann und ein jet dann lenkraketen abfeuert muss ich mir glaube ich trotzdem abschminken.
Don Fabiano
05.04.2009, 22:06
Ich habe schon mehrfach gelesen, dass man mit Flowgraphs Objekte, oder ganze Teile von einer Map ausblenden kann.
Ich habe hier gepostet, weil das ganze nach Möglichkeit im MP laufen soll.
Ich würde gerne ein Decal ausblenden, sobalt man einen bestimmten Bereich betritt.
Den Bereich hab ich schon mit einem Shape (Area) markiert und einem AreaTrigger zugewiesen.
Falls Decals allgemein nicht gehen könnte auch ein Solid oder dergleichen vor dem Decal erscheinen, sobald man den Bereich betritt.
Powered by vBulletin® Version 4.2.5 Copyright ©2025 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.