Weapons mod: Weapon's won't stay even with Weapon Stay Flag
- 
				Nubcakes
 - Posts: 29
 - Joined: Tue Jun 05, 2012 4:24 pm
 - Location: Outside your window with duct tape stretched out!
 
Weapons mod: Weapon's won't stay even with Weapon Stay Flag
Greetings,
I've been tinkering with my weapon's mod again and noticed that in multiplayer the weapons do not stay even when the weapons stay flag is on. This isnt as much of a problem in coop as it is in say Invasion or DM! The mod itself is basically a decorate script with a few new sounds and sprites.
Below is the decorate script. I would attach the mod itself but the forums wont let me! Thanks in advance for any help!
[spoiler]ACTOR PistolPickUp : CustomInventory replaces Pistol
{
Inventory.PickupMessage "You procured the Beretta 92F!"
States
{
Spawn:
PIST A -1
Stop
Pickup:
PIST A 0 A_GiveInventory("92F",1)
PIST A 0 A_GiveInventory("Clip",10)
Stop
}
}
Actor 92MAG : Ammo 1666
{
Inventory.MaxAmount 15
Ammo.BackpackMaxAmount 15
}
ACTOR 92F : Weapon
{
Inventory.PickupMessage "You procured the Beretta 92F!"
Weapon.AmmoType1 "92MAG"
Weapon.AmmoType2 "92MAG"
Weapon.AmmoUse1 1
Weapon.AmmoUse2 1
Weapon.AmmoGive 0
Weapon.SlotNumber 2
AttackSound "weapons/pistol"
+Weapon.Ammo_Optional
+Weapon.Alt_Ammo_Optional
States
{
Ready:
PISG A 0 A_JumpIfInventory("IsReloading",1,"PrePreReload")
PISG A 1 A_WeaponReady
Loop
Select:
PISG A 1 A_Raise
Loop
Deselect:
PISG A 1 A_Lower
Loop
ReadyToGo:
PISG A 23 Offset(0,80)
PISG A 0 A_PlaySound("misc/PistlB")
PISG A 20 Offset(0,80)
PISG A 1 Offset(0,75)
PISG A 1 Offset(0,70)
PISG A 1 Offset(0,65)
PISG A 1 Offset(0,60)
PISG A 1 Offset(0,55)
PISG A 1 Offset(0,50)
PISG A 1 Offset(0,45)
PISG A 1 Offset(0,40)
Goto Ready
PrePreReload:
PISG A 0 A_PlaySound("misc/PistlA")
PISG A 1 Offset(0,40)
PISG A 1 Offset(0,45)
PISG A 1 Offset(0,50)
PISG A 1 Offset(0,55)
PISG A 1 Offset(0,60)
PISG A 1 Offset(0,65)
PISG A 1 Offset(0,70)
PISG A 1 Offset(0,75)
PISG A 1 Offset(0,80)
Goto PreReload
PreReload:
PISG A 0 Offset(0,80)
PISG A 0 A_JumpIfInventory("92MAG",15,"ReadyToGo")
PISG A 0 A_JumpIfInventory("Clip",1,"Reload")
Goto ReadyToGo
Reload:
PISG A 0 Offset(0,80)
PISG A 0 A_TakeInventory("Clip", 1)
PISG A 0 A_GiveInventory("92MAG", 1)
Goto PreReload
Fire:
PISG A 0 A_JumpIfNoAmmo("PrePreReload")
PISG A 3 Offset(-1,36)
PISG B 0 Offset(-1,40) A_GunFlash
PISG B 3 Offset(-1,40)A_FireBullets(3, 2, 1, 6, "BulletPuff", 1)
PISG C 3 Offset(-1,36)
PISG B 3 A_ReFire
Goto Ready
AltFire:
PISG A 0 A_JumpIfNoAmmo("PrePreReload")
PISG A 1 Offset(0,36)
PISG B 0 Offset(0,36)A_GunFlash
PISG B 2 Offset(-1,36)A_FireBullets(6, 4, -1, 6, "BulletPuff", 1)
PISG A 0 A_JumpIfNoAmmo("PrePreReload")
PISG B 0 Offset(-1,40) A_GunFlash
PISG B 2 Offset(-1,40) A_FireBullets(6, 4, -1, 6, "BulletPuff", 1)
PISG A 0 A_JumpIfNoAmmo("PrePreReload")
PISG B 0 Offset(-2,46)A_GunFlash
PISG B 2 Offset(-2,46)A_FireBullets(6, 4, -1, 6, "BulletPuff", 1)
PISG C 2 Offset(-3,52)
PISG D 2 Offset(-2,46)
PISG E 2 Offset(-1,40)
PISG D 2 Offset(-1,36)
PISG C 2 Offset(0,36)
PISG B 4
Goto Ready
Flash:
PISF A 3 BRIGHT A_Light1
TNT1 A 1 A_Light0
Stop
Spawn:
PIST A -1
Stop
}
}
ACTOR ShotgunPickUp : CustomInventory replaces Shotgun
{
Inventory.PickupMessage "You procured the Hunting Shotgun!"
States
{
Spawn:
SHOT A -1
Stop
Pickup:
SHOT A 0 A_GiveInventory("HuntingShotgun",1)
SHOT A 0 A_GiveInventory("Shell",4)
Stop
}
}
Actor HuntTube : Ammo 1667
{
Inventory.MaxAmount 7
Ammo.BackpackMaxAmount 7
}
ACTOR HuntingShotgun : Weapon
{
Inventory.PickupMessage "You procured the Hunting Shotgun!"
Weapon.AmmoType1 "HuntTube"
Weapon.AmmoType2 "HuntTube"
Weapon.AmmoUse1 1
Weapon.AmmoUse2 1
Weapon.AmmoGive 0
Weapon.SlotNumber 3
+Weapon.Ammo_Optional
+Weapon.Alt_Ammo_Optional
AttackSound "weapons/shotgf"
States
{
Ready:
SHTG A 0 A_JumpIfInventory("IsReloading",1,"PrePreReload")
SHTG A 1 A_WeaponReady
Loop
Select:
SHTG A 1 A_Raise
Loop
Deselect:
SHTG A 1 A_Lower
Loop
ReadyToGo:
SHTG A 8 Offset(0,80)
SHTG A 0 A_PlaySound("misc/SHGNRK")
SHTG A 10 Offset(0,80)
SHTG A 1 Offset(0,75)
SHTG A 1 Offset(0,70)
SHTG A 1 Offset(0,65)
SHTG A 1 Offset(0,60)
SHTG A 1 Offset(0,55)
SHTG A 1 Offset(0,50)
SHTG A 1 Offset(0,45)
SHTG A 1 Offset(0,40)
Goto Ready
PrePreReload:
SHTG A 0 A_PlaySound("weapons/sshotl")
SHTG A 1 Offset(0,40)
SHTG A 1 Offset(0,45)
SHTG A 1 Offset(0,50)
SHTG A 1 Offset(0,55)
SHTG A 1 Offset(0,60)
SHTG A 1 Offset(0,65)
SHTG A 1 Offset(0,70)
SHTG A 1 Offset(0,75)
SHTG A 1 Offset(0,80)
Goto PreReload
PreReload:
SHTG A 10 Offset(0,80)
SHTG A 0 A_JumpIfInventory("HuntTube",7,"ReadyToGo")
SHTG A 0 A_JumpIfInventory("Shell",1,"Reload")
Goto ReadyToGo
Reload:
SHTG A 0 Offset(0,80)
SHTG A 0 A_PlaySound("misc/SHOTRL")
SHTG A 0 A_TakeInventory("Shell", 1)
SHTG A 0 A_GiveInventory("HuntTube", 1)
Goto PreReload
Fire:
SHTG A 0 A_JumpIfNoAmmo("PrePreReload")
SHTG A 0 A_GunFlash
SHTG A 2 A_FireBullets(3.5, 3, 13, 4, "BulletPuff", 1)
SHTG A 1 Offset(7,40)
SHTG A 1 Offset(5,43)
SHTG A 1 Offset(4,47)
SHTG A 2 Offset(3,50)
SHTG A 1 Offset(4,48)
SHTG A 1 Offset(4,46)
SHTG A 2 Offset(5,44)
SHTG B 3
SHTG C 4
SHTG D 3
SHTG C 3
SHTG B 3
Goto Ready
AltFire:
SHTG A 0 A_JumpIfNoAmmo("PrePreReload")
SHTG A 0 A_GunFlash
SHTG A 0 A_FireBullets(1.5, 1.5, 2, 21, "BulletPuff", 1)
SHTG A 3 A_PlaySound("misc/SHGALT")
SHTG A 1 Offset(11,44)
SHTG A 1 Offset(10,46)
SHTG A 1 Offset(9,49)
SHTG A 1 Offset(7,52)
SHTG A 1 Offset(6,55)
SHTG A 1 Offset(5,58)
SHTG A 1 Offset(5,56)
SHTG A 1 Offset(6,54)
SHTG A 1 Offset(6,52)
SHTG A 1 Offset(7,50)
SHTG A 2 Offset(7,49)
SHTG B 3
SHTG C 4
SHTG D 3
SHTG C 4
SHTG B 3
Goto Ready
Flash:
SHTF B 2 BRIGHT A_Light1
SHTF A 2 BRIGHT A_Light2
SHTF A 2 BRIGHT A_Light1
TNT1 A 1 A_Light0
Stop
Spawn:
SHOT A -1
Stop
}
}
actor Coachgun : Weapon replaces SuperShotGun
{
Inventory.PickupMessage "You procured the Coach Gun!"
Weapon.AmmoType1 "Shell"
Weapon.AmmoType2 "Shell"
Weapon.AmmoUse1 2
Weapon.AmmoUse2 2
Weapon.AmmoGive 8
Weapon.SlotNumber 3
AttackSound "weapons/sshotf"
States
{
Ready:
SHT2 A 1 A_WeaponReady
Loop
Deselect:
SHT2 A 1 A_Lower
Loop
Select:
SHT2 A 1 A_Raise
Loop
Fire:
SHT2 A 1
SHT2 A 0 A_GunFlash
SHT2 A 6 A_FireBullets(6, 5, 27, 4, "BulletPuff", 1)
SHT2 B 6
SHT2 C 7 A_CheckReload
SHT2 D 7 A_OpenShotgun2
SHT2 E 7
SHT2 F 7 A_LoadShotgun2
SHT2 G 6
SHT2 H 6 A_CloseShotgun2
SHT2 A 5 A_ReFire
Goto Ready
AltFire:
SHT2 A 1
SHTG A 0 A_GunFlash
SHTG A 0 A_PlaySound("misc/SSSTGA")
SHTG A 0 A_PlaySound("vile/firestrt", 0, 8)
SHT2 A 1
SHT2 A 0 A_FireCustomMissile("Flak", random(-8,8), 1, 0, 0, 0, random(-8,8))
SHT2 A 0 A_FireCustomMissile("Flak", random(-8,8), 0, 0, 0, 0, random(-8,8))
SHT2 A 0 A_FireCustomMissile("Flak", random(-8,8), 0, 0, 0, 0, random(-8,8))
SHT2 A 0 A_FireCustomMissile("Flak", random(-8,8), 0, 0, 0, 0, random(-8,8))
SHT2 A 0 A_FireCustomMissile("Flak", random(-8,8), 0, 0, 0, 0, random(-8,8))
SHT2 A 0 A_FireCustomMissile("Flak", random(-8,8), 0, 0, 0, 0, random(-8,8))
SHT2 A 0 A_FireCustomMissile("Flak", random(-8,8), 0, 0, 0, 0, random(-8,8))
SHT2 A 0 A_FireCustomMissile("Flak", random(-8,8), 0, 0, 0, 0, random(-8,8))
SHT2 A 0 A_FireCustomMissile("Flak", random(-8,8), 0, 0, 0, 0, random(-8,8))
SHT2 A 6
SHT2 B 7
SHT2 C 7 A_CheckReload
SHT2 D 7 A_OpenShotgun2
SHT2 E 7
SHT2 F 7 A_LoadShotgun2
SHT2 G 6
SHT2 H 6 A_CloseShotgun2
SHT2 A 5 A_ReFire
Goto Ready
Flash:
SHT2 I 4 Bright A_Light1
SHT2 J 3 Bright A_Light2
TNT1 A 1 A_Light0
Stop
Spawn:
SGN2 A -1
Stop
}
}
ACTOR Flak
{
Radius 3
Height 3
Speed 45
Damage 4
Projectile
-NOGRAVITY
+RANDOMIZE
+GRENADETRAIL
bouncecount 3
+DoomBounce
Gravity 0.66
DeathSound "skeleton/melee"
Obituary "%o caught %k's flak shards."
States
{
Spawn:
PUFF A 1 Bright
Loop
Death:
PUFF A 1 A_Explode(5, 40, 1)
PUFF A 8 Bright
PUFF B 6 Bright
Stop
Grenade:
PUFF A 1000 A_Die
Wait
Detonate:
PUFF A 4 A_Scream
PUFF B 6 A_Detonate
Stop
}
}
ACTOR ChaingunPickUp : CustomInventory replaces Chaingun
{
Inventory.PickupMessage "You procured the Gattling Gun! Rat-a-tat-tat!"
States
{
Spawn:
MGUN A -1
Stop
Pickup:
MGUN A 0 A_GiveInventory("GattlingGun",1)
MGUN A 0 A_GiveInventory("Clip",20)
Stop
}
}
Actor GBOX : Ammo 1668
{
Inventory.MaxAmount 50
Ammo.BackpackMaxAmount 50
}
actor GattlingGun : Weapon
{
Inventory.PickupMessage "You procured the Gattling Gun! Rat-a-tat-tat!"
Weapon.AmmoType1 "GBOX"
Weapon.AmmoType2 "GBOX"
Weapon.AmmoUse1 1
Weapon.AmmoUse2 1
Weapon.AmmoGive 0
+Weapon.Ammo_Optional
+Weapon.Alt_Ammo_Optional
Weapon.SlotNumber 4
AttackSound "misc/GATGFA"
	
States
{
Ready:
CHGG A 0 A_JumpIfInventory("IsReloading",1,"PrePreReload")
CHGG A 1 A_WeaponReady
Loop
Deselect:
CHGG A 1 A_Lower
Loop
Select:
CHGG A 1 A_Raise
Loop
ReadyToGo:
CHGG A 20 Offset(0,80)
CHGG A 0 A_PlaySound("misc/GATGRB")
CHGG A 28 Offset(0,80)
CHGG A 0 A_PlaySound("misc/GATGRC")
CHGG A 10 Offset(0,80)
CHGG A 1 Offset(0,75)
CHGG A 1 Offset(0,70)
CHGG A 1 Offset(0,65)
CHGG A 1 Offset(0,60)
CHGG A 1 Offset(0,55)
CHGG A 1 Offset(0,50)
CHGG A 1 Offset(0,45)
CHGG A 1 Offset(0,40)
Goto Ready
PrePreReload:
CHGG A 0 A_PlaySound("misc/GATGRA")
CHGG A 1 Offset(0,40)
CHGG A 1 Offset(0,45)
CHGG A 1 Offset(0,50)
CHGG A 1 Offset(0,55)
CHGG A 1 Offset(0,60)
CHGG A 1 Offset(0,65)
CHGG A 1 Offset(0,70)
CHGG A 1 Offset(0,75)
CHGG A 1 Offset(0,80)
Goto PreReload
PreReload:
CHGG A 0 Offset(0,80)
CHGG A 0 A_JumpIfInventory("GBOX",50,"ReadyToGo")
CHGG A 0 A_JumpIfInventory("Clip",1,"Reload")
Goto ReadyToGo
Reload:
CHGG A 0 Offset(0,80)
CHGG A 0
CHGG A 0 A_TakeInventory("Clip", 1)
CHGG A 0 A_GiveInventory("GBOX", 1)
Goto PreReload
Fire:
CHGG A 0 A_JumpIfNoAmmo("PrePreReload")
CHGG A 0 A_GunFlash
CHGG A 2 A_FireBullets(4.8, 3, 1, 6, "BulletPuff", 1)
CHGG B 2
CHGG A 0 A_GunFlash
CHGG A 2 A_FireBullets(4.8, 3, 1, 6, "BulletPuff", 1)
CHGG B 2
CHGG B 1 A_ReFire
Goto Ready
AltFire:
CHGG A 0 A_JumpIfNoAmmo("PrePreReload")
CHGG A 3
CHGG B 2
CHGG A 2
CHGG B 1
CHGG A 1
CHGG B 1
CHGG A 0 A_GunFlash
CHGG A 0 A_PlaySound("misc/GATGFA")
CHGG A 1 A_FireCustomMissile("CFlak", random(-4,4), 1, 0, 0, 0, random(-4,4))
CHGG A 0 A_FireCustomMissile("CFlak", random(-4,4), 0, 0, 0, 0, random(-4,4))
CHGG A 0 A_FireCustomMissile("CFlak", random(-4,4), 0, 0, 0, 0, random(-4,4))
CHGG A 0 A_FireCustomMissile("CFlak", random(-4,4), 0, 0, 0, 0, random(-4,4))
CHGG B 1
CHGG B 0 A_JumpIfNoAmmo("PrePreReload")
CHGG A 0 A_GunFlash
CHGG A 0 A_PlaySound("misc/GATGFA")
CHGG A 1 A_FireCustomMissile("CFlak", random(-4,4), 1, 0, 0, 0, random(-4,4))
CHGG A 0 A_FireCustomMissile("CFlak", random(-4,4), 0, 0, 0, 0, random(-4,4))
CHGG A 0 A_FireCustomMissile("CFlak", random(-4,4), 0, 0, 0, 0, random(-4,4))
CHGG A 0 A_FireCustomMissile("CFlak", random(-4,4), 0, 0, 0, 0, random(-4,4))
CHGG B 1
CHGG B 0 A_JumpIfNoAmmo("PrePreReload")
CHGG A 0 A_GunFlash
CHGG A 0 A_PlaySound("misc/GATGFA")
CHGG A 1 A_FireCustomMissile("CFlak", random(-4,4), 1, 0, 0, 0, random(-4,4))
CHGG A 0 A_FireCustomMissile("CFlak", random(-4,4), 0, 0, 0, 0, random(-4,4))
CHGG A 0 A_FireCustomMissile("CFlak", random(-4,4), 0, 0, 0, 0, random(-4,4))
CHGG A 0 A_FireCustomMissile("CFlak", random(-4,4), 0, 0, 0, 0, random(-4,4))
CHGG B 1
CHGG B 0 A_JumpIfNoAmmo("PrePreReload")
CHGG A 0 A_GunFlash
CHGG A 0 A_PlaySound("misc/GATGFA")
CHGG A 1 A_FireCustomMissile("CFlak", random(-4,4), 1, 0, 0, 0, random(-4,4))
CHGG A 0 A_FireCustomMissile("CFlak", random(-4,4), 0, 0, 0, 0, random(-4,4))
CHGG A 0 A_FireCustomMissile("CFlak", random(-4,4), 0, 0, 0, 0, random(-4,4))
CHGG A 0 A_FireCustomMissile("CFlak", random(-4,4), 0, 0, 0, 0, random(-4,4))
CHGG B 1
CHGG B 0 A_JumpIfNoAmmo("PrePreReload")
CHGG A 0 A_GunFlash
CHGG A 0 A_PlaySound("misc/GATGFA")
CHGG A 1 A_FireCustomMissile("CFlak", random(-4,4), 1, 0, 0, 0, random(-4,4))
CHGG A 0 A_FireCustomMissile("CFlak", random(-4,4), 0, 0, 0, 0, random(-4,4))
CHGG A 0 A_FireCustomMissile("CFlak", random(-4,4), 0, 0, 0, 0, random(-4,4))
CHGG A 0 A_FireCustomMissile("CFlak", random(-4,4), 0, 0, 0, 0, random(-4,4))
CHGG B 1
CHGG B 0 A_JumpIfNoAmmo("PrePreReload")
CHGG A 0 A_GunFlash
CHGG A 0 A_PlaySound("misc/GATGFA")
CHGG A 1 A_FireCustomMissile("CFlak", random(-4,4), 1, 0, 0, 0, random(-4,4))
CHGG A 0 A_FireCustomMissile("CFlak", random(-4,4), 0, 0, 0, 0, random(-4,4))
CHGG A 0 A_FireCustomMissile("CFlak", random(-4,4), 0, 0, 0, 0, random(-4,4))
CHGG A 0 A_FireCustomMissile("CFlak", random(-4,4), 0, 0, 0, 0, random(-4,4))
CHGG B 1
CHGG B 0 A_JumpIfNoAmmo("PrePreReload")
CHGG A 0 A_GunFlash
CHGG A 0 A_PlaySound("misc/GATGFA")
CHGG A 1 A_FireCustomMissile("CFlak", random(-4,4), 1, 0, 0, 0, random(-4,4))
CHGG A 0 A_FireCustomMissile("CFlak", random(-4,4), 0, 0, 0, 0, random(-4,4))
CHGG A 0 A_FireCustomMissile("CFlak", random(-4,4), 0, 0, 0, 0, random(-4,4))
CHGG A 0 A_FireCustomMissile("CFlak", random(-4,4), 0, 0, 0, 0, random(-4,4))
CHGG B 1 A_ReFire
CHGG A 1
CHGG B 2
CHGG A 2
CHGG B 3
CHGG A 4
CHGG B 4
Goto Ready
Flash:
CHGF A 3 Bright A_Light2
CHGF B 2 Bright A_Light1
TNT1 A 1 A_Light0
Stop
Spawn:
MGUN A -1
Stop
}
}
ACTOR CFlak
{
Radius 1
Height 1
Speed 45
Damage 1
Projectile
-NOGRAVITY
+RANDOMIZE
bouncecount 3
+DoomBounce
Gravity 0.33
DeathSound "misc/RIPPNG"
Obituary "%o caught %k's flak shards."
States
{
Spawn:
SHRA A 2 Bright
SHRA B 2 Bright
SHRA C 2 Bright
SHRA D 2 Bright
Loop
Death:
SHRA D 1
SHRA A 8 Bright
SHRA B 6 Bright
Stop
Grenade:
SHRA A 1000 A_Die
Wait
Detonate:
SHRA C 4 A_Scream
SHRA D 6 A_Detonate
Stop
}
}
ACTOR RocketLauncherPickUp : CustomInventory replaces RocketLauncher
{
Inventory.PickupMessage "You procured an RPG! Careful now!"
States
{
Spawn:
LAUN A -1
Stop
Pickup:
LAUN A 0 A_GiveInventory("RPG",1)
LAUN A 0 A_GiveInventory("RocketAmmo",2)
Stop
}
}
Actor RPGBOX : Ammo 1669
{
Inventory.MaxAmount 5
Ammo.BackpackMaxAmount 5
}
actor RPG : Weapon
{
Inventory.PickupMessage "You procured an RPG! Careful now!"
Weapon.AmmoType1 "RPGBOX"
Weapon.AmmoType2 "RPGBOX"
Weapon.AmmoUse1 1
Weapon.AmmoUse2 1
Weapon.AmmoGive 0
+Weapon.Ammo_Optional
+Weapon.Alt_Ammo_Optional
Weapon.SlotNumber 5
States
{
Ready:
MISG A 0 A_JumpIfInventory("IsReloading",1,"PrePreReload")
MISG A 1 A_WeaponReady
Loop
Deselect:
MISG A 1 A_Lower
Loop
Select:
MISG A 1 A_Raise
Loop
ReadyToGo:
MISG A 16 Offset(0,80)
MISG A 0 A_PlaySound("misc/RPGRLB")
MISG A 30 Offset(0,80)
MISG A 1 Offset(0,75)
MISG A 1 Offset(0,70)
MISG A 1 Offset(0,65)
MISG A 1 Offset(0,60)
MISG A 1 Offset(0,55)
MISG A 1 Offset(0,50)
MISG A 1 Offset(0,45)
MISG A 1 Offset(0,40)
Goto Ready
PrePreReload:
MISG A 1 Offset(0,40)
MISG A 1 Offset(0,45)
MISG A 1 Offset(0,50)
MISG A 1 Offset(0,55)
MISG A 1 Offset(0,60)
MISG A 1 Offset(0,65)
MISG A 1 Offset(0,70)
MISG A 1 Offset(0,75)
MISG A 1 Offset(0,80)
Goto PreReload
PreReload:
MISG A 12 Offset(0,80)
MISG A 0 A_JumpIfInventory("RPGBOX",5,"ReadyToGo")
MISG A 0 A_JumpIfInventory("RocketAmmo",1,"Reload")
Goto ReadyToGo
Reload:
MISG A 0 Offset(0,80)
MISG A 0 A_PlaySound("misc/RPGRLA")
MISG A 0 A_TakeInventory("RocketAmmo", 1)
MISG A 0 A_GiveInventory("RPGBOX", 1)
Goto PreReload
Fire:
MISG A 0 A_JumpIfNoAmmo("PrePreReload")
MISG B 8 A_GunFlash
MISG B 12 A_FireCustomMissile("Missle",0,1)
MISG B 0 A_ReFire
Goto Ready
AltFire:
MISG A 0 A_JumpIfNoAmmo("PrePreReload")
MISG B 8 A_GunFlash
MISG B 12 A_FireCustomMissile("Grenade", 0, true, 0, 0, 0, 6.328125)
MISG B 0 A_ReFire
Goto Ready
Flash:
MISF A 3 Bright A_Light1
MISF B 4 Bright
MISF CD 4 Bright A_Light2
TNT1 A 1 A_Light0
Stop
Spawn:
LAUN A -1
Stop
}
}
actor Missle
{
Radius 10
Height 8
Speed 20
Damage 20
Projectile
SeeSound "weapons/rocklf"
DeathSound "weapons/rocklx"
Obituary "%o rode %k's rocket-propelled-grenade"
States
{
Spawn:
MISL A 1 bright
loop
Death:
MISL B 8 bright A_Explode(128,128)
MISL C 6 bright
MISL D 4 bright
stop
}
}
ACTOR PlasmaRiflePickUp : CustomInventory replaces PlasmaRifle
{
Inventory.PickupMessage "You procured an Alien Artifact..."
States
{
Spawn:
PLAS A -1
Stop
Pickup:
PLAS A 0 A_GiveInventory("AlienRifle",1)
PLAS A 0 A_GiveInventory("Cell",40)
Stop
}
}
Actor smCELL : Ammo 1670
{
Inventory.MaxAmount 45
Ammo.BackpackMaxAmount 45
}
actor AlienRifle : Weapon
{
Weapon.AmmoType1 "smCELL"
Weapon.AmmoType2 "smCELL"
Weapon.AmmoUse1 1
Weapon.AmmoUse2 15
Weapon.AmmoGive 0
+Weapon.Ammo_Optional
+Weapon.Alt_Ammo_Optional
Weapon.SlotNumber 6
Inventory.PickupMessage "You procured an Alien Artifact..."
States
{
Ready:
PLSG A 0 A_JumpIfInventory("IsReloading",1,"PrePreReload")
PLSG A 1 A_WeaponReady
Loop
Deselect:
PLSG A 1 A_Lower
Loop
Select:
PLSG A 1 A_Raise
Loop
ReadyToGo:
PLSG A 20 Offset(0,80)
PLSG A 0 A_PlaySound("misc/PLSZRB")
PLSG A 32 Offset(0,80)
PLSG A 1 Offset(0,75)
PLSG A 1 Offset(0,70)
PLSG A 1 Offset(0,65)
PLSG A 1 Offset(0,60)
PLSG A 1 Offset(0,55)
PLSG A 1 Offset(0,50)
PLSG A 1 Offset(0,45)
PLSG A 1 Offset(0,40)
Goto Ready
PrePreReload:
PLSG A 0 A_PlaySound("misc/PLSZRA")
PLSG A 1 Offset(0,40)
PLSG A 1 Offset(0,45)
PLSG A 1 Offset(0,50)
PLSG A 1 Offset(0,55)
PLSG A 1 Offset(0,60)
PLSG A 1 Offset(0,65)
PLSG A 1 Offset(0,70)
PLSG A 1 Offset(0,75)
PLSG A 1 Offset(0,80)
Goto PreReload
PreReload:
PLSG A 0 Offset(0,80)
PLSG A 0 A_JumpIfInventory("smCELL",45,"ReadyToGo")
PLSG A 0 A_JumpIfInventory("Cell",1,"Reload")
Goto ReadyToGo
Reload:
PLSG A 0 Offset(0,80)
PLSG A 0 A_TakeInventory("Cell", 1)
PLSG A 0 A_GiveInventory("smCELL", 1)
Goto PreReload
Fire:
PLSG A 0 A_JumpIfNoAmmo("PrePreReload")
PLSG A 0 A_GunFlash
PLSG A 3 A_FireCustomMissile("PlasmaS",0,1)
PLSG B 20 A_ReFire
Goto Ready
AltFire:
PLSG A 0 A_JumpIfNoAmmo("PrePreReload")
PLSG A 0 A_GunFlash
PLSG A 3 A_FireRailgun
PLSG A 0 A_GunFlash
PLSG A 3
PLSG B 20
PLSG A 3
Goto Ready
Flash:
PLSF A 4 Bright A_Light1
Goto LightDone
PLSF B 4 Bright A_Light1
Goto LightDone
Spawn:
PLAS A -1
Stop
}
}
actor PlasmaS
{
Radius 13
Height 8
Speed 25
Damage 5
Projectile
+RANDOMIZE
RenderStyle Add
Alpha 0.75
SeeSound "weapons/plasmaf"
DeathSound "weapons/plasmax"
Obituary "%o was melted by %k's plasma."
States
{
Spawn:
PLSS AB 6 bright
loop
Death:
PLSE ABCDE 4 bright
stop
}
}
ACTOR BFG9000Pickup : CustomInventory replaces BFG9000
{
Inventory.PickupMessage "You procured the BFG9001! Oh, ye---Wait a second..."
States
{
Spawn:
BFUG A -1
Stop
Pickup:
BFUG A 0 A_GiveInventory("BFG9001",1)
BFUG A 0 A_GiveInventory("Cell",40)
Stop
}
}
Actor lgCELL : Ammo 1671
{
Inventory.MaxAmount 120
Ammo.BackpackMaxAmount 120
}
actor BFG9001 : Weapon
{
Weapon.AmmoUse1 40
Weapon.AmmoUse2 12
Weapon.AmmoType1 "lgCELL"
Weapon.AmmoType2 "lgCELL"
Weapon.AmmoGive 0
+Weapon.Ammo_Optional
+Weapon.Alt_Ammo_Optional
Weapon.SlotNumber 7
Inventory.PickupMessage "You got the BFG9001! Oh, ye---Wait a second..."
States
{
Ready:
BFGG A 0 A_JumpIfInventory("IsReloading",1,"PrePreReload")
BFGG A 1 A_WeaponReady
loop
Deselect:
BFGG A 1 A_Lower
loop
Select:
BFGG A 1 A_Raise
loop
ReadyToGo:
BFGG A 12 Offset(0,80)
BFGG A 0 A_PlaySound("misc/BGFRLB")
BFGG A 18 Offset(0,80)
BFGG A 0 A_PlaySound("misc/BGFRLC")
BFGG A 48 Offset(0,80)
BFGG A 0 A_PlaySound("misc/BGFRLD")
BFGG A 12 Offset(0,80)
BFGG A 1 Offset(0,75)
BFGG A 1 Offset(0,70)
BFGG A 1 Offset(0,65)
BFGG A 1 Offset(0,60)
BFGG A 1 Offset(0,55)
BFGG A 1 Offset(0,50)
BFGG A 1 Offset(0,45)
BFGG A 1 Offset(0,40)
Goto Ready
PrePreReload:
BFGG A 1 Offset(0,40)
BFGG A 1 Offset(0,45)
BFGG A 0 A_PlaySound("misc/BGFRLA")
BFGG A 1 Offset(0,50)
BFGG A 1 Offset(0,55)
BFGG A 1 Offset(0,60)
BFGG A 1 Offset(0,65)
BFGG A 1 Offset(0,70)
BFGG A 1 Offset(0,75)
BFGG A 1 Offset(0,80)
Goto PreReload
PreReload:
BFGG A 0 Offset(0,80)
BFGG A 0 A_JumpIfInventory("lgCELL",120,"ReadyToGo")
BFGG A 0 A_JumpIfInventory("Cell",1,"Reload")
Goto ReadyToGo
Reload:
BFGG A 0 Offset(0,80)
BFGG A 0 A_TakeInventory("Cell", 1)
BFGG A 0 A_GiveInventory("lgCELL", 1)
Goto PreReload
Fire:
BFGG A 0 A_JumpIfNoAmmo("PrePreReload")
BFGG A 20 A_BFGSound
BFGG B 10 A_GunFlash
BFGG B 10 A_FireBFG
BFGG B 20 A_ReFire
goto Ready
AltFire:
BFGG A 0 A_JumpIfNoAmmo("PrePreReload")
BFGG A 20 A_PlaySound ("weapons/bfg10kf")
BFGG A 8
BFGG B 2 A_GunFlash
BFGG B 2 A_FireBullets(0,0,1,0,"BFG10kShot")
BFGG B 2 A_ReFire
BFGG B 35 A_PlaySound ("weapons/bfg10kcool")
Goto Ready
Flash:
BFGF A 11 bright A_Light1
BFGF B 6 bright A_Light2
Goto LightDone
Spawn:
BFUG A -1
stop
}
}
ACTOR DoomPlayer : PlayerPawn
{
Speed 1
Health 100
Radius 16
Height 56
Mass 100
PainChance 255
Player.DisplayName "Marine"
Player.CrouchSprite "PLYC"
Player.StartItem "92F"
Player.StartItem "Fist"
Player.StartItem "Clip", 50
Player.StartItem "Action_Reload"
Player.StartItem "Action_ReloadCancel"
Player.WeaponSlot 1, Fist, 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:
PLAY A -1
Loop
See:
PLAY ABCD 4
Loop
Missile:
PLAY E 12
Goto Spawn
Melee:
PLAY F 6 BRIGHT
Goto Missile
Pain:
PLAY G 4
PLAY G 4 A_Pain
Goto Spawn
Death:
PLAY H 0 A_PlayerSkinCheck("AltSkinDeath")
Death1:
PLAY H 10
PLAY I 10 A_PlayerScream
PLAY J 10 A_NoBlocking
PLAY KLM 10
PLAY N -1
Stop
XDeath:
PLAY O 0 A_PlayerSkinCheck("AltSkinXDeath")
XDeath1:
PLAY O 5
PLAY P 5 A_XScream
PLAY Q 5 A_NoBlocking
PLAY RSTUV 5
PLAY W -1
Stop
AltSkinDeath:
PLAY H 6
PLAY I 6 A_PlayerScream
PLAY JK 6
PLAY L 6 A_NoBlocking
PLAY MNO 6
PLAY P -1
Stop
AltSkinXDeath:
PLAY Q 5 A_PlayerScream
PLAY R 0 A_NoBlocking
PLAY R 5 A_SkullPop
PLAY STUVWX 5
PLAY Y -1
Stop
}
}
ACTOR IsReloading : Inventory
{
Inventory.MaxAmount 1
}
ACTOR Action_Reload : CustomInventory
{
Inventory.Amount 1
Inventory.MaxAmount 1
-INVBAR
States
{
Use:
TNT1 A 0 A_GiveInventory("IsReloading",1)
Fail
}
}
ACTOR Action_ReloadCancel : CustomInventory
{
Inventory.Amount 1
Inventory.MaxAmount 1
-INVBAR
States
{
Use:
TNT1 A 0 A_TakeInventory("IsReloading",1)
Fail
}
}[/spoiler]
			
													I've been tinkering with my weapon's mod again and noticed that in multiplayer the weapons do not stay even when the weapons stay flag is on. This isnt as much of a problem in coop as it is in say Invasion or DM! The mod itself is basically a decorate script with a few new sounds and sprites.
Below is the decorate script. I would attach the mod itself but the forums wont let me! Thanks in advance for any help!
[spoiler]ACTOR PistolPickUp : CustomInventory replaces Pistol
{
Inventory.PickupMessage "You procured the Beretta 92F!"
States
{
Spawn:
PIST A -1
Stop
Pickup:
PIST A 0 A_GiveInventory("92F",1)
PIST A 0 A_GiveInventory("Clip",10)
Stop
}
}
Actor 92MAG : Ammo 1666
{
Inventory.MaxAmount 15
Ammo.BackpackMaxAmount 15
}
ACTOR 92F : Weapon
{
Inventory.PickupMessage "You procured the Beretta 92F!"
Weapon.AmmoType1 "92MAG"
Weapon.AmmoType2 "92MAG"
Weapon.AmmoUse1 1
Weapon.AmmoUse2 1
Weapon.AmmoGive 0
Weapon.SlotNumber 2
AttackSound "weapons/pistol"
+Weapon.Ammo_Optional
+Weapon.Alt_Ammo_Optional
States
{
Ready:
PISG A 0 A_JumpIfInventory("IsReloading",1,"PrePreReload")
PISG A 1 A_WeaponReady
Loop
Select:
PISG A 1 A_Raise
Loop
Deselect:
PISG A 1 A_Lower
Loop
ReadyToGo:
PISG A 23 Offset(0,80)
PISG A 0 A_PlaySound("misc/PistlB")
PISG A 20 Offset(0,80)
PISG A 1 Offset(0,75)
PISG A 1 Offset(0,70)
PISG A 1 Offset(0,65)
PISG A 1 Offset(0,60)
PISG A 1 Offset(0,55)
PISG A 1 Offset(0,50)
PISG A 1 Offset(0,45)
PISG A 1 Offset(0,40)
Goto Ready
PrePreReload:
PISG A 0 A_PlaySound("misc/PistlA")
PISG A 1 Offset(0,40)
PISG A 1 Offset(0,45)
PISG A 1 Offset(0,50)
PISG A 1 Offset(0,55)
PISG A 1 Offset(0,60)
PISG A 1 Offset(0,65)
PISG A 1 Offset(0,70)
PISG A 1 Offset(0,75)
PISG A 1 Offset(0,80)
Goto PreReload
PreReload:
PISG A 0 Offset(0,80)
PISG A 0 A_JumpIfInventory("92MAG",15,"ReadyToGo")
PISG A 0 A_JumpIfInventory("Clip",1,"Reload")
Goto ReadyToGo
Reload:
PISG A 0 Offset(0,80)
PISG A 0 A_TakeInventory("Clip", 1)
PISG A 0 A_GiveInventory("92MAG", 1)
Goto PreReload
Fire:
PISG A 0 A_JumpIfNoAmmo("PrePreReload")
PISG A 3 Offset(-1,36)
PISG B 0 Offset(-1,40) A_GunFlash
PISG B 3 Offset(-1,40)A_FireBullets(3, 2, 1, 6, "BulletPuff", 1)
PISG C 3 Offset(-1,36)
PISG B 3 A_ReFire
Goto Ready
AltFire:
PISG A 0 A_JumpIfNoAmmo("PrePreReload")
PISG A 1 Offset(0,36)
PISG B 0 Offset(0,36)A_GunFlash
PISG B 2 Offset(-1,36)A_FireBullets(6, 4, -1, 6, "BulletPuff", 1)
PISG A 0 A_JumpIfNoAmmo("PrePreReload")
PISG B 0 Offset(-1,40) A_GunFlash
PISG B 2 Offset(-1,40) A_FireBullets(6, 4, -1, 6, "BulletPuff", 1)
PISG A 0 A_JumpIfNoAmmo("PrePreReload")
PISG B 0 Offset(-2,46)A_GunFlash
PISG B 2 Offset(-2,46)A_FireBullets(6, 4, -1, 6, "BulletPuff", 1)
PISG C 2 Offset(-3,52)
PISG D 2 Offset(-2,46)
PISG E 2 Offset(-1,40)
PISG D 2 Offset(-1,36)
PISG C 2 Offset(0,36)
PISG B 4
Goto Ready
Flash:
PISF A 3 BRIGHT A_Light1
TNT1 A 1 A_Light0
Stop
Spawn:
PIST A -1
Stop
}
}
ACTOR ShotgunPickUp : CustomInventory replaces Shotgun
{
Inventory.PickupMessage "You procured the Hunting Shotgun!"
States
{
Spawn:
SHOT A -1
Stop
Pickup:
SHOT A 0 A_GiveInventory("HuntingShotgun",1)
SHOT A 0 A_GiveInventory("Shell",4)
Stop
}
}
Actor HuntTube : Ammo 1667
{
Inventory.MaxAmount 7
Ammo.BackpackMaxAmount 7
}
ACTOR HuntingShotgun : Weapon
{
Inventory.PickupMessage "You procured the Hunting Shotgun!"
Weapon.AmmoType1 "HuntTube"
Weapon.AmmoType2 "HuntTube"
Weapon.AmmoUse1 1
Weapon.AmmoUse2 1
Weapon.AmmoGive 0
Weapon.SlotNumber 3
+Weapon.Ammo_Optional
+Weapon.Alt_Ammo_Optional
AttackSound "weapons/shotgf"
States
{
Ready:
SHTG A 0 A_JumpIfInventory("IsReloading",1,"PrePreReload")
SHTG A 1 A_WeaponReady
Loop
Select:
SHTG A 1 A_Raise
Loop
Deselect:
SHTG A 1 A_Lower
Loop
ReadyToGo:
SHTG A 8 Offset(0,80)
SHTG A 0 A_PlaySound("misc/SHGNRK")
SHTG A 10 Offset(0,80)
SHTG A 1 Offset(0,75)
SHTG A 1 Offset(0,70)
SHTG A 1 Offset(0,65)
SHTG A 1 Offset(0,60)
SHTG A 1 Offset(0,55)
SHTG A 1 Offset(0,50)
SHTG A 1 Offset(0,45)
SHTG A 1 Offset(0,40)
Goto Ready
PrePreReload:
SHTG A 0 A_PlaySound("weapons/sshotl")
SHTG A 1 Offset(0,40)
SHTG A 1 Offset(0,45)
SHTG A 1 Offset(0,50)
SHTG A 1 Offset(0,55)
SHTG A 1 Offset(0,60)
SHTG A 1 Offset(0,65)
SHTG A 1 Offset(0,70)
SHTG A 1 Offset(0,75)
SHTG A 1 Offset(0,80)
Goto PreReload
PreReload:
SHTG A 10 Offset(0,80)
SHTG A 0 A_JumpIfInventory("HuntTube",7,"ReadyToGo")
SHTG A 0 A_JumpIfInventory("Shell",1,"Reload")
Goto ReadyToGo
Reload:
SHTG A 0 Offset(0,80)
SHTG A 0 A_PlaySound("misc/SHOTRL")
SHTG A 0 A_TakeInventory("Shell", 1)
SHTG A 0 A_GiveInventory("HuntTube", 1)
Goto PreReload
Fire:
SHTG A 0 A_JumpIfNoAmmo("PrePreReload")
SHTG A 0 A_GunFlash
SHTG A 2 A_FireBullets(3.5, 3, 13, 4, "BulletPuff", 1)
SHTG A 1 Offset(7,40)
SHTG A 1 Offset(5,43)
SHTG A 1 Offset(4,47)
SHTG A 2 Offset(3,50)
SHTG A 1 Offset(4,48)
SHTG A 1 Offset(4,46)
SHTG A 2 Offset(5,44)
SHTG B 3
SHTG C 4
SHTG D 3
SHTG C 3
SHTG B 3
Goto Ready
AltFire:
SHTG A 0 A_JumpIfNoAmmo("PrePreReload")
SHTG A 0 A_GunFlash
SHTG A 0 A_FireBullets(1.5, 1.5, 2, 21, "BulletPuff", 1)
SHTG A 3 A_PlaySound("misc/SHGALT")
SHTG A 1 Offset(11,44)
SHTG A 1 Offset(10,46)
SHTG A 1 Offset(9,49)
SHTG A 1 Offset(7,52)
SHTG A 1 Offset(6,55)
SHTG A 1 Offset(5,58)
SHTG A 1 Offset(5,56)
SHTG A 1 Offset(6,54)
SHTG A 1 Offset(6,52)
SHTG A 1 Offset(7,50)
SHTG A 2 Offset(7,49)
SHTG B 3
SHTG C 4
SHTG D 3
SHTG C 4
SHTG B 3
Goto Ready
Flash:
SHTF B 2 BRIGHT A_Light1
SHTF A 2 BRIGHT A_Light2
SHTF A 2 BRIGHT A_Light1
TNT1 A 1 A_Light0
Stop
Spawn:
SHOT A -1
Stop
}
}
actor Coachgun : Weapon replaces SuperShotGun
{
Inventory.PickupMessage "You procured the Coach Gun!"
Weapon.AmmoType1 "Shell"
Weapon.AmmoType2 "Shell"
Weapon.AmmoUse1 2
Weapon.AmmoUse2 2
Weapon.AmmoGive 8
Weapon.SlotNumber 3
AttackSound "weapons/sshotf"
States
{
Ready:
SHT2 A 1 A_WeaponReady
Loop
Deselect:
SHT2 A 1 A_Lower
Loop
Select:
SHT2 A 1 A_Raise
Loop
Fire:
SHT2 A 1
SHT2 A 0 A_GunFlash
SHT2 A 6 A_FireBullets(6, 5, 27, 4, "BulletPuff", 1)
SHT2 B 6
SHT2 C 7 A_CheckReload
SHT2 D 7 A_OpenShotgun2
SHT2 E 7
SHT2 F 7 A_LoadShotgun2
SHT2 G 6
SHT2 H 6 A_CloseShotgun2
SHT2 A 5 A_ReFire
Goto Ready
AltFire:
SHT2 A 1
SHTG A 0 A_GunFlash
SHTG A 0 A_PlaySound("misc/SSSTGA")
SHTG A 0 A_PlaySound("vile/firestrt", 0, 8)
SHT2 A 1
SHT2 A 0 A_FireCustomMissile("Flak", random(-8,8), 1, 0, 0, 0, random(-8,8))
SHT2 A 0 A_FireCustomMissile("Flak", random(-8,8), 0, 0, 0, 0, random(-8,8))
SHT2 A 0 A_FireCustomMissile("Flak", random(-8,8), 0, 0, 0, 0, random(-8,8))
SHT2 A 0 A_FireCustomMissile("Flak", random(-8,8), 0, 0, 0, 0, random(-8,8))
SHT2 A 0 A_FireCustomMissile("Flak", random(-8,8), 0, 0, 0, 0, random(-8,8))
SHT2 A 0 A_FireCustomMissile("Flak", random(-8,8), 0, 0, 0, 0, random(-8,8))
SHT2 A 0 A_FireCustomMissile("Flak", random(-8,8), 0, 0, 0, 0, random(-8,8))
SHT2 A 0 A_FireCustomMissile("Flak", random(-8,8), 0, 0, 0, 0, random(-8,8))
SHT2 A 0 A_FireCustomMissile("Flak", random(-8,8), 0, 0, 0, 0, random(-8,8))
SHT2 A 6
SHT2 B 7
SHT2 C 7 A_CheckReload
SHT2 D 7 A_OpenShotgun2
SHT2 E 7
SHT2 F 7 A_LoadShotgun2
SHT2 G 6
SHT2 H 6 A_CloseShotgun2
SHT2 A 5 A_ReFire
Goto Ready
Flash:
SHT2 I 4 Bright A_Light1
SHT2 J 3 Bright A_Light2
TNT1 A 1 A_Light0
Stop
Spawn:
SGN2 A -1
Stop
}
}
ACTOR Flak
{
Radius 3
Height 3
Speed 45
Damage 4
Projectile
-NOGRAVITY
+RANDOMIZE
+GRENADETRAIL
bouncecount 3
+DoomBounce
Gravity 0.66
DeathSound "skeleton/melee"
Obituary "%o caught %k's flak shards."
States
{
Spawn:
PUFF A 1 Bright
Loop
Death:
PUFF A 1 A_Explode(5, 40, 1)
PUFF A 8 Bright
PUFF B 6 Bright
Stop
Grenade:
PUFF A 1000 A_Die
Wait
Detonate:
PUFF A 4 A_Scream
PUFF B 6 A_Detonate
Stop
}
}
ACTOR ChaingunPickUp : CustomInventory replaces Chaingun
{
Inventory.PickupMessage "You procured the Gattling Gun! Rat-a-tat-tat!"
States
{
Spawn:
MGUN A -1
Stop
Pickup:
MGUN A 0 A_GiveInventory("GattlingGun",1)
MGUN A 0 A_GiveInventory("Clip",20)
Stop
}
}
Actor GBOX : Ammo 1668
{
Inventory.MaxAmount 50
Ammo.BackpackMaxAmount 50
}
actor GattlingGun : Weapon
{
Inventory.PickupMessage "You procured the Gattling Gun! Rat-a-tat-tat!"
Weapon.AmmoType1 "GBOX"
Weapon.AmmoType2 "GBOX"
Weapon.AmmoUse1 1
Weapon.AmmoUse2 1
Weapon.AmmoGive 0
+Weapon.Ammo_Optional
+Weapon.Alt_Ammo_Optional
Weapon.SlotNumber 4
AttackSound "misc/GATGFA"
States
{
Ready:
CHGG A 0 A_JumpIfInventory("IsReloading",1,"PrePreReload")
CHGG A 1 A_WeaponReady
Loop
Deselect:
CHGG A 1 A_Lower
Loop
Select:
CHGG A 1 A_Raise
Loop
ReadyToGo:
CHGG A 20 Offset(0,80)
CHGG A 0 A_PlaySound("misc/GATGRB")
CHGG A 28 Offset(0,80)
CHGG A 0 A_PlaySound("misc/GATGRC")
CHGG A 10 Offset(0,80)
CHGG A 1 Offset(0,75)
CHGG A 1 Offset(0,70)
CHGG A 1 Offset(0,65)
CHGG A 1 Offset(0,60)
CHGG A 1 Offset(0,55)
CHGG A 1 Offset(0,50)
CHGG A 1 Offset(0,45)
CHGG A 1 Offset(0,40)
Goto Ready
PrePreReload:
CHGG A 0 A_PlaySound("misc/GATGRA")
CHGG A 1 Offset(0,40)
CHGG A 1 Offset(0,45)
CHGG A 1 Offset(0,50)
CHGG A 1 Offset(0,55)
CHGG A 1 Offset(0,60)
CHGG A 1 Offset(0,65)
CHGG A 1 Offset(0,70)
CHGG A 1 Offset(0,75)
CHGG A 1 Offset(0,80)
Goto PreReload
PreReload:
CHGG A 0 Offset(0,80)
CHGG A 0 A_JumpIfInventory("GBOX",50,"ReadyToGo")
CHGG A 0 A_JumpIfInventory("Clip",1,"Reload")
Goto ReadyToGo
Reload:
CHGG A 0 Offset(0,80)
CHGG A 0
CHGG A 0 A_TakeInventory("Clip", 1)
CHGG A 0 A_GiveInventory("GBOX", 1)
Goto PreReload
Fire:
CHGG A 0 A_JumpIfNoAmmo("PrePreReload")
CHGG A 0 A_GunFlash
CHGG A 2 A_FireBullets(4.8, 3, 1, 6, "BulletPuff", 1)
CHGG B 2
CHGG A 0 A_GunFlash
CHGG A 2 A_FireBullets(4.8, 3, 1, 6, "BulletPuff", 1)
CHGG B 2
CHGG B 1 A_ReFire
Goto Ready
AltFire:
CHGG A 0 A_JumpIfNoAmmo("PrePreReload")
CHGG A 3
CHGG B 2
CHGG A 2
CHGG B 1
CHGG A 1
CHGG B 1
CHGG A 0 A_GunFlash
CHGG A 0 A_PlaySound("misc/GATGFA")
CHGG A 1 A_FireCustomMissile("CFlak", random(-4,4), 1, 0, 0, 0, random(-4,4))
CHGG A 0 A_FireCustomMissile("CFlak", random(-4,4), 0, 0, 0, 0, random(-4,4))
CHGG A 0 A_FireCustomMissile("CFlak", random(-4,4), 0, 0, 0, 0, random(-4,4))
CHGG A 0 A_FireCustomMissile("CFlak", random(-4,4), 0, 0, 0, 0, random(-4,4))
CHGG B 1
CHGG B 0 A_JumpIfNoAmmo("PrePreReload")
CHGG A 0 A_GunFlash
CHGG A 0 A_PlaySound("misc/GATGFA")
CHGG A 1 A_FireCustomMissile("CFlak", random(-4,4), 1, 0, 0, 0, random(-4,4))
CHGG A 0 A_FireCustomMissile("CFlak", random(-4,4), 0, 0, 0, 0, random(-4,4))
CHGG A 0 A_FireCustomMissile("CFlak", random(-4,4), 0, 0, 0, 0, random(-4,4))
CHGG A 0 A_FireCustomMissile("CFlak", random(-4,4), 0, 0, 0, 0, random(-4,4))
CHGG B 1
CHGG B 0 A_JumpIfNoAmmo("PrePreReload")
CHGG A 0 A_GunFlash
CHGG A 0 A_PlaySound("misc/GATGFA")
CHGG A 1 A_FireCustomMissile("CFlak", random(-4,4), 1, 0, 0, 0, random(-4,4))
CHGG A 0 A_FireCustomMissile("CFlak", random(-4,4), 0, 0, 0, 0, random(-4,4))
CHGG A 0 A_FireCustomMissile("CFlak", random(-4,4), 0, 0, 0, 0, random(-4,4))
CHGG A 0 A_FireCustomMissile("CFlak", random(-4,4), 0, 0, 0, 0, random(-4,4))
CHGG B 1
CHGG B 0 A_JumpIfNoAmmo("PrePreReload")
CHGG A 0 A_GunFlash
CHGG A 0 A_PlaySound("misc/GATGFA")
CHGG A 1 A_FireCustomMissile("CFlak", random(-4,4), 1, 0, 0, 0, random(-4,4))
CHGG A 0 A_FireCustomMissile("CFlak", random(-4,4), 0, 0, 0, 0, random(-4,4))
CHGG A 0 A_FireCustomMissile("CFlak", random(-4,4), 0, 0, 0, 0, random(-4,4))
CHGG A 0 A_FireCustomMissile("CFlak", random(-4,4), 0, 0, 0, 0, random(-4,4))
CHGG B 1
CHGG B 0 A_JumpIfNoAmmo("PrePreReload")
CHGG A 0 A_GunFlash
CHGG A 0 A_PlaySound("misc/GATGFA")
CHGG A 1 A_FireCustomMissile("CFlak", random(-4,4), 1, 0, 0, 0, random(-4,4))
CHGG A 0 A_FireCustomMissile("CFlak", random(-4,4), 0, 0, 0, 0, random(-4,4))
CHGG A 0 A_FireCustomMissile("CFlak", random(-4,4), 0, 0, 0, 0, random(-4,4))
CHGG A 0 A_FireCustomMissile("CFlak", random(-4,4), 0, 0, 0, 0, random(-4,4))
CHGG B 1
CHGG B 0 A_JumpIfNoAmmo("PrePreReload")
CHGG A 0 A_GunFlash
CHGG A 0 A_PlaySound("misc/GATGFA")
CHGG A 1 A_FireCustomMissile("CFlak", random(-4,4), 1, 0, 0, 0, random(-4,4))
CHGG A 0 A_FireCustomMissile("CFlak", random(-4,4), 0, 0, 0, 0, random(-4,4))
CHGG A 0 A_FireCustomMissile("CFlak", random(-4,4), 0, 0, 0, 0, random(-4,4))
CHGG A 0 A_FireCustomMissile("CFlak", random(-4,4), 0, 0, 0, 0, random(-4,4))
CHGG B 1
CHGG B 0 A_JumpIfNoAmmo("PrePreReload")
CHGG A 0 A_GunFlash
CHGG A 0 A_PlaySound("misc/GATGFA")
CHGG A 1 A_FireCustomMissile("CFlak", random(-4,4), 1, 0, 0, 0, random(-4,4))
CHGG A 0 A_FireCustomMissile("CFlak", random(-4,4), 0, 0, 0, 0, random(-4,4))
CHGG A 0 A_FireCustomMissile("CFlak", random(-4,4), 0, 0, 0, 0, random(-4,4))
CHGG A 0 A_FireCustomMissile("CFlak", random(-4,4), 0, 0, 0, 0, random(-4,4))
CHGG B 1 A_ReFire
CHGG A 1
CHGG B 2
CHGG A 2
CHGG B 3
CHGG A 4
CHGG B 4
Goto Ready
Flash:
CHGF A 3 Bright A_Light2
CHGF B 2 Bright A_Light1
TNT1 A 1 A_Light0
Stop
Spawn:
MGUN A -1
Stop
}
}
ACTOR CFlak
{
Radius 1
Height 1
Speed 45
Damage 1
Projectile
-NOGRAVITY
+RANDOMIZE
bouncecount 3
+DoomBounce
Gravity 0.33
DeathSound "misc/RIPPNG"
Obituary "%o caught %k's flak shards."
States
{
Spawn:
SHRA A 2 Bright
SHRA B 2 Bright
SHRA C 2 Bright
SHRA D 2 Bright
Loop
Death:
SHRA D 1
SHRA A 8 Bright
SHRA B 6 Bright
Stop
Grenade:
SHRA A 1000 A_Die
Wait
Detonate:
SHRA C 4 A_Scream
SHRA D 6 A_Detonate
Stop
}
}
ACTOR RocketLauncherPickUp : CustomInventory replaces RocketLauncher
{
Inventory.PickupMessage "You procured an RPG! Careful now!"
States
{
Spawn:
LAUN A -1
Stop
Pickup:
LAUN A 0 A_GiveInventory("RPG",1)
LAUN A 0 A_GiveInventory("RocketAmmo",2)
Stop
}
}
Actor RPGBOX : Ammo 1669
{
Inventory.MaxAmount 5
Ammo.BackpackMaxAmount 5
}
actor RPG : Weapon
{
Inventory.PickupMessage "You procured an RPG! Careful now!"
Weapon.AmmoType1 "RPGBOX"
Weapon.AmmoType2 "RPGBOX"
Weapon.AmmoUse1 1
Weapon.AmmoUse2 1
Weapon.AmmoGive 0
+Weapon.Ammo_Optional
+Weapon.Alt_Ammo_Optional
Weapon.SlotNumber 5
States
{
Ready:
MISG A 0 A_JumpIfInventory("IsReloading",1,"PrePreReload")
MISG A 1 A_WeaponReady
Loop
Deselect:
MISG A 1 A_Lower
Loop
Select:
MISG A 1 A_Raise
Loop
ReadyToGo:
MISG A 16 Offset(0,80)
MISG A 0 A_PlaySound("misc/RPGRLB")
MISG A 30 Offset(0,80)
MISG A 1 Offset(0,75)
MISG A 1 Offset(0,70)
MISG A 1 Offset(0,65)
MISG A 1 Offset(0,60)
MISG A 1 Offset(0,55)
MISG A 1 Offset(0,50)
MISG A 1 Offset(0,45)
MISG A 1 Offset(0,40)
Goto Ready
PrePreReload:
MISG A 1 Offset(0,40)
MISG A 1 Offset(0,45)
MISG A 1 Offset(0,50)
MISG A 1 Offset(0,55)
MISG A 1 Offset(0,60)
MISG A 1 Offset(0,65)
MISG A 1 Offset(0,70)
MISG A 1 Offset(0,75)
MISG A 1 Offset(0,80)
Goto PreReload
PreReload:
MISG A 12 Offset(0,80)
MISG A 0 A_JumpIfInventory("RPGBOX",5,"ReadyToGo")
MISG A 0 A_JumpIfInventory("RocketAmmo",1,"Reload")
Goto ReadyToGo
Reload:
MISG A 0 Offset(0,80)
MISG A 0 A_PlaySound("misc/RPGRLA")
MISG A 0 A_TakeInventory("RocketAmmo", 1)
MISG A 0 A_GiveInventory("RPGBOX", 1)
Goto PreReload
Fire:
MISG A 0 A_JumpIfNoAmmo("PrePreReload")
MISG B 8 A_GunFlash
MISG B 12 A_FireCustomMissile("Missle",0,1)
MISG B 0 A_ReFire
Goto Ready
AltFire:
MISG A 0 A_JumpIfNoAmmo("PrePreReload")
MISG B 8 A_GunFlash
MISG B 12 A_FireCustomMissile("Grenade", 0, true, 0, 0, 0, 6.328125)
MISG B 0 A_ReFire
Goto Ready
Flash:
MISF A 3 Bright A_Light1
MISF B 4 Bright
MISF CD 4 Bright A_Light2
TNT1 A 1 A_Light0
Stop
Spawn:
LAUN A -1
Stop
}
}
actor Missle
{
Radius 10
Height 8
Speed 20
Damage 20
Projectile
SeeSound "weapons/rocklf"
DeathSound "weapons/rocklx"
Obituary "%o rode %k's rocket-propelled-grenade"
States
{
Spawn:
MISL A 1 bright
loop
Death:
MISL B 8 bright A_Explode(128,128)
MISL C 6 bright
MISL D 4 bright
stop
}
}
ACTOR PlasmaRiflePickUp : CustomInventory replaces PlasmaRifle
{
Inventory.PickupMessage "You procured an Alien Artifact..."
States
{
Spawn:
PLAS A -1
Stop
Pickup:
PLAS A 0 A_GiveInventory("AlienRifle",1)
PLAS A 0 A_GiveInventory("Cell",40)
Stop
}
}
Actor smCELL : Ammo 1670
{
Inventory.MaxAmount 45
Ammo.BackpackMaxAmount 45
}
actor AlienRifle : Weapon
{
Weapon.AmmoType1 "smCELL"
Weapon.AmmoType2 "smCELL"
Weapon.AmmoUse1 1
Weapon.AmmoUse2 15
Weapon.AmmoGive 0
+Weapon.Ammo_Optional
+Weapon.Alt_Ammo_Optional
Weapon.SlotNumber 6
Inventory.PickupMessage "You procured an Alien Artifact..."
States
{
Ready:
PLSG A 0 A_JumpIfInventory("IsReloading",1,"PrePreReload")
PLSG A 1 A_WeaponReady
Loop
Deselect:
PLSG A 1 A_Lower
Loop
Select:
PLSG A 1 A_Raise
Loop
ReadyToGo:
PLSG A 20 Offset(0,80)
PLSG A 0 A_PlaySound("misc/PLSZRB")
PLSG A 32 Offset(0,80)
PLSG A 1 Offset(0,75)
PLSG A 1 Offset(0,70)
PLSG A 1 Offset(0,65)
PLSG A 1 Offset(0,60)
PLSG A 1 Offset(0,55)
PLSG A 1 Offset(0,50)
PLSG A 1 Offset(0,45)
PLSG A 1 Offset(0,40)
Goto Ready
PrePreReload:
PLSG A 0 A_PlaySound("misc/PLSZRA")
PLSG A 1 Offset(0,40)
PLSG A 1 Offset(0,45)
PLSG A 1 Offset(0,50)
PLSG A 1 Offset(0,55)
PLSG A 1 Offset(0,60)
PLSG A 1 Offset(0,65)
PLSG A 1 Offset(0,70)
PLSG A 1 Offset(0,75)
PLSG A 1 Offset(0,80)
Goto PreReload
PreReload:
PLSG A 0 Offset(0,80)
PLSG A 0 A_JumpIfInventory("smCELL",45,"ReadyToGo")
PLSG A 0 A_JumpIfInventory("Cell",1,"Reload")
Goto ReadyToGo
Reload:
PLSG A 0 Offset(0,80)
PLSG A 0 A_TakeInventory("Cell", 1)
PLSG A 0 A_GiveInventory("smCELL", 1)
Goto PreReload
Fire:
PLSG A 0 A_JumpIfNoAmmo("PrePreReload")
PLSG A 0 A_GunFlash
PLSG A 3 A_FireCustomMissile("PlasmaS",0,1)
PLSG B 20 A_ReFire
Goto Ready
AltFire:
PLSG A 0 A_JumpIfNoAmmo("PrePreReload")
PLSG A 0 A_GunFlash
PLSG A 3 A_FireRailgun
PLSG A 0 A_GunFlash
PLSG A 3
PLSG B 20
PLSG A 3
Goto Ready
Flash:
PLSF A 4 Bright A_Light1
Goto LightDone
PLSF B 4 Bright A_Light1
Goto LightDone
Spawn:
PLAS A -1
Stop
}
}
actor PlasmaS
{
Radius 13
Height 8
Speed 25
Damage 5
Projectile
+RANDOMIZE
RenderStyle Add
Alpha 0.75
SeeSound "weapons/plasmaf"
DeathSound "weapons/plasmax"
Obituary "%o was melted by %k's plasma."
States
{
Spawn:
PLSS AB 6 bright
loop
Death:
PLSE ABCDE 4 bright
stop
}
}
ACTOR BFG9000Pickup : CustomInventory replaces BFG9000
{
Inventory.PickupMessage "You procured the BFG9001! Oh, ye---Wait a second..."
States
{
Spawn:
BFUG A -1
Stop
Pickup:
BFUG A 0 A_GiveInventory("BFG9001",1)
BFUG A 0 A_GiveInventory("Cell",40)
Stop
}
}
Actor lgCELL : Ammo 1671
{
Inventory.MaxAmount 120
Ammo.BackpackMaxAmount 120
}
actor BFG9001 : Weapon
{
Weapon.AmmoUse1 40
Weapon.AmmoUse2 12
Weapon.AmmoType1 "lgCELL"
Weapon.AmmoType2 "lgCELL"
Weapon.AmmoGive 0
+Weapon.Ammo_Optional
+Weapon.Alt_Ammo_Optional
Weapon.SlotNumber 7
Inventory.PickupMessage "You got the BFG9001! Oh, ye---Wait a second..."
States
{
Ready:
BFGG A 0 A_JumpIfInventory("IsReloading",1,"PrePreReload")
BFGG A 1 A_WeaponReady
loop
Deselect:
BFGG A 1 A_Lower
loop
Select:
BFGG A 1 A_Raise
loop
ReadyToGo:
BFGG A 12 Offset(0,80)
BFGG A 0 A_PlaySound("misc/BGFRLB")
BFGG A 18 Offset(0,80)
BFGG A 0 A_PlaySound("misc/BGFRLC")
BFGG A 48 Offset(0,80)
BFGG A 0 A_PlaySound("misc/BGFRLD")
BFGG A 12 Offset(0,80)
BFGG A 1 Offset(0,75)
BFGG A 1 Offset(0,70)
BFGG A 1 Offset(0,65)
BFGG A 1 Offset(0,60)
BFGG A 1 Offset(0,55)
BFGG A 1 Offset(0,50)
BFGG A 1 Offset(0,45)
BFGG A 1 Offset(0,40)
Goto Ready
PrePreReload:
BFGG A 1 Offset(0,40)
BFGG A 1 Offset(0,45)
BFGG A 0 A_PlaySound("misc/BGFRLA")
BFGG A 1 Offset(0,50)
BFGG A 1 Offset(0,55)
BFGG A 1 Offset(0,60)
BFGG A 1 Offset(0,65)
BFGG A 1 Offset(0,70)
BFGG A 1 Offset(0,75)
BFGG A 1 Offset(0,80)
Goto PreReload
PreReload:
BFGG A 0 Offset(0,80)
BFGG A 0 A_JumpIfInventory("lgCELL",120,"ReadyToGo")
BFGG A 0 A_JumpIfInventory("Cell",1,"Reload")
Goto ReadyToGo
Reload:
BFGG A 0 Offset(0,80)
BFGG A 0 A_TakeInventory("Cell", 1)
BFGG A 0 A_GiveInventory("lgCELL", 1)
Goto PreReload
Fire:
BFGG A 0 A_JumpIfNoAmmo("PrePreReload")
BFGG A 20 A_BFGSound
BFGG B 10 A_GunFlash
BFGG B 10 A_FireBFG
BFGG B 20 A_ReFire
goto Ready
AltFire:
BFGG A 0 A_JumpIfNoAmmo("PrePreReload")
BFGG A 20 A_PlaySound ("weapons/bfg10kf")
BFGG A 8
BFGG B 2 A_GunFlash
BFGG B 2 A_FireBullets(0,0,1,0,"BFG10kShot")
BFGG B 2 A_ReFire
BFGG B 35 A_PlaySound ("weapons/bfg10kcool")
Goto Ready
Flash:
BFGF A 11 bright A_Light1
BFGF B 6 bright A_Light2
Goto LightDone
Spawn:
BFUG A -1
stop
}
}
ACTOR DoomPlayer : PlayerPawn
{
Speed 1
Health 100
Radius 16
Height 56
Mass 100
PainChance 255
Player.DisplayName "Marine"
Player.CrouchSprite "PLYC"
Player.StartItem "92F"
Player.StartItem "Fist"
Player.StartItem "Clip", 50
Player.StartItem "Action_Reload"
Player.StartItem "Action_ReloadCancel"
Player.WeaponSlot 1, Fist, 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:
PLAY A -1
Loop
See:
PLAY ABCD 4
Loop
Missile:
PLAY E 12
Goto Spawn
Melee:
PLAY F 6 BRIGHT
Goto Missile
Pain:
PLAY G 4
PLAY G 4 A_Pain
Goto Spawn
Death:
PLAY H 0 A_PlayerSkinCheck("AltSkinDeath")
Death1:
PLAY H 10
PLAY I 10 A_PlayerScream
PLAY J 10 A_NoBlocking
PLAY KLM 10
PLAY N -1
Stop
XDeath:
PLAY O 0 A_PlayerSkinCheck("AltSkinXDeath")
XDeath1:
PLAY O 5
PLAY P 5 A_XScream
PLAY Q 5 A_NoBlocking
PLAY RSTUV 5
PLAY W -1
Stop
AltSkinDeath:
PLAY H 6
PLAY I 6 A_PlayerScream
PLAY JK 6
PLAY L 6 A_NoBlocking
PLAY MNO 6
PLAY P -1
Stop
AltSkinXDeath:
PLAY Q 5 A_PlayerScream
PLAY R 0 A_NoBlocking
PLAY R 5 A_SkullPop
PLAY STUVWX 5
PLAY Y -1
Stop
}
}
ACTOR IsReloading : Inventory
{
Inventory.MaxAmount 1
}
ACTOR Action_Reload : CustomInventory
{
Inventory.Amount 1
Inventory.MaxAmount 1
-INVBAR
States
{
Use:
TNT1 A 0 A_GiveInventory("IsReloading",1)
Fail
}
}
ACTOR Action_ReloadCancel : CustomInventory
{
Inventory.Amount 1
Inventory.MaxAmount 1
-INVBAR
States
{
Use:
TNT1 A 0 A_TakeInventory("IsReloading",1)
Fail
}
}[/spoiler]
					Last edited by Dusk on Sat Feb 23, 2013 8:40 pm, edited 1 time in total.
									
			
									
						RE: Weapons mod: Weapon's won't stay even with Weapon Stay Flag
Why are they CustomInventory? Usually you replace weapons with weapons, which is why they stay.
			
													
					Last edited by Qent on Sat Feb 23, 2013 7:50 pm, edited 1 time in total.
									
			
									
						- 
				Nubcakes
 - Posts: 29
 - Joined: Tue Jun 05, 2012 4:24 pm
 - Location: Outside your window with duct tape stretched out!
 
RE: Weapons mod: Weapon's won't stay even with Weapon Stay Flag
I thought you had to use CustomInventory for custom weapons?
			
									
									
						RE: Weapons mod: Weapon's won't stay even with Weapon Stay Flag
No, usually you'd inherit from Weapon, DoomWeapon, or one of the existing weapons.
			
									
									
						RE: Weapons mod: Weapon's won't stay even with Weapon Stay Flag
Spoilered that code up for you.
CustomInventory should be used for inventory items with custom behavior on pickup or use, the use state is used to make items that go to the inventory bar and are used from there. Weapon should be used for, well, weapons, etc. See the ZDoom wiki entry on this for information about these classes. Only weapons are affected by sv_weaponstay.
			
													CustomInventory should be used for inventory items with custom behavior on pickup or use, the use state is used to make items that go to the inventory bar and are used from there. Weapon should be used for, well, weapons, etc. See the ZDoom wiki entry on this for information about these classes. Only weapons are affected by sv_weaponstay.
					Last edited by Dusk on Sat Feb 23, 2013 8:50 pm, edited 1 time in total.
									
			
									
						- 
				Nubcakes
 - Posts: 29
 - Joined: Tue Jun 05, 2012 4:24 pm
 - Location: Outside your window with duct tape stretched out!
 
RE: Weapons mod: Weapon's won't stay even with Weapon Stay Flag
I altered my shotgun classes abit so the shotgun actor is a weapon instead of custominventory but now it doesn't give any shells and the shotguns that sergent drops stay. Below is the code I think is relevant here. 
ACTOR HuntingShotgun : Weapon Replaces Shotgun
{
Inventory.PickupMessage "You procured the Hunting Shotgun!"
Weapon.AmmoType1 "HuntTube"
Weapon.AmmoType2 "HuntTube"
Weapon.AmmoUse1 1
Weapon.AmmoUse2 1
Weapon.AmmoGive 0
Weapon.SlotNumber 3
+Weapon.Ammo_Optional
+Weapon.Alt_Ammo_Optional
AttackSound "weapons/shotgf"
States
{
Spawn:
SHOT A -1
Stop
Pickup:
SHOT A 0 A_GiveInventory("Shell",4)
Stop
	
I do not want the weapon to give the ammo directly into its magazine since that would mean you couldn't use the picked up ammo in say; the supershotgun. If your magazine was full you also couldn't pickup the shotgun. That is why Weapon.AmmoGive is set to 0 and why I have A_GiveInventory("Shell",4) in the pickup state.
Edit: alternatively I guess I could replace the monster code to make them drop the custominventory which disappears.
Well here is the new problem. If I make the shotgun give ammo with the Weapon.AmmoGive line, it puts it into the weapon's magazine directly and if you wanted to use the ammo with say the super shotgun; you're fucked.
If I try to use the custominventory actor for shotgunpickup that I put into the shotgun zombie's DropItem line; The actor that the shotgun zombie drops it gives some shells and refill the shotgun's magazine if you already have it.
Using the Pickup state line "SHOT A 0 A_GiveInventory("Shell",4)" in the Shotgun Actor doesn't actually give the player any shells for some reason.
			
													ACTOR HuntingShotgun : Weapon Replaces Shotgun
{
Inventory.PickupMessage "You procured the Hunting Shotgun!"
Weapon.AmmoType1 "HuntTube"
Weapon.AmmoType2 "HuntTube"
Weapon.AmmoUse1 1
Weapon.AmmoUse2 1
Weapon.AmmoGive 0
Weapon.SlotNumber 3
+Weapon.Ammo_Optional
+Weapon.Alt_Ammo_Optional
AttackSound "weapons/shotgf"
States
{
Spawn:
SHOT A -1
Stop
Pickup:
SHOT A 0 A_GiveInventory("Shell",4)
Stop
I do not want the weapon to give the ammo directly into its magazine since that would mean you couldn't use the picked up ammo in say; the supershotgun. If your magazine was full you also couldn't pickup the shotgun. That is why Weapon.AmmoGive is set to 0 and why I have A_GiveInventory("Shell",4) in the pickup state.
Edit: alternatively I guess I could replace the monster code to make them drop the custominventory which disappears.
Well here is the new problem. If I make the shotgun give ammo with the Weapon.AmmoGive line, it puts it into the weapon's magazine directly and if you wanted to use the ammo with say the super shotgun; you're fucked.
If I try to use the custominventory actor for shotgunpickup that I put into the shotgun zombie's DropItem line; The actor that the shotgun zombie drops it gives some shells and refill the shotgun's magazine if you already have it.
Using the Pickup state line "SHOT A 0 A_GiveInventory("Shell",4)" in the Shotgun Actor doesn't actually give the player any shells for some reason.
					Last edited by Nubcakes on Sun Feb 24, 2013 1:19 am, edited 1 time in total.
									
			
									
						RE: Weapons mod: Weapon's won't stay even with Weapon Stay Flag
That's because the Pickup state is only used with CustomInventory.
The best way to handle it is to make your second AmmoType for the Shotgun Shells, set its AmmoUse2 to 0, and remove the HuntTube with A_TakeInventory. This'd break the Infinity Ammo gameplay setting for it, but until Zandronum gets the option to do so otherwise it's the best you can do.
			
									
									
						The best way to handle it is to make your second AmmoType for the Shotgun Shells, set its AmmoUse2 to 0, and remove the HuntTube with A_TakeInventory. This'd break the Infinity Ammo gameplay setting for it, but until Zandronum gets the option to do so otherwise it's the best you can do.
- 
				Nubcakes
 - Posts: 29
 - Joined: Tue Jun 05, 2012 4:24 pm
 - Location: Outside your window with duct tape stretched out!
 
RE: Weapons mod: Weapon's won't stay even with Weapon Stay Flag
Isn't AmmoUse2 the alt fire ammo though? It and all other guns have alt fires. And if I remove HuntTube, where will the magazine data for the weapon be stored?
Edit: for clarification, the HuntTube acts as the ammo pool for what is loaded in the shotgun. When you reload; A shell is subtracted from your inventory and 1 is added to the HuntTube inventory.
Edit2: Eh, fuck it. Until a suitable fix that doesn't compromise reloading or the Alt fire comes along, all guns will be unloaded when you find them unless dropped by a monster!
			
													Edit: for clarification, the HuntTube acts as the ammo pool for what is loaded in the shotgun. When you reload; A shell is subtracted from your inventory and 1 is added to the HuntTube inventory.
Edit2: Eh, fuck it. Until a suitable fix that doesn't compromise reloading or the Alt fire comes along, all guns will be unloaded when you find them unless dropped by a monster!
					Last edited by Nubcakes on Sun Feb 24, 2013 4:24 am, edited 1 time in total.
									
			
									
						RE: Weapons mod: Weapon's won't stay even with Weapon Stay Flag
If you use HuntTube as the "loaded" ammo, then you should use Shells as your alternative ammo for display purposes. (Why the hell you'd make it both the primary and secondary ammotype I have no idea.)
And then take the shells in the reload state and give the HuntTube ammo.
And that'd work with infinite ammo because you wouldn't spend any HuntTube ammo on firing, thus no need to reload.
			
									
									And then take the shells in the reload state and give the HuntTube ammo.
And that'd work with infinite ammo because you wouldn't spend any HuntTube ammo on firing, thus no need to reload.
[quote="Kennon Conrad"]Dear LawCounsels,
To prove your compressor works, I suggest you try it on your posts and then post only the result.
We all know an ideal lossy compressor would output 0 bytes for your posts, so see if you can beat that.
Have a nice day.[/quote]
						To prove your compressor works, I suggest you try it on your posts and then post only the result.
We all know an ideal lossy compressor would output 0 bytes for your posts, so see if you can beat that.
Have a nice day.[/quote]
[/spoiler]
