Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
baja blast rd.

*** The "ask a miscellaneous editing question" thread ***

Recommended Posts

Yeah, I think that's caused by our less than stellar education system, as well as our culture and media. in the states it seems like the only people who truly want to expand their knowledge base are the billionaires from back east (and I suppose north too, given that Jackson hole is in the richest county in the U.S) and those who are "trying to get out of the ghetto" (I think that's a reference, to something, maybe). and with our school system (at least in the Midwest) they don't really prioritize English, I know people who can barely read or wright (10th grade). its a damn shame really. all quite bewildering to me and probably vexatious to teachers and parents, *cough* *cough* sorry, its my pneumonoultramicroscopicsilicovolcanokoniosis.

Share this post


Link to post

Wright is a word, but it is not the right word when you mean write.

Antidisestablishmentarianism is the belief that opposes the separation of church and state. Long ago, the church was established as part of the state (government). Disestablishment is the idea of separating the church from the state. Then you add "anti" in front of the word to mean opposition, add "arian" at the end to represent a person who opposes disestablishment, and finally add "ism" at the end to indicate the belief of that person.

Now, does anybody have a question about editing?

Share this post


Link to post

Sure. Editing question.

Can you made a 3D floor in GZDoom that moves in a way similar to a polyobject?



Bonus points if a rotating example works too, as that's the main one I want.

Share this post


Link to post

A 3D floor (as in, Sector_Set3dFloor) cannot move in any way, since sectors can't move.

There are ways to make moving platforms, though, and since you said GZDoom you could use an actor with a 3D model for that.


You can always look at what Gooberman tinkered with:
https://www.doomworld.com/idgames/prefabs/floordmo
https://www.doomworld.com/idgames/prefabs/flordmo2
https://www.doomworld.com/idgames/prefabs/flordmo3

Share this post


Link to post

You know, I am curious as to how 3d models work in GZDoom, I understand that its done with modeldefs, but how do I handle the models? do the animations need to be prebaked into the file, (which I know is in the quake 2 format), how do I use these on an actor, (I would assume that you define the model as a frame in the modeldefs and use it like a sprite in a state) and what are the best methods of producing these models (I currently am familiar with blender).

Share this post


Link to post

I have a question, maybe you can help me out.

Supposing I'd like to change the characteristics of my IMP's fireball (color, speed, damage, etc.) how would I go about it?

For example, a blue fireball that goes 1 click faster and does . . . 5% more damage?

Many thanks in advance!

Share this post


Link to post

You will need to manually recolor the image of the fireball with an image editor and to change the behavior you will need to edit the current DECORATE definitions.

Google Search: ZDoom DECORATE (It's not as intimidating as it may seem at first.)

Addendum(s): If you are not using GZDoom you will need to consider the Doom Color Pallet for the fireball.

http://zdoom.org/wiki/Classes:DoomImp (Link to the Imps current DECORATE) Look at how it's set up. It's pretty obvious what you'll need to change.

You could also use an existing image for the fireball... like perhaps the plasma from the plasma gun or the Hell Knights/Baron's projectile.

Share this post


Link to post

I'm having an issue with Deep Water (Water Zone) in GZDoom. What did I do wrong?



The water works fine. It has depth, it's swimable... the problems (as you can see from the picture) is that everything associated with this sector has turned blue. The walls and the sides of the river. I turn blue before I've even entered it.



I think I have it set up right, but I guess not. I've set the dummy sector and the, "river" to have a tag of 1. I used action number 209 (Transfer Heights) and added a color setter (thing) into the dummy sector and adjusted it to be blue.

Am I missing something?

Share this post


Link to post

I don't think you are supposed to put the tag also in the dummy sector, just the sector(s) to be affected, and on the line that creates the effect.

Share this post


Link to post
Empyre said:

I don't think you are supposed to put the tag also in the dummy sector, just the sector(s) to be affected, and on the line that creates the effect.

Just the one line in the dummy sector is tagged to 1. Sorry for the unclear phrasing.



Here it is in 3D Mode... I was told that the ceilings of both sectors need to be the same height otherwise it creates a HOM effect.

Edit: I figured it out. I'll put a video up in a few. I was mixing steps from different formats.

Share this post


Link to post

This answers the question, "How do you create deep water in UDMF."

1.)Create the pool and give it a tag.
2.)Create a control sector outside of the map (in the void).
3.)Select one line of the control sector and give it an action number of 160.
4.)Select 2 (or Swimmable) under the type.
5.)Change the opacity to your desired level.
6.)Select the control sectors ceiling and give it an appropriate texture.
7.)Adjust the, "depth" of the control sector and slide it into place.
8.)Adjust the color by changing the hexadecimal value to the color you are looking for in the control sector.

Here is a video tutorial: https://youtu.be/J9J2IDy6rNE

...and a link to the wad in the video: http://www.mediafire.com/download/b7qrw0g1vroe6ok/Water.wad (3KB)

Share this post


Link to post

I have a question:

I have added some "former scientists" which I aim to implement in my main megawad.

I would like them to replace Zombiemen at random. Here is a useful code I use which works well for this:

Actor Formerscientistspawner replaces Zombieman {
States {
Spawn:
TNT1 A 0
TNT1 A 0 A_Jump(20,"Spawn2")
TNT1 A 0 A_SpawnItemEx("Zombieman",0,0,0,0,0,0,0,SXF_TRANSFERAMBUSHFLAG|SXF_TRANSFERSPECIAL)
stop
Spawn2:
TNT1 A 0 A_SpawnItemEx("Formerscientist1",0,0,0,0,0,0,0,SXF_TRANSFERAMBUSHFLAG|SXF_TRANSFERSPECIAL)
stop
}
}

Here's my question: There are 4 different ACTORS of Formerscientist.

Is there a way to scramble which one gets used as a replacement to my Zombieman??

Share this post


Link to post

If you give A_Jump multiple parameters (see A_Jump) that define the states to jump to, a random one of them will be selected.

Also, your custom actor replaces a Zombieman, but also summons a Zombieman, which would effectively make it spawn itself, resulting in infinite recursion of spawning new iterations of itself, until it randomly selects and spawns a different actor than itself.

A possible solution would be to create an "actor Zombieman2 : Zombieman {}" (new actor identical to Zombieman) and make your spawner spawn a Zombieman2 rather than itself.

Also consider using a custom RandomSpawner instead of what you have, for the sake of convenience. (see examples on that zdoom wiki page).

Share this post


Link to post

Thanks for your advice but I managed to get it working!

I made a randomspawner, added it to be recognized in DECORATE, then used it in the code I pasted earlier and it works perfectly!

My next challenge, now, is to tailor it so that these zombie scientists only appear in certain chapters of DOOM (I.e., Knee Deep in the Dead, The Shores of Hell).

Any advice on how to achieve this would be greatly appreciated.

Share this post


Link to post

Make multiple RandomSpawners, each limited to only certain types of the custom zombies, but none of them using the word "replaces" in its actor definition, and redefine Doom's skill levels via MAPINFO/Skill_definition using "ReplaceActor" commands to replace Doom monsters (Zombieman and possibly others, as you wish) with your custom RandomSpawners - different ones on each skill level.

EDIT: Sorry, I misread your post, I thought you were talking about skill levels, not episodes.

Share this post


Link to post
scifista42 said:

Sorry, I misread your post, I thought you were talking about skill levels, not episodes.


That's okay. I was thinking about 'Lump Filtering', which is something that, so far, hasn't worked for me (I was trying to have different TITLEPICs displayed for both DOOM and DOOMII, but to no avail), but I'm not sure that it would work with DOOM episodes.

I'd rather not go into my DOOM.wad and hard edit the code for the episodes. There must be an easier and less risky way of doing it . . .

Share this post


Link to post

Well, I can only imagine a relatively complicated way. You could use A_JumpIf to branch your DECORATE code logic depending on a value of an expression, which would be a CallACS or ACS_ExecuteWithResult call to a custom script declared in a custom ACS library (loaded via LOADACS), this script would return the number of the current episode which it would retrieve from calling GetLevelInfo(LEVELINFO_CLUSTERNUM) (in Doom, episode 1 maps = cluster 1, etc.).

Share this post


Link to post
scifista42 said:

Well, I can only imagine a relatively complicated way. You could use A_JumpIf to branch your DECORATE code logic depending on a value of an expression, which would be a CallACS or ACS_ExecuteWithResult call to a custom script declared in a custom ACS library (loaded via LOADACS), this script would return the number of the current episode which in would retrieve from calling GetLevelInfo(LEVELINFO_CLUSTERNUM) (in Doom, all episode 1 maps are in cluster 1, etc.).


Woo, well thanks for this! I'll need some time to toil with it and see if it works, given the fact that I am a lay person in the end.

I'll let you know if this works to get my former scientists NOT appearing in INFERNO episode, etc.

Share this post


Link to post

Hello new here, I wanted to make a new thread for this but turns out you can't when you first make an account (understandable).

I'm creating an artificial intelligence application that learns to play multiplayer Doom and I need to set rewards for completing certain actions. I found it trivial to set rewards for getting killed, committing suicide, and killing another player, but I can't figure out a way to set a script to run when a player is injured, and be able to track who injured the player.

My first thought was to create a new class that inherits from DoomPlayer, and set its special to be activated by missiles, but I can't figure out how to set unique identifiers to projectiles generated by each player to keep track of who hit another player.

Some help would be appreciated, thanks.

Share this post


Link to post

How are you doing your application? If you directly modify a source port's code, it's trivial (at least compared to writing an artificial intelligence) -- just plug whatever code you need in P_DamageMobj(), the single function that is responsible for dealing damage.

Share this post


Link to post
Gez said:

How are you doing your application?

I'm using a third party package for AI research which provides an interface for accessing the frame buffer, certain game variables, and sending actions to the engine(based off of ZDoom). Unfortunately, I cannot edit the engine directly without making it incompatible with the cluster I will be training on.

The method I have for defining custom rewards is setting global variables in a maps ACS script, which are available to the API. A nice solution would be being able to assign an ID to each rocket fired uniquely, based off of the PlayerNumber of whoever fired, but I can't figure out where the IDs are assigned for fired projectiles.

Hope I clarified my problem

Share this post


Link to post

Interesting. Well, if the ZDoom version it's based on is recent enough, there are plenty of pointer manipulation features that can be used. Projectiles keep track of which actor fired them by using their "target" pointer. (It's a bit counter-intuitive that a projectile's target would be who shot it rather than who it is shot at, but it makes sense in the code.) More info here.

So what you could do is have the rockets run a script that will do the following:
- give the rocket a unique TID and remember it in a variable
- set the script activator to the target (so that the activator will now be the actor that shot the rocket)
- check that the rocket was fired by a player, by looking at which class is returned with GetActorClass(0) and comparing it with "DoomPlayer".
- if the shooter is a player, then get the player number and store it in a variable
- you can now switch the activator back to the rocket if needed.

Share this post


Link to post
juice207 said:

I'm using a third party package for AI research which provides an interface for accessing the frame buffer, certain game variables, and sending actions to the engine(based off of ZDoom).

You could have outright said that it's ViZDoom and link to it: http://vizdoom.cs.put.edu.pl/

Share this post


Link to post

I'm trying to fiddle with some of the Doom lua files to prevent OBLIGE from giving me random maps that have features that I can't stand. In particular, I get these wall and / or floor textures and would LOVE to stop them from ever appearing in my game, ever:

original

What do I change? Someone has told me to edit the "tech_shiny" settings in the theme lua but there are also a bunch of instances of the word "metal" in that file so I'm uncertain if I should be changing those instead.

I'd also love to know how to stop the blue wall and floor textures from being used (but don't have a picture to demonstrate those).

Share this post


Link to post

Does anybody know what the sprite for the "Arms" tab in the status bar is? The texture I have only shows the "Frags" tab.

Share this post


Link to post

It's neither a sprite nor a texture, it's a graphic.

Anyway, it's STARMS. And yes the STBAR has a frag counter there, in non-deathmatch mode the STARMS graphic is overlayed over the frag counter.

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×