[Rel] Construction Set Extender

Post » Wed Jan 05, 2011 7:50 pm

CSE did you a favor by crashing, your ESP should still be in one piece.

:rofl:
User avatar
Naomi Lastname
 
Posts: 3390
Joined: Mon Sep 25, 2006 9:21 am

Post » Wed Jan 05, 2011 4:38 am

Half-bug reports:
Clicking on "Get Variable Index" will bring up the error list, if there are errors.

Bad references still have the odd vanilla CS error tag, at the right line. While your better description comes at the end. Script is
Spoiler
scn cobGrindListCoblItemsOS

begin onAdd
cobGrindListCont.AddItem cobGrindListCoblItems 1

;--Gems------------------------------------------------
;--Gold
set cobGrindFAR.rOldItem to Gem0GoldNugget
set cobGrindFAR.rNewItem to cobGeoGoldDust
cobGrindFAR.Activate cobGenActRef, 1

;--Silver
set cobGrindFAR.rOldItem to Gem0SilverNugget
set cobGrindFAR.rNewItem to cobGeoSilverDust
cobGrindFAR.Activate cobGenActRef, 1

;--Pearl
set cobGrindFAR.rOldItem to Gem1Pearl
set cobGrindFAR.rNewItem to cobGeoPearlDust
cobGrindFAR.Activate cobGenActRef, 1
set cobGrindFAR.rOldItem to Gem1PearlFlawed
set cobGrindFAR.rNewItem to cobGeoPearlDust
cobGrindFAR.Activate cobGenActRef, 1
set cobGrindFAR.rOldItem to Gem1PearlFlawless
set cobGrindFAR.rNewItem to cobGeoPearlDust
cobGrindFAR.Activate cobGenActRef, 1

;--Topaz
set cobGrindFAR.rOldItem to Gem2Topaz
set cobGrindFAR.rNewItem to cobGeoTopazDust
cobGrindFAR.Activate cobGenActRef, 1
set cobGrindFAR.rOldItem to Gem2TopazFlawed
set cobGrindFAR.rNewItem to cobGeoTopazDust
cobGrindFAR.Activate cobGenActRef, 1
set cobGrindFAR.rOldItem to Gem2TopazFlawless
set cobGrindFAR.rNewItem to cobGeoTopazDust
cobGrindFAR.Activate cobGenActRef, 1

;--Ruby
set cobGrindFAR.rOldItem to Gem3Ruby
set cobGrindFAR.rNewItem to cobGeoRubyDust
cobGrindFAR.Activate cobGenActRef, 1
set cobGrindFAR.rOldItem to Gem3RubyFlawed
set cobGrindFAR.rNewItem to cobGeoRubyDust
cobGrindFAR.Activate cobGenActRef, 1
set cobGrindFAR.rOldItem to Gem3RubyFlawless
set cobGrindFAR.rNewItem to cobGeoRubyDust
cobGrindFAR.Activate cobGenActRef, 1

;--Sapphire
set cobGrindFAR.rOldItem to Gem4Sapphire
set cobGrindFAR.rNewItem to cobGeoSapphireDust
cobGrindFAR.Activate cobGenActRef, 1
set cobGrindFAR.rOldItem to Gem4SapphireFlawed
set cobGrindFAR.rNewItem to cobGeoSapphireDust
cobGrindFAR.Activate cobGenActRef, 1
set cobGrindFAR.rOldItem to Gem4SapphireFlawless
set cobGrindFAR.rNewItem to cobGeoSapphireDust
cobGrindFAR.Activate cobGenActRef, 1

;--Emerald
set cobGrindFAR.rOldItem to Gem5Emerald
set cobGrindFAR.rNewItem to cobGeoEmeraldDust
cobGrindFAR.Activate cobGenActRef, 1
set cobGrindFAR.rOldItem to Gem5EmeraldFlawed
set cobGrindFAR.rNewItem to cobGeoEmeraldDust
cobGrindFAR.Activate cobGenActRef, 1
set cobGrindFAR.rOldItem to Gem5EmeraldFlawless
set cobGrindFAR.rNewItem to cobGeoEmeraldDust
cobGrindFAR.Activate cobGenActRef, 1

;--Diamond
set cobGrindFAR.rOldItem to Gem6Diamond
set cobGrindFAR.rNewItem to cobGeoDiamondDust
cobGrindFAR.Activate cobGenActRef, 1
set cobGrindFAR.rOldItem to Gem6DiamondFlawed
set cobGrindFAR.rNewItem to cobGeoDiamondDust
cobGrindFAR.Activate cobGenActRef, 1
set cobGrindFAR.rOldItem to Gem6DiamondFlawless
set cobGrindFAR.rNewItem to cobGeoDiamondDust
cobGrindFAR.Activate cobGenActRef, 1

;--Metals/Ores --------------------------------------
;--Dwemer Scrap Metal
set cobGrindFAR.rOldItem to cobTiDwemerScrapMetal
set cobGrindFAR.rNewItem to cobTiDwemerFilings
cobGrindFAR.Activate cobGenActRef, 10

;--Copper
set cobGrindFAR.rOldItem to cobTiRawCopperContaminated
set cobGrindFAR.rNewItem to cobGrindSoilContaminants
cobGrindFAR.Activate cobGenActRef, 1
set cobGrindFAR.rOldItem to cobTiRawCopperImpure
set cobGrindFAR.rNewItem to cobTiCopperFilings
cobGrindFAR.Activate cobGenActRef, 1
set cobGrindFAR.rOldItem to cobTiRawCopperPure
set cobGrindFAR.rNewItem to cobTiCopperFilings
cobGrindFAR.Activate cobGenActRef, 1
set cobGrindFAR.rOldItem to cobTiRawCopperPristine
set cobGrindFAR.rNewItem to cobTiCopperFilings
cobGrindFAR.Activate cobGenActRef, 10

;--Iron
set cobGrindFAR.rOldItem to cobTiRawIronContaminated
set cobGrindFAR.rNewItem to cobGrindSoilContaminants
cobGrindFAR.Activate cobGenActRef, 1
set cobGrindFAR.rOldItem to cobTiRawIronImpure
set cobGrindFAR.rNewItem to cobTiIronFilings
cobGrindFAR.Activate cobGenActRef, 1
set cobGrindFAR.rOldItem to cobTiRawIronPure
set cobGrindFAR.rNewItem to cobTiIronFilings
cobGrindFAR.Activate cobGenActRef, 1
set cobGrindFAR.rOldItem to cobTiRawIronPristine
set cobGrindFAR.rNewItem to cobTiIronFilings
cobGrindFAR.Activate cobGenActRef, 10

;--Adamantium
set cobGrindFAR.rOldItem to cobTiRawAdamantiumContaminated
set cobGrindFAR.rNewItem to cobGrindSoilContaminants
cobGrindFAR.Activate cobGenActRef, 1
set cobGrindFAR.rOldItem to cobTiRawAdamantiumImpure
set cobGrindFAR.rNewItem to cobTiAdamantiumFilings
cobGrindFAR.Activate cobGenActRef, 1
set cobGrindFAR.rOldItem to cobTiRawAdamantiumPure
set cobGrindFAR.rNewItem to cobTiAdamantiumFilings
cobGrindFAR.Activate cobGenActRef, 1
set cobGrindFAR.rOldItem to cobTiRawAdamantiumPristine
set cobGrindFAR.rNewItem to cobTiAdamantiumFilings
cobGrindFAR.Activate cobGenActRef, 10

;--Ebony
set cobGrindFAR.rOldItem to cobTiRawEbonyContaminated
set cobGrindFAR.rNewItem to cobGrindSoilContaminants
cobGrindFAR.Activate cobGenActRef, 1
set cobGrindFAR.rOldItem to cobTiRawEbonyImpure
set cobGrindFAR.rNewItem to cobTiEbonyFilings
cobGrindFAR.Activate cobGenActRef, 1
set cobGrindFAR.rOldItem to cobTiRawEbonyPure
set cobGrindFAR.rNewItem to cobTiEbonyFilings
cobGrindFAR.Activate cobGenActRef, 1
set cobGrindFAR.rOldItem to cobTiRawEbonyPristine
set cobGrindFAR.rNewItem to cobTiEbonyFilings
cobGrindFAR.Activate cobGenActRef, 10

;--Glass
set cobGrindFAR.rOldItem to cobTiRawGlassContaminated
set cobGrindFAR.rNewItem to cobGrindSoilContaminants
cobGrindFAR.Activate cobGenActRef, 1
set cobGrindFAR.rOldItem to cobTiRawGlassImpure
set cobGrindFAR.rNewItem to cobTiGlassPowder
cobGrindFAR.Activate cobGenActRef, 1
set cobGrindFAR.rOldItem to cobTiRawGlassPure
set cobGrindFAR.rNewItem to cobTiGlassPowder
cobGrindFAR.Activate cobGenActRef, 1
set cobGrindFAR.rOldItem to cobTiRawGlassPristine
set cobGrindFAR.rNewItem to cobTiGlassPowder
cobGrindFAR.Activate cobGenActRef, 10

;--Stalhrim
set cobGrindFAR.rOldItem to cobTiRawStalhrimContaminated
set cobGrindFAR.rNewItem to cobGrindSoilContaminants
cobGrindFAR.Activate cobGenActRef, 1
set cobGrindFAR.rOldItem to cobTiRawStalhrimImpure
set cobGrindFAR.rNewItem to cobTiStalhrimFilings
cobGrindFAR.Activate cobGenActRef, 1
set cobGrindFAR.rOldItem to cobTiRawStalhrimPure
set cobGrindFAR.rNewItem to cobTiStalhrimFilings
cobGrindFAR.Activate cobGenActRef, 1
set cobGrindFAR.rOldItem to cobTiRawStalhrimPristine
set cobGrindFAR.rNewItem to cobTiStalhrimFilings
cobGrindFAR.Activate cobGenActRef, 10

;--Bones----------------------------------------
set cobGrindFAR.rOldItem to skelBigBone01
set cobGrindFAR.rNewItem to bonemeal
cobGrindFAR.Activate cobGenActRef, 10

set cobGrindFAR.rOldItem to skelBoneThin01
set cobGrindFAR.rNewItem to bonemeal
cobGrindFAR.Activate cobGenActRef, 10

set cobGrindFAR.rOldItem to skelClavicle01
set cobGrindFAR.rNewItem to bonemeal
cobGrindFAR.Activate cobGenActRef, 1

set cobGrindFAR.rOldItem to skelPelvis01
set cobGrindFAR.rNewItem to bonemeal
cobGrindFAR.Activate cobGenActRef, 15

set cobGrindFAR.rOldItem to skelRibcage01
set cobGrindFAR.rNewItem to bonemeal
cobGrindFAR.Activate cobGenActRef, 15

set cobGrindFAR.rOldItem to skull01
set cobGrindFAR.rNewItem to bonemeal
cobGrindFAR.Activate cobGenActRef, 15

;RemoveMe ;Script only runs once, so this isn't really necessary
end

errors are
[CS] Script 'cobGrindListCoblItemsOS', line 4:
Syntax error. Invalid reference 'cobGrindListCont' (only object references and reference variables are allowed in this context).
[CS] Script 'cobGrindListCoblItemsOS', line 199:
Unknown referenced object 'cobGrindListCont'.

So, I have some idea of what checks you're doing and why the bad reference bit comes at the end of the script. However, as far as usability the vanilla error message is meaninglessly general while yours explains exactly what the problem is, but without saying which lines had the bad reference. (Err... that is, the vanilla message could be a bad reference or bad variable name, and IIRC even a base object instead of a reference.)

[and 2 more]The error "Script command "PlayMagicShader" not found." references the line before the error. Stemming from the same error, I get a "Unknown function code 0." - it's on the correct line :P but it's meaning isn't clear.
Spoiler
;--DO NOT MODIFY THIS SCRIPT!!!
; DOING SO WILL CAUSE CTDS AND STRANGE BEHAVIOR FOR USERS.
; If you need this script to do more, have a suggestion, or an alteration:
; contact the Cobl team at: http://www.uesp.net/wiki/Tes4Mod:Cobl/Modding/Board

;--VERSION HISTORY
; v1.73 Grinder overhaul
; v1.30 Fix silver to gold transmutation.
; v1.?? Rewrite so that grinding processes one item at a time.
; v1.06 First version.

scn cobGrinderOS
;--Script for grinder container
ref rSelf
short OpenStage ;Must wait for menu screen to open, so 1 for opening and 2 for 'menu has opened'
float SecondsUntilDone
float TimePassed
float NoiseTimer
float gameHourPrev
short gameDaysPrev
;--Obsolete
short action
float pause


begin onActivate
if SecondsUntilDone
Message "Ouch! That's hot! (%f seconds until done)" SecondsUntilDone
;cast a 0 pt Fire spell at player
else
Activate
set OpenStage to 1
endif
end


begin menuMode 1008
if OpenStage
set OpenStage to 2
endif
end


begin gameMode
if (OpenStage == 2)
;--Reset variables
set OpenStage to 0
set rSelf to GetSelf
set NoiseTimer to 0
set TimePassed to 0
set GameHourPrev to GetCurrentTime
set GameDaysPrev to GameDaysPassed
set SecondsUntilDone to 1 ;Always give a second for the tokens to run
;--Grind FAR global variables
set cobGrindFAR.rCont to rSelf
set cobGrindFAR.MoreSeconds to 0
;--Run the tokens by moving them here
cobGrindListCont.RemoveAllItems rSelf
;--Make that grinder look and sound like it's grinding (grind it, grind it good)
PlayMagicShader cobGrinderFX
PlaySound3d cobGrinderSND
endif

if SecondsUntilDone
if (GetInSameCell player) ;--Keeps the activator from running when player leaves the cell (setting variables makes the script run once more, so if a variable is set every time the script keeps running)
;--Calculate the amount of time that has passed
set TimePassed to ((GetCurrentTime - GameHourPrev) + 24*(GameDaysPassed - GameDaysPrev))*3600/TimeScale
if (TimePassed <= 0)
set TimePassed to GetSecondsPassed
endif
if (TimePassed <= 0) ;Ultra-paranoid check - I can't imagine why GSP would be 0, but just in case
set TimePassed to 0
endif
set GameHourPrev to GetCurrentTime
set GameDaysPrev to GameDaysPassed
;--Figure out new SecondsUntilDone
if cobGrindFAR.MoreSeconds
set SecondsUntilDone to (SecondsUntilDone + MoreSeconds)
set cobGrindFAR.MoreSeconds to 0
endif
set SecondsUntilDone to (SecondsUntilDone - TimePassed)
;--Keep running or stop
if (SecondsUntilDone > 0)
set NoiseTimer to (NoiseTimer + TimePassed)
if (NoiseTimer >= 1)
set NoiseTimer to 0
PlaySound3D cobGrindSND
endif
else
set SecondsUntilDone to 0
;play some kind of winding-down sound
StopMagicShader cobGrinderFX
endif
endif
endif
end

Errors complete
Spoiler
[CS] Script 'cobGrindRegisterFAS', line 6:
Syntax Error. Unknown command 'rToken'.
[CS] Script 'cobGrinderOS', line 59:
Script command "PlayMagicShader" not found.
[CS] Script 'cobGrinderOS', line 91:
Script command "StopMagicShader" not found.
[CS] Script 'cobGrinderOS', line 58:
Syntax error. Invalid reference 'cobGrindListCont' (only object references and reference variables are allowed in this context).
[CS] Script 'cobGrinderOS', line 60:
Unknown function code 0.
[CS] Script 'cobGrinderOS', line 78:
Syntax Error. Unknown command 'MoreSeconds'.
[CS] Script 'cobGrinderOS', line 78:
Syntax Error. Missing expression in set command.
[CS] Script 'cobGrinderOS', line 87:
Item 'cobGrindSND' not found for parameter Sound.
Compiled script not saved!
[CS] Script 'cobGrinderOS', line 92:
Unknown function code 0.
[CS] Script 'cobGrinderOS', line 96:
Unknown referenced object 'cobGrindListCont'.

and important ones
...
[CS] Script 'cobGrinderOS', line 59:
Script command "PlayMagicShader" not found.
[CS] Script 'cobGrinderOS', line 91:
Script command "StopMagicShader" not found.
...
[CS] Script 'cobGrinderOS', line 60:
Unknown function code 0.
...
[CS] Script 'cobGrinderOS', line 92:
Unknown function code 0.

User avatar
AnDres MeZa
 
Posts: 3349
Joined: Thu Aug 16, 2007 1:39 pm

Post » Wed Jan 05, 2011 12:41 pm

Whoaaaaaaa! Great improvements!!


Any chance of CSE Morrowind's version? :rolleyes:
:bowdown:
User avatar
brandon frier
 
Posts: 3422
Joined: Wed Oct 17, 2007 8:47 pm

Post » Wed Jan 05, 2011 8:04 am

Any chance of CSE Morrowind's version? :rolleyes:

This plugin cannot be ported to the TES3 CS due to technical limitations.


Half-bug reports:
Clicking on "Get Variable Index" will bring up the error list, if there are errors.
Intended effect - The script is compiled before indices are fetched.

[the rest]
Known issue. Will get it fixed.
User avatar
Cccurly
 
Posts: 3381
Joined: Mon Apr 09, 2007 8:18 pm

Post » Wed Jan 05, 2011 1:11 pm

I'm unable to reproduce this on my end. Could you walk me through it?

I just went through the steps to replicate it and figured out what happened - the CS retains focus after saving the plugin. The script editor is still open but underneath the main CS window, I don't know how I missed that the first time. False alarm, sorry :(
User avatar
kristy dunn
 
Posts: 3410
Joined: Thu Mar 01, 2007 2:08 am

Post » Wed Jan 05, 2011 8:47 am

Thanks a lot for this tool, after just a little test yesterday I already know this is another essential tool for me like Tes4Edit and Wyre bash! :bowdown: :celebration:

Only little problem so far is the already mentioned 'pink water', and I'm not so sure if I really want a change here. This 'flashing' pink color helps me to sense land editing errors quickly, so my wish would be a setting to configure it on or off.

Just wondering: how many years did it take you to build this? Surely not just some days ... :P Great work, again many, many thanks!
User avatar
Alister Scott
 
Posts: 3441
Joined: Sun Jul 29, 2007 2:56 am

Post » Wed Jan 05, 2011 5:13 pm

Just wondering: how many years did it take you to build this? Surely not just some days ... :P Great work, again many, many thanks!
I started working on it sometime during March last year, if I recall correctly.
User avatar
Scott
 
Posts: 3385
Joined: Fri Nov 30, 2007 2:59 am

Post » Wed Jan 05, 2011 7:14 pm

Consider yourself lucky. Everyone I've ever known who has used the CS to edit the description field has ended up with a corrupt ESP for their efforts. CSE did you a favor by crashing, your ESP should still be in one piece.


But, you know me! I always use the CS to edit the Description field when creating my UL compatibility patches. None of them have become corrupt. Also, the CS tracks the number of characters typed into the Description field, and when you reach the limit, automatically prevents adding any more.
User avatar
Ashley Hill
 
Posts: 3516
Joined: Tue Jul 04, 2006 5:27 am

Post » Wed Jan 05, 2011 8:35 pm

Yeah, gotta say... I've never had an issue with the description field in the CS, with or without CSE.

Well, except right after installing Windows 7, when the CS would crash on any file write when launched with OBSE. That was fixed by running as Administrator, tho.
User avatar
Epul Kedah
 
Posts: 3545
Joined: Tue Oct 09, 2007 3:35 am

Post » Wed Jan 05, 2011 6:38 pm

shadeMe, I've told you before that you should be scared when I'm modding, right... just making sure...

Requests
  • When choosing a mesh/texture/resource, a "Copy from" option that let's you choose another base object to copy from.
  • From the script editor, a "Create Staple" command... not sure staple is the best word, but...
    It would create a corresponding form for the script to attach to. That is, for a quest script it would create a quest; for an activator, create an activator and place it in a cell, etc.
    Dialogue would let you choose type up top (auto quest for quest, for object either token, activator, spell would be enchantment or ability); followed by text box for name; followed by necessary quick settings (for quest - start game enabled, repeat quest stages; for activator - which cell, initially disabled, persistent should be assumed)
  • Launch game from CS (maybe even a Save Script + Save Plugin + Launch Oblivion button :lol: )
  • Sound items have a handy-dandy Play button so you can hear them. Unfortunately, they only play the sound if they're actually extracted. If they're still in the Bsa, well you get to listen to the sound of silence.


[also, bump - this shouldn't be on the second page]
User avatar
Louise
 
Posts: 3407
Joined: Wed Nov 01, 2006 1:06 pm

Post » Wed Jan 05, 2011 7:09 pm

But, you know me! I always use the CS to edit the Description field when creating my UL compatibility patches. None of them have become corrupt. Also, the CS tracks the number of characters typed into the Description field, and when you reach the limit, automatically prevents adding any more.


Yeah, gotta say... I've never had an issue with the description field in the CS, with or without CSE.

Well, except right after installing Windows 7, when the CS would crash on any file write when launched with OBSE. That was fixed by running as Administrator, tho.


Don't know what to tell you guys, because every time I've ever touched the description field with the CS it's blown up the file. It quickly became habit to simply not go there again. I've been using Wrye Bash to modify the field ever since. Fixing the corruption this sort of thing causes isn't exactly fun either because it usually creates MILLIONS of blank records with no headers in them and TES4Edit chokes to death trying to read it, Gecko crashes because it eats all the memory, and the CS won't touch it either. I had to resurrect someone's file using TESSnip once when this happened to her with no backups to fall back on.
User avatar
Ria dell
 
Posts: 3430
Joined: Sun Jun 25, 2006 4:03 pm

Post » Wed Jan 05, 2011 7:29 pm

I don't think it likes you Arthmoor. I also edit the description field in the CS. I even had it complain that the field was too long. I simply edited it to make it shorter - no problem.
User avatar
lauraa
 
Posts: 3362
Joined: Tue Aug 22, 2006 2:20 pm

Post » Wed Jan 05, 2011 8:51 am

I don't think it likes you Arthmoor. I also edit the description field in the CS. I even had it complain that the field was too long. I simply edited it to make it shorter - no problem.


Me too. I've only had a problem once when I edited it in TES4Edit. But it isn't excluded that I did something wrong.
CS works, although Wrye Bash is more 'user friendly' imo because CS doesn't have any confirmation button for that.
User avatar
Sophie Louise Edge
 
Posts: 3461
Joined: Sat Oct 21, 2006 7:09 pm

Post » Wed Jan 05, 2011 5:47 pm

A new decade for the world, a new age for Oblivion modding!

2011 is going to kick ass on both TES modding forums. :D
User avatar
LuCY sCoTT
 
Posts: 3410
Joined: Sun Feb 04, 2007 8:29 am

Post » Wed Jan 05, 2011 6:41 pm

Arthmoor isn't alone with description box errors. I believe dev_atm had similar issues, hence the ability to change it in Gecko. Like most Oblivion bugs, it probably only happens with a certain combination of events (the mod is already open; after checking it out with Details; using a semi-colon in the description) that are nearly impossible to figure out.
User avatar
Kara Payne
 
Posts: 3415
Joined: Thu Oct 26, 2006 12:47 am

Post » Wed Jan 05, 2011 9:08 am

The corruption has happened to me as well. Specifically, the file writes out correctly, but contains massive zero-filled padding (5-10 MB worth) after the normal end of the file.

I'm going off memory, but it happened in two situations:
1) When I edit the author / description.
2) When I try to save the file, it's locked by another process (TES4Edit, typically) so the CS complains, I release the lock, and save the file again.

The easiest way to fix it if it occurs is to open it in CBash and save it again. CBash automatically fixes this specific oddity.
Another way to fix it is to use a hex editor and simply delete all the trailing zeroes at the end. Requires some knowledge of the file format so you don't accidentally erase anything you should (a few of the trailing zeroes could conceivably be part of the last record).
User avatar
Rudy Paint fingers
 
Posts: 3416
Joined: Sun Nov 11, 2007 1:52 am

Post » Wed Jan 05, 2011 11:22 am

Sounds about right. The file I resurrected had something like 30 million of those zero-filled pad records.
User avatar
Carlitos Avila
 
Posts: 3438
Joined: Fri Sep 21, 2007 3:05 pm

Post » Wed Jan 05, 2011 10:49 pm

This looks pretty cool. However, I have one (hopefully minor) request, and one possible bug:

  • Could you make it omit the from the script source when it's not needed? Recompiling an unmodified script that doesn't use any CSE features — no preprocessor stuff, and cursor-position saving is turned off — I still get a containing the (and nothing else).
  • The compiler (or validator, I'm not sure) doesn't seem to like OBSE's "->" operator for accessing elements in a StringMap. I get lots of warnings like "Identifier 'aThisFO->Menvdef' contains an invalid character" on scripts that work fine when compiled in the vanilla CS.

I'm reluctant to start writing "CSE-only" scripts that don't compile properly, or can't readily be edited, in the vanilla editor. I like the new script editor UI-wise, but I'd prefer to use it as just a better text editor with IntelliSense; I'm wary of it storing hidden stuff, like the , in my scripts.
User avatar
Star Dunkels Macmillan
 
Posts: 3421
Joined: Thu Aug 31, 2006 4:00 pm

Post » Wed Jan 05, 2011 3:58 pm

/snip
I'm gonna fake my death on of there days...

Could you make it omit the from the script source when it's not needed? Recompiling an unmodified script that doesn't use any CSE features — no preprocessor stuff, and cursor-position saving is turned off — I still get a containing the (and nothing else).

I'm reluctant to start writing "CSE-only" scripts that don't compile properly, or can't readily be edited, in the vanilla editor. I like the new script editor UI-wise, but I'd prefer to use it as just a better text editor with IntelliSense; I'm wary of it storing hidden stuff, like the , in my scripts.
The extradata CSE adds to scripts is wrapped as comments to provide backward compatibility with the unextended CS. The warning is only relevant when the script uses preprocessor directives the editor provides. A script that doesn't use any of it can be compiled without issues using the vanilla CS. I'll add an option to prevent the addition of the block nevertheless.

The compiler (or validator, I'm not sure) doesn't seem to like OBSE's "->" operator for accessing elements in a StringMap. I get lots of warnings like "Identifier 'aThisFO->Menvdef' contains an invalid character" on scripts that work fine when compiled in the vanilla CS.
The validator asserts so because the script parser requires script tokens to be delimited. I'll have that fixed in the next version.
User avatar
Nomee
 
Posts: 3382
Joined: Thu May 24, 2007 5:18 pm

Post » Wed Jan 05, 2011 9:11 pm

"Identifier 'aThisFO->Menvdef' contains an invalid character"

It still compiles fine when you get this error, by the way. Harmless warning... and you may have found the only one I didn't. ;)
User avatar
Jessica White
 
Posts: 3419
Joined: Sun Aug 20, 2006 5:03 am

Post » Wed Jan 05, 2011 11:12 am

Is it possible to make it so that a script refuses to compile/save if "Begin OnActivate " is called. A script with this in it compiles even though OnActivate does not accept any parameters (correct format is "Begin OnActivate"). This can lead to an uninformed scripter creating a buggy object.
User avatar
Liv Brown
 
Posts: 3358
Joined: Wed Jan 31, 2007 11:44 pm

Post » Wed Jan 05, 2011 4:48 pm

Is it possible to make it so that a script refuses to compile/save if "Begin OnActivate " is called. A script with this in it compiles even though OnActivate does not accept any parameters (correct format is "Begin OnActivate"). This can lead to an uninformed scripter creating a buggy object.
Yes. Added to the scroll.
User avatar
Glu Glu
 
Posts: 3352
Joined: Sun Apr 01, 2007 5:39 am

Post » Wed Jan 05, 2011 10:13 am

I'm gonna fake my death on of there days...

Don't worry, we'll find you.
User avatar
Your Mum
 
Posts: 3434
Joined: Sun Jun 25, 2006 6:23 pm

Post » Wed Jan 05, 2011 10:13 pm

Sorry if this is already answered in old comments or in the readme, but If I use this construction set will the mod have a OBSE version 0020 beta requirement? And will I be able to choose the old construction set again after I have used this (I will most likely only use it to create lip sync files)
User avatar
Charlotte Lloyd-Jones
 
Posts: 3345
Joined: Fri Jun 30, 2006 4:53 pm

Post » Thu Jan 06, 2011 1:11 am

*Not real sure on OBSE...

http://www.gamesas.com/index.php?/topic/1154589-rel-construction-set-extender/page__view__findpost__p__16901656
1. No, you can switch back to the vanilla CS whenever you like. CSE doesn't break compatibility in anyway.
2. Yeah. The new script editor is like any other text editor.
3. Plugin file format isn't modified, so you won't have any issues.


**added Quotes
User avatar
Jessica White
 
Posts: 3419
Joined: Sun Aug 20, 2006 5:03 am

PreviousNext

Return to IV - Oblivion