Folge dem Video um zu sehen, wie unsere Website als Web-App auf dem Startbildschirm installiert werden kann.
Anmerkung: Diese Funktion ist in einigen Browsern möglicherweise nicht verfügbar.
Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder einen alternativen Browser verwenden.
Ich meine, dass ich eine Tür beschwören kann, die einen an einen bestimmten Ort bringt, und bleibt, bis man es neu beschwört; so wie diese Xmarker-Teleport-Geschichte, nur, dass andere mir folgen können.
scn ZauberScript
begin scripteffectstart
Tür-REF.moveto player
end
Code:
scn TuerScript
ref target
begin onactivate
set target to getactionref
target.moveto Ziel-Marker-REF
end
Allerdings bin ich mir nicht sicher,ob die NPCs von alleine durch die Tür gehen werden... Sicherheitshalber solltest du sie vllt trotzdem mit Doormarkern verlinken.
Edit: Also du setzt praktisch an den Zielort auch noch eine Tür,die aber irgendwo im Boden ist oder anderso,wo man sie nicht sieht, gibst ihr ggf. noch das "NoActivationScript" und setzt sie als Ziel für dein beschwörbares Portal.
Edit2: @Diarrhoe oder jemand anderen schlaues^^
Ich meien mich erinnern zu können, dass man per Skript auch eine verlinkte Tür erkennen kann, finde aber keinen passenden Befehl
Edit3: Wusst ichs doch,dass es "GetLinkedDoor" ist :lol: Also hier eine Alternative:
Code:
scn TuerScript
ref target
ref destination
begin onactivate
set target to getactionref
set aim to GetLinkedDoor
target.moveto destination
end
Upps!
Also für Variante 1 solltest du einen XMarker an die Stelle des Ziel-Tür-Doormarkers setzen. Beim zweiten Scripthab ich die Variable erst "aim" genannt und mich dann doch für "destination" entschieden einfach eins von beidem ins andere umändern
Mal eine Frage zwischendurch.
Kann ich bestimmte Wesen ab einem bestimmten Questfortschritt in einer Zelle, bzw in einem Interior spawnen lassen, und zwar nur dann, weder früher noch später?
Und nebenbei alle NPC's ausblenden, die normalerweise da stehen?
Das Problem wird dabei, dass ich im Tempel was ändern will, und der ja je nach HQ Fortschritt sich ändert...
Für eine ganz billige Quest brauche ich ein Script, dass, wenn der Charactere mindestens 4 Stunden geschlafen hat, das Schlafen abbricht und einen Gegner neben dem Bett erscheinen lässt, der natürlich besiegt werden möchte. Der tote Gegner soll dann aber nach zwei Tagen wieder verschwinden und nicht da ewig im Haus liegenbleiben.
Hier biete sich das Dreckhack-Script an. Wie muss ich das verändern, damit das obige rauskommt?
scn HackdirtMoslinsInnBedScript
ref attackRef
begin menumode
if IsPCSleeping == 1 && RentHackdirtMoslinsInn == 1 && attackRef == 0 && ( gamehour > 18 || gamehour < 6 )
if HackdirtBrethren01.getdead == 0
set attackRef to HackdirtBrethren01
elseif HackdirtBrethren02.getdead == 0
set attackRef to HackdirtBrethren02
elseif HackdirtBrethren03.getdead == 0
set attackRef to HackdirtBrethren03
endif
if attackRef > 0
attackRef.moveto HackdirtMoslinsInnAttackMarker
attackRef.startcombat player
endif
set attackRef to 1
endif
end
scn name
short once
begin menumode
if once==0
if getpcsleephours >=4
moveto player
startcombat player
set once to 1
endif
endif
end
Damit er verschwindet,darfst du dem NPC einfach kein Häkchen bei "Questitem" machen.
Edit: So wie das Skript momentan ist, passiert es sobald der Spieler zum ersten mal 4 Stunden oder länger schläft. Ich denke aber,du willst noch eine Ortsangabe oder zu erfüllende Queststage reinhaben oder?
naja ich würds ungefähr so machen...aber das gelbe vom ei is dasn icht...kann auch ned garantieren obs geht.
Code:
scn name
Begin GameMode
If GetStage [I]QuestID[/I] == [I]QuestStage[/I]
[I] WesenREF.[/I]enable
[I]NPCREF[/I].disable
else
[I]WesenREF.[/I]Disable
[I]NPCREF[/I].Enable
endif
end
WIe gesagt, sicher nicht perfekt und warscheinlich gehts auch viel weniger aufwenidg, vorallem wenn du mehrere NPCs en/disablen musst...aber immerhin schon ein ANfang. LG Dacri
scn name
short once
begin menumode
if once==0
if getpcsleephours >=4
moveto player
startcombat player
set once to 1
endif
endif
end
Damit er verschwindet,darfst du dem NPC einfach kein Häkchen bei "Questitem" machen.
Edit: So wie das Skript momentan ist, passiert es sobald der Spieler zum ersten mal 4 Stunden oder länger schläft. Ich denke aber,du willst noch eine Ortsangabe oder zu erfüllende Queststage reinhaben oder?
Dafür brauchst du ein paar mehr Skripts. Einmal auf dem Buch:
Code:
scn name
short doonce
Begin onActivate
activate
if isActionRef player
if doonce == 0
set doonce to 1
setStage <Quest> <Stage1>
set <Quest>.fQuestDelayTime to 0.01
endif
endif
end
Begin onEquip player
if doonce == 0
set doonce to 1
setStage <Quest> <Stage1>
set <Quest>.fQuestDelayTime to 0.01
endif
end
Auf der Quest:
Code:
scn name
float fQuestDelayTime
float hours
Begin MenuMode 1012
if getStage <Quest> == <Stage1>
if isPCSleeping
if getPCMiscStat 20 >= (hours + 4)
<Gegner-Ref>.moveTo player
<Gegner-Ref>.startCombat player
wakeUpPC
setStage <Quest> <Stage2>
endif
return
endif
set hours to getPCMiscStat 20
endif
end
Und auf dem Gegner:
Code:
scn name
Begin onDeath player
if getStage <Quest> == <Stage2>
setStage <Quest> <Stage3> ;die Stage hat einen Haken bei "Complete Quest"
endif
end
Abend, ich brauche ein Script, das etwas dierekt vor dem Player enablet wenn man einen Zauber benutzt. beim Zweiten mal soll es aber nicht weggehen, sondern ein zweites soll erscheinen unendlich oft. Nur mit einem anderen Zauber kann man dann alle Objekte auf einmal "löschen"
Das solltest du mit "placeAtMe" realisieren können. Allerdings solltest du von intensiver Nutzung des Befehls absehen, da die erzeugten Objekte das Savegame vergrößern, was zu Problemen beim Spielen und Laden führen kann. Deswegen sollte "moveTo" immer die erste Wahl sein, auch wenn man dann eventuell vorher ein paar Objekte erstellen muss.
Die mit "placeAtMe" erzeugten Objekte wirst du nämlich nicht so leicht los. Bei Items kannst du dich mit "removeMe" oder "removeAllItems" behelfen, bei einem Actor musst du den Zellreset ausnutzen, aber bei einem Activator hilft beides nicht.
Ein weiteres Problem ist, dass du nicht eine beliebige Anzahl an Referenzen speichern kannst (bin mir gerade nicht sicher, ob es nicht doch mit OBSE-Arrays und Pluggy geht).
Ungeachtet der Savegame-Probleme könntest du das ganze so schreiben: Zum einen ein Questskript (dient nur als Quelle für eine Variable, du könntest auch eine Global verwenden):
Code:
scn name
short init
Der Scripteffect für das Erschaffen des Objekts:
Code:
scn name
Begin ScriptEffectStart
placeAtMe <Objekt> 1, 250, 0
end
Der Scripteffect für das Löschen der Objekte:
Code:
scn name
Begin ScriptEffectStart
set <Quest>.init to (<Quest>.init + 1)
end
Und ein Skript auf dem Objekt:
Code:
scn name
short state
short init
Begin GameMode
if state == 0
set state to 1
set init to <Quest>.init
elseif state == 1
if init != <Quest>.init
set state to 2
disable
endif
endif
end