Autor |
|
::.Kain.::
GüaM-Gott auf Bewährung
Verwarnung: 1
  

Dabei seit: Dezember 2002
Geschlecht: 
Herkunft:
Beiträge: 16717
 |
|
|
15.09.2003, 12:58 |
|
Dragonslayer
X-perte
   

Dabei seit: Juni 2003
Geschlecht: 
Herkunft: Thyns Abgrund
Beiträge: 4836
 |
|
|
15.09.2003, 15:46 |
|
hochbass
Vampire


Dabei seit: November 2002
Geschlecht: 
Herkunft:
Beiträge: 1037
 |
|
Sorry , wenn die Bez. nicht ganz gestimmt hat, aber ich hab gerade kein CS verfügbar.
WearingOrdinatorUni to 0 wird automatisch gesetzt, wenn Ihr das Teil wieder ablegt. Das sagt jedenfalls der Script.
Habe mir den ganzen Schlamassel aus Versehen eingebrockt.
Ich will keine Ordinatoren töten denn ich brauch keine Rüstungsteile und kein Geld.
Ich will nur meinen Frieden...
__________________ "The White Wolf of Lokken Mountain"
Releasetreath
|
|
15.09.2003, 17:03 |
|
Hephaistos
Verschollen


Dabei seit: Februar 2003
Geschlecht: 
Herkunft: Wien
Beiträge: 2102
 |
|
Zitat: Orginal von Hochbass:
WearingOrdinatorUni to 0 wird automatisch gesetzt, wenn Ihr das Teil wieder ablegt. Das sagt jedenfalls der Script.
Das hab ich gesehen, aber wenn die Var. 0 ist, dürfte der Dialog, der den Kampf beginnt nicht mehr ausgeführt werden.
EDIT:
Ich hab mir das ganze jetzt nocheinmal angesehen und bin auf folgendes gestoßen:
Das Script verändert die Var., was dazu führt, daß die entsprechenden Dialoge ausgeführt werden. Bei den Dialogen steht aber nicht nur "StartCombat" sondern auch "SetFight 100" und dies ist auch der Grund warum die Ordinatoren weiter angreifen, wenn die Rüstung ausgezogen wird, denn der SetFight Befehl wird nirgends rückgängig gemacht. Um das zu ändern müßte das Script auf den Rüstungen um den Eintrag "SetFight 30" ergänzt werden (in dem Abschnitt der beim Ausziehen abgearbeitet wird).
__________________
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
Dieser Beitrag wurde von Hephaistos am 15.09.2003, 21:28 Uhr editiert.
|
|
15.09.2003, 20:47 |
|
hochbass
Vampire


Dabei seit: November 2002
Geschlecht: 
Herkunft:
Beiträge: 1037
 |
|
Zitat: Original von Hephaistos
EDIT:
Ich hab mir das ganze jetzt nocheinmal angesehen und bin auf folgendes gestoßen:
Das Script verändert die Var., was dazu führt, daß die entsprechenden Dialoge ausgeführt werden. Bei den Dialogen steht aber nicht nur "StartCombat" sondern auch "SetFight 100" und dies ist auch der Grund warum die Ordinatoren weiter angreifen, wenn die Rüstung ausgezogen wird, denn der SetFight Befehl wird nirgends rückgängig gemacht. Um das zu ändern müßte das Script auf den Rüstungen um den Eintrag "SetFight 30" ergänzt werden (in dem Abschnitt der beim Ausziehen abgearbeitet wird).
Da bin ich nicht Deiner Meinung
Wenn du das machst, wird klar der Sinn der Sache verfehlt.
Was soll denn passieren?
1. Step
Du ziehst die Rüstung an und läufst durch Vivec und alles ist in Ordnung, niemand greift dich an.
Während du die Rüstung trägst wird das Flag auf 1 geschalten, wenn du sie ablegst wird wieder auf 0 geschalten. So weit so gut.
Das Script liegt nur auf der Rüstung und Helm
2. Step
Du sprichst einen Ordinator an mit getragener Rüstung
Im Dialogsystem wird in den greeting0 (der Begrüßung )
das gesetzte Flag gefunden und die Results "Startcombat->player" und "Setfight 100" gestartet und "der" Ordinator greift dich an.
Logisch ist jetzt, das der dich auch dann weiter angreift, wenn du die Rüstung ausziehst ( denn schließlich hast du bestimmt einen seiner Kameraden gemeuchelt, so denkt der ja )
Du kannst also nichts am Script der Rüstung ändern, denn dann wird das rsult des Dialogs ja sofort abgeschalten, wenn du die Rüstung ausziehst.
Daher ist auch die ausgeführte Umsetzung im Dialogsystem OK.
Der logische Fehler liegt in der gemeinsamen ID der Ordinatoren.
Denn da alle die gleiche ID haben werden alle, egal wo sie auch sind, so auf Angriff geschalten.
Nach meiner logischen Ansicht sollte der Angriff wenn einmal ausgelöst
1. nur von dem angesprochenen Ordinator
2. eventuell von jedem Ordinator in der Nähe der Sichtkontakt zum Player hat
3. nur so lange erfolgen wie ich in Sichtreichweite bin
(nach Fluchtteleport wird Attacke beendet)
An alle:
Man sollte hier einen Script auf den Ordinator hinzufügen
Sinngemäß so:
;in die Results der Dialogfunktion zusätzlich ein neues Flag setzten
set Once_WearingOrdinatorUni to 1
im Script:
if Once_WearingOrdinatorUni =1
if {Player für NPC unsichtbar}
Setfight 0
stopcombat
set Once_WearingOrdinatorUni to 0
endif
endif
Das Ergebnis wird sein, das wenn der Angriff freigeschalten wurde
{Once_WearingOrdinatorUni =1}
überprüft wird, ob noch ein Ordinator Sichtkontakt zum Player hat
{Player für NPC unsichtbar}
und erst wenn keiner den Player mehr sieht für alle der Angriff beendet wird.
{Setfight 0
stopcombat}
und das ganze wird vergessen/zu den Akten gelegt
{set Once_WearingOrdinatorUni to 0}
Aber wie setzt man das um ?
{Player für NPC unsichtbar}
2. Problem
Die beiden Befehle
Setfight 0
stopcombat
können im Spiel mit der Konsole eingeben werden
Die Eingabe kann direkt erfolgen, wenn ich den jeweiligen Ordinator anclicke (die ID kriegt eine Ergänzung z.B. Ordinator wander000012). Jedoch wird dann auch nur der eine Ordinator behandelt .
Wie lautet der genaue Befehl um alle Ordinatoren mit gleicher ID auf einmal abzuschalten?
__________________ "The White Wolf of Lokken Mountain"
Releasetreath
|
|
17.09.2003, 21:29 |
|
|