-
Content count
30 -
Joined
-
Last visited
Posts posted by noigs2015
-
-
-
Hey there. I haven't even tried this yet, but I want to know if it's possible. I would like that, after the player died, it summons a monster, and in other case that i'll work for, he'll resurrect. But I don't know how to do it properly right now, and the wiki isn't helping me, this is the closest result I found and I don't think that would work as I want. I know I can do some stuff with decorate at the resurrection moment, but don't know exactly what should I do.
-
Hey Guys, I made it work finally, i'll let here the code and a little explaining video.
The Token Decorate:
SpoilerActor FistSelect : Inventory { inventory.maxamount 1 } Actor HNKSelect : Inventory { inventory.maxamount 1 } Actor FlameSelect : Inventory { inventory.maxamount 1 }
The Weapons Decorate
SpoilerACTOR 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:
SpoilerACTOR 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 } }
-
Hey Guys, I made it work finally, i'll let here the code and a little explaining video.
The Token Decorate:
SpoilerActor FistSelect : Inventory { inventory.maxamount 1 } Actor HNKSelect : Inventory { inventory.maxamount 1 } Actor FlameSelect : Inventory { inventory.maxamount 1 }
The Weapons Decorate
SpoilerACTOR 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:
SpoilerACTOR 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 } }
-
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:
SpoilerActor 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 }
SpoilerThen 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.
SpoilerAnd 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.
-
I'll let a wad with the final result If anyone want to take a look of it.
-
Ok, Don't know with what black magic I mess, but some how, It worked. I just putted the Wad in the GZ Doom Builder putted the scripts in some lines (And worked the SetMusic). Then I found this command "SetMusicVolume" which is like that and exactly what I was looking for, and also worked. Then I played the Wad and suddenly, the script (called from the decorate) worked. Don't know wtf happened. Anyways, Thanks you all guys.
-
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?
-
5 minutes ago, plums said:Hey @noigs2015, just to make sure, you're actually compiling your scripts right?
SpoilerYep, I did.
-
1 hour ago, Gaia74 said:Just like this for example:
Ok, officially I don't know what's happening.
I'll let an explaining vid:
-
8 minutes ago, Gaia74 said:Then, use this :
https://zdoom.org/wiki/SetMusic
It does not matter if the sound is not music, the engine can reproduce it as musicGood, I will, and how do I call the script in the Decorate? I think that's my problem.
-
11 hours ago, Gaia74 said:It will sound crazy but I think it is easier and probably simpler, make the weapon reproducing the sound like a music instead of reproducing the sound in a a_playsound, make sure you can play the level music again after the weapon finish
No, actually, it have more sense. The problem is that I don't know which is the command or the correct channel, I just lost myself in the zdoom wiki and i'm confused with it now.
Besides, I think the best way is turn down the music volume with a script, but I don't know how to do it properly.
-
Hey there, I have a lil big problem. I need help. I'm making an experiment, but I don't know if I'm very noob, or stoopid.
I want to make a Hokuto Hyaretsu Ken (Omae wa mou Shindeiru) Weapon. I stole it for Russian Ov- I mean, I made it and works roughly, it's just a testing. But I want it to play the ATATATATA sound, which does, but stopping or pausind the actual music. I'm trying to do a Script, that I don't know if it's even working, I'll leave all my tries here:
script 10000 (void) { //CONSOLECOMMAND ("STOPMUS"); //SetResultValue(SetCVarstring ("snd_musicvolume", 0)); //SetCVarstring ("snd_musicvolume", 0); //SetCVar ("stopmus", True); SetMusic (""); }
The Script is in the File of the first map. And this is the actor's Decorate:
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 1 A_Lower Loop Select: // This state is entered when you select this weapon. FIST A 1 A_Raise Loop FIRE: //AHTATATATATATATA MFST B 0 ACS_Execute (10000, 1,0,0,0) MFST B 0 A_PlaySound ("WEAPONS/AHTATATA", CHAN_AUTO | CHAN_NOSTOP, 10) MFST B 0 A_Recoil (-15) MFST BCDEFGHI 1 A_FireBullets (13.4, 9.2, 50, 10, "BulletPuff") MFST B 0 A_Refire Goto AHTAHH AHTAHH: MFST B 0 A_StopSound(CHAN_AUTO) Goto READY } }
Then what I'm doing wrong? Need some hulp.
-
10 hours ago, TheHambourgeois said:Shit that's still more complicated than the batch files I use to start my wads.
If everything is in the same folder you can get away with something only a single line, like:
Put that text in a file and name it something like yourlevel.bat and you're good to go.
Thanks man.
-
Ok, somehow, I discovered another way to add even more sprites, like blinking. Here is the source.
I will make it in video to explain it better
-
Ok, I lost myself trying to do this, so i'll let a little guide.
First, Must have your sprites Named this way: "XXXST00", Where:
Spoiler- XXX is the Por- I mean the identification of the group of images, is like a prefix.
-
ST is the status and it change dependind the "State" the player is:
- ST is the normal one, looking around. (There must be 3 of this per health state, but that's defined by the number.)
- TL is taking damage from left. (1)
- TR is taking damage from right. (1)
- OUCH is the legend taking a lot of damage. (1)
- EVL is the evil Grin that all we love taking a new weapon. (1)
- KILL is when you let the trigger pushed until it breaks. (1)
- GOD is iddqd purposed XD.
- DEAD is when you surrendered to live.
- The first 0 is the order the game takes it by health, the first number determines the health state (0 is above 80% / 1 is between 79% and 60% / 2 is 59% until 40% / 3 is 39% until 20% / 4 is 19% until 1%)
- And the second 0 is the order of them, generally, is just for the ST, where 0 is looking to the right, 1 is center looking and 2 is looking to the left. TL and TR just have "00", and the other states have just a 0 without a second number.
They should be 42 sprites in total, 8 for each health level (40), 1 for god (I readed it could be even 2 but dunno about it), 1 for death, and those two just have a 0 by number and not two numbers (XXXGOD0 / XXXDEAD0).
Now comes the easy part. just set your classes in the MapInfo, Then in Decorate you will give each class this property: Player.Face and just then type in doublequotes "XXX" (Your sprites prefix name), and that's all. The SBARINFO is for determined things, but don't figure what exactly yet.
A thing I would add is that the game "fix" the pics to the bar, like elonging them vertically, so I suggest to see the correct offsets and sizes in the actual game of your sprites before counting the win. Try to do the imgs 33*30px and put the offsets of them in -1 and -2, it'll fit in the face square.
-
This is how it worked to me:
In the MapInfo
GameInfo { PlayerClasses = "NOI", "AnyOtherGuy" }
In the Decorate:
ACTOR Noiprocs : PlayerPawn 15010 { ... Player.Face "Noi" ...
And the Picture names are "NOIST00" (I'll put a pic with their names). I also found some stuff of how to name them properly.
A thing I would add is that the game "fixed" my pics to the bar, I suggest to see the correct offsets and sizes in the actual game of your sprites before counting the win.
Apparently, the mugshot section is not currently working, except for some instances. Or at least they didn't worked to me.
-
2 hours ago, noigs2015 said:I'm interested too, can I take a look of what are you doing in the decorate, maybe we could help ourselves
Edit: I think I found something: https://zdoom.org/wiki/Classes https://zdoom.org/wiki/Creating_new_player_classes
Edit of the Edit: I found a guy that actually made it with Terminator, it's pretty cool Thou, check his Wad and the decorates, he have a Player Pawn for each type of class. Maybe that's the way:
Also, I found this too, it's the quick noob's quick guide for us XD:
I'm still searching how to change the Faces. I saw in the original Wads of Doom that the face sprites is called "STFS" That could be "Status Faces", but I'm still searching how to change it by the class.
I just found until now some like we want. This wad is "Pasta Power, Baby", found it here. I was analizing the file, and have something. There is a image called Mario and another Called Luigi (Just the names with a mario game font) But in the actual game, they displays in their correspondient class. I'm seeking how.
I actually find it there. Is a file that modify the Status Bar, like it own Decorate. Here I left a pic with the example:
SpoilerRemember the images I mentioned, here they are linked
And by last, here's the Zdoom Wiki entry for more information https://zdoom.org/wiki/SBARINFO
It was very cool investigate it. Generally the ZDoom Wiki have all the answers, but sometimes they are too hidden, right?
-
Hey guys, I have a question, If I want to change the sprites of the faces of Doomguy by each class, how can I do it? I also have another dude that want that.
Edit: Forget it, I found it, it's in the link.
-
On 8/22/2020 at 11:44 AM, Teppers05 said:I'm trying to make a WAD with different playable characters. I've been using the player classes because they were basically what I was looking for. I've seen that you can change the sprites for the player classes but is there a way to change the sprites for the status face?
I'm interested too, can I take a look of what are you doing in the decorate, maybe we could help ourselves
Edit: I think I found something: https://zdoom.org/wiki/Classes https://zdoom.org/wiki/Creating_new_player_classes
Edit of the Edit: I found a guy that actually made it with Terminator, it's pretty cool Thou, check his Wad and the decorates, he have a Player Pawn for each type of class. Maybe that's the way:
Also, I found this too, it's the quick noob's quick guide for us XD:
I'm still searching how to change the Faces. I saw in the original Wads of Doom that the face sprites is called "STFS" That could be "Status Faces", but I'm still searching how to change it by the class.
I just found until now some like we want. This wad is "Pasta Power, Baby", found it here. I was analizing the file, and have something. There is a image called Mario and another Called Luigi (Just the names with a mario game font) But in the actual game, they displays in their correspondient class. I'm seeking how.
-
-
17 hours ago, noigs2015 said:I have a question, and I don't care if I must hack NASA or not in the process. How can I make, once I putted the Flag Friendly in the Decorate Lump, that the actor gets mad on me if I damage it. Like unfriend it. I believe using some like IF between the flags, but I'm not really sure of what must I put in there, of if is even possible.
Here's my code:
actor MarinePrueba 15002 { Game Doom //$Category Monsters //$Title Ally 01- Punch Health 200 GibHealth -45 Radius 20 Height 56 Speed 15 PainChance 64 OBITUARY "%o was punched in the face!" SEESOUND "Ally/Site" PAINSOUND "Ally/Pain" DEATHSOUND "Ally/Death" ACTIVESOUND "Ally/Active" MeleeThreshold 64 MeleeRange 64 MaxStepHeight 32 MaxDropoffHeight 64 MONSTER +BOSS +FLOORCLIP +FRIENDLY +QUICKTORETALIATE +NORADIUSDMG +SLIDESONWALLS +JUMPDOWN +CANPUSHWALLS +CANUSEWALLS +NODROPOFF +PUSHABLE +NOTAUTOAIMED +NOBLOCKMONST -COUNTKILL //+NOTIMEFREEZE //+NOFEAR +LOOKALLAROUND //+TELESTOMP //Here is where I planned to put If, but not really sure states { Spawn: //Spawn & Wait like standard Monsters ALY1 AABB 5 A_Look goto see See: ALY1 AABBCCDD 3 A_Chase ALY1 A 0 A_CheckSight("A01Patrol")//If target gets out of sight or dies after attacking, restarts patroling. loop A01Patrol: //Numbered by each Marine's number to avoid "Double Defenitions" ALY1 AABBCCDD 3 A_Wander ALY1 A 0 A_Look Loop Melee: ALY1 E 3 A_FaceTarget ALY1 F 5 A_CustomMeleeAttack(random(3, 10) * 8,"Ally/PunchImpact","Ally/Fist","Melee") ALY1 E 5 A_Jump(64,"Missile") //Might follow through with a jump & punch attack ALY1 A 3 Goto See Missile: ALY1 A 10 A_FaceTarget ALY1 A 5 A_PlaySound("Ally/PunchChargeReady") ALY1 E 5 A_FaceTarget ALY1 E 0 A_PlaySound("Ally/PunchChargeJump") ALY1 A 10 A_SkullAttack ALY1 E 5 A_Gravity ALY1 E 0 A_FaceTarget ALY1 F 5 A_CustomMeleeAttack(random(3, 10) * 8,"Ally/PunchImpact","Ally/Fist","Melee") ALY1 E 5 A_FaceTarget ALY1 F 5 A_CustomMeleeAttack(random(3, 10) * 8,"Ally/PunchImpact","Ally/Fist","Melee") goto See Pain: ALY1 G 5 A_Pain ALY1 G 3 Goto See Death: ALY1 H 3 ALY1 I 3 A_Scream ALY1 J 3 ALY1 KLM 5 ALY1 N -1 A_NoBlocking Stop XDeath: ALY1 O 5 ALY1 P 5 A_XScream ALY1 QRSTUV 5 ALY1 W -1 A_NoBlocking Stop } }
If anyone find this, I discovered how (I'm a little slow)
This is my Decorate for the Neutral/Friendly/Don't-mess-with-him monster now (The //Notes will explain the process):
Spoileractor MarinePrueba 15002 { Game Doom //$Category Monsters //$Title Punchy Boii Health 200 GibHealth -45 Radius 20 Height 56 Speed 15 PainChance 85 //This is a percent of possibilities to activate the Pain States, that will be important in this, you can set it how you want, being 0 a touhg guy that feels no pain and 100 an easily offended fag. OBITUARY "%o was punched in the face!" SEESOUND "Ally/Site" PAINSOUND "Ally/Pain" DEATHSOUND "Ally/Death" ACTIVESOUND "Ally/Active" MeleeThreshold 64 MeleeRange 64 MaxStepHeight 32 MaxDropoffHeight 64 MONSTER +BOSS +FLOORCLIP +FRIENDLY // This is the magic thingy that make the monster not mad at you, even if you attack him +QUICKTORETALIATE +NORADIUSDMG +SLIDESONWALLS +JUMPDOWN +CANPUSHWALLS +CANUSEWALLS +NODROPOFF +PUSHABLE +NOTAUTOAIMED +NOBLOCKMONST -COUNTKILL //+NOTIMEFREEZE //+NOFEAR +LOOKALLAROUND //+TELESTOMP states { Spawn: ALY1 AABB 5 A_Look goto see //This will automatically activate the monster, activating the See State, even if the monster haven't seen you yet. See: ALY1 AABBCCDD 3 A_Chase ALY1 A 0 A_CheckSight("A01Patrol")//If target gets out of sight or dies after attacking, restarts patroling. loop A01Patrol: ALY1 AABBCCDD 3 A_Wander ALY1 A 0 A_Look Loop Melee: ALY1 E 3 A_FaceTarget ALY1 F 5 A_CustomMeleeAttack(random(3, 10) * 8,"Ally/PunchImpact","Ally/Fist","Melee") ALY1 E 5 A_Jump(64,"Missile") ALY1 A 3 Goto See Missile: ALY1 A 10 A_FaceTarget ALY1 A 5 A_PlaySound("Ally/PunchChargeReady") ALY1 E 5 A_FaceTarget ALY1 E 0 A_PlaySound("Ally/PunchChargeJump") ALY1 A 10 A_SkullAttack ALY1 E 5 A_Gravity ALY1 E 0 A_FaceTarget ALY1 F 5 A_CustomMeleeAttack(random(3, 10) * 8,"Ally/PunchImpact","Ally/Fist","Melee") ALY1 E 5 A_FaceTarget ALY1 F 5 A_CustomMeleeAttack(random(3, 10) * 8,"Ally/PunchImpact","Ally/Fist","Melee") goto See Pain: //This is the Pain State, which is important, when it gets activated, the next will happen ALY1 G 5 A_ChangeFlag("FRIENDLY", FALSE) //Now this is the Function that solve the puzzle. A_ChangeFlag(-The Flag you want to modify or add-, -"True" to add, "False" to delete, and that's all. ALY1 G 5 A_Pain ALY1 G 3 Goto See Death: ALY1 H 3 ALY1 I 3 A_Scream ALY1 J 3 ALY1 KLM 5 ALY1 N -1 A_NoBlocking Stop XDeath: ALY1 O 5 ALY1 P 5 A_XScream ALY1 QRSTUV 5 ALY1 W -1 A_NoBlocking Stop } }
-
On 8/13/2020 at 8:58 AM, TheHambourgeois said:Just ship it with a batch file that'll run it if they extract it in their root folder
Man, I tried this and f*ching works (I had to investigate a lot and it was very simple lmao) Thank you a lot.
Here I leave the example of the Batch for those noobs like me (I have Windows 10 and I now it works in any Windows, don't know about other O.S.): In a normal NotePad write:
Spoiler@echo off cd "C:\Users\PC\Desktop\Foldah.of.da.brudah\Doom\GZDoom2" start gzdoom.exe DOOM2.wad
The "@echo off" line is because this will be executed like a command with CMD, and if you don't put it, it will appear the black window making fastly the process, is optional, like make the command run cleanly XD. Then hit Enter to the next line.
You should make sure to have the Source Port and wads in the same folder.
If this batch will be in the same folder of the Source Port and stuff, this whole next line is unnecesary, and you can just jump to the next step. If your Source Port and wads will be in other folder (And please put them all in the same folder for this), you must search it, right click it and select Properties, and it will show you the Location, copy it. Go to the NotePad and write "cd" that means "Change Directory", this will basically change the location where the files that it will search are, and then put a Space and paste the location of the source port. If the folders of destination have spaces in the names, put double quotes in the direction like the example, if it has not, they aren't necessary, then hit Enter to the next line.
Then type "Start", that is the command that will... well it's obvious. But that's the command.
After it put a Space and type the name of the executable of the source port you will use with it extension. In my case: gzdoom.exe and the Source Port will run itself. Now the part I wanted, the wads and mods. Just hit another Space and type the name of the wad or even the pk3/pk7 you want to run. It could be how many you want, all separated by spaces. like this:
Spoiler@echo off cd "C:\Users\PC\Desktop\Foldah.of.da.brudah\Doom\GZDoom2" start gzdoom.exe DOOM2.wad EOA_Code.pk3 EOA_Assets.pk3 GoldenSouls_Full_1.4.pk3
Obviously, you must put the IWAD you want, and then the mods. Remember always to put the extensions (.wad or .pk3)
In this case, it's Golden Souls with Embers of Armageddon characteristics.
And last, but not least, A little suggestion, Try to type the order of the mods in a certain one, the basic IWAD always first, and then the mods, and the mod you really want to play at the last one. Believe me, my custom map didn't run properly until I putted it name in the last part.
Anyways, thank you for your support. Specially you, Hambourgeois.
-
I have a question, and I don't care if I must hack NASA or not in the process. How can I make, once I putted the Flag Friendly in the Decorate Lump, that the actor gets mad on me if I damage it. Like unfriend it. I believe using some like IF between the flags, but I'm not really sure of what must I put in there, of if is even possible.
Here's my code:
Spoileractor MarinePrueba 15002 { Game Doom //$Category Monsters //$Title Ally 01- Punch Health 200 GibHealth -45 Radius 20 Height 56 Speed 15 PainChance 64 OBITUARY "%o was punched in the face!" SEESOUND "Ally/Site" PAINSOUND "Ally/Pain" DEATHSOUND "Ally/Death" ACTIVESOUND "Ally/Active" MeleeThreshold 64 MeleeRange 64 MaxStepHeight 32 MaxDropoffHeight 64 MONSTER +BOSS +FLOORCLIP +FRIENDLY +QUICKTORETALIATE +NORADIUSDMG +SLIDESONWALLS +JUMPDOWN +CANPUSHWALLS +CANUSEWALLS +NODROPOFF +PUSHABLE +NOTAUTOAIMED +NOBLOCKMONST -COUNTKILL //+NOTIMEFREEZE //+NOFEAR +LOOKALLAROUND //+TELESTOMP //Here is where I planned to put If, but not really sure states { Spawn: //Spawn & Wait like standard Monsters ALY1 AABB 5 A_Look goto see See: ALY1 AABBCCDD 3 A_Chase ALY1 A 0 A_CheckSight("A01Patrol")//If target gets out of sight or dies after attacking, restarts patroling. loop A01Patrol: //Numbered by each Marine's number to avoid "Double Defenitions" ALY1 AABBCCDD 3 A_Wander ALY1 A 0 A_Look Loop Melee: ALY1 E 3 A_FaceTarget ALY1 F 5 A_CustomMeleeAttack(random(3, 10) * 8,"Ally/PunchImpact","Ally/Fist","Melee") ALY1 E 5 A_Jump(64,"Missile") //Might follow through with a jump & punch attack ALY1 A 3 Goto See Missile: ALY1 A 10 A_FaceTarget ALY1 A 5 A_PlaySound("Ally/PunchChargeReady") ALY1 E 5 A_FaceTarget ALY1 E 0 A_PlaySound("Ally/PunchChargeJump") ALY1 A 10 A_SkullAttack ALY1 E 5 A_Gravity ALY1 E 0 A_FaceTarget ALY1 F 5 A_CustomMeleeAttack(random(3, 10) * 8,"Ally/PunchImpact","Ally/Fist","Melee") ALY1 E 5 A_FaceTarget ALY1 F 5 A_CustomMeleeAttack(random(3, 10) * 8,"Ally/PunchImpact","Ally/Fist","Melee") goto See Pain: ALY1 G 5 A_Pain ALY1 G 3 Goto See Death: ALY1 H 3 ALY1 I 3 A_Scream ALY1 J 3 ALY1 KLM 5 ALY1 N -1 A_NoBlocking Stop XDeath: ALY1 O 5 ALY1 P 5 A_XScream ALY1 QRSTUV 5 ALY1 W -1 A_NoBlocking Stop } }
DOOM RAMON Official FINAL Version
in WAD Releases & Development
Posted
Cuando hagas que el chavo haga "pipipipipi" al morir me dara un orgasmo XD