Difference between revisions of "Talk:Bethesda Tutorial Basic Quest Scripting"

From the CreationKit Wiki
Jump to navigation Jump to search
imported>Themaineman
imported>Fg109
Line 89: Line 89:


This is just a cut and paste from the tutorial, and when trying to save, the error above shows.
This is just a cut and paste from the tutorial, and when trying to save, the error above shows.
:Change the script to "extends Actor" instead. --[[User:Fg109|Fg109]] 01:29, 31 May 2012 (EDT)


===Possible solution to your problems===
===Possible solution to your problems===


I've noticed that some of you are just copying and pasting the final script portion for the amulet. This won't compile on it's own, because you need to add a property line specifying what quest is being advanced by retrieving the amulet. To do this, simply add: "Quest Property MDQ01 auto" (without quotes) Hope this helps! --[[User:Themaineman|Themaineman]] 16:02, 28 May 2012 (EDT)
I've noticed that some of you are just copying and pasting the final script portion for the amulet. This won't compile on it's own, because you need to add a property line specifying what quest is being advanced by retrieving the amulet. To do this, simply add: "Quest Property MDQ01 auto" (without quotes) Hope this helps! --[[User:Themaineman|Themaineman]] 16:02, 28 May 2012 (EDT)

Revision as of 00:29, 31 May 2012

Help

Starting 1 compile threads for 1 files... Compiling "GDQRobesScript"... c:\program files (x86)\steam\steamapps\common\skyrim\Data\Scripts\Source\GDQ01.psc(7,13): script property GDQ01 already defined c:\program files (x86)\steam\steamapps\common\skyrim\Data\Scripts\Source\GDQ01.psc(7,13): script variable ::GDQ01_var already defined c:\program files (x86)\steam\steamapps\common\skyrim\Data\Scripts\Source\GDQ01.psc(7,13): script property GDQ01 already has a get function defined c:\program files (x86)\steam\steamapps\common\skyrim\Data\Scripts\Source\GDQ01.psc(7,13): script property GDQ01 already has a set function defined c:\program files (x86)\steam\steamapps\common\skyrim\Data\Scripts\Source\GDQRobesScript.psc(3,13): cannot name a variable or property the same as a known type or script No output generated for GDQRobesScript, compilation failed.

Batch compile of 1 files finished. 0 succeeded, 1 failed. Failed on GDQRobesScript

What?!



Errors during compiling with the given script for amulet. The actual code is copy paste from what's given in the bottom section. Starting 1 compile threads for 1 files...

Compiling "GSQAmuletScript"...

c:\program files (x86)\steam\steamapps\common\skyrim\Data\Scripts\Source\temp\GSQAmuletScript.psc(6,9): SetStage is not a function or does not exist

c:\program files (x86)\steam\steamapps\common\skyrim\Data\Scripts\Source\temp\GSQAmuletScript.psc(6,9): cannot call the member function SetStage alone or on a type, must call it on a variable

No output generated for GSQAmuletScript, compilation failed.

Batch compile of 1 files finished. 0 succeeded, 1 failed.

Failed on GSQAmuletScript —The preceding unsigned comment was added by 22:55, 22 February 2012 (talkcontribs) Kroama

That sounds like you've specified the wrong type for your GSQ01 property. You expect a section of a script to compile on its own. Did you follow all the steps in this tutorial?
-- Cipscis 23:01, 22 February 2012 (EST)

There were no errors in anything up until this point, other scripts compiled properly as well. The quest in game works as it should, minus the fact that getting the amulet does not progress the quest further. I'll post the code i have in the script. (sorry, i've never tried using wiki talk before, so I'm not sure how to properly orient myself here or make the posts look neat)

Scriptname GSQAmuletScript extends ObjectReference

Quest Property GSQAmu Auto

Event OnContainerChanged(ObjectReference newContainer, ObjectReference oldContainer)

if (newContainer == Game.GetPlayer())

GSQ01.SetStage(30)

endif

EndEvent


I'm having the exact same issue. I did notice that while the text looks fine on the wiki, when I past it "GSQ01.SetObjectivedisplayed(30)" is out of alignment with the if statement, approximately 2.5 spaces too far right. I can realign it by backspacing 3 times and pressing tab, but I get the same compiling error after doing so. What's going on here!? --Ulithium Dragon 17:20, 11 April 2012 (EDT)
UPDATE: I'm actually getting failure to compile messages for every script I try on the GSQAmulet I created! It fails to compile the auto-generated code that gets attached to every property! (This didn't happen before I tried to paste and save the pre-made code off this wiki tutorial) --Ulithium Dragon 17:36, 11 April 2012 (EDT)

Also having same problem with script compiling when following tutorial to the letter

I've actually gone through the tutorials step by step twice to see if I could eliminate whatever mistake I made here, but no luck. When trying to set up the script for Bendu Olo's death, to fail the quest, I get the errors which read:


Starting 1 compile threads for 1 files... Compiling "GSQBenduOloScript"... c:\games\steamapps\common\skyrim\Data\Scripts\Source\temp\GSQBenduOloScript.psc(3,15): cannot name a variable or property the same as a known type or script c:\games\steamapps\common\skyrim\Data\Scripts\Source\temp\GSQBenduOloScript.psc(6,12): IsCompleted is not a function or does not exist c:\games\steamapps\common\skyrim\Data\Scripts\Source\temp\GSQBenduOloScript.psc(6,12): cannot call the member function IsCompleted alone or on a type, must call it on a variable c:\games\steamapps\common\skyrim\Data\Scripts\Source\temp\GSQBenduOloScript.psc(7,8): SetStage is not a function or does not exist c:\games\steamapps\common\skyrim\Data\Scripts\Source\temp\GSQBenduOloScript.psc(7,8): cannot call the member function SetStage alone or on a type, must call it on a variable No output generated for GSQBenduOloScript, compilation failed.

Batch compile of 1 files finished. 0 succeeded, 1 failed. Failed on GSQBenduOloScript


the script I am using:


Scriptname GSQBenduOloScript extends ObjectReference

Quest Property GSQ01 auto

Event OnDeath(Actor akKiller) if (!GSQ01.IsCompleted()) GSQ01.SetStage(200) endif EndEvent


This is just a cut and paste from the tutorial, and when trying to save, the error above shows.

Change the script to "extends Actor" instead. --Fg109 01:29, 31 May 2012 (EDT)

Possible solution to your problems

I've noticed that some of you are just copying and pasting the final script portion for the amulet. This won't compile on it's own, because you need to add a property line specifying what quest is being advanced by retrieving the amulet. To do this, simply add: "Quest Property MDQ01 auto" (without quotes) Hope this helps! --Themaineman 16:02, 28 May 2012 (EDT)