Egozi44 28 Posted February 5, 2016 (edited) Hi there I have a few questions, most are just minor but the first one is my real issue atm 1. I made other unit from the beam cannon xml, that unit need to use the same beam weapon and the obelisk charged defense ability, however no matter wth I tried the attack animations for some reason stop when you unselect it, same with the ability, I start to suspect it the Beam cannon's weapon since it attached to the ability Another weird bug is that the HC sometimes turn off for a sec and then come back but it happens rarely (in WB when it happen you can't turn it on again till you restart it o_o... at least it confirmed I didn't imagine stuff) Here my last xml (I can assure you you will find mistakes there as I was desperate and done many tests, I removed most of them but some still present) MarkedOfKaneReaper.xml Also, if you feels like jumping toward cold water in the middle of the winter, here other tests I tried, they were extracted with the buggy ver of WED so you need to view them with IE MarkedOfKaneReaper (2).xml MarkedOfKaneReaper (3).xml MarkedOfKaneReaper.xml That unit honestly start to annoy me >.> any other walker, inf I made, imported so far didn't gave me animations issues for a while 2. In the cinematic Orca EALA left in the TW's WB there seem to be leftover code from Generals, I want to try and uses it for the beta orca and may even the Hammerhead, however I need small explanation about what do what The code is Heli slowdeath thingy that let your plane to spin around while it dies, It look horrible atm and I want to try and make it look better rather then just remove it, but I don't sure what each line does (sure it easy to understand from their names but when It come to the spin field I a bit confused) <HelicopterSlowDeath id="ModuleTag_HelicopterSlowDeath" FxHitGround="FX_GDIAirVehicleExplode" SpiralOrbitForwardSpeed="0.5" SelfSpinUpdateAmount="0.1" SelfSpinUpdateDelay="100ms" DestructionDelay="10.0s" MaxSelfSpin="0.5"> <DieMuxData DeathTypes="ALL"/> </HelicopterSlowDeath> 3. Another Code relate issue The Eradicator seem to have serious crush issues, looking at it's code I found this: <CrusherInfo CrushKnockback="0" CrushZFactor="1" MinCrushVelocityPercent="1%" CrushDecelerationPercent="40%" <---------------- CrushWeapon="" CrushRevengeWeapon="" CrusherLevel="4" CrushableLevel="4" MountedCrusherLevel="255" MountedCrushableLevel="255" CrushEqualLevelProps="False" UseCrushAttack="True" CrushOnlyWhileCharging="False" CrushAllies="False" /> I can understand what that line does from the name but is there any other hidden stuff it do/effect? I removed it from all epic units and they crush alright now, all except the dam Eradicator, what I need to do in order to make it crush all the time? to change CrushDecelerationPercent to 0? xD Edited February 5, 2016 by Egozi44 Share this post Link to post
Ravendark 46 Posted February 5, 2016 When it uses the beam special powers it probably uses the USING_SPECIAL_ABILITY (or maybe the special weapon) modelconditionstates. Since you didn't define what animation it should play in that conditions it probably defaults to the DEFAULT condition and idle animations. Also, if you feels like jumping toward cold water in the middle of the winter, here other tests I tried, they were extracted with the buggy ver of WED so you need to view them with IE No, just No! Everytime i try to read those i feel like buying a kitten named Egozi and drowning it in a river. And i normally love kittens! The helicopter slow death does still work, not just as easy, It requires alot of fine tuning together with the locomotor used by the aircraft. I played abit with it a while ago and it looked crap even with a few hours of tuning. This involves a lot of min maxing with the settings. There is no easy solution there. I would also advice looking at the original gen/zh coding for it side by side when tuning it. Share this post Link to post
Egozi44 28 Posted February 5, 2016 No, just No! Everytime i try to read those i feel like buying a kitten named Egozi and drowning it in a river. And i normally love kittens! That made my day xD Umm USING_SPECIAL_ABILITY may do the trick, can I simply put it all in one modelconditionstates with ATTCKING, USING WEAPON_A, etc or it won't work? I see, may drop the helicopter slow death thingy then, don't have G/ZH on my pc and never mod them so I dk where to look (guess I need to extract the inis from the big file... ) Share this post Link to post
Ravendark 46 Posted February 5, 2016 Behavior = HelicopterSlowDeathBehavior ModuleTag_08 DestructionDelay = 99999999 ; the destruction delay SpiralOrbitTurnRate = 140.0 ; in degrees per second, bigger # = tighter spiral SpiralOrbitForwardSpeed = 350.0 ; bigger # = larger spiral SpiralOrbitForwardSpeedDamping = .9999 ; smaller #'s = slow down faster MaxBraking = 190 ; max braking we can use during death spiral (lower num = wilder spiral) SoundDeathLoop = ComancheDamagedLoop MinSelfSpin = 100 ; in degrees per second MaxSelfSpin = 300 ; in degrees per second SelfSpinUpdateDelay = 100 ; in milliseconds SelfSpinUpdateAmount = 10 ; in degrees FallHowFast = 12.0% ; fraction of gravity, lower = take longer to fall MinBladeFlyOffDelay = 1500 ; in milliseconds MaxBladeFlyOffDelay = 1500 ; in milliseconds AttachParticle = SootySmokeTrail AttachParticleBone = Propeller02 BladeObjectName = ComancheBlades BladeBoneName = Propeller01 ; Most things that eject pilots do so immediately upon death, ; via use of EjectPilotDie, but Helicopters are a special case... ; they need to do so after their blades are ejected. OCLEjectPilot = OCL_EjectPilotViaParachute FXBlade = FX_HelicopterBladeExplosion OCLBlade = OCL_HelicopterBladeExplosion FXHitGround = FX_HelicopterHitGround OCLHitGround = OCL_HelicopterHitGround FXFinalBlowUp = FX_GroundedHelicopterBlowUp OCLFinalBlowUp = OCL_GroundedHelicopterBlowUp DelayFromGroundToFinalDeath = 1500 FinalRubbleObject = ComancheRubbleHull End You could try the beamcannon way and use the packing/unpacking logic(triggered by the beam special weapon modules) <ModelConditionState ParseCondStateType="PARSE_NORMAL" ConditionsYes="UNPACKING"> <Model Name="NUBeam_SKN" /> <ParticleSysBone BoneName="FX_Weapon" FXParticleSystemTemplate="BeamPreFireFlash" FollowBone="true" /> <ParticleSysBone BoneName="FX_Weapon" FXParticleSystemTemplate="BeamPreFireDist" FollowBone="true" /> </ModelConditionState> <ModelConditionState ParseCondStateType="PARSE_NORMAL" ConditionsYes="PREPARING"> <Model Name="NUBeam_SKN" /> <ParticleSysBone BoneName="FX_Weapon" FXParticleSystemTemplate="BeamConstantFire" FollowBone="true" /> <ParticleSysBone BoneName="FX_Weapon" FXParticleSystemTemplate="BeamConstantFire02" FollowBone="true" /> </ModelConditionState> or use a conditionstate like: <ModelConditionState ParseCondStateType="PARSE_NORMAL" ConditionsYes="USING_SPECIAL_ABILITY"> <Model Name="NUBeam_SKN" /> </ModelConditionState> Share this post Link to post
Egozi44 28 Posted February 5, 2016 (edited) But the beam don't have animations, using the ModelConditionState alone will work? o_o I need to add animations in the animationstate (unless you meant I should just take the conditions to the animationstate) P.S thanks for the heli info Edited February 5, 2016 by Egozi44 Share this post Link to post
Egozi44 28 Posted February 5, 2016 (edited) Umm a bit unrelated, I need help in something that relate to max, I tried to remove the Reaper obelisk object while leaving the hand's sub object and succeed, however upon saving it max keep give me this error ERROR! Could not run Shader Asset Builder - EXE missing or shader not in "Run/Shader" directory? (Looking for C:\ShaderAssetBuilder.exe) What I need to do to fix it? o_o Edited February 5, 2016 by Egozi44 Share this post Link to post
Lauren 78 Posted February 5, 2016 Disregard that error. It happens always, you just didn't notice. Share this post Link to post
Egozi44 28 Posted February 5, 2016 (edited) Yea but it don't let me save the file :/ it freeze max, When I opened the file it saved I saw it didn't have any code lines in it Edited February 5, 2016 by Egozi44 Share this post Link to post
Stygs 25 Posted February 5, 2016 (edited) Do really mean saving? Becasue if you save the max file, there should no problem. The message you mentioned appears during export and is usually unimportant. And if max freezes during export, its usually because you didnt fill all texture slots in the shader - every texture slot needs to have a texture assigned, even if it is never used ingame or blank. Edited February 5, 2016 by Stygs Share this post Link to post
Egozi44 28 Posted February 5, 2016 (edited) I meant to the w3x exporting ofc I didn't filled the HC textures because I have nothing to fill it with (the model don't need it) is this causing the issue? If you have time, do you mind to be bothered in Skype for a few minutes and help me out with it? xD Edited February 5, 2016 by Egozi44 Share this post Link to post
Ravendark 46 Posted February 5, 2016 (edited) I didn't filled the HC textures because I have nothing to fill it with (the model don't need it) Most shaders need to have all texture slots filled. If you dont need a housecolor then use one of the shaders without a HC texture. Worse case just create a copy of the defuse texture, and apply a full black layer(i guess the correct term is vector mask, basically a hide/reveal mask) mask to it. And use that as a HC texture. Edited February 5, 2016 by Ravendark Share this post Link to post
Egozi44 28 Posted February 5, 2016 (edited) Umm, I can also remove it later on the note correct?, as someone who new to max I dk if it will effect the model Edit, well it work but.... That not what I intended to do '-.- Why max /w3x impoter love to ruin stuff after I save them (屮゚Д゚)屮 Edited February 5, 2016 by Egozi44 Share this post Link to post
Egozi44 28 Posted February 6, 2016 Behavior = HelicopterSlowDeathBehavior ModuleTag_08 DestructionDelay = 99999999 ; the destruction delay SpiralOrbitTurnRate = 140.0 ; in degrees per second, bigger # = tighter spiral SpiralOrbitForwardSpeed = 350.0 ; bigger # = larger spiral SpiralOrbitForwardSpeedDamping = .9999 ; smaller #'s = slow down faster MaxBraking = 190 ; max braking we can use during death spiral (lower num = wilder spiral) SoundDeathLoop = ComancheDamagedLoop MinSelfSpin = 100 ; in degrees per second MaxSelfSpin = 300 ; in degrees per second SelfSpinUpdateDelay = 100 ; in milliseconds SelfSpinUpdateAmount = 10 ; in degrees FallHowFast = 12.0% ; fraction of gravity, lower = take longer to fall MinBladeFlyOffDelay = 1500 ; in milliseconds MaxBladeFlyOffDelay = 1500 ; in milliseconds AttachParticle = SootySmokeTrail AttachParticleBone = Propeller02 BladeObjectName = ComancheBlades BladeBoneName = Propeller01 ; Most things that eject pilots do so immediately upon death, ; via use of EjectPilotDie, but Helicopters are a special case... ; they need to do so after their blades are ejected. OCLEjectPilot = OCL_EjectPilotViaParachute FXBlade = FX_HelicopterBladeExplosion OCLBlade = OCL_HelicopterBladeExplosion FXHitGround = FX_HelicopterHitGround OCLHitGround = OCL_HelicopterHitGround FXFinalBlowUp = FX_GroundedHelicopterBlowUp OCLFinalBlowUp = OCL_GroundedHelicopterBlowUp DelayFromGroundToFinalDeath = 1500 FinalRubbleObject = ComancheRubbleHull End You could try the beamcannon way and use the packing/unpacking logic(triggered by the beam special weapon modules) <ModelConditionState ParseCondStateType="PARSE_NORMAL" ConditionsYes="UNPACKING"> <Model Name="NUBeam_SKN" /> <ParticleSysBone BoneName="FX_Weapon" FXParticleSystemTemplate="BeamPreFireFlash" FollowBone="true" /> <ParticleSysBone BoneName="FX_Weapon" FXParticleSystemTemplate="BeamPreFireDist" FollowBone="true" /> </ModelConditionState> <ModelConditionState ParseCondStateType="PARSE_NORMAL" ConditionsYes="PREPARING"> <Model Name="NUBeam_SKN" /> <ParticleSysBone BoneName="FX_Weapon" FXParticleSystemTemplate="BeamConstantFire" FollowBone="true" /> <ParticleSysBone BoneName="FX_Weapon" FXParticleSystemTemplate="BeamConstantFire02" FollowBone="true" /> </ModelConditionState> or use a conditionstate like: <ModelConditionState ParseCondStateType="PARSE_NORMAL" ConditionsYes="USING_SPECIAL_ABILITY"> <Model Name="NUBeam_SKN" /> </ModelConditionState> Nothing I tried work so far, maybe I done it wrong however because I don't sure where to put the lines ; -\ Share this post Link to post
Lauren 78 Posted February 6, 2016 i guess the correct term is vector maskNo vector involved here. Also 4x4 black texture will do just nicely (as it's black anyway and you don't need pixel precise information, with 4x4 being the minimum resolution). Share this post Link to post
Egozi44 28 Posted February 6, 2016 It nice to have people with knowledge nearby, without you informing me about this missing texture I probably would've stuck there for ages since Google search didn't gave me one answer that was close to the issue (guess because it was too trivial and obvious for max users). I still can't use it without reposition it somehow to the same location though :/ Btw I gave up on the beam weapon over other laser... can't be helped as all what I tried failed :-/ Can someone help me with the last question involving the eradicator? Share this post Link to post
Egozi44 28 Posted February 11, 2016 (edited) Not want to nag people, but can someone explain and help me with 3? I believe it should be fairly easy to the point I won't be surprise you just ignore it xD Edited February 11, 2016 by Egozi44 Share this post Link to post
Ravendark 46 Posted February 11, 2016 Not want to nag people, but can someone explain and help me with 3? I believe it should be fairly easy to the point I won't be surprise you just ignore it xD 3. Apple Pie. Since i didn't have a useful answer to that question i decided not to reply to it. But it seems you insist on getting an answer so...Apple Pie. Share this post Link to post
Stygs 25 Posted February 12, 2016 As far as I can tell the Eridicator has the same Crush code as other epics - would help if you told us what kind of problems you have ingame. But if I were to guess, I would asume the problem is the collision box. Share this post Link to post
Egozi44 28 Posted February 12, 2016 (edited) 3. Apple Pie. Since i didn't have a useful answer to that question i decided not to reply to it. But it seems you insist on getting an answer so...Apple Pie. Didn't TW have CrushDecelerationPercent code? I want to know what it does (though the name say it all, but we can't be sure when it come to xml >.> ) As far as I can tell the Eridicator has the same Crush code as other epics - would help if you told us what kind of problems you have ingame. But if I were to guess, I would asume the problem is the collision box. I believe I did said it ;P Eridicator have serious crush issues, it not always crush units, I also start to think it the box, maybe I could use the old trick and make it uses MARV's box, or it going to have some serious side effects? :0 Edited February 12, 2016 by Egozi44 Share this post Link to post
Ravendark 46 Posted February 12, 2016 Didn't TW have CrushDecelerationPercent code? I want to know what it does (though the name say it all, but we can't be sure when it come to xml >.> ) Well you know as much about that piece of code as me. The easiest thing to do was either experiment with the values or have a look at existing units. Call this a calculated guess: The mammoth tank uses that line, the predator doesn't. the mammoth uses a crush animation, which means the the speed at which it runs over a vehicle needs to match the animation. So i am guessing DecelPercent does exactly as it says....it slows the vehicle down during the crush....hence timing the mammoths climb over debris animation with its crush. predators, apc's etc don't use that or a animation because they can only plow through infantry and not vehicles. It also mean that line of code doesn't effect the crush itself, because the animation and all the other crush logic gets triggered after the crush effect is enabled most likely. The problem with the hexapod is probably related to pathfinding+geometry. Share this post Link to post
Lauren 78 Posted February 12, 2016 (edited) Yes raven is correct. It was originally introduced in BFME as horses wouldn't be able to stomp over hundreds of infantry without them being slowed down. This in connection that you can set a minimum speed for crushing just makes stuff more realistic (horses can't easily trample someone in mass armor without having some speed to begin with, esp against pikemen... good thing they don't also have double-strike and lifelink). Edited February 12, 2016 by Lauren Share this post Link to post
Egozi44 28 Posted February 12, 2016 I see, I thought it not just slow the animation but rather the entire crush attack as well Guess that removing it won't change a thing then >.> Share this post Link to post
Ravendark 46 Posted February 12, 2016 (edited) I see, I thought it not just slow the animation but rather the entire crush attack as well No it doesn't effect animation speed. Just the vehicle speed DURING the crush, note the capitals on the word during, not before, not after. If you would use the mammoth crush as example: With Deceleration: with deceleration the animation matches the movement speed. Without the animation would take to long and the mammoth would still be playing the animation after it has already crushed the other vehicle Edited February 12, 2016 by Ravendark Share this post Link to post
Egozi44 28 Posted February 13, 2016 (edited) You always come up with the best videos for the situation xD If that all what it does I think it better be kept at 0 or removed since Epic units with their huge size Supposed to crush hundreds of units without issue, in fact the slow down thingy for them end up look just ridicules and with their speed it harder to crush someone to begin with, till you finally able to do the dam thing you see them slowing down and give other units the time to attack/run away Anyway, here the Hexapod's Geometry (not the box though) <Geometry IsSmall="False"> <Shape Type="BOX" ContactPointGeneration="VEHICLE" MajorRadius="10.99" MinorRadius="14.2673" Height="94.1434" FrontAngle="0d" Active="True" UsedForHealthBox="True"> <Offset x="27.3347" y="0.157752" z="0" /> </Shape> <Shape Type="BOX" ContactPointGeneration="VEHICLE" MajorRadius="17.4869" MinorRadius="14.2673" Height="67.0585" FrontAngle="0d" Active="True" UsedForHealthBox="True"> <Offset x="-1.49606" y="0.157752" z="0" /> </Shape> <Shape Type="BOX" ContactPointGeneration="VEHICLE" MajorRadius="35.6592" MinorRadius="12" Height="77.7878" FrontAngle="0d" Active="True" UsedForHealthBox="True"> <Offset x="7.29364" y="27.9145" z="0" /> </Shape> <Shape Type="BOX" ContactPointGeneration="VEHICLE" MajorRadius="35.6592" MinorRadius="12" Height="77.7878" FrontAngle="0d" Active="True" UsedForHealthBox="True"> <Offset x="7.29364" y="-27.8224" z="0" /> </Shape> </Geometry> And here the Locomotor <?xml version="1.0" encoding="utf-8"?> <AssetDeclaration xmlns="uri:ea.com:eala:asset"> <LocomotorTemplate id="AlienEradicatorHexapodLocomotor" Surfaces="GROUND RUBBLE CRUSHABLE_OBSTACLE" LookAheadMult="1" MaxSpeedDamaged="75%" MinSpeed="0%" TurnTimeSeconds="3.5s" TurnTimeDamagedSeconds="3.5s" SlowTurnRadius="5" FastTurnRadius="50" MinRandomTurnRadiusScale="1" MaxRandomTurnRadiusScale="1" TurnThreshold="15d" TurnThresholdHS="180d" AccelerationSeconds="0.3s" Lift="0%" LiftDamaged="-1%" BrakingSeconds="0.3s" MinTurnSpeed="1%" PreferredHeight="0" PreferredAttackHeight="0" PreferredHeightDamping="1" CirclingRadius="0" CirclingSpeed="100%" BehaviorZ="NO_MOTIVE_FORCE" Appearance="TREADS" FormationPriority="MELEE_1" AccDecTrigger="0.5" WalkDistance="0" MaxTurnWithoutReform="360d" AccelPitchLimit="0d" BounceKick="0d" PitchStiffness="0.5" RollStiffness="0.25" PitchDamping="0.8" RollDamping="0.3" PitchByZVelCoef="0" YawStiffness="0" YawDamping="0" MaxOverlappedHeight="Infinity" ForwardVelocityPitchFactor="0" LateralVelocityRollFactor="0" ForwardAccelerationPitchFactor="0.3" LateralAccelerationRollFactor="0" UniformAxialDamping="1" TurnPivotOffset="0" AirborneTargetingHeight="99999" CloseEnoughDist="1" MaximumWheelExtension="0" MaximumWheelCompression="0" WheelTurnAngle="0d" WanderWidthFactor="0" WanderLengthFactor="1" WanderAboutPointRadius="0" BurniningDeathRadius="0" ChargeMaxSpeed="0%" RudderCorrectionDegree="0" RudderCorrectionRate="0" ElevatorCorrectionDegree="0" ElevatorCorrectionRate="0" AeleronCorrectionDegree="0" AeleronCorrectionRate="0" SwoopStandoffRadius="200" SwoopStandoffHeight="200" SwoopTerminalVelocity="0.07" SwoopAccelerationRate="0.003" SwoopSpeedTuningFactor="1" BackingUpSpeed="75%" BackingUpDistanceMin="0" BackingUpDistanceMax="0" BackingUpAngle="0.5" RiverModifier="100%" TakeOffAndLandingSpeed="0" TakeOffAndLandingSlowDownDelta="25" TakeOffAndLandingSlowDownTime="2s" AttackPathTrailDistance="0" AttackPathTrailDistanceMinScale="1" AttackPathTrailDistanceMaxScale="1" AbsoluteMinHeightWorldSpace="-1000" WiggleAmplitude="0" WiggleFrequency="0" WiggleOffset="0" MakeTransformNonDirty="False" IsCloseEnoughDist3D="False" LocomotorWorksWhenDead="False" AllowMotiveForceWhileAirborne="False" Apply2DFrictionWhenAirborne="False" DownhillOnly="False" StickToGround="False" CanMoveBackward="False" UpdateWaterWadingConditions="False" HasSuspension="False" IsCrewPowered="False" UseTerrainSmoothing="False" BurniningDeathIsCavalry="False" ChargeAvailable="False" ChargeIgnoresCondition="False" EnableHighSpeedTurnFlags="True" WaitForFormation="False" BackingUpStopWhenTurning="False" ScalesWalls="False" TurnWhileMoving="True" ClampOrientationToPathTangent="True" ReorientIfTurnTooSharp="True" BrakeBeforeReorienting="False" /> </AssetDeclaration> Did anyone spot something that can cause the crush skip? Edited February 13, 2016 by Egozi44 Share this post Link to post
Lauren 78 Posted February 13, 2016 Well it is slowing the object down. If the locomotor has a slow acceleration it will take time to speed up again after crushing. Share this post Link to post