- Survivability is way better (good job )
- the ball-up of enemy mobs is no effective for the moment (but enough to test and have an idea of effective)
- Possible to have character who take the drop of gemstones margonites on the run before the end of the run ? if it fail before the end, drop are lost (have done manually before the end of the run and i was right...my character die just after)
noob questions :
- are there a function for target a specific foe like margo ki ?
- What is the condition for bot to stop the run ? (apart from being dead )
noob questions :
- are there a function for target a specific foe like margo ki ?
I did it in my plains farm bot to target riders only :
Code:
Func GetTargetRider($aAgent = -2, $aRange = 1700)
If GetIsDead(-2) Then Return
Local $rider = 2323
If GetMapLoading() == 2 Then Disconnected()
Local $lAgent, $lDistance, $lNearestDistance, $TargetRider
Local $lAgentArray = GetAgentArray(0xDB)
If Not IsDllStruct($aAgent) Then $aAgent = GetAgentByID($aAgent)
$lNearestDistance = 9999
For $i = 1 To $lAgentArray[0]
$lAgent = $lAgentArray[$i]
If BitAND(DllStructGetData($lAgent, 'typemap'), 262144) Then
If StringLeft(GetAgentName($lAgent), 7) <> "Servant" Then ContinueLoop
EndIf
If DllStructGetData($lAgent, 'Allegiance') <> 3 Then ContinueLoop
If DllStructGetData($lAgent, 'HP') <= 0 Then ContinueLoop
If BitAND(DllStructGetData($lAgent, 'Effects'), 0x0010) > 0 Then ContinueLoop
$lDistance = GetDistance($lAgent)
If $lDistance > $aRange Then ContinueLoop
If DllStructGetData($lAgent, 'PlayerNumber') <> $rider Then ContinueLoop
If $lDistance < $lNearestDistance Then
$TargetRider = $lAgent
$lNearestDistance = $lDistance
EndIf
Next
Return $TargetRider
EndFunc
Code:
Func GetNumberOfRidersInRangeOfAgent($aAgent = -2, $aRange = 1700)
If GetIsDead(-2) Then Return
Local $rider = 2323
If GetMapLoading() == 2 Then Disconnected()
Local $lAgent, $lDistance
Local $lCount = 0, $lAgentArray = GetAgentArray(0xDB)
If Not IsDllStruct($aAgent) Then $aAgent = GetAgentByID($aAgent)
For $i = 1 To $lAgentArray[0]
$lAgent = $lAgentArray[$i]
If BitAND(DllStructGetData($lAgent, 'typemap'), 262144) Then
If StringLeft(GetAgentName($lAgent), 7) <> "Servant" Then ContinueLoop
EndIf
If DllStructGetData($lAgent, 'Allegiance') <> 3 Then ContinueLoop
If DllStructGetData($lAgent, 'HP') <= 0 Then ContinueLoop
If BitAND(DllStructGetData($lAgent, 'Effects'), 0x0010) > 0 Then ContinueLoop
$lDistance = GetDistance($lAgent)
If $lDistance > $aRange Then ContinueLoop
If DllStructGetData($lAgent, 'PlayerNumber') <> $rider Then ContinueLoop
$lCount += 1
Next
Return $lCount
EndFunc
Quote:
Originally Posted by oneshout
- What is the condition for bot to stop the run ? (apart from being dead )
humm not really... just wanted to know if there is a kind of timer, specific number of foe killed etc... Seem bot resign randomly for me...maybe it's just me
humm not really... just wanted to know if there is a kind of timer, specific number of foe killed etc... Seem bot resign randomly for me...maybe it's just me
Can only see the timers for deadlock and can't see any other reason it would end, are you sure that's not being triggered early?
Last Chaos GuardianS - New 2019 Server (Opening 12 January 2019) 01/27/2019 - Last Chaos Private Server - 180 Replies https://www.youtube.com/watch?v=kCfwdUoPHu0
Website Coming Soon
Server Information
Start level :1
Max level:165
Experience:x2
Skill Points:x3