Skriptthread zum Creation Kit

Hey,
leider hab ich mir bei dem wenig script-üben ein script überschrieben.

Ich wollte fragen ob mir jemand den script geben kann. "JailQuestPlayerScript"
Wäre klasse xD

PHP:
Scriptname JailQuestPlayerScript extends ReferenceAlias  
{if player leaves jail location before getting objective, kill quest}


Event OnLocationChange(Location akOldLoc, Location akNewLoc)
	if !Game.GetPlayer().IsInLocation(EscapeHold.GetLocation())
		if GetOwningQuest().GetStage() < 20
			GetOwningQuest().SetStage(100)
		endif
	endif
endEvent

LocationAlias Property EscapeHold  Auto
 
  • Like
Reaktionen: Xenos
Hallöchen
ich benötige ein Script für ein Buch, welches einen Perk (z.B. Alchemy00) hinzufügt :?
kann mir wer helfen?
 
Code:
Scriptname <ScriptName> extends ObjectReference

Perk Property wantedPerk auto

Event OnEquipped(Actor ref)

if(ref == game.getplayer())
  if(!game.getplayer().hasperk(wantedPerk))
    game.getplayer().addperk(wantedPerk)
  endif
endif

EndEvent
 
  • Like
Reaktionen: enorm
Vielen Dank!
ich nehme an "wantedPerk" is der den ich dann auswähle.
leider funzt es nicht


Scriptname <ScriptName> extends ObjectReference
Perk Property wantedPerk auto
Event OnEquipped(Actor ref)
if(ref == game.getplayer())
if(!game.getplayer().hasperk(wantedPerk))
game.getplayer().addperk(wantedPerk)
endif
endif
EndEvent

das Script compiliert, funktioniert aber leider nicht, weder wenn ich das Buch lese, noch wenn ich es ins Inventar lege
wäre OnRead vlt besser? und wenn ja, wie schreibe ich das Script dann?
hat wer n Tip?
:huh:
 
Zuletzt bearbeitet:
Vielen Dank!
ich nehme an "wantedPerk" is der den ich dann auswähle.
leider funzt es nicht




das Script compiliert, funktioniert aber leider nicht, weder wenn ich das Buch lese, noch wenn ich es ins Inventar lege
wäre OnRead vlt besser? und wenn ja, wie schreibe ich das Script dann?
hat wer n Tip?
:huh:

Einfach OnEquip mit onRead ersetzen. ;)

PHP:
Scriptname zzz extends ObjectReference

Perk Property wantedPerk auto

Event OnRead()
	if(!game.getplayer().hasperk(wantedPerk))
		game.getplayer().addperk(wantedPerk)
	endif
EndEvent

So versuche es dann mal.

MfG Master of Worlds
 
  • Like
Reaktionen: enorm
Habs probiert, geht leider nicht.

Nochmal kurze Beschreibung:
wenn ich ein bestimmtes Buch lese soll ein bestimmter Perk aus Vanilla zu meinen Fertigkeitsbäumen hinzugefügt werden,
 
Gibt es eine Möglichkeit, per Script Fähigkeiten aufsteigen zu lassen, welche natürlich das Level beeinflussen, ähnlich wie das Buch in der nördlich gelegenen Questreihe zu der Elder Scroll, ohne dass man für jedes Up eine Nachricht eingeblendet bekommt?
 
IncrementSkill und IncrementSkillBy erhöhen Fähigkeiten ganz normal, blenden jedoch warscheinlich auch Nachrichten ein. Falls das so ist, könnte man testen, ob der alte Oblivion-Trick mit 2 Messages davor die Nachricht ausblendet.

Code:
import debug

notification("")
notification("")
game.incrementskillby(<Skill>, <Höhe>)
 
Hi,
ich hoffe ihr könnte mir helfen, ich bin noch sehr unerfahren was scripts angeht.
Und zwar ich möchte das ein Gegenstand ( Gebäude) erst ab einen bestimmten Queststage erscheint
 
Markier den Gegenstand im CK unter "Object Properties" (Doppelklick auf das Objekt) als "Initially disabled", und dann benutz folgendes Script:

Code:
Reference Property pHouse auto

pHouse.enable(false/true)

pHouse ist hier die Variable, die Du nach dem Kompilieren unter Properties angeben musst.
false/true: wenn Du false wählst wird das Haus einfach eingeblendet, wenn Du true nimmst materialisiert es sich langsam.
Das ganze musst Du bei dem entsprechenden Queststage oder Dialogue als Papyrus Fragment einfügen.
 
  • Like
Reaktionen: VolkerL
Hallo,

brauche mal einen Tipp von den Skript-Cracks hier im Forum.
Kurz erklärt.
Ein Actor soll eine 100%ige Resistenz gegen Blitz erhalten.
Wäre es möglich, dies mit einem Skript abzuhandeln und wie soll/muss
ein solches Skript aussehen?
Bin dankbar für jegliche Hilfestellung.

MfG
 
Ja das geht per Script.

Code:
int iER = Actorname.GetAV("ElectricResist") as int
if (iER < 100)
  Actorname.SetAV("ElectricResist", 100)

Die ersten beiden Zeilen sind optional und nur eine Überprüfung, ob der Actor nicht schon 100% Resistenz hat.
Actorname durch die ID ersetzen. (also z.B. "Balimund")
 
@Lord Albion,

zunächst einmal vielen Dank für deine schnelle Hilfe.
Leider funktioniert es nicht.
Das Skript wird so nicht compiliert.
Vielleicht hättest du noch eine Alternative?

MfG
 
Evtl.

Code:
Scriptname <Name> extends ObjectReference  

objectReference property pActor auto

EVENT onActivate(objectReference akActivatingRef)
    (pActor as actor).SetAV("ElectricResist", 100)
endEVENT

Das lässt sich jetzt kompilieren, allerdings wird bei diesem Script der Wert nur dann geändert, wenn Du einen Activator aktivierst, auf dem das Script liegt. Es könnte aber auch in Quests ohne jenes Event gehen, bzw. könntest Du auch einfach einen Trigger benutzen.
 
  • Like
Reaktionen: Little Ice
Hallo Lord Albion,

also wirklich...bist ja schneller wie die Feuerwehr! :)
Habe es soeben ausprobiert. Absolut perfekt!
Klappt alles hervorragend.
Dafür drücke ich doch gern den Dankebutton.
Also, ein ganz herzliches Dankeschön für deine kompetente Hilfe. :good:

MfG