Advanced Search

Author Topic: How do "I" do THAT in Doom Builder?  (Read 245112 times)

0 Members and 3 Guests are viewing this topic.

May 17, 2015, 04:20:31 AM
Reply #720

Offline Russel

  • MM8BDM Extender

  • Doc Croc
  • ***********
  • Date Registered: December 17, 2010, 11:11:25 PM

    • View Profile
Re: How do "I" do THAT in Doom Builder?
« Reply #720 on: May 17, 2015, 04:20:31 AM »
Bots naturally don't talk during combat.

May 17, 2015, 04:23:44 AM
Reply #721

Offline Megaman94

  • Standard Member
  • Date Registered: April 08, 2013, 08:49:51 PM

    • View Profile
    • http://sonicfansunited.forumotion.com/
Re: How do "I" do THAT in Doom Builder?
« Reply #721 on: May 17, 2015, 04:23:44 AM »
Quote from: "Lego"
Bots naturally don't talk during combat.
Don't they say something from their roaming strings?

May 17, 2015, 04:25:10 AM
Reply #722

Offline Russel

  • MM8BDM Extender

  • Doc Croc
  • ***********
  • Date Registered: December 17, 2010, 11:11:25 PM

    • View Profile
Re: How do "I" do THAT in Doom Builder?
« Reply #722 on: May 17, 2015, 04:25:10 AM »
Not while trying to attack.

May 17, 2015, 04:35:53 AM
Reply #723

Offline Megaman94

  • Standard Member
  • Date Registered: April 08, 2013, 08:49:51 PM

    • View Profile
    • http://sonicfansunited.forumotion.com/
Re: How do "I" do THAT in Doom Builder?
« Reply #723 on: May 17, 2015, 04:35:53 AM »
Quote from: "Lego"
Not while trying to attack.

Is there a way to prevent bots from talking? I want to do a cut scene and I don't want the bots to talk

May 17, 2015, 08:12:46 AM
Reply #724

Offline Russel

  • MM8BDM Extender

  • Doc Croc
  • ***********
  • Date Registered: December 17, 2010, 11:11:25 PM

    • View Profile
Re: How do "I" do THAT in Doom Builder?
« Reply #724 on: May 17, 2015, 08:12:46 AM »
Freeze the bot using SetPlayerProperty on a script they activate.

November 10, 2015, 03:00:19 PM
Reply #725

Offline Insidasigma

  • Standard Member
  • Date Registered: March 22, 2015, 06:59:21 PM

    • View Profile
Re: How do "I" do THAT in Doom Builder?
« Reply #725 on: November 10, 2015, 03:00:19 PM »
How do you make ramps looking horizontally? I have tried everything and cannot I just need a quick answer Thank You.

November 10, 2015, 03:50:49 PM
Reply #726

Offline Russel

  • MM8BDM Extender

  • Doc Croc
  • ***********
  • Date Registered: December 17, 2010, 11:11:25 PM

    • View Profile
Re: How do "I" do THAT in Doom Builder?
« Reply #726 on: November 10, 2015, 03:50:49 PM »
I'm not sure I understand your question.

Slopes are created by adding an action to a line def on the sector you wish to apply it to.
The action is 181, setting the action will change some of the boxes in the properties window. I encourage experimenting.

Hope this helps, unsure if the answer is correct.

May 06, 2016, 01:24:48 AM
Reply #727

Offline Megaman94

  • Standard Member
  • Date Registered: April 08, 2013, 08:49:51 PM

    • View Profile
    • http://sonicfansunited.forumotion.com/
Re: How do "I" do THAT in Doom Builder?
« Reply #727 on: May 06, 2016, 01:24:48 AM »
Wow, it has been a while since I posted something in here. So here is my problem of the day. Let's see who can figure it out first.

When I try to compile my scripts, it gives me an error

(click to show/hide)

Doom Builder is telling me it is this line
 
Code: [Select]
if(CheckActorClass(0,classes[0,2]));

May 06, 2016, 04:26:04 AM
Reply #728

Offline Russel

  • MM8BDM Extender

  • Doc Croc
  • ***********
  • Date Registered: December 17, 2010, 11:11:25 PM

    • View Profile
Re: How do "I" do THAT in Doom Builder?
« Reply #728 on: May 06, 2016, 04:26:04 AM »
A string array in that stance can only take in one value and will give you one value.
classes[0] refers to "Megaman", classes[1] refers to "Protoman", and classes[3] refers to "Bass".

As a result, classes[0, 2] doesn't really specify anything

change the following line
Code: [Select]
if(CheckActorClass(0,classes[0,2]));

to
Code: [Select]
if(CheckActorClass(0,classes[0]) || CheckActorClass(0,classes[1]) || CheckActorClass(0,classes[2]))

A more extendable version of this script can be made though:
Code: [Select]
#DEFINE MAX_CLASSES 3 // maximum number of classes that can use weapons.

str classes [MAX_CLASSES] = {
"Megaman",
"Protoman",
"Bass"
};

Script 701 (void)
{
bool canUseWeapons = false;

// This structure iterates through all of the code within it MAX_CLASSES times.
// It also keeps track of a number that can be plugged into the array safely.
// This is a loop that's functionally equivalent to
// "while i is less than max classes and a class that can use weapons has not been found, do the following"

for(int i = 0; i < MAX_CLASSES && !canUseWeapons; i++)
{
    if(CheckActorClass(0,classes[i]))
    {
        canUseWeapons = true;
    }
}

if(canUseWeapons)
{
    Print(s:"cfPlease select your weapons");
    delay(35*2);
    terminate;
}
else
{
    Print(s:"cgYou do not need these weapons!");
    DamageThing(999);
}
}

To add more classes that can use weapons, you'd simply add one to MAX_CLASSES and add their name to the list of classes.

Hope this helps, sorry for getting carried away.

May 08, 2016, 12:54:20 AM
Reply #729

Offline Megaman94

  • Standard Member
  • Date Registered: April 08, 2013, 08:49:51 PM

    • View Profile
    • http://sonicfansunited.forumotion.com/
Re: How do "I" do THAT in Doom Builder?
« Reply #729 on: May 08, 2016, 12:54:20 AM »
Quote from: "Lego"
A string array in that stance can only take in one value and will give you one value.
classes[0] refers to "Megaman", classes[1] refers to "Protoman", and classes[3] refers to "Bass".

As a result, classes[0, 2] doesn't really specify anything

change the following line
Code: [Select]
if(CheckActorClass(0,classes[0,2]));

to
Code: [Select]
if(CheckActorClass(0,classes[0]) || CheckActorClass(0,classes[1]) || CheckActorClass(0,classes[2]))

A more extendable version of this script can be made though:
Code: [Select]
#DEFINE MAX_CLASSES 3 // maximum number of classes that can use weapons.

str classes [MAX_CLASSES] = {
"Megaman",
"Protoman",
"Bass"
};

Script 701 (void)
{
bool canUseWeapons = false;

// This structure iterates through all of the code within it MAX_CLASSES times.
// It also keeps track of a number that can be plugged into the array safely.
// This is a loop that's functionally equivalent to
// "while i is less than max classes and a class that can use weapons has not been found, do the following"

for(int i = 0; i < MAX_CLASSES && !canUseWeapons; i++)
{
    if(CheckActorClass(0,classes[i]))
    {
        canUseWeapons = true;
    }
}

if(canUseWeapons)
{
    Print(s:"cfPlease select your weapons");
    delay(35*2);
    terminate;
}
else
{
    Print(s:"cgYou do not need these weapons!");
    DamageThing(999);
}
}

To add more classes that can use weapons, you'd simply add one to MAX_CLASSES and add their name to the list of classes.

Hope this helps, sorry for getting carried away.

Lego, Did I ever told you how awesome you are? :D

May 08, 2016, 02:03:24 AM
Reply #730

Offline Russel

  • MM8BDM Extender

  • Doc Croc
  • ***********
  • Date Registered: December 17, 2010, 11:11:25 PM

    • View Profile
Re: How do "I" do THAT in Doom Builder?
« Reply #730 on: May 08, 2016, 02:03:24 AM »
I don't believe so, but I'm glad I could help!

May 23, 2016, 01:17:02 PM
Reply #731

Offline DarkAura

  • MM8BDM MM8 Contributor
  • *****
  • Date Registered: March 06, 2011, 01:38:04 AM

    • View Profile
Re: How do "I" do THAT in Doom Builder?
« Reply #731 on: May 23, 2016, 01:17:02 PM »
I'm trying to make a map that utilizes 3D floors that can fade away and reveal new textures behind them, like a 3D floor representing a pile of leaves fading away to reveal a snow texture beneath it.

Is it possible to change the "Alpha" arguement of a 3D Floor LineDef with the use of a script?

May 23, 2016, 05:13:23 PM
Reply #732

Knux

  • Guest
Re: How do "I" do THAT in Doom Builder?
« Reply #732 on: May 23, 2016, 05:13:23 PM »
160:Sector_Set3dFloor (tag, type, flags, alpha, hi-tag/line ID)

The fact that this line exists tells me that there might just be a way. Heck, here's the link to where I found it.

http://zdoom.org/wiki/Sector_Set3dFloor

May 24, 2016, 01:12:39 AM
Reply #733

Offline Russel

  • MM8BDM Extender

  • Doc Croc
  • ***********
  • Date Registered: December 17, 2010, 11:11:25 PM

    • View Profile
Re: How do "I" do THAT in Doom Builder?
« Reply #733 on: May 24, 2016, 01:12:39 AM »
It actually is not possible. I have tried.
3D floors are created upon map parsing, which is done while the map itself is loading and no other time.
The closest thing you're going to get is having a number of 3D floors with different transparencies or to change the textures of a single 3D floor... or both, and using a script with some kind of floor/ceiling raise function like Floor_RaiseInstant or Ceiling_RaiseInstant. But this method is known to have a number of flaws and I don't recommend using it if the 3D floors beneath this segment are playable space.

If 3D floors could be made to fully appear or disappear, I'm sure such a feature would have been used extensively within the past few years. As far as I'm aware, such a feature does not exist and the closest thing we can get is making use of bridge actors or floor and ceiling modifiers.

May 28, 2016, 05:30:11 PM
Reply #734

Offline cybersavior

  • Standard Member
  • Date Registered: July 15, 2013, 05:43:55 AM

    • View Profile
Re: How do "I" do THAT in Doom Builder?
« Reply #734 on: May 28, 2016, 05:30:11 PM »
Quote from: "DarkAura"
I'm trying to make a map that utilizes 3D floors that can fade away and reveal new textures behind them, like a 3D floor representing a pile of leaves fading away to reveal a snow texture beneath it.

Is it possible to change the "Alpha" arguement of a 3D Floor LineDef with the use of a script?


Until you can get it to work the way you want, think outside the box (here is a placeholder)
 

1. Make the sector itself your pile of leaves, raise it up above the surrounding sectors a little higher as you see fit.

2. Make a 3d floor in that sector for the base floor itself, set it to line up with your surrounding sectors so it lines up nicely, and apply the texture you want.

3. Make something trigger your sector floor (the raised sector, not the 3d floor) to lower to just below your 3d floor.
(Make it fall really fast btw, it needs to happen instantly to look like it's vanishing, play with the values in the fields until you get what you want.)



Finito