Ruud033 Posted October 20, 2015 Share Posted October 20, 2015 Hey people, hello Yosh56 This post is gonna be about the features I made in collaboration with other ppl (special thanks to HandEpsilon) for the next patch (It's up to Yosh56 to implement this now or later on. I need these features in order for my map to work properly. They also add some stuffs to the game. So what did I do? A quick summary: [1] - I've created a new volume that's called the FoliageCollisionVolume. This volume created dynamically spawned actors once "vehicles' have touched it for any foliage that: .1 already has a collision mesh in the static mesh the mapper has added to the foliage tool (trees, tiberium for ex.) .2 is within the FoliageCollisionVolume. So any class derived from the 'vehicles' class should trigger the collision mesh spawn. (it searches with: If(Other.IsA('Vehicle')) ) Note to mappers: THIS DOES NOT CREATE COLLISION FOR INFANTRY!! You have to manually set the foliage to block stuff as you always do in the foliage tool. This is only an ADDITION for vehicles, as vehicles don't get blocked by default. If you want infantry to get blocked as well, you must set that in the foliage tool properties. [2] - I've created a new purchase terminal class that can be modified via kismet (you can even edit it on the fly and it'll still update properly) You can update the following properties: .1 The tooltip that gets displayed in your screen (Press E to do shit) .2 The PT name (the name that's displayed in the HUD on the PT) .3 The accessibility of the PT (whether you can enter the PT level or not) .4 The team number of the PT (so when you aim at it, it shows the proper enemy, neutral or friendly team HUD) In actor classes: In Kismet: In action: [3] - I've edited the existing Master Control Terminal to have a new event, that's called captured. The event fires in Kismet, so when ever we capture / neutralize the MCT, the event fires, so we can hook up other kismet to that (for example, a team change) This way we don't need the memory expensive clocks etc. anymore! In Kismet (example): [4] - In addition to this new Master Control Terminal I've created new sounds for a Tech Building Capture. The 'old' files still always reference to a silo. For example: I've got a destroyed capturable weapons factory in the middle of Crash Site. When ever someone from the enemy team starts capturing that, you'll get notified by EVA that the 'Silo' is under attack. Weird isn't it?? In the content browser: Now comes the hard part, and only for developers. I've got some references that HAVE to be honored in order for these implementations to work. 1. The Foliage Collision Volume. This is a standalone piece of code. Unfortunately I think it broke from patch 5.003 to 5.004, during MP testing in my map Crash Site I found out that I suddenly could drive trough trees. I think you changed something within the packages or re referenced something in there.. Yosh56 needs to look at the errors during the compiling due to the fact that it does compile well in my current (old) SDK, which is still at patch 5.001 I believe? Link to FoliageCollisionVolume: https://www.dropbox.com/sh/wtl04zyqfzax ... -21aa?dl=0 2. The Customizable Purchase Terminal This is a standalone piece of code. It's working perfectly after a shitty testing period. Nothing much to say more about it really, it's only an addition to the game rather than a change. It has always worked perfect for me. Link to Customizable PT: https://www.dropbox.com/sh/tpd2fdyh1y06 ... C89Na?dl=0 3 & 4. The Capturable Master Control Terminal This piece of code is a bit tricky. Yosh56 (or someone else from the coding team, if they decide to handle this) can choose whether to edit the existing Capturable Master Control Terminal code (preferred by me, since the existing capturable MCT is not much of an added value due to crucial missing AND wrongly referenced pieces) or create a new captureable MCT class By the wrong referenced pieces I mean the sound files. After looking at the code I figured that the existing capturable MCT is using outdated sound files. The sound files ALWAYS reference to the Silo sound files. In other words, EVA will always say that the 'silo' is under attack, even whilst we have a completely different tech building. Link to new sound file package: https://www.dropbox.com/sh/dcuau05hu755 ... XHnKa?dl=0 The sound package file goes to: ..\SDK\UDKGame\Content\RenX\Sounds So, in order to fix this, I had to go up the code hierachy and re-write a piece of code that the old capturable MCT was based upon, and then base the new captureable MCT upon that new base. The new base is called: Rx_Building_TechBuilding_Internals_NoSilo Basically, everything is the same as Rx_Building_Techbuilding_Internals, except for these lines: `GdiUnderAttackForGdiSound = SoundNodeWave'RX_EVA_VoiceClips_Extra.gdi_eva.S_EVA_GDI_GDITech_UnderAttack' `GdiUnderAttackForNodSound = SoundNodeWave'RX_EVA_VoiceClips_Extra.Nod_EVA.S_EVA_Nod_GDITech_UnderAttack' `NodUnderAttackForGdiSound = SoundNodeWave'RX_EVA_VoiceClips_Extra.gdi_eva.S_EVA_GDI_NodTech_UnderAttack' `NodUnderAttackForNodSound = SoundNodeWave'RX_EVA_VoiceClips_Extra.Nod_EVA.S_EVA_Nod_NodTech_UnderAttack' The capturable MCT implements an internals class. By default this is "Rx_Building_TechBuilding_Internals", I'd like to see this changed to "Rx_Building_TechBuilding_Internals_NoSilo" due to the new sound files. This is for the developer team to decide themselves. I have only added a new internals class, so the existing Silo code won't be bothered Link to new internals class: https://www.dropbox.com/sh/qttljom0kdxi ... VSpAa?dl=0 Note: This piece of code HAS to be added to RenX_Game, else it will not compile. So, based upon this file come the following MCT files. Again, it's up to the development team whether to add this piece of code to the existing code in the SDK, OR replace the existing piece of code with this new one. Again, I prefer to have the existing code replaced I can say a lot more about this piece of code, but you'll have to see for yourself what's going on. Do note, when actually processing this piece of code, look for the class references!!!!! It's based upon the existing piece of code right now, so if you choose to replace the existing code, re-reference the class extension! For example, right now it's like: class Rx_CapturableMCT_Kismet extends Rx_CapturableMCT Keep that in mind whilst recompiling Link to new capturable MCT class: https://www.dropbox.com/sh/o7ccvomumcdi ... pDima?dl=0 Quote Link to comment Share on other sites More sharing options...
Totem Arts Staff Handepsilon Posted October 21, 2015 Totem Arts Staff Share Posted October 21, 2015 Little question, one of the part that needa to be compiled in RenX_Game. Why would it not compile? Did you forget to put the custom package to compile after RenX_Game? Quote Link to comment Share on other sites More sharing options...
Totem Arts Staff yosh56 Posted October 21, 2015 Totem Arts Staff Share Posted October 21, 2015 Will do it whenever I build a new SDK after 5004's released. Quote Link to comment Share on other sites More sharing options...
Ruud033 Posted October 21, 2015 Author Share Posted October 21, 2015 Will do it whenever I build a new SDK after 5004's released. We also need these features in the game for it to work between the SDK and the game.. If you could already bring that in 5.004 that would already be set Quote Link to comment Share on other sites More sharing options...
Totem Arts Staff yosh56 Posted October 29, 2015 Totem Arts Staff Share Posted October 29, 2015 Foliage collision volume works well enough for now. It's used on Training Yard... and it hits more as a lag issue than anything, with some vehicles getting collision, and other getting collision late. It still stops what it needs to stop for now. Also, I get no compile errors regarding it. Quote Link to comment Share on other sites More sharing options...
Ruud033 Posted October 29, 2015 Author Share Posted October 29, 2015 Foliage collision volume works well enough for now. It's used on Training Yard... and it hits more as a lag issue than anything, with some vehicles getting collision, and other getting collision late. It still stops what it needs to stop for now. The lag issues depend on the map and the mapper, the bigger the volume the bigger the lag, the smaller the volume, the better the distribution , the smaller the lag. It's always better than static meshes so. What do you mean exactly with getting collision 'late' ? It checks for any actors derived from the 'Vehicle' class.. so any vehicle should trigger the volume?! Also, I get no compile errors regarding it. That's great That means I've done something right. Quote Link to comment Share on other sites More sharing options...
Totem Arts Staff yosh56 Posted October 30, 2015 Totem Arts Staff Share Posted October 30, 2015 I was referring to collision only showing up based on lag. Since it has to spawn something server side the client isn't necessarily going to get that actor spawned instantly. In a case like mine with 300+ ping, I can generally get through like two trees before getting blocked Quote Link to comment Share on other sites More sharing options...
Ruud033 Posted November 4, 2015 Author Share Posted November 4, 2015 I was referring to collision only showing up based on lag. Since it has to spawn something server side the client isn't necessarily going to get that actor spawned instantly. In a case like mine with 300+ ping, I can generally get through like two trees before getting blocked Aha okay.. well, i'll have to see this in a test server to solve things. The solution might be that we add some static meshes to the outer borders of a piece of forest for ex. The remaining trees would be foliage (in case air units land in them, they still get collision) First, implement this in 5.005 and then we'll talk about this again Quote Link to comment Share on other sites More sharing options...
Totem Arts Staff kenz3001 Posted November 4, 2015 Totem Arts Staff Share Posted November 4, 2015 just add normal meshes i did it in beach head only took me 15 mins or so Quote Link to comment Share on other sites More sharing options...
Totem Arts Staff Handepsilon Posted November 6, 2015 Totem Arts Staff Share Posted November 6, 2015 just add normal meshes i did it in beach head only took me 15 mins or so You mean the method of "Select Static Mesh Mode -> Adjust scale and random rotation -> Adjust collision -> Select Mesh -> Ctrl (+shift) + S + Mouse click"? That's what I usually do Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.