Posted by: Salazar 8 Sep 2019, 14:28
I have a couple of questions. Basically, I am trying to create a new general power that spawns in a support plane that I can control.
I have got the controllable support plane and the spawning part down, but the problem is I am able to land the plane at an airfield. So far I have tried giving it PRODUCED_AT_HELIPAD and DRONE tag but neither of them works, the plane still is able to land but this time bugs out at the airfield because it thinks it's a helicopter.
The biggest clue to achieve this is from looking at the Acolyte drone with the Airforce General from the Shockwave mod. After testing it seems the Acolyte is unable to land, no matter how many times you tell the thing to land it doesn't react to the command at all. I want to give that same property to the unit I made, but I cannot for the life for me find out where this behavior is given - I have looked over everything related to the Acolyte drone and found nothing out of the ordinary that gives it this behavior.
The second thing I want to do is to put a limit on how many of this unit I can field at once. Since I am deploying it through a general power and not an airfield/warfactory, I have no idea how to set a limit on this (make the special power itself grayed out while a certain number of this unit is already on the field).
Does anyone have any ideas on how to solve these two issues?
Posted by: Zeke 9 Sep 2019, 1:34
1. Instead of making a plane that acts like a chopper, it might be easier to start with a chopper, then make it fly like a plane
2. It can't be done
Posted by: Salazar 9 Sep 2019, 2:54
QUOTE (Zeke @ 9 Sep 2019, 2:34)
1. Instead of making a plane that acts like a chopper, it might be easier to start with a chopper, then make it fly like a plane
2. It can't be done
1) I've tried this. My problem is the "plane" will still be able to land at an airfield, but just not the hangar (it'll land at a helipad when damaged). The behavior I want is for the aircraft to not be able to land AT ALL. The Acolyte drone from Shockwave mod does this, it'll not respond to any commands to land at an airfield even if it is damaged (you get the three green down arrows indicating the command to land, but the Acolyte doesn't respond to this command). I've went through the entire object file for the Acolyte and I cannot for the life for me find where this behavior comes from.
2) What if I make the power a SCIENCE, and make it buildable at an Airfield, but instead of spawning at the hangar of an airfield it's deployed from offmap? Is that possible to achieve? So by all intents and purposes the thing is still a buildable at an Airfield but it just spawns from offmap.
EDIT : Just figured out #1. It was the AIUpdate behavior. The Acolyte drone had "AIUpdateInterface" while I used "JetAIUpdate". Replacing this behavior made it so the plane now doesn't land at the airfield even when given the command to land, even if it is damaged. Now to try to figure out #2...
Posted by: Omeka88 12 Sep 2019, 18:40
maybe you can do that :
make a "unit" lock by the science Special power [like rotr black bear\eca super unit]
said unit will do the OCL for the special power and spawn a self damage on im (you can make a custom armor and say take damage only from fall damage , for avoid kill the command center by mistake)
once it use the ocl say 3 time , will die and left a husk(invisible) with this setting on the Unit and the husk :
MaxSimultaneousOfType = 1
MaxSimultaneousLinkKey = AirRaid //(or anything tou want)
only way i can tink to do a limited use SuperWeapon\General power
Posted by: Salazar 14 Sep 2019, 7:41
QUOTE (Omeka88 @ 12 Sep 2019, 19:40)
maybe you can do that :
make a "unit" lock by the science Special power [like rotr black bear\eca super unit]
said unit will do the OCL for the special power and spawn a self damage on im (you can make a custom armor and say take damage only from fall damage , for avoid kill the command center by mistake)
once it use the ocl say 3 time , will die and left a husk(invisible) with this setting on the Unit and the husk :
MaxSimultaneousOfType = 1
MaxSimultaneousLinkKey = AirRaid //(or anything tou want)
only way i can tink to do a limited use SuperWeapon\General power
Thanks for the reply. The problem I see with this solution (if I understood it correctly) is the OCL object will stay alive even after the unit is dead. I want to be able to build the unit again once the unit dies, not have it limited to one the entire game.
Is there a way to tie an OCL dummy object with the unit that I spawn? So if the unit dies, the OCL dummy object also dies?
Posted by: Omeka88 14 Sep 2019, 17:41
you can put a dummy object tranported by the unit iself
unless the unit spawn by the special power use "Bike logic".
or make the limiter hulk as a self destroy timer
i guess you want the ocl timer restar only after the unit from the SW die
is correct?
Posted by: Salazar 22 Sep 2019, 12:06
QUOTE (Omeka88 @ 14 Sep 2019, 17:41)
i guess you want the ocl timer restar only after the unit from the SW die
is correct?
Yes. I tried to implement your suggestion but I cannot get it to work. Gave up on it for now, I'm not experienced enough to code this.
Posted by: Omeka88 23 Sep 2019, 22:21
the best way is a "gla angry mob style"
make a "Invulnerable" MOB_NEXUS unit
the aircraft bring said unit on the field
il post my sample MOB_NEXUS dummy :
CODE
;---------------------------------------------------------------------
Object StrikeTeam-dummyNexus
; *** ART Parameters ***
SelectPortrait = InsertIcon
ButtonImage = InsertIcon
Draw = W3DModelDraw ModuleTag_01
DefaultConditionState
Model = None
End
End
;****DESIGN parameters **************************;
DisplayName = OBJECT:YouCanSeeMyName
Side = America
RadarPriority = NOT_ON_RADAR
EditorSorting = INFANTRY
TransportSlotCount = 0 ;how many "slots" we take in a transport (0 == not transportable)
WeaponSet
Conditions = None
Weapon = PRIMARY ;give a 0 damage weapon for make my team attack the target
End
ArmorSet
Conditions = None
Armor = InvulnerableAllArmor
DamageFX = None
End
BuildCost = 0
BuildTime = 10.0 ;in seconds ;only if producted by "factory"
VisionRange = 150 ; it can scout for the spawn
ShroudClearingRange = 70
Prerequisites
; Object =
End
ExperienceValue = 5 10 15 20 ;Experience point value at each level
IsTrainable = No;
CommandSet = GenericCommandSet
; *** AUDIO PARAMETERS ***; VoiceSelect actually get use
VoiceSelect = ZoneTrooperVoiceSelect
VoiceMove = ZoneTrooperVoiceMove
VoiceGuard = ZoneTrooperVoiceGuard
VoiceAttack = ZoneTrooperVoiceAttack
VoiceAttackAir = ZoneTrooperVoiceAttack
VoiceFear = ZoneTrooperVoiceFear
UnitSpecificSounds
VoiceEnter = ZoneTrooperVoiceMove
VoiceEnterHostile = ZoneTrooperVoiceGuard
VoiceGarrison = ZoneTrooperVoiceMove
VoiceCreate = ZoneTrooperVoiceCreate
End
;**** ENGINEERING Parameters ******************************
RadarPriority = UNIT
KindOf = PRELOAD CAN_ATTACK INFANTRY MOB_NEXUS ATTACK_NEEDS_LINE_OF_SIGHT NO_COLLIDE IGNORED_IN_GUI
Body = ImmortalBody ModuleTag_02
MaxHealth = 99999.0
InitialHealth = 99999.0
End
Behavior = AIUpdateInterface ModuleTag_03
AutoAcquireEnemiesWhenIdle = Yes
End
Locomotor = SET_NORMAL BasicHumanLocomotor;Important! don't make the Nexus any faster!
Locomotor = SET_WANDER BasicHumanLocomotor;Important! don't make the Nexus any faster!
Locomotor = SET_PANIC BasicHumanLocomotor;Important! don't make the Nexus any faster!
Behavior = PhysicsBehavior ModuleTag_04
Mass = 50.0
End
Behavior = SpawnBehavior ModuleTag_05
SpawnNumber = 4;how may unit we are?
SpawnReplaceDelay = 2500000; 30 seconds , not use since OneShot is on
SpawnTemplateName = StrikeTeam-Tank
SpawnTemplateName = StrikeTeam-AntiAirTank;object name example
ExitByBudding = Yes
InitialBurst = 4; spawn all the unit when im get spawn
OneShot = Yes
AggregateHealth = Yes;i die if all my allied die
SlavesHaveFreeWill = No
End
Behavior = QueueProductionExitUpdate ModuleTag_06
UnitCreatePoint = X: 3.0 Y: 1.0 Z:0.0
NaturalRallyPoint = X: 2.0 Y: 2.0 Z:0.0
ExitDelay = 5000; 5 sec
InitialBurst = 4; spawn all the unit when im get spawn
End
MaxSimultaneousOfType = DeterminedBySuperweaponRestriction; Normally unlimited, but can be selected by players in multiplayer games
MaxSimultaneousLinkKey = Superweapon ; Count all superweapons **AND THE GLA SCUD STORM REBUILD HOLE** as one "type" for MaxSimultaneousOfType
Behavior = DestroyDie ModuleTag_07
DeathTypes = ALL
End
Geometry = CYLINDER
GeometryMajorRadius = 1.0
GeometryMinorRadius = 1.0
GeometryHeight = 1.0
GeometryIsSmall = Yes
End
make the nexus spawn the limiter dummy , once the dummy die(after 2 min timer?,well set low for test) you can use the power again
don't know a better way asap