Reload working.... kinda
Moderator: InsideQC Admins
46 posts
• Page 3 of 4 • 1, 2, 3, 4
yea, we are using basic quake for this. So your knowledge of porting quake to darkplaces will all that. And i would happily export my models to .md3. We have "male" and "female" models, since the zombies are humanoid, a simple retexturing would suffice as a player model. This is intended for psp, but we will organize and release it for PC (due to its ease). If you code for us and are officially on the team you will have our resources at your disposal so you would be able to use them for your darkplaces port. In fact, i think we should release it for DP instead of FitzKurok (like origonally planned).
P.S. do you know the answer to my (on topic) question at the bottom of me previous post?
P.S. do you know the answer to my (on topic) question at the bottom of me previous post?
- Ghost_Fang
- Posts: 336
- Joined: Thu Nov 12, 2009 4:37 am
Ghost_Fang wrote:To stay on topic:
I have learned even more since my last post, instead of trying to bind the entire code to an impulse command, i learned how to make a whole new void() blah function and use it that way. Which means i started from scratch.
I dont think you started from scratch IMHO but whatever...
Ghost_Fang wrote:And got it how i wanted it, using r00k's cache idea (not code). So now it works how i want it except i get an unknown frame macro : $reload when i want it to call upon those frames. where do i tell it what $reload is?
You have to make a generic $reload macro for the player.
$frame reload1 reload2 reload3 reload4
and of course add those frames to your player models.
This could show a simple hand gesture as if the player is putting in a new clip in the gun, not required but otherwise during reload you are going to appear idle to everyone else in the game.
next you have to make a functions for the reload
void() player_reload1 = [$reload1, player_reload2] {self.weaponframe=5;};
void() player_reload2 = [$reload2, player_reload3] {self.weaponframe=6;};
void() player_reload3 = [$reload3, player_reload4] {self.weaponframe=7;};
void() player_reload4 = [$reload4, player_run] {self.weaponframe=8;W_Reload_Ammo()};
player_reload1(); can be called via impulse 40 and remove the player_reload() in w_reload_ammo().
Your weapon models in this case would have the reloading sequence from frame 5 - 8, with the 1 - 4 as the normal firing animations. In the engine weaponframe tells the engine which frame to display for the weapon model.
- r00k
- Posts: 1110
- Joined: Sat Nov 13, 2004 10:39 pm
I dont think you started from scratch IMHO but whatever...
- Code: Select all
void() W_reload =
{
self.currentammo = self.ammo_pistol = 8;
self.ammo_shells = self.ammo_shells - self.ammo_pistol_r;
self.ammo_pistol_r = self.ammo_pistol_r = 0;
self.weaponframe = $reload;
};
ammo_pistol_r is the "cache"
and this is inside W_fireshotgun
- Code: Select all
self.currentammo = self.ammo_pistol = self.ammo_pistol - 1;
self.ammo_pistol_r = self.ammo_pistol_r + 1;
I dont see what would make you think i didnt start from scratch. I took what i had in my sloppy impulse command, made a W_reload function, and tweaked it so it only take the ammo you reload from shells instead of always 8 using ammo_pistol_r.
Player model reload animations arent an issue atm.
I just want view model reload animation.
In what .qc do i put it in? I looked and the only logical place is player.qc, if so then where? It wouldn't be models.qc would it? that isnt even in progs.src to be loaded into the compiler.
- Ghost_Fang
- Posts: 336
- Joined: Thu Nov 12, 2009 4:37 am
ok thanks for pointing that out, thats an easy fix.
And yes i can clearly see your code, but i dont know all the terminology quite yet, so whats a macro, where do i make the "generic $reload macro" and all i want it for is the view model.
looking at your code why is there more than one void() for the frames, why cant there be just one for a bunch of frames? And at least i am taking the initiative to learn quakec and try to help my team, instead of my team sitting around and playiig with their weeners til a coder comes around. I can kinda sense some frustration in your text. I obviously have seen your previous posts, so looking back would be like repeating yourself instead of saying in a different way. I want you to speak dumb for me, but dont speak down at me. But i do appreciate the help you have given me so far, and i owe you most of the credit that got me this far.
And yes i can clearly see your code, but i dont know all the terminology quite yet, so whats a macro, where do i make the "generic $reload macro" and all i want it for is the view model.
looking at your code why is there more than one void() for the frames, why cant there be just one for a bunch of frames? And at least i am taking the initiative to learn quakec and try to help my team, instead of my team sitting around and playiig with their weeners til a coder comes around. I can kinda sense some frustration in your text. I obviously have seen your previous posts, so looking back would be like repeating yourself instead of saying in a different way. I want you to speak dumb for me, but dont speak down at me. But i do appreciate the help you have given me so far, and i owe you most of the credit that got me this far.
- Ghost_Fang
- Posts: 336
- Joined: Thu Nov 12, 2009 4:37 am
the macro's really arnt needed.
you could do animations like so:
btw this code isnt from me thnx downsider...
you could do animations like so:
- Code: Select all
void() player_ReloadShotgun =[ 0, player_ReloadShotgun ]
{
local float newammo;
if (self.weaponframe == 0)
self.weaponframe = 1;
if (self.weaponframe < 6) {
self.weaponframe = self.weaponframe + 1;
} else {
self.exammo_primary = self.exammo_primary + self.ammo_shells;
self.ammo_shells = 0;
newammo = self.exammo_primary;
if (self.exammo_primary > 10) {
newammo = 10;
}
self.exammo_primary = self.exammo_primary - newammo;
self.currentammo = newammo;
self.ammo_shells = newammo;
player_run ();
return;
}
};
btw this code isnt from me thnx downsider...
-

ceriux - Posts: 2223
- Joined: Sat Sep 06, 2008 3:30 pm
- Location: Indiana, USA
I can kinda sense some frustration in your text
Ya, I know. I wasnt trying to be a jerk, I just suck at teaching.
You could put it in player.qc or weapons.qc if you prefer.
Hmm, i just realized you have been here before asking about the reload code with UrbanKid. Baker suggested getting this file
http://www.quaketerminus.com/mods/navy3.zip
it has some v_ models with reloading animations. I'm sure they wouldnt mind using their models if u gave them credit.
I skimmed thru the source, and it seems they are calling the reload animations similar to how I suggested. The part that handles actual ammo inventory is different and in some cases incomplete, eh well that mod was made in 1998
- r00k
- Posts: 1110
- Joined: Sat Nov 13, 2004 10:39 pm
Maybe this can help.
http://www.moddb.com/games/solitude/tut ... e/#1063175
Ark did I little tutorial on it, Though looks like Downsider said it could be cleaned up a lil, I might have a play with the code.
Peace
http://www.moddb.com/games/solitude/tut ... e/#1063175
Ark did I little tutorial on it, Though looks like Downsider said it could be cleaned up a lil, I might have a play with the code.
Peace
- LonePossum.
- Posts: 38
- Joined: Mon Nov 02, 2009 11:07 am
LonePossum. wrote:Maybe this can help.
http://www.moddb.com/games/solitude/tut ... e/#1063175
Ark did I little tutorial on it, Though looks like Downsider said it could be cleaned up a lil, I might have a play with the code.
Peace
There's a redundancy in the first function he tells you to replace, the reload function could be made shorter and a bit simpler (Simpler in my opinion, anyway), and the tutorial's layout itself is messy and hard to read.
-

Downsider - Posts: 621
- Joined: Tue Sep 16, 2008 1:35 am
I shouldnt reply as i havent seen the link's code, nor in my defense have i compiled or even tested any code i posted in this thread. I was merely using the discussion as a psuedo _code scratch pad, albiet, quakeC, to help him succeed, trying not to fail, learning along the way as we all do.
- r00k
- Posts: 1110
- Joined: Sat Nov 13, 2004 10:39 pm
where would i put the self.nextthink = time + X.X
for reloading, so the player cant shoot during reload.
Here is the code:
Here is the animation frames just in case.
Yea i know... alot... lol our animator made a nice and smooth animation and refused to change it to fewer frames :\
for reloading, so the player cant shoot during reload.
Here is the code:
- Code: Select all
void() W_preload =
{
if (self.ammo_pistol == 15)
{
return;
}
else
player_reload1();
sound (self, CHAN_AUTO, "misc/reload_p.wav", 1, ATTN_NORM);
self.currentammo = self.ammo_pistol = self.ammo_pistol + self.ammo_pistol_r;
self.ammo_shells = self.ammo_shells - 0;
self.ammo_pistol_r = self.ammo_pistol_r = 0;
};
Here is the animation frames just in case.
- Code: Select all
void() player_reload1 = [$reload1, player_reload2] {self.weaponframe=8;};
void() player_reload2 = [$reload2, player_reload3] {self.weaponframe=9;};
void() player_reload3 = [$reload3, player_reload4] {self.weaponframe=10;};
void() player_reload4 = [$reload4, player_reload5] {self.weaponframe=11;};
void() player_reload5 = [$reload5, player_reload6] {self.weaponframe=12;};
void() player_reload6 = [$reload6, player_reload7] {self.weaponframe=13;};
void() player_reload7 = [$reload7, player_reload8] {self.weaponframe=14;};
void() player_reload8 = [$reload8, player_reload9] {self.weaponframe=15;};
void() player_reload9 = [$reload9, player_reload10] {self.weaponframe=16;};
void() player_reload10 = [$reload10, player_reload11] {self.weaponframe=17;};
void() player_reload11 = [$reload11, player_reload12] {self.weaponframe=18;};
void() player_reload12 = [$reload12, player_reload13] {self.weaponframe=19;};
void() player_reload13 = [$reload13, player_reload14] {self.weaponframe=20;};
void() player_reload14 = [$reload14, player_reload15] {self.weaponframe=21;};
void() player_reload15 = [$reload15, player_reload16] {self.weaponframe=22;};
void() player_reload16 = [$reload16, player_reload17] {self.weaponframe=23;};
void() player_reload17 = [$reload17, player_reload18] {self.weaponframe=24;};
void() player_reload18 = [$reload18, player_reload19] {self.weaponframe=25;};
void() player_reload19 = [$reload19, player_reload20] {self.weaponframe=26;};
void() player_reload20 = [$reload20, player_reload21] {self.weaponframe=27;};
void() player_reload21 = [$reload21, player_reload22] {self.weaponframe=28;};
void() player_reload22 = [$reload22, player_reload23] {self.weaponframe=29;};
void() player_reload23 = [$reload23, player_run] {self.weaponframe=30;};
Yea i know... alot... lol our animator made a nice and smooth animation and refused to change it to fewer frames :\
- Ghost_Fang
- Posts: 336
- Joined: Thu Nov 12, 2009 4:37 am
here's an example of my playerdie function :
- Code: Select all
void () PlayerPain =
{
if (self.apriority < ANIM_PAIN)
{
self.apriority = ANIM_PAIN;
self.frame = 80;
self.endframe = 85;
}
PainSound();
};
-

ceriux - Posts: 2223
- Joined: Sat Sep 06, 2008 3:30 pm
- Location: Indiana, USA
Umm i think i see it, how would i "convert" my macros though, like can you show me how mine would look, or could you show me the "expanded" for of what you have right there?
- Ghost_Fang
- Posts: 336
- Joined: Thu Nov 12, 2009 4:37 am
46 posts
• Page 3 of 4 • 1, 2, 3, 4
Who is online
Users browsing this forum: No registered users and 1 guest