Intricate Decorate Weapon Problem

Archive of the old editing forum
Forum rules
Before asking on how to use a ZDoom feature, read the ZDoom wiki first. This forum is archived - please use this set of forums to ask new questions.
Locked
User avatar
MrDoom8000
Posts: 10
Joined: Mon Sep 14, 2009 1:50 pm
Location: Wichita, Kansas
Contact:

Intricate Decorate Weapon Problem

Post by MrDoom8000 »

Hello. Mr. Doom typing.

I've been having this problem for about 2 months, now. It is annoying the stuffing out of me.

I select a weapon from either slot 4 or slot 6, and the game freezes. However, if I have all the weapons for that slot, the game won't freeze. It will cycle through all of them. Another interesting thing is that when I use the miniwheel on my mouse, the game will cycle through all the weapons I have in my arsenal and it won't freeze.

Below is the code for the weapons in slot 4.

Code: Select all

actor D64Chaingun : Weapon replaces Chaingun
{
   Game Doom
   Weapon.SelectionOrder 1100
   Weapon.SlotNumber 4
   Weapon.SlotPriority 0
   Weapon.AmmoUse 1
   Weapon.AmmoGive 20
   Weapon.AmmoType "Clip"
   Weapon.UpSound "weapons/CHAINUP"
   Inventory.PickupMessage "You got the Doom64 Chaingun!"
   Obituary "%o was mowed down by %k's Doom64 Chaingun."
   States
   {
   Ready:
     CHGG A 1 A_WeaponReady
     Loop
   Deselect:
     CHGG A 0 A_PlaySound ("CHANGE")
     CHGG A 1 A_Lower
     Goto Deselect+1
   Select:
     CHGG A 1 A_Raise
     loop
   Fire:
     CHGG AB 3 A_FireCGun
     CHGG B 0 A_ReFire
     Goto Ready
   Flash:
     CHGF A 4 Bright A_Light1
     Goto LightDone
     CHGF B 4 Bright A_Light1
     Goto LightDone
   Spawn:
     MGUN A -1
     Stop
   }
}

//==================================NEXT WEAPON========================

//Weapon: Heavy Rifle
//By: ZChronos

ACTOR HeavyRifle : Weapon 25035
{ 
   Inventory.PickupMessage "You got the Heavy Rifle!" 
   Inventory.PickupSound "misc/w_pkup" 
   Weapon.AmmoType "Clip"
   Weapon.UpSound "weapons/rifleup"
   Weapon.AmmoGive 50 
   Weapon.AmmoUse 5 
   Weapon.Kickback 900
   Weapon.SelectionOrder 1300
   Weapon.SlotNumber 4
   Weapon.SlotPriority 0.5
   Obituary "%k put a bullet through %o's head."
   States 
   {
   Ready: 
      HVRG A 1 A_WeaponReady 
      Loop
   Deselect:
      HVRG A 0 A_PlaySound ("CHANGE")
      HVRG A 1 A_Lower 
      Goto Deselect+1
   Select:
      HVRG A 1 A_Raise
      loop 
   Fire:
      HVRF A 0 Bright A_PlaySound("weapons/riflefre")
      HVRF A 0 Bright A_FireCustomMissile("HeavyBullet", 0, 1, 0, 0)
      HVRF A 0 Bright A_FireCustomMissile("HeavyBullet", 0, 0, 0, 0)
      HVRF A 0 Bright A_FireCustomMissile("HeavyBullet", 0, 0, 0, 0)
      HVRF A 0 Bright A_FireCustomMissile("HeavyBullet", 0, 0, 0, 0)
      HVRF A 5 Bright A_FireCustomMissile("HeavyBullet", 0, 0, 0, 0)
      HVRF B 5 Bright A_Recoil(3) 
      HVRG A 10
      HVRG A 0 A_Refire
      Goto Ready
   Spawn: 
      HVYR A -1 
      Stop 
   }
}

ACTOR HeavyBullet
{
   Speed 250
   Damage 5
   Radius 6
   Height 8
   PROJECTILE
   +STRIFEDAMAGE
   RENDERSTYLE ADD
   ALPHA 0.7 
   States
   {
   Spawn:
      BULL A 1 Bright
      Loop
   Death:
      HPUF ABCD 3
      Stop
   }
}

//=========================Next Weapon===========================

actor Q2Chaingun : Weapon 23040
{
    decal BulletChip
    Weapon.SelectionOrder 400
    Weapon.SlotNumber 4
    Weapon.SlotPriority 1
    Weapon.AmmoType Clip
    Weapon.UpSound "weapons/CHAINUP"
    Weapon.AmmoUse 1
    Weapon.AmmoGive 60
    Weapon.KickBack 200
    Inventory.PickupMessage "You picked up the Quake II Chaingun."
    Inventory.PickupSound "misc/w_pkup"
    AttackSound "weapons/mgunfire"
    Obituary "%o was totally perforated by %k's Quake II Chaingun."
    States
    {
    Select:
       CHNG A 1 A_Raise
       loop
    Deselect:
       CHNG A 0 A_TakeInventory ("DumbyOne",2)
       CHNG A 0 A_TakeInventory ("WTFIsThis",14) 
       CHNG A 0 A_PlaySound ("CHANGE")
       CHNG A 1 A_Lower
       Goto Deselect+3
    Ready:
       CHNG A 1 A_WeaponReady
       Loop
    Fire:
       CHNG A 0 A_GiveInventory ("DumbyOne",1)
       CHNG A 0 A_JumpIfInventory ("DumbyOne",2,2)
       CHNG A 25 A_PlaySound ("weapons/chaingunon")
       CHNG A 0 A_GiveInventory ("WTFIsThis",1)
       CHNG A 0 A_JumpIfInventory ("WTFIsThis",14,10)
       CHNG A 1 Bright A_FireBullets (1,1,1,4,"BulletPuff")
       CHNG A 0 A_PlaySound ("weapons/chaingunidle")
       CHNG B 1 Bright
       CHNG C 1
       CHNG D 1
       CHNG A 0 A_Refire
       CHNG A 0 A_TakeInventory ("DumbyOne",2)
       CHNG A 0 A_PlaySound ("weapons/chaingunoff")
       Goto Ready
       CHNG A 0 A_Recoil (1)
       CHNG A 1 Bright A_FireBullets (4,3,1,10,"BulletPuff")
       CHNG B 1 Bright A_FireBullets (3,4,1,10,"BulletPuff")
       CHNG C 1
       CHNG B 0 A_PlaySound ("weapons/chaingunidle")
       CHNG B 0 A_Refire
       CHNG A 0 A_TakeInventory ("DumbyOne",2)
       CHNG A 0 A_PlaySound ("weapons/chaingunoff")
       CHNG B 0 A_TakeInventory ("WTFIsThis",14)      
       Goto Ready
    Spawn:
       CGUN A -1
       Stop
    }
}

actor WTFIsThis : Inventory
{
    Inventory.MaxAmount 14
}

actor DumbyOne : Inventory
{
    Inventory.MaxAmount 2
}

And this is the code for the weapons in slot 6.

Code: Select all

actor D64PlasmaRifle : Weapon replaces PlasmaRifle
{
  Game Doom
  Weapon.SelectionOrder 200
  Weapon.SlotNumber 6
  Weapon.SlotPriority 0
  Weapon.AmmoUse 1
  Weapon.AmmoGive 40
  Weapon.AmmoType "Cell"
  Weapon.ReadySound "weapons/PSIDL"
  Inventory.PickupMessage "You got the Doom 64 Plasma Rifle!"
  States
  {
  Ready:
    PLSG ABCDABCDABCDABCDABCDABCD 1 A_WeaponReady
    Loop
  Deselect:
    PLSG A 0 A_PlaySound("CHANGE")
    PLSG A 1 A_Lower
    Goto Deselect+1
  Select:
    PLSG A 1 A_Raise
    loop
  Fire:
    PLSG A 4 A_FirePlasma // See PlasmaBall
    PLSG A 4 A_ReFire
    Goto Ready
  Flash:
    PLSF A 2 Bright A_Light1
    PLSF B 2 Bright A_Light2
    Goto LightDone
  Spawn:
    PLAS A -1
    Stop
  }
}

actor PlasmaBall
{
  Game Doom
  SpawnID 51
  Radius 13
  Height 8
  Speed 25
  Damage 7
  DamageType Normal
  Decal PlasmaScorch
  Projectile
  +RANDOMIZE
  RenderStyle Add
  Alpha 0.75
  SeeSound "weapons/plasmaf"
  DeathSound "weapons/plasmax"
  Obituary "%o saw pretty lights from %k's Doom64 Plasma Gun."
  States
  {
  Spawn:
    PLSS AB 6 bright
    loop
  Death:
    PLSE ABCDE 4 bright
    stop
  }
}

//==================================Next Weapon========================

ACTOR DOOM3PlasmaGun : Weapon 23045
{
   Decal PlasmaScorch
   Inventory.PickupMessage "You got the DOOM3 Plasma Rifle!"
   inventory.pickupsound "misc/w_pkup"
   Obituary "%o was scorched by %k's DOOM3 Plasma Rifle."
   Weapon.SelectionOrder 500
   Weapon.SlotNumber 6
   Weapon.SlotPriority 0.25
   Weapon.AmmoType cell
   Weapon.AmmoGive1 30
   Weapon.AmmoUse 1
   Weapon.Kickback 10
   Weapon.UpSound "weapons/D3PGUP"
   States
   {
   Ready:
      NWPG ABCDEFGHHGFEDCBA 3 A_WeaponReady
      LOOP
   Deselect:
      NWPG A 0 A_PlaySound("CHANGE")
      NWPG A 1 A_Lower
      Goto Deselect+1
   Select:
      NWPG A 1 A_Raise
      loop
   Fire:
      NWPF A 1 A_GunFlash
	  NULL A 0 A_PlaySound("weapons/d3plasmaf")
	  NULL A 0 A_FireCustomMissile("D3PlasmaBall",0,1,6,0)
	  NULL A 0 A_FireCustomMissile("PlasmaFlameSpawner",0,0,5,6)
      NWPF B 2
      NWPF B 0 A_Jump (167, 3)
          NWPF B 1
	  NWPF C 2
      NWPF A 0 A_Refire
	  NWPF DDCB 1
      Goto Ready
   Spawn:
      PGUN A -1
      stop
   }
}

ACTOR D3PlasmaBall
{
   Decal PlasmaScorch
   Speed 25
   Height 8
   Radius 13
   Damage 5
   RenderStyle Translucent
   Alpha 0.75
   Scale 0.55
   PROJECTILE
   DamageType Fire
   Health 60
   +SHOOTABLE
   +DONTGIB
   +NOICEDEATH
   +NOBLOOD
   States
   {
   Spawn:
      D3PP A 0 BRIGHT A_SetShootable
      D3PP A 1 BRIGHT
      D3PP B 1 BRIGHT A_CustomMissile("plasmatrail", 0, 0, 0)
      D3PP C 1 BRIGHT A_CustomMissile("plasmatrail", 0, 0, 0)
      D3PP D 1 BRIGHT A_CustomMissile("plasmatrail", 0, 0, 0)
      D3PP E 1 BRIGHT A_CustomMissile("plasmatrail", 0, 0, 0)
      D3PP F 1 BRIGHT A_CustomMissile("plasmatrail", 0, 0, 0)
      D3PP G 1 BRIGHT A_CustomMissile("plasmatrail", 0, 0, 0)
      D3PP H 1 BRIGHT A_CustomMissile("plasmatrail", 0, 0, 0)
      D3PP I 1 BRIGHT A_CustomMissile("plasmatrail", 0, 0, 0)
      D3PP J 1 BRIGHT A_CustomMissile("plasmatrail", 0, 0, 0)
      D3PP K 1 BRIGHT A_CustomMissile("plasmatrail", 0, 0, 0)
      D3PP L 1 BRIGHT A_CustomMissile("plasmatrail", 0, 0, 0)
      D3PP M 1 BRIGHT A_CustomMissile("plasmatrail", 0, 0, 0)
      D3PP N 1 BRIGHT A_CustomMissile("plasmatrail", 0, 0, 0)
      D3PP O 1 BRIGHT A_CustomMissile("plasmatrail", 0, 0, 0)
      D3PP P 1 BRIGHT A_CustomMissile("plasmatrail", 0, 0, 0)
      D3PP Q 1 BRIGHT A_CustomMissile("plasmatrail", 0, 0, 0)
      D3PP R 1 BRIGHT A_CustomMissile("plasmatrail", 0, 0, 0)
      D3PP S 1 BRIGHT A_CustomMissile("plasmatrail", 0, 0, 0)
      D3PP T 1 BRIGHT A_CustomMissile("plasmatrail", 0, 0, 0)
      D3PP U 1 BRIGHT A_CustomMissile("plasmatrail", 0, 0, 0)
      D3PP V 1 BRIGHT A_CustomMissile("plasmatrail", 0, 0, 0)
      Goto Spawn+1
   Death:
      D3PE A 1 BRIGHT A_PlaySound("weapons/d3plasmax")
      D3PE BCDEF 1 BRIGHT
      PLSS GHIJKLMNOPQRSTUVWXYZ 1 BRIGHT
      PLSZ ABC 1 BRIGHT
      Stop
   }
}

ACTOR PlasmaFlameSpawner
{
    Radius 1
    Height 1
    Speed 14
    PROJECTILE
    States
    {
    Spawn:
        TNT1 A 1
        TNT1 A 0 A_Die
        Goto Death
    Death:
        TNT1 A 0 A_CustomMissile("PlasmaFlame",0,0,0)
        Stop
    }
}


ACTOR plasmatrail
{
   Height 8
   Radius 1
   Damage 0
   Projectile
   Scale 0.15
   Speed 0.2
   RenderStyle Translucent
   Alpha 0.4
   +NOGRAVITY
   +DOOMBOUNCE
   +DROPOFF
   States
   {
   Spawn:
      D3PE ABCDEF 1
      PLSS GHIJKLMNOPQRSTUVWXYZ 1
      PLSZ ABC 1
      Stop
   }
}

ACTOR PlasmaFlame
{
	Radius 1
	Height 1
	PROJECTILE
	+NOGRAVITY
	+FLOORCLIP
	+NOBLOCKMAP
	Alpha 0.8
	Scale 0.2
	Mass 0
	RenderStyle Add
	States
	{
	Spawn:
	   TNT1 A 0
           D3PE BCDEF 1
	   PLSS GHIJKLMNOPQRSTUVWXYZ 1 A_FadeOut(0.01)
	   Stop
	}
}

//==========================NEXT WEAPON======================

actor ElectricPlasmaGun : Weapon 25030
{
  Weapon.SelectionOrder 600
  Weapon.SlotNumber 6
  Weapon.SlotPriority 0.5
  Weapon.AmmoUse 1
  Weapon.AmmoGive 40
  Weapon.AmmoType "Cell"
  Weapon.UpSound "weapons/EPRFIRE"
  Inventory.PickupMessage "You got the Electric Plasma Gun!"
  States
  {
  Ready:
    ETRG A 1 A_WeaponReady
    Loop
  Deselect:
    ETRG A 0 A_PlaySound("CHANGE")
    ETRG A 1 A_Lower
    Goto Deselect+1
  Select:
    ETRG A 1 A_Raise
    loop
  Fire:
    ETRG B 0 A_PlayWeaponSound("electricplasma/charge")
    ETRG B 2 A_GunFlash 
    ETRF B 2 A_FireCustomMissile("ElectroPlasmaBlast")
    ETRF C 2 A_FireCustomMissile("ElectroPlasmaBlast")
    ETRG B 2 A_ReFire
    Goto Ready
  Flash:
    ETRF A 2 Bright A_Light1
    ETRF B 2 Bright A_Light1
    ETRF C 2 Bright A_Light1
    Goto LightDone
  Spawn:
    ETRO A -1
    Stop
  }
}

actor ElectroPlasmaBlast
{
  Radius 13
  Height 8
  Speed 30
  Damage 6
  Projectile
  DamageType Disintegrate
  scale .75
  +RANDOMIZE
  +BLOODLESSIMPACT
  +NOEXTREMEDEATH
  RenderStyle Add
  Alpha 0.75
  SeeSound "electricplasma/shoot"
  DeathSound "electricplasma/hit"
  Obituary "%o was electrocuted by %k."
  States
  {
  Spawn:
    EBLT GH 0 bright A_SpawnItem("ElectroPlasmaBlastTrail")
    EBLT GH 2 bright A_BishopMissileWeave
    loop
  Death:
    EBLT IJK 3 bright
    stop
  }
}

actor ElectroPlasmaBlastTrail
{
  Radius 13
  Height 8
  Speed 20
  Damage 0
  Projectile
  +RANDOMIZE
  RenderStyle Add
  Alpha 0.75
  States
  {
  Spawn:
    EBLT ABC 3 bright A_BishopMissileWeave
    goto death
  Death:
    EBLT DEF 4 bright A_FadeOut(0.5)
    loop
  }
}

//================================Next Weapon===================

actor FreezeRifle : Weapon 25031
{
  Game Doom
  SpawnID 30
  Weapon.SelectionOrder 1000
  Weapon.SlotNumber 6
  Weapon.SlotPriority 0.75
  Weapon.AmmoUse 1
  Weapon.AmmoGive 20
  Weapon.AmmoType "Cell"
  Inventory.PickupMessage "You got the Freeze Rifle!"
  States
  {
  Ready:
    FRSG A 1 A_WeaponReady
    Loop
  Deselect:
    FRSG A 0 A_PlaySound("CHANGE")
    FRSG A 1 A_Lower
    Goto Deselect+1
  Select:
    FRSG A 1 A_Raise
    Loop
  Fire:
    FRSG A 0 A_GunFlash
    FRSG A 9 A_FireCustomMissile("FreezeBlast")
    FRSG B 20 A_ReFire
    Goto Ready
  Flash:
    FRSF A 3 Bright A_Light1
    Goto LightDone
    FRSF B 3 Bright A_Light1
    Goto LightDone
  Spawn:
    FRAS A -1
    Stop
  }
}

actor FreezeBlast
{
  Game Doom
  SpawnID 51
  Radius 13
  Height 8
  Speed 20
  Damage 18
  Projectile
  +RANDOMIZE
  RenderStyle Add
  Alpha 0.75
  scale 0.9
  SeeSound "weapons/iceshot"
  DeathSound "weapons/icehit"
  Obituary "%o got frozen solid by %k."
  DamageType Ice
  States
  {
  Spawn:
    FBLS A 6 bright A_SpawnItem("FreezeBlastTrail")
    loop
  Death:
    FBLS BCDE 4 bright
    stop
  }
}

actor FreezeBlastTrail
{
  Game Doom
  SpawnID 51
  Radius 13
  Height 8
  Speed 20
  Damage 1
  DamageType Ice
  Projectile
  +RANDOMIZE
  RenderStyle Add
  Alpha 0.75
  SeeSound "weapons/iceshot"
  DeathSound "weapons/icehit"
  Obituary "%o got frozen solid by %k."
  States
  {
  Spawn:
    FRTR ABC 6 bright A_FadeOut(0.2)
    loop
  Death:
    FRTR ABC 4 bright
    stop
  }
}

//========================================NEXT WEAPON=================================

Actor SpreadGun : Weapon 20024
  {
     Weapon.SelectionOrder 800
     Weapon.SlotNumber 6
     Weapon.SlotPriority 1
     Inventory.PickupSound "Misc/w_pkup"
     Inventory.PickupMessage "You got the Spread Gun!"
     Weapon.AmmoType "Cell"
     Weapon.AmmoGive 80 
     Weapon.AmmoUse 10
     States 
     {
     Ready: 
        SPGN A 1 A_WeaponReady 
        Loop 
     Deselect:
        SPGN A 0 A_PlaySound("CHANGE")
        SPGN A 1 A_Lower
        Goto Deselect+1 
     Select: 
        SPGN A 1 A_Raise
        Loop 
     Fire: 
        SPGN A 2
	NULL A 0 A_GunFlash
        SPGF A 0 A_FireCustomMissile ("SpreadShot",0,1,0,0)
        SPGF A 0 A_FireCustomMissile ("SpreadShot",-4,0,0,0)
        SPGF A 0 A_FireCustomMissile ("SpreadShot",4,0,0,0)
        SPGF A 0 A_FireCustomMissile ("SpreadShot",12,0,0,0)
        SPGF A 0 A_FireCustomMissile ("SpreadShot",-12,0,0,0)
        SPGF A 0 A_FireCustomMissile ("SpreadShot",-8,0,0,0)
        SPGF A 0 A_FireCustomMissile ("SpreadShot",8,0,0,0)
        SPGF A 0 A_FireCustomMissile ("SpreadShot",16,0,0,0)
        SPGF A 0 A_FireCustomMissile ("SpreadShot",-16,0,0,0)
        SPGF B 2
        SPGN A 2
	NULL A 0 A_GunFlash
        SPGF A 0 A_FireCustomMissile ("SpreadShot",0,0,0,0)
        SPGF A 0 A_FireCustomMissile ("SpreadShot",-4,0,0,0)
        SPGF A 0 A_FireCustomMissile ("SpreadShot",4,0,0,0)
        SPGF A 0 A_FireCustomMissile ("SpreadShot",12,0,0,0)
        SPGF A 0 A_FireCustomMissile ("SpreadShot",-12,0,0,0)
        SPGF A 0 A_FireCustomMissile ("SpreadShot",-8,0,0,0)
        SPGF A 0 A_FireCustomMissile ("SpreadShot",8,0,0,0)
        SPGF A 0 A_FireCustomMissile ("SpreadShot",16,0,0,0)
        SPGF A 0 A_FireCustomMissile ("SpreadShot",-16,0,0,0)
        SPGF B 2
        SPGN A 6
        SPGN A 3 A_ReFire
        Goto Ready
     Spawn: 
        SPRD A -1 
        Stop
     } 
  }

actor SpreadShot
{
  Radius 13
  Height 8
  Speed 30
  Damage 3
  Projectile
  +RANDOMIZE
  RenderStyle Add
  Alpha 0.75
  SeeSound "weapons/SPRDSHOT"
  DeathSound "weapons/plasmax"
  Obituary "%o got a taste of %k's Spread Gun."
  States
  {
  Spawn:
    SPGS AB 6
    loop
  Death:
    SPGE ABCDE 3
    stop
  }
}
I would really appreciate it if someone could help me out. This "glitch" is keeping me from releasing my mod to my former programming teacher.
User avatar
bagheadspidey
Posts: 1490
Joined: Sat Oct 20, 2007 10:31 pm
Contact:

Re: Intricate Decorate Weapon Problem

Post by bagheadspidey »

Sounds like this could be a bug to me. You can probably narrow it down to which weapons are causing the freeze by removing all but one weapon from slot 4, then put them back in one by one until it starts freezing again, then do the same for slot 6. Then, make a test case with only the weapons needed to cause the freeze and post it in the Bugs forum.
Locked

Return to “Editing (Archive)”