Page 12 of 972

Re: The "How do I..." Thread

Posted: Sun Aug 23, 2009 4:27 am
by Mart
How do i get rid of that ?

I made fully working Sliding Door. Which should stay open after pressing switch.
Done... However when fully opened, part of wall disappears or becomes invisible so i can see part of polyobject and skybox through it.
Tried Google. Doublechecked sliding door tutorial. Nothing
Spoiler:

Re: The "How do I..." Thread

Posted: Sun Aug 23, 2009 6:20 am
by Remmirath
The polyobject must slide in only one sector.

Re: The "How do I..." Thread

Posted: Sun Aug 23, 2009 7:37 am
by Mart
Checked : It is Sliding in one sector

Re: The "How do I..." Thread

Posted: Sun Aug 23, 2009 8:21 am
by Remmirath
From what i can see, when the polyobject is activated, it goes off the map. That produces that HOM. Draw another sector in which the polyobject will slide, like this:

Code: Select all

              
                       _______________________________
_____________|_______________
|____________|_______________| <--- Polyobject
                       |______________________________


Re: The "How do I..." Thread

Posted: Sun Aug 23, 2009 10:25 am
by Mart
Made sectors for Polyobjects.

Still nothing ...
___

Ill give a try to Split door. Already have one in map but ill try sliding one later again.

Thanks for help anyway.

Re: The "How do I..." Thread

Posted: Wed Jul 07, 2010 2:24 am
by Sinfis
Hy!

How do I freeze the game completely with ACS?

For example, I press use at a wall, some hudmessage or hudimage will be showed and all the enemies, projectiles, etc. will be freezed. I press use again, the text goes away and the game goes on as normal.

I found a Pause(); -topic and there was asked the same thing, but it was trounced down to be a useless and annoying feature. :?

Re: The "How do I..." Thread

Posted: Wed Jul 07, 2010 4:22 am
by Chronos
I have a small question too.
How to make ACS variables work in Decorate?Example is A_Explode(Expl_Dmg,128) so in ACS i could fully modify it damage.

Re: The "How do I..." Thread

Posted: Wed Jul 07, 2010 7:59 am
by InsanityBringer
You can't: Use [wiki]ACS_ExecuteWithResult[/wiki] instead. Then, write a script that at some point calls [wiki]SetResultValue[/wiki] to set the value that will be returned by ACS_ExecuteWithResult.

So, in your script, do this:

Code: Select all

Script 46 (void)
{
    int dmg = random(1,128);
    SetResultValue(dmg);
}
Of course, your formula for getting damage is probably a lot more complex than that, but you get the idea. And then in the decorate:

Code: Select all

A_Explode(ACS_ExecuteWithResult(46,0,0,0),128)

Re: The "How do I..." Thread

Posted: Wed Jul 07, 2010 9:45 am
by Chronos
Thousand thanks. Very useful i would try that out.

Re: The "How do I..." Thread

Posted: Wed Jul 07, 2010 11:53 am
by NeuralStunner
Sinfis wrote:How do I freeze the game completely with ACS?
You can freeze all actors, meaning everything but geometry (moving platforms, doors and the like). :)

You'll have to use a little inheritence to make a [wiki=Classes:PowerupGiver]PowerupGiver[/wiki] with infinite duration (Powerup.Duration 0x7FFFFFFF), that gives [wiki=Classes:PowerTimeFreezer]PowerTimeFreezer[/wiki]. Use an [wiki=Built-in_ACS_functions#Inventory]ACS Inventory function[/wiki] to give your PowerupGiver when you want the world frozen. To unfreeze the world, use another function to take PowerTimeFreezer. (It is important that you take the power directly, NOT the giver, as all the giver does is give. ;) )

[wiki]SetPlayerProperty[/wiki] (Player, APROP_FROZEN, 1) - This will keep the player from moving around. APROP_TOTALLYFROZEN will take it a tep further, so that they can't use anything but the menu and the+Use key. Make sure you unset the property before continuing! To unset them, use the exact same function but put a 0 in place of the 1. (Player is the number of the player you want to affect, if the player is calling the script though, I.E. by using a wall, you can just use 0 there.)

Re: The "How do I..." Thread

Posted: Thu Jul 08, 2010 3:10 am
by Chronos
Also i was wondering what arguments 1-3 in ACS_Execute do?And what script 1 (int x) do?

Re: The "How do I..." Thread

Posted: Thu Jul 08, 2010 8:18 am
by cq75
Arguments 1-3 are parameters passed to the function. For example, if you defined your script as

Code: Select all

SCRIPT 1 (int x)
{
print(s:"the number input from the function is " d:x);
}
and if set the linedef action to ACS_Execute(1,0,1,0,0)

the 1 value will be passed from the linedef action, and the script will print out "the number input from the function is 1"

as opposed to

Code: Select all

Script 1 (void)
{
}
which takes no arguments

The only use I can come up with for this is if you wanted several different switches to trigger a single script, but each with slightly different results.

Re: The "How do I..." Thread

Posted: Thu Jul 08, 2010 8:24 am
by Chronos
Some crazy results can happen if combine this with DECORATE.Too bad args can only be integer.
Other question.I just started researching SBARINFO and it's just not working.I copy/pasted example from wiki, changed some images for try.But nothing happens.I placed SBARINFO lump in root directory of my pk3.Is there something i've missed?

Re: The "How do I..." Thread

Posted: Thu Jul 08, 2010 11:02 am
by cq75
Is there a way to make moving platforms in zdoom, like in ROTT? My guess is something along the lines of declaring a Thing, and somehow defining its behavior to move back and forth.

Re: The "How do I..." Thread

Posted: Thu Jul 08, 2010 11:06 am
by Caligari87
Not really. Maybe with some 3D floor trickery in GZDoom, you could fake it... but as is, the engine just doesn't have the capability.

8-)