Construction Set Der Scriptthread

Du müsstest dazu einen neuen magischen Effekt erstellen und dafür einen Script-Effekt wählen der das bewerkstelligt... das geht aber leider nur mit Oblivion. Obwohl... vieleicht kann man auch bei MW unbenutzte Effekte irgendwie mit einem Script verbinden? Grübel, grübel
 
Irgendwie geht das bestimmt. Wenn du rausgefunden hast wie, sag aber Bescheid, ich such schon lange nach dieser Möglichkeit.

Die unbenutzten Effekte sind:
EXTRA-Zauber
SummonCreature04
SummonCreature05
 
Also welche befehle braucht man.
Ich weiß nur hasequiped dafür sorgt das der char das grad benutzt das ist schon mal die Voraussetzung. Nach den 100 opfern player->removeitem"Schwert"
und nach den das schwert ist kriegt man das bessere player->additem"besserSchwert"
Sorry hab grad die einfachen Scripte gelernt und glaube nicht das ich wirklich helfen konnte, In Oble ist das einfach einfach den Script von dem Schwert "Morgenzahn" tunen und schon hat mein einen Seelenfresser.


MFG: Master_DeluXXXe
 
ich brauch ein sript(is klar) nemlich
wen man ein item activiret das dan ne nachicht kommtwo drinne steht:


Was wolt hier herstellen:
Item a
Item b
Item c
Item d
Abrechen

Wenn man jetzt anklicht "Item a" wird item "a_1" "a_2" ... usw(insgesamt 4) aus dem inwentar entfärn. und Item "a_ready" dem iwentar zugefügt(und wen man eins nicht hat wird einem gesagt" das kansts du nicht herstellen, du hast nicht alle zuteaten"
wäre so ein script möglich? wenn ja. köntet ihr es posten( bin ne 0,5:lol: im sripten) danke im foraus.
 
begin DasScript

short Button
short aktiviert
short hatAlles

if ( menumode )
return
endif

if ( aktiviert == 0 )
set aktiviert to OnActivate
return

elseif ( aktiviert == 1 )

set hatAlles to 1
messagebbox "Was wollt Ihr herstellen" "Item a" "Item b" "Item c" "Item d" "Abbrechen"
set aktiviert to -1
return

endif

set Button to GetButtonPressed

if ( Button == 0 )

if ( Player-> GetItemCount "a_1" = 0 )
set hatAlles to 0
endif
if ( Player-> GetItemCount "a_2" = 0 )
set hatAlles to 0
endif
if ( Player-> GetItemCount "a_3" = 0 )
set hatAlles to 0
endif
if ( Player-> GetItemCount "a_4" = 0 )
set hatAlles to 0
endif

if ( hatAlles )
messagebox "Ihr stellt Item a her"
Player-> RemoveItem "a_1" 1
Player-> RemoveItem "a_2" 1
Player-> RemoveItem "a_3" 1
Player-> RemoveItem "a_4" 1
Player-> AddItem "a_ready" 1
else
messagebox "Ihr habt nicht alle benötigten Sachen"
endif


elseif ( Button == 1 )

if ( Player-> GetItemCount "b_1" = 0 )
set hatAlles to 0
endif
if ( Player-> GetItemCount "b_2" = 0 )
set hatAlles to 0
endif
if ( Player-> GetItemCount "b_3" = 0 )
set hatAlles to 0
endif
if ( Player-> GetItemCount "b_4" = 0 )
set hatAlles to 0
endif

if ( hatAlles )
messagebox "Ihr stellt Item b her"
Player-> RemoveItem "b_1" 1
Player-> RemoveItem "b_2" 1
Player-> RemoveItem "b_3" 1
Player-> RemoveItem "b_4" 1
Player-> AddItem "b_ready" 1
else
messagebox "Ihr habt nicht alle benötigten Sachen"
endif

elseif ( Button == 2 )
...
messagebox "Ihr stellt Item c her"
...
elseif ( Button == 3 )
...
messagebox "Ihr stellt Item d her"
...
else
messagebox "Ihr brecht ab"

endif
set aktiviert to 0

end :p
 
Zuletzt bearbeitet:
  • Like
Reaktionen: Fuchsli
So ich ahbe was für euch (Killfetzer dir sollte es bekannt vorkommen)

begin _dwrv_plat256sid2steuerung_script

;liegt auf Konsole, die mit dem Aufzug zusammen bewegt wird (Aufzug heißt _dwrv_plat256sid2)

short state
short button
float timer

if ( MenuMode == 1 )
return
endif

if ( state == 0 )
if ( pa_aufzug_pos == 0 )
if ( OnActivate == 1 )
set state to 1
endif
elseif ( pa_aufzug_pos == 1 )
if ( OnActivate == 1 )
set state to 11
endif
elseif ( pa_aufzug_pos == 2 )
if ( OnActivate == 1 )
set state to 21
endif
endif
MessageBox "In welchen Stock möchtet Ihr fahren?" "Erdgeschoss" "1. Stock" "2. Stock"
endif

if ( state == 1 )
set button to GetButtonPressed
if ( button == 0 )
MessageBox "Ihr seid bereits im Erdgeschoss."
set state to 0
set button to -1
elseif ( button == 1 )
set state to 2
set button to -1
elseif ( button == 2 )
set state to 5
set button to -1
endif
endif

if ( state == 2 )
set timer to timer + GetSecondsPassed
MoveWorld Z 100
_dwrv_plat256sid2->MoveWorld Z 100
if ( timer >= 5 )
set timer to 0
set state to 0
set _dwrv_plat256sid2_pos to 1
endif
endif

if ( state == 5 )
set timer to timer + GetSecondsPassed
MoveWorld Z 100
_dwrv_plat256sid2->MoveWorld Z 100
if ( timer >= 10 )
set timer to 0
set state to 0
set _dwrv_plat256sid2_pos to 2
endif
endif

if ( state == 11 )
set button to GetButtonPressed
if ( button == 1 )
MessageBox "Ihr seid bereits im 1. Stock."
set state to 0
set button to -1
elseif ( button == 0 )
set state to 12
set button to -1
elseif ( button == 2 )
set state to 15
set button to -1
endif
endif

if ( state == 12 )
set timer to timer + GetSecondsPassed
MoveWorld Z 100
_dwrv_plat256sid2->MoveWorld Z -100
if ( timer >= 5 )
set timer to 0
set state to 0
set _dwrv_plat256sid2_pos to 0
endif
endif

if ( state == 15 )
set timer to timer + GetSecondsPassed
MoveWorld Z 100
_dwrv_plat256sid2->MoveWorld Z 100
if ( timer >= 5 )
set timer to 0
set state to 0
set _dwrv_plat256sid2_pos to 2
endif
endif

if ( state == 21 )
set button to GetButtonPressed
if ( button == 0 )
MessageBox "Ihr seid bereits im 2. Stock."
set state to 0
set button to -1
elseif ( button == 1 )
set state to 22
set button to -1
elseif ( button == 0 )
set state to 25
set button to -1
endif
endif

if ( state == 22 )
set timer to timer + GetSecondsPassed
MoveWorld Z 100
_dwrv_plat256sid2->MoveWorld Z -100
if ( timer >= 5 )
set timer to 0
set state to 0
set _dwrv_plat256sid2_pos to 1
endif
endif

if ( state == 25 )
set timer to timer + GetSecondsPassed
MoveWorld Z 100
_dwrv_plat256sid2->MoveWorld Z -100
if ( timer >= 10 )
set timer to 0
set state to 0
set _dwrv_plat256sid2_pos to 0
endif
endif

end

Das CS kommt vor allen mit pa und pos nicht zurecht
 
kann man einen skript erstellen, der bewirkt das man JEDEN Zauber nur einmal anwenden kann und wenn man mindestens 1h schläft/wartet kann man den Zauber erst wieder anwenden? und wenn ja, wie ungefähr? :)
 
Indem du ein globales Script laufen läßt, dass überprüft, ob der player spell xy nutzt und dann selbiges verhindert (den spell "des-equipt"). Das wäre dann aber ziemlich komplex, speicherfressend und es muß jeder spell rein ^^
mfg erc
 
Indem du ein globales Script laufen läßt, dass überprüft, ob der player spell xy nutzt und dann selbiges verhindert (den spell "des-equipt"). Das wäre dann aber ziemlich komplex, speicherfressend und es muß jeder spell rein
Ja, soweit die Theorie... und nun komm ich fiese Zecke. Nun hab ich einen Zauber, gehe zu einem Spellmaker, wo ich mir dann einfach einen neuen Spell selbst bastle... schon funktioniert das Monsterscript nicht mehr - jedenfalls bei diesem Zauberspruch. So würde es ebenfalls mit den von Mods eingefügten Zaubersprüchen sein. Keine Abfrage, keine Blockade...

Prinzipiell geht deine Idee. Aber sie ist wirklich äußerst umständlich umzusetzen und sehr störanfällig und rechenintensiv.
 
Also welche befehle braucht man.
Ich weiß nur hasequiped dafür sorgt das der char das grad benutzt das ist schon mal die Voraussetzung. Nach den 100 opfern player->removeitem"Schwert"
und nach den das schwert ist kriegt man das bessere player->additem"besserSchwert"
Sorry hab grad die einfachen Scripte gelernt und glaube nicht das ich wirklich helfen konnte, In Oble ist das einfach einfach den Script von dem Schwert "Morgenzahn" tunen und schon hat mein einen Seelenfresser.

Um dieses Thema wieder aufzugreifen:
Ich denke grade drüber nach, ob man evtl. eine globale Variable erstellen könnte, die jeweils aktiviert wird, wenn der Spieler das Schwert in der Hand hat. ich überlege jetzt grade, ob es evtl. eine Möglichkeit gäbe, die Anzahl Kills jeweils vor der Aktivierung der Variable und danach zu vergleichen.

Gruss
Kensen
 
Dafür müßte man aber wieder in dieser Variable die Kills prüfen...
Oder halt, es gibt doch diese Variable, die zeigte, wieviele Klippenläufer zB man schon getötet hat. Und das müßte doch für alle Kreaturen gehen. Das Script ist dann groß, unhandlich, komplex und wahrscheinlich störanfällig, aber es müßte gehen
mfg erc
 
Man kann in der Konsole die Gesatanzahl seiner getöteten Kreaturen und NPCs abfragen, aber ich habe bisher keinen Weg gefunden, diese Werte auszulesen.
 
Aber wird das in diesem Mod mit dem Jägerbuch (osä) nicht auch so gemacht? Da werden ja immer die werte erneuert beim aufnehmen
mfg erc
 
Dort werden die DeadCounts der einzelnen Kreaturen abgefragt, aber das ist nicht das Gleiche wie die in der Konsole anzeigbaren KillingStats (tks).
 
man könnte doch das als vorlage nehmen oder? wenn man z.B. 2 variablen für den Klippenläufer hat (einmal die normale und eine identische) kann man die 2. doch auf null setzen dazu, wie erc meint, nen timer und sobald der abgelaufen ist, kann man ja machen was man will je nachdem was es bringt (den wert der 2Klippenl. Variable wieder auf null und den Timer wieder auf anfang weil man eine bestimmte killzahl nicht geschafft hat etc.)
 
Wie bereits gesagt für einen einzelnen Kreaturentyp (auch noch für mehrere) ist das kein Problem, aber so wie ich Kensen verstehe, will er jeden Kill (egal ob NPC oder Kreatur) registrieren. Und das wäre nur möglich wenn man die allgemeine Variable "Total Kills" abfragen könnte, ich weiß aber nicht wie, da sie nur als Textausgabe bei ToggleKillingStats erscheint.