Ein Item kann sich mit dem Befehl RemoveMe selbst entfernen.
Und zu Deinem Problem: Einhandschwerter können nicht einfach als Zweihänder umgestellt werden, indem man im Attributes-Window von BladeOneHand zu BladeTwoHand wechselt. Dazu gehören außerdem Änderungen im NIF. Sonst wird das Schwert nicht angezeigt, wenn Du es ziehst.
Ein Item kann sich mit dem Befehl RemoveMe selbst entfernen.
Und zu Deinem Problem: Einhandschwerter können nicht einfach als Zweihänder umgestellt werden, indem man im Attributes-Window von BladeOneHand zu BladeTwoHand wechselt. Dazu gehören außerdem Änderungen im NIF. Sonst wird das Schwert nicht angezeigt, wenn Du es ziehst.
...
Das mit Removeme war mir aus dem WoP-Thread bekannt aber da hies es , dass bei dem Befehl keine darauffolgenden Scriptbefehle mehr ausgeführt werden und das ist ja dann auch nicht der Sinn der Sache.
Und es gibt zwei völlig unterschiedliche Schwerter für Einhand und Zweihand , ich hab nicht einfach den Weapontype geändert^^
Nur bringt das gar nichts, da das ganze nicht funktioniert, habe es damals selbst ausprobiert als ich mein Bastardschwert-Script gebastelt habe. Die beste(und afaik einzige funktionierende Lösung) ist, das ganze über einen GameMode-Activator zu regeln.
...wie wärs wenn wir die Aktivitäten auf einen Thread beschränken?
Also ich habe mir mal auf Lazarus' Rat hin sein Ivellon-Activatorscript angesehen und entsprechend angepasst :
Zitat
scn ZZZactivatorscript
short akakataEquipped
short item
short akakata
begin MenuMode
if akakataEquipped == 1
messagebox "Möchtet Ihr dieses Schwert ein- oder zweihändig führen?" "Einhändig " "Zweihändig"
set item to 1
if player.getitemcount zzzakakata >= 1
player.removeitem zzzakakata 1
else
player. removeitem zzzakakatana2 1
endif
endif
if item == 1
set akakata to getbuttonpressed
set akakataEquipped to 0
if akakata == 0
if player.GetActorValue Strength >= 50
player.additem zzzakakata 1
player.equipitem zzzakakata
set item to 0
else
player.additem zzzakakatana2 1
player.equipitem zzzakakatana2
set item to 0
messagebox "Ihr seid nicht stark genug, um dieses Schwert einhändig führen zu können."
endif
elseif akakata == 1
player.additem zzzakakatana2 1
player.equipitem zzzakakatana2
set item to 0
endif
endif
end
...
Aktivator erstellt und mit dem Script belegt. Dann das Schwert-Script erstellt :
Zitat
scn ZZZschwertscript
begin OnEquip Player
ZZZactivatorRef.moveto player, 0, 0, 0
set ZZZactivatorRef.zzzakakataEquipped to 1
end
...
aber das lässt er mich nicht speichern , er sagt dass ZZZactivatorRef nicht geht. Weiss jemand warum? oO
Du musst eine neue Zelle erstellen, deinen Activator da reinsetzen, bei dessen Eigenschaften 'Persistent Reference' anhäkeln und eine ID angeben. Dann kannst du den Befehl
im Schwert-Script verwenden.
Und gib deinen Scripten gescheite Namen. Oder hast du nur je einen Script für ein Schwert und einen Activator.
Juhu , endlich geht es.Danke an alle , die mir geholfen haben
Nur noch eine Frage : Wie krieg ich den Activator unsichtbar , wenn ich keine Textur angebe ist er ein riesiges gelbes Fragezeichen oO
Ich nutze den Titel dieses Threads nochmal für ein anderes Script^^
Weiss jemand, warum das CS dieses Script nicht akzeptiert? Es heisst wieder , da würde ein begin/end block nicht stimmen aber für mich sieht es OK aus
Und mit welchem Befehl erhöhe ich die Infamy des Spielers um 1?^^
Zitat
scn ZZZsegendesblutesscript
begin scripteffectstart
if ( player.getitemcount ZZZfreshblood >= 10 )
player.removeitem zzzfreshblood 10
messagebox "Ihr opfert dem Vampirgott das gesammelte Blut und verdient euch seinen Segen"
player.cast ZZZvampiregodsegen player
(infamy +1)
else
messagebox "Ihr braucht mindestens 10 Flaschen Blut um sie zu opfern."
Da fehlt ein endif. Wie ich schon sagte, muss jedes if mit einem endif wieder 'geschlossen' werden.
Und wie Du die Infamie ändern kannst, steht im WIKI. Du musst nur mal Infamy ins Suchfenster eingeben. Nochmal, wenn Du einen Befehl suchst, konsultiere zuerst das WIKI.