Archiv verlassen und diese Seite im Standarddesign anzeigen : Schwert zum leuchten bringen
Dragonfire_Michael
19.07.2006, 20:48
Hi!
Ich bräuchte mal eure hilfe, ich würde ein Schwert gern so versehen, dass es leuchtet wenn Gegner in der nähe sind. Ich habe mir überlegt, dass ich es so mache: mit getDistance und dann irgendwie dass ein Zauber, welcher eigentlich nichts machen soll, an mein Schwert gemacht wird damit es leuchtet. Aber genau dass bekomm ich nicht hin. Könnt ihr mir helfen oder habt ihr eine bessere Idee? Anbei gibt es eine Seite oder so wo fast sämtliche scriptbefehle fürs tes cs stehen?
thxhttp://www.multimediaxis.de/images/smilies/old/sm_12.gif
Dragonfire_Michael
19.07.2006, 21:20
ich frage mich grad ob dieses Thema nicht eher in die Plugin Schmiede gehört, naja wenn dem so ist an die Mods: Verschiebt das Thema bitte. thx
Edit Trr Kah: mach ich doch glatt ;)
Dragonfire_Michael
20.07.2006, 11:50
Habe das script mal geschrieben, wie ich es mir vorstelle:
scn assassisword
short zauber
begin OnEquip
if ( getDistance player < 160 )
set addspell to Stich.addspell MS40RestoreFatigue
set zauber to 1
endif
if ( getDistance player > 160 )
set removespell to Stich.removespell MS40RestoreFatigue
set zauber to 0
endif
end
begin OnUnequip
if zauber == 1
set removespell to Stich.removespell MS40RestoreFatigue
endif
end
Dann war ich im Spiel ums zu testen, habs dem NPC gegeben, der es anscheinend auch ausgerüstet hatte. Habe ihn umgelegt und das Schwert an mich genommen. Nun als ich es ausrüsten wollte kam folgender Fehler, wie auf dem Bild zusehen: Buffer overrun...
Habt ihr eine Idee woran es liegt, ist das Scipt schuld? Wenn ja, habt ihr ne Idee wie ich es ändern muss?
thx
Ich bin nicht sonderlich bewandert, was das CS angeht, daher ist das Folgende mit Vorsicht zu genießen.
Für mich sieht's so aus, daß Du 'addspell' und 'removespell' einerseits als Variable, andererseits als Methode bzw. Funktion verwendest.
Als Folge ist denkbar, daß der Interpreter in eine Endlosschleife oder -Rekursion geht und damit den Buffer-Overrun verursacht.
Dragonfire_Michael
20.07.2006, 12:57
Mir fällt bloß nicht ein, wie ich den Zauber ansonsten an die Waffe "heften" sollte. Ne Idee?
Bin ich leider überfragt. Aber generell scheint mir addspell/removespell auf Items unsinnig zu sein, eine Waffe hat keine Spell-Liste.
set addspell to Stich.addspell MS40RestoreFatigue
was heißt den set addspell to Stich?
ist addspell bei dir ne variable? und was meinst du mit Stich?
also ich kenn nur player.addspell (der spieler bekommt dann einen Zauber)
Mir fällt bloß nicht ein, wie ich den Zauber ansonsten an die Waffe "heften" sollte.
falls das überhaupt geht, und falls mit Stich die Waffe gemeint ist,
dann würde ich das einfach so machen:
if ( getDistance player < 160 )
Stich.addspell MS40RestoreFatigue
set zauber to 1
endif
aber ich glaube nicht, dass das geht, soweit ich weiß kann man addspell nur bei einem Actor benutzen also PC oder NPC.
Dragonfire_Michael
20.07.2006, 13:30
also Stich ist die Waffe.
Stich.addspell MS40RestoreFatigue -> invalid reference...
Naja, es gibt ja auch Waffen mit z.B. Schockschaden.
Und ich wollte eben, dass wenn Gegner in der nähe sind, dei Waffe mit nem Magieeffekt versehen wird. Und wenn keine Gegner in der nähe sind soll es wieder rückgängig gemacht werden. Ich dachte es würde gehen, da es ja auch Waffen mit Schockschaden gibt...
Bei Waffen geht das über Enchanting, kann sein daß per Script möglich ist Verzauberungen hinzuzufügen und wieder zu entfernen. Alternative könnte sein, die Waffe per script komplett auszutauschen.
Dragonfire_Michael
20.07.2006, 14:08
Das Austauschen sollte kein Problem sein. Aber dann müsste der char ja dann jedes mal die Waffe neu ziehen. Und bei Enchanting...mhhh... aber dann leuchtet die Waffe doch schon vorher....aber wenn man die Waffe austauschen würde, was mir nicht so gefällt, könnte man die Animation des Waffe ziehens wegmachen...Prinzipiell müsste meine vorige Idee aber gehen...wenn man den Buffer overrun wegbekommen würde...
Den Buffer-Overrun kriegst Du nicht weg, es wie Lexius bereits sagte: addspell/removespell braucht eine Actor-Reference, Waffen sind aber spezielle Items.
Vielleich hilft dir das CS Wiki (http://cs.elderscrolls.com/constwiki/index.php/Main_Page) weiter.
Dragonfire_Michael
20.07.2006, 14:56
ich hab ne neue idee, kennt jemand das PI wo das leuchten einer magischen Waffe ausgeschaltet wird? Wie macht man das? Wo gibts das PI eigentlich?
Ergänzung: Wisst ihr wie man die Eigenschaft "Enchantment" der Waffe per script an und aus machen kann?
Acaltair
20.07.2006, 17:50
ich hab ne neue idee, kennt jemand das PI wo das leuchten einer magischen Waffe ausgeschaltet wird? Wie macht man das? Wo gibts das PI eigentlich?
http://scharesoft.de/joomla/index.php?option=com_remository&Itemid=27&func=fileinfo&id=168
Escalbryt
20.07.2006, 22:51
die sache mit dem noglow wird dir nicht direkt weiterhelfen, da lediglich allen verzauberungen der grafische effekt genommen wird...
da es sich bei dem Schwert anscheinend um Stich handelt(obwohl ich Glamdring und Orkrist bevorzugen würde) würde ich auch nicht über die normalen verzauberungen rangehen...
Zwei Schüsse ins blaue:
1. wenn du eine Leuchtquelle in Form der Klinge mit dem Blauen Leuchten an der Klinge befestigen könntest, könntest du mit enable und disable das Leuchten an und ausschalten...
2. andere(wenn auch eher unwahrscheinliche) möglichkeit: 2 Stich modelle mit unterschiedlichen texturen machen und dann per befehl die .nif datei des Schwerts switchen
ich würde es mal mit der ersten sache versuchen... hab aber diesbezuglich kaum ahnung daher rat bei profis einholen...
MfG Fetter Hobbit
Dragonfire_Michael
21.07.2006, 12:41
zu 1. klingt gut aber wie?
zu 2.die Variante die ich eher vermeiden wollte
Escalbryt
21.07.2006, 22:21
Wenn ich wüsste wie das geht hätte ich es dir ausführlicher hingeschrieben... Du könntest dich allerdings mal im Wiki umschauen oder so
MfG Fetter Hobbit
Dragonfire_Michael
21.07.2006, 23:09
schade...also im Wiki stand das nicht drin (es sei denn ich habs überlesen:eek: ). Es gibt doch nen Plugin welches die Farben des lleuchtens ändert. Würde das mir helfen?
Escalbryt
21.07.2006, 23:13
nein, da es sich wie noglow auf die effect shader bezieht
MfG Fetter Hobbit
Dragonfire_Michael
21.07.2006, 23:47
kann man die nicht per script ansprechen?
Escalbryt
21.07.2006, 23:50
afaik nicht
Thunderbird
22.07.2006, 16:18
alternativ kannste noch player.magicshadervisuals nehmen... das Problem is nur, das nicht nur die waffe, sondern gleich ALLES leuchtet
hier is n TUT von mir dazu : HIER! (http://tes-oblivion.de/forum/thread-11109.html)
_Damian_
22.07.2006, 23:00
wie währs wenn du das schleichsymbol anschaust, das ist ja sowas ähnliches! wenn dich ein gegner sieht dann "leuchtet" es, vllt kann man sich da was abguggen!
Das Problem ist den Unterschied zwischen Feinden und NPCs....du kannst natürlich jeden
feindlichen NPC in deinem Script eine Variable zuweisen....dann kann dein STICH anfangen zu leuchten wenn es den NPC "Wahrnimmt" oder diesen den Spieler...schnuppe... dass ist nur viel Schreibarbeit....
Wenn Stich jedoch nur leuchten soll, wenn der Spieler Angegriffen wird.....dann hab ich das mal so runtergeschrieben....:
----------------------------------------------------------------------------
begin onEquip Player; erst laufen wenn Spieler dich ausrüstet...
if stichRef.HasMagicEffect (hier MagicEffect zum Zauber) == 1 && Player.GetAttacked == 0
stichRef.removeSpell (Zauber deiner Wahl) ;wir wollen ja nur leuchten wenn angegriffen)
endif
if stichRef.HasMagicEffect (hier MagicEffect zum Zauber) == 1 && Player.GetAttacked == 1
return ; (also wenns Leuchtet is' alles toll darum stopp hier)
endif
if Player.GetEquipped Stich && player.GetAttacked == 1
stichRef.AddSpell (Zauber deiner Wahl)
endif
end
--------------------------------------------------------------------------------
Kann sein das OnEquipp nicht der korrekte Starter ist....du kannst auch die Blocks verbinden... mit elseif's. Auf jeden FAll würde ich es so versuchen...weiß nich ob es funzt....wichtig ist den Effect zum Zauber RICHTIG einzusetzen....
Sach mal wie es lief...
Gruß
Ryan
P.S. Stich erstellen in das RenderView ziehen (irgendwo) anklicken und oben in das Blanko-Feld StichRef reinschreiben!!! Dann erst Script dem Schwert zuweisen....ansonsten mault er, dass er StichRef nicht finden kann...
Dragonfire_Michael
23.07.2006, 09:30
super, danke, werd ich versuchen :D
ich schreib dann so am Mittwoch oder Donnerstag obs geht, da ich jetzt erstmal nach Holland fahre8)
Powered by vBulletin® Version 4.2.3 Copyright ©2025 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.