Jump to content

Madin

Members
  • Content count

    302
  • Joined

  • Last visited

Community Reputation

5 Neutral

1 Follower

About Madin

  • Rank
    Sergeant Major

Contact Methods

  • Skype
    madin_charles

Recent Profile Visitors

4,291 profile views
  1. Has anyone been able to solve the issue where if a squad is garrisoned in any building (but especially noticeable with the Civilian bunker), and get a banner carrier upgrade (ie the Confessor upgrade), the banner unit will be visible? Is it fixable?
  2. Is it possible to change the display colour of tiberium in the mini map? I have mineable materials that are neither green or blue, which is why I want to change the colour.
  3. How can I go about changing the rank icon that appears in the ui when you have selected a unit? I know how to change the rank icon that is attached to the actual unit, but obviously changing that does not effect the rank icon in the ui.
  4. When I tried to use the last frame of the death animation for a husk (Golan's Titan), the major issue was that when an engineer went into the husk to revive it, the model would briefly reverse position before doing the 'getting up' animation. Maybe there is a way to fix this, but it is worth an attempt to use the die animation.
  5. The Sample art has includes the Juggernaut, which has all of the art that you need (along with the xml code from the SDK). Good luck!
  6. The XML that you have shown, does not contain a 'SlowDeath' module, and the 'CreateObjectDie' module does not reference anything. Simply put, this public release does the minimum necessary to allow you to have a functioning Mastadon, but does not put in the extra work that would allow for a nice death animation. Talk to Styg's, to see if he will have mercy on you...
  7. That information exists inside the units locomotor file ("FormationPriority" attribute). Also check the "FormationAssistant.ini" file.
  8. Simple I would like for the AI to be able to automatically charge up a Tesla coil if they are within a certain range. While I can achieve this in LUA code, my issue is that I do not have the knowledge to restrict the code so that only a single squad of Tesla Troopers would charge a Tesla Coil (my simple LUA broadcast method would allow for multiple squads to receive and answer the broadcast from a single coil). Any ideas? Complex The same as above, but also for human players (in RA games where Tesla Coil charging was available, the Tesla trooper would automatically charge a Coil if it was close enough). Ideally there would be a bit of code that meant that if the Tesla Trooper was selected by the player (as in model condition 'SELECTED'), or was attacking a target (model condition 'ATTACKING'), it would ignore any broadcast request. Thanks for any input!
  9. Sounds like you are taking a soft approach, to a hard problem! Back up the parts of your Mod SDK folder (and App data folder), that you do not want to lose, and then wipe out everything. Start with a truly clean Tiberium wars install. Update to 1.9 if necessary, and then install the mod SDK, and try to compile a simple mod (without mod studio), if it works, progress from there in terms of adding additional items.
  10. This is still not working fully (although now there are no errors). IronCurtain = {} IronCurtain["Targets"] = {} IronCurtain["BuildingRef"] = {} IronCurtain["Ready"] = {} function OnIronCurtainBuildingCreated(self) IronCurtain["BuildingRef"][ObjectTeamName(self)] = self if IronCurtain["Targets"][ObjectTeamName(self)] == nil then IronCurtain["Targets"][ObjectTeamName(self)] = {} end IronCurtain["Ready"][ObjectTeamName(self)] = false ExecuteAction("SHOW_MILITARY_CAPTION", "IRONCURTAIN_BUILT", 5) end function OnIronCurtainBuildingDestroyed(self) IronCurtain["BuildingRef"][ObjectTeamName(self)] = nil IronCurtain["Ready"][ObjectTeamName(self)] = false end function OnIronCurtainReady(self) IronCurtain["Ready"][ObjectTeamName(self)] = true ExecuteAction("SHOW_MILITARY_CAPTION", "IRONCURTAIN_READY", 5) if IronCurtain["Targets"][ObjectTeamName(self)] == nil then IronCurtain["Targets"][ObjectTeamName(self)] = {} end ExecuteAction("SHOW_MILITARY_CAPTION", "IRONCURTAIN_NOT_FIRED", 5) if IronCurtain["Targets"][ObjectTeamName(self)] and getn(IronCurtain["Targets"][ObjectTeamName(self)]) > 0 and not ObjectTestModelCondition(self,"UNDERPOWERED") then -- ObjectCreateAndFireTempWeapon(IronCurtain["Targets"][1],"RA1IronCurtainInfantryDeathWeapon") ExecuteAction("NAMED_FIRE_SPECIAL_POWER_AT_NAMED",GetObj.String(self),"SpecialPowerIronCurtainRA1_Start",GetObj.String(IronCurtain["Targets"][ObjectTeamName(self)][1])) ExecuteAction("SHOW_MILITARY_CAPTION", "IRONCURTAIN_FIRED", 5) IronCurtain["Ready"][ObjectTeamName(self)] = false ExecuteAction("SHOW_MILITARY_CAPTION", "IRONCURTAIN_FINISHED", 5) end end function OnHarvesterHealth25Percent(self) if IronCurtain["Targets"][ObjectTeamName(self)] == nil then IronCurtain["Targets"][ObjectTeamName(self)] = {} end ExecuteAction("SHOW_MILITARY_CAPTION", "HARVESTER_FIRST", 5) tinsert(IronCurtain["Targets"][ObjectTeamName(self)],self) ExecuteAction("SHOW_MILITARY_CAPTION", "HARVESTER_IN_TABLE", 5) if IronCurtain["BuildingRef"][ObjectTeamName(self)] and IronCurtain["Ready"][ObjectTeamName(self)] and not ObjectTestModelCondition(IronCurtain["BuildingRef"][ObjectTeamName(self)],"UNDERPOWERED") then -- ObjectCreateAndFireTempWeapon(GetObj.String(self),"RA1IronCurtainInfantryDeathWeapon") ExecuteAction("NAMED_FIRE_SPECIAL_POWER_AT_NAMED",GetObj.String(IronCurtain["BuildingRef"][ObjectTeamName(self)]),"SpecialPowerIronCurtainRA1_Start",GetObj.String(self)) ExecuteAction("SHOW_MILITARY_CAPTION", "IRONCURTAIN_HARVESTER", 5) IronCurtain["Ready"][ObjectTeamName(self)] = false ExecuteAction("SHOW_MILITARY_CAPTION", "HARVESTER_CODE_FINISHED", 5) end end function OnHarvesterHealth25PercentNOT_OR_OnHarvesterDead(self) local Index = GetIndexOfTableElement(IronCurtain["Targets"][ObjectTeamName(self)],self) if Index then tremove(IronCurtain["Targets"][ObjectTeamName(self)], Index) end ExecuteAction("SHOW_MILITARY_CAPTION", "HARVESTER_NOT_IN_TABLE", 5) end function GetIndexOfTableElement(table,element) if not table then return nil end for i=1,getn(table),1 do if table[i]==element then return i end end end The parts of the code that are supposed to fire either a 'Special Power' or weapon, do not work. The test messages before that point do play. The Harvester gets to the "HARVESTER_IN_TABLE" message when its gets to 25% health or lower, and gets the "HARVESTER_NOT_IN_TABLE" message when it goes above 25% health (they have self heal). When the Iron Curtain comes to ready, it will correctly get to the "IRONCURTAIN_NOT_FIRED" message (I have not tried having the Harvesters damaged before the Iron Curtain special power is ready).
  11. Thanks for your reply! I am getting an error message once the Special power used to trigger the Iron Curtain LUA is ready: Since I moved to Windows 7, I am no longer getting 'ErrorLog' text files. IronCurtain = {} IronCurtain["Targets"] = {} IronCurtain["BuildingRef"] = {} IronCurtain["Ready"] = {} function OnIronCurtainBuildingCreated(self) IronCurtain["BuildingRef"][ObjectTeamName(self)] = self IronCurtain["Targets"][ObjectTeamName(self)] = {} IronCurtain["Ready"][ObjectTeamName(self)] = false end function OnIronCurtainBuildingDestroyed(self) IronCurtain["BuildingRef"][ObjectTeamName(self)] = nil IronCurtain["Ready"][ObjectTeamName(self)] = false end function OnIronCurtainReady(self) IronCurtain["Ready"][ObjectTeamName(self)] = true if getn(IronCurtain["Targets"][ObjectTeamName(self)]) > 0 and ObjectTestModelCondition(IronCurtain["BuildingRef"][ObjectTeamName(self)],"UNDERPOWERED") then --ObjectCreateAndFireTempWeapon(IronCurtain["Targets"][1],"IronCurtainWeapon") ExecuteAction("NAMED_FIRE_SPECIAL_POWER_AT_NAMED",GetObj.String(self),"SpecialPower_IronCurtain",GetObj.String(IronCurtain["Targets"][ObjectTeamName(self)][1])) IronCurtain["Ready"][ObjectTeamName(self)] = false end end function OnHarvesterHealth25Percent(self) tinsert(IronCurtain["Targets"][ObjectTeamName(self)],self) if IronCurtain["BuildingRef"][ObjectTeamName(self)] and IronCurtain["Ready"][ObjectTeamName(self)] and not ObjectTestModelCondition(IronCurtain["BuildingRef"][ObjectTeamName(self)],"UNDERPOWERED") then --ObjectCreateAndFireTempWeapon(self,"IronCurtainWeapon") ExecuteAction("NAMED_FIRE_SPECIAL_POWER_AT_NAMED",GetObj.String(IronCurtain["BuildingRef"][ObjectTeamName(self)]),"SpecialPower_IronCurtain",GetObj.String(self)) IronCurtain["Ready"][ObjectTeamName(self)] = false end end function OnHarvesterHealth25PercentNOT_OR_OnHarvesterDead(self) local Index = GetIndexOfTableElement(IronCurtain["Targets"][ObjectTeamName(self)],self) if Index then tremove(IronCurtain["Targets"][ObjectTeamName(self)], Index) end end function GetIndexOfTableElement(table,element) for i=1,getn(table),1 do if table[i]==element then return i end end end
  12. Would need to know more of what you need in terms of models.
  13. Thanks again! This ended up working with the old favourite "ExecuteAction("NAMED_EXIT_ALL",GetObj.String(self))". I should have known...
  14. Thanks for your input! I do wonder about the 'fireweaponupdate' and 'fireonobject' nugget, as I have found them unreliable in the past.
×