- Joined
- Jun 2, 2009
- Messages
- 1,233
Warning. This one is pretty long and i will try to explain everything.
Let me tell you what happens in here. Each AI have one Hero.
These heroes going with few creatures against enemy Tower.
When tower starts to hit your creeps and if there are 2 or less creeps around, AI Heroes detecting any creeps and right clicking on them.
I have just realized fAI_run_tower never turns False again. This is why they are stucking. I have checked and changed many things but still i havent solved it yet.
Second part is right clicking to units. Heroes are right clicking units and going to near them.
Issue: Hero falls back from tower and i can see still this boolean True.
Why i cannot set fAI_run_tower[(Integer A)] to false?
Alternatively you can suggest changes that you think could be better
Let me tell you what happens in here. Each AI have one Hero.
These heroes going with few creatures against enemy Tower.
When tower starts to hit your creeps and if there are 2 or less creeps around, AI Heroes detecting any creeps and right clicking on them.
I have just realized fAI_run_tower never turns False again. This is why they are stucking. I have checked and changed many things but still i havent solved it yet.
-
KuledenKacReaper
-
Events
-
Unit - A unit Is attacked
-
-
Conditions
-
(Owner of (Attacked unit)) Equal to ClanReaperPlayer
-
((Attacked unit) is in zUG_CreepsReaper) Equal to True
-
((Attacking unit) is in zUG_TowersDevil) Equal to True
-
-
Actions
-
Set TempPoint = (Position of (Attacked unit))
-
Set TempGroup = (Units within 1000.00 of TempPoint matching (((Matching unit) is in zUG_CreepsReaper) Equal to True))
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Number of units in TempGroup) Less than or equal to 2
-
-
Then - Actions
-
Custom script: call DestroyGroup (udg_TempGroup)
-
Set TempGroup = (Units within 800.00 of TempPoint matching ((((Matching unit) is in HerolarYapayZekaReaper) Equal to True) and (((Matching unit) is in zUG_TankOFF_REAPER) Equal to False)))
-
Unit Group - Pick every unit in TempGroup and do (Actions)
-
Loop - Actions
-
Set TempUnitArray[(Player number of (Owner of (Picked unit)))] = (Picked unit)
-
Set bool_RUN_TOWER[(Player number of (Owner of (Picked unit)))] = False
-
Set fAI_run_tower[(Player number of (Owner of (Picked unit)))] = True
-
Custom script: call DestroyGroup (udg_TempGroup)
-
Custom script: call RemoveLocation (udg_TempPoint)
-
Unit Group - Pick every unit in (Units within 5000.00 of (Position of TempUnitArray[(Player number of (Owner of (Picked unit)))])) and do (Actions)
-
Loop - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
((Picked unit) is in zUG_CreepsReaper) Equal to True
-
((Picked unit) is alive) Equal to True
-
((Picked unit) is in EBENGRUP) Equal to False
-
zBool_BotCreepBuldu[(Player number of (Owner of (Picked unit)))] Equal to False
-
-
Then - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(TempUnitArray[(Player number of (Owner of (Picked unit)))] is in zUG_LanerReaperBOT) Equal to True
-
(Point-value of (Picked unit)) Equal to 94
-
-
Then - Actions
-
Set zBool_BotCreepBuldu[(Player number of (Owner of TempUnitArray[(Player number of (Owner of (Picked unit)))]))] = True
-
Cinematic - Ping minimap for PG_Debug at (Position of (Picked unit)) for 1.00 seconds
-
Unit - Order TempUnitArray[(Player number of (Owner of (Picked unit)))] to Right-Click (Picked unit)
-
-
Else - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(TempUnitArray[(Player number of (Owner of (Picked unit)))] is in zUG_LanerReaperMID) Equal to True
-
(Point-value of (Picked unit)) Equal to 95
-
-
Then - Actions
-
Set zBool_BotCreepBuldu[(Player number of (Owner of TempUnitArray[(Player number of (Owner of (Picked unit)))]))] = True
-
Cinematic - Ping minimap for PG_Debug at (Position of (Picked unit)) for 1.00 seconds
-
Unit - Order TempUnitArray[(Player number of (Owner of (Picked unit)))] to Right-Click (Picked unit)
-
-
Else - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(TempUnitArray[(Player number of (Owner of (Picked unit)))] is in zUG_LanerReaperTOP) Equal to True
-
(Point-value of (Picked unit)) Equal to 96
-
-
Then - Actions
-
Set zBool_BotCreepBuldu[(Player number of (Owner of TempUnitArray[(Player number of (Owner of (Picked unit)))]))] = True
-
Cinematic - Ping minimap for PG_Debug at (Position of (Picked unit)) for 1.00 seconds
-
Unit - Order TempUnitArray[(Player number of (Owner of (Picked unit)))] to Right-Click (Picked unit)
-
-
Else - Actions
-
-
-
-
-
-
-
Else - Actions
-
-
-
-
-
-
-
Else - Actions
-
-
Custom script: call DestroyGroup (udg_TempGroup)
-
Custom script: call RemoveLocation (udg_TempPoint)
-
-
-
Ebengrup
-
Events
-
Unit - A unit Is attacked
-
-
Conditions
-
((Attacked unit) is in EBENGRUP) Equal to False
-
Or - Any (Conditions) are true
-
Conditions
-
((Attacked unit) is in zUG_CreepsDevil) Equal to True
-
((Attacked unit) is in zUG_CreepsReaper) Equal to True
-
-
-
Or - Any (Conditions) are true
-
Conditions
-
((Attacking unit) is in zUG_TowersReaper) Equal to True
-
((Attacking unit) is in zUG_TowersDevil) Equal to True
-
-
-
-
Actions
-
Set TempPoint = (Position of (Attacked unit))
-
Unit Group - Pick every unit in (Units within 800.00 of TempPoint) and do (Actions)
-
Loop - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
Or - Any (Conditions) are true
-
Conditions
-
((Picked unit) is in zUG_CreepsDevil) Equal to True
-
((Picked unit) is in zUG_CreepsReaper) Equal to True
-
-
-
-
-
-
-
-
-
[TRIGGER]
-
Then - Actions
-
Unit Group - Add (Picked unit) to EBENGRUP
-
Custom script: call RemoveLocation(udg_TempPoint)
-
-
Else - Actions
-
Custom script: call RemoveLocation(udg_TempPoint)
-
-
EbenGroupLeave
-
Events
-
Unit - A unit Dies
-
-
Conditions
-
((Dying unit) is in EBENGRUP) Equal to True
-
-
Actions
-
Unit Group - Remove (Dying unit) from EBENGRUP
-
-
Second part is right clicking to units. Heroes are right clicking units and going to near them.
-
OrderSeysi
-
Events
-
Unit - A unit Is issued an order targeting an object
-
-
Conditions
-
(Issued order) Equal to (Order(smart))
-
((Triggering unit) is in HerolarBotALL) Equal to True
-
zBool_BotCreepBuldu[(Player number of (Owner of (Triggering unit)))] Equal to True
-
-
Actions
-
Set TempCreep[(Player number of (Owner of (Triggering unit)))] = (Target unit of issued order)
-
Trigger - Add to CreepBulduSeysi <gen> the event (Unit - A unit comes within 250.00 of TempCreep[(Player number of (Owner of (Triggering unit)))])
-
-
-
CreepBulduSeysi
-
Events
-
Conditions
-
((Triggering unit) is in HerolarBotALL) Equal to True
-
zBool_BotCreepBuldu[(Player number of (Owner of HERO_AI[(Player number of (Owner of (Triggering unit)))]))] Equal to True
-
-
Actions
-
Set zBool_BotCreepBuldu[(Player number of (Owner of (Triggering unit)))] = False
-
Set fAI_run_tower[(Player number of (Owner of (Triggering unit)))] = False
-
Set fAI_run_creep[(Player number of (Owner of (Triggering unit)))] = False
-
Game - Display to PG_Debug for 2.00 seconds the text: ((Name of (Triggering unit)) + ehe creep buldum)
-
-
-
CreepBulduSeysi2
-
Events
-
Unit - A unit Dies
-
-
Conditions
-
Or - Any (Conditions) are true
-
Conditions
-
(Owner of (Triggering unit)) Equal to ClanDevilPlayer
-
(Owner of (Triggering unit)) Equal to ClanReaperPlayer
-
-
-
-
Actions
-
For each (Integer A) from 1 to 12, do (Actions)
-
Loop - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Dying unit) Equal to TempCreep[(Integer A)]
-
-
Then - Actions
-
Set zBool_BotCreepBuldu[(Integer A)] = False
-
Set fAI_run_tower[(Integer A)] = False
-
Set fAI_run_creep[(Integer A)] = False
-
Unit - Order HERO_AI[(Integer A)] to Stop
-
Game - Display to PG_Debug for 2.00 seconds the text: ((Name of HERO_AI[(Integer A)]) + aradigim creep öldü )
-
-
Else - Actions
-
-
-
-
-
Issue: Hero falls back from tower and i can see still this boolean True.
-
Set fAI_run_tower[(Integer A)] = False
Why i cannot set fAI_run_tower[(Integer A)] to false?
Alternatively you can suggest changes that you think could be better