PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : was ist an dem script verkehrt?



thefuture2
11.05.2006, 14:16
Scriptname SpellEdgarVautrineAdd

Begin OnLoad

EdgarVautrineRef.AddSpell StandardCurePoisonApprentice
;Message "Edgar Vautrine received spell"

End

Leider erscheint der spell bei edgar dennoch nicht. :( ja die editor id ist korrekt. was mache ich falsch? kann es daran liegen das ich es per copy und paste kopiert habe?

The Flo
11.05.2006, 14:48
hmmm. ich hab in meinem rumpelkammer-plugin den zauber auch mit einem script zu edgars spelllist geadded
bei mir sah das so aus:
scn FloArmoryAddSpellScript

short doonce

begin gamemode
if ( doonce == 0 )
EdgarVautrineRef.addspell floArmorySpell
set doonce to 1
endif
endhier sieht man mal wieder, dass ich ein morrowind-scripter bin/war:rolleyes:

aber mit "begin onload" müssts schon auch funzen
hier mal wikis beschreibung zu onload:

This block will be run once whenever the scripted object's 3D loads, i.e. whenever the player enters the cell (interior) or the object's cell is loaded in the 5x5 grid of exterior cells around the player.
NOTE: This will not run if you are entering a cell in which you have just left.
heist das jetzt, dieser block wird wirklich nur das erste mal ausgeführt oder immer wieder wenn der spieler die zelle betritt?

na ja, jedenfalls ... k.a.:\

probiers vielleicht mal mit meiner version

Exterminas
11.05.2006, 14:48
warum scriptest du das? ich meine wenn das ein npc ist, dann zieh es einfach in seine zauberliste?:rolleyes:


aber wenn du das scripten willst: die frage ist, wann soll er den script hinzugefügt bekommen? da steht nur er soll ihn bekommen, aber wann nicht, also würde ich da eine bedingung hinzugügen... oder verstehe ich da was falsch?

edit: mist zu spät, auf jeden fall hats flo schon auf den punkt gebracht..

The Flo
11.05.2006, 14:52
oder verstehe ich da was falsch?offensichtlich:rolleyes:
den zauber ganz normal hinzufügen ist nämlich so ne sache... hat jetzt jemand z.b. mein und sein plugin aktiviert, werden die änderungen am npc nur von seinem PI wirksam, weil dieses doch neuer ist.

da steht nur er soll ihn bekommen, aber wann nichtBEGIN ONLOAD

thefuture2
11.05.2006, 15:35
genau ich scripte das wegen kompatibilität. ;)

also er soll den zauber immer und sofort anbieten, da soll nix freigeschaltet werden oder so. ;) habe nämlich vor ne zauberserie zu erstellen mit vielen neune spells, nur die bringt mir nix, wenn sie dann keiner verkauft. ;)

Gorkon
11.05.2006, 17:10
Sieht an sich gut aus. OnLoad wird jedesmal ausgeführt, wenn man die Zelle betritt. Allerdings nicht, wenn man ein Savegame lädt, wo man gerade drinsteht, oder die Zelle gerade verlassen hat. Du mußt also z.B. kurz in einen anderen Laden rein und dann zurück zu Onkel Edgar.

Spells kann man nicht doppelt haben, deshalb ist es egal, wenn das Spruch-hinzufügen immer wieder ausgeführt wird.

btw du hast das Skipt auch an einen Gegenstand gebunden, der sich im Laden befindet? Frei schwebend wird das Skript gar nichts tun.

thefuture2
11.05.2006, 18:59
Sieht an sich gut aus. OnLoad wird jedesmal ausgeführt, wenn man die Zelle betritt. Allerdings nicht, wenn man ein Savegame lädt, wo man gerade drinsteht, oder die Zelle gerade verlassen hat. Du mußt also z.B. kurz in einen anderen Laden rein und dann zurück zu Onkel Edgar.

Spells kann man nicht doppelt haben, deshalb ist es egal, wenn das Spruch-hinzufügen immer wieder ausgeführt wird.

btw du hast das Skipt auch an einen Gegenstand gebunden, der sich im Laden befindet? Frei schwebend wird das Skript gar nichts tun.

wie an einen gegenstand im laden binden? ne habe ich nicht. wie mache ich das? ist es egal was für ein gegenstand? muss ich mir das ähnlich vorstellen wie ne truhe wo ich die hänldergegenstände rein legE?

danke habe es jetzt dank eurer hinweise hinbekommen. :) dank euch entsteht jetzt mein spellmod. ;)

Gorkon
11.05.2006, 22:11
Joar...kein Ding. Hast hoffentlich einen neuen Gegenstand dafür kreiert? SOnst löppt das Skript in jeder Zelle, in der so ein Teil steht.

thefuture2
11.05.2006, 22:25
Joar...kein Ding. Hast hoffentlich einen neuen Gegenstand dafür kreiert? SOnst löppt das Skript in jeder Zelle, in der so ein Teil steht.

naja ich habe edgars chest genommen, wo die items drin sind, die er verkauft. ;)

Gorkon
12.05.2006, 00:19
Suboptimal...falls jemand anderes in seinem PI auf die Idee kommt, an der Kiste zu drehen, isses wieder für die Katz - genau das willst du ja mit der AddSpell-Methode vermeiden. Besser: Kopier einen Gegenstand, den man in die Welt plazieren kann und der sich nicht für Schwerkraft interessiert, z.B. eine leere Kiste. Kopieren kriegst du hin, indem du eine Sache änderst und bei der Nachfrage "Neues Form anlegen?" mit ja antwortest - dadurch erschaffst du ein unabhängiges Item. Das wird dann irgendwo plaziert, wo es nie einer zu sehen kriegt, wie innerhalb der Theke oder hinter der Wand. Damit hast du einen Träger für das Skript, den dir niemand niemals nie streitig machen wird.

thefuture2
12.05.2006, 13:36
muss ich diese auch wieder edgar zuweisen? muss ich eine editor reference id angeben? (weis net wofür die manche kisten haben und manch nicht)