Construction Set Skriptthread zum Construction Set

Soo.. jetzt mal etwas fordernderes *gg*

Ich brauche ein Skript, dass wenn ich einen bestimmten Zauber auf einen NPC wirke dessen ID (oder wasauchimmer, was auf diesen NPC eben zurückführt) speichert. (In eine global?.. zumindest etwas mit dem ich dann in einem anderem skript drauf zugreifen kann)
Mit OBSE gehts, wills aber ohne OBSE probieren..

Scriptname ccmarker
Ref MyRef
Begin ScriptEffectStart
Set MyRef To GetSelf
Set ccmarkerg to MyRef
Message "Ziel markiert."
End

(ccmarkerg is ne global)

Kann sein dass es zu spät ist.. naja, testen kann ichs jetzt auch nicht.. aber hab den verdacht dass es so nich so einfach funktioniert...

Desweiteren ne andere Frage...
is schon ewig her.. daher: wie kann ich den wert einer variable in nem skript einbauen? heißt: "ihr habt xyz gs auf dem konto" oä..
 
Zuletzt bearbeitet:
Ich hab das jetzt mal ausprobiert doch es will nicht klappen.
Ich hab mal den Script ein bisschen verändert:
Code:
scn Blur
begin Gamemode
If player.getinworldspace Wueste
triggerhitshader 0.5
endif
end
Der Script geht, doch der effekt wiederholt sich nur alle 2 sekunden und soll ja andauernt sein.:(
wie kann ich da jetzt mit einbauen das es andauernd ist?(ps:Ich meine so einen effekt wie bei dem mod Inebration ,bloß es soll nicht vom trinken kommen)

Du musst noch die Varaible fQuestDelayTime definieren. So läuft das Skript alle 5 Sekunden ab (Standartwert für alle Quest kann in der Oblivion.ini geänder werden: fQuestScriptDelayTime ).

Code:
scn blur

float timer
float fQuestDelayTime

begin gamemode
if fQuestDelayTime != 0.1
 set fQuestDelayTime to 0.1
else
 if player.getinworldspace worldID
  if timer == 0
   triggerhitshader 0.5 ;hier n bissl mit der stärke experimentieren
   set timer to 1 ;hier evtl zeit anpassen, alle wieviel sec der shader wiederholt werden soll
  elseif timer > 0
   set timer to timer - getsecondspassed
  endif
 endif
endif
end

Soo.. jetzt mal etwas fordernderes *gg*

Ich brauche ein Skript, dass wenn ich einen bestimmten Zauber auf einen NPC wirke dessen ID (oder wasauchimmer, was auf diesen NPC eben zurückführt) speichert. (In eine global?.. zumindest etwas mit dem ich dann in einem anderem skript drauf zugreifen kann)
Mit OBSE gehts, wills aber ohne OBSE probieren..

Code:
Scriptname ccmarker
Ref MyRef
Begin ScriptEffectStart
Set MyRef To GetSelf
Set ccmarkerg to MyRef
Message "Ziel markiert."
End

(ccmarkerg is ne global)

Kann sein dass es zu spät ist.. naja, testen kann ichs jetzt auch nicht.. aber hab den verdacht dass es so nich so einfach funktioniert...

Mach eine Quest, in deren Skript du dann die Variable definierst. Als Global wird das ganze nicht funktionieren, da man keine Ref-Variablen als Global definieren kann.

Um auf die Variable zuzugreifen verwendest du dann einfach '[QuestID].Variable'

Desweiteren ne andere Frage...
is schon ewig her.. daher: wie kann ich den wert einer variable in nem skript einbauen? heißt: "ihr habt xyz gs auf dem konto" oä..

Ich nehme an, du meinst in eine Message:

Dann gibst du anstelle der Variablen &.0f (für Integer), oder irgentwas anderes (siehe Link) an und schreibst die Variablen dann nach dem String (vor die Antworten bei einer MessageBox) hin (evtl. müssen die noch per Komma voneinander getrennt werden).
 
  • Like
Reaktionen: Alpha80SG1 und Cadhar
Mach eine Quest, in deren Skript du dann die Variable definierst. Als Global wird das ganze nicht funktionieren, da man keine Ref-Variablen als Global definieren kann.

Um auf die Variable zuzugreifen verwendest du dann einfach '[QuestID].Variable'



Ich nehme an, du meinst in eine Message:

Dann gibst du anstelle der Variablen &.0f (für Integer), oder irgentwas anderes (siehe Link) an und schreibst die Variablen dann nach dem String (vor die Antworten bei einer MessageBox) hin (evtl. müssen die noch per Komma voneinander getrennt werden).

Gut, danke wird sogleich getestet..

EDIT: Funktioniert einwandfrei, danke!
 
Zuletzt bearbeitet:
Wie mache ich das, dass wenn ich einen bestimmten Ort erreiche z.B. Kaiserstadt Marktviertel, ich einen bestimmten Gegenstand erhalte oder eine Quest Stage aktiviert wird?
MfG
oofishoo
 
@oofishoo:Für ihinzufügen von items
Code:
scn [DeinScriptName]
begin gamemode ;evlt für Gamemode "OnLoad" einsetzten
If player.getinworldspace [WorldID]
player.additem[ItemID]
endif
end
und hier zum hinzufügen für Queststage
Code:
scn [DeinScriptName]
begin Gamemode ;evlt für Gamemode "OnLoad" einsetzten
If player.getinworldspace [WorldID]
setStage [Questname] [QuestStage]
endif
end
Das legst du dann auf einen Quest.
mfg Alpha80SG1
 
Die Scripte sehen an sich richtig aus, da es aber ein GameMode ist, wird dem Spieler andauernd der Gegenstand hinzugefügt (so könnte er nach kurzer Zeit hunderte haben) und sozusagen "andauernd" die Stage gesetzt. Benutze am besten noch eine doonce-variable.
Code:
scn [DeinScriptName]

short doonce

begin gamemode
If ( doonce == 0 ) && ( player.getinworldspace [WorldID] )
player.additem [ItemID] [Anzahl]
set doonce to 1
endif
end
Oder eben für die Stage, da bräuchte man keine doonce, sonder eine Abfrage der momentanen Stage:
Code:
scn [DeinScriptName]
begin Gamemode
If ( GetStage [QuestID] [MomentaneStage] ) && (player.getinworldspace [WorldID] )
setStage [QuestID] [NächsteStage]
endif
end
Das kommt einfach auf den Quest-Script.

MfG Gildur
 
Ich brauche einen Skript wo :

Der NPC nach einem Gespräch den Player angreift, aber nicht die anderen NPCs.

e: ähm und einen script der macht das wenn man ein item aus einem kadaver nimmt, der quest auf 100 gemacht wird.

danke :)
 
Zuletzt bearbeitet:
Vielen Dank ihr beiden. Ich habe aber das Problem, dass die Quest mit dem erreichen des Ortes anfangen soll. Wie muss ich das denn jetzt auf die Quest ziehen?
MfG
oofishoo
 
dann benutze eben eine doonce:
Code:
scn [DeinScriptName]

short doonce

begin Gamemode

If ( doonce == 0 ) && (player.getinworldspace [WorldID] )
startQuest [QuestID]
set doonce to 1
endif
end
 
Hi....
ich hab eine frage die poste ich jetz zum 2 mal hier rein weil mir keiner geantwortete hatt kann es sein das es keinen weiss?^^
Hier noch ma die Frage:

ich brauch ein skript das wenn man 2 Kreaturen tötet man an eine andere stelle teleportiert wird...
Und es sollte eine nachricht kommen vor den Teleportiern.
In der gleichen celle
Und wie funktioniert das mit den"x-Marke"
 
Yves, du hast die Frage nicht nur hier gestellt sondern auch dort - und du hast Antworten bekommen:
http://www.scharesoft.de/joomla/forum/showthread.php?t=15936
Ich sagte z.B. weiter oben das du wegen der X-Marker mal hier:

schauen kannst.
Stell bitte nicht immer wieder die gleiche Frage, sondern sag' uns doch bitte was du für'n Problem mit den Antworten hast.
Es hat dir in o.g. Thread sogar schon jemand ein komplettes Skript zu dem Problem gepostet - also bitte sag' nicht das dir hier keiner antwortet.
Wie gesagt - schreib einfach was dir an den Antworten unklar ist - darauf kann man aufbauen. Aber keiner hat Lust staendig von vorn anzufangen.

Edit: Hier steht übrigens noch was brauchbares zu den Markern:
http://cs.elderscrolls.com/constwik...ckage_to_move_an_actor_to_multiple_locations?
 
Zuletzt bearbeitet:
sorry wenn ich hier so dazwischen haue mit meiner frage :
ähm ,
ich benötige ein sript zum folgen und warten lassen einer Creatur ,
ausgelöst beim ersten kontackt als zauber.

kann das jemand schreiben ?
eine erwähnung in der ReadMe versteht sich von selber.
mein Problem ist : ich setze die Kreatur in eine andere zelle und jetzt funktioniert der Zauber nicht mehr.
die Kreatur im spiel habe ich gelöscht ,
wo anders wieder reingesetzt ,
aber jetzt funktioniert der Zauber nicht mehr.

ich hab nachgesehen , das script für den zauber ist von anfang an leer.
ich kann da also auch nix Kopieren.

es heisst :
ctrlDreughscr
aber da ist nichts zu sehen. :eek:

danke für kompetente antwort
 
Ich weiß nicht ob ich dich komplett richtig verstanden habe, aber Folgen und warten macht man mit Ai-Packages ('Follow', 'Travel', usw).
Du must also lediglich die Package mit deinem Zauber austauschen (das geht wenn ich mich recht erinner ganz gut mit evp 'Packagename' - gerade wenns schnell gehen soll).