Construction Set Skriptthread zum Construction Set

Danke, jetzt habe ich es verstanden. :good:

Eine kleine Frage habe ich aber noch: Wenn ich jetzt die Wachen 0-4 wiederbeleben und verschieben will, ist der Code korrekt?
Code:
ref guard

foreach guard <- guardRef[0:4]
  guard.resurrect
  guard.moveto MarkerID
loop

Wenn er beim letzten Array angekommen ist, hört er dann automatisch auf?
 
Alles klar,

Aber irgendwie will der Script nicht...

1. Fehlermeldung..

---------------------------
Script Error
---------------------------
Script '00NPC_Script', line 11:
Unknown variable or function 'getreference'.





2. Fehlermeldung

---------------------------
Script Error
---------------------------
Script '00NPC_Script', line 11:
Syntax Error

myself.getreference apo3a==1

Could not parse this line.

3. Fehlermeldung

---------------------------
Script Error
---------------------------
Script '00NPC_Script', line 5:
Mismatched begin/end block starting on line 5.

4. Fehlermeldung..

---------------------------
Script Error
---------------------------
Script '00NPC_Script', line 5:
Mismatched begin/end block.
 
Moment.. Ich verwechsel gerne mal die "get" und "is"-Teile. Ich schau schnell ich CS-Wiki nach...
Ah okay xD Es heißt weder "getReference" noch "isReference", sondenr "GetIsReference" :lol: Einfach das "is" noch überall dazu schreiben, dann sollte es gehen^^

Edit: Ich sehe grade, dass ich beim TriggerScript das "i" in "begin" vergessen habe. Ich hoffe, das hast du berichtigt^^

Edit2: Die anderen Fehlermeldungen sind darauf zurückzuführen, dass ich ein "elseif" vergessen habe zu kopieren.
Habs im Original-Beitrag alles berichtigt.
 
Zuletzt bearbeitet:
  • Like
Reaktionen: Anti_Held
Mhm , die Npcs zaubern leider immer noch nicht.

Ich wollte eigentlich ,dass sie auf eine besondere Art erscheinen ( mit Effekten etc. )
Aber das scheint nicht zu klappen, notfalls werden sie dann halt einfach enabled.
 
Du könntest sie zumindest einen Effekt abspielen lassen (sieht dann aus als ob sie einen Trank getrunken hätten)
Der Befehl dazu ist "REF.pme XYZ"
XYZ= MagicEffect-ID, die musst du unter Gameplay->Magic Efects nachschauen, das sind immer 4 Buchstaben
 
  • Like
Reaktionen: Anti_Held
Nun ja... außer der Möglichkeit, jeden einzelnen Worldspace zu überprüfen, sehe ich ehrlich gesagt keine Möglichkeit. Das wäre dann ungefähr in der Form:
Code:
scn name

Begin GameMode

if <NPC-Ref>.getInWorldspace Tamriel && player.getInWorldspace Tamriel
 ;blabla
elseif ...
...
endif

end
 
  • Like
Reaktionen: Schmelz
Wenn Du weist, in welchem Gegenstand sich der Worldspace befindet, könntest Du mit "GetInWorldspace" abfragen, ob der Player sich in dem Worldspace befindet.

EDIT: Zu spät. :roll:
 
Zuletzt bearbeitet:
  • Like
Reaktionen: Schmelz
Dann hilft nur OBSE:
Code:
scn name

Begin GameMode

if <NPC-Ref>.isInInterior
 return
elseif player.isInInterior
 return
endif

if <NPC-Ref>.getParentWorldspace == player.getParentWorldspace
 ;blabla
endif

end
 
  • Like
Reaktionen: Schmelz
Es geht mir aber um die Worldspaces, die leider recht viele Zellen haben...



edit:

getparentWorldspace: wie hast du den denn gefunden?
Vom Namen her sollte das aber auch für die Städte Tamriel ausspucken.

edit:

Hab's getestet, das unterscheided (soweit ich das beurteilen kann) nur zwischen Interior, Tamriel und Oblivion...
 
Zuletzt bearbeitet:
Hey :)
Die meisten kennen doch bestimmt den midas stasis feld zauber. jetzt wollte ich am skript verändern, dass man die gegner während sie in der blase gefangen sind angreifen kann, diese aber den schaden erst erhalten, wenn die blase endet. da ich keine ahnung vom skripten habe, habe ich das ding mal im cs gesucht und herausgeschrieben. wäre schön wenn mir das jmd nach meinen vorstellungen verändern könnte :)

scn MidasCloudCastShootScript
; Script for Several Cloud Spells


ref me
ref myBall
float timer
float myX
float myY
float myZ
float fixZ
short index


Begin ScriptEffectStart
set me to GetSelf
set MidasQuest.SpellTime to 30
if me.isSpellTarget MidasMassHealSpell
set myBall to MidasLightMassHealRef
elseif me.isSpellTarget MidasSnowFlurrySpell
set myBall to MidasActivatorSnowFlurryRef
elseif me.isSpellTarget MidasQuakeSpell
set myBall to MidasActivatorQuakeRef
elseif me.isSpellTarget MidasTarFieldSpell
set myBall to MidasActivatorTarFieldRef
elseif me.isSpellTarget MidasAntiMagicSpell
set myBall to MidasLightAntiMagicRef
set MidasQuest.TrapSpell to MidasAntiMagicTouchSpell
elseif me.isSpellTarget MidasRageFieldSpell
set myBall to MidasLightRageFieldRef01
set MidasQuest.TrapSpell to MidasRageFieldTouchSpell
elseif me.isSpellTarget MidasPutridFogSpell
set myBall to MidasLightPutridFogRef01
set MidasQuest.TrapSpell to MidasRageFieldTouchSpell
elseif me.isSpellTarget MidasSandVortexSpell
set myBall to MidasActivatorSandVortexRef
set MidasQuest.TrapSpell to MidasSandTouchSpell
set MidasQuest.SpellTime to 10
elseif me.isSpellTarget MidasSpikeGrowthSpell
set myBall to MidasActivatorSpikeGrowthRef
elseif me.isSpellTarget MidasProtectorSpell
set myBall to MidasActivatorProtectorRef
elseif me.isSpellTarget MidasGhostSwarmSpell
set myBall to MidasLightGhostSwarmRef
set MidasQuest.TrapSpell to MidasGhostSwarmFearSpell
elseif me.isSpellTarget MidasSpiritFlaresSpell
set myBall to MidasLightSpiritFlaresRef
elseif me.isSpellTarget MidasFireGlyphSpell
set myBall to MidasActivatorFireGlyphRef
set MidasQuest.TrapSpell to StandardFireDamageTouch2Apprentice
set MidasQuest.SpellTime to 9
elseif me.isSpellTarget MidasIceGlyphSpell
set MyBall to MidasActivatorIceGlyphRef
set MidasQuest.TrapSpell to MidasSandTouchSpell
set MidasQuest.SpellTime to 9
elseif me.isSpellTarget MidasShockGlyphSpell
set MyBall to MidasActivatorShockGlyphRef
set MidasQuest.TrapSpell to MidasShockTouchSpell
set MidasQuest.SpellTime to 9
elseif me.isSpellTarget MidasHolyBarrierSpell
set MyBall to MidasLightHolyBarrierRef
set MidasQuest.TrapSpell to MidasHolyBarrierTouchSpell
set MidasQuest.SpellTime to 10
elseif me.isSpellTarget MidasWindVortexSpell
set myBall to MidasActivatorWindVortexRef
set MidasQuest.TrapSpell to MidasWindTouchSpell
set MidasQuest.SpellTime to 10
elseif me.isSpellTarget MidasMudSpell
set myBall to MidasActivatorMudRef01
set MidasQuest.TrapSpell to MidasMudTouchSpell
set MidasQuest.SpellTime to 10
elseif me.isSpellTarget MidasStasisFieldSpell
set myBall to MidasActivatorStasisFieldRef
set MidasQuest.TrapSpell to MidasMudTouchSpell ; --Change me
set MidasQuest.SpellTime to 15
elseif me.isSpellTarget MidasMissileRainSpell
set myBall to MidasLightMissileRainRef
set MidasQuest.TrapSpell to MidasMudTouchSpell
set MidasQuest.SpellTime to 15
elseif me.isSpellTarget MidasDarkTentaclesSpell
set myBall to MidasActivatorDarkTentaclesRef
set MidasQuest.TrapSpell to MidasMudTouchSpell
set MidasQuest.SpellTime to 20
elseif me.isSpellTarget MidasDarkNebulaSpell
set myBall to MidasLightDarknessCloudRef
set MidasQuest.TrapSpell to MidasMudTouchSpell
set MidasQuest.SpellTime to 20
endif

myBall.Moveto me 0 0 -2
set myZ to myBall.Getpos Z
myBall.Setpos Z myZ
myBall.SetDestroyed 0
myBall.Activate me 1

end
 
Hallo Leute hab schon wieder ein Problem un diesmal ein ziemlich großes:( Eigentlich soll mit dem Script ab einem bestimmten Level neue Zauber hinzugefügt werden aber es fuzt nicht:cry: Kann mir bitte wer helfen?

Code:
scn Nagorszauberquestscript2
short doonce
float fQuestDelayTime
 
Begin MenuMode 1027
 
if player.getLevel == 5
 player.removeSpell NagorsBlutdolchsummonbase
 player.removeSpell NagorsBlutzuMagiebase
 player.removeSpell NagorsDrachenblutbase
 player.removeSpell NagorsDrachenzornbase
 player.addSpell NagorsBlutdolchsummon5
 player.addSpell NagorsBlutzuMagie5
 player.addSpell NagorsDrachenblut5
 player.addSpell NagorsDrachenzorn5
elseif player.getLevel == 10
 player.removeSpell NagorsBlutdolchsummon5
 player.removeSpell NagorsBlutzuMagie5
 player.removeSpell NagorsDrachenblut5
 player.removeSpell NagorsDrachenzorn5
 player.addSpell NagorsBlutdolchsummon10
 player.addSpell NagorsBlutzuMagie10
 player.addSpell NagorsDrachenblut10
 player.addSpell NagorsDrachenzorn10
 player.addSpell NagorsDrachenmacht10
elseif player.getLevel == 20
 player.removeSpell NagorsBlutdolchsummon10
 player.removeSpell NagorsBlutzuMagie10
 player.removeSpell NagorsDrachenblut10
 player.removeSpell NagorsDrachenzorn10
 player.removeSpell NagorsDrachenmacht10
 player.addSpell NagorsBlutdolchsummon20
 player.addSpell NagorsBlutzuMagie20
 player.addSpell NagorsDrachenblut20
 player.addSpell NagorsDrachenzorn20
 player.addSpell NagorsDrachenmacht20
elseif player.getLevel == 30
 player.removeSpell NagorsBlutdolchsummon20
 player.removeSpell NagorsBlutzuMagie20
 player.removeSpell NagorsDrachenblut20
 player.removeSpell NagorsDrachenzorn20
 player.removeSpell NagorsDrachenmacht20
 player.addSpell NagorsBlutdolchsummon30
 player.addSpell NagorsBlutzuMagie30
 player.addSpell NagorsDrachenblut30
 player.addSpell NagorsDrachenzorn30
 player.addSpell NagorsDrachenmacht30
elseif player.getLevel == 40
 player.removeSpell NagorsBlutdolchsummon30
 player.removeSpell NagorsBlutzuMagie30
 player.removeSpell NagorsDrachenblut30
 player.removeSpell NagorsDrachenzorn30
 player.removeSpell NagorsDrachenmacht30
 player.addSpell NagorsBlutdolchsummon40
 player.addSpell NagorsBlutzuMagie40
 player.addSpell NagorsDrachenblut40
 player.addSpell NagorsDrachenzorn40
 player.addSpell NagorsDrachenmacht40
 
 
endif
 
end
 
Begin GameMode
 
if doonce
 return
endif
 
if player.getIsRace Shaikan
 set doonce to 1
 set fQuestDelayTime to 2
else
 stopQuest Nagorszauberquest
endif
 
end
 
Damit es beim LevelUp kommt. Und nur dann. Mit GameMode würde es dauernd passieren, außer man macht es mit Variablen, was aber unnötigt ist.

@ Nagor:

Bist Du einfach nur ins Spiel gegangen oder hast Du einen LevelUp vollzogen?