PDA

Просмотр полной версии : Как расставить приоритеты?


Gospital
04.06.2009, 15:46
Только начал разбираться с макросами. Не судите строго.

вот что мы имеем.

automacro healer {
console /Map Change: prontera/
call heal

}

macro heal {
do move 158 185
do talknpc 149 189 c r0
release healer
}


automacro buff {
console /Хилер: Я надеюсь вам понравилось.../
call buffer
}

macro buffer {
do talknpc 152 189 c r0
release buffer
}


automacro warper {
console /Баффи: Я надеюсь вам понравилось.../
call warp

}

macro warp {
do talknpc 160 185 c r3
release warper
}



В конфиге прописал условие
useSelf_item Butterfly Wing {
sp<5
whenStatusInactive Blessing
}

Т.е. когда на снупе заканчивается каст либо кончается сп(меньше 5%) то он оказывается в пронте.
Сразу срабатывает макрс на разговор с хилером > Баффером > Варпером.
И бот снова на локации. Все работает наконец-то xD

Теперь сама проблема.
Где-то через 1-3 захода на локацию, снип ясное дело либо наберет перегруз, либо у нег кончится расходник.

Вопрос вот в чем - как расставить приоритеты, чтобы сначала бот проверял условие - нужно ли выполнить autostore и autobuy и лишь ПОСЛЕ них включал макру на heal>buff>warp.
Заранее спасибо за просвещение моей безграмотности)

ShtacketT
05.06.2009, 00:20
Зачем столько автомакросов если можно сделать 1. В нем вызывается последовательность "подойти в хилеру, поговорить с ним, подойти к баферу, поговорить с ним, подойти к варперу, поговорить с ним". Это во-первых.

Я бы посоветовал повесить автомакрос на "нет блеса или мало сп", в котором бы юзалось ухо, а далее вызывалась вышеуказанная последовательность. И второй автомакрос, в котором снова вызывается та же последовательность повесить на событие в консоли "storage logged", то есть прямо после автостореджа.

Gospital
05.06.2009, 00:47
как можно это сделать в одном? о_О если не сложно можно пример? из моего копи пастом много времени не займет, амне очень бы помогло...
Насчет storage все равно не понял...ведь наберет он перегруз, а как тока окажется впронте сработает вот это вот чудо
automacro healer {
console /Map Change: prontera/
call heal

я не придумал ничего другого из событий консоли. а за расходником к нпц и перегруз не всегда за 1 заход набираются

если не сложно на пальцах нубу разъясните, я правда хочу научиться)

ShtacketT
05.06.2009, 01:31
Ну например вот так


#вызовется когда мы на нужной локации и когда мало сп
automacro LittleSP {
#сюда еще добавить событие "когда нет блесса"
location нужная_локация
sp < 5%
call goHeal
run-once 1
exclusive 1
}

#вызовется когда мы сложили все в кафру и взяли все нужное
automacro AfterStorageMacro {
console /Storage logged/
call HealBuffWarp
run-once 1
}


macro goHeal {
do is @inventory(Butterfly Wing) #едим ухо (не уверен в правильности конструкции, но вроде так)
call HealBuffWarp
}

macro HealBuffWarp {
do move 158 185
do talknpc 149 189 c r0 # хилер
do talknpc 152 189 c r0 # бафер
do talknpc 160 185 c r3 # варпер
release all
}


В данном случае мы летаем на кафру 2мя способами. 1й - когда у нас нет сп. Тогда мы юзаем ухо, и выполняем последовательность хил+баф+варп. 2й - это когда мы полетели для автостораджа, тогда после того, как бот все сложит в кафру будет надпись в консоли "storage logged", на которую вы вешаем второй автомакрос.

Gospital
05.06.2009, 19:24
такс сидел перепробовал кучу вартантов... не понял пока что куда всунуть автопокупку аваков- тоб не из кафры брать а из магаза(чтоб не закончились)

Добавлено через 14 часов 31 минуту
это просто какая-то •••ня! всю пятницу убил чтобы настроить этот чертов макрос, нихера не пашет!!!
Спасайте!

dcOnDeath 0
dcOnDualLogin 0
dcOnDisconnect 0
dcOnEmptyArrow 0
dcOnMaxReconnections 0
dcOnMute 0
dcOnPM 0
dcOnZeny 0
dcOnStorageFull 0
dcOnPlayer 0


itemsTakeAuto 2

itemsGatherAuto 2

itemsMaxWeight_sellOrStore 65%


itemsTakeAuto_new 0


lockMap gl_church
lockMap_x
lockMap_y
lockMap_randX
lockMap_randY

route_escape_reachedNoPortal 1
route_escape_randomWalk 1
route_escape_shout
route_avoidWalls 1
route_randomWalk 1
route_randomWalk_inTown 0
route_randomWalk_maxRouteTime 75
route_maxWarpFee
route_maxNpcTries 5
route_teleport 0
route_teleport_minDistance 150
route_teleport_maxTries 8
route_teleport_notInMaps
route_step 15


saveMap prontera
saveMap_warpToBuyOrSell 1
saveMap_warpChatCommand


sitAuto_hp_lower 40
sitAuto_hp_upper 100
sitAuto_sp_lower 0
sitAuto_sp_upper 0
sitAuto_over_50 0
sitAuto_idle 1
sitAuto_look
sitAuto_look_from_wall


statsAddAuto 1
statsAddAuto_list agi 80, dex 90, agi 95
statsAddAuto_dontUseBonus 1
statsAdd_over_99 0


teleportAuto_hp 10
teleportAuto_sp 0
teleportAuto_idle 0
teleportAuto_portal 0
teleportAuto_search 0
teleportAuto_minAggressives 0
teleportAuto_minAggressivesInLock 0
teleportAuto_onlyWhenSafe 0
teleportAuto_maxDmg 10000
teleportAuto_maxDmgInLock 0
teleportAuto_deadly 1
teleportAuto_useSkill 3
teleportAuto_useChatCommand
teleportAuto_allPlayers 0
teleportAuto_atkCount 0
teleportAuto_atkMiss 10
teleportAuto_unstuck 1
teleportAuto_lostTarget 0
teleportAuto_dropTarget 1
teleportAuto_dropTargetKS 0
teleportAuto_attackedWhenSitting 0
teleportAuto_totalDmg 0
teleportAuto_totalDmgInLock 0
teleportAuto_equip_leftAccessory
teleportAuto_equip_rightAccessory
teleportAuto_lostHomunculus
teleportAuto_useItemForRespawn




logChat 0
logPrivateChat 1
logPartyChat 1
logGuildChat 1
logSystemChat 1
logEmoticons
logConsole 0
logAppendUsername 1



sleepTime 50000
# custom, original is: 10000

ignoreAll 0
itemHistory 0
autoTalkCont 1
noAutoSkill 0
portalRecord 2
missDamage 0

tankersList

repairAuto 0
repairAuto_list

removeActorWithDistance



######## Block options ########
# You can copy & paste any block multiple times. So if you want to
# configure two attack skills, just duplicate the attackSkillSlot block.

attackSkillSlot Soul Breaker {
lvl 10

}

attackSkillSlot Double Strafe {
lvl 10
dist 10.5
sp>5
sp > 5%
sp > 5%
}


attackComboSlot {
afterSkill
waitBeforeUse
dist 1.5
isSelfSkill 1
target_deltaHp
}

doCommand {
hp
sp
homunculus_hp
homunculus_sp
homunculus_dead
onAction
whenStatusActive
whenStatusInactive
whenFollowing
spirit
aggressives
monsters
notMonsters
stopWhenHit 0
inLockOnly 0
notWhileSitting 0
notInTown 0
timeout
disabled 0
inInventory
inCart
inMap
manualAI 0
}


useSelf_skill Power-Thrust {
lvl 5
whenStatusInactive Power-Thrust
}

useSelf_skill Improve Concentration {
lvl 10
whenStatusInactive Improve Concentration
}


useSelf_skill Weapon Perfection {
lvl 5
whenStatusInactive Weapon Perfection
}



useSelf_skill Power Maximize {
lvl 5
whenStatusInactive Power Maximize
}

useSelf_skill Adrenaline Rush {
lvl 5
whenStatusInactive Adrenaline Rush
}

useSelf_skill Crazy Uproar {
lvl 5
whenStatusInactive Crazy Uproar
}

useSelf_skill_smartHeal 1


useSelf_skill True Sight {
lvl 10
sp > 20
whenStatusInactive True Sight
notWhileSitting 1
notInTown 1
timeout 3
}
useSelf_skill Wind Walk {
lvl 10
sp > 95
whenStatusInactive Wind Walk
inLockOnly
notWhileSitting
notInTown
timeout 3
}




partySkill {
lvl 10
maxCastTime 0
minCastTime 0
hp
sp
homunculus_hp
homunculus_sp
homunculus_dead
onAction
whenStatusActive
whenStatusInactive
whenFollowing
spirit
aggressives
monsters
notMonsters
stopWhenHit 0
inLockOnly 0
notWhileSitting 0
notInTown 0
timeout 0
disabled 0
manualAI 0
target
target_hp
target_isJob
target_isNotJob
target_whenStatusActive
target_whenStatusInactive
target_aggressives
target_monsters
target_timeout 0
target_deltaHp
target_dead 0
inInventory
isSelfSkill 0
}


autoSwitch_default_rightHand
autoSwitch_default_leftHand
autoSwitch_default_arrow

# NOTE: In the case of two handed weapons, or no Shield,
# duplicate the weapon name for 'rightHand'
# To attack with bare hands, specify "[NONE]" (without the quotes) for rightHand

autoSwitch {
rightHand
leftHand
arrow
distance
useWeapon
}

equipAuto {
topHead
midHead
lowHead
leftHand
rightHand
leftAccessory
rightAccessory
robe
armor
shoes
arrow
monsters
weight 0
whileSitting 0
hp
sp
homunculus_hp
homunculus_sp
homunculus_dead
onAction
whenStatusActive
whenStatusInactive
whenFollowing
spirit
aggressives
stopWhenHit 0
inLockOnly 0
notWhileSitting 0
notInTown 0
timeout 0
disabled 0
inInventory
manualAI 0
}


useSelf_item Meat {
hp<50%
}

useSelf_item Lemon {
hp<50%
}


useSelf_item Fly Wing {
notInTown 1
timeout 90
}

useSelf_item Butterfly Wing {
sp<5%
sp < 5%
whenStatusInactive Blessing
notInTown 1

}




useSelf_item Berserk Potion,Awakening Potion,Concentration Potion {
whenStatusInactive Berserk Potion,Awakening Potion,Concentration Potion
notWhileSitting 1
inLockOnly 0
timeout 5
disabled 0
}

useSelf_item Steel Arrow Quiver {
inInventory Steel Arrow Quiver > 0
inInventory Steel Arrow Quiver > 0
timeout 5
}


useSelf_item Holy Arrow Quiver {
inInventory Holy Arrow Quiver > 0
inInventory Holy Arrow Quiver > 0
timeout 5
}


useSelf_item Fire Arrow Quiver {
inInventory Fire Arrow Quiver > 0
inInventory Fire Arrow Quiver > 0
timeout 5
}





######## Autostorage/autosell ########
buyAuto Awakening Potion {
npc prt_in 126 76
standpoint
distance 5
price 1500
minAmount 1
maxAmount 4
}

buyAuto Fly Wing {
npc prt_in 126 76
standpoint
distance 5
price 60
minAmount 8
maxAmount 60
}

buyAuto Butterfly Wing {
npc prt_in 126 76
standpoint
distance 5
price 300
minAmount 1
maxAmount 1
}



sellAuto 0
sellAuto_npc
sellAuto_standpoint
sellAuto_distance 5

storageAuto 1
storageAuto_npc prontera 155 184
storageAuto_distance 5
storageAuto_npc_type 1
storageAuto_npc_steps c r1 n
storageAuto_password
storageAuto_keepOpen 0
storageAuto_useChatCommand
relogAfterStorage 0
minStorageZeny 50

npcTimeResponse

getAuto Steel Arrow {
minAmount 200
maxAmount 1500
passive
}
Это мой конфиг тхт
***********************************************

# Не удаляйте эти строки, они нужны для корректной работы с UTF-8.
# Пишите ваши макросы в этом файле, ниже этих строк.
# Гайд по macro плагину:
# http://www.openkore.com/wiki/index.php/Macro_plugin_Russian

automacro autoloot {
console /Your Coordinates/
call {
do c @autoloot
}
run-once 1
}



automacro autobuy {
console /Storage logged/
call buy
}


macro buy {
do autobuy
}

automacro healer {
console /Item added to inventory: Butterfly Wing/
call heal
}


macro heal {
do move prontera 158 185
do talknpc 149 189 c r0
do talknpc 152 189 c r0
do talknpc 160 185 c r3
release all
}

Макро-тхт
*************************************************
# All items not mentioned in this file will be automatically stored in storage.
all 0 1 0


##### HEAL/SUPPORT ITEMS #####
# Adjust these to your needs



Butterfly Wing 1 0 0
Fly Wing 60 0 0
Awakening Potion 4 0 0




##### ARROWS #####
# You may want to ify these if you're an archer/hunter

Steel Arrow 1500 0 0

items_control составляющая.

При такой настройке все меня почти устраивает кроме одной вещи.
Эта скотина(простите, уже лезут эмоции) после того как варпнется на локацию пишет мне
initiating auto-storage

Я сделал так что за один раз бот покупаует ровно 1 butterfly wing и чтобы вернуться - должен его юзать и сразу будет включаться конфиговское autobuy.
Он оказывается в пронте, идет значит покупает этот винг, срабатывает
automacro healer {
console /Item added to inventory: Butterfly Wing/
call heal
}

и снова все замечательно! Хилится, кастуется,варпается.Стоит этому паразиту оказаться на лок мапе, он задумывается секунды на 2-3 а потом пишет autostorage. СУКА НЕНАВИЖУ уже его... Люди, выручайте...*beer*

Добавлено через 11 минут
p.s. к черту уже все эти условия если и т.п. Помогите пож чтобы был такой вариант
Если
нету благо, если перегруз,Если кончилось сп, Если кончился расходник
ТО
Юзает Винг в пронту
Выполняет автосторадж
Выполяет autobuy
Разговаривает с хилером
-//-С бафером
-//- С Варпером.
ТОесть при любом если чтобы выполнялась вся эта последовательность, пусть не совсем умно и не совсем правильно, зато надежно. Уже просто взрыв мозгов(( ОЧЕНЬ И ОЧЕНЬ БУДУ ПРИЗНАТЕЛЕН ЗА ПОМОЩЬ!

4epT
06.06.2009, 15:15
помоему тема превратилась в офтоп, не вижу тут никаких разговоров про приоритеты

кстати так писать не правильно "itemsMaxWeight_sellOrStore 65%", читаем мануал

Gospital
07.06.2009, 14:38
Я извиняюсь что оффтоп, но просто не хочется сохдавтаь еще кучу тем с похожей проблемой...
itemsTakeAuto 2
itemsTakeAuto_party 0
itemsGatherAuto 2
itemsMaxWeight 89
itemsMaxWeight_sellOrStore 48
itemsMaxNum_sellOrStore 99
cartMaxWeight 7900
itemsTakeAuto_new 0

изменил на вот это, все равно не помогло, тока оказывается на локации пишет
Teleporting to auto-storage.
Нишиша не могу понять что не так... 4ert будь другом скажи хоть где я напортачил...
а 65% я ставил специально, чтобы бот побольше всякой дряни набивал, а потом тока складировал. ЧТо самое странное что с % что без него резльтат не изменился...

Gospital
08.06.2009, 16:35
ап теме, люди помогите, что у меня настроено неправильно?