#classic-doom-maps-mods

1 messages ยท Page 42 of 1

trim falcon
#
  1. change the sprite into green. not include the blood
#
  1. use translation
#

inb4 too much works to recolor the sprites

vocal crypt
#

unfortunately yeah

#

the blood color is changed seperately

#

so

#

I can have it be purple

#

but seriously

#

your guys problem is blood

#

well

#

the oclor of it

#

I'm asking for criticism

#

I'm asking for criticism

trim falcon
#

the code looks good and functional

restive glade
#

sorry

#

when it looks wrong.

#

it bugs me

#

because it just doesnt look right

vocal crypt
#

So the blood is the problem

#

@restive glade

royal wave
#

It's incredible what enabling lights does to a dev texture map

#

Fullbright comparison

vocal crypt
#

so far I've come up with a chaingunguy that's a kamikaze

#

he does shoot

#

but his plasmaballs are slow and don't do damage

#

so those plasmaballs are a bluff

#

and he has more speed than the SpeedChainGunGuy

#

which I'm thinking I should probabyl switch the speeds

outer crescent
#

i made a thing

haughty flower
#

damn

vocal crypt
#

@shadow bone would that wandering bombsite thing be still too advanced

#

for me

shadow bone
#

Well, you've got the basics down

#

So only way to find out is to try

#

lol

vocal crypt
#

first gotta make that arrow sprite.

#

which'll be a PITA in Photoshop

#

what's the minimum size a sprite "Frame" can be

shadow bone
#

1x1 pixel

#

You could theoretically make a 5x5 pixel graphic then use the DECORATE scale property to make it bigger in-game

#

or vice-versa

vocal crypt
#

well apparently a 1x1 or 5x5 is too tiny for Photoshop

#

also, does the background have to be that cyan color or transparent

shadow bone
#

If you make it cyan, then SLADE can convert it to Doom-format graphics and the cyan will end up transparent

#

Alternatively, just use transparent and make it a truecolor PNG

#

I think all ZDoom-based engines support that

vocal crypt
#

I'm more concerned on the size of the pixel graphic

#

because it's apparently too small for me

shadow bone
#

Hell, you could make it in Paint if you desire.

#

Or GIMP

vocal crypt
#

I rather stick to PS.

shadow bone
#

Could be bigger as well

vocal crypt
#

30x30

#

unless that's making it cyberdemon sizxe

#

*size

shadow bone
#

Look in your IWADs for doom graphics, maybe export the player's sprite so you can use it as a size template

#

30x30 sounds about like a BFG fireball size

#

I think

vocal crypt
#

I ripped some skin sprites to use as the sprites for the classes

#

so

#

I could use those probably

shadow bone
#

Yep

vocal crypt
#

instead of digging in the iWads

shadow bone
#

That works too

vocal crypt
#

apparently it's a 24 by 61 pixel size.

#

going by Photoshop's Image size thing.

#

apparently I suck at makin a sprite or somethin

vocal crypt
#

Also @shadow bone remember that "concept" of the bombsite's actor?

#

this to bes pecific

#
{
    Speed 20
    States
    {
    Spawn:
        TNT1 AAAAAAAAAAAAAAAAAAAAA 0 A_Wander
    Wait:
        AROW A -1
        Stop
    }
}```
shadow bone
#

Yah?

vocal crypt
#

well apparently GZDoom and Zandronum whine it doesn't have 4 characters for the sprite

shadow bone
#

Looks like "wait" is a reserved word or something

#

Change that to "death", it should work the same

vocal crypt
#

well now they ain't whining about it

#

the source ports

#

well they work

#

since they "teleport" to random places

shadow bone
#

Sucess!

vocal crypt
#

Had to use Commando sprite tho since I don't have an arrow sprite yet and I suck at making sprites

#

for the death part

shadow bone
#

Dude, just draw a three-line cartoon arrow, lol

#

It doesn't have to look pretty yet

vocal crypt
#

fine.

shadow bone
#

Don't get ahead of yourself ๐Ÿ˜‰

vocal crypt
#

I'll do it in paint since I ain't got the patience for PS to start up.

#

you can't set resolution in MS Paint...

shadow bone
#

Yes you can, drag the little box in the lower-right corner of the image

#

There's also a "scale" function, which works fine if you don't have anything drawn already

plush sapphire
#

I use IrfanView in conjunction with my other software (MSPaint, PS, Medibang, GIMP, etc)

#

Means some minor copy/paste stuff from one to the other at times, but I get it all done how I want?

vocal crypt
#

well apparently my spriting skills ain't worth dick

#

also, the sprite does work, but apparently it "digs" in the ground

#

thankfully i forgot to put transparency so the white background sticks out

haughty flower
#

Is it possible for a map to have a highly smooth flow in its navigation and combat without being linear?

vocal crypt
#

Makes me think it's some weird monster from a terry wad

unreal oyster
#

meh, it's a placeholder, it'll do ๐Ÿ˜›

vocal crypt
#

now we gotta figure out the bomb plantin part

#

maybe that'll be ACS.

unreal oyster
#

for zandronum? yeah, likely

haughty flower
#

those are some very bizzare placeholders

trim falcon
#

what is that

vocal crypt
#

how would we get the bombsites to check ones inventory for deh bomb

#

and plant it or somethin

trim falcon
#

sector tag

#

something like this

#

if bomb in the right sector tag like sector 666

#

you can put the bomb

#

and I too lazy to search the actual code

unreal oyster
#

no, that isn't going to work

#

@vocal crypt you'll want to get the bombsites to use A_RadiusGive to give all players in range of the bombsite an inventory item

#

then the bomb weapon would check for that inventory item, and only plant if it was found

#

which will make it so the bombs can only be planted when near the sites

vocal crypt
#

wait, so bombsites would use A_RadiusGive to give all players a bomb or something?

#

er

unreal oyster
#

no

#

they'd give a dummy inventory item

#

that isn't the bomb

#

then the bomb (a weapon) will do a check for this dummy inventory item

vocal crypt
#

and plant when it is "found"

unreal oyster
#

then if the player has it, it will jump to a "Planting" state when fired

#

yes

vocal crypt
#

so it'd be
A_RadiusGive BombDummyInvent for the Bombsite

#

but for the actual bomb

#

it'd be check for dummy inventory item?

#

(forgot the code for checking for x item in a inventory)

trim falcon
#

check if inventory

unreal oyster
#

no, it's A_JumpIfInventory

vocal crypt
#

for the bomb part

unreal oyster
#

and that's not how functions work, it'd be

A_RadiusGive("BombDummyInvent", 64.0, RGF_PLAYERS)
#

something like that

#

that'll give players in a range of 64 units the "BombDummyInvent"

#

you will likely also need something to take away the item when the player moves out of range again

vocal crypt
#

well I'm in the middle of creating said dummy actor.

unreal oyster
#
Actor BombDummyInvent : Inventory {}
#

that's all you need

vocal crypt
#

Ok apparently Zandronum doesn't have TNT1

trim falcon
#

r u sure bout that ?

vocal crypt
#

that, or it keeps whining about its sprite character size

unreal oyster
#

yeah no, i'm pretty sure it does have TNT1

vocal crypt
#

Well it whines about its character size

#

no more than 4 yadda yadda

unreal oyster
#

uhh

#

post the line

vocal crypt
#
{
    Speed 20
    Radius 20
    Height 56
    States
    {
    Spawn:
        TNT1 AAAAAAAAAAAAAAAAAAAAA 0 A_Wander A_RadiusGive ("DummyBombInvent",64.0,RGF_PLAYERS)
    Death:
        AROW A -1
        Stop
    }
}```
unreal oyster
#
actor Bombsite
{
    Speed 20
    Radius 20
    Height 56
    States
    {
    Spawn:
        TNT1 AAAAAAAAAAAAAAAAAAAAA 0 A_Wander
        Goto GiveDummy
    GiveDummy:
        AROW A 1 A_RadiusGive ("DummyBombInvent",64.0,RGF_PLAYERS)
        Loop
    Death:
        AROW A -1
        Stop
    }
}
#

try something like this

shadow bone
#

Yeah, you can't have two action functions on one line unless you're using anonymous functions, which are probably too soon to be worrying about

unreal oyster
#

also, this is for Zandronum

#

so anonymous functions are out of the question

shadow bone
#

Hah, forgot that

#

I'm used to being on the bleeding edge

vocal crypt
#

since it's probably the only multiplayer source port that supports custom shit

#

oh dear.

#

InvalidState A_RadiusGive

shadow bone
#

Try removing the space between A_RadiusGive and the parameters after it

#

Not sure if that's the issue or not

vocal crypt
#

no it isn't.

#

still not workin

unreal oyster
#

umm

#

which zandronum version are you using

vocal crypt
#

2.12

#

*2.1.2

unreal oyster
#

i dunno, it could be that ZDoom 2.7 introduced A_RadiusGive

#

if so, you'll need to use Zandronum 3.0

vocal crypt
#

what does int mean?

#

it's on the wiki

shadow bone
#

integer

vocal crypt
#

oh

shadow bone
#

str is string

#

int = integer, a whole number like 1 or 32

str = string, "text things in quotes"

fixed/float = floating point numbers, like 1.0 or 32.5

vocal crypt
#

Well apparently your theory is right Gut

unreal oyster
#

eh, fixed doesn't really = float

shadow bone
#

TRue

vocal crypt
#

but apparently Zan 3.0 doesn't support A_Wander

#

not that it doesn't start up

#

but the bombsite isn't, you know, wandering

unreal oyster
#

uh

vocal crypt
#

when summoned in console

unreal oyster
#

that shouldn't happen

vocal crypt
#

also, what shouldn't happen

#

the a_wander thing

#

er

unreal oyster
#

yeah, the function still exists in 3.0

#

i have no idea why it just wouldn't work

vocal crypt
#

maybe it's the GoTo GiveDummy thing?

torn timber
#

What's the exact error?

vocal crypt
#

define "error"

#

if you mean what's going wrong

torn timber
#

yes

vocal crypt
#

it's the fact the BombSite isn't wandering for the amount frames

#

until "dying"

#

yes I do have A_Wander

torn timber
#

Is it still the same as the code block above?

vocal crypt
#

should be yes

torn timber
#

I'll look at that

#

Do you intend for it to seem to teleport around randomly every tic?

#

also how does it enter the death state?

#

actually wait

#

I see the loop there,

#

so it'll only wander a bunch within the first tic

#

and then constantly give the dummy item?

vocal crypt
#

Supposedly yes

#

what I wnat it to do is wander with the first tic, then stop at whatever the last tic was at, and give the dummy item

#

IIRC

torn timber
#

is it meant to give the item every tic forever too?

vocal crypt
#

IIRC, the bomb you plant checks for the dummy item, and if it's there, it plants

#

so

#

maybe?

#

IDK

torn timber
#

alrighty, yeah

#

so what happens when you run it like this?

vocal crypt
#

the bombsite just stays in place.

torn timber
#

no wandering

vocal crypt
#

it would "teleport" to somewhere around the area-

#

yeah

torn timber
#

oh

vocal crypt
#

I put telport in quotes because it doesn't exactly teleport

#

it's just invisible when wandering

torn timber
#

so it's doing what it's supposed to do and actually move somewhere?

#

you should never actually see it move if the A_Wander takes palce in a 0 tic interval

vocal crypt
#

I'm summoning it via console

#

so I'd expect its location to be random

#

but let's test the tic theory

torn timber
#

make sure you add nodelay to that first line if you're going to keep it like this

#

TNT1 AAAAAAAAAAAAAAAAAAAAA 0 NoDelay A_Wander

#

The first frame is never actually used unless you put nodelay on that first spawn state line. The first frame is usually used to initialize the actor, see "State Keywords" on the Actor States page on the wiki.

#

It's why you'd see some other DECORATE examples do this:

TNT1 AAAA 0 A_Wander```
#

that 0 tic line by itself at the beginning of the Spawn state is usually reserved for that initialization when the Spawn state isn't going to be looped

vocal crypt
#

it appears your tic theory was correct

torn timber
#

could be messing with the A_Wander being called

vocal crypt
#

it was 0 tics so it didn't do nothing

torn timber
#

I can't really explain that quirk then

vocal crypt
#

I guess the 0 tics from the frames meant it can't actually wander

torn timber
#

movement functions are odd with 0 tic frames sometimes

#

it should move in theory

vocal crypt
#

now I gotta create that bomb weapon

haughty flower
#

The more I try and fix my yandere-doom thing, the more broke it gets ๐Ÿ˜ฆ

#

thats what you get for a early acess game

#

lmao

molten tide
#

Yandere-doom

#

Please gimme

haughty flower
#

Its just a status-bar face

#

Thats all it is

molten tide
#

Screenshot

#

I love doom hack

#

Dick gumshoe as doom guy

haughty flower
#

oh no

#

not that hellhole

trim falcon
#

urghh doomhack

#

someone need to convert it into DECORATE/ZSCRIPT base

haughty flower
#

I just got that face lined up xD

molten tide
#

Good job ๐Ÿ‘

haughty flower
#

ty

trim falcon
#

poke impse

molten tide
#

Nooo, I not les!

trim falcon
#

ok

unreal oyster
#

@drowsy forum with ZScript can i get an actor's pointer from a TID?

drowsy forum
#

That I don't know.

unreal oyster
#

ok, that's fine

#

what about getting a actor pointers from their species? would i need a thinkeriterator for that?

drowsy forum
#

What are you trying to accomplish?

unreal oyster
#

well basically i am spawning an actor in through ACS and i need to then get the player as a pointer so I can use it in functions such as A_Warp

#

because the player won't be pointed to by any of the AAPTR_s

dawn saffron
#

hey, if anyone's interested, i've mostly finished my latest map: "Delta Calamity"

#

it's the first map in the series which i plan on expanding from here on out, so please do check it out and enjoy

#

this time it's strictly singleplayer and better in every way i could think of since my "heavy..." campaign

#

tdm56a6j

#

please do enjoy and i'm looking forward to feedback

haughty flower
#

Whats it about? :/

dawn saffron
#

it's about killing demons

#

but the background is that there is a uac facility that was invaded by demons (the usual stuff) and one part of the facility sealed itself off trying to save itself

#

you land your spaceship and venture into intricate labyrinths (as intricate as snapmap gets) of uac and start exploring the three sectors of this facility, in the end opening the sealed off sector and finding what was hiding inside...

haughty flower
#

oooh

vocal crypt
#

I'm planning on using the ClaymoreMine from Realm667 as the "base" for the bomb

granite marsh
#

I'm working on my very first WAD ever. I call it "Making Due". It would have no shotguns of any kind, so the play would have to make due with other weapon types.

vocal crypt
#

what was that command that checks inventory for a certain item?

trim falcon
#

I forgot

#

invcheck

#

not sure

#

printinv

vocal crypt
#

what was the check inventory command thing

trim falcon
#

printinv

vocal crypt
#

is there a way to look for ACS stuff for inventory

#

and stuff like dat

shadow bone
#

CheckInventory

vocal crypt
#
{
    if (CheckInventory("DummyBombInvent"
        Print(s:"Planting the bomb);
    else
        Print(s:"Stop fucking around and shoot your enemy!");
}```
#

I don't think it'll work

#

unless I make the bomb run Script 1 when pressing E on the BombSite

trim falcon
#

puke 1

#

give DummyBombInvent

#

puke 1

#

I believe its should works

vocal crypt
#

well apparently it's expecting something but gets print instead

#
{
    if (CheckInventory("DummyBombInvent"))
        Print(s:"Planting the bomb");
    else
        Print(s:"Stop fucking around and shoot your enemy!");
}```
#

when pressing compile ACS that is

#
WARNING: C:\Users\FREDDY~1\AppData\Local\Temp\SLADE3\acs.acs:3:6: implicitly declaring function checkinventory [--warn-forward-reference]
ERROR: C:\Users\FREDDY~1\AppData\Local\Temp\SLADE3\acs.acs:4:4: expected primary-expression got 'print'
trim falcon
#

printf ?

vocal crypt
#

printf?

#

wut?

trim falcon
#

wait

#

before that

#
{
    int x = 10;
    Print(s:"This is a string");   //prints "This is a string"
    Delay(35*5);
    
    Print(d:x);   //prints "10"
    Delay(35*5);
    
    Print(s:"This is x: ", d:x);   //prints "This is x: 10"
    Delay(35*5);
    
    Print(s:"I need ", d:x, s:" shells");   //prints "I need 10 shells"
}```
#

test this code if its work

#

to check if it your compiler problem or not

vocal crypt
#
=== Error log: ===
ERROR: C:\Users\FREDDY~1\AppData\Local\Temp\SLADE3\acs.acs:4:6: expected primary-expression got 'print'
trim falcon
#

weird

#

ask caligary

vocal crypt
#

@shadow bone

#

Erron told me to ask you

trim falcon
#

Well I can compile your code

#

what kind of acs compiler you use

vocal crypt
#

GCC-ACC

trim falcon
#

you got other compiler ?

#

just for testing purpose

vocal crypt
#

no\

trim falcon
#

I not a single .exe should work

#

but give it a try

vocal crypt
#

how do you make Slade use a exe for ACS

#

because I think it's stuck using gcc-acc

#

or I CAN'T find the menu for ACS stuff

trim falcon
#

edit>preference>script

vocal crypt
#

it works

#

the exe

trim falcon
#

maybe gcc-acc using different type of code

#

you should post this on zdoom forum for an explaination

vocal crypt
#

p_startscript unknown script 1

#

that's what console says

#

maybe I forgot to put the "trigger" on the bomb weapon

#

or rather

#

the bombsite

#

er

trim falcon
#

when you compile

#

its should works

#

errr

#

I think I know why

#

you forgot something

#

did you already make LOADACS

#

LOADACS Lump

vocal crypt
#

loadacs?

#

what's loadacs?

trim falcon
#

Its a lump that use to load your ACS

vocal crypt
#

is it it's own file

#

or something you put in the acs file

#

oh

#

it's #include whatever

trim falcon
#

yes something like that

#

I working on screenshot

#

your script txt is in your script folder

#

LOADACS is to load your acs code

vocal crypt
#

I presume you got something like MonsterTID in ACS?

trim falcon
#

yes

#

monstertid.exe

#

I mean monstertid.txt

vocal crypt
#

script works

trim falcon
#

good

#

now pay up

vocal crypt
#

sure

#

blows your head off with SSG

trim falcon
vocal crypt
#

and my script works

#

now I need to make the bombsite use the script when a use state happens or something

#

...and some time limit before teh bom explodes

#

and a defusal script

#

speaking of which

#

@royal wave is this possible, or am I just thinking of something the engine can't do

royal wave
#

yes

#

Bools

vocal crypt
#

Bools?

royal wave
#

Bools

trim falcon
#

true of false

vocal crypt
#

I guess my mod would be som Doom arcade-y kind of CS.

#

I dunno.

#

I was thinking of the name Doom Strike but I think it's weird and crappy

#

also, @unreal oyster with your idea of the bombsites giving a dummy inventory item

#

would it just be in that radius?

#

or it'd stay with you forever

trim falcon
#

Depend how your code works

vocal crypt
#

I think it was A_Give something?

trim falcon
#

for better answer as gutawer cause I not sure what is it

#

yes, when you got something

#

you will keep it

#

when you go out from the area

#

does the inventory got removed or not ?

vocal crypt
#

Honestly I don't know

#

Oh wait

#

A_RadiusGive

#

does that mean in a radius it gives x

#

or it gives x only in that radius specified?

trim falcon
#

int A_RadiusGive (str item, float distance, int flags [, int amount])

#

radius is distance

vocal crypt
#

A_RadiusGive("DummyBombInvent",64.0,RGF_PLAYERS)

trim falcon
#

RGF_PLAYERS is suppose to be an amount

#

A_RadiusGive("Health", 96, RGF_PLAYERS, 5)

#

in other words you using it wrong

royal wave
#

I want to use ZScript but the wiki has no information on how it's supposed to implemented

trim falcon
#

take a look at d4d code

royal wave
#

:/

trim falcon
#

/:

royal wave
#

it just parses it?

#

Do I have to compile it withz ACC?

#

Because it's not ACS

shadow bone
#

Nope, I don't believe so

#

it's compiled at runtime

torn timber
#

it runs on magic

royal wave
#

and I don't see anything in the D4D that would point to it being ZScript

#

there is no documentation on how to implement this, just fuckton of confusing tutorials

trim falcon
#

learn slowly

royal wave
#

:I

#

I'm fluent in OOL

#

ANd there is nothing on how I'm supposed to stick this in my mod

#

and how to tell ZDoom that it's zscript

torn timber
#

#include "ZScript/Player.txt"

#

Is that what you need?

royal wave
#

where

#

What lump does that go in

torn timber
royal wave
#

ZScript? Decorate?

#

ACS?

#

omg

torn timber
#

I'd guess it just goes in with the Decorate stuff

royal wave
#

No

#

It doesn't say

torn timber
#

I say that because it says they can be combined

royal wave
#

that doesn't tell me anything other than they can communicate with each other like sndinfo can work with decorate

torn timber
#

so it can be in whatever text files you load with a DECORATE lump

royal wave
#

it goes in the decorate lump. OKAY

torn timber
#

like I'll usually separate my actors or groups of actors into their own separate text files like "SomeActor1.txt", and then in a DECORATE lump, have it load all the separate ones together:

#include "actors/SomeActor2.txt"
#include "actors/SomeActor3.txt"```
And that'll pretty much what'll be in the DECORATE lump, no actual actors defined there, just as a way to sort it
royal wave
#

I'm not trying to implement an actor here

vocal crypt
#

"Good Lord. What are you doing?"

trim falcon
#

go to sleep

vocal crypt
#

When you do

royal wave
#

and there's no explanation to have a script call every time a map starts

#

why does the wiki not have anything simple

#

can we not treat doom mods like everyone has been on the scene the whole 23 years

trim falcon
#

download newest gzdoom

#

open .pk3

#

gzdoom.pk3*

royal wave
#

are you telling me you'd do that

trim falcon
#

operate it

#

yes

royal wave
#

Then you can do that

haughty flower
#

What's the problem

trim falcon
#

but I promise I will make a zscript tutorial one day

royal wave
#

Well when you get to that, I'll be sure to ask you for help

haughty flower
#

What the fook is zscript btw

trim falcon
#

a DECORATE but better

vocal crypt
#

New DECORATE

haughty flower
#

Oh

unreal oyster
#

@royal wave ZScript goes in a lump called ZSCRIPT

#

it can be #includeed just like DECORATE

#

as for documentation - best way to learn is ask, tbh

#

i've learnt the ropes of ZScript just by asking people who know

trim falcon
#

how to jump

#

how to hide

royal wave
#

How to fly as demonstration man

unreal oyster
#

lmao

royal wave
#

How to crab dance as tuxedo terrorist

unreal oyster
#

that script

#

jesus

royal wave
#

How not to be seen

haughty flower
#

so, how does ZScript work, and where can i find it?

shadow bone
haughty flower
#

thanks

shadow bone
#

All the (sparse) documentation is there

#

The rest must be gained by asking the sages

#

To my understanding, it's "like DECORATE" in most regards if you're just doing simple things

haughty flower
#

what's better to use at this point

shadow bone
#

Someone told me ZSCript is pretty much feature-complete

#

So probably start learning that

#

DECORATE isn't going away, but it won't be expanded any further

haughty flower
#

ah

unreal oyster
#

ZScript isn't feature-complete i don't think, unless you can access the map data yet?

shadow bone
#

Well, feature-complete as far as DECORATE is concerned

#

Map and UI hooks are next I believe

#

But I actually don't know much

#

I haven't used it for anything yet

vocal crypt
#

is there a command to make things use a ACS script?

#

In this case, a bombsite.

shadow bone
#

Things can call scripts with ACS_Execute and related commands

vocal crypt
#

is ACS_Execute DECORATE or is it what it says on the tin

shadow bone
#

You can use it in DEOCRATE like an action special. It executes an ACS script on that frame.

vocal crypt
#

is the map parimeter optional

#

or is it required

shadow bone
#

If it's in [] brackets it's optional. Or just set it to 0 for "current map"

vocal crypt
#

now I gotta figure out how to make the bomb not plant if you don't have the dummy item the bombsite gives you

unreal oyster
#

you only jump to the firing state if the player has the item

#

A_JumpIfInventory

vocal crypt
#

what's inventorytype?

#

(Looking on ZDoom wiki)

#

infact, does this code even work with my intention.

#

TNT1 A 0 A_JumpIfInventory ("DummyBombInvent",0)

#

er

#

I think I need an example of how JumpIfInventory works

shadow bone
#

The first parameter is the item to check. If the check indicates at least the amount of the second parameter, it jumps to the state name or offset given by the third parameter

#

There's an example right there on the page

vocal crypt
#

So the two needs to be 1

#

Zero

shadow bone
#

Probably. You also need a state label to jump to

#

Like in the example given:

#

TNT1 A 0 A_JumpIfInventory("Shell", 1, "ReloadLoop")

trim falcon
#
    TNT1 A 0 A_JumpIfInventory("run", 1, "Run")
    PLAY J 6
    TNT1 A 0 A_JumpIfInventory("run", 1, "Run")
    PLAY K 6
    TNT1 A 0 A_JumpIfInventory("run", 1, "Run")
    PLAY L 6
    TNT1 A 0 A_JumpIfInventory("run", 1, "Run")
    PLAY M 6
    TNT1 A 0 A_JumpIfInventory("run", 1, "Run")
    PLAY N 6
    TNT1 A 0 A_JumpIfInventory("run", 1, "Run")
    PLAY O 6
    TNT1 A 0 A_JumpIfInventory("run", 1, "Run")
    PLAY P 6
    TNT1 A 0 A_JumpIfInventory("run", 1, "Run")
    PLAY Q 6
    TNT1 A 0 A_JumpIfInventory("run", 1, "Run")
    PLAY R 6    
    TNT1 A 0 A_JumpIfInventory("run", 1, "Run")```
#

most dirty code ever

vocal crypt
#

Oh mai

#

getting a bit toasty here

shadow bone
#

And that, children, is why anonymous functions were invented.

trim falcon
#

can you simplified my code ?

shadow bone
#
PLAY IJKLMNOPQR 6 A_JumpIfInventory("run",1,"Run)
vocal crypt
#

also, does the number work with 0? Incase you don't have the dummy bombinvent item?

#

in a_jumpifinventory

trim falcon
#

wait that works ?

shadow bone
#

Uh, yeah

#

Unless you're doing something I'm missing

trim falcon
#

what if the script I want to run between I and J ?

#

I mean jump

shadow bone
#

It's worked like that for over a decade

trim falcon
#

i see

shadow bone
#

You would have to split another action onto a separate line

#

But anything where you share the same duration and action function for sequential frames can be condensed

#

You don't need TNT1 A 0 to do actions

trim falcon
#

kk

shadow bone
#

It's just convenient shorthand for invisible, instant action

#

The reason it's used is for situations where the same frame needs multiepl actions

vocal crypt
#

something is wrong here.

shadow bone
#
POSS A 1 A_Look
TNT1 A 0 CallACS(something)
TNT1 A 0 A_SpawnItemEX
POSS BCDE 4 A_Look
vocal crypt
#
    CLAY A 1 A_Raise
    CLAY A 1 A_JumpIfInventory ("DummyBombInvent", 1, "Bombplant")
    CLAY A 1 A_JumpIfInventory ("DummyBombInvent", 0, "DoNotBombPlant")
    loop
    
Bombplant:
goto fire
DoNotBombPlant:
TNT1 A 0 ACS_Execute (1)
goto Select```
#

What I'm trying to do: if player doesn't have DBI, it executes the ACS script and goes back to select. If player does have DBI, it should plant the bomb.

#

I forgot to copy goto select after ACS_Execute

shadow bone
#

A state needs at least one frame. If your Bombplant state is just going to Fire, have the Juimp just go straight to Fire

#

LAY A 1 A_JumpIfInventory ("DummyBombInvent", 1, "Fire")

#

Save a step

vocal crypt
#

ok

#

what about if I don't have DBI

#

how will I make it not fire

shadow bone
#

Not jump? yo're just looping select with a script if the player doesn't have it, right?

vocal crypt
#

I guess.

shadow bone
#
Select: 
    CLAY A 1 A_Raise
    CLAY A 1 A_JumpIfInventory ("DummyBombInvent", 1, "Fire")
    CLAY A 1 ACS_Execute(1)
    loop
#

Save yourself those extra states

#

They're superflous

#

By the way, I'm not sure you should be doing this in Select

#

Select is just the "raise weapon" animation

vocal crypt
#

Apparently I'm wanting my ACS script to run when player presses the mouse when he doesn't have DBI

shadow bone
#

Ready is the main logic loop after the weapon is raised

#

Fire is when the player presses the mouse

#

So

Select:
    CLAY A 1 A_Raise   //This loops the "raise weapon" animation until it's complete
    Loop
Ready:
    CLAY A 1 A_WeaponReady //Wait for the player to press the mouse
    CLAY A 1 ACS_Execute(1) //your script
    Loop
Fire:
    CLAY A 1 A_JumpIfInventory ("DummyBombInvent", 1, "Plant")
    Goto Ready
Plant:
    CLAY A 1 A_SpawnItemEX ("bomb" or whatever)
    //go back to the last weapon or whatever after the bomb is planted
vocal crypt
#

I want it to execute a ACS script if the playa doesn't have DBI tho.

shadow bone
#

then move the excute script after the jump check in Fire

#

It'll jump away if they have the inventory item, or continue after the jump if not

#
Fire:
    CLAY A 1 A_JumpIfInventory ("DummyBombInvent", 1, "Plant")
    CLAY A 1 ACS_Execute(1) //your script
    Goto Ready
vocal crypt
#

ffs

#

1 errors while parsing DECORATE scripts```
torn timber
#

make sure nothing was misspelled and no parenthesis are missing, etc

#

also check colons after state names

vocal crypt
#

also, interestingly, the weapon I'm modifying has enemy versions of said weapon

#

oh

#

I forgot a DeSelect state

#

wtf?

#

1 errors during actor postprocessing

#

nvm I fixed it

#

Well now the bomb thing works

#

the only oddity I need to fix is a player having DummyBombInvent when they're around a bombsite

#

and then we'll probably mvoe on to a currency system

#

shit, I forgot I got to do other things with the bomb

#
  1. Defusal of the bomb for CT's.
#
  1. Random person gets said bomb
#

I don't know the third one

trim falcon
#

the third one is everyone become a space program

vocal crypt
#

no, I think it's trying to make the bombsite remove the dummy inventory bomb item after out of its radius

vocal crypt
#
{
    int targ = random(0, 7);
    
    if (CheckInventory(weapons[targ]))
    {
        TakeInventory(weapons[targ], 1);
        Print(s:"You have dropped a weapon!\ncareless player...");
    }
}``` how does this work
trim falcon
#

you puke green

#

I mean 10

#

and targ will become a number between 0 and 7

#

which is random

#

after that check inventory

#

weapons is obviously weapon

#

and targ is the random number

#

let's say the RNG god choose 5

#

the weapon number 5 will be taken away from player

#

poor careless player

vocal crypt
#

can it take away non-weapon inventory items tho?

trim falcon
#

yes

#

any item

#

and why you use ACS

#

oh wat.

#

wait*

vocal crypt
#

Yeah, I am using ACS.

#

script 10 (OPEN)
{
    int targ = random(0, 1);
    
    if (CheckInventory(weapons[targ]));
    {
        TakeInventory(weapons[targ], 1);
    
    }
}```
#

ACS compiler keeps complaining

trim falcon
#

no need to use in targ

vocal crypt
#

um what

trim falcon
#
{   
    if (CheckInventory("DummyBombInvent"));
    {
        TakeInventory("DummyBombInvent", 1);
    
    }
}```
#

this is enough

vocal crypt
#

sheet

#

unknown script 2

haughty flower
#

Hehe, anybody want to try my new SnapMap

trim falcon
#

can't do it now

viscid ridge
#

anyone around?

trim falcon
#

nope

unreal oyster
#

@drowsy forum was wondering, is there any ZScript function like ACS's PickActor PICKAF_RETURNTID mode?

#

i'm trying to do a line-of-sight check from the player

#

seeing if the player can see an actor

#

not just any actor too, a specific one

vocal crypt
#

but yeah

#

unknown script 2

royal wave
#

How does one actually implement a thinkiterator in zscript?

#

I need it to a) execute every time a map loads

#

And b) capable of using variables from acs if necesary

trim falcon
#

ยฏ_(ใƒ„)_/ยฏ

#

dunno lol

#

summon @drowsy forum

haughty flower
#

@royal wave couldn't you like, execute script on the player thing?

#

It's a special thingy

#

I thik

#

Think*

royal wave
#

I don't want the script on the player

trim falcon
#

asc_exexute script ?

royal wave
#

I want it on every monster

haughty flower
#

Oh

royal wave
#

Actually

#

That might be the solution there

haughty flower
#

You can execute the script on the player

royal wave
#

No

haughty flower
#

Oh

royal wave
#

It's an arbitrary monster count

#

I can't point it at anything

haughty flower
#

Oh

#

Whatever

#

What's the solution

royal wave
#

Acs_execute

#

In the spawn state

#

Loop+1 so it doesn't run every time

haughty flower
#

Yeah

drowsy forum
#

@royal wave see bossbrain.txt inside gzdoom.pk3

royal wave
#

Alright

unreal oyster
#

uh, bossbrain.txt works by extending Actor though, right?

#

and mods can't extend Actor

#

since extend only works on stuff defined in the current mod, correct?

#

@drowsy forum

drowsy forum
#

Just copy the iterator code.

#

@unreal oyster

#

You dont need to extend anything.

unreal oyster
#

oh yeah, duh

#

fair enough then

drowsy forum
#

Also you can check the wiki.

#

I do provide examples where available.

unreal oyster
#

yeah, you've done a good job on the ZScript docs so far

drowsy forum
#

Thank you. Still much more to cover but...

unreal oyster
#

yeah. while it's not a problem for me, i can see some people getting a bit confused whenever concepts like structs or enums or pointers get mentioned

#

of course, it's easy to learn all that if you look at C docs instead of ZScript docs though

royal wave
#

@drowsy forum Also copying did nothing for me

#

This doesn't really do what I want

#

Am i wrong for expecting this to also work like ACS?

drowsy forum
#

You have to change it of course.

royal wave
#

Well yes

drowsy forum
#

Yes you are. ACS and zscript are two entirely different things.

royal wave
#

But I want this global script not attached to any actors

#

Fuck

drowsy forum
#

Now tell me what you're trying to do.

royal wave
#

Because I need a way to arbitrarily target every monster on a map and alter their stats

drowsy forum
#

Paste your code.

royal wave
#

I don't have any

drowsy forum
#

...

royal wave
#

because I don't know how I would do that!

drowsy forum
#

What, paste the code here, or working with zscript?

royal wave
#

I have no code for what I want to do because I have no idea where to approach this from

#

I was led to believe zscript was the answer, but it's not

#

I need a way to arbitrarily target every single monster on the map and alter their stats

unreal oyster
#

why not just create an actor, spawn it on map start and then use the ThinkerIterator there

drowsy forum
#

^

royal wave
#

I don;t know!

#

THe wiki don't explain how any of it works

unreal oyster
#

i've managed to grasp it pretty well, in fact i think i'd be able to give you a template for what you want

royal wave
#

That'd be appreciated

unreal oyster
#

alright, i'll give it a go

drowsy forum
#
Class MonsterModifier : Actor
{
    Default
    {
        +NOINTERACTION
        +NOSECTOR
        +NOBLOCKMAP
        +THRUACTORS
    }
    override void PostBeginPlay()
    {
        ThinkerIterator it = ThinkerIterator.Create(Actor);
        Actor mo;
        while (mo = Actor(it.Next()))
        {
            if (!mo.bISMONSTER || health < 1)
                continue;
                
            if (mo.GetClass() == "YourMonsterNameHere")
            {
                // Do stuff.
            }
        }
        Destroy();
    }
}```
unreal oyster
#

oh welp, you were faster than me lol

drowsy forum
#

๐Ÿ˜›

unreal oyster
#

otherwise, that was pretty much exactly what i would have done

drowsy forum
#

@royal wave edit this and just spawn this actor at map start and there you go.

royal wave
#

alright thank you

unreal oyster
#

@drowsy forum any idea why this line ```c
other.health = other.health - 100;

#

i was just fucking around, but is that expected behavior?

drowsy forum
#

That shouldn't be modifiable. That's a read-only variable which you need to use A_SetHealth with.

unreal oyster
#

okay, that makes sense but why would that mean it forces the player into chasecam?

drowsy forum
#

Wait. Are you playing with cameras?

unreal oyster
#

nope

drowsy forum
#

Then IDK.

#

Might want to report it with a full copy/paste of your code or something.

unreal oyster
#

yeah, i might

#

i was just adding a small bit to CanCollideWith to hurt the player on collision and that happened

drowsy forum
#

Use A_SetHealth, that may or may not fix it.

unreal oyster
#

it does, but still, the chasecam thing seems like unintended behavior

#

even though it's not a line that should work, better to crash than to randomly switch to chasecam, lol

royal wave
#

ThinkerIterator it = ThinkerIterator.Create(Actor);

#

That's causing problems for me

#
Invalid global identifier 'Actor'```
unreal oyster
#

"Actor"

#

not Actor

royal wave
#

Ahk

royal wave
#

@drowsy forum do you know what I have to call in zscript to access ACS variables?

drowsy forum
#

ACS_(Named)ExecuteWithResult.

royal wave
#

okay cool. Also, do ACS variables get remembered across maps?

drowsy forum
#

If they're global.

royal wave
#

so if i say global int foo = 0 it will always be rememvered?

drowsy forum
#

I dont know much ACS myself. You should consult the wiki.

#

also fucking HATES ACS.

royal wave
#

I see

royal wave
#

okay I can't use script/named scripts because they don't support return values

#

and the functions that do support return, I have no fucking clue how to call them from zscript

unreal oyster
#

i don't think you can call an ACS function from ZScript

#

does this have to be done in ACS?

#

no way you can use a ZScript function?

warped rampart
royal wave
#

can zscript use global variables and get level info?

warped rampart
haughty flower
#

might

#

honestly i have no idea

#

also pyrolex, why didn't you input some code, instead of plain renaming the files to the originals ._.

warped rampart
#

GZDoom takes the files in the WAD and arranges where they go according to the filenames. I think.

#

Don't take my word for it.

unreal oyster
#

i think what he's saying is he's recommending you to use

#

;zdoomwiki_search mapinfo

edgy grottoBOT
unreal oyster
#

for the lumps

#

instead of naming the files so they overwrite

#

though it really depends what this is for

warped rampart
#

This is more of a "sister mod," I guess you could say, for the map mod. If you want a new title screen and the DOOM2016 OST, I'll include this in the download.

#

The reason it's optional is because, obviously, there are people who'll just want a map mod.

unreal oyster
#

oh, this is for a mapset? definitely use MAPINFO then

#

it's pretty simple to do, and it prevents problems down the line

#

instead of calling a music lump D_E1M1 for example so it overwrites, you call it D_WHATEVER and tell MAPINFO where D_WHATEVER shall play

warped rampart
#

You also have to keep in mind that I'm a beginner.

unreal oyster
#

yeah i know, which is why i'm recommending MAPINFO instead of the old method ๐Ÿ˜›

warped rampart
unreal oyster
#

uh, yeah, and that recommends to use MAPINFO?

warped rampart
unreal oyster
#

yeah

#

the problem with doing that is that now when somebody decides to use a mod which itself replaces music, your music from this wad is going to get overridden

#

with MAPINFO, the music doesn't have the same name so everything works fine

royal wave
#

Guys?

#

Can zscript use global varaibles like ACS?

#

static?

unreal oyster
#

i wouldn't be sure myself

#

@royal wave just to be sure, you were using CallACS or ACS_NamedExecuteWithResult, correct?

royal wave
#

Yes

#

But I need it to return a value

#

script/namedscript doesn't support return

unreal oyster
#

oh

#

SetResultValue(whatever);

#

use that instead of return

royal wave
#

nope

#

because zscript can't access variables set in ACS

unreal oyster
#

SetResultValue() is ACS though

#

you don't use return in a script with a result

#

you use that function

royal wave
#

okay can I see an example of how I would use that in zscript

unreal oyster
#

first, tell me exactly what you want to do please

royal wave
#

From zscript, get a number from acs

#

it's a simple accessing a different class

#

am I seriously not being clear?

unreal oyster
#

yeah sorry i should have been more specific in my questioning

royal wave
#

I want zscript to grab a variable that was set in ACS

unreal oyster
#

int myVar = CallACS(ARGS); then

vocal crypt
#

sorry for butting in here and being off-topic ish, but apparently Zandronum can't run my script

#
{   
    if (CheckInventory("DummyBombInvent"));
    {
        TakeInventory("DummyBombInvent", 1);
        print (s: "Thought you could keep it? THINK AGAIN BITCH.");
    
    }
}```
royal wave
#

because unless Zscript supports some form of static or global, I need to use ACS to have certain numbers remembered

vocal crypt
#

Zand says unknown script 2.

royal wave
#

otherwise every time a map starts, it's going to complete forget the numbers I am collecting

unreal oyster
#

yeah, i posted how you use vars

#

int myVar = CallACS(ARGS);

royal wave
#

but ACS script/namedscript doesn't do returns

#

I need it to return a value

unreal oyster
#

i already said, you use SetResultValue()

#

not return

royal wave
#

And i asked for an example!

unreal oyster
#

the wiki gives an example

vocal crypt
#

clears throat

royal wave
#

No this isn't what I am looking for

#

This isn;t for a single actor

#

this is for an arbitrary ammount of things

#

I need to grab this from a larger scale and not per actor

unreal oyster
#

that shouldn't change the ACS though?

royal wave
#

so then what does it do?

unreal oyster
#

well, you were asking about how to return from a script, that's how you do it, if you have more questions i'll help but this seems like a different question

#

is this for your "setting a property to every actor" thing?

#

or something different

royal wave
#

yeah

#

god i fucking hate scripting in doom, it's so god damn ass backwards

unreal oyster
#

ok, so i assume you want to use ACS to get a value to modify an actor with then?

#

if not then please tell me because it'll help a lot

#

@vocal crypt sorry for ignoring you lol, just to check, this ACS has been compiled, right?

#

not just saved

vocal crypt
#

Teh

royal wave
#

any sort of trace function I can use in zscript?

unreal oyster
#

not sure

#

... wow

#

just looked into the source code for Unreal Gold

#

ZScript basically copied UnrealScript in every way it could, huh? ๐Ÿ˜›

#

that's a good thing, though

royal wave
#

They could have taken a page from a fucking modern OOL language

unreal oyster
#

i mean, ZScript does use a lot of classes

#

it's quite object-oriented in that regard

#

though idk, i prefer languages where i'm not using a class for literally anything

#

so i'm quite happy with ZScript really

royal wave
#

I said modern OOL

warped rampart
#

I thought that D_VICTORY would be the end level music

#

so uh

royal wave
#

just to show I know what I'm talking about

warped rampart
#

After way too many attempts I finally figured out that the end-level music was D_INTER

royal wave
#

fuck the code is too long

#

hang on

#

that's a script I amde to generate a preview box camera for a video recorder I made that accoutns for scale, zoom, and pan boundaries

warped rampart
unreal oyster
#

lmao

#

oh, i see you are using that logo i made, cool

#

or an edited version of it i guess

pallid yoke
#

I need to make a request with the doom builder devs. I need a version of the UI that doesnt burn into my moniter lol

unreal oyster
pallid yoke
#

/cry

#

Not even sure where to begin on this XD

warped rampart
#

Kind of.

proper shuttle
#

that is a lot of red

unreal oyster
vocal crypt
#

tfw a shotgun from Realm667 has secondary fire that's infinite ammo

unreal oyster
#

if you want to get into doom mapping, i'd highly recommend joining

vocal crypt
#

the stream?

#

join what

#

don't be vague

unreal oyster
#

the session

#

the post explains it pretty well -_-

drowsy forum
#

For anyone interested I just farted out a new alpha of D4D.

#

Dubbed D4T4D4D thanks to @neat oxide for the naming convention.

haughty flower
#

thats a mouthful

keen drift
#

D4D looks like dad

#

You should name the new alpha D4DDY

trim falcon
#

girls with daddy issue creep me out

keen drift
#

Why?

trim falcon
#

forget about it

#

I don't have right to say this

warped rampart
#

@drowsy forum This has extremely sparked my interest.

drowsy forum
#

Great!

#

Bear in mind it's an alpha mind you.

#

I'm also working on a massive april fools addon that people can enjoy for it. ๐Ÿ˜›

#

You may or may not like the fact that it's... stupidly out of place but coming from me? I can guarantee it's going to be at least somewhat fun. For haters and lovers and neutral goers alike.

warped rampart
#

I just really like the mod :T

drowsy forum
#

๐Ÿ˜›

#

Thanks!

warped rampart
#

i have awful taste

drowsy forum
#

does too.

#

Because AEoD is still a thing. ๐Ÿ˜›

vocal crypt
#

Is there some error in the ketchup mod that the creator is lazy to fix?

#

mostly this error

#
Expected ',', got 'l'.
drowsy forum
#

probably.

#

That sounds an awful lot like brutal doom 0.L issue.

vocal crypt
#
  BPDL AAAAAAAAA 1 A_FadeOut(0.1)```
#

the one with a bunch of A's is line 544

#

the one under it is line 545

drowsy forum
#

shrugs, can't see what the error really is... looks fine here.

steel onyx
#

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

drowsy forum
#

clips a few of those A's off and stuffs them in his mouth. He's hungry.

steel onyx
#

oh

#

go eat some

#

pizza

vocal crypt
#

Guess it's a prob with GZDoom

#

being a whiny bitch

unreal oyster
#

@drowsy forum any way to get an actor to force an "Actor hits floor" thing in the map? i am having some issues with a script that warps an actor around every tick, and it's ideal for the actor to trigger "actor hits floor" things as it would if it were moved "naturally" (so to speak) into the sector

#

does ZScript have any way to do this?

drowsy forum
#

Better ask in the zscript how-do-i thread.

#

That I'm not sure on.

unreal oyster
#

oh, that's a thing? noted

#

thank you

torn timber
#

@vocal crypt That's the exact same issue the latest version of Brutal Doom has with the A_FadeOut(0.l) needing to be changed to 0.1, make sure the text in the DECORATE isn't actually an 'L'

#

it's not GZDoom

#

That's the BD patch

#

I guess it just ended up happening to the Ketchup pk3 too

vocal crypt
#

except

#

BPDL AAAAAAAAA 1 A_FadeOut(0.1)

torn timber
#

and yet it still gives a got 'l'. error?

#

you aren't running any similar files in a "skins" folder or anything right, or have something else autoloaded?

vocal crypt
#

it says the file that has that error is ketchup.pk3

torn timber
#

Are you running it with anything else or just by itself?

vocal crypt
#

running it with other mods, mostly Colorfull Hell, Map of Chaos, and Combined Arms.

torn timber
#

I'm downloading the Ketchup file now

#

oh wait

#

I see you're using 0.5

#

err

#

V5

#

there's a V5.1 out

#

maybe that'll fix your issue

vocal crypt
#

question is: where do I download it

torn timber
vocal crypt
#

that links to 0.5

#

not v5.1

#

er

#

V5

#

(not trying to joke there)

#

oh

torn timber
#

no, look in the description

vocal crypt
#

wait

torn timber
#

actually

#

the file in the V5.1 zip is still V5

vocal crypt
#

um, apparently that is the ketchup version I'm using

torn timber
#

now why would they do that

#

geez

#

guess try it with this one anyway

#

it might be a small update

#

BPDL AAAAAAAAA 1 A_FadeOut(0.l)

#

That's definately an l

#

'L'

#

0.l 0.1

haughty flower
#

keep in mind that there is 2 lines with that typo

torn timber
#

yeah

vocal crypt
#

line 544 and line 545?

haughty flower
#

the second one is correct

torn timber
#

545, 568

#

those are the problem lines

haughty flower
#

even the blood only one also has it at the same lines

torn timber
#

For CeilBloodSpot and CeilBloodSpotLarge

#

It's probably just copied over

haughty flower
#

it is

vocal crypt
#
Expected ',', got 'l'.
torn timber
#

It's rediculous how an 'L' could be typed out instead of a 1 on a keyboard

haughty flower
#

yup patch it

torn timber
#

but it happened

#

yeah, just change that l to a 1

vocal crypt
#

it can be due to the font SLADE 3 uses (assuming SGT Mark IV uses Slade)

#

...except I did

haughty flower
#

could be

vocal crypt
#

BPDL AAAAAAAAA 1 A_FadeOut(0.1)

#

that's 568

#

BPDL AAAAAAAAA 1 A_FadeOut(0.1)

torn timber
#

yeah, but they're all the way across from each other on the keyboard

vocal crypt
#

545

#

TBF, SGT MARK IV might be in Brazil

#

I'm just guessing tho

torn timber
#

even on a dvorak keyboard it'd still be far away

warped rampart
#

PSA: Cancelling the map port. I feel like a HUD mod would be much more manageable for me.

trim falcon
#

what ?

warped rampart
#

I was gonna port the maps from DOOM2016 into Classic Doom, but now I actually realize the scope of the project.

vocal crypt
#

I realize the scope of my mod

#

But I ain't given up yet

drowsy forum
#

I find it rather odd how working on three different mods, switching off between each day, helps me keep my sanity rather versus just working on one and growing to hate it.

#

Sure it slows me down but I gues maybe that's because it helps me refreshen my creativity some.

pearl sundial
#

good job

trim falcon
#

technically

#

Its better focus on 1 mod

#

This is important to avoid development hell

drowsy forum
#

I did that for the entire second half of the year, last year.

#

All of us burned the fuck out.

#

That's one of the big reasons why DBT dropped D4D.

trim falcon
#

But as time goes by, you start to lost interest on your own mod

drowsy forum
#

Only because I've been focusing on nothing OTHER than it.

#

I have not lost interest in any of them because I took breaks.

#

I lose interest when I'm forced to work on the same shit over. And over. and OVER.

#

ESPECIALLY in a motherfucking time crunch.

#

You don't know what it was like doing that shit, @trim falcon. You've not a clue what D4D's dev cycle was. Not even remotely.

#

@neat oxide can back me up.

trim falcon
#

have you ever face a conflict of interest ?

#

when multiple people working on same project

#

some of the team might disagree on something

drowsy forum
#

Yeah.

#

We had that a lot.

#

In fact it was me who opposed many things.

trim falcon
#

I see

drowsy forum
#

But that had little impact.

#

And now, I find working on three different mods at once to be... relaxing.

#

I dont know why. But it feels good. And I"m not losing interest at all. In fact it's motivating me to put something else and fresh into the next mod by keeping on working at it and swapping.

#

Also it's easy enough to pick right back up again.

trim falcon
#

oh good for you

#

I need to remotivate myself

#

to finish my mod

drowsy forum
#

It doesn't hurt to start side mods and switch every day like I do. Just don't bite off more than you can chew. While AEoD is still being worked on, it's a lot slower than D4D and another unannounced project.

trim falcon
#

just wondering

#

where I can get old version of AEOD

#

2009 version

drowsy forum
#

shrugs.

#

I dont have any other copy than the most latest.

trim falcon
#

I got a hard disk crash

#

not really a crash but more like the connector broken

#

So its impossible to recover

#

if I make Just do it .wad

#

do you guys think its offensive ?

drowsy forum
#

No idea what that even is.

trim falcon
#

google do it.wad