Hrm...
#2467 posted by Qmaster on 2018/03/31 15:27:57
I've ran into that before...might be a conflict with whichever bitflag value you used for IT_JAZZAXE. Can you upload a zip of your qc files? I might be able to take a look at it.
QMaster
#2468 posted by ijazz3 on 2018/04/01 09:28:54
http://www.quaketastic.com/files/QC%20Mistakes/ijazz3_qc_jazzaxe_screwed.zip
This one has a few changes from standard id1,including the code which seems to be wrong for the Jazz Axe and some AD-inspired health model changes (.bsp to .mdl)
Weapons.qc
#2469 posted by Qmaster on 2018/04/01 14:32:46
W_BestWeapon
Add if at the bottom
if (self.items & IT_JAZZAXE) return IT_JAZZAXE; else return IT_AXE;
And just below that in W_CheckNoAmmo:
inside the if (self.weapon == IT_AXE add "|| self.weapon == IT_JAZZAXE")
W_CheckNoAmmo
#2470 posted by ijazz3 on 2018/04/03 17:39:41
Something is not right.
CheckNoAmmo does not have if (self.weapon == IT_AXE) part!
#2471 posted by metlslime on 2018/04/03 19:10:39
i'm out of axe ammo!
? From The Weapons.qc In The Zip You Sent Me...
#2472 posted by Qmaster on 2018/04/03 23:43:08
float() W_CheckNoAmmo =
{
if (self.currentammo > 0)
return TRUE;
if (self.weapon == IT_AXE)
return TRUE;
self.weapon = W_BestWeapon ();
W_SetCurrentAmmo ();
// drop the weapon down
return FALSE;
};
Thanks
#2473 posted by ijazz3 on 2018/04/05 08:57:05
Never mind,found it.FTEQCCGUI has no Atrl+F combo!!! why!!!!!
Wait,wut?
#2474 posted by ijazz3 on 2018/04/05 09:01:47
QMaster,the problem is still there.
I did some checking but I can't find anything wrong.
#2475 posted by R00k on 2018/04/06 02:50:10
in checknoammo shouldint you also add if(self.weapon == IT_JAZZAXE) return; ?
#2476 posted by R00k on 2018/04/06 02:51:10
otherwise it says you have no ammo jump to SG
#2477 posted by R00k on 2018/04/06 02:51:10
otherwise it says you have no ammo jump to SG
TRIPPLE POST FTW
#2478 posted by R00k on 2018/04/06 02:52:51
if ((self.weapon == IT_AXE) || (self.weapon == IT_JAZZAXE))
return TRUE;
.
#2479 posted by ijazz3 on 2018/04/06 13:56:12
@rook
Yes,I added that.It sill switches to SG after showing JAZZAXE for a split second.
#2480 posted by anonymous user on 2018/04/07 04:24:20
hmm what about ‘rankforweapon’ function?
im just thinking off the top of my head been awhile since i did the ol double tap
impuls to switch weapons; i had once made the lg
double as a flame thrower
you might need to add your axe there too
Suggestion
#2481 posted by Preach on 2018/04/07 09:13:59
Have you looked at client.qc?
There's a line
if(time > self.attack_finished && self.currentammo == 0 &&
self.weapon != IT_AXE)
{
self.weapon = W_BestWeapon ();
W_SetCurrentAmmo ();
}
I suspect you need to change that last test to also consider IT_JAZZAXE.
......
#2482 posted by ijazz3 on 2018/04/08 18:32:42
I am sorry.It does not work.Still switching after a second.
I am going to try and hunt down the warpspasm decompiled code I gave someone when I played Quake 2 years ago before going to Half-(my)-Life.
But please,try helping me.I might feature you in my mod.
Just Checking
#2483 posted by Preach on 2018/04/09 21:11:20
What did you change it to? Was it this:
if(time > self.attack_finished && self.currentammo == 0 &&
self.weapon != IT_AXE && self.weapon != IT_JAZZAXE )
Thank You Sir
#2484 posted by ijazz3 on 2018/04/11 19:28:51
You have saved me a complete rewrite.
Now,the world shall remember you as the savior of QuakeC.
Go Preach!
Lol, Preach Is Always The Qc Master
#2485 posted by Qmaster on 2018/04/12 16:24:06
You Guys Might See 4 Teens Around 14-15 Age.
#2486 posted by ijazz3 on 2018/04/14 09:58:09
They also will ask questions like these.Why?
Those idiots are my classmates!
PDF For Beginners
I created this PDF from a forum post on QuakeOne. This may be useful information for users new to QuakeC.
http://www.quaketastic.com/files/QuakeC_Tutuorial_by_MadGypsy.pdf
Seconded That
#2488 posted by Preach on 2018/04/14 19:25:18
The way I found the problem line for the jazz axe was searching the entire sourcecode for every example of the keyword IT_AXE, which lead me to the one you hadn't changed yet.
PUBLIC SERVICE ANNOUNCEMENT
#2489 posted by Kinn on 2018/04/19 21:50:27
(from discord chat, I've chopped it down to just give the salient points)
Kinn - Today at 10:19 AM
I've had the "grenades occasionally clip straight through shamblers" bug plenty of times in vanilla quake. I'd totally forgotten it was a thing. Is it still a thing in QS etc?
...
c0burn - Today at 8:18 PM
entities are re-used
when an entity is removed, not all fields are cleared
the shambler code sets self.owner = lightningbolt
...
[editors note: player then fires a rocket/grenade, spawning a new entity just after the lightning ent has been removed]
c0burn - Today at 8:21 PM
the shamblers .owner field is set to your rocket
so it passes straight through
...
c0burn - Today at 8:21 PM
you can just set self.owner = world to fix it
when the bolt is removed
or not set self.owner
really it should be bolt.owner = shambler
...
Kinn - Today at 8:27 PM
holky fuck
Aaand
#2490 posted by Qmaster on 2018/04/19 22:07:28
c0burn gets the Preach award for April.
FURTHER RUMBLINGS
#2491 posted by Kinn on 2018/04/19 22:30:00
The Shambler needs to store a "link" to the lighting flash, just so that it can refer to it over the next few frames in order to animate it. There is no special reason why the Shambler has to use the ".owner" field to create this link. It could have used another entity field. Using .owner for this is a pretty dumb hack and as we can see, just invites bugs.
IMO however, the cleanest fix would be to not actually require the Shambler and flash to be linked like this - I would personally simply spawn the flash, and make it animate by thinking for itself (like the rocket explosion does.)
BONUS POINTS: notice also that whilst this is all kicking off, the Shambler sets self.effects = self.effects | EF_MUZZLEFLASH;
This has the (probably unwanted) side effect of disabling animation interpolation on the Shambler during its lighting attack.
If you made the lightning flash animate itself, as suggested earlier, you could also throw the muzzleflash effect on the flash ent instead of the shambler, controlling it through the flash anim functions. This will re-enable anim interpolation on the Shambler, and disable it on the flash - which is kind of what you want.
|