Jump to content

Madin

Members
  • Content count

    333
  • Joined

  • Last visited

Community Reputation

10 Good

1 Follower

About Madin

  • Rank
    Sergeant Major

Contact Methods

  • Skype
    madin_charles

Recent Profile Visitors

4,683 profile views
  1. https://discord.gg/TfdcQTn
  2. From Tiberian History <!--This module controls the use of the weapon that allows the projectile to damage while it travels to a target. --> <FireWeaponUpdate id="ModuleTag_ProjectileWeapon"> <!--Adjust the fire delay time so that the leaving projectile does not damage the Disruptor it is firing from! --> <FireWeaponNugget WeaponName="DisruptorBeamProjectileWeapon" FireInterval="0.066s"/> </FireWeaponUpdate> Weapon <WeaponTemplate id="DisruptorBeam" Name="DisruptorBeam" AttackRange="300.0" WeaponSpeed="200" RadiusDamageAffects="ALLIES ENEMIES NEUTRALS" ClipSize="0" ReAcquireDetailType="PER_ATTACK" ProjectileCollidesWith="ALLIES ENEMIES NEUTRAL STRUCTURES WALLS" CanFireWhileMoving="true" MaxTargetPitch="30d" MinTargetPitch="-15d" FiringLoopSound="GDI_Disruptor_BeamWeaponLoop" FiringLoopSoundContinuesDuringReload="true" PreAttackType="PER_TARGET"> <!--Match your prefire FX v --> <PreAttackDelay MinSeconds="1.0s" MaxSeconds="1.0s"/> <!--Adjust until your projectiles are seamless, like a beam. --> <FiringDuration MinSeconds="0.0666s" MaxSeconds="0.0666s"/> <Nuggets> <ProjectileNugget WarheadTemplate="DisruptorBeamWarhead" ProjectileTemplate="FXDisruptorBeam"/> </Nuggets> </WeaponTemplate> <WeaponTemplate id="DisruptorBeamWarhead" Name="DisruptorBeamWarhead" ProjectileCollidesWith="ALLIES ENEMIES NEUTRAL STRUCTURES WALLS" RadiusDamageAffects="ALLIES ENEMIES NEUTRALS" HitStoredTarget="true"> <Nuggets> <DamageNugget Damage="50.0" DamageType="GRENADE" DamageFXType="NOD_ION" DeathType="EXTRA_3" Radius="15.0"> <DamageScalarDetails Scalar="0%"> <Filter Rule="NONE"> <IncludeThing>GDIDisruptor</IncludeThing> </Filter> </DamageScalarDetails> <DamageScalarDetails Scalar="200%"> <Filter Rule="NONE" Include="VEHICLE"/> </DamageScalarDetails> </DamageNugget> <DamageContainedNugget MaxUnitsToDamage="100" WindowBlastFX="FX_ClearGarrisonBlue" Damage="=$CLEAR_GARRISON_WEAPON_DAMAGE" DamageType="GRENADE" DeathType="NORMAL"> <DamageObjectFilter Rule="NONE" Include="INFANTRY"/> </DamageContainedNugget> <SuppressionNugget Radius="20.0" Suppression="25" DurationSeconds="5s"/> </Nuggets> </WeaponTemplate> <WeaponTemplate id="DisruptorBeamProjectileWeapon" RadiusDamageAffects="ALLIES ENEMIES NEUTRALS NOT_SIMILAR" ProjectileCollidesWith="ALLIES ENEMIES NEUTRAL STRUCTURES WALLS" AttackRange="9999999.0"> <FiringDuration MinSeconds="0.0666s" MaxSeconds="0.0666s"/> <Nuggets> <DamageNugget Damage="10.0" Radius="10.0" DamageType="GRENADE" DamageFXType="GDI_SONIC" DeathType="EXTRA_4"> <DamageScalarDetails Scalar="0%"> <Filter Rule="NONE" Include="BRIDGE_SEGMENT"> <IncludeThing>GDIDisruptor</IncludeThing> </Filter> </DamageScalarDetails> <DamageScalarDetails Scalar="200%"> <Filter Rule="NONE" Include="VEHICLE"/> </DamageScalarDetails> </DamageNugget> <SuppressionNugget Radius="20.0" Suppression="25" DurationSeconds="5s"/> </Nuggets> </WeaponTemplate>
  3. It definitely works on player powers, I have just tested it. This is set up as a 'TargetedSpecialPower' <SpecialPower id="ModuleTag_SpecialPower" SpecialPowerTemplate="SpecialPower_CurseTest" UpdateModuleStartsAttack="true" /> <CurseSpecialPower id="ModuleTag_CurseSpecialPower" SpecialPowerTemplate="SpecialPower_CurseTest" CurseFX="FX_IronCurtainHit" TriggerFX="FX_Allied_GrandCannonFire" CurseAllPlayerPowers="true" CurseFactor="1.0" UnpackTime="0.1s" PreparationTime="0.1s"> <AffectObjectFilter Rule="ALL" /> </CurseSpecialPower> <SpecialPowerTemplate id="SpecialPower_CurseTest" ReloadTime="3s" RadiusCursorRadius="9999" TargetType="LOCATION" Flags="RESPECT_RECHARGE_TIME_DISCOUNT IGNORE_MAP_EXTENTS" InitiateAtLocationSound="ALL_CenturyBomber_VoiceAttack" WaypointModeTerminal="false"></SpecialPowerTemplate> <LogicCommand Options="NEED_TARGET_POS" Type="SPECIAL_POWER" id="Command_CurseTest"> <SpecialPower>SpecialPower_CurseTest</SpecialPower> </LogicCommand> Now as you can see I tested it to effect everything, and not to target a specific structure.
  4. Show code, and or, show video that demonstrates your problems!
  5. 'WeaponSetUpdate' in the 'Behaviors' module. If you want the unit to continue to approach into the shorter weapons range, then place the shorter weapon in weapon slot id 1, and place the long range weapon in weapon slot id 2. If you want it to always stop when it reaches the weapon range of the long range weapon, reverse the order. Even if you have the shorter range weapon in the weapon slot id 1 position, if the unit gets an attack order and does not have to move in order to hit its target with the long range (weapon id 2) weapon, it will not close into the short range (weapon id 1) weapon, but instead use the long range weapon to attack.
  6. Thanks that is a good idea for a limited number of turret changes.
  7. It still works? I will have a look! RiderChangeContain is what was used in Zero Hour? that does not exist in C&C3!
  8. I am looking to code an IFV style vehicle in C&C3 and would like some hints and ideas. At the most basic level I would like the weapon of the IFV to have a default (ie out of the factory setting), and then to change depending on what infantry squad (or individual in terms of infantry like the engineer) is loaded inside. If the infantry exits the IFV, I would like it to go back to the default weapon. If possible it would be nice if the IFV would also change according to 'PLAYER' upgrades. For example if a standard rocket squad entered the IFV it would get a rocket weapon, but if the player upgraded with composite amour, the IFV would get a rocket weapon, and additional armour plating. Also if the same could be done for 'OBJECT' upgrades, that would be great as well. Any help would be appreciated!
  9. function UnitSwitchAllegiance(self,other) ExecuteAction("UNIT_SET_TEAM",GetObj.String(self),GetTeamName(other)) ExecuteAction("NAMED_FLASH_WHITE", self, 2) -- ExecuteAction("SHOW_MILITARY_CAPTION", "SCRIPT_COMPLETED", 5) end While this code will work with human players, it will not work if the AI attempts to use it, as units are auto assigned into random new teams by AI (This is from CNCisDead): -- Dont use ObjectTeamName() command because it fails with AI players (units are auto assigned into new teams by AI) He uses: local p1 = strsub(ObjectDescription(other),strfind(ObjectDescription(other), "owned by ") + 9) local p2 = strsub(ObjectDescription(self),strfind(ObjectDescription(self), "owned by ") + 9) I will try something around that.
  10. Cannot get this to work unfortunately. Can anyone see any issues with the code?
  11. My guess is that you need to have 2 weapons that are visually the same. The reason for this is that when you use the button to manually deploy your artillery, it will block the 'automatic' weapon, and also the reverse will be the same for standard artillery usage. Look into weapon swap style coding (Firehawk is example of this), to look into ways of blocking usage of one weapon while another is selected.
  12. I have tried it in the past and nothing happens. I do not think it is working.
×