Construction Set [Script-Suche] Keine Heiltränke mehr benutzbar

Cyborg11

Ehrbarer Bürger
Hi Leute,

ich suche ein Skript, mit dem ich keine Heiltränke mehr benutzen kann.

Gibt es so was? Oder ist das überhaupt möglich?
 
hä? warum willst du das net merh können, is doch deine sache ob du überhaupt welceh nimmst?
 
Für deine Schuhe? :-D
OK, also die einfachste Möglichkeit wäre, ein Script auf die Tränke zu legen, das eine Vraiable abfragt und bei bedarf die Aktion verhindert. Ich bin mir nicht 100%ig sicher, aber das müsste dann ungefähr so aussehen

Code:
scn XYZ

Begin OnActivate
if (QuestID.varID == 1)
return
else
activate
end
dann halt noch eine Quest anlegen, in der du die Variable speicherst und ein Script auf die Schuhe:
Code:
scn XYZ2

Begin OnEquip
set QuestID.VarID to 1
end

Begin OnUnequip
set QuestIS.VarID to 0
end
 
Ich vermute, er bezieht sich dabei auf seine Schnelligkeitsschuhe (siehe Sig)... Aber was die mit Heiltränken zu tun haben ist mir auch schleierhaft 😀 (evtl dass man dann fliehen kann, aber wegen Balancing dafür keine Heiltränke mehr nutzen kann oder sowas)
 
Ich vermute, er bezieht sich dabei auf seine Schnelligkeitsschuhe (siehe Sig)... Aber was die mit Heiltränken zu tun haben ist mir auch schleierhaft 😀 (evtl dass man dann fliehen kann, aber wegen Balancing dafür keine Heiltränke mehr nutzen kann oder sowas)
Ne. Des is so:
Da man mit meinen Schuhen wirklich rasend schnell ist und OB nach ner Zeit dann abkackt, hab ich mir überlegt, dass ich Feuerschaden 10 Pkt / Sek mach. Damit man aber auch nur ne begrenzte Zeit laufen kann, hab ich noch rein geskriptet, dass die HP auf 101 reduziert werden -> Man kann nur 10 Sek so schnell laufen. Und damit man das nicht umgeht (mit Heiltränken / Heilzaubern) hab ich die Schuhe noch mit Stille verzaubert und jetzt hab ich halt nach dem Script für die Tränke gefragt 😉

Kannst du das nochmal für Noobscripter erkären? pls? 🙂 Und wieso eigentlich QuestID? oO
 
Zuletzt bearbeitet:
ich suche ein Skript, mit dem ich keine Heiltränke mehr benutzen kann.
Wiederherstellung Lebensenergie hat die ID REHE.

Mit Begin OnMagicEffectHit REHE oder HasMagicEffect REHE kannst Du zwar abfragen, ob der Actor (also hier der Player) den Effekt gerade auf sich wirken hat, aber um das zu verhindern ... sehe ich nicht, denn wenn die Abfrage positiv ist, wirkt der Trank ja schon.

hab ich mir überlegt, dass ich Feuerschaden 10 Pkt / Sek mach.
und warum werden die nicht einfach nach einer vorgegebenen Zeit mit UnequipItem ausgezogen? In einem OnEquip-Block verhinderst Du dann, dass der Player die vor Ablauf einer Zwangspause wieder anziehen kann.
 
Zuletzt bearbeitet:
  • Like
Reaktionen: Cyborg11
die Quest fungiert da nur als "Variablenträger".
Also, du erstellst eine neue Quest (ID beispielsweise 00DummyQuest). Als Questscript schreibst du aber nur
Code:
scn irgendeinnamefürdasscript
short canheal
so, das speicherst du als "QuestScript" und weist es der quest zu^^
Als nächstes erstellst du ein weiteres Script, das du dann auf die Heiltränke im CS legst, welches da lautet:
Code:
scn XYZ

Begin OnActivate
if (00DummyQuest.canheal == 1)
return
else
activate
end

als letztes machst du einen neuen Efekt bei der Verzauberung (Skripteffekt, logischerwiese), wobei du als Script das schreibst:
Code:
scn XYZ2

Begin ScriptEffectStart
set 00DummyQuest.canheal to 1
end

Begin ScriptEffectFinish
set 00DummyQuest.canheal to 0
end

so müsste das eigentlich klappen, dass der Spieler keine Heiltränke mehr nutzen (und nebenbei: auch keine mehr aufnehmen *hust*) kann 🙂


/EDIT: OK, die Möglichkeit von Seidenweber ist auch gut bzw eig noch besser^^
 
  • Like
Reaktionen: Cyborg11
Wiederherstellung Lebensenergie hat die ID REHE.

Mit Begin OnMagicEffectHit REHE oder HasMagicEffect REHE kannst Du zwar abfragen, ob der Actor (also hier der Player) den Effekt gerade auf sich wirken hat, aber um das zu verhindern ... sehe ich nicht, denn wenn die Abfrage positiv ist, wirkt der Trank ja schon.


und warum werden die nicht einfach nach einer vorgegebenen Zeit mit UnequipItem ausgezogen? In einem OnEquip-Block verhinderst Du dann, dass der Player die vor Ablauf einer Zwangspause wieder anziehen kann.
Und wenn du mir noch sagst wie ich bei UnequipItem ne Zeit von 10 Sek machen kann, bin ich zufrieden! 🙂
 
Code:
scn 00Schuhscript

float unequiptimer

begin OnEquip
set unequiptimer to 10
end

begin gamemode
  if (unequiptimer > 0) 
     set unequiptimer to (unequiptimer - getsecondspassed)
  elseif (unequiptimer == 0) && player.getequipped SchuhID
     player.unequipitem SchuhID
  else
     return
  endif
end
so müsste das eigentlich klappen
 
  • Like
Reaktionen: Cyborg11
Code:
scn 00Schuhscript

float unequiptimer

begin OnEquip
set unequiptimer to 10
end

begin gamemode
  if (unequiptimer > 0) 
     set unequiptimer to (unequiptimer - getsecondspassed)
  elseif (unequiptimer == 0) && player.getequipped SchuhID
     player.unequipitem SchuhID
  else
     return
  endif
end
so müsste das eigentlich klappen
Danke! 🙂

Jetzt noch austesten und dann werde ich es releasen 🙂
 
Code:
scn 00Schuhscript

float unequiptimer

begin OnEquip
set unequiptimer to 10
end

begin gamemode
  if (unequiptimer > 0) 
     set unequiptimer to (unequiptimer - getsecondspassed)
  elseif (unequiptimer == 0) && player.getequipped SchuhID
     player.unequipitem SchuhID
  else
     return
  endif
end
so müsste das eigentlich klappen
Hm ... irgendwie klappt das nicht :/

Irgendwie hab ich sie dann unendlich an, also d.h. man zieht sie nicht nach 10 Sek automatisch aus 🙁

Liegt es wohl daran, dass man ein Script Object und eine Verzauberung nicht gleichzeitig auf einen Objekt haben kann?
 
Hm ... irgendwie klappt das nicht :/
Versuch´s mal mit elseif unequiptimer <= 0

elseif (unequiptimer == 0) wird niemals (oder wenn, dann nur rein zufällig) true. Nach 10 Sekunden endet das Script dann bei jedem Durchlauf in einem Return, weil unequiptimer ab da einen negativen Wert hat.
 
Zuletzt bearbeitet: