Page 3 of 3

Posted: Wed Jan 10, 2007 16:56
by Vader
Hey, that somehow passed my attention until now... thanks for this Graf :)

Posted: Wed Feb 21, 2007 5:22
by anakin s.
Can someone please post the syntax for using custom state labels, damage types, pain and death states, and resistances? Thanks.

Posted: Fri Feb 23, 2007 16:45
by Cutmanmike
Wait until the new ZDoom version is out and it should appear on the zdoom.org wiki soon.

Posted: Sat Feb 24, 2007 10:33
by ant1991331
Cutmanmike wrote:Wait until the new ZDoom version is out and it should appear on the zdoom.org wiki soon.
im guessing anakin may require this asap... like i would...

Posted: Sun Mar 11, 2007 22:10
by anakin s.
I guess it's okay that nobody knows the syntax for now. I'd probably have to redesign my mods anyway once I know how to use it.

Posted: Tue Mar 13, 2007 6:48
by DoomRater
WildWeasel has made a few beta weapon mods that demonstrate its use. I don't know if it is as strict as the format laid out or not, because I haven't experimented with it much myself.

Posted: Tue Mar 13, 2007 14:37
by wildweasel
"A few" meaning "one", and I only ever used the custom state labels because they made it much easier than awkward A_Jumps that break easily if you add or remove states.

Posted: Wed Mar 14, 2007 1:19
by solarsnowfall
Regarding custom damage, maybe this thread will help?

Here's an actor I made using custom state lables. I think it should be easy enough to figure out how they work by looking at it.
[spoiler]

Code: Select all

actor DoomImpSpawner replaces DoomImp
{
  states
  {
  Spawn:
    TNT1 A 0
    TNT1 A 0 A_Jump (256, SpawnDoomImp_B1S1, SpawnDoomImp_B1S2, SpawnDoomImp_B1S3,
			                 SpawnDoomImp_B2S1, SpawnDoomImp_B2S2, SpawnDoomImp_B2S3,
			                 SpawnDoomImp_G1S1, SpawnDoomImp_G1S2, SpawnDoomImp_G1S3,
			                 SpawnDoomImp_G2S1, SpawnDoomImp_G2S2, SpawnDoomImp_G2S3,
			                 SpawnDoomImp_I1S1, SpawnDoomImp_I1S2, SpawnDoomImp_I1S3,
			                 SpawnDoomImp_I2S1, SpawnDoomImp_I2S2, SpawnDoomImp_I2S3,
			                 SpawnDoomImp_P1S1, SpawnDoomImp_P1S2, SpawnDoomImp_P1S3,
			                 SpawnDoomImp_P2S1, SpawnDoomImp_P2S2, SpawnDoomImp_P2S3,
			                 SpawnDoomImp_P3S1, SpawnDoomImp_P3S2, SpawnDoomImp_P3S3,
			                 SpawnDoomImp_P4S1, SpawnDoomImp_P4S2, SpawnDoomImp_P4S3,
			                 SpawnDoomImp_R1S1, SpawnDoomImp_R1S2, SpawnDoomImp_R1S3,
			                 SpawnDoomImp_R2S1, SpawnDoomImp_R2S2, SpawnDoomImp_R2S3,
			                 SpawnDoomImp_T1S1, SpawnDoomImp_T1S2, SpawnDoomImp_T1S3,
			                 SpawnDoomImp_T2S1, SpawnDoomImp_T2S2, SpawnDoomImp_T2S3,
			                 SpawnDoomImp_A1S1, SpawnDoomImp_A1S2, SpawnDoomImp_A1S3,
			                 SpawnDoomImp_A2S1, SpawnDoomImp_A2S2, SpawnDoomImp_A2S3,
			                 SpawnDoomImp_O1S1, SpawnDoomImp_O1S2, SpawnDoomImp_O1S3,
			                 SpawnDoomImp_O2S1, SpawnDoomImp_O2S2, SpawnDoomImp_O2S3)
    stop
  SpawnDoomImp_B1S1: TNT1 A 0 A_SpawnItem ("DoomImp_B1S1") stop
  SpawnDoomImp_B1S2: TNT1 A 0 A_SpawnItem ("DoomImp_B1S2") stop
  SpawnDoomImp_B1S3: TNT1 A 0 A_SpawnItem ("DoomImp_B1S3") stop
  SpawnDoomImp_B2S1: TNT1 A 0 A_SpawnItem ("DoomImp_B2S1") stop
  SpawnDoomImp_B2S2: TNT1 A 0 A_SpawnItem ("DoomImp_B2S2") stop
  SpawnDoomImp_B2S3: TNT1 A 0 A_SpawnItem ("DoomImp_B2S3") stop
  SpawnDoomImp_G1S1: TNT1 A 0 A_SpawnItem ("DoomImp_G1S1") stop
  SpawnDoomImp_G1S2: TNT1 A 0 A_SpawnItem ("DoomImp_G1S2") stop
  SpawnDoomImp_G1S3: TNT1 A 0 A_SpawnItem ("DoomImp_G1S3") stop
  SpawnDoomImp_G2S1: TNT1 A 0 A_SpawnItem ("DoomImp_G2S1") stop
  SpawnDoomImp_G2S2: TNT1 A 0 A_SpawnItem ("DoomImp_G2S2") stop
  SpawnDoomImp_G2S3: TNT1 A 0 A_SpawnItem ("DoomImp_G2S3") stop
  SpawnDoomImp_I1S1: TNT1 A 0 A_SpawnItem ("DoomImp_I1S1") stop
  SpawnDoomImp_I1S2: TNT1 A 0 A_SpawnItem ("DoomImp_I1S2") stop
  SpawnDoomImp_I1S3: TNT1 A 0 A_SpawnItem ("DoomImp_I1S3") stop
  SpawnDoomImp_I2S1: TNT1 A 0 A_SpawnItem ("DoomImp_I2S1") stop
  SpawnDoomImp_I2S2: TNT1 A 0 A_SpawnItem ("DoomImp_I2S2") stop
  SpawnDoomImp_I2S3: TNT1 A 0 A_SpawnItem ("DoomImp_I2S3") stop
  SpawnDoomImp_P1S1: TNT1 A 0 A_SpawnItem ("DoomImp_P1S1") stop
  SpawnDoomImp_P1S2: TNT1 A 0 A_SpawnItem ("DoomImp_P1S2") stop
  SpawnDoomImp_P1S3: TNT1 A 0 A_SpawnItem ("DoomImp_P1S3") stop
  SpawnDoomImp_P2S1: TNT1 A 0 A_SpawnItem ("DoomImp_P2S1") stop
  SpawnDoomImp_P2S2: TNT1 A 0 A_SpawnItem ("DoomImp_P2S2") stop
  SpawnDoomImp_P2S3: TNT1 A 0 A_SpawnItem ("DoomImp_P2S3") stop
  SpawnDoomImp_P3S1: TNT1 A 0 A_SpawnItem ("DoomImp_P3S1") stop
  SpawnDoomImp_P3S2: TNT1 A 0 A_SpawnItem ("DoomImp_P3S2") stop
  SpawnDoomImp_P3S3: TNT1 A 0 A_SpawnItem ("DoomImp_P3S3") stop
  SpawnDoomImp_P4S1: TNT1 A 0 A_SpawnItem ("DoomImp_P4S1") stop
  SpawnDoomImp_P4S2: TNT1 A 0 A_SpawnItem ("DoomImp_P4S2") stop
  SpawnDoomImp_P4S3: TNT1 A 0 A_SpawnItem ("DoomImp_P4S3") stop
  SpawnDoomImp_R1S1: TNT1 A 0 A_SpawnItem ("DoomImp_R1S1") stop
  SpawnDoomImp_R1S2: TNT1 A 0 A_SpawnItem ("DoomImp_R1S2") stop
  SpawnDoomImp_R1S3: TNT1 A 0 A_SpawnItem ("DoomImp_R1S3") stop
  SpawnDoomImp_R2S1: TNT1 A 0 A_SpawnItem ("DoomImp_R2S1") stop
  SpawnDoomImp_R2S2: TNT1 A 0 A_SpawnItem ("DoomImp_R2S2") stop
  SpawnDoomImp_R2S3: TNT1 A 0 A_SpawnItem ("DoomImp_R2S3") stop
  SpawnDoomImp_T1S1: TNT1 A 0 A_SpawnItem ("DoomImp_T1S1") stop
  SpawnDoomImp_T1S2: TNT1 A 0 A_SpawnItem ("DoomImp_T1S2") stop
  SpawnDoomImp_T1S3: TNT1 A 0 A_SpawnItem ("DoomImp_T1S3") stop
  SpawnDoomImp_T2S1: TNT1 A 0 A_SpawnItem ("DoomImp_T2S1") stop
  SpawnDoomImp_T2S2: TNT1 A 0 A_SpawnItem ("DoomImp_T2S2") stop
  SpawnDoomImp_T2S3: TNT1 A 0 A_SpawnItem ("DoomImp_T2S3") stop
  SpawnDoomImp_A1S1: TNT1 A 0 A_SpawnItem ("DoomImp_A1S1") stop
  SpawnDoomImp_A1S2: TNT1 A 0 A_SpawnItem ("DoomImp_A1S2") stop
  SpawnDoomImp_A1S3: ANA1 A 0 A_SpawnItem ("DoomImp_A1S3") stop
  SpawnDoomImp_A2S1: TNT1 A 0 A_SpawnItem ("DoomImp_A2S1") stop
  SpawnDoomImp_A2S2: TNT1 A 0 A_SpawnItem ("DoomImp_A2S2") stop
  SpawnDoomImp_A2S3: TNT1 A 0 A_SpawnItem ("DoomImp_A2S3") stop
  SpawnDoomImp_O1S1: TNT1 A 0 A_SpawnItem ("DoomImp_O1S1") stop
  SpawnDoomImp_O1S2: TNT1 A 0 A_SpawnItem ("DoomImp_O1S2") stop
  SpawnDoomImp_O1S3: TNT1 A 0 A_SpawnItem ("DoomImp_O1S3") stop
  SpawnDoomImp_O2S1: TNT1 A 0 A_SpawnItem ("DoomImp_O2S1") stop
  SpawnDoomImp_O2S2: TNT1 A 0 A_SpawnItem ("DoomImp_O2S2") stop
  SpawnDoomImp_O2S3: TNT1 A 0 A_SpawnItem ("DoomImp_O2S3") stop
  }
}
[/spoiler]

Posted: Wed Mar 14, 2007 9:06
by Graf Zahl
I have to admit that it's strange that everyone seems to find the threads filled with nonsense but the ones actually containing the info about custom damage types remain obscure. And yes, it has been posted a few times how this is done.

For a damage type specific death state use

Death.{damagetype}

and for a specific pain state use

Pain.{damagetype}

All the rest about custom state labels is absolutely straightforward and there is really nothing to explain. You use them like any other label.

Posted: Wed Mar 14, 2007 12:12
by solarsnowfall
The very post that I linked wrote:For the monster you want to implement this pain onto, make a new state based on the name of the damage you made, which in this case is Volt. So:
pain.Volt will make the monster jump to this state when the monster is in pain from that projectile/weapon.
death.Volt will make the monster jump to this state if the monster dies from that type of damage. Same goes with xdeath.Volt.

I'm sure this is how it worked, I'll need to test it. However, this only works with the SVN version of ZDoom or GZDoom 1.0.22.
I provided a link filled with nonsense?

Posted: Wed Mar 14, 2007 15:12
by Graf Zahl
The rest of the thread was filled with garbage, so essentially, yes. :mrgreen: Maybe the one post did not - but it wasn't presented in a readable way due to lack of proper formatting. And furthermore it's not even correct. There is no

xdeath.{damagatype}

label.

Posted: Wed Mar 14, 2007 23:03
by solarsnowfall
But for the most part it was accurate. I was linking the post, not the thread. :P

Posted: Fri Mar 23, 2007 5:34
by anakin s.
Thanks guys. I guess custom resistances have to wait, right?

Posted: Mon May 07, 2007 16:50
by Tormentor667
When will a new GZDoom version be released with all the minor fixes? (e.g. the A_Explode fix and stuff?)

Posted: Mon May 07, 2007 18:02
by Graf Zahl
When I find some time to do it.