Construction Set Skriptthread zum Construction Set

Ich würde eventuell nicht unbedingt "placeAtMe" benutzen. Du könntest diesen Befehl vielleicht umgehen, indem du einen Dummy-NPC erstellst und der bei Treffer mit dem Schwert Goldmünzen dropt. Das sehe dann in etwa so aus:
Code:
scn name

ref target
ref NPC

Begin ScriptEffectStart

set target to getSelf
set NPC to <NPC-Ref>
if NPC.isActorsAIOff == 0
 NPC.toggleActorsAI
end
NPC.setDestroyed 1
NPC.saa 0.0
NPC.addItem Gold001 1
NPC.moveTo target 0,0,150
NPC.drop Gold001 1

end

Sicher bin ich mir dabei allerdings nicht. Den NPC musst du natürlich in eine Dummy-Zelle stellen und ihm eine Referenz zuweisen.
 
Danke, death-lord. Nur noch zwei Fragen.


  1. Ist die Item-ID, jetzt die Editor-ID?
  2. Gilt das Script nur für aktive Zauber oder auch für passive Zauber?
:bye:
DarkRuler2500

EDIT:
Hat sich erledigt, aber eine weitere Frage ist aufgekommen ..

Mein Script sieht momentan so aus ...

Code:
scn SetVulkanZauber

Begin GameMode

if player.getequipped DRVulkanBeinschienen == 1 && if player.getequipped DRVulkanStiefel == 1 && if player.getequipped DRVulkanHarnisch == 1 && if player.getequipped DRVulkanHandschuhe == 1  && if player.getequipped  DRVulkanHelm == 1 &&  if player.getequipped  DRVulkanSchwert == 1 

   player.addspell AASetVulkanZauber

else                 ;Wenn ein Gegenstand nicht mehr ausgerüstet ist.

   player.removespell AASetVulkanZauber
endif

end
EDIT 2: Hat sich gerade im Moment des Postens erledigt :D
Ich hatte zu viele Ifs ;)

Sieht jetzt so aus und lässt sich auch abspeichern
scn AASetVulkanZauber

Begin GameMode

if player.getequipped DRVulkanBeinschienen == 1 && player.getequipped DRVulkanStiefel == 1 && player.getequipped DRVulkanHarnisch == 1 && player.getequipped DRVulkanHandschuhe == 1 && player.getequipped DRVulkanHelm == 1 && player.getequipped DRVulkanSchwert == 1

player.addspell AASetVulkanZauber

else ;Wenn ein Gegenstand nicht mehr ausgerüstet ist.

player.removespell AASetVulkanZauber

endif

end
Genau richtig. So Funktionierts.
 
@ V0g3I: Wie Diarrhoe schon erwähnt hat, ist PlaceAtMe nicht zu empfehlen, da es den Spielstand aufbläht, und unter Umständen soweit führen kann, dass der Spielstand wirklcih unbrauchbar wird. Deswegen würde ich das gleiche wie Diarrhoe empfehlen, nur etwas unkomplizierter:

Code:
scn name

ref target

Begin ScriptEffectStart

set target to getSelf
target.AddItem Gold001 1
target.Drop Gold001 1
end

Das sollte im Prinzip aufs Gleiche hinauslaufen, aber wesentlich unkomplizierter sein.

Gildur
 
Danke mit dem Drop ist es eine sehr gute idee =).
Gut nun interessieren mich zwei dinge:
1. Wie kann ich das CS mit dem OBSE starten? Muss ich da noch extra was downloaden? Und was dann ich vieles anders machen?

2. Ich möchte gerne nach folgendem Tutorial mit der Mathfunction arbeiten und gerne diesen Feuerballring haben, leider ist das tutorial zu veraltet und ich kam nie dazu es zu beenden, weil es nie geklappt hat
http://www.nirn.de/forums/oblivion/thread.php?threadid=13451
ihr müsst ganz nach unten Scrollen auf der ersten Seite.

Danke im Vorraus
V0g3l
 
Suche mal mti der Windows suche nach "Construction Set" Dann findet er Cronstuction set mit OBSE loader starten. Zu 2. kenne ich keine Lösung
 
Hi,

ich brauche mal etwas Hilfe bei einem Script, da ich mich selber damit nicht so auskenne.

Ich möchte das sobald man zu einer bestimmten Stelle eines Raumes geht, 2 Personen auftauchen, die dann gegen 2 andere kämpfen die schon vorher in dem Raum waren und diese dann töten sollen. Man selber soll dann aber während die kämpfen nichts machen können, erst sobald die anderen 2 wieder weg sind.
 
Ganz einfach du nimmst eine Triggerbox setzt sie dahin wo der Player steht. Script für Triggerbox:
Code:
scn TriggerKampf
short doonce
Begin onTrigger Player
if doonce == 0 
set doonce to 1
REFIDdeserstenangreifers.enable
REFIDdeszweitenangreifers.enable
Disableplayercontrols
endif
end
Begin GameMode
if REFIDdeszweitenangreifers.getdead == 1 && REFIDdeserstenangreifers.getdead == 1 && doonce == 1
enableplayercontrols
set doonce to 2
endif
end
Die Angreifer tust du in eine Faction die Verteidiger in eine andere am besten PCFriend oder sowas.
Die Angreifer machst du als Peristen Reference und Initially Disabled und gibst in eine Reference Editor ID
 
  • Like
Reaktionen: Nerrok
Nochmal eine Frage zu dem Script.

Weil dort ja dann stehen wirde angreifer.getdead

Aber die verteidiger sollen ja sterben. Oder hab ich das jetzt falsch verstanden und alle müssen so gekennzeichnet werden nur halt mit anderen IDs?
 
Danke mit dem Drop ist es eine sehr gute idee =).
Gut nun interessieren mich zwei dinge:
1. Wie kann ich das CS mit dem OBSE starten? Muss ich da noch extra was downloaden? Und was dann ich vieles anders machen?

2. Ich möchte gerne nach folgendem Tutorial mit der Mathfunction arbeiten und gerne diesen Feuerballring haben, leider ist das tutorial zu veraltet und ich kam nie dazu es zu beenden, weil es nie geklappt hat
http://www.nirn.de/forums/oblivion/thread.php?threadid=13451
ihr müsst ganz nach unten Scrollen auf der ersten Seite.

Danke im Vorraus
V0g3l

1. Du musst natürlich OBSE runterladen und es neben dem CS installieren. Dann musst du eine Verknüpfung zur OBSE.exe erstellen und dort bei Ziel ein -editor anhängen.

2. Irgendwelche Fehlermeldungen?


@Nerrok: Auslegungssache, wie man deine Fragestellung verstehen will... Auf jeden Fall musst du dort die Referenz des Actors eintragen, der tot sein soll.
 
  • Like
Reaktionen: Nerrok
@Narrok
Du findest sie unter activator und dann dort T eingeben dann steht dort irgendwoe TrigBox oder so ähnlich jedenfalls gibt es viele verschiedene Boxen. Jede hat eine eigene Funktion und Script.

Nein es kommen keine Fehlermeldungen
Das ist ja mein Problem.
Also ich kann ja noch sagen was ich zumindest gerne noch machen möchte: Ich möchte einen Gegenstand (bsp Felsen) auf einen Gegner "schießen". Ich wäre dankbar wenn mir das einer erklären könnte wie das genau Funktioniert.

Der Script hier drunter ist der besagt Script der nicht läuft, dabei soll eine Perle, als activator umgestellt, um den Spieler Kreisen. Die Perle hat dann noch den Effekt dass sie brennt und Gegnern bei Berührung schaden macht.
Ich hatte den Script einmal soweit dass die Perle (glaube ich) erschienen ist, aber einen Feuerstrahl hatte der nach vorne Zeigte un Kilometer weit reichte.


ScriptName 001FlammenringScript

short damaged
short init
short doonce
ref Target
float timer

float rspeed

float hdist

float rpos

float mod_x ;
float mod_y
float mod_z

float org_x
float org_y
float org_z



Begin GameMode

;setting up constants

if init == 0
set rspeed to 8 ; Geschwindigkeit der Umdrehung.mit "-" davor dreht es in die andere Richtung
set mod_z to 50 ; Höhe der Kugel
set hdist to 220 ; Entfernugn zum Spieler
set init to 1
endif



; updating the position on the circle (rpos)
set rpos to rpos + ( rspeed * getSecondsPassed )
if rpos < 360 ;wenn ihr in die andere Richtung drehen wollt,muss statt ">" "<" eingesetzt werden
set rpos to rpos 360
endif

; setting the mods, via the SinCosTan function
set f.fin1 to rpos ;
setStage f 15 ; SinCosTan(rpos) function call ;Dieser Absatz hier geht nur
set mod_x to f.fout * hdist ; sin(rpos) * hdist ;wegen der mathlibrary
set mod_y to f.fout2 * hdist ; cos(rpos) * hdist ;


; getting the player's position
set org_x to Player.getPos X
set org_y to Player.getPos Y
set org_z to Player.getPos Z


; setting my own position
set org_x to org_x + mod_x
setPos X, org_x

set org_y to org_y + mod_y
setPos Y, org_y

set org_z to org_z + mod_z
setPos Z, org_z

endif

End

;Schaden

Begin OnTriggerActor

set Target to GetActionref
set timer to 0
target.addspell 001Schadensspell ;Fügt unserem Ziel die Eigenschaft,Feuerschaden zu bekommen hinzu
set damaged to 1
End

Begin Gamemode

if damaged == 1
set timer to timer + getsecondspassed
endif

if timer >= 4 ; Gibt an, wie lange der Schaden anhält
target.removespell 001Schadensspell
endif

End
 
  • Like
Reaktionen: Nerrok
Hab jetzt soweit alles gemacht, nur wenn ich in den Raum komme stehen da nur die 2 rum die besiegt werden sollen, die anderen stehen irgendwo weiter hinten um die Ecke rum weil ich mich dann ja nicht bewegen kann.
Aber die greifen halt auch nicht an.

Hier mal das Script wie ich das jetzt gemacht habe
Code:
scn kellerkampf

short doonce
Begin onTrigger Player
if doonce == 0 
set doonce to 1
kaempfer1.enable
kaempfer2.enable
Disableplayercontrols
endif
end
Begin GameMode
if kh1.getdead == 1 && kh2.getdead == 1 && doonce == 1
enableplayercontrols
set doonce to 2
endif
end
Habe auch die RedIDs genommen

E: für die Triggerbox hatte ich einfach eine genommen und die Id geändert usw.
 
Naja schau dir den script der Box an.

Ok zurück zu den Kämpfern, hast du sieauch unter der Actor information als Feinde gemacht sprich factons eingesetzt?
 
Hatte ich ganz vergessen. Muss man bei Evil auch ein Kreuz hinmachen? Und wenn ja bei welcher Gruppe?

E: hab ich jetzt alles gemacht, einer von denen die sterben sollen stirbt auch , nur etwas komisch:

Sobald ich in den Raum komme wird der von irgendeinem Feuerball ermordet, der irgendwo herkommt, habe dann den anderen per kill in die console getötet, weil der nicht getötet wurde. Dann bin ich da hin wo die anderen stehen. Die standen da einfach nur rum.

Muss man da eigentlich auch was in den AI Packages ändern?

E2: Hab jetzt alles noch mal von vorne gemacht. Aber der eine Khajiit wird sobald ich reinkomme von einem Feuerball getötet, aber da ist nicht mal ein einzigster Magier, die restlichen 3 stehen da einfach nur so rum.

E Nummer 3^^: Bin mal durch eine andere Tür reingegangen, dann sind die Khajiit von Feuerbällen abgeschossen wurden, danach die beiden Angreifer, und dann bin ich von einem Feuerball erschossen wurden.
 
Zuletzt bearbeitet:
Also du musst nur die Aggression unter AI hochmachen dann werden die Aggresiv und greifen an.
Du könntest es mal mit einer collosionbox probieren dann würden afaIk die Feuerbälle da abprallen und die Gegener würden da gegen laufen.
Die Box findest du unter Static und heißt Collosionbox. Die müsstest du dann iom Script auch enablen. Mit der bOX musste dann das gleiche wie mit den angreifern machen. Also Peristent Ref anhaken etc.
P.S. hast du eine Triggerbox komplett übernommen? Der Feuerball kann ja nicht einfach so erscheinen. Am besten du schickst mir mal die ESp
 
  • Like
Reaktionen: Nerrok
Ich hab die esp mal hochgeladen und schick dir den Link gleich.
Welche Zellen ich genutzt habe und wie die Npcs usw heissen hab ich in den Ordner mit reingetan, wenn du noch irgendwas anderes wissen musst dann kannst du ja fragen.

Zur Triggerbox: Ich habe dort einfach eine genommen die schon existiert hat, habe dann die ID geändert und den Script.

Kann das sein das die auch nach Scriptänderung usw ihre eigentliche funtkionen ausführen? Denn ich denke das das vllt irgendwelche der Steine aus Ayleideruinen oder Höhlen sind die Feuerbälle usw abschiessen.
 
Da ist irgendein Fehler in der zelle. Die Leute fangen iwie nicht anzu kämpfen und dieser Feuerball kommt wiei aus der Decke. Selbst Collosionboxes halten ihn nicht ab. Ich bin aufgeschmissen sry
 
  • Like
Reaktionen: Nerrok
Ok, trotzdem danke, dann muss ich es mal in einer anderen Zelle ausprobieren, ist ja egal wo die sich durchgraben:-D