[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4787: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3922)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4789: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3922)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4790: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3922)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4791: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3922)
InsideQC Forums • View topic - Animation and weapon

Animation and weapon

Discuss programming in the QuakeC language.

Moderator: InsideQC Admins

Animation and weapon

Postby Freemanoid » Mon Jun 16, 2008 4:11 pm

I wish to prolong playing of animation of the weapon. I create 17 frames of shooting my RPG.
I have written function:
In weapons.qc :

$cd id1/progs/v_rock2.mdl
$origin 0 0 54
$base base
$skin skin

$frame shot1 shot2 shot3 shot4 shot5 shot6
$frame shot7 shot8 shot9 shot10 shot11 shot12
$frame shot13 shot14 shot15 shot16 shot17

void() s_shot1 = [$shot1, s_shot2] {};
void() s_shot2 = [$shot2, s_shot3] {};
void() s_shot3 = [$shot3, s_shot4] {};
void() s_shot4 = [$shot4, s_shot5] {};
void() s_shot5 = [$shot5, s_shot6] {};
void() s_shot6 = [$shot6, s_shot7] {};
void() s_shot7 = [$shot7, s_shot8] {};
void() s_shot8 = [$shot8, s_shot9] {};
void() s_shot9 = [$shot9, s_shot10] {};
void() s_shot10 = [$shot10, s_shot11] {};
void() s_shot11 = [$shot11, s_shot12] {};
void() s_shot12 = [$shot12, s_shot13] {};
void() s_shot13 = [$shot13, s_shot14] {};
void() s_shot14 = [$shot14, s_shot15] {};
void() s_shot15 = [$shot15, s_shot16] {};
void() s_shot16 = [$shot16, s_shot17] {};
void() s_shot17 = [$shot17, s_shot17] {};

Then i put function s_shot1 (); in function W_Attack :

else if (self.weapon == IT_ROCKET_LAUNCHER)
{
player_rocket1();
W_FireRocket();
self.attack_finished = time + 1.2;
s_shot1 ();
}


But when i shot from RPG in game in top left corner appears text :
R_DrawSprite No Such Frame 4
R_DrawSprite No Such Frame 4
R_DrawSprite No Such Frame 5
R_DrawSprite No Such Frame 5

Help me with this problem please! :?:
Freemanoid
 
Posts: 52
Joined: Mon Jun 16, 2008 11:25 am
Location: BELARUS

Postby IceDagger » Mon Jun 16, 2008 5:46 pm

Hmm... I'm guessing you're trying to extend the rocket weaponview model animation from 6 frames to 17 frames?

If that's the case, then your use of the s_shot frame macro is wrong. Calling the s_shot1() function will run an animation string on the player model using the frame aliases you listed for v_rock2.mdl

The code you want to take a look at is in player.qc, look at player_rocket1-6() and you'll get the idea what you need to do. Easiest/Hackiest way would be to just stretch the player_rocket animation to 17 frames and set the corresponding self.weaponframe value each time.:) However, a better solution would be to code the animations manually.
IceDagger
 
Posts: 25
Joined: Fri Nov 19, 2004 10:43 am

Postby Urre » Tue Jun 17, 2008 6:08 am

The question is wether he has made new animation frames for his playermodel, or just the view weapon.
I was once a Quake modder
User avatar
Urre
 
Posts: 1109
Joined: Fri Nov 05, 2004 2:36 am
Location: Moon

Postby Freemanoid » Tue Jun 17, 2008 6:50 am

I tried to extend animation from 6 frames to 17 using functions in player.qc
I get something like this :
void() player_rocket1 =[$rockatt1, player_rocket2 ] {self.weaponframe=self.weaponframe + 1;
self.effects = self.effects | EF_MUZZLEFLASH;};
void() player_rocket2 =[$rockatt2, player_rocket3 ] {};
void() player_rocket3 =[$rockatt3, player_rocket4 ] {};
void() player_rocket4 =[$rockatt4, player_rocket5 ] {};
void() player_rocket5 =[$rockatt5, player_rocket6 ] {};
void() player_rocket6 =[$rockatt6, player_run ] {
if (self.weaponframe == 17)
self.weaponframe = 1;
};

But it still doesn't work!
^O,..,o^
Freemanoid
 
Posts: 52
Joined: Mon Jun 16, 2008 11:25 am
Location: BELARUS

Postby IceDagger » Tue Jun 17, 2008 2:07 pm

IceDagger
 
Posts: 25
Joined: Fri Nov 19, 2004 10:43 am

Postby Freemanoid » Wed Jun 18, 2008 7:05 am

^O,..,o^
Freemanoid
 
Posts: 52
Joined: Mon Jun 16, 2008 11:25 am
Location: BELARUS


Return to QuakeC Programming

Who is online

Users browsing this forum: No registered users and 2 guests