Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
  • 0
noigs2015

Different Sprites for each weapon for player

Question

Hello. I would like to know how I could do to change the sprite of the player when he change the weapon that's carrying. I know Brutal Doom do it, but I have 2 Problems, 1st is that it's too complicated stuff and I didn't understood what I saw in it's code, and the 2nd is that i'm working in a Wad, and I don't know if it's a different way to do it since BD is a PK3.

 

Edit: I just saw somewhere here it was actually possible with ZScript. But I don't know about it. Some Zscript tutorial you recommend? Or a direct way to add aditional state for each weapon or some like that?

Edited by noigs2015

Share this post


Link to post

5 answers to this question

Recommended Posts

  • 0

Hey Guys, I made it work finally, i'll let here the code and a little explaining video.

 

 

The Token Decorate:

Spoiler

Actor FistSelect : Inventory
{
inventory.maxamount 1
}

Actor HNKSelect : Inventory
{
inventory.maxamount 1
}

Actor FlameSelect : Inventory
{
inventory.maxamount 1
}

 

 

The Weapons Decorate

Spoiler

ACTOR HKEN : WEAPON 17000
  {
  +WEAPON.CHEATNOTWEAPON
  Inventory.Pickupmessage "Omae wa mou shindeiru."
  Weapon.SelectionOrder 50
  Weapon.AmmoUse 0
  Weapon.AmmoGIVE 0
  Weapon.AmmoTYPE "Clip"
  Weapon.slotnumber 0
     States
     {
     Ready: // This state is entered when you have this weapon selected.
        FIST A 0 A_PlaySound ("WEAPONS/MARTYSWING", CHAN_WEAPON, 1)
		FIST A 1 A_WeaponReady
        Loop 
     Deselect: // This state is entered when you deselect the current selected weapon.
		FIST A 0 A_TakeInventory ("HNKSelect", 1)
		FIST A 1 A_Lower
		Loop 
     Select: // This state is entered when you select this weapon.
        FIST A 0 A_TakeInventory ("FistSelect", 1)
		FIST A 0 A_TakeInventory ("FlameSelect", 1)
		FIST A 0 A_GiveInventory ("HNKSelect", 1)
		FIST A 1 A_Raise
		Loop 
	FIRE: //AH
		MFST B 0 ACS_NamedExecuteAlways ("Shit",0)
		MFST B 0 A_PlaySound ("VOICE/1ATATA", CHAN_7 | CHAN_NOSTOP, 10, FALSE)
		MFST B 0 A_Recoil (-15)
		MFST BCDEFGHIBCDEFGHI 1 A_FireBullets (13.4, 9.2, 50, 10, "BulletPuff")
		Goto HOLD
	HOLD:
		MFST B 0 A_PlaySound ("WEAPONS/AIWOTORIMODOSE", CHAN_LOOP | CHAN_NOSTOP, 9)
		MFST B 0 A_Recoil (-15)
		MFST BCDEFGHI 1 A_FireBullets (13.4, 9.2, 50, 10, "BulletPuff")
		MFST B 0 A_PlaySound ("VOICE/2ATATA", CHAN_AUTO | CHAN_LOOP | CHAN_NOSTOP, 10)
		MFST B 0 A_Refire
		Goto AHTAHH
	AHTAHH:
		MFST B 0 A_StopSound(CHAN_AUTO)
		MFST B 0 A_StopSound(CHAN_VOICE)
		MFST B 0 A_PlaySound ("VOICE/3ATATA", CHAN_AUTO, 10)
		MFST B 0 ACS_NamedExecuteAlways ("Crap",0)
		Goto READY
		}
}

Actor Flame : WEAPON
{
  Weapon.SelectionOrder 51
  Weapon.AmmoUse 0
  Weapon.AmmoGIVE 0
  Weapon.AmmoTYPE "Shell"
  Weapon.slotnumber 2
     States
     {
     Ready: // This state is entered when you have this weapon selected.
		FLMG A 1 A_WeaponReady
        loop 
     Deselect: // This state is entered when you deselect the current selected weapon.
        FLMG A 0 A_TakeInventory ("FlameSelect", 1)
		FLMG A 1 A_Lower
		Loop 
     Select: // This state is entered when you select this weapon.
        FLMG A 0 A_TakeInventory ("FistSelect", 1)
		FLMG A 0 A_TakeInventory ("HNKSelect", 1)
		FLMG A 0 A_GiveInventory ("FlameSelect", 1)
		FLMG A 1 A_Raise
		Loop 
	FIRE: 
		FLMF BCDE 3 A_FireBullets (13.4, 9.2, 50, 10, "BulletPuff")
		FLMF FG 3 A_Refire
		Goto Ready
		}
}

Actor Punch : Weapon Replaces Fist
{
	Weapon.SelectionOrder 51
	+Weapon.MeleeWeapon
	Weapon.slotnumber 1
     States
     {
     Ready: // This state is entered when you have this weapon selected.
		PUNS B 1 A_WeaponReady
        loop 
     Deselect: // This state is entered when you deselect the current selected weapon.
        PUNS B 1 A_TakeInventory ("FistSelect", 1)
		PUNS B 1 A_Lower
		Loop 
     Select: // This state is entered when you select this weapon.
        PUNS B 0 A_TakeInventory ("FlameSelect", 1)
		PUNS B 0 A_TakeInventory ("HNKSelect", 1)
		PUNS B 0 A_GiveInventory ("FistSelect", 1)
		PUNS BCDEFGFEDCB 1 A_Raise
		Loop 
	FIRE: 
		PONG ABCDEFGHIJ 3 A_Punch
		PONG A 3 A_Refire
		Goto Ready
		}
}

 

 

The Player Decorate:

Spoiler

ACTOR Noiprocs : PlayerPawn 15010
{
    //$Category Player Starts
   Speed 1
   Health 300
   Radius 16
   Height 60
   Mass 100
   PainChance 100
   DeathSound "baby/death"
   Player.DisplayName "Noiprocs Kuroi"
   Player.StartItem "Punch"
   Player.StartItem "HKEN"
   Player.StartItem "Flame"
   Player.StartItem "Clip", 100
   Player.WeaponSlot 0, "HKEN"
   Player.WeaponSlot 1, "Punch", Chainsaw
   Player.WeaponSlot 2, "Flame", Pistol
   Player.WeaponSlot 3, Shotgun, SuperShotgun
   Player.WeaponSlot 4, Chaingun
   Player.WeaponSlot 5, RocketLauncher
   Player.WeaponSlot 6, PlasmaRifle
   Player.WeaponSlot 7, BFG9000
   Player.Face "Noi"
   States
   {
   Spawn:
      ALY1 A 0
      ALY1 A -1
      Loop
    StandStill:
        ALY1 A 0 A_JumpIfInventory ("HNKSelect", 1, "HokutoStand")
        ALY1 A 0 A_JumpIfInventory ("FlameSelect", 1, "FlameStand")
        ALY1 A 0 A_JumpIfInventory ("FistSelect", 1, "FistStand")
        ALY1 A 2
        Loop
    See:
        ALY1 A 0 A_JumpIfInventory ("HNKSelect", 1, "HokutoStand")
        ALY1 A 0 A_JumpIfInventory ("FlameSelect", 1, "FlameStand")
        ALY1 A 0 A_JumpIfInventory ("FistSelect", 1, "FistStand")
        ALY1 ABCD 4
        Goto StandStill
    HokutoStand:
        ALY1 A 4
        ALY1 A 0 A_JumpIfInventory ("FlameSelect", 1, "FlameStand")
        ALY1 A 0 A_JumpIfInventory ("FistSelect", 1, "FistStand")
        ALY1 A 0 A_JumpIf (momx !=0, "HokutoSee")
        ALY1 A 0 A_JumpIf (momy !=0, "HokutoSee")
        ALY1 A 0 A_JumpIf (momz !=0, "HokutoSee")
        Loop
    HokutoSee:
        ALY1 ABCD 4
        ALY1 A 0 A_JumpIf (momx ==0, "HokutoStand")
        ALY1 A 0 A_JumpIf (momy ==0, "HokutoStand")
        ALY1 A 0 A_JumpIf (momz ==0, "HokutoStand")
        ALY1 A 0 A_JumpIfInventory ("FlameSelect", 1, "FlameStand")
        ALY1 A 0 A_JumpIfInventory ("FistSelect", 1, "FistStand")
        Loop
    FistStand:
        ALY1 A 0 A_JumpIf (momx !=0, "FistSee")
        ALY1 A 0 A_JumpIf (momy !=0, "FistSee")
        ALY1 A 0 A_JumpIf (momz !=0, "FistSee")
        ALY1 A 0 A_JumpIfInventory ("HNKSelect", 1, "HokutoStand")
        ALY1 A 0 A_JumpIfInventory ("FlameSelect", 1, "FlameStand")
        ALY1 A 4
        Goto See
    FistSee:
        ALY1 ABCD 4
        ALY1 A 0 A_JumpIf (momx ==0, "FistStand")
        ALY1 A 0 A_JumpIf (momy ==0, "FistStand")
        ALY1 A 0 A_JumpIf (momz ==0, "FistStand")
        ALY1 A 0 A_JumpIfInventory ("HNKSelect", 1, "HokutoStand")
        ALY1 A 0 A_JumpIfInventory ("FlameSelect", 1, "FlameStand")
        Goto See
    FlameStand:
        ALY5 A 0 A_JumpIf (momx !=0, "FlameSee")
        ALY5 A 0 A_JumpIf (momy !=0, "FlameSee")
        ALY5 A 0 A_JumpIf (momz !=0, "FlameSee")
        ALY5 A 0 A_JumpIfInventory ("HNKSelect", 1, "HokutoStand")
        ALY5 A 0 A_JumpIfInventory ("FistSelect", 1, "FistStand")
        ALY5 A 4
        Loop
    FlameSee:
        ALY5 ABCD 4
        ALY5 A 0 A_JumpIf (momx ==0, "FlameStand")
        ALY5 A 0 A_JumpIf (momy ==0, "FlameStand")
        ALY5 A 0 A_JumpIf (momz ==0, "FlameStand")
        ALY5 A 0 A_JumpIfInventory ("HNKSelect", 1, "HokutoStand")
        ALY5 A 0 A_JumpIfInventory ("FistSelect", 1, "FistStand")
        Loop
    
    
       //Missile:      ALY1 E 12      ALY1 F 12 bright      Goto Spawn
   //Melee:      ALY1 E 6 BRIGHT      Goto Missile
   Death:
      ALY5 A 0 A_StopSound (CHAN_AUTO)
      ALY5 G 10
      ALY5 I 10 A_scream
      ALY5 J 10 A_NoBlocking
      ALY5 KL 10
      ALY5 M 149 
      ALY5 M 0 A_Quake(9,70,0,400, "world/quake")
      ALY5 M -1
      Stop
   }
}


ACTOR Kodaka : PlayerPawn 15011
{
    //$Category Player Starts
   Speed 1
   Health 300
   Radius 16
   Height 56
   Mass 100
   PainChance 100
   DeathSound "baby/death"
   Player.DisplayName "Kodaka Bataka"
   Player.StartItem "45LongSlide"
   Player.StartItem "AutoGun"
   Player.StartItem "TERMFists1"
   Player.StartItem "Clip", 100
   Player.WeaponSlot 1, TERMFists1, Chainsaw
   Player.WeaponSlot 2, Pistol
   Player.WeaponSlot 3, Shotgun, SuperShotgun
   Player.WeaponSlot 4, Chaingun
   Player.WeaponSlot 5, RocketLauncher
   Player.WeaponSlot 6, PlasmaRifle
   Player.WeaponSlot 7, BFG9000
   
   States
   {
   Spawn:
      ALY1 A -1
      Loop
   See:
      ALY1 ABCD 4
      Loop
   Missile:
      ALY1 E 12
      ALY1 F 12 bright
      Goto Spawn
   Melee:
      ALY1 E 6 BRIGHT
      Goto Missile
   Death:
      ALY1 G 10
      ALY1 I 10 A_scream
      ALY1 J 10 A_NoBlocking
      ALY1 KL 10
      ALY1 M -1
      Stop
   }
}

 

 

Edited by noigs2015

Share this post


Link to post
  • 2

The way it occurs to me in a simple and perhaps faster way, which would be abusing the a_jumpifinventory giving a inventory to each player class

 

this is a example of 2 player class:

    Ready:
		TNT1 A 0 A_JumpIfInventory("Anotherplayerclass", 1, "AnotherReady") //This make sure if the player is using the another player class, if he have the 
		SHTG A 1 A_WeaponReady                                              //inventory, the weapon will jump to the another state
		Loop
	AnotherReady:
		SG64 A 1 a_weaponready
		loop

 

Share this post


Link to post
  • 1
3 hours ago, Gaia74 said:

The way it occurs to me in a simple and perhaps faster way, which would be abusing the a_jumpifinventory giving a inventory to each player class

 

this is a example of 2 player class:


    Ready:
		TNT1 A 0 A_JumpIfInventory("Anotherplayerclass", 1, "AnotherReady") //This make sure if the player is using the another player class, if he have the 
		SHTG A 1 A_WeaponReady                                              //inventory, the weapon will jump to the another state
		Loop
	AnotherReady:
		SG64 A 1 a_weaponready
		loop

 

 

@Gaia74 Ok, I think that thanks to you, I kind of understand the way BD does. Look:

 

Spoiler

Actor FistsSelected: Inventory
{
inventory.maxamount 1
}

Actor FireHold: Inventory
{
inventory.maxamount 40
}

Actor ChainsawSelected: Inventory
{
inventory.maxamount 1
}

Actor IsChainsawingEnemyPlayer: Inventory
{
inventory.maxamount 1
}

This is from a decorate file in it called "TOKENS" Where a lot of actors like this are written. It's, let's say, an "Item" to specify like a Boolean Value, where 1 is "True" and 0 is "False". Let's focus on the Chainsaw for this one. Ehich also have this "Item" Actor:


Actor SawSelected: Inventory
{
inventory.maxamount 1
}

 

 

Spoiler

Then we'll look on the Weapons Decorates, The Saw in this Case. Jumping to the States where's the important here, There's a Spawn, then a Purist Gun (For the Purist mode obviously), and then the Select, where a lot of sprites with 0 tics uses this two Functions: A_GiveInventory (which give you a thing or an "Item" you created) and A_TakeInventory (which take any of it away).

 


Select:
		
		SAWG A 0 
		SAWG A 0 A_Takeinventory("FistsSelected",1)
		SAWG A 0 A_Giveinventory("GoSpecial",1)
		SAWG A 0 A_Takeinventory("ShotgunSelected",1)
		SAWG A 0 A_Takeinventory("SSGSelected",1)
		SAWG A 0 A_Takeinventory("MinigunSelected",1)
		SAWG A 0 A_Takeinventory("PlasmaGunSelected",1)
		SAWG A 0 A_Takeinventory("RocketLauncherSelected",1)
		SAWG A 0 A_Takeinventory("GrenadeLauncherSelected",1)
		SAWG A 0 A_Takeinventory("BFGSelected",1)
		SAWG A 0 A_Takeinventory("BFG10kSelected",1)
		SAWG A 0 A_Takeinventory("RailGunSelected",1)
		SAWG A 0 A_Takeinventory("SubMachineGunSelected",1)
		SAWG A 0 A_Takeinventory("RevenantLauncherSelected",1)
		SAWG A 0 A_Takeinventory("LostSoulSelected",1)
		SAWG A 0 A_Takeinventory("FlameCannonSelected",1)
		SAWG A 0 A_Takeinventory("HasBarrel",1)
		KICK A 0 A_Takeinventory("PowerBloodOnVisor",1)
		KICK A 0 A_Takeinventory("PowerBlueBloodOnVisor",1)
		KICK A 0 A_Takeinventory("PowerGreenBloodOnVisor",1)
		SAWG A 0 A_Giveinventory("HasCutingWeapon",1)
		SAWG A 0 A_Giveinventory("sawSelected",1)
		TNT1 AAAAAA 1 A_RAise
		TNT1 AAAAAAAAA 0 A_Raise
		Goto SelectAnimation

 

It basically take away of you any other of the "Item" you had and give you the specific "Item" for the Chainsaw.

 

Spoiler

And then is the PLAYERS Decorate, that have A LOT of properties, and have this in the See State:


See:
		MARN A 0
		MARN A 0 A_TakeInventory("IsStandingStill", 1)
		MARN A 0 A_TakeInventory("ChainguyguyContinue", 1)
		NULL A 0 A_JumpIfInventory("Punching", 1, "Punch")
		MARN A 0 A_JumpIfInventory("FistsSelected", 1, "FistSee")
		MARN A 0 A_JumpIfInventory("ShotgunSelected", 1, "ShotgunSee")
		MARN A 0 A_JumpIfInventory("MinigunSelected", 1, "MinigunSee")
		TNT1 A 0 A_JumpIfInventory("SSGSelected", 1, "SSGSee")
		TNT1 A 0 A_JumpIfInventory("RocketLauncherSelected", 1, "RocketLauncherSee")
		TNT1 A 0 A_JumpIfInventory("GrenadeLauncherSelected", 1, "GrenadeLauncherSee")
		TNT1 A 0 A_JumpIfInventory("PlasmaGunSelected", 1, "PlasmaGunSee")
		TNT1 A 0 A_JumpIfInventory("RailGunSelected", 1, "RailGunSee")
		TNT1 A 0 A_JumpIfInventory("RevenantLauncherSelected", 1, "RevLauncherSee")
		TNT1 A 0 A_JumpIfInventory("SubMachineGunSelected", 1, "SubMGSee")
		TNT1 A 0 A_JumpIfInventory("BFG10KSelected", 1, "BFG10Ksee")
		TNT1 A 0 A_JumpIfInventory("BFGSelected", 1, "BFG9Ksee")
		TNT1 A 0 A_JumpIfInventory("FlameCannonSelected", 1, "FlamerSee")
		TNT1 A 0 A_JumpIfInventory("SawSelected", 1, "ChainSawSee")

As you suggested, It abuses of A_JumpIfInventory, but, adding the "Item" thing it completes it. When you take a Chainsaw (Or any other weapon) it drops from you any other "Item" and gives you its own, so it will jump automatically to the ChainSawSee State.


ChainsawSee:
		NULL A 0 A_TakeInventory("ChainguyguyContinue", 1)
		NULL A 0 A_TakeInventory("IsStandingStill", 1)
		MAR1 AAA 1 A_JumpIf (momZ != 0, "ChainsawIsJumpin")
		NULL A 0 A_JumpIfInventory("Punching", 1, "Punch")
		NULL A 0 A_JumpIfInventory("GoSpecial", 1, "SpecialCheckerMoving")
				
		
		NULL A 0 A_JumpIfInventory("Punching", 1, "Punch")
		MAR1 BBB 1 A_JumpIf (momZ != 0, "ChainsawIsJumpin")
		NULL A 0 A_JumpIfInventory("Punching", 1, "Punch")
		NULL B 0 A_JumpIfInventory("GoSpecial", 1, "SpecialCheckerMoving")
		NULL B 0 A_SpawnItemEx("FootStep6", 0, 0, 8, 0, 0, 0, 0, SXF_SETMASTER )
		MAR1 CCC 1 A_JumpIf (momZ != 0, "ChainsawIsJumpin")
		NULL A 0 A_JumpIfInventory("Punching", 1, "Punch")
		NULL C 0 A_JumpIfInventory("GoSpecial", 1, "SpecialCheckerMoving")
		
		NULL A 0 A_JumpIfInventory("Punching", 1, "Punch")
		MAR1 DDD 1 A_JumpIf (momZ != 0, "ChainsawIsJumpin")
		NULL A 0 A_JumpIfInventory("Punching", 1, "Punch")
		NULL B 0 A_JumpIfInventory("GoSpecial", 1, "SpecialCheckerMoving")
		//MARN B 0 A_SpawnItemEx("FootStep6", 0, 0, 8, 0, 0, 0, 0, SXF_SETMASTER )//extra
		
		NULL B 0 A_JumpIfInventory("BootsSmearedWithRedBlood", 1, "SeeSmearedWithRedBlood")
		NULL A 0 A_JumpIfInventory("BootsSmearedWithBlueBlood", 1, "SeeSmearedWithBlueBlood")
		NULL A 0 A_JumpIfInventory("BootsSmearedWithGreenBlood", 1, "SeeSmearedWithGreenBlood")
		//MAR1 A 0 A_JumpIfHealthLower(25, "HeavyWounds")

 

 

I'm just sure of one thing. The guy that made this is a F*cking Genious.

 

I'll Try it and will tell you if actually worked... maybe tomorrow XD.

 

 

@Doomkid Lol, I was just seeing a Video of yours in Youtube about the MapInfo lump functions, thanks man.

 

Share this post


Link to post
  • 0

Hey Guys, I made it work finally, i'll let here the code and a little explaining video.

 

 

The Token Decorate:

Spoiler

Actor FistSelect : Inventory
{
inventory.maxamount 1
}

Actor HNKSelect : Inventory
{
inventory.maxamount 1
}

Actor FlameSelect : Inventory
{
inventory.maxamount 1
}

 

 

The Weapons Decorate

Spoiler

ACTOR HKEN : WEAPON 17000
  {
  +WEAPON.CHEATNOTWEAPON
  Inventory.Pickupmessage "Omae wa mou shindeiru."
  Weapon.SelectionOrder 50
  Weapon.AmmoUse 0
  Weapon.AmmoGIVE 0
  Weapon.AmmoTYPE "Clip"
  Weapon.slotnumber 0
     States
     {
     Ready: // This state is entered when you have this weapon selected.
        FIST A 0 A_PlaySound ("WEAPONS/MARTYSWING", CHAN_WEAPON, 1)
		FIST A 1 A_WeaponReady
        Loop 
     Deselect: // This state is entered when you deselect the current selected weapon.
		FIST A 0 A_TakeInventory ("HNKSelect", 1)
		FIST A 1 A_Lower
		Loop 
     Select: // This state is entered when you select this weapon.
        FIST A 0 A_TakeInventory ("FistSelect", 1)
		FIST A 0 A_TakeInventory ("FlameSelect", 1)
		FIST A 0 A_GiveInventory ("HNKSelect", 1)
		FIST A 1 A_Raise
		Loop 
	FIRE: //AH
		MFST B 0 ACS_NamedExecuteAlways ("Shit",0)
		MFST B 0 A_PlaySound ("VOICE/1ATATA", CHAN_7 | CHAN_NOSTOP, 10, FALSE)
		MFST B 0 A_Recoil (-15)
		MFST BCDEFGHIBCDEFGHI 1 A_FireBullets (13.4, 9.2, 50, 10, "BulletPuff")
		Goto HOLD
	HOLD:
		MFST B 0 A_PlaySound ("WEAPONS/AIWOTORIMODOSE", CHAN_LOOP | CHAN_NOSTOP, 9)
		MFST B 0 A_Recoil (-15)
		MFST BCDEFGHI 1 A_FireBullets (13.4, 9.2, 50, 10, "BulletPuff")
		MFST B 0 A_PlaySound ("VOICE/2ATATA", CHAN_AUTO | CHAN_LOOP | CHAN_NOSTOP, 10)
		MFST B 0 A_Refire
		Goto AHTAHH
	AHTAHH:
		MFST B 0 A_StopSound(CHAN_AUTO)
		MFST B 0 A_StopSound(CHAN_VOICE)
		MFST B 0 A_PlaySound ("VOICE/3ATATA", CHAN_AUTO, 10)
		MFST B 0 ACS_NamedExecuteAlways ("Crap",0)
		Goto READY
		}
}

Actor Flame : WEAPON
{
  Weapon.SelectionOrder 51
  Weapon.AmmoUse 0
  Weapon.AmmoGIVE 0
  Weapon.AmmoTYPE "Shell"
  Weapon.slotnumber 2
     States
     {
     Ready: // This state is entered when you have this weapon selected.
		FLMG A 1 A_WeaponReady
        loop 
     Deselect: // This state is entered when you deselect the current selected weapon.
        FLMG A 0 A_TakeInventory ("FlameSelect", 1)
		FLMG A 1 A_Lower
		Loop 
     Select: // This state is entered when you select this weapon.
        FLMG A 0 A_TakeInventory ("FistSelect", 1)
		FLMG A 0 A_TakeInventory ("HNKSelect", 1)
		FLMG A 0 A_GiveInventory ("FlameSelect", 1)
		FLMG A 1 A_Raise
		Loop 
	FIRE: 
		FLMF BCDE 3 A_FireBullets (13.4, 9.2, 50, 10, "BulletPuff")
		FLMF FG 3 A_Refire
		Goto Ready
		}
}

Actor Punch : Weapon Replaces Fist
{
	Weapon.SelectionOrder 51
	+Weapon.MeleeWeapon
	Weapon.slotnumber 1
     States
     {
     Ready: // This state is entered when you have this weapon selected.
		PUNS B 1 A_WeaponReady
        loop 
     Deselect: // This state is entered when you deselect the current selected weapon.
        PUNS B 1 A_TakeInventory ("FistSelect", 1)
		PUNS B 1 A_Lower
		Loop 
     Select: // This state is entered when you select this weapon.
        PUNS B 0 A_TakeInventory ("FlameSelect", 1)
		PUNS B 0 A_TakeInventory ("HNKSelect", 1)
		PUNS B 0 A_GiveInventory ("FistSelect", 1)
		PUNS BCDEFGFEDCB 1 A_Raise
		Loop 
	FIRE: 
		PONG ABCDEFGHIJ 3 A_Punch
		PONG A 3 A_Refire
		Goto Ready
		}
}

 

 

The Player Decorate:

Spoiler

ACTOR Noiprocs : PlayerPawn 15010
{
    //$Category Player Starts
   Speed 1
   Health 300
   Radius 16
   Height 60
   Mass 100
   PainChance 100
   DeathSound "baby/death"
   Player.DisplayName "Noiprocs Kuroi"
   Player.StartItem "Punch"
   Player.StartItem "HKEN"
   Player.StartItem "Flame"
   Player.StartItem "Clip", 100
   Player.WeaponSlot 0, "HKEN"
   Player.WeaponSlot 1, "Punch", Chainsaw
   Player.WeaponSlot 2, "Flame", Pistol
   Player.WeaponSlot 3, Shotgun, SuperShotgun
   Player.WeaponSlot 4, Chaingun
   Player.WeaponSlot 5, RocketLauncher
   Player.WeaponSlot 6, PlasmaRifle
   Player.WeaponSlot 7, BFG9000
   Player.Face "Noi"
   States
   {
   Spawn:
      ALY1 A 0
      ALY1 A -1
      Loop
    StandStill:
        ALY1 A 0 A_JumpIfInventory ("HNKSelect", 1, "HokutoStand")
        ALY1 A 0 A_JumpIfInventory ("FlameSelect", 1, "FlameStand")
        ALY1 A 0 A_JumpIfInventory ("FistSelect", 1, "FistStand")
        ALY1 A 2
        Loop
    See:
        ALY1 A 0 A_JumpIfInventory ("HNKSelect", 1, "HokutoStand")
        ALY1 A 0 A_JumpIfInventory ("FlameSelect", 1, "FlameStand")
        ALY1 A 0 A_JumpIfInventory ("FistSelect", 1, "FistStand")
        ALY1 ABCD 4
        Goto StandStill
    HokutoStand:
        ALY1 A 4
        ALY1 A 0 A_JumpIfInventory ("FlameSelect", 1, "FlameStand")
        ALY1 A 0 A_JumpIfInventory ("FistSelect", 1, "FistStand")
        ALY1 A 0 A_JumpIf (momx !=0, "HokutoSee")
        ALY1 A 0 A_JumpIf (momy !=0, "HokutoSee")
        ALY1 A 0 A_JumpIf (momz !=0, "HokutoSee")
        Loop
    HokutoSee:
        ALY1 ABCD 4
        ALY1 A 0 A_JumpIf (momx ==0, "HokutoStand")
        ALY1 A 0 A_JumpIf (momy ==0, "HokutoStand")
        ALY1 A 0 A_JumpIf (momz ==0, "HokutoStand")
        ALY1 A 0 A_JumpIfInventory ("FlameSelect", 1, "FlameStand")
        ALY1 A 0 A_JumpIfInventory ("FistSelect", 1, "FistStand")
        Loop
    FistStand:
        ALY1 A 0 A_JumpIf (momx !=0, "FistSee")
        ALY1 A 0 A_JumpIf (momy !=0, "FistSee")
        ALY1 A 0 A_JumpIf (momz !=0, "FistSee")
        ALY1 A 0 A_JumpIfInventory ("HNKSelect", 1, "HokutoStand")
        ALY1 A 0 A_JumpIfInventory ("FlameSelect", 1, "FlameStand")
        ALY1 A 4
        Goto See
    FistSee:
        ALY1 ABCD 4
        ALY1 A 0 A_JumpIf (momx ==0, "FistStand")
        ALY1 A 0 A_JumpIf (momy ==0, "FistStand")
        ALY1 A 0 A_JumpIf (momz ==0, "FistStand")
        ALY1 A 0 A_JumpIfInventory ("HNKSelect", 1, "HokutoStand")
        ALY1 A 0 A_JumpIfInventory ("FlameSelect", 1, "FlameStand")
        Goto See
    FlameStand:
        ALY5 A 0 A_JumpIf (momx !=0, "FlameSee")
        ALY5 A 0 A_JumpIf (momy !=0, "FlameSee")
        ALY5 A 0 A_JumpIf (momz !=0, "FlameSee")
        ALY5 A 0 A_JumpIfInventory ("HNKSelect", 1, "HokutoStand")
        ALY5 A 0 A_JumpIfInventory ("FistSelect", 1, "FistStand")
        ALY5 A 4
        Loop
    FlameSee:
        ALY5 ABCD 4
        ALY5 A 0 A_JumpIf (momx ==0, "FlameStand")
        ALY5 A 0 A_JumpIf (momy ==0, "FlameStand")
        ALY5 A 0 A_JumpIf (momz ==0, "FlameStand")
        ALY5 A 0 A_JumpIfInventory ("HNKSelect", 1, "HokutoStand")
        ALY5 A 0 A_JumpIfInventory ("FistSelect", 1, "FistStand")
        Loop
    
    
       //Missile:      ALY1 E 12      ALY1 F 12 bright      Goto Spawn
   //Melee:      ALY1 E 6 BRIGHT      Goto Missile
   Death:
      ALY5 A 0 A_StopSound (CHAN_AUTO)
      ALY5 G 10
      ALY5 I 10 A_scream
      ALY5 J 10 A_NoBlocking
      ALY5 KL 10
      ALY5 M 149 
      ALY5 M 0 A_Quake(9,70,0,400, "world/quake")
      ALY5 M -1
      Stop
   }
}


ACTOR Kodaka : PlayerPawn 15011
{
    //$Category Player Starts
   Speed 1
   Health 300
   Radius 16
   Height 56
   Mass 100
   PainChance 100
   DeathSound "baby/death"
   Player.DisplayName "Kodaka Bataka"
   Player.StartItem "45LongSlide"
   Player.StartItem "AutoGun"
   Player.StartItem "TERMFists1"
   Player.StartItem "Clip", 100
   Player.WeaponSlot 1, TERMFists1, Chainsaw
   Player.WeaponSlot 2, Pistol
   Player.WeaponSlot 3, Shotgun, SuperShotgun
   Player.WeaponSlot 4, Chaingun
   Player.WeaponSlot 5, RocketLauncher
   Player.WeaponSlot 6, PlasmaRifle
   Player.WeaponSlot 7, BFG9000
   
   States
   {
   Spawn:
      ALY1 A -1
      Loop
   See:
      ALY1 ABCD 4
      Loop
   Missile:
      ALY1 E 12
      ALY1 F 12 bright
      Goto Spawn
   Melee:
      ALY1 E 6 BRIGHT
      Goto Missile
   Death:
      ALY1 G 10
      ALY1 I 10 A_scream
      ALY1 J 10 A_NoBlocking
      ALY1 KL 10
      ALY1 M -1
      Stop
   }
}

 

 

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
×