PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : skript frage



Graf Zaroff
06.08.2006, 19:15
hi,
wollte mir über ein skript selbsterstellte gegenstände direkt in mein inventar einfügen. nun habe ich davon leider noch keine ahnung^^. das ist mein versuch(klappt nicht):


scn einfügen

begin OnLoad
player.additem 0100348F 20
player.additem 01003986 20
player.additem 01003492 20
player.additem 01003490 20
player.additem 010011F6 1
player.additem 010011F8 1
player.additem 01001BF0 1
player.additem 01001BF3 1
player.additem 01002F9C 1
player.additem 01001bf5 1
end


ich hatte mir das so gedacht: ich aktiviere da pi, lade einen spielstand und meine sachen sind da.
habt ihr einen vorschlag wie es geht??

Lexius
06.08.2006, 20:56
ich würde eine variable einbauen
und begin GameMode nehmen. sieht dann so aus:



scn einfügen

short variable1

begin GameMode

if variable1 == 0
player.additem 0100348F 20
player.additem 01003986 20
player.additem 01003492 20
player.additem 01003490 20
player.additem 010011F6 1
player.additem 010011F8 1
player.additem 01001BF0 1
player.additem 01001BF3 1
player.additem 01002F9C 1
player.additem 01001bf5 1
set variable1 to 1
endif

end
so müsste es gehen.

Gorkon
06.08.2006, 22:57
Sind gleich mehrere Fehler drin. ;)

1. Es reicht nicht, das Skript zu schreiben, es muß auch laufen. Das tut es nicht von alleine - entweder liegt es auf einem Item, ist Teil einer Quest, oder ein Zauberspruch. Am einfachsten klappt es zum Testen mit einem extra dafür erstellten Gegenstand. Erzeuge dazu ein neues Item: Dazu die ID eines vorhandenen Gegenstands ändern und beim Speichern die Frage "Create new Form?" mit "Yes" beantworten. Für Skripte eignen sich z.B. Behälter wie Kisten. Plazier eine dieser neue Kisten irgendwo, wo du leicht hinkommst, leg das Skript drauf, fertig. (Wenn du vorhandene Items nimmst, läuft das Skript an allen möglichen Stellen in der Spielwelt, weil es von den meisten Standard-Gegenständen mehrere im Spiel gibt.)

2. Vergißt die Form-ID bei PI-Skripten - die sind nur für Konsoleneingabe im Spiel gut. Bei Skripten muß es die Editor-ID sein.

OnLoad klappt nur, wenn du den Raum betrittst, in dem das Skript läuft. Wenn du schon drin bist klappt es nicht (genauso, wenn du nur kurz raus und wieder rein gehst). GameMode läuft sofort an, braucht aber unbedingt eine Extra-Variable (siehe Lexius' Beispiel), die speichert, ob du die Gegenstände schon bekommen hast. Ein Gamemode-Skript wird nämlich pro Frame ausgeführt - ohne Variable bekommst du ~50 Items pro Sekunde. :p (OnLoad wird übrigens jedesmal ausgelöst, wenn du den Raum nach längerer Abwesenheit betrittst. Da schadet so eine Variable auch nicht.)

Trr Kah
06.08.2006, 23:32
Gehört in die Schmiede. ;)