Registrierung Häufig gestellte Fragen Suche Mitgliederliste Portal - Planet Skyrim.de Kalender Moderatoren und Administratoren Startseite
Morrowind&OblivionForum.de - PMM-Projects Network » The Elder Scrolls III: Morrowind » Morrowind Editor Help » "AddSouGem" - Skriptfunktion » Hallo Gast [registrieren|anmelden]
« Vorheriges Thema Nächstes Thema » Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Autor
Beitrag [  «  <  1  2  ]
Declen
Archer



Dabei seit: August 2007
Geschlecht:
Herkunft: Russe
Beiträge: 23

Declen ist offline
  Antwort mit Zitat Beitrag editieren/löschen Nach weiteren Beiträge von  suchen Diesen Beitrag einem Moderator melden        IP Adresse Zum Anfang der Seite springen

Mit den Trägern scheint alles iendlich in Ordnung zu sein.
Danke nochmal.

Jetzt taucht ein Problem in einem Script auf, und ich hab kein Plan woran der Fehler ligt. Eigentlich, es muss funktionieren, aber es tut es nicht.
Hier ist es:

Zitat:
begin SG_big_reload_right

short Status
; 0 - undefiniert
; 1 - ein grösseres SG ist drin
; 2 - GrossStein geladen
; 3 - GrossStein leer und bereut
; 4 - Reload initiated
; -1 - kein GrandStein ist drin
; -2 - zu viele Steine drin

short Total_SG
; wieviele Steine insgesamt drin

short Great_SG
; wieviele GrandSteine sind drin

short transported_soul
; SG_big_reload_left -> a_Soul

short BeDeleted
float DeleteTimer

SkipAnim

if ( SG_Status_great == -1 )
if ( BeDeleted < 1)
Set BeDeleted to 1
endif
if ( BeDeleted == 1 )
MessageBox "Right be deleted", "Ok"
Disable
Set BeDeleted to 2
Set DeleteTimer to 0
endif
if ( BeDeleted == 2 )
Set DeleteTimer to ( DeleteTimer + GetSecondsPassed )
if ( DeleteTimer < 5 )
return
else
SetDelete 1
endif
endif
endif


Set Total_SG to ((GetItemCount, "Misc_SoulGem_Petty") + (GetItemCount, "Misc_SoulGem_Lesser"))
Set Total_SG to (Total_SG + (GetItemCount, "Misc_SoulGem_Common"))
Set Total_SG to (Total_SG + (GetItemCount, "Misc_SoulGem_Greater"))
Set Total_SG to (Total_SG + (GetItemCount, "Misc_SoulGem_Grand"))
Set Total_SG to (Total_SG + (GetItemCount, "Misc_SoulGem_Azura"))

Set Great_SG to (GetItemCount, "Misc_SoulGem_Greater")

; STEP 1 Überprüfen ob genau 1 GrossStein und kein anderer mehr drin

if ( Total_SG > 1 )
Set Status to -2
elseif ( Total_SG < 1 )
Set Status to -1
elseif ( Great_SG != 1 )
Set Status to -1
else
if (Status < 1)
Set Status to 1
; MessageBox "GrossStein ist drin", "Ok"
endif
endif

; STEP 2 Prüffen ob Stein leer ist (od. nur eine schwache Seele hat)

if (Status == 1)

short s1

Set s1 to ((HasSoulGem "dagoth araynys") + (HasSoulGem "dagoth endus"))
Set s1 to (s1 + (HasSoulGem "dagoth gilvoth"))
;;;;
;;;; u.s.w. – 196 Zeilen insgesammt.
;;;;
Set s1 to (s1 + (HasSoulGem "bonelord_summon"))

if (s1 == 0)
MessageBox "Stein ist leer", "Ok"
Set Status to 3
else
MessageBox "Stein ist nicht leer", "Ok"
Set Status to 2
endif
endif

if ( Status > 2 )
if ( SG_Status_great < 2 )
Set SG_Status_great to ( SG_Status_great + 2 )
endif
else
if ( SG_Status_great > 1 )
Set SG_Status_great to ( SG_Status_great - 2 )
endif
endif

if ( Status == 3 )
if ( SG_Status_great == 4 )
Set Status to 4
MessageBox "Change Status to 4", "Ok"
endif
endif

if (Status == 4)
Set transported_soul to SG_transport_great
MessageBox "Die Seele Nr. %g", transported_soul, "Ok"
if (GetItemCount "Misc_SoulGem_Greater" == 1)
RemoveItem "Misc_SoulGem_Greater", 1
endif
Set Status to 2
if ( transported_soul == 1)
AddSoulGem "Dagoth_crew_1", Misc_SoulGem_Greater
elseif ( transported_soul == 2)
AddSoulGem "goblin_warchief00", Misc_SoulGem_Greater
;;;;
;;;; u.s.w
;;;;
elseif ( transported_soul == 19)
AddSoulGem "hunger", Misc_SoulGem_Greater
else
MessageBox "Fehler Beim Übertragen der Seele"
endif
endif

end SG_big_reload_right


Grüm markiertes - funltioniert einwandfrei.
Rot - kneift.
SG_Status_great - globale Variable, deren Werte von diesem und einem anderen Script gesetzt werden.
Das Problem ist, dass diese Variable tatsächlich den Wert 4 bekommt (überprüfft per "SV" - Befehl in Konsole), aber der Script sieht es nicht.
Falls jemand zufählig weiss, woran es liegen kann...


__________________
Früher schrieb jeder Mann die Treiber für alle seine Geräte selbst.

Dieser Beitrag wurde von Declen am 06.09.2007, 15:47 Uhr editiert.

06.09.2007, 15:46 Profil von Füge  deiner Freunde-Liste hinzu Email an Declen senden
Garak
Admin




Dabei seit: Juli 2002
Geschlecht:
Herkunft: Cardassia Prime
Beiträge: 9248

Garak ist offline
  Antwort mit Zitat Beitrag editieren/löschen Nach weiteren Beiträge von  suchen Diesen Beitrag einem Moderator melden        IP Adresse Zum Anfang der Seite springen

Welche Variable wird 4? Status oder SG_Status_Great? Und die scripte liegen auf einzigartigen referenzen? will sagen, es existiert nur genau eine ausgabe des scriptträgers in der spielwelt? sonst wird es nämlich mit der adressierung kniffelig.


__________________
drei mal dürft ihr raten, wer grade seine Signatur geschrottet hat...geht aber wieder - allerdings solltet Ihr noch die Finger von den Avataren lassen

10.09.2007, 06:26 Profil von Füge  deiner Freunde-Liste hinzu Email an Garak senden Homepage von Garak Füge Garak in deine Contact-Liste ein
Declen
Archer



Dabei seit: August 2007
Geschlecht:
Herkunft: Russe
Beiträge: 23

Declen ist offline
  Antwort mit Zitat Beitrag editieren/löschen Nach weiteren Beiträge von  suchen Diesen Beitrag einem Moderator melden        IP Adresse Zum Anfang der Seite springen

Zitat:
Original von Garak
Welche Variable wird 4? Status oder SG_Status_Great?
SG_Status_great. Die globale. Sie wirs aufs 4 vom zweiten Script eingesetzt.
Zitat:
Und die scripte liegen auf einzigartigen referenzen? will sagen, es existiert nur genau eine ausgabe des scriptträgers in der spielwelt?

Ja.
Die beide Scriptträger exsistieren zuerst überhaupt nicht und werden vom Script auf dem dritten Objaekt geschaffen (und dann wieder eliminiert). Und, wie gesagt, der Script auf den zweiten Objekt funktioniert ohne Problem. Also daran soll es nicht liegen.


__________________
Früher schrieb jeder Mann die Treiber für alle seine Geräte selbst.

Dieser Beitrag wurde von Declen am 10.09.2007, 18:44 Uhr editiert.

10.09.2007, 18:42 Profil von Füge  deiner Freunde-Liste hinzu Email an Declen senden
[  «  <  1  2  ]   « Vorheriges Thema Nächstes Thema »
Neues Thema erstellen Antwort erstellen
Gehe zu:

Design by: Garak - Powered by: Burning Board 1.1.1 © 2001 WoltLab GbR