Anmelden

Archiv verlassen und diese Seite im Standarddesign anzeigen : Skriptfrage



kenet_korva
27.06.2006, 09:49
:confused: :confused: :confused: :confused: :confused: :confused: :confused: :confused: Hallo zusammen bin gerade an einem kleineren Schmiedemod und habe ein script zum Verkaufen der Ware geschreiben: Jetzt kommt immer eine Fehlermeldung das ich eine reference Varable einsetzten muss. Hab mir das auch schon im TES Wiki durchgelesen bin aber nicht ganz schlau daraus geworden. Könntet ihr mir bitte helfen.http://www.multimediaxis.de/images/smilies/old/sm_12.gif

scriptname LandgutSellSilverWeapons1

begin OnActivate

If IsActionRef player
if LAMallHallWeapSilver1.GetItemCount WeapSilverDagger >= 5
LAMallHallWeapSilver1.RemoveItem WeapSilverDagger 5
PCBankchest1.AddItem Gold001 500

elseif LAMallHallWeapSilver1.GetItemCount WeapSilverDagger >= 10
LAMallHallWeapSilver1.RemoveItem WeapSilverDagger 10
PCBankchest1.AddItem Gold001 1000

elseif LAMallHallWeapSilver1.GetItemCount WeapSilverLongsword >= 5
LAMallHallWeapSilver1.RemoveItem WeapSilverLongsword 5
PCBankchest1.AddItem Gold001 2500

elseif LAMallHallWeapSilver1.GetItemCount WeapSilverLongsword>= 10
LAMallHallWeapSilver1.RemoveItem WeapSilverLongsword 10
PCBankchest1.AddItem Gold001 5000

elseif LAMallHallWeapSilver1.GetItemCount WeapSilverClaymore >= 5
LAMallHallWeapSilver1.RemoveItem WeapSilverClaymore 5
PCBankchest1.AddItem Gold001 5000

elseif LAMallHallWeapSilver1.GetItemCount WeapSilverClaymore >= 10
LAMallWeapSilver1.RemoveItem WeapSilverClaymore 10
PCBankchest1.AddItem Gold001 10000

endif
endif
end

don_wasweisich
27.06.2006, 10:50
Hallöle. du benutzt die editorID, zum beispiel WeapSilverClaymore.
du musst die referenceID auswählen, das ist die 8(ß)-stellige zahl, die im cs neben der editor-ID steht. du musst das feld dafür erst auseinanderziehen, standartmäßig sieht man es nicht

don

kenet_korva
27.06.2006, 10:57
Dieses Command kennt das cs aber nicht und du meinst diese Zahl 01006DF7 ?

don_wasweisich
27.06.2006, 12:33
zum beispiel, ja. du musst deine editor-ID´s durch die reference-ID´s ersetzen. wenn das nicht geht, weis ich auch nicht

Gorkon
27.06.2006, 12:58
Hallöle. du benutzt die editorID, zum beispiel WeapSilverClaymore.
du musst die referenceID auswählen, das ist die 8(ß)-stellige zahl, die im cs neben der editor-ID steht. du musst das feld dafür erst auseinanderziehen, standartmäßig sieht man es nicht
Tschuldigung, aber das ist afaik falsch. In Skripten wird immer die Editor ID benutzt. Die FormID braucht man nur, um im Spiel direkt per Konsole was zu machen. Zumindest gilt das, wenn man sichGgegenstände hinzufügt undsoweiter.

Zum Problem: Was ist LAMallHallWeapSilver1? Du versuchst das Teil als Referenz zu benutzen, aber offensichtlich klappt das nicht. Und liegt das Skript dort drauf, oder wie?

kenet_korva
27.06.2006, 17:49
LAMAllHallWeapSilver ist ein Container. Das Script liegt auf einem Activator der eben das alles machen soll. (Die eins dran ist von der Editor ID die ich ausprobiert hab.

Gorkon
27.06.2006, 18:27
Ok. In dem Fall mußt du dem Container eine eigene Referenz geben. Denn wenn du die Editor ID des Containers nimmst, weiß das Spiel nicht, welcher von denen gemeint ist. (Es wird immer angenommen, daß mehrere dieser Sorte plaziert wurden.)

Referent zuweisen:
1) Zelle laden
2) Zum Container hinbewegen
3) Container doppelklicken
4) Ins oberste Feld "Reference Editor ID" was nettes reinschreiben.

Als Referenz-Name wird üblicherweise Editor-ID + "Ref" genommen, bei dir also "LAMAllHallWeapSilverRef". Du kannst die Kiste aber auch "MeineKleineKnuddelKiste" nennen, hauptsache, es heißt nichts anderes genau gleich. Diesen eindeutigen Namen mußt du dann im Skript nehmen, dann weiß das Spiel, daß genau diese LAMAllHallWeapSilver-Kiste gemeint ist.

kenet_korva
29.06.2006, 15:26
Danke schön:)