Benutzer-Werkzeuge

Webseiten-Werkzeuge


Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu der Vergleichsansicht

Letzte Überarbeitung Beide Seiten, nächste Überarbeitung
quickstart:skripte:kampf-ki [2015/08/18 22:15]
127.0.0.1 Externe Bearbeitung
quickstart:skripte:kampf-ki [2016/02/07 14:33]
milgo
Zeile 1: Zeile 1:
-==  Einleitung ==+==== Einleitung ​====
 In diesem (kurzgehaltenem) Tutorial werde ich euch zeigen, wie ihr die NPCs etwas "​Inteligenter"​ kämpfen lasst (eher dass die NPCs mehr blocken). In diesem (kurzgehaltenem) Tutorial werde ich euch zeigen, wie ihr die NPCs etwas "​Inteligenter"​ kämpfen lasst (eher dass die NPCs mehr blocken).
 Ich werde erst den Code dazu schreiben, und hinterher erklären. Ich werde erst den Code dazu schreiben, und hinterher erklären.
-==  Was sollte ich können? ==+==== Was sollte ich können? ​====
 Es sollte reichen wenn man neue Funktionen o.a. schreiben kann. Es sollte reichen wenn man neue Funktionen o.a. schreiben kann.
-==  Jetzt gehts los! == +==== Jetzt gehts los! ==== 
-Als erstes öffnet ihr die [GDATA]/​_work/​data/​Scripts/​Content/​AI/​Human/​ZS_Human/​ZS_Attack.d! +Als erstes öffnet ihr die ''​[GDATA]/​_work/​data/​Scripts/​Content/​AI/​Human/​ZS_Human/​ZS_Attack.d''​
-In dieser Datei gibt es die Funktion: AI_Attack (self); nach der wir suchen müssen.+In dieser Datei gibt es die Funktion: ​''​AI_Attack (self);'' ​nach der wir suchen müssen.
 Das sollte etwa so aussehen: Das sollte etwa so aussehen:
-[[Kasten GML]]if (other.aivar[AIV_INVINCIBLE] == FALSE) // Nur NSCs angreifen, die NICHT im Talk sind+ 
 +<code C> 
 +if (other.aivar[AIV_INVINCIBLE] == FALSE) // Nur NSCs angreifen, die NICHT im Talk sind
  {  {
  //​führt Angriff mit Waffe oder Spell aus (Aktion wird durch FAI bestimmt)  //​führt Angriff mit Waffe oder Spell aus (Aktion wird durch FAI bestimmt)
Zeile 17: Zeile 19:
  {  {
  Npc_ClearAIQueue(self);​ //killt den letzten AI_Attack-Befehl,​ verhindert z.B. stumpfes weiterrennen.  Npc_ClearAIQueue(self);​ //killt den letzten AI_Attack-Befehl,​ verhindert z.B. stumpfes weiterrennen.
- };[[Kasten Ende]]+ }; 
 +</​code>​
 In der if Abfrage baut ihr nun einige andere ein, z.B. ob der Hero gerade schlägt, und eine bestimmte Variable den richtigen Wert hat! Dies könnte so aussehen: In der if Abfrage baut ihr nun einige andere ein, z.B. ob der Hero gerade schlägt, und eine bestimmte Variable den richtigen Wert hat! Dies könnte so aussehen:
-[[Kasten GML]]if (other.aivar[AIV_INVINCIBLE] == FALSE) // Nur NSCs angreifen, die NICHT im Talk sind+ 
 +<code C> 
 +if (other.aivar[AIV_INVINCIBLE] == FALSE) // Nur NSCs angreifen, die NICHT im Talk sind
  {  {
 var int Variable; Variable = Hlp_Random(10);​ var int Variable; Variable = Hlp_Random(10);​
Zeile 44: Zeile 49:
  {  {
  Npc_ClearAIQueue(self);​ //killt den letzten AI_Attack-Befehl,​ verhindert z.B. stumpfes weiterrennen.  Npc_ClearAIQueue(self);​ //killt den letzten AI_Attack-Befehl,​ verhindert z.B. stumpfes weiterrennen.
- };[[Kasten Ende]]+ }; 
 +</​code>​ 
 MfG Marlus MfG Marlus
-Ich werde bald weiterschreiben,​ aber der Grundbaustein für vernünftig blockende NPCs ist schon da. 
quickstart/skripte/kampf-ki.txt · Zuletzt geändert: 2016/02/07 22:25 von milgo