Construction Set Skriptthread zum Construction Set

jetzt sagt mir das skriptfenster aber bei (schon myself durch player ersetzt) das eine reference editor id ungültig ist/fehlt
 
dumme frage, wo finde ich die richtige/passende koordinate?

Oder könnte man das mit etwas spawnpunktähnlichem erledigen?
 
hi,

zu 1.: Ich würde ich es so machen:
Code:
scn ActivatorSCRIPT

[B]ref[/B] myself

Begin OnActivate
set myself to getself
myself.cast [ID des Beschöwrungszaubers]
End
Ich bin mir jetzt nicht total sicher, ob das stimmt, weil ich mich nicht so mit Zaubern auskenne, sollte aber klappen.
[...]
Du musst myself als Referenzvariable verwenden, dann sollte es funktionieren. Also einfach 'short myself' durch 'ref myself' ersetzen.

btw: du hast bei deinem 2.Skript beim endif das f vergessen. ^^


@Phoenix-CH:
Kann man natürlich auch machen, da man aber dabei sicher gehen muss, dass die Kreatur stirbt, da sich sonst das Savegame unnötig aufbläht auch nur suboptimal.

Edit:
dumme frage, wo finde ich die richtige/passende koordinate?

Oder könnte man das mit etwas spawnpunktähnlichem erledigen?
bei PlacAtMe werden die Koordinaten durch den "Calling Actor" bestimmt. Bei diesem Skript wäre das der Activator, falls man z.B. ein Player. davorschreibt (also Player.PlaceAtme) ist es der Player. Das Objekt erscheint immer beim "Calling Actor".
Nach dem PlaceAtMe kommt zuerst die ID des zu rufenden Objekts (hier der Kreatur), danach kommt die Anzahl, wie viele erscheinen sollen (optional, falls nicht angegeben 1), danach die Entfernung (optional) und die Richtung (optional).
Wenn 3 Kreaturen also 14 "Einheiten" hinter dem Activator erscheinen soll lautet die Zeile so:
Code:
PlaceAtMe HammerKreatur, 3, 14, 1
 
Zuletzt bearbeitet:
das mit dem fehlendem f hab ich schon bemerkt...

also short durch ref ersetzten?

Edit: Hier
 
Zuletzt bearbeitet:
Savegame aufbläht? ôo Wie das?

Wenn die Kreaturen nicht sterben werden sie weiterhin im Savegame gespeichert, auch wenn sie disabled wurden, dadurch wird das Savegame natürlich größer. Wenn die Funktion nur ein paar mal zum Einsatz kommt ist das natürlich kein Problem, aber bei einem Beschwörungszauber, der ja Recht häufig benutzt wird summiert sich das halt.


@Elros:
Kann daran liegen, dass Cast noch eine Zielreferenz benötigt.

Versuchs mal damit:
Code:
scn ActivatorSCRIPT

ref Activator

Begin OnActivate
 set Activator to this
 Cast MyArenaSpelll1 Activator
End
 
hab placeatme genutzt, funktioniert sogar :lol:

EDIT:Wenn ich diesen script auf eine kreatur lege, erhalte ich bei ihrem tod 1000 gold, oder?



Code:
scn Goldscript

Begin on death

player.additem 000000f 1000

End

könntet ihr bitte vorhandene fehler berichtigen?
 
Zuletzt bearbeitet:
Form-ID noch mit der Editor-ID ersetzten.
OnDeath zusammenschreiben
Code:
scn Goldscript

Begin onDeath
 player.additem Gold001 1000
End
 
  • Like
Reaktionen: Elros
hi,
ich suche ein Script für eine Waffe. Sie soll (am besten nur solang sie im Einsatz, also nicht in der Scheide ist) pro Sekunde einen Punkt Magie abziehen.
 
Könnte das auch auf beim zuschlagen verliert man leben reduziert werden? das würde das ganze leichter machen.
 
Also ich würde folgendes vorschlagen: Du erstellst einen Zauber, der pro Sekunde einen Magiepunkt abzieht. Nun sollte dieser Script sollte auf das Schwert:
Code:
scn SwordSCRIPT

Begin OnEquip
player.AddSpell [VerzauberungFürMagieAbzug]
End

Begin OnUnequip
player.RemoveSpell [VerzauberungFürMagieAbzug]
End
Das sollte es gewesen sein.

MfG Gildur
 
Code:
scn Irgendeinname

short MagickaAvailable
short MagickaBase
float timer
short LastTime

Begin OnEquip
set MagickaBase to GetAV Magicka
end

Begin GameMode
if (getweaponout == 1)
set timer to (timer + getsecondspassed)
if (Timer => (LastTime + 1)) 
set MagickaAvailable to GetAV Magicka
player.modav magicka (MagickaAvailable - 1)
set LastTime to Timer
endif
endif
end

Begin OnUnequip
player.setav Magicka MagickaBase
end

Ich hoffe mal, dass das so stimmt, müsste es aber eigentlich... Das Script fragt also jetzt ab, ob eine Sekunde vergangen ist und zieht dann einen Magickapunkt ab. Da ich nicht weiß, wie die Wiederherstellung der Magiewerte ablaufen soll, hab ich sie einfach am Ende wieder zurückgesetzt, sobald man die Waffe wieder "entrüstet".
 
Befehle:
GetEquipped
IsWeaponOut
GetContainer
AddSpell
RemoveSpell

Code:
scn WaffenScript

ref Posessor
short SpellGiven

Begin Gamemode
 set Posessor to GetContainer
 if ( Posessor.GetEquipped [ID des Schwertes] == 1 ) && ( Posessor.IsWeaponOut == 1 )
  if SpellGiven == 0
   Posessor.AddSpell [ID eines Zaubers/einer Eigenschaft der/die 1 Magicka pro Sekunde auf Selbst agzieht]
   set SpellGiven to 1
  else
   Return
  endif
 else
  if SpellGiven == 1
   Posessor.RemoveSpell [ID des/der oben hinzugefügten Zaubers/Eigenschaft]
  else
   Return
  endif
 endif
End

Mit OBSE könnte man das noch über SetEnchantment , GetEnchantmentund RemoveEnchatment (anstelle von AddSpell, der Variablen und RemoveSpell) regeln. Einen wirklichen Vorteil bringt das aber imho nicht, also sollte man diese möglichkeit nur wählen, falls man OBSE sowieso verwendet.
 
Hi Brauch ein einfaces folge script das der der den script oben hat
kommt eine message box wenn du ihn ansprichst und dan folgt er dir

LG
Dyras