AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Plugins (https://forums.alliedmods.net/forumdisplay.php?f=108)
-   -   [TF2] Enhanced Rockets 19w34a (https://forums.alliedmods.net/showthread.php?t=294325)

404UserNotFound 02-25-2017 01:51

[TF2] Enhanced Rockets 19w34a
 
4 Attachment(s)
Enhanced Rockets 19w34a
Elbagast's custom rocket models (along with some new custom rockets) finally in TF2!

Click to view the full-sized 5,000x5,000 image
https://i.imgur.com/7kXI0wFm.jpg

Requires:
  • TF2Items - Required for the sm_er2rockets command
  • TF2Attributes - Required for Australium rockets to work, but not ultimately required as the plugin should detect the lack of TF2Attributes and use the normal non-Australium version of the rockets.

Commands:
  • sm_er2rockets - Opens the rocket testing menu. The menu is to give yourself any Rocket Launcher with a modified incredibly slow projectile speed that allows you check and make sure the plugin is working and models are being changed.
  • sm_er2settings - Opens the convar menu allowing you to change convar values on the fly after setting them in your server's server.cfg file.

Convars:
  • sm_er2_version - Standard version convar. Do not touch!
  • sm_er2_enable - Enable Enhanced Rockets plugin? [0/1] (Default: 1)
  • sm_er2_festives - Enable Festive stock/Black Box rockets? [0/1] (Default: 0)
  • sm_er2_australiums - Enable Australium stock/Black Box rockets? [0/1] (Default: 0)
  • sm_er2_botkillers - Enable Botkiller rockets? [0/1] (Default: 0)
  • sm_er2_tcdirecthit - Enable team-colored Direct Hit rocket skins? [0/1] (Default: 0)
  • sm_er2_tcrocketjumper - Enable BLU cream spirit team-colored Rocket Jumper rocket skin? [0/1] (Default: 0)

Installation Instructions:
  1. Download the plugin and the 7z files of the models & materials
  2. Extract the plugin to your server.
  3. Extract the server files to your server, fastdl files to your fastdl of choice
  4. rcon sm plugins load TF2EnhancedRockets.smx
  5. ???
  6. Profit!

Known Bugs:
None! Huzzah!

Version History


Credits:
  • Elbagast - The guy that made the rocket models.
  • N-Cognito - Separated the rocket models from an old viewmodel mod Elbagast released, and converted them into proper models for me. Also created all the new rocket models to complete the set.
  • Benoist3012 - Model index overrides suggestion + many other helpful tips
  • nosoop - Australium weapon check


FlaminSarge 02-28-2017 02:33

Re: [TF2] Enhanced Rockets v1.1
 
I do wanna point out that SetEntityModel does change the rockets' collision and physics properties. While I'd assume N-Cognito copied the stock rockets' physics/collision onto the other models, if not, then this could alter gameplay rather than being cosmetic.
Setting the stock rocket to invis and parenting the new rocket as a prop_dynamic might solve that potential issue without further model rework (and without making everyone redownload things).

Also take a look into http://optf2.com/440/attributes/675, as once String attributes are cracked that one might be the way to go, assuming the physics thing isn't a problem.

Is there a reason for having one long case handling all the default rockets instead of a default case at the end? And what's the reason for setting the default case's model instead of leaving it as an empty case?
PHP Code:

default:
{



404UserNotFound 02-28-2017 14:56

Re: [TF2] Enhanced Rockets v1.1
 
Quote:

Originally Posted by FlaminSarge (Post 2499296)
I do wanna point out that SetEntityModel does change the rockets' collision and physics properties. While I'd assume N-Cognito copied the stock rockets' physics/collision onto the other models, if not, then this could alter gameplay rather than being cosmetic.

I just noticed in HLMV that the hitbox of one of the new rockets N-Cognito designed for the 1.2 update is taller than the normal rocket but from what I'm seeing in HLMV, the physics model is the stock rocket's physics model (though it has been renamed, that was my doing). I hope the hitbox being a different size isn't an issue, though I have a feeling I'm probably wrong about that.
Hitbox + physics model screenshot of new 1.2 rocket


Quote:

Originally Posted by FlaminSarge (Post 2499296)
Setting the stock rocket to invis and parenting the new rocket as a prop_dynamic might solve that potential issue without further model rework (and without making everyone redownload things).

Would that cause the fake rocket to lag slightly behind the position of the real rocket though? The new piggyback plugin parents players to another player and when you're running, the piggyback'd players tend to look as though they're flying slightly behind the player they're riding. I assumed that was a standard drawback of parenting things to other things.

Quote:

Originally Posted by FlaminSarge (Post 2499296)

Yeah, I've had my eye on that attrib for a while now. I've always wanted to use String attributes on custom weapons but I have no idea of how to use them because I've tried copying integer values of things from my backpack, but that just resulted in chinese characters or garbled random characters.

Quote:

Originally Posted by FlaminSarge (Post 2499296)
Is there a reason for having one long case handling all the default rockets ...

Just the way I did it, to be honest. No worries about that top case though; there's a 1.2 update in the works that adds in rockets for pretty much all RL's minus the Decorated quality ones. N-Cog also designed an "enhanced" stock rocket, so I need basically all the rocket launcher ID's case'd for this because of the new stock rocket model. I was even working on some non-rocket projectile model changes for a future 1.3 update. As for the normal stock model thing, that was just me thinking "what if something fucks up and it doesn't set the model, then you'll have invisible rockets due to a bug down the line, you better set the default model somewhere".

Thanks for providing some insight into the inner workings of projectiles and the physics models and such. I'll keep the physics stuff in mind for the 1.3 update that will do non-rocket things. I'm also going to go over the models and just double check to make sure they're all using the proper physics models. And I'll go through and make changes to the code where necessary based on your feedback :D

FlaminSarge 03-09-2017 01:14

Re: [TF2] Enhanced Rockets v1.1
 
1) One effect, for instance, is that tracerays and GetClientAimEntity will hit rockets with changed models, but not the stock rocket (you can verify this with Monoculus eyeballs).
2) Parenting+invis won't cause laggy rockets as far as any testing I've done goes.
3) String attributes are coming soon™
4) I still think the default: case is probably a better way to go if you're flat-out replacing the stock rocket model, and you shouldn't perform operations if you don't have to (w.r.t. resetting the default model), as given SourceMod's quirks, I feel like that may introduce more bugs than it would potentially avoid.

404UserNotFound 03-09-2017 01:44

Re: [TF2] Enhanced Rockets v1.1
 
Quote:

Originally Posted by FlaminSarge (Post 2501984)
1) One effect, for instance, is that tracerays and GetClientAimEntity will hit rockets with changed models, but not the stock rocket (you can verify this with Monoculus eyeballs).
2) Parenting+invis won't cause laggy rockets as far as any testing I've done goes.
3) String attributes are coming soon™
4) I still think the default: case is probably a better way to go if you're flat-out replacing the stock rocket model, and you shouldn't perform operations if you don't have to (w.r.t. resetting the default model), as given SourceMod's quirks, I feel like that may introduce more bugs than it would potentially avoid.

1 + 2. I'll do some testing with the parenting + invis bit. If it means less negative interactions with other plugins/the game, I should definitely look into it.
3. Oh boy :D
4. I will be replacing the stock model with the "enhanced" stock model made by N-Cog with the fixed UV and also the Australium rocket skin (for v1.2).

ScrapEngineer 05-17-2017 04:09

Re: [TF2] Enhanced Rockets v1.1
 
I approve of this, my only issue is the Festive Black Box doesn't use the regular Black Box rocket.

Or does it?

404UserNotFound 05-17-2017 05:13

Re: [TF2] Enhanced Rockets v1.1
 
Quote:

Originally Posted by ScrapEngineer (Post 2521057)
I approve of this, my only issue is the Festive Black Box doesn't use the regular Black Box rocket.

Or does it?

Oh heck, did I forget that?....I'll take a look later but I'm fairly certain it does...

Also, I haven't poked him in a while, but a friend of mine from Gamebanana (N-Cognito) had been helping me out immensely and making new rocket models for this plugin. I've got images that I was holding onto, to release when the 1.2 update was ready but since I haven't heard from N-Cog in a while, I'm just gonna drop the images here for now so people see what should be coming soonTM

images within

zyox123cc 05-17-2017 05:19

Re: [TF2] Enhanced Rockets v1.1
 
I think if you add Air Strike
May damage the gaming experience
Https://wiki.teamfortress.com/wiki/Air_Strike

404UserNotFound 05-17-2017 05:20

Re: [TF2] Enhanced Rockets v1.1
 
Quote:

Originally Posted by zyox123cc (Post 2521068)
I think if you add Air Strike
May damage the gaming experience
Https://wiki.teamfortress.com/wiki/Air_Strike

Air Strike already has its own custom rocket model in the game that it uses. It's fine as is :P



My main focus is any rocket launchers that don't have their own projectiles.

I also put some thought into potentially doing Australium Sticky Bomb Launcher stickies, but then "Botkiller Stickies" popped into my head and I decided to just stick to rockets for now because little robot heads with stickies in their mouths coming out of a sticky bomb launcher's barrel just seems silly

Benoist3012 05-17-2017 05:39

Re: [TF2] Enhanced Rockets v1.1
 
Quote:

Originally Posted by 404UserNotFound (Post 2501988)
1 + 2. I'll do some testing with the parenting + invis bit. If it means less negative interactions with other plugins/the game, I should definitely look into it.
3. Oh boy :D
4. I will be replacing the stock model with the "enhanced" stock model made by N-Cog with the fixed UV and also the Australium rocket skin (for v1.2).

Honestly, there's no reason to do all this mess, there is a fastest way to do that:

Code:
int iAustraRocketModelIndex = -1; public void OnMapStart() {     iAustraRocketModelIndex = PrecacheModel(AUSTRALIUM_ROCKET); } void YourChangeRocketModelFunctionHere(int iRocket) {     Entity_ModelOverrides(iRocket, iAustraRocketModelIndex); }
Code:
void Entity_ModelOverrides(int iEntity, int iModelIndex = 0) {     if (!HasEntProp(iEntity, Prop_Send, "m_nModelIndexOverrides"))         PrintToServer("(Entity_ModelOverrides) Missing prop \"m_nModelIndexOverrides\" on entity %d", iEntity);     for(int i=0; i<4; i++)     {         SetEntProp(iEntity, Prop_Send, "m_nModelIndexOverrides", iModelIndex, _, i);     } }

It overrides the model, without changing collisions! For some reasons valve didn't use that method for jarates, and other projectiles skins, wich is a shame. I e-mailed them multiple times about it, but they just won't do it.
Here a video of m_nModelIndexOverrides in action:



All times are GMT -4. The time now is 13:12.

Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.