Autor |
|
Lizard King
Crusader
  

Dabei seit: April 2003
Geschlecht: 
Herkunft: bw
Beiträge: 482
 |
|
Hallo,
Ich möchte einen Ring erstellen, der den Spieler entweder nach Mournhold/Gramfeste oder nach Vvardenfell teleportieren kann. Das sollte durch ein kleines Popup Fenster auswählbar sein.
Soweit, so gut. Aber ich möchte, dass das ein Zauberspruch ist. Damit der Spieler diesen Ring nicht unbegrenzt einsetzen kann.
Da liegt mein Problem: wie bekomme ich das PopUp-Fenster in den Zauberspruch? Ist das überhaupt möglich?
__________________
|
|
17.04.2003, 16:54 |
|
Garak
Admin
     

Dabei seit: Juli 2002
Geschlecht: 
Herkunft: Cardassia Prime
Beiträge: 9269
 |
|
Du kannst zwar ein script basteln, das überprüft, ob ein Spelleffect auf dem Spieler liegt und dann die Dialogbox auslöst, sobald das der fall ist. Da aber die Spelleffects selber fest verdrahtet sind und Du, auch wenn Du einen Zauber findest, der vom Spiel (sogut wie) nicht eingesetzt wird, nicht kontrollieren kannst, was andere mods damit anfangen, besteht da riesiges Konfliktpotential -> besser nicht machen...
Standartmethode ist ein OnpcEquip - script, wie z.B. bei den Vampiramuletten. Du könntest dabei ja z.B. die Globals Day oder Gamehour abfragen, um zeitliche begrenzungen zu bewirken....
__________________ 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 
|
|
17.04.2003, 17:38 |
|
Lizard King
Crusader
  

Dabei seit: April 2003
Geschlecht: 
Herkunft: bw
Beiträge: 482
 |
|
Danke,
wie gesagt, der Ring sollte entweder nach Mournhold oder nach Vvardenfell teleportieren können. Das Script hierfür werde ich schon irgendwo finden und abändern können. Gibt es irgendeine Möglichkeit das Benutzen des Rings andersweitig einzuschrenken?
Zum Beispiel, dass man nur alle 24 Stunden den Ring 5 mal benutzen kann, etc.?
__________________
|
|
17.04.2003, 17:58 |
|
iladrion
Craftsman
 

Dabei seit: September 2002
Geschlecht: keine Angabe
Herkunft:
Beiträge: 288
 |
|
probiers mal hiermit:
(".." zu beginn steht für Tab)
begin iladrion_5perDay_telli_ring
short OnPCEquip
short UsedPerDay
short ThisDay
if (menumode == 1)
..return
endif
if (ThisDay != Day)
..set ThisDay to Day
..set UsedPerDay to 0
endif
if (UsedPerDay < 5)
..if (OnPCEquip == 1)
....set OnPCEquip to 0
....set usedPerDay to (UsedPerDay + 1)
;....Postion X Y Z ZRot ;bei Exterior
;....PositionCell X Y Z ZRot "CellID" ; bei Interior, CellID muss haargenau wie im Editor sein
..endif
endif
end
__________________ keep on modding...
|
|
17.04.2003, 20:42 |
|
Noxx
The Knight who says Ni
     

Dabei seit: Oktober 2002
Geschlecht: 
Herkunft: Langerhanssche Inseln
Beiträge: 11482
 |
|
ich hab meien ring aus dem mazedbandscriptend (oder so ähnlich) abgeleitet:
begin MY_teleport_ring_new
short button
short messageOn
short reset
short OnPcEquip
;if ( MenuMode == 1 )
; Return
;endif
if ( OnPCEquip == 0 )
set reset to 0
endif
if ( reset == 1 )
return
endif
if ( OnPCEquip == 1 )
if ( reset == 0 )
Set OnPCEquip to 0
MessageBox "Wohin teleportieren?" "Balmora" "Caldera"
set messageOn to 1
endif
endif
if ( messageOn == 1 )
set button to GetButtonPressed
if ( button >= 0 )
set messageOn to 0
endif
;balmora
if ( button == 0 )
playsound "conjuration hit"
Player->PositionCell -21512,-8833,794,0, "Balmora"
set reset to 1
;caldera
elseif ( button == 1 )
playsound "conjuration hit"
Player->PositionCell -9969, 18375, 1343, 0 "Caldera"
set reset to 1
return
endif
endif
End
da kommt das fenster beim anlegen des ringes und man brauch keinen zaubereffekt auf den ring legen (tribunal wird benötigt).
edit: da ich null (0,1 ) ahnung vom scripten habe, kann ich leider nicht mehr bieten
__________________
''is sex with a tamagotchi sodomy?''
Original von Garak:
Sex ist grundsätzlich Veto-behaftet.
Ni
Dieser Beitrag wurde von Noxx am 18.04.2003, 10:55 Uhr editiert.
|
|
18.04.2003, 10:53 |
|
Garak
Admin
     

Dabei seit: Juli 2002
Geschlecht: 
Herkunft: Cardassia Prime
Beiträge: 9269
 |
|
Nein, Nebula, für Dein script wird tribunal nicht benötigt! Alles ganz normale Morrowind 1.0-Befehle!
__________________ 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 
|
|
18.04.2003, 11:25 |
|
Noxx
The Knight who says Ni
     

Dabei seit: Oktober 2002
Geschlecht: 
Herkunft: Langerhanssche Inseln
Beiträge: 11482
 |
|
na gut, ich habs aus der verwobenen band script genommen, deshalb dachte ich nur mit tribunal, aber wie gesagt, ich nix ahnung vom scripten
__________________
''is sex with a tamagotchi sodomy?''
Original von Garak:
Sex ist grundsätzlich Veto-behaftet.
Ni
|
|
18.04.2003, 12:16 |
|
Lizard King
Crusader
  

Dabei seit: April 2003
Geschlecht: 
Herkunft: bw
Beiträge: 482
 |
|
Danke für die vielen Antworten!
Ich habe schon verschiedenes ausprobiert und drehe bald durch.
Ich komme damit einfach nicht zurecht
Könnte mir jemand zur Hand gehen?
Man sollte in der Box folgende Möglichkeiten haben:
nach Gramfeste Göttergriff/Mournhold God's Reach reisen (am besten vor die Halle der Handwerker/Craftmen's Hall)
nach Balmora reisen
und gar nicht verreisen, sondern die Box wieder zu schließen
Das alles mit einer Begrenzung von 4 x auf 24 Stunden.
Ich hoffe ich habe hier nichts übersehen und treibe euch in den Wahnsinn aber ich komme einfach nich weiter in diesem Editor, trotz eurer guten Ansätze.
__________________
|
|
18.04.2003, 14:56 |
|
Garak
Admin
     

Dabei seit: Juli 2002
Geschlecht: 
Herkunft: Cardassia Prime
Beiträge: 9269
 |
|
Also gut, kleben wir zusammen, was Illadrion und Nebula vorgeschlagen haben:
begin iladrion_5perDay_telli_ring
short OnPCEquip
short UsedPerDay
short ThisDay
short button
short messageOn
if (menumode == 1)
..return
endif
if (ThisDay != Day)
..set ThisDay to Day
..set UsedPerDay to 0
endif
if (UsedPerDay < 4)
..if (OnPCEquip == 1)
....set OnPCEquip to 0
....set usedPerDay to (UsedPerDay + 1)
....MessageBox "Wohin teleportieren?" "Ziel1" "ziel2" "Abbruch"
....set messageOn to 1
..endif
endif
if ( messageOn == 1 )
..set button to GetButtonPressed
..if ( button >= 0 )
....set messageOn to 0
;ziel 1
....if ( button == 0 )
......playsound "conjuration hit"
......Player->PositionCell x,y,z,zrot, "CellID"
;ziel 2
....elseif ( button == 1 )
......playsound "conjuration hit"
......Player->PositionCell x,y,z,zrot "CellID"
;abbruch
....else
......set usedPerDay to UsedPerDay - 1
....endif
..endif
endif
end
Wie Illadrion schon sagte: Auf genaue schreibweise der cellID achten. Die einfachste methode, an brauchbare koordinaten zu kommen ist es, probehalber einen Gegenstand an den gewünschten Zielort zu setzen -> doppelklick drauf und die Koordinaten abschreiben! Danach natürlich den Dummy-Gegenstand wieder löschen!
__________________ 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 
|
|
18.04.2003, 21:20 |
|
Noxx
The Knight who says Ni
     

Dabei seit: Oktober 2002
Geschlecht: 
Herkunft: Langerhanssche Inseln
Beiträge: 11482
 |
|
so hab ichs auch gemacht, einfach einen npc so platzieren und drehen wie man es braucht, koords auf schreiben und npc wieder löschen.
ist die z-koord nicht abhängig von der objekthöhe? wenn ja, dann sollte man nur npcs zu positionieren nehmen.
__________________
''is sex with a tamagotchi sodomy?''
Original von Garak:
Sex ist grundsätzlich Veto-behaftet.
Ni
|
|
19.04.2003, 10:51 |
|
Garak
Admin
     

Dabei seit: Juli 2002
Geschlecht: 
Herkunft: Cardassia Prime
Beiträge: 9269
 |
|
Bei der zkoordinate ist die engine großzügig und setzt den Player so gut es geht auf den nächsten verfügbaren "Boden" - jedenfalls plaziert sie nie unter dem landscape-boden.
Allerdings interessiert es mich brennend, Nebula, wo Du bei einem NPC die Koordinaten abgelesen hast - die sind bei NPC's und Kreaturen nicht im Doppelklickfenster zu sehen...
__________________ 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 
|
|
19.04.2003, 22:12 |
|
rendel
Mage
 

Dabei seit: Oktober 2002
Geschlecht: 
Herkunft:
Beiträge: 185
 |
|
Die Koordinaten und die ID des im Renderfenster aktivierten Objektes stehen immer in der untersten Zeile des Hauptfensters. Da lese ich sie auch immer ab. Das ist ganz praktisch.
|
|
19.04.2003, 22:54 |
|
Noxx
The Knight who says Ni
     

Dabei seit: Oktober 2002
Geschlecht: 
Herkunft: Langerhanssche Inseln
Beiträge: 11482
 |
|
Zitat: Original von rendel
Die Koordinaten und die ID des im Renderfenster aktivierten Objektes stehen immer in der untersten Zeile des Hauptfensters. Da lese ich sie auch immer ab. Das ist ganz praktisch.
so isses. so eine status leiste kann schon nützlich sein
__________________
''is sex with a tamagotchi sodomy?''
Original von Garak:
Sex ist grundsätzlich Veto-behaftet.
Ni
|
|
20.04.2003, 12:26 |
|
Garak
Admin
     

Dabei seit: Juli 2002
Geschlecht: 
Herkunft: Cardassia Prime
Beiträge: 9269
 |
|
Punkt für euch! Auch ein mod kann noch was dazulernen...
__________________ 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 
|
|
20.04.2003, 16:08 |
|
Lizard King
Crusader
  

Dabei seit: April 2003
Geschlecht: 
Herkunft: bw
Beiträge: 482
 |
|
Danke schon mal für eure Hilfe, alles funktioniert prächtig.
Leider komme ich immernoch nicht mit diesen Scripten zurecht, daher habe ich noch eine letzte Bitte. Wenn der Spieler seine 4 x Teleportieren aufgebraucht hat, und er den Ring ein weiteres mal anlegt, sollte sich ein Fenster öffnen, dass ihn darüber aufklärt, dass er warten muss. Vielleicht, sofern das möglich ist, könnte es ihm sogar die genaue Stundenzwahl, die er noch warten muss mitteilen (ist ja schließlich nicht umsonst magisch ).
Dankeschön schon im vorraus.
__________________
|
|
22.04.2003, 11:11 |
|
Garak
Admin
     

Dabei seit: Juli 2002
Geschlecht: 
Herkunft: Cardassia Prime
Beiträge: 9269
 |
|
ändere das script oben folgendermaßen:
...
short wartezeit
...
if (UsedPerDay < 4)
..if (OnPCEquip == 1)
....set OnPCEquip to 0
....set usedPerDay to (UsedPerDay + 1)
....MessageBox "Wohin teleportieren?" "Ziel1" "ziel2" "Abbruch"
....set messageOn to 1
..endif
else
.. set wartezeit to 24 - GameHour
.. Messagebox "Der Ring wird sich in %0.f Stunden regenerieren" wartezeit
endif
...
das sollte reichen. Könnte allerdings zu rundungsfehlern kommen, da Gamehour vom Typ Float ist - trotzdem besser als ne Bruchzahl beim Wert für die Wartezeit...
__________________ 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 
|
|
22.04.2003, 11:44 |
|
Lizard King
Crusader
  

Dabei seit: April 2003
Geschlecht: 
Herkunft: bw
Beiträge: 482
 |
|
Es funktioniert einigermaßen (statt 24 Stunden zu warten reichen auch 18 Stunden), aber die Messagebox erscheint in dreifacher Ausführung und verschwindet erst wenn die 18 Stunden vorüber ist und der Ring wieder einsatzbereit ist.
hier ist das Script, was habe ich falsch gemacht?
Zitat:
begin iladrion_5perDay_telli_ring
short OnPCEquip
short UsedPerDay
short ThisDay
short button
short messageOn
short wartezeit
if (menumode == 1)
..return
endif
if (ThisDay != Day)
..set ThisDay to Day
..set UsedPerDay to 0
endif
if (UsedPerDay < 4)
..if (OnPCEquip == 1)
....set OnPCEquip to 0
....set usedPerDay to (UsedPerDay + 1)
....MessageBox "Wohin wollen Sie teleportieren?" "Vvardenfell, Balmora" "Gramfeste, Göttergriff" "Abbruch"
....set messageOn to 1
..endif
else
.. set wartezeit to 24 - GameHour
.. Messagebox "Ihr habt den Ring aufgebraucht. Er wird in %0.f Stunden wieder einsatzbereit sein." wartezeit
endif
if ( messageOn == 1 )
..set button to GetButtonPressed
..if ( button >= 0 )
....set messageOn to 0
;ziel 1
....if ( button == 0 )
......playsound "conjuration hit"
......Player->PositionCell -23027, -15864, 504, 24.4 "Balmora -3, -2"
;ziel 2
....elseif ( button == 1 )
......playsound "conjuration hit"
......Player->PositionCell 255, 1258, 191, 189 "Gramfeste, Göttergriff"
;abbruch
....else
......set usedPerDay to UsedPerDay - 1
....endif
..endif
endif
end
__________________
|
|
23.04.2003, 12:19 |
|
Hazard_X
Bard
  

Dabei seit: April 2003
Geschlecht: 
Herkunft: Hannover
Beiträge: 33
 |
|
Dort wo deine Messagebox geöffnet wird fehlt noch die OnPCEquip Abfrage, so dass er momentan nicht nur dann, wenn man den Ring aufsteckt, sondern jederzeit die Messagebox öffnet.
__________________ Meine Mods findet ihr hier:
---> HAZARDX.COM <---
|
|
23.04.2003, 16:11 |
|
Garak
Admin
     

Dabei seit: Juli 2002
Geschlecht: 
Herkunft: Cardassia Prime
Beiträge: 9269
 |
|
Irrtum! Da OnPCEquip keine funktion, sondern eine art Systemvariable ist, die vom Programm nur beim An- und Ausziehen gesetzt wird, reicht das manuelle rücksetzen mit
....set OnPCEquip to 0
aus, um den von Dir befürchteten Effekt zu vermeiden!
__________________ 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 
|
|
23.04.2003, 16:47 |
|
Lizard King
Crusader
  

Dabei seit: April 2003
Geschlecht: 
Herkunft: bw
Beiträge: 482
 |
|
Wo kommt das rein?
__________________
|
|
23.04.2003, 17:07 |
|
|