Construction Set Skriptthread zum Construction Set

hey also ich hab hier ein paar probleme mit meinem timer geht einfach nicht. Der timer soll auf 25 gestellt werden und wen er abläuft soll ein gegenstand enabled werden. keine ahnung warum das nicht geht

Float Timer

begin gamemode

set timer to 25


elseif timer > 0

set timer to timer - GetSecondsPassed
else
Message "The time is up."

endif

end
 
Der GameMode Block wird immer wieder neu ausgeführt, dadurch wird der timer auch immer wieder auf 25 gesetzt. Somit kann er gar nicht 0 erreichen.

Code:
scn Scriptname

Float timer
short doonce

begin gamemode

if doonce == 0

If timer == 0
set timer to 25
elseif timer > 0
set timer to timer - GetSecondsPassed
else
Message "The time is up."
set doonce to 1
endif

endif

end
 
  • Like
Reaktionen: Raistlin
Gibt es eine Möglichkeit, einer Waffe einen Entwaffnungs-Script zuzuweisen, der mit einer X%igen Wahrscheinlichkeit einen Gegner entwaffnet?

:bye:
 
Hallo, Frage an die Experten:

Ist es möglich ein Script zu erstellen, dass alle 10sec. ausgeführt wird.

Und zwar soll hier der Zauber Unsichtbarkeit aufgehoben werden.

Wenn möglich bitte auch eine Variante, wenn man durch eine Triggerbox läuft soll die Unsichtbarkeit aufgehoben werden.

Ihr würdet mir wirklich, mit eurer Hilfe, sehr weiterhelfen.:)
 
also ich kenne nur einen befehl,der alle zauber aufhebt die momentan auf einen actor wirken
"<REF-ID>.dispelallspells"

zur sache mit den 10sek:

scn NAME
float timer

begin gamemode
set timer to (timer + getsecondspassed)
if timer >=10
player.dispelallspells
set timer to 0
endif
end
 
  • Like
Reaktionen: Meclaton
@Der Waldmeister

Also ich bin jetzt mal ganz vom Trigger weg und hab den Sound einfach mitten auf den Platz gestellt. Die Einstellung bei Minimum und Maximum Attenuation müssen allerdings sein, denn ohne ist der Sound gar nicht zu hören. Bei Minimum habe ich einen Wert von 300, bei Maximum einen Wert von 6000 eingegeben. Bei dB 5,29, ingame reicht das aus, sonst wäre es zu dominant. Loop angehakt, und es funktioniert. Der Sound ist jetzt zu hören über eine gefühlte Fläche von ca. 10 x 10 m. Ich dachte, das würde irgendwen interessieren, der es gerade selber austüftelt.

LG
Arielle 1000
 
  • Like
Reaktionen: Meclaton
Toll Danke Der W@ldmeister

kannst du mir bitte noch einmal ein komplettes Script nennen, wenn man nur durch eine Triggerzone läuft (also ohne Zeiteinschränkung).

Edit
Wäre es so richtig?

scn das01
short doonce
begin OnTrigger Player
if doonce == 0
set doonce to 1
player.dispelallspells
endif
end
 
Zuletzt bearbeitet:
So sieht jetz mein Script aus:
Code:
scn AAANahrungsScript
 
short doonce
 
long day
short done 
 
Begin GameMode
if doonce == 0
set doonce to 1
player.additem 00EigeneNotiz 1
endif
 
if done == 0
set done to 1
set day to GameDaysPassed
else
if (day + 7) >= GameDaysPassed
set done to 0
player.removeItem Gold001 600
endif
endif
 
end
endif

Allerdings startet keine Quest und die 600 Septime werden immernoch jede 5 sekunden abgezogen.
Nochmal ne doofe Frage: der Script muss doch bei Quest,unter Quest-Data,bei Script stehen oder??
 
@ Meclaton:
Es gibt afaik keinen Befehl, der einen bestimmten Effekt von einem Actor entfernt. Du kannst höchstens "hasMagicEffect" benutzen, um zu überprüfen, ob jemand von besagtem Effekt betroffen ist.

@DarkRuler:
Mit OBSE, ja. Du kannst mit "getEquippedObject" die ID der Waffe bekommen und diese mit "drop" o.Ä. aus dem Inventar entfernen. Der Nachteil bei "drop" ist, dass die Ladung, die Haltbarkeit oder Skriptvariablen nicht übernommen und quasi resettet werden. Das könnte ungefähr so aussehen:
Code:
scn name

ref weapon
ref actor

Begin ScriptEffectStart

set actor to getSelf
set weapon to getEquippedObject 16
actor.drop weapon 1

end
Das Skript musst du als Magic-Effect speichern und der Waffe in Form einer Verzauberung hinzufügen.

@ Lord4Ever:
Ich hatte es gestern abend nochmal geändert... aber anscheinend zu spät...
Code:
scn name

short doonce

long day
short done

Begin GameMode

if doonce == 0
 set doonce to 1
 player.addItem <Object-ID> 1
endif

if done == 0
 set done to 1
 set day to GameDaysPassed
else
 if (day + 7) <= GameDaysPassed
  set done to 0
  player.removeItem Gold001 600
 endif
endif

end

Wo steht denn was von einer Quest?
 
Zuletzt bearbeitet:
Habe es so getestet und es funktioniert!!!

scn das01
begin OnTrigger Player
player.dispelallspells
end
 
Vielen Dank noch einmal an Alle, Ihr habt meine Mod gerettet.:)
 
Code:
scn name

short doonce

long day
short done

Begin GameMode

if doonce == 0
set doonce to 1
player.addItem <Object-ID> 1
endif

if done == 0
set done to 1
set day to GameDaysPassed
else
if (day + 7) <= GameDaysPassed
  set done to 0
  player.removeItem Gold001 600
endif
endif

end

Ich hab den Script so eingegeben,allerdings bekomm ich kein Gold abgezogen:huh:
Der Script muss doch auf ne Quest gelegt werden,oder??
Mit Stage oder ist das unnötig?
 
Ich auch, aber leider kann man das nicht abfragen...

Man braucht dafür keine Stage, nur eine Quest mit einem Häkchen bei "Startquest Enabled".
 
Hey wollt kurz fragen was ich schreiben muss damit ich durch einen Hebel. Das Feuer anzünden und es wieder löschen kann. DAnke schonmal im voraus :)
 
ich probier mal es abzuändern:

scn name
short doonce
long day
short done

Begin GameMode
if doonce == 0
player.addItem <Object-ID> 1
set doonce to 1
endif

if done == 0
set day to (GameDaysPassed + 7)
set done to 1
else
if day >=GameDaysPassed
set done to 0
player.removeItem Gold001 600
endif
endif

end
versprechen kann ich nichts aber einen versuch ist es wert^^
 
scn HebelScript
short on

begin onactivate
if on==0
playgroup forward 1
set on to 1
elseif on==1
playgroup backward 1
set on to 0
endif
end

begin gamemode
ifisanimplaying==0
if on==1
<Licht-REF>.enable
else
<Licht-REF>.disable
endif
endif
end
 
  • Like
Reaktionen: Raistlin
Dankeschön. Hab noch ein problem in einem Haus wird ein Timer gestartet. Nach ablauf des Timers wird auserhalb des hauses etwas passieren das problem, der Timer läuft nicht mehr weiter sobald ich das haus verlasse.
 
*darum bitte,dass du auf den danke-button drückst* xD

also der timer läuft wahrscheinlich deshalb nich weiter weil die sache mit dem script im interior is und scripts für gewöhnlich immer erst dann ausgeführt werden wenn der spieler sich in der selben cell befindet wie das objekt mit dem script... am besten wärs denke ich wenn du den timer deshalb durch ne quest ablaufen lassen würdest^^