Construction Set Skriptthread zum Construction Set

Ich zitiere mich nochmal ;) :

nimm mal diesen Part testweise raus:
Code:
    ; if we're not at max gates, we might open a new one here
     ; dies geht nur, wenn die Morrowind-Oblivion Überleitung abgeschlossen ist
     if MWOBL == 100
    if MQ00.openGates < MQ00.maxOpenGates && ( getdisabled == 1 || ( MQ00.allowGatesToReopen == 1 && destroyed == 1 ) )
        set rand to GetRandomPercent 
        if rand <= MQ00.randomGateChance
            set mySpawnMarker to getParentRef
            mySpawnMarker.enable
            enablelinkedpathpoints
            set MQ00.openGates to MQ00.openGates + 1
            if destroyed == 1
                setDestroyed 0
                set destroyed to 0
Ich habe jetzt ein paar Stündchen Oblivion gespielt und kein Obliviontor gefunden. Das mag nichts bedeuten, aber ich werte es als positives Zeichen. Nur wird diese Stelle ja später für die Obliviontore benötigt. Wie kann ich verhindern, dass diese Stelle vor Beendigung der Quest ausgeführt wird?
 
@Diarrhoe: hier der beweiss das While u loop doch exestieren (wurde mit einer neueren obse version eingefügt deshalb kein eintrag im cs wiki) Nachweiss auf Flow Control Functions klicken ;)

muss wohl die while schleife doch in if umwandeln kann die 0018 v net nutzen wegen der buggy getEquippedCurrentHealth funktion
 
@Fluffy: Wenn der Spieler derjenige ist, der teleportiert werden soll, würde ich eventuell eine neue Tür erstellen, deren Teleportmarker dich dann zu dem gewünschten Ort bringt... Dann brauchst du keinen "MoveTo"-Befehl sondern kannst die Tür einfach "aktivieren". Generell lautet der "MoveTo"-Befehl übrigens "<Ref>.MoveTo <Ref>". Vielleicht meintest du das auch mit "<ID>" (im Wiki wird es ja vielfach auch so geschrieben; die Referenz ist ja quasi die "Ref-ID"), aber vielleicht auch nicht... ;)
 
  • Like
Reaktionen: Fluffy
Weiss jemand wofür die Black Secret Flächen sind die in mehreren Mods auftauchen. So gesehen bei Vineyard und Castle Seeblick.
Original sind diese nur einmal bei der Weyon Priorei und scheinen keinerlei Bedeutung zu haben. Doch wieso werden sie dann von Moddern so oft eingesetzt.
 
Um das Gebiet auf der Lokalkarte nicht anzeigen zu lassen, denke ich... So weiß der Spieler zum Beispiel nicht, dass die Wand die er da anstarrt eine hochfahrbare ist und geht daran vorbei...
 
  • Like
Reaktionen: robinH
scn 00ttest

short Doonce

Begin OnActivate

If GetStage 00Quest == 30 && Gamehour >= 22 && Gamehour <= 24 &&
player.Getitemcount MortFlesh == 1 ( Ist deswegen in dieser Zeile, weils im Forum nimmer hinpasst )

Player.RemoveItem MortFlesh 1
Messagebox "Test"
DisablePlayerControls
<ID,NPC>.moveto <ID,X-Marker>
<ID,NPC>.pme SHLD
Player.pme SHLD
set Doonce to 1
else
Messagebox "Test2"
endif
end


So das ist nun mein nichtfunktionierendes Script
 
Aber natürlich macht Sinn. Stimmt ja, die Ingame Karte würde das sonst zeigen. Aber müssten diese dann nicht per script disabled werden, sonst sieht man den Bereich doch auf der Ingamekarte nie.
 
scn 00ttest

short Doonce

Begin OnActivate

If GetStage 00Quest == 30 && Gamehour >= 22 && Gamehour <= 24 &&
player.Getitemcount MortFlesh == 1 ( Ist deswegen in dieser Zeile, weils im Forum nimmer hinpasst )

Player.RemoveItem MortFlesh 1
Messagebox "Test"
DisablePlayerControls
<ID,NPC>.moveto <ID,X-Marker>
<ID,NPC>.pme SHLD
Player.pme SHLD
set Doonce to 1
else
Messagebox "Test2"
endif
end


So das ist nun mein nichtfunktionierendes Script

1. Deklarierst du "doonce" und setzt es auch auf "1", aber es erfüllt keinen Zweck, weil du es nicht abfragst...
2. Benutzt du immer noch die IDs der Referenzen anstelle der Referenzen selbst (außer, du meinst das mit "ID,NPC")...
3. Kannst du in diesem Forum Skripte per VB-Code in einem "Extra-Fenster" anzeigen lassen (ist wahrscheinlich falsch ausgedrückt...), wie es alle anderen auch machen. Dazu musst du lediglich das Skript markieren und oben in der Leiste auf die Raute klicken. Außerdem ist es zu empfehlen, das Skript durch Leerzeichen (hier im Forum funktionieren ja keine Tabs :)thunder:) ;)) zu formatieren...

Ich würde das Nicht-Funktionieren des Skripts auf Punkt zwei schieben, da die anderen ja keine richtige Auswirkung auf die Funktionalität haben. Es sei denn natürlich, es ist irgendeine Kondition nicht erfüllt...
 
Bitte um Hilfe

Hallo Fans, ich wollte eine Tänzerin erstellen die einfach nur rund um die Uhr tanzt und habe mir mal die Einstellungen bei der Tänzerin in SE angesehen, komme damit aber nicht klar weil es über ein Script läuft.

Kann mir bitte jemand helfen und beschreiben wie man das genau macht. Aber bitte nicht in Englisch, denn die Sprache verstehe ich nicht.

Vielen Dank im voraus.
 
scn SE14DancerScript

;this script will handle the movement and actions of the summonable dancers



sht movoVAR ;a;a variable torark thehposotion andnstate of fhehdanaer
flo
l
imeei
sor
hi
ieVdRdR;a v;a v variable tockridld
Begi

Bem

oda
oda
( S

ifg

e
14 too1
e ) &nd
ev &
if dmoveV

if 2mov&ee ( S 2 ) && (tess4 ret move
se too;maevpbond
e vpnif gf peV
inf sev&&
v&&( 2 ) &to S
et.bo + Get ectimsPassGet)
re (anwinr >=
iinlet set
i4mer to (
etmer + bow eceVmsPas
Geset if ( merer 3
=
if tim Sf

4
( set AR =
iow)

eVA(akovedanceeim ) ;0
set
ene s

0
4.deiVAR i
io 1

t (a4.dedanco 4
en1
if;makeboeveVAR =4
4ndi encenoi to

vedance.danc to 4 1
iasends meveVARm=4 to tiseco+ (akSve
t deress) im ;maketS>= 2 t t& ( idle
ifiseco+ GetSv2 ) && ( idle
ime( 0 )
etS= 2 )
&&ickidle
i
(= imdleVev2 ) &&
elsleV ( == 0 >= 34 )
sckidim
to id
seR moveVAR teif ( t
et idleVAR)
0
timer t
dif

st moveVAR AR == 5 ) ;gets dancer ready to bow before leaving
set SE14.dancenow to 0
set SE14.bownow to 1
set moveVAR to 6
endif

if ( moveVAR == 6 ) ;makes dancer bow before leaving
Look SESheogorathThroneREF
pickidle
set timer to ( timer + GetSecondsPassed )
if ( timer >= 4 )
set moveVAR to 7
set SE14.bownow to 0
set timer to 0
endif
endif

if ( moveVAR == 7 ) ;sends dancer back to original spot
set SE14.GetDancers to -1
evp
set moveVAR to 8
StopLook
endif

End

Begin OnPackageDone SE14DancerMove ;checks when dancer is at marker, gets them ready to bow

if ( moveVar == 1 )
Look Player
set SE14.bownow to 1
set moveVar to 2
endif

End

Begin OnPackageDone SE14DancerMoveAway ;resets variables when dancer is back at original spot

set moveVAR to 0
set SE14.GetDancers to 0
StopLook

End

Wie ich bei den Einstellungen (AI) gesehen habe, ist das Script an eine Quest gebunden. Wenn es geht möchte ich nur den NPC als Tanzende Figur rund um die Uhr. Bei den NPC habe ich in der ID mdedancer zu stehen und bei Name Tänzerin. Der Ort im CS ist mdeUWASchwimmbad, wo der NPC tanzen soll.

Danke bjoernret für den Versuch mir zu helfen.

mfg Piet
 
Zuletzt bearbeitet:
Wenn ich das richtig sehe wird das Tanzen durch ein Package verursacht. Gehe im CS-Menü auf Charakters --> Packages. Dort wählst du das Package SE14DancerMove aus und duplizierst es. Passe es deinen Bedürfnissen an und ziehe dieses Package in die AI deines Tänzers.

Wenn der Tänzer die ganze Zeit tanzen soll, brauchst du das Script nicht.

Sollte ich mir irren, bitte lauf aufschreien :)
 
  • Like
Reaktionen: Piet
Wie ich das gerade gesehen habe sind die Einträge mit der Quest oder der Script Variable verbunden. Ich habe keine Ahnung wie ich das hinbekommen soll, wenn nicht lasse ich es sein. Du kannst es dir ja selber mal ansehen NPC ist SE14Dancer1 und die Packages ist SE14dancer Move.

Ich danke dir für die Hilfe bjoernret und ich bin ehrlich gesagt enttäuscht das man in ein solchen großen Forum, so wenig Menschen hat die wirklich versuchen einen zu helfen. Da man ja die Mod nicht für sich macht sondern auch für die Mitglieder des Forums.

mfg Piet
 
Zuletzt bearbeitet:
Sobald ich wieder zuhause bin, werde ich mir das ganze mal im CS ansehen. Dürfte eigentlich kein großes Problem sein, die Verbindung mit dem Script zu lösen ;)
 
  • Like
Reaktionen: Piet
Danke bjoernret, für mich ist das ein großes Problem denn ich habe absolut davon keine Ahnung und bin absoluter Laie noch dazu ohne Englisch Kenntnisse.

mfg Piet
 
Das ist ganz schön kompliziert - zumindest für einen Laien. Du musst eine neue Animation erstellen, die Variablen und Packages ebendieser zuweisen... etc.
 
hi ich ver suche gerade mein erstes script :yeah:
Es soll davon handeln das der Spieler eine kiste findet ^^
und sie dann zu jeamndem bringen soll dann wird sie aus dem invetar entfernt und der quest beendet.. ich wollte fraegn ob noch sehr viel in meinem script fehlt :roll:


scn käse

short käsekiste

Begin OnAdd käsekiste player
MessageBox"Puh diese Kiste riecht nach...Käse?", " Ich sollte sie so schnell wie möglich loswerden"
end

begin gamemode

end

das ist es