Hellrider v0.9c - Swift Demon Killing! (28-04-21)

Projects that alter game functions but do not include new maps belong here.
Forum rules
The Projects forums are only for projects. If you are asking questions about a project, either find that project's thread, or start a thread in the General section instead.

Got a cool project idea but nothing else? Put it in the project ideas thread instead!

Projects for any Doom-based engine (especially 3DGE) are perfectly acceptable here too.

Please read the full rules for more details.
lovfultunezz
Posts: 4
Joined: Mon Aug 26, 2024 8:50 am
Preferred Pronouns: She/Her
Operating System Version (Optional): macOS
Graphics Processor: Apple M1

Re: Hellrider v0.9c - Swift Demon Killing! (28-04-21)

Post by lovfultunezz »

youre absolutely right, just checked and it turns out id been using toggle crouch this whole time. thank you so much!
Nixx_01923
Posts: 4
Joined: Sat Nov 02, 2024 9:14 am

Re: Hellrider v0.9c - Swift Demon Killing! (28-04-21)

Post by Nixx_01923 »

Hi, i got a question, i'm editing a version of this mod for personal use only, and I wanted to know how to activate the sights or the zoom of the weapons by pressing the right mouse click once, (i mean the toggle mode) and not having to hold it down constantly. Or maybe someone has a modified version of the mod or an addon?
User avatar
kalensar
Posts: 485
Joined: Sun Mar 21, 2021 9:40 pm
Preferred Pronouns: He/Him
Operating System Version (Optional): linux mint 21
Graphics Processor: ATI/AMD (Modern GZDoom)

Re: Hellrider v0.9c - Swift Demon Killing! (28-04-21)

Post by kalensar »

Nixx_01923 wrote: Tue Feb 04, 2025 8:11 pm Hi, i got a question, i'm editing a version of this mod for personal use only, and I wanted to know how to activate the sights or the zoom of the weapons by pressing the right mouse click once, (i mean the toggle mode) and not having to hold it down constantly. Or maybe someone has a modified version of the mod or an addon?
UNfortunately editing the zoom on the weapons is a bit more complicated that it might seem. You basically have to edit the altfire states on all the weapons, as that is what the zoom is routed through. The Hold+Altfire mechanic is what handles all the altfires on the Hellrider weapons.
Nixx_01923
Posts: 4
Joined: Sat Nov 02, 2024 9:14 am

Re: Hellrider v0.9c - Swift Demon Killing! (28-04-21)

Post by Nixx_01923 »

That's what I thought when I saw the programming code for the weapons, that it was a bit complex for me, that it was a bit too much for me, that's why I came to ask for anyone's help. Here's the code for the MK23, for example, what would I have to change for it to work the way I want?


ACTOR MK23Empty : Inventory { Inventory.MaxAmount 1 }

ACTOR Endiemk23 : EndieWeapon
{
Weapon.Kickback 10
Weapon.SelectionOrder 1900
Weapon.AmmoUse 1
Weapon.AmmoGive 20
Weapon.AmmoType "Mk23AmmoLoaded"
Weapon.AmmoType2 "HandgunAmmo"
Weapon.Slotnumber 2
Obituary "$OB_MPPISTOL"
+WEAPON.WIMPY_WEAPON
+WEAPON.AMMO_CHECKBOTH
+INVENTORY.UNDROPPABLE
+INVENTORY.UNTOSSABLE
Inventory.ForbiddenTo "Deagle"
Tag "H&K Mark 23"
States
{

Ready:
TNT1 A 0 {
A_GunFlash("SelectCamera");
A_StartSound("SELECT", CHAN_WEAPON, CHAN_OVERLAP);
A_StartSound("WE2EA", CHAN_WEAPON, CHAN_OVERLAP);
}
WE1S ABCDE 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWUSER1|WRF_ALLOWUSER2)
ReadyLoop:
TNT1 A 0 A_SetCrosshair(0)
TNT1 A 0 A_JumpIf(GetPlayerInput(INPUT_BUTTONS) & BT_ALTATTACK, "ZoomIn")
WE1A A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWUSER1|WRF_ALLOWUSER2)
Loop

Deselect:
TNT1 A 0 {
A_ZoomFactor(1);
A_SetCrosshair(0);
A_GunFlash("SelectCamera");
A_TakeInventory("DoSlide", 1);
}
WE1S EDCBA 1 A_WeaponReady(WRF_NOSWITCH|WRF_NOFIRE|WRF_ALLOWRELOAD|WRF_ALLOWUSER1|WRF_ALLOWUSER2)
TNT1 A 2
TNT1 A 0 A_Lower
Wait

Select:
TNT1 A 0 A_Overlay(-2, "SlideChecker")
PISG A 0 A_Raise
Wait

Fire:
TNT1 A 0 A_JumpIf(GetPlayerInput(INPUT_BUTTONS) & BT_ALTATTACK, "FireZoom")
PISG A 0 A_JumpIfInventory("Mk23AmmoLoaded", 1, "ActualFire")
Goto Reload
ActualFire:
TNT1 A 0 {
A_ZoomFactor(1);
A_SetCrosshair(0);
A_StartSound("WE1FA", CHAN_WEAPON, CHAN_OVERLAP);
A_StartSound("WP2FB", CHAN_WEAPON, CHAN_OVERLAP);
A_Quake(1, 7, 0, 400, "");
A_FireBullets(0, 0, 1, 15, "BulletImpact");
A_FireCustomMissile("EndieTracer", 0,0,0,0,0,0);
A_FireCustomMissile("Automatic_GunSmokeSpawner", frandom(-2, 2),0,0,-5,0,frandom(-5, 5));
A_FireCustomMissile("PistolCasingSpawner", 0,0,0,0,0,frandom(-5, 5));
}
TNT1 A 0 A_Gunflash
WE1F AB 1 BRIGHT A_WeaponReady(WRF_NOFIRE)
TNT1 A 0 {
A_FireCustomMissile("Automatic_GunSmokeSpawnerSmall", frandom(-2, 2),0,-2,-15);
A_FireCustomMissile("Automatic_GunSmokeSpawnerSmall", frandom(-2, 2),0,2,-10);
A_FireCustomMissile("Automatic_GunSmokeSpawnerSmall", frandom(-2, 2),0,-8, -15);
A_FireCustomMissile("Automatic_GunSmokeSpawnerSmall", frandom(-2, 2),0,12, -10);
}
WE1F C 1 A_WeaponReady(WRF_NOFIRE)
TNT1 A 0 {
A_FireCustomMissile("Automatic_GunSmokeSpawnerSmall", frandom(-2, 2),0,-12,-15);
A_FireCustomMissile("Automatic_GunSmokeSpawnerSmall", frandom(-2, 2),0,-32, -15);
A_FireCustomMissile("Automatic_GunSmokeSpawnerSmall", frandom(-2, 2),0,16,-5);
A_FireCustomMissile("Automatic_GunSmokeSpawnerSmall", frandom(-2, 2),0,32, 0);
}
WE1F DE 1 A_WeaponReady(WRF_NOFIRE)
WE1A A 2 A_WeaponReady(WRF_NOFIRE)
Goto ReadyLoop

Reload:
PISG A 0 A_JumpIfInventory("Mk23AmmoLoaded", 12, 2)
TNT1 A 0 A_JumpIfInventory("HandgunAmmo", 1, "ReloadFullCheck")
WE1A A 1 A_WeaponReady(WRF_NOFIRE)
Goto ReadyLoop

ReloadFullCheck:
PISG A 0 A_JumpIfInventory("Mk23AmmoLoaded", 1, 2)
TNT1 A 0 A_GiveInventory("MK23Empty", 1)
WE1A A 1 A_WeaponReady(WRF_ALLOWUSER1|WRF_ALLOWUSER2)
Goto ReloadAnimation

ReloadAnimation:
TNT1 A 0 {
A_ZoomFactor(1);
A_SetCrosshair(0);
A_GunFlash("ReloadCameraStart");
A_StartSound("MOVE", CHAN_WEAPON, CHAN_OVERLAP);
}
WE1S EDCBAFFFFF 1 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1|WRF_ALLOWUSER2)
TNT1 A 0 A_QuakeEx(0, 0, 0, 10, 0, 500, "", 0, 0, 0, 0, 0, 0, 1)
TNT1 A 0 A_JumpIfInventory("MK23Empty", 1, "ReloadAnimationFull")
WE1R ABCDEFGHIJKLMMNNO 1 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1|WRF_ALLOWUSER2)
TNT1 A 0 A_StartSound("MAG_OUT", CHAN_WEAPON, CHAN_OVERLAP)
TNT1 AAA 0 A_StartSound("WE1RA", CHAN_WEAPON, CHAN_OVERLAP)
TNT1 A 0 A_QuakeEx(0, 0, 0, 5, 0, 500, "", 0, 0, 0, 0, 0, 0, 1)
WE1R PQRRSSTTUVW 1 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1|WRF_ALLOWUSER2)
TNT1 A 0 A_StartSound("MAG_IN", CHAN_WEAPON, CHAN_OVERLAP)
TNT1 AAA 0 A_StartSound("WE1RB", CHAN_WEAPON, CHAN_OVERLAP)
TNT1 A 0 A_QuakeEx(1, 1, 1, 7, 0, 500, "", 0, 0, 0, 0, 0, 0, 2)
ReloadLoop:
TNT1 A 0 A_TakeInventory("HandgunAmmo", 1)
TNT1 A 0 A_GiveInventory("Mk23AmmoLoaded", 1)
TNT1 A 0 A_JumpIfInventory("Mk23AmmoLoaded", 12, "ReloadFinish")
TNT1 A 0 A_JumpIfInventory("HandgunAmmo", 1, "ReloadLoop")
Goto ReloadFinish
ReloadFinish:
WE1R XXYYZ 1 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1|WRF_ALLOWUSER2)
WE1T ABABCDEF 1 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1|WRF_ALLOWUSER2)
TNT1 A 0 {
A_QuakeEx(0, 0, 0, 5, 0, 500, "", 0, 0, 0, 0, 0, 0, 1);
A_StartSound("MOVE", CHAN_WEAPON, CHAN_OVERLAP);
}
WE1S ABCDE 1 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1|WRF_ALLOWUSER2)
Goto ReadyLoop

ReloadAnimationFull:
TNT1 A 3 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1|WRF_ALLOWUSER2)
W1R2 ABCDEFGHIJKL 1 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1|WRF_ALLOWUSER2)
TNT1 A 0 A_StartSound("MAG_OUT", CHAN_WEAPON, CHAN_OVERLAP)
TNT1 AAA 0 A_StartSound("WE1RA", CHAN_WEAPON, CHAN_OVERLAP)
TNT1 A 0 A_QuakeEx(0, 0, 0, 5, 0, 500, "", 0, 0, 0, 0, 0, 0, 1)
W1R2 LMMNNOOPPQQRRSSTTUVW 1 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1|WRF_ALLOWUSER2)
TNT1 A 0 A_StartSound("MAG_IN", CHAN_WEAPON, CHAN_OVERLAP)
TNT1 AAA 0 A_StartSound("WE1RB", CHAN_WEAPON, CHAN_OVERLAP)
TNT1 A 0 A_QuakeEx(1, 1, 1, 7, 0, 500, "", 0, 0, 0, 0, 0, 0, 2)

ReloadLoopFull:
TNT1 A 0 A_TakeInventory("HandgunAmmo", 1)
TNT1 A 0 A_GiveInventory("Mk23AmmoLoaded", 1)
TNT1 A 0 A_JumpIfInventory("Mk23AmmoLoaded", 11, "ReloadFinishFull")
TNT1 A 0 A_JumpIfInventory("HandgunAmmo", 1, "ReloadLoopFull")
Goto ReloadFinishFull

ReloadFinishFull:
W1R2 WXYYZZ 1 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1|WRF_ALLOWUSER2)
W1R3 ABCD 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1|WRF_ALLOWUSER2)
TNT1 AAAAAAAA 0 A_StartSound("WE1RC", CHAN_WEAPON, CHAN_OVERLAP)
TNT1 A 0 A_QuakeEx(0, 0, 0, 5, 0, 500, "", 0, 0, 0, 0, 0, 0, 1)
W1R3 EEFFGHGHIJKLMNO 1 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1|WRF_ALLOWUSER2)
TNT1 A 0 {
A_QuakeEx(0, 0, 0, 5, 0, 500, "", 0, 0, 0, 0, 0, 0, 1);
A_StartSound("MOVE", CHAN_WEAPON, CHAN_OVERLAP);
}
WE1S ABCDE 1 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWUSER1|WRF_ALLOWUSER2)

TNT1 A 0 A_TakeInventory("MK23Empty")
Goto ReadyLoop

User1:
WE1S DCBA 1
TNT1 A 0 {
A_ZoomFactor(1);
A_GunFlash("SelectCamera");
A_StartSound("MOVE", CHAN_WEAPON, CHAN_OVERLAP);
}
TNT1 A 0 A_Jump(256, "SwingAxe")
Goto Ready

User2:
TNT1 A 0 A_JumpIfInventory("nadeCharge", 1, "NoGrenade")
TNT1 A 0 A_GiveInventory("NadeCharge", 300)
WE1S DCBA 1
TNT1 A 0 {
A_ZoomFactor(1);
A_GunFlash("SelectCamera");
A_StartSound("MOVE", CHAN_WEAPON, CHAN_OVERLAP);
}
TNT1 A 0 A_Jump(256, "ThrowGrenade")
Goto Ready

ZoomIn:
TNT1 A 0 {
A_StartSound("MOVE", CHAN_WEAPON, CHAN_OVERLAP);
A_ZoomFactor(1.1);
A_SetCrosshair(56);
}

WE1Z ABCDE 1 A_WeaponReady(WRF_ALLOWUSER1|WRF_ALLOWUSER2)
TNT1 A 0 A_JumpIf(GetPlayerInput(INPUT_BUTTONS) & BT_ALTATTACK, "ZoomLoop")
Unzoom:
TNT1 A 0 {
A_StartSound("MOVE", CHAN_WEAPON, CHAN_OVERLAP);
A_SetCrosshair(0);
A_ZoomFactor(1);
}
WE1Z EDCBA 1 A_WeaponReady(WRF_ALLOWUSER1|WRF_ALLOWUSER2)
Goto ReadyLoop


ZoomLoop:
TNT1 A 0 A_ZoomFactor(1.1)
WE1B A 1 A_WeaponReady(WRF_ALLOWUSER1|WRF_ALLOWUSER2)
TNT1 A 0 A_JumpIf(GetPlayerInput(INPUT_BUTTONS) & BT_ALTATTACK, "ZoomLoop")
Goto Unzoom

FireZoom:
PISG A 0 A_JumpIfInventory("Mk23AmmoLoaded", 1, "ActualFireZoom")
Goto ReloadZoom
ActualFireZoom:
TNT1 A 0 {
A_StartSound("WE1FA", CHAN_WEAPON, CHAN_OVERLAP);
A_StartSound("WP2FB", CHAN_WEAPON, CHAN_OVERLAP);
A_Quake(1, 5, 0, 400, "");
A_SetCrosshair(56);
A_FireBullets(0, 0, 1, 15, "BulletImpact");
A_FireCustomMissile("EndieTracer", 0,0,0,-5,0,0);
A_FireCustomMissile("Automatic_GunSmokeSpawnerSmall", frandom(-2, 2),0,0,0,0,frandom(-5, 5));
A_FireCustomMissile("PistolCasingSpawner", 0,0,0,0,0,frandom(-5, 5));
}
TNT1 A 0 A_Gunflash("ZoomedRecoil")
W1ZF AB 1 BRIGHT A_WeaponReady(WRF_NOFIRE)
TNT1 A 0 {
A_FireCustomMissile("Automatic_GunSmokeSpawnerSmall", frandom(-2, 2),0,-2,-10);
A_FireCustomMissile("Automatic_GunSmokeSpawnerSmall", frandom(-2, 2),0,2,-5);
A_FireCustomMissile("Automatic_GunSmokeSpawnerSmall", frandom(-2, 2),0,-8, -8);
A_FireCustomMissile("Automatic_GunSmokeSpawnerSmall", frandom(-2, 2),0,12, -5);
}
W1ZF C 1 A_WeaponReady(WRF_NOFIRE)
TNT1 A 0 {
A_FireCustomMissile("Automatic_GunSmokeSpawnerSmall", frandom(-2, 2),0,-12,-5);
A_FireCustomMissile("Automatic_GunSmokeSpawnerSmall", frandom(-2, 2),0,-32, 0);
A_FireCustomMissile("Automatic_GunSmokeSpawnerSmall", frandom(-2, 2),0,16,5);
A_FireCustomMissile("Automatic_GunSmokeSpawnerSmall", frandom(-2, 2),0,32, 5);
}
W1ZF CDE 1 A_WeaponReady(WRF_NOFIRE)
WE1B A 2 A_WeaponReady(WRF_NOFIRE)
TNT1 A 0 A_JumpIf(GetPlayerInput(INPUT_BUTTONS) & BT_ALTATTACK, "ZoomLoop")
Goto Unzoom

ReloadZoom:
PISG A 0 A_JumpIfInventory("Mk23AmmoLoaded", 12, 2)
TNT1 A 0 A_JumpIfInventory("HandgunAmmo", 1, "ReloadFullCheck")
WE1B A 1 A_WeaponReady(WRF_NOFIRE)
Goto ZoomLoop

ZoomedRecoil:
TNT1 A 1 A_Light1
TNT1 A 1 A_Light2
TNT1 A 0 A_Light0
TNT1 A 1 A_SetPitch(Pitch-2)
TNT1 A 0 A_ZoomFactor(1.08)
TNT1 A 1 A_SetPitch(Pitch-0.1)
TNT1 A 0 A_ZoomFactor(1.09)
TNT1 A 1 A_SetPitch(Pitch+0.5)
TNT1 A 0 A_ZoomFactor(1.1)
TNT1 A 1 A_SetPitch(Pitch+0.5)
TNT1 A 1 A_SetPitch(Pitch+0.5)
TNT1 A 1 A_SetPitch(Pitch+0.5)
TNT1 A 1 A_SetPitch(Pitch+0.1)
Stop

Flash:
TNT1 A 2 A_Light1
TNT1 A 0 A_Light2
TNT1 A 0 A_Light0
TNT1 A 1 A_SetPitch(Pitch-2)
TNT1 A 0 A_ZoomFactor(0.98)
TNT1 A 1 A_SetPitch(Pitch-0.1)
TNT1 A 0 A_ZoomFactor(0.99)
TNT1 A 1 A_SetPitch(Pitch+0.5)
TNT1 A 0 A_ZoomFactor(1)
TNT1 A 1 A_SetPitch(Pitch+0.5)
TNT1 A 1 A_SetPitch(Pitch+0.5)
TNT1 A 1 A_SetPitch(Pitch+0.5)
TNT1 A 1 A_SetPitch(Pitch+0.1)
Stop

Spawn:
PIST A -1
Stop
}
}
User avatar
Dr_Cosmobyte
Posts: 2821
Joined: Thu Jun 04, 2015 9:07 pm
Preferred Pronouns: He/Him
Location: Killing spiders.

Re: Hellrider v0.9c - Swift Demon Killing! (28-04-21)

Post by Dr_Cosmobyte »

It's not as easy as just changing a few elements, because Moa's code relies on detecting the player inputs, as seen here:

Code: Select all

TNT1 A 0 A_JumpIf(GetPlayerInput(INPUT_BUTTONS) & BT_ALTATTACK, "FireZoom")
You'd have to create entire new states and functionalities to translate that to a toggle method.

Also, if you're going to provide the entire pistol code, i suggest using the attachment system, or posting it under the (code) example (/code) brackets, changing () to [].
User avatar
Enjay
 
 
Posts: 26689
Joined: Tue Jul 15, 2003 4:58 pm
Location: Scotland

Re: Hellrider v0.9c - Swift Demon Killing! (28-04-21)

Post by Enjay »

Dr_Cosmobyte wrote: Wed Feb 05, 2025 1:45 pm Also, if you're going to provide the entire pistol code, i suggest using the attachment system, or posting it under the (code) example (/code) brackets, changing () to [].
Definitely agreed, for most forum members. However, Nixx_01923 doesn't have many posts yet and, therefore, some of the forum options and codes are not yet available to them. I forget what the threshhold is, but there is one. Such posts won't even accept {code} tags retroactively added by a moderator.
User avatar
Dr_Cosmobyte
Posts: 2821
Joined: Thu Jun 04, 2015 9:07 pm
Preferred Pronouns: He/Him
Location: Killing spiders.

Re: Hellrider v0.9c - Swift Demon Killing! (28-04-21)

Post by Dr_Cosmobyte »

Ah, mea culpa, then.
Nixx_01923
Posts: 4
Joined: Sat Nov 02, 2024 9:14 am

Re: Hellrider v0.9c - Swift Demon Killing! (28-04-21)

Post by Nixx_01923 »

I'll see what I can do, and what can i learn, from my humble position, thank you for responding and for your suggestions.

Return to “Gameplay Mods”