Massassi Forums Logo

This is the static archive of the Massassi Forums. The forums are closed indefinitely. Thanks for all the memories!

You can also download Super Old Archived Message Boards from when Massassi first started.

"View" counts are as of the day the forums were archived, and will no longer increase.

ForumsCog Forum → a BUNCH of questions
a BUNCH of questions
2004-09-07, 6:21 PM #1
Ok, lol.

How do I increase the speed a projectile travels?

How do I increase the damage a bullet causes?

How do I respawn faster?

How do I make it so cannot damage myself, in any way, only another player can?

How do I make nothing whatsoever transfer into my backpack after I die?


If anybody can answer any of these, I would really appreciate it.

Sorry about all the questions :D


Arden Lyn
2004-09-07, 6:54 PM #2
Increase speed of projectile -- you could either set the appropriate flag and flex value in the FireProjectile message, or you can use "SetThingVel(projectile, VectorScale(GetThingLVec(projectile), velocity));"

Increase damage of projectile -- either set the (other) appropriate flag and flex in the FireProj() message, or, if it has a class cog, add under the touched message something like "DamageThing(GetSourceRef(), extra_damage, damage_flags, GetSenderRef());" (the latter option only works if you need to increase the damage -- I dunno what'll happen if you apply a negative damage... though maybe you could use healthing()?...)

Can't respawn any faster to my knowledge -- the only thing I can think of (if you wanted to use it for something) would be to set the 0x400000 flag and force respawn (if it even will work)

Only others can damage you -- This has to be set in the kyle.cog (damaged message). I'm not sure exactly what would work, but maybe "if(GetSourceRef() == GetSenderRef()) ReturnEx(0);"

Nothing in the backpack... hmm... maybe before the "CreateBackpack()" command, you could set all your inventory stuff to 0?

Hope this is helpful :)
May the mass times acceleration be with you.
2004-09-07, 8:11 PM #3
If you want nothing to go in your backpack, in items.dat, you could remove 0x80 from every bin that has it; that should make it so nothing gets put in your backpack upon death.

Quote:
...would be to set the 0x400000 flag and force respawn (if it even will work)

That works to force respawn (I use it in my automated saber bot), but there isn't really any way that I can think of to make it any faster. It's already pretty dang fast isn't it?

QM
2004-09-08, 4:08 AM #4
Fading after killed sets you back -2 points, instead of -1....Too bad.......

I still can't figure out how to increase that damage the weapon would cause......You said to change the flag there, but I can't find any reference on those flags.....I havent looked at the class cog yet, Ill do that soon.

For nothing going into the backpack, I fixed the items.dat and right before CreateBackpack() I did a bunch of SetInv() Lines to remove everything.


Hmm.....

How would I go about changing the concussion rifle so that it does not damage that player?


Arden Lyn
2004-09-08, 7:36 AM #5
If nothing is going in your backpack...why create it to begin with? Just comment out createbackpack(player); in kyle.cog
-El Scorcho

"Its dodgeball time!" -Stormy Waters
2004-09-08, 7:37 AM #6
I still want a backpack, only I dont want weapons and ammo to go into it.
2004-09-08, 9:15 AM #7
For the no-self damage thing you could add this line at the beginning of the damaged message in kyle.cog:
Code:
if(GetThingParent(GetSourceRef()) == GetSenderRef())
   ReturnEx(0);

A simple solution for an empty backpack would be to add two forward slashes // in front of the line "PickupBackpack(player, bla..." in pow_backpack.cog.
"Häb Pfrässe, süsch chlepfts!" - The coolest language in the world (besides Cherokee)
2004-09-08, 1:58 PM #8
Code:
FireProjectile(fire_thing, template, sound, submode, offset_vec, error_vec, extra_flex, proj_flags, AutoAim_FOVX, AutoAim_FOVZ);

proj_flags is the flag I was referring to. extra_flex is used for scaling if the 0x1 or 0x2 flags are included in the value of proj_flags.

Projectile Flags
0x1 - Projectile's velocity will be scaled by FireProjectile()'s seventh parameter (extra_flex).
0x2 - Projectile's damage will be scaled by FireProjectile()'s seventh parameter (extra_flex).
0x20 - Projectile will be auto-aimed.
0x40 - Projectile will be auto-aimed in MP (use with 0x20)

For example:
FireProjectile(x, x, x, x, x, x, 1.5, 0x2, x, x); -- Fires the projectile and the damage will be 1.5 times normal.
FireProjectile(x, x, x, x, x, x, 0.75, 0x61, x, x); -- Fires the projectile and the velocity will be 75 percent of normal and will also be autoaimed in both SP and MP.
May the mass times acceleration be with you.
2004-09-08, 3:45 PM #9
There's two more Projectile flags that I think I figured out. They work if FireProjectile uses an explosion template
0x4 Explosion's force will be scaled by FireProjectile()'s seventh parameter.
0x8 Explosion's range will be scaled by FireProjectile()'s seventh parameter.

QM
2004-09-08, 11:42 PM #10
Great. Send this information to SaberMaster, so he will be able to include it in (eventual) future versions of Datamaster.
"Häb Pfrässe, süsch chlepfts!" - The coolest language in the world (besides Cherokee)
2004-09-09, 2:31 PM #11
Woooo that's pretty cool. Ok thanks everyone, my questions are answered.

↑ Up to the top!