Doom Comic
Register | User Profile | Member List | F.A.Q | Privacy Policy | New Blog | Search Forums | Forums Home
Doomworld Forums : Powered by vBulletin version 2.2.5 Doomworld Forums > Classic Doom > Doom Editing > [Regular Hexen] ACS scripts don't execute
 
Author
All times are GMT. The time now is 13:37. Post New Thread    Post A Reply
printz
CRAZY DUMB ZEALOT


Posts: 6126
Registered: 06-06


Weird; once I made a modification to the scripts, using Doom Builder (1), they stopped working for vanilla Hexen and ports which try to emulate it closely (like JHexen). It works in ZDoom, but I'm not making the level for ZDoom.

All script linedefs point to the correct level, 1. The level IS 1:

MAPINFO
code:
; --- Cluster 1 --- map 1 "CASTLE OF FEAR" warptrans 1 next 2 cluster 1 sky1 SKYWALL2 0 sky2 SKY2 40 doublesky ;;; the rest follow


And here's the MAP01 script source code lump. It looked similar when it worked. I deleted the latter functions, then rewrote them.

The script source lump (called here SCRIPTS)
code:
#include "common.acs" int door1open; int door3open; int door4open; // Initial fireballs script 1 (void) { ThingSound(1,"FireDemonAttack",96); Thing_Projectile(1,T_FIREBALL1,0,80+random(10,40),random(0,3)); ThingSound(2,"FireDemonAttack",96); Thing_Projectile(2,T_FIREBALL1,128,80+random(10,40),random(0,3)); delay(30); restart; } // left rotation script 2 (void) { // if(!door1open) //{ Polyobj_RotateLeft(1, 8, 64); door1open=1; //} } script 3 (void) { if(door3open==0) { Polyobj_RotateLeft(3, 8, 64); door3open=1; } } script 4 (void) { if(door4open==0) { Polyobj_RotateRight(4, 8, 64); door4open=1; } }
The first script is a repeated fireball thrower, which is started and suspended by linedefs. The latter three are once-only turndoor openers. Does vanilla Hexen support arrays, and can I declare arrays with a #defined capacity?

So far all the global variables appear to be defined at start as 0 (while testing on ZDoom), so I haven't bothered setting them at an OPEN script. It's not their fault that the scripts don't work in vanilla; Script 1 doesn't depend on variables so it should work.

I even commented out that if(!door1open), and that script still didn't call. No scripts were called, even though the once-only linedefs I was using seemed to work (I heard nothing at the first activation; only afterwards 'oofs').

What could I be doing wrong, if the ACS-doing linedefs have their second argument correct, it works in ZDoom but not vanilla or JHexen and I'm using Doom Builder 1 and ZDBSP no-REJECT (the only nodebuilder command that Doom Builder 1 can run succesfully under Hexen maps)?

Old Post 06-26-09 15:07 #
printz is offline Profile || Blog || PM || Search || Add Buddy IP || Edit/Delete || Quote
Graf Zahl
Why don't I have a custom title by now?!


Posts: 6960
Registered: 01-03


Apparently the scripts got compiled in ZDoom mode which uses a different binary format. Seems to me that DoomBuilder needs to explicitly handle that switch when using ZDoom's ACC to compile.

Old Post 06-26-09 15:11 #
Graf Zahl is online now Profile || Blog || PM || Email || Search || Add Buddy IP || Edit/Delete || Quote
All times are GMT. The time now is 13:37. Post New Thread    Post A Reply
 
Doomworld Forums : Powered by vBulletin version 2.2.5 Doomworld Forums > Classic Doom > Doom Editing > [Regular Hexen] ACS scripts don't execute

Show Printable Version | Email this Page | Subscribe to this Thread

 

Forum Rules:
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is OFF
vB code is ON
Smilies are OFF
[IMG] code is ON
 

< Contact Us - Doomworld >

Powered by: vBulletin Version 2.2.5
Copyright ©2000, 2001, Jelsoft Enterprises Limited.

Forums Directory