Construction Set Neuer Beschwörungszauber

Master_DeluXXXe

Ehrbarer Bürger
Hallo,
ich hab da mal ne Frage:
kann man einen neuen Beschwörungszauber machen z.B. Kreatur xy beschwören?
Vieleicht durch einen Script oder so?
MFG: MDxXx
 
Japp, sowas ist möglich.

Es würde in folgender Variante gehen:
- Es wird ein Zauber mit einem Pseudoeffekt erstellt (z.B. Ausdauer wiederherstellen 1 für 3 Sekunden)
-Ein Script läuft und überwacht den Spieler und prüft in gewissen Abständen ob der Spieler unter dem Pseudoeffekt steht (GetSpellEffect oder so...)
Wenn ja, dann wird das Monster plaziert und ein Timer läuft. Wenn der Timer einen Wert überschreitet (z.B. 30 Sekunden) oder das Monster tot ist, wird das Script wieder in den Ursprungszustand gebracht und das Monster wird entfernt.

Script so ähnlich aufbauen:

Code:
begin kürzel_Monsterrufen

short status
short timer_warten
float timer_zauber

if( status != 1 ) ; wenn Zauber nicht aktiv

  if( timer_warten < 20 ) ; nicht jedes Frame alles prüfen
    set timer_warten to ( timer + 1 )   
    return
  else
    set timer_warten to 0
    if( player->getspelleffect "kürzel_pseudozauber" )
      placeatpc 1, 1, 1, kürzel_monster ; Monster erscheinen lassen
      set status to 1 ; Zauber ist aktiv
      set timer_zauber to 0
    endif

else ; Wenn Zauber aktiv

  set timer_zauber to ( timer_zauber + GetSecondsPassed )
  if( timer_zauber > 30 )
    kürzel_monster->setHealth 0 ; Monster killen
    kürzel_monster->Disable ; Monster wegmachen (ist es nun ganz weg?)
    set status to 0 ; Zauber zu Ende
    set timer_zauber to 0
  endif

  if(kürzel_monster->getHealth == 0)
    kürzel_monster->Disable ; Monster wegmachen (ist es nun ganz weg?)
    set status to 0 ; Zauber zu Ende
    set timer_zauber to 0
  endif

endif


end

Ich bin mir nur nicht ganz sicher, ob ein totes Monster mit Disable ganz aus dem Speicher entfernt wird.
 
Zuletzt bearbeitet:
  • Like
Reaktionen: Master_DeluXXXe
ja danke aber das weiss ich^^


was ich wissen will ist wie es im spiel funktioniert wie wird es aktiviert wenn ich es z.b. auf einen ring gelegt habe :huh:
 
Soweit ich das verstanden habe, soll das ein globales Script sein, also eins, dass nirgendwo drauf liegt, sondern einfach im Hintergrund läuft. Damit sollte man allerdings vorsichtig sein, wenn es darum geht, x-beliebig viele Beschwörungszauber auf diese Art zu kreieren, da jedes globale Script auf die Performance schlagen kann (nicht zwangsläufig muss, aber kann).
 
Das Skript wird global verwendet. Es muss den Spieler permanent überwachen, damit der Zauber auch die gewünschte Wirkung entfaltet. Das muss also einmal gestartet werden (Sei es mit StartScript in einem anderen Script oder in der Konsole im Spiel oder Gameplay->StartScripts im CS) Dann muss man nur noch den im Script angegebenen Zauber sprechen und das Vieh taucht auf.
Wenn man mehrere dieser Zauber machen will, sollte man alle Zauber mit ein und demselben Script abhandeln, da alles was dauerhaft läuft, die Performance irgendwie drückt.
 
Ich wolte auch mal neue Monster Beschwören lassen also wen ich jetzt den script verwende und ihn zu ein StartScriptsmachen will, wie geht das?
Muss das dann einfach so gemacht werden: "Begin StartScript_blabla" oder wie?
 
Muss das dann einfach so gemacht werden: "Begin StartScript_blabla" oder wie?
Nein, bestimmt nicht. So würde es einfach nur anders heißen.
Hast du bereits irgendwelche Vorkenntnisse im Scripten? Wenn nicht, würde ich "Scripting für Dummies 5" oder höher empfehlen. Das hat mir damals sehr geholfen.
StartScript ist ein eigener Befehl. Damit kann man ein Script starten.
Guck dir mal die Hilfe im CS an. Bei Morrowind müssten da noch alle Befehle kurz und knapp erläutert sein.
 
  • Like
Reaktionen: Houdini