Autor |
|
Perlentieftaucher
Warrior
    

Dabei seit: Juli 2003
Geschlecht: 
Herkunft: Osnabrück
Beiträge: 85
 |
|
Hi all!
Ich hab in mein plug ne kleine Verfolgungsjagd eingebaut. Und zwar wenn man sich dem NPC nähert wird er erst mit PositionCell eine Etage tiefer gesetzt und soll danach einen Gang entlanglaufen bis zu einer Tür an der er dann endgültig verschwinden soll. Allerdings habe ich das Problem das der NPC sofort verschwindet nachdem man sich ihm nähert.
Hier mal das Script:
begin MY_DiegosEscape_SC
short state
short mydistance
short done
short initvar
if ( MenuMode == 1 )
Return
endif
if ( state == 2 )
Disable
StopScript MY_DiegosEscape_SC
endif
if ( state == 1 )
AITravel 247, -950, 15340
endif
if ( GetAIPackageDone == 1 )
set state to 2
Return
endif
if ( initvar == 0 )
set initvar to 1
if ( initvar == 1 )
set mydistance to 256
endif
endif
if ( GetDistance Player < mydistance )
PositionCell 3574 2512 15419 3 "Diegos Versteck"
set state to 1
set initvar to 2
set mydistance to 0
Return
endif
end
PS: Kann mir bitte bitte bitte mal jemand erklären wie der GetAIPackageDone und der GetSecondsPassed Befehl genau funktioniert? Ich werd da nicht schlau draus.
__________________ Wirklichkeit ist ein vorübergehender Traum, aber ein Traum ist Wirklichkeit für eine Ewigkeit
Das Leben ist zwar bloß ein Spiel, aber die Grafik ist verdammt gut.
|
|
21.08.2003, 13:31 |
|
Hephaistos
Verschollen


Dabei seit: Februar 2003
Geschlecht: 
Herkunft: Wien
Beiträge: 2102
 |
|
Leider kenn ich mich mit AI-Befehlen überhaupt nicht aus, aber so wie ich das sehe ist die erste Abfrage die erfüllt ist diese
if ( GetAIPackageDone == 1 )
denn von Anfang an ist kein AI-Befehl aktiv und somit könnte man sagen das er beendet ist. Damit wird state auf 2 gesetzt und beim nächsten Script. Durchlauf der NPC disabled.
Ich würde es statt mit
if ( GetAIPackageDone == 1 )
mit einer GetDistance-Abfrage auf die Tür, an der er verschwinden soll, versuchen.
__________________
Die Dummheit der Menschen und das Weltall sind unendlich, wobei ich mir beim Weltall noch nicht sicher bin.
Albert Einstein
Wenn die Klügeren nachgeben, regiert Dummheit die Welt.
Marie von Ebner-Eschenbach
|
|
21.08.2003, 13:49 |
|
chris_tm
Bard
  
Dabei seit: Februar 2003
Geschlecht: 
Herkunft: München
Beiträge: 37
 |
|
Man könnte die "GetAIPackageDone" Abfrage auch von "state" abhängig machen, damit GetAIPackageDone nicht gleich im ersten frame True wird :
if ( state == 3 )
Disable
StopScript MY_DiegosEscape_SC
endif
if ( state == 1 )
AITravel 247, -950, 15340
set state to 2
endif
if ( state == 2 )
if ( GetAIPackageDone == 1 )
set state to 3
endif
endif
__________________
Meine Site
|
|
21.08.2003, 17:42 |
|
Perlentieftaucher
Warrior
    

Dabei seit: Juli 2003
Geschlecht: 
Herkunft: Osnabrück
Beiträge: 85
 |
|
Danke für die schnellen Antworten Ich werd beides mal ausprobieren, obwohl mir die Methode mit der Tür und der GetDistance Abfrage am sichersten klingt. Ich poste dann obs klappt.
__________________ Wirklichkeit ist ein vorübergehender Traum, aber ein Traum ist Wirklichkeit für eine Ewigkeit
Das Leben ist zwar bloß ein Spiel, aber die Grafik ist verdammt gut.
|
|
21.08.2003, 20:46 |
|
Perlentieftaucher
Warrior
    

Dabei seit: Juli 2003
Geschlecht: 
Herkunft: Osnabrück
Beiträge: 85
 |
|
Ich habs jetzt mit der Tür und dem GetDistance Befehl gemacht. Klappt wunderbar, danke!
__________________ Wirklichkeit ist ein vorübergehender Traum, aber ein Traum ist Wirklichkeit für eine Ewigkeit
Das Leben ist zwar bloß ein Spiel, aber die Grafik ist verdammt gut.
|
|
22.08.2003, 15:15 |
|
|