Announcement

Collapse
No announcement yet.

WAR-TiberianSun_UTVehicles[final beta released 8-21-09]

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    #46
    I sent you the link for my power cores. There are 2 cores in that .u file. UTExtraCore has 10,000 damage capacity and UTSuperCore has 40,000.

    Comment


      #47
      done..... thanks rumple

      spent about 6 hours working on setting up different configurations to see if i could trigger an instant core death through kismet depending on how many structures each team possesses.
      so far no luck but I'm still working on it.....the core destroy trigger works but my cascading node owner detection sequence is severely flawed.

      Comment


        #48
        Made a simple mod, ConfigPowerNode, that lets you set a lot of the properties of the powernodes in the editor that they normally don't let you set.

        http://utforums.epicgames.com/showpost.php?p=25878775

        I'm not sure if this will help but here ya go.

        Comment


          #49
          sweet

          downloaded and incorporating in to CnCScripts now.

          Thank you snarf

          for future references.(mine)
          Power node health parameters:
          For every 1000 health you increase the node health you need to increase the panel health 30..... this makes the panel node lose its panels at a rate where it will only have one panel left when the node is close to being destroyed.
          so a 3000 health power node would require a 90 health node panel....4000 120,5000 150.... etc etc.
          tested up to 10,000 health with the same results(one panel left before death)
          The incorporation of editable health from within UnrealEd does something to change how the panel health behaves so the rules above only apply to scripted power node objects.... still trying to find what the factor is for editable power nodes.

          Snarfs script is now incorporated in to the CnCPowerNode Script which adds functionality to my power node script that allows child objects that transfer damage.

          I also took some time and adapted the scripts over to the power core too which adds more power to the mappers in configuring their maps by allowing health tweaks on the fly as well as the ability to link child objects to the power core to sense damage.

          compiled with 0 errors and 0 warnings after 20 re compiles due to naming convention errors.
          file size 187Kb

          i am going in to test out the changes now will report the results and do a code dump asap.

          Comment


            #50
            Script Updated and placement tested..... still need to do in game tests before i am 100% the script is sound but i am confident.

            [screenshot]http://img230.imageshack.us/img230/1761/cncscripts01.jpg[/screenshot]

            [screenshot]http://img23.imageshack.us/img23/8135/cncscripts02.jpg[/screenshot]

            [screenshot]http://img26.imageshack.us/img26/2885/cncscripts03.jpg[/screenshot]

            [screenshot]http://img26.imageshack.us/img26/440/cncscripts04.jpg[/screenshot]

            after all of the reworking i am also thinking of reworking the child class a little more to see if i can make use of the static mesh actor code to make the mesh displayed programmable..... this would shrink the amount of scripting down considerably.....i will have to rebuild the bases completely again but it could be a good trade off in the long run.

            compiled.... 0 errors 0 warnings.
            190Kb before deleting out all those parented objects i scripted for the buildings.

            the power core and power node child objects are now programmable and you can assign any static mesh(but will use static meshes collision)

            This slims down the scripts considerably and makes more sense than having a script for each object..... thanks again to CaptainSnarf for sparking my brain into figuring how to go about making the child objects settable in the editor

            Comment


              #51
              Code Drop:

              Programmable power node with damageable child objects
              Code:
              // script combined from Captainsnarf's ConfigPowerNode and sgtmay's CnCPowerNode
              // tweakable health and power node settings with the ability to link child class static mesh objects
              // to the power node that transfer damage to the parent
              
              class  CnCPowerNode extends UTOnslaughtPowernode_Content
              	PerObjectLocalized;
              
              
              var		CnCWarChildPowerNode NextPowerNode;
              var() int MaxHealth<tooltip=Overall node health>;
              var() float OrbInvulnerableRadius<tooltip=Distance in which orb shields node>;
              var() float OrbCaptureReturnRadius<tooltip=CaptureReturnRadius>;
              var() float OrbInvEffectZOffset<tooltip=Distance in which orb shields node in Z axis>;
              var() int OrbHealPerSecond<tooltip=How fast orb heals the node>;
              var() float TemporaryShieldDuration<tooltip=When captured, how long temporary shield stays up>;
              var() int NodeRotationRate<tooltip=YawRotationRate>;
              var() float HealMulti<tooltip=LinkHealMultiplier>;
              var() int MaxPanelHealth<tooltip=How much damage before a panel pops off>;
              
              simulated event PostBeginPlay()
              {
              	Super.PostBeginPlay();
              	DamageCapacity=MaxHealth;
              	InvulnerableRadius=OrbInvulnerableRadius;
              	CaptureReturnRadius=OrbCaptureReturnRadius;
              	InvEffectZOffset=OrbInvEffectZOffset;
              	OrbHealingPerSecond=OrbHealPerSecond;
              	OrbCaptureInvulnerabilityDuration=TemporaryShieldDuration;
              	YawRotationRate=NodeRotationRate;
              	LinkHealMult=HealMulti;
              	PanelHealthMax=MaxPanelHealth;
              }
              
              // cut/paste/edit from utwarfarebarricade
              simulated function RegisterChild(CnCWarChildPowerNode B)
              {
              	local CnCWarChildPowerNode Next;
              
              	if ( NextPowerNode == None )
              	{
              		NextPowerNode = B;
              	}
              	else
              	{
              		Next = NextPowerNode;
              		while ( Next.NextPowerNode != None )
              		{
              			Next = Next.NextPowerNode;
              		}
              		Next.NextPowerNode = B;
              	}
              }
              defaultproperties
              {
              	MaxHealth=2000
              	OrbInvulnerableRadius=1000.0
              	OrbCaptureReturnRadius=500.0
              	OrbInvEffectZOffset=16.0
              	OrbHealPerSecond=100
              	TemporaryShieldDuration=12.0
              	NodeRotationRate=20000
              	HealMulti=1.0
              	MaxPanelHealth=60
                 Name="Default__CnCPowerNode"
              //   ObjectArchetype=UTOnslaughtPowernode'UTGame.Default__UTOnslaughtPowernode'
              }
              Programmable Static Mesh child of power node
              Code:
              /**
               * Copyright 1998-2007 Epic Games, Inc. All Rights Reserved.
               */
              class CnCWarChildPowerNode_StaticMesh extends CnCWarChildPowerNode;
              //        native
              //	placeable;
              
              var() const editconst StaticMeshComponent	StaticMeshComponent;
              
              
              event PreBeginPlay() {}
              
              defaultproperties
              {
                 Begin Object Class=StaticMeshComponent Name=StaticMeshComponent0 ObjName=StaticMeshComponent0 Archetype=StaticMeshComponent'Engine.Default__StaticMeshComponent'
                    bAllowApproximateOcclusion=True
                    bForceDirectLightMap=True
                    bCastDynamicShadow=False
                    Name="StaticMeshComponent0"
                    ObjectArchetype=StaticMeshComponent'Engine.Default__StaticMeshComponent'
                 End Object
                 StaticMeshComponent=StaticMeshComponent0
                 Components(0)=StaticMeshComponent0
                 BlockRigidBody=True
                 CollisionComponent=StaticMeshComponent0
              //   CollisionType=COLLIDE_BlockAll
                 Name="Default__CnCWarChildPowerCore_StaticMesh"
              //   ObjectArchetype=StaticMeshActorBase'Engine.Default__StaticMeshActorBase'
              }
              Configurable power core adaption with damageable child objects
              Code:
              //For brett, a configurable power node
              //captainsnarf
              // Adapted for configurable/parent power core object by sgtmay
              // thanks cap'n
              
              class CnCPowerCore extends UTOnslaughtPowerCore_Content
              	PerObjectLocalized;
              
              var() int MaxHealth<tooltip=Overall node health>;
              //var() float OrbInvulnerableRadius<tooltip=Distance in which orb shields node>;
              //var() float OrbCaptureReturnRadius<tooltip=CaptureReturnRadius>;
              //var() float OrbInvEffectZOffset<tooltip=Distance in which orb shields node in Z axis>;
              //var() int OrbHealPerSecond<tooltip=How fast orb heals the node>;
              //var() float TemporaryShieldDuration<tooltip=When captured, how long temporary shield stays up>;
              //var() int NodeRotationRate<tooltip=YawRotationRate>;
              //var() float HealMulti<tooltip=LinkHealMultiplier>;
              var() int MaxPanelHealth<tooltip=How much damage before a panel pops off>;
              var		CnCWarChildPowerCore NextPowerCore;
              
              simulated event PostBeginPlay()
              {
              	Super.PostBeginPlay();
              	DamageCapacity=MaxHealth;
              //	InvulnerableRadius=OrbInvulnerableRadius;
              //	CaptureReturnRadius=OrbCaptureReturnRadius;
              //	InvEffectZOffset=OrbInvEffectZOffset;
              //	OrbHealingPerSecond=OrbHealPerSecond;
              //	OrbCaptureInvulnerabilityDuration=TemporaryShieldDuration;
              //	YawRotationRate=NodeRotationRate;
              //	LinkHealMult=HealMulti;
              	PanelHealthMax=MaxPanelHealth;
              }
              
              simulated function RegisterChild(CnCWarChildPowerCore B)
              {
              	local CnCWarChildPowerCore Next;
              
              	if ( NextPowerCore == None )
              	{
              		NextPowerCore = B;
              	}
              	else
              	{
              		Next = NextPowerCore;
              		while ( Next.NextPowerCore != None )
              		{
              			Next = Next.NextPowerCore;
              		}
              		Next.NextPowerCore = B;
              	}
               }
              
              defaultproperties
              {
                 Name="Default__CnCPowerCore"
              	MaxHealth=10000
              //	OrbInvulnerableRadius=1000.0
              //	OrbCaptureReturnRadius=500.0
              //	OrbInvEffectZOffset=16.0
              //	OrbHealPerSecond=100
              //	TemporaryShieldDuration=12.0
              //	NodeRotationRate=20000
              //	HealMulti=1.0
              	MaxPanelHealth=300
              }
              Configurable static mesh child of power core
              Code:
              //adaption of programmable static mesh to damageable power core child by sgtmay
              class CnCWarChildPowerCore_StaticMesh extends CnCWarChildPowerCore;
              //        native
              //	placeable;
              
              var() const editconst StaticMeshComponent	StaticMeshComponent;
              
              
              event PreBeginPlay() {}
              
              defaultproperties
              {
                 Begin Object Class=StaticMeshComponent Name=StaticMeshComponent0 ObjName=StaticMeshComponent0 Archetype=StaticMeshComponent'Engine.Default__StaticMeshComponent'
                    bAllowApproximateOcclusion=True
                    bForceDirectLightMap=True
                    bCastDynamicShadow=False
                    Name="StaticMeshComponent0"
                    ObjectArchetype=StaticMeshComponent'Engine.Default__StaticMeshComponent'
                 End Object
                 StaticMeshComponent=StaticMeshComponent0
                 Components(0)=StaticMeshComponent0
                 BlockRigidBody=True
                 CollisionComponent=StaticMeshComponent0
              //   CollisionType=COLLIDE_BlockAll
                 Name="Default__CnCWarChildPowerCore_StaticMesh"
              //   ObjectArchetype=StaticMeshActorBase'Engine.Default__StaticMeshActorBase'
              }
              after testing and testing and more testing with setting up all the buildings as nodes and hiding away the power core for instant damage if triggered i have decided to just give up on that idea for now and move on to finalizing the UT3 vehicle version.
              i will be setting the construction yard as the power core and reworking the bases to use the new programmable classes.
              i will revisit that problem at a later date.

              The bases will need to be reconfigured again..... spread out more so that other nodes will not effect spawn points that they are not supposed to effect.... and i will add a couple base expansions(outposts) with a tiberium refinery and make use the tarydium mine and harvester bots at each.

              I am pleased with how the scripting has come along.... it will now be compact with a lot of functionality.
              the only other function i could see being useful for the node and power core child class would be mover..... that would bring building and destruction animations in to play.

              the map will also be shrunk down to about half the size it is now.

              Comment


                #52
                good work so fare cant wait too test it

                Comment


                  #53
                  CnCScripts.u recompiled and streamlined but will see a little more work before it is final.

                  0 warnings 0 errors
                  47Kb

                  I have finished re building the GDI base again and testing the power core child objects..... works good but i need to re tweak the default settings of the core panels because the default setting is way too high.
                  After testing the completed bases last night i discovered that the child object classes work even better than i expected.....they automatically assign their selves to the nearest power core or power node with out even assigning a parent to them

                  I am also going to look further in to the mover class and see if i could just use that code as a base for the child object classes to be able to implement construction and destruction animation sequences later via kismet and matinee.

                  after that i will be ready to start building the final map.

                  Comment


                    #54
                    I am also looking in to making the Tiberium refinerys heal the power core.

                    Ideally each base will have one tiberium refinery and 2 possible outpost refineries...when the harvester bots bring tiberium to the refinery it will heal the core gradually with each delivery of tiberium....... i need to experiment with this and see how feasible this is.

                    Experimenting done.

                    [screenshot]http://img216.imageshack.us/img216/787/cncscripts05.jpg[/screenshot]

                    The tiberium harvest sequence works perfectly..... it will even heal either core depending on who possesses it.
                    This brings the relevance of the tiberium refinery in to play and will make the map uniquely interesting.(snatching victory from the jaws of defeat)
                    I am also experimenting with making some buildings dependent on the power plant.... if the power plant goes down the nodes linked to it will eventually go offline too.

                    This concludes all the scripting work i wanted to complete for the UTVehicles version of the map.
                    I had to remove the programmable health and panel health for the power cores and opt for a set health level class because the scripting was causing problems with showing the cores true health on the score board.
                    I will tidy up the code now.... then optimize the TsumetaiCnCAssets package for a final wrap up of the assets part of development.

                    I will release one more beta version of the map with no world objects other than terrain and the bases...... but this time i will shrink the map down and have the terrain painted close to what it will look for the final version minus the vegetation layers...etc.

                    Here is a quick run down of the Features that are going to be in the map
                    Custom Power nodes and power cores(C&C buildings represent part of the parent node or core)
                    Custom Power ups (time extension of Udamage and Invisibility to 2 minutes)
                    Custom Defense turret(Track Turret with Raptor weapon upgraded fire rate for passive lock missiles)
                    Utilization of stock TarydiumProcessor and TarydiumMine objects to heal power cores depending on who posesses the node controlling the TarydiumProcessor.

                    I will do one more code dump just before i am ready to release the second and final beta for the utvehicles version of this map.

                    Comment


                      #55
                      Wow I sense a great passion within you..
                      Where there is a will there is a way.

                      I wish you best of luck with this conversion.

                      Curious have you thought how easy it would to recreate
                      all this on additional maps?

                      Oh btw I dub the code monkey.

                      Comment


                        #56
                        Originally posted by dk3dknight View Post
                        Curious have you thought how easy it would to recreate
                        all this on additional maps?
                        Yes i am keeping this in mind

                        i am making prefabs that were created in the map so that you can easily place these structures in any map just by loading the single.u file and the assets package in the editor(the prefabs will be included in the assets package).

                        they set up just like regular power nodes or power cores..... so far the only thing i have used kismet for is to link the tarydium processor to the tiberium refinery..... i hid it so that all you see is the tiberium refinery.

                        Comment


                          #57
                          If you really want to play C&C in UT3, then keep an eye on the RenegadeX mod. This is gonna be awesome.

                          Comment


                            #58
                            Originally posted by sgtmay View Post
                            Yes i am keeping this in mind

                            i am making prefabs that were created in the map so that you can easily place these structures in any map just by loading the single.u file and the assets package in the editor(the prefabs will be included in the assets package).

                            they set up just like regular power nodes or power cores..... so far the only thing i have used kismet for is to link the tarydium processor to the tiberium refinery..... i hid it so that all you see is the tiberium refinery.
                            I figured you probably had that all thought out, but I figured I would suggest it anyway.

                            Originally posted by Doomgiver View Post
                            If you really want to play C&C in UT3, then keep an eye on the RenegadeX mod. This is gonna be awesome.
                            What the hell, thats disrespectful comment, further more your advertising another mod, people from RenegadeX have already stated there peace, on page 3, its not right to disrespect someones work like that by trying to push it aside for a another within its own thread...

                            If you looked at what hes doing you will hopefully understand why im upset at your comment, personally.

                            perhaps humanity is only possible of repeating the history...

                            Comment


                              #59
                              a first look at the new configuration of the map..... still have more terrain work to do yet and i need to add the boulders for the avalanche sequence that can be triggered in the narrow canyon between the bases.

                              [screenshot]http://img524.imageshack.us/img524/9558/cnctsutvshot6.jpg[/screenshot]

                              [screenshot]http://img25.imageshack.us/img25/2558/cnctsutvshot7.jpg[/screenshot]

                              [screenshot]http://img504.imageshack.us/img504/3946/cnctsutvshot8.jpg[/screenshot]

                              [screenshot]http://img504.imageshack.us/img504/4633/cnctsutvshot9.jpg[/screenshot]

                              [screenshot]http://img211.imageshack.us/img211/4820/cnctsutvshot10.jpg[/screenshot]

                              [screenshot]http://img208.imageshack.us/img208/934/cnctsutvshot11.jpg[/screenshot]

                              I also have added in a count down node to the CnCScripts so now you can also add children static mesh objects to this power node type.

                              I think i will need to increase the respawn time for the leviathan because its too powerful a vehicle to be respawning 30 seconds after being destroyed.

                              Comment


                                #60
                                Looking good, reminds me of the layouts for C&C maps with the very eye opening back entrance to each base.

                                Comment

                                Working...
                                X