German / FPE-Script und LUA-Script

Author
Message
grinseengel
8
Years of Service
User Offline
Joined: 27th Jul 2015
Location:
Posted: 17th Feb 2016 20:33
Ich bin gerade dabei mich mit der Animation von Modellen zu beschäftigen. Zum einem gibt es ja zum Modell das fpe-script. Dort sind sehr viele Animationsphasen definierbar. Z.B:



Dann gibt es ja das LUA-Script was das Modell dann steuert. Jetzt ist mir unklar was die einzelnen Phasen(z.B. csi_crouchgetup) bedeuten und ob man die immer setzen muss. Muss ich diese Animationsphasen immer im FPE setzen oder reicht es aus,. diese im LUA Script zu setzen?

z.B:



Ist da vieles auch hardcodet? Ich bin im Moment echt überfragt und brauche Hilfe.
Baumgard
8
Years of Service
User Offline
Joined: 8th Aug 2015
Location:
Posted: 18th Feb 2016 09:35
Also ich habe mal zum Spaß (bzw in einem eignen Projekt) die Animation eines Charakters via Lua nen bissi modifziert.
Ich glaube du kannst die gesamten Animationen in Lua nachskripten/überschreiben (bei mir habe ich zb. einen bestimmten Frame rausgesucht und den Charakter auf den Frame gefreezed)
PM
Corno_1
GameGuru Tool Maker
13
Years of Service
User Offline
Joined: 3rd Nov 2010
Location:
Posted: 18th Feb 2016 10:01
Die Zeilen im fpe sind glaub ich nur zum besseren verständnis wo die animation anfängt und aufhört. Man kann sie auch weglassen, glaub ich.
Wenn du in lua scriptest, musst du nix in den Fpe verändern. Einfach die animation die weg soll durch die die du willst in SetAnimationFrames(52,240).

Es ist nicht hardcoded, die animationen, vllt bei den zombies, da bin ich mir nicht sicher.
My dream is to develope games, which makes fun when I create it and fun when other people play it.
PM
grinseengel
8
Years of Service
User Offline
Joined: 27th Jul 2015
Location:
Posted: 18th Feb 2016 14:05
Ok danke für die Info.

Jetzt habe ich mir mal ein NPC-LUA Script angesehen. Jetzt sind mir da einige Dinge noch unklar:

Z.B:

if state[e] == "wander" then
CharacterControlUnarmed(e)
if g_Entity[e]['health'] < health[e] then
StopAnimation(e)
CharacterControlLimbo(e)
state[e] = "attack"

Was bedeutet state[e] (Status der Entity?), wenn ja ist das so hardcodet und was sagt das der Engine?
CharacterControlUnarmed(e) ???

Gibt es da eine Anleitung ? habe bisher nichts gefunden.
Corno_1
GameGuru Tool Maker
13
Years of Service
User Offline
Joined: 3rd Nov 2010
Location:
Posted: 18th Feb 2016 14:16
state[e] ist eine variable eines arrays und zwar nämlich in dem feld e. e steht für die variable die das entity repräsentiert. Hover mal über das entity im map editor. Da steht dann unten rechts/ links die nummer.

if state[e] == "wander" then
bedeuted dann so viel wie: " falls im status "wandern" tue ..."

CharacterControlUnarmed(e) ist sowas wie der character wird ohne waffen kontrolliert vom script. Gibt da noch mehr functionen:



Ich weiß nicht wie weit du im scripten und programmieren bist, aber da du ein array nicht kennst, schätze ich nicht sehr weit. Deswegen mein tipp: Lass die finger erstmal von AI scripten. Vieles functioniert hier nicht richtig und du wirst viel komische sachen erleben, da es hardcoded ist. Auch wenn du 10x sagst er soll auf etwas anderes schießen, wird er das nicht tun. Ich habe mich damit mal ne woche beschäftigt und muss sagen, es hat mich sehr frustriert.

Fürs scripten gibt es keine Anleitung. Sorry, da hilft nur trail and error.
My dream is to develope games, which makes fun when I create it and fun when other people play it.
PM
grinseengel
8
Years of Service
User Offline
Joined: 27th Jul 2015
Location:
Posted: 18th Feb 2016 15:23
Quote: "Ich weiß nicht wie weit du im scripten und programmieren bist, aber da du ein array nicht kennst, schätze ich nicht sehr weit. "


Klar kenne ich ein Array. Nur wenn ich nicht die Zusammenhänge der Enginebefehle kenne, dann hilft mir das auch nicht viel weiter.

Quote: "Auch wenn du 10x sagst er soll auf etwas anderes schießen, wird er das nicht tun. Ich habe mich damit mal ne woche beschäftigt und muss sagen, es hat mich sehr frustriert. "


Ok, das klingt nach einer Herausforderung.

Vielen Dank.
grinseengel
8
Years of Service
User Offline
Joined: 27th Jul 2015
Location:
Posted: 18th Feb 2016 15:27
Quote: "if state[e] == "wander" then
bedeuted dann so viel wie: " falls im status "wandern" tue ...""


Ja und genau das Vergleichargument "wander", wo kommt das her. Das wurde Script nicht definiert. Vergeben ich das selber, wenn ja wo? Jedenfalls habe ich das nicht gefunden. Das ist es eben. Ich kann zwar die Scripte verändern aber ich will ja auch verstehen was ich mache.
Corno_1
GameGuru Tool Maker
13
Years of Service
User Offline
Joined: 3rd Nov 2010
Location:
Posted: 18th Feb 2016 15:54 Edited at: 18th Feb 2016 15:55
Quote: "Ok, das klingt nach einer Herausforderung."

ich hab des zwar dann geschaft, aber auch ziemlich genug von AI Was willst du eig genau machen?

Quote: "Klar kenne ich ein Array. Nur wenn ich nicht die Zusammenhänge der Enginebefehle kenne, dann hilft mir das auch nicht viel weiter."

Entschuldigung, war nur eine vermutung. Nicht böse gemeint.

Quote: "Ja und genau das Vergleichargument "wander", wo kommt das her."

Naja es sollte irgendwo stehen: state[e] = "wander"
damit wird das array feld mit dem String "wander" überschrieben. Wenn dies nicht vorkommt, ist es vllt ein ungenutztes feature.
meistens ist es so:
if state[e]== "irgendwas" and playerIsAway then (playerIsAway ist kein kommand nur ein beispiel was ich mein so ungefär)
state[e]="wander"
end
My dream is to develope games, which makes fun when I create it and fun when other people play it.
PM
grinseengel
8
Years of Service
User Offline
Joined: 27th Jul 2015
Location:
Posted: 18th Feb 2016 16:25
Ok, habe ich verstanden. Dann wird das Argument also durch das Script gesetzt und dann wird die entsprechende Animation abgespielt.

Ich habe ein Modell in den GG importiert. Einen Troll. Der hat duch Harry ein Script erhalten mit dem die Collision bezüglich der Reaktion auf waffen funktioniert. Kurz gesagt, er lässt sich killen. Jetzt gibt es ja vorgefertigte Scripte. Ich habe versucht das fastzombie-lua meinem Troll zuzuweisen. Laufen tut er auch, aber killen nicht. Jetzt muss das ja am Script liegen.
Wolf
Forum Support
16
Years of Service
User Offline
Joined: 8th Nov 2007
Location: Luxemburg
Posted: 19th Feb 2016 09:58
Ich denke das lässt sich am einfachsten lösen indem du mir diesen Troll schickst und ich einfach schau wo es im Salz liegt.



-Wolf
"When I contradict myself, I am telling the truth"
"absurdity has become necessity"
Corno_1
GameGuru Tool Maker
13
Years of Service
User Offline
Joined: 3rd Nov 2010
Location:
Posted: 19th Feb 2016 11:51
Ja, also natürlich musst du die Attack animationen austauschen. Sonst geht da gar nichts. Das er überhaupt läuft ist da schon ein wunder.
Dafür müsstest du allerdings das FPE zeigen, sonst kann ich dir nicht helfen.
My dream is to develope games, which makes fun when I create it and fun when other people play it.
PM
grinseengel
8
Years of Service
User Offline
Joined: 27th Jul 2015
Location:
Posted: 20th Feb 2016 12:49
Ok, den Troll kann jetzt einem Weg folgen, auf mich zurennen und die Keule schwingen. Was ich jetzt noch nicht hinbekomme ist ein Sterbeanimation.

Hier das Script:



Würde mich über Hilfe freuen.

Für die Sterbeanimation habe ich folgendes gefunden:

grinseengel
8
Years of Service
User Offline
Joined: 27th Jul 2015
Location:
Posted: 23rd Feb 2016 18:48
Ok, habe bisher folgendes hinbekommen.

- patrol (walk)
- idle
- 9x attack
- 2 x dying

Jetzt versuche ich noch folgendes hinzubekommen.

- kurze Drohgebärde vor dem Angriff
- Animation zum rennen

Mich würde auch mal interessieren ob man den NPC anch dem Verlassen seines Pfades wieder zurücklaufen lassen kann und er dann wieder den Pfad abläuft.

Login to post a reply

Server time is: 2024-04-25 00:21:26
Your offset time is: 2024-04-25 00:21:26