Ja hallo erstmal...
ich weiß ja nich, ob ihrs schon wusstet, aber ich habe neulich versucht, das Craftingsystem von Nehrim simpel zu erweitern. Dazu habe ich eine "Nähmaschine" angefertigt,
auf der ein script marke eigenbau liegt. Soweit so gut, nur doof, dass es nicht tut! Hier ist erstmal das Script:
Das Problem ist folgendes:
Wenn ich nun ingame die Nähmaschine aktiviere, kommt die MsgBox, wei geplant, aber dann kann ich klicken was ich will und es geschieht NICHTS!
Hoffe ihr könnt helfen,
Thiefnuker
PS: Sollte jemand sich gut mit bethesda scripts auskennen und bereit sein, mein "Lehrer" zu werden:
Skype: thiefnuker
XFire: thiefnuker2
ICQ: 493-466-742 (Thiefnuker @ 25Mbit/s)
Steam: TAW_Thiefnuker
ich weiß ja nich, ob ihrs schon wusstet, aber ich habe neulich versucht, das Craftingsystem von Nehrim simpel zu erweitern. Dazu habe ich eine "Nähmaschine" angefertigt,
auf der ein script marke eigenbau liegt. Soweit so gut, nur doof, dass es nicht tut! Hier ist erstmal das Script:
Code Select all
scn 0001Nääähmaschine2
Begin OnActivate
short Kleidung
MessageBox "Wa witt du?", "Hufschmiedhose", "Hufschmiedschürze"
set Kleidung to GetButtonPressed
If Kleidung == 0
player.removeitem 0000088D 1 ; Stoff entfernen
player.additem 000229A7 1 ; Hufschmiedhose hinzufügen
elseif Kleidung == 1
player.removeitem 0000088D 1 ; Stoff entfernen
player.additem 000229A6 1 ; Hufschmiedschürze hinzufügen
endif
endWenn ich nun ingame die Nähmaschine aktiviere, kommt die MsgBox, wei geplant, aber dann kann ich klicken was ich will und es geschieht NICHTS!
Hoffe ihr könnt helfen,
Thiefnuker
PS: Sollte jemand sich gut mit bethesda scripts auskennen und bereit sein, mein "Lehrer" zu werden:
Skype: thiefnuker
XFire: thiefnuker2
ICQ: 493-466-742 (Thiefnuker @ 25Mbit/s)
Steam: TAW_Thiefnuker
Code Select all
scn 0001Nääähmaschine2
Begin OnActivate
short Kleidung
MessageBox "Wa witt du?", "Hufschmiedhose", "Hufschmiedschürze"
set Kleidung to GetButtonPressed
If Kleidung == 0
player.removeitem 0000088D 1 ; Stoff entfernen
player.additem 000229A7 1 ; Hufschmiedhose hinzufügen
elseif Kleidung == 1
player.removeitem 0000088D 1 ; Stoff entfernen
player.additem 000229A6 1 ; Hufschmiedschürze hinzufügen
endif
endDann: Statt den FormIDs würde ich stets die EditorID verwenden. Also statt "000229A7" lieber "LowerPants01".
Hier mein abgeänderter Script:
Code Select all
scn 0001Nääähmaschine2
Begin OnActivate
short Button
MessageBox "Was willst du?", "Hufschmiedhose", "Hufschmiedschürze"
set Button to GetButtonPressed
if Button == 0
player.removeitem Stoff02 1 ; Stoff entfernen
player.additem LowerPants01 1 ; Hufschmiedhose hinzufügen
elseif Button == 1
player.removeitem Stoff02 1 ; Stoff entfernen
player.additem LowerShirt01 1 ; Hufschmiedschürze hinzufügen
endif
endEdit: Funktioniert immernoch nicht
.
Aber danke für den tipp dass man auch EditorIDs verwenden kann
greetz,
Thiefnuker
Aber danke für den tipp dass man auch EditorIDs verwenden kann
greetz,
Thiefnuker
Keine Umlaute in Scripts. Probier mal das:
Code Select all
scn 0001Naeaeaehmaschine2
short Button
Begin OnActivate
if ( IsActionRef, player )
MessageBox "Was willst du?", "Hufschmiedhose", "Hufschmiedschürze", "Nix"
set Button to GetButtonPressed
if ( Button == 0 )
if ( Player.GetItemCount, "Stoff02" )
player.removeitem, "Stoff02" 1 ; Stoff entfernen
player.additem, "LowerPants01" 1 ; Hufschmiedhose hinzufügen
else
Message, "Kein geeigneter Stoff."
endif
elseif ( Button == 1 )
if ( Player.GetItemCount, "Stoff02" )
player.removeitem, "Stoff02" 1 ; Stoff entfernen
player.additem, "LowerShirt01" 1 ; Hufschmiedschürze hinzufügen
else
Message, "Kein geeigneter Stoff."
endif
elseif ( button == 2 )
return
endif
endif
endWar gerade selber am Scripten und habe bemerkt, dass da noch ein GameMode Block rein muss.
Code Select all
scn 0001Naeaeaehmaschine2
short Button
short Next
Begin OnActivate
if ( IsActionRef, player )
MessageBox "Was willst du?", "Hufschmiedhose", "Hufschmiedschürze", "Nix"
Set Next to 1
endif
end
Begin GameMode
if ( Next == 1 )
set Button to GetButtonPressed
if ( Button == 0 )
if ( Player.GetItemCount, "Stoff02" )
player.removeitem, "Stoff02" 1 ; Stoff entfernen
player.additem, "LowerPants01" 1 ; Hufschmiedhose hinzufügen
Set Next to -1
else
Message, "Kein geeigneter Stoff."
Set Next to -1
endif
elseif ( Button == 1 )
if ( Player.GetItemCount, "Stoff02" )
player.removeitem, "Stoff02" 1 ; Stoff entfernen
player.additem, "LowerShirt01" 1 ; Hufschmiedschürze hinzufügen
Set Next to -1
else
Message, "Kein geeigneter Stoff."
Set Next to -1
endif
elseif ( button == 2 )
Set Next to -1
return
endif
endif
end
Danke für die Entwürfe! Und ich (als script neuling) glaube zu verstehen, warum es nicht getan hat. Ich glaube, das mit dem "GameMode" Block war sehr wichtig, denn das andere läuft ja unter "OnActivate", also heißt das ja dass man dazu das objekt aktivieren muss, aber gilt das nicht nur für den start??? also wenns einmal aktiviert ist, dass es dann das ganze skript runterrattert? Das gedöns von wegen komfort und anschaulichkeit (wie z.b. die nichts option oder "Was willst du?") lassen wir alles erstmal weg 
jetzt gehts erstmal drum, dass ich kapier wie das so abläuft mit den scripts!
Nochmals danke für die nette unterstützung,
Thiefnuker aka Kajim
jetzt gehts erstmal drum, dass ich kapier wie das so abläuft mit den scripts!
Nochmals danke für die nette unterstützung,
Thiefnuker aka Kajim
Ja.
OnActivate läuft nach dem Aktivieren eines Objektes, aber nur so lange bis es unterbrochen wird.
Unterprochen wird es in dem Fall von MessageBox, mit der Frage, was gemacht werden soll.
Sobald die MessageBox erscheint schaltet das Script nämlich in den GameMode-Modus.
Also muss anschließend im GameMode weiter gescriptet werden.
OnActivate läuft nach dem Aktivieren eines Objektes, aber nur so lange bis es unterbrochen wird.
Unterprochen wird es in dem Fall von MessageBox, mit der Frage, was gemacht werden soll.
Sobald die MessageBox erscheint schaltet das Script nämlich in den GameMode-Modus.
Also muss anschließend im GameMode weiter gescriptet werden.
Wie kann man eigentlich am effektivsten scripten lernen??
Ich hab mir schon einige Tutorials durchgelesen, aber da sind die scripts immer auf einen modwunsch bezogen, z.B. auf ein "Wetteramulett".
Gibts irgendwo ne "Wörterliste" oder sowas?
MfG, J-man
Ich hab mir schon einige Tutorials durchgelesen, aber da sind die scripts immer auf einen modwunsch bezogen, z.B. auf ein "Wetteramulett".
Gibts irgendwo ne "Wörterliste" oder sowas?
MfG, J-man
@J-Man: Am "effektivsten" kann man nie genau sagen, da es auch auf dich selbst ankommt.
Ich hab es mir jedenfalls größtenteils selbst beigebracht, indem ich anfangs einfach vorhandene Scripte genommen habe und diese auf meine Wünsche passend abgeändert habe. So kann man sich leicht mit dem Ganzen vertraut machen und bekommst "problemlos" schon was ganz gutes hin. Und wenn du das oft genug gemacht hast, also immer wieder bestimmte Stellen abgeändert, kopiert, ersetzt, vielleicht auch mal ganz "abgetippt" kommt das mit der Zeit alleine.
Ich fand Tutorials beim Scripten noch nie hilfreich, da mich das einzige was ich je las(ein zum Fallout 3 G.E.C.K.) mich mehr verwirrt als aufgeklärt hat.
Allerdings gibt's 'ne nützliche Seite wo du einzelne Befehle nachlesen kannst, oft auch mit Beispielen wie sie eingesetzt werden. Hier dürftest du fündig werden.
Ich hab es mir jedenfalls größtenteils selbst beigebracht, indem ich anfangs einfach vorhandene Scripte genommen habe und diese auf meine Wünsche passend abgeändert habe. So kann man sich leicht mit dem Ganzen vertraut machen und bekommst "problemlos" schon was ganz gutes hin. Und wenn du das oft genug gemacht hast, also immer wieder bestimmte Stellen abgeändert, kopiert, ersetzt, vielleicht auch mal ganz "abgetippt" kommt das mit der Zeit alleine.
Ich fand Tutorials beim Scripten noch nie hilfreich, da mich das einzige was ich je las(ein zum Fallout 3 G.E.C.K.) mich mehr verwirrt als aufgeklärt hat.
Allerdings gibt's 'ne nützliche Seite wo du einzelne Befehle nachlesen kannst, oft auch mit Beispielen wie sie eingesetzt werden. Hier dürftest du fündig werden.
J-man: Wenn Dir die Methode von Ayonbird gefällt hier noch ein Link zu 'nem deutschsprachigen Script - Wiki. Ist zwar auch auf Beispiele und nicht auf einzelne Befehle bezogen, kann aber zum Verständnis echt weiterhelfen. Die Gliederung in Kategorien ist sehr viel übersichtlicher als nur "aneinandergereihte" Beispiel-Scripts in anderen Wikis.
http://www.egg-of-time.us/wiki/index.ph ... ScriptWiki
http://www.egg-of-time.us/wiki/index.ph ... ScriptWiki






