макрос:хил и каст не воркает по просьбе
Модератор: 4epT
Правила форума
Все вопросы по OK не касающиеся плагинов и макросов публикуются в этом разделе.
Перед тем как что то писать, пожалуйста, удостоверьтесь что данная тема не поднималась, вы полностью изучили мануалы по конфигурационным файлам бота и не нашли там решения.
Все вопросы по OK не касающиеся плагинов и макросов публикуются в этом разделе.
Перед тем как что то писать, пожалуйста, удостоверьтесь что данная тема не поднималась, вы полностью изучили мануалы по конфигурационным файлам бота и не нашли там решения.
макрос:хил и каст не воркает по просьбе
по аналогии с вот этим:
automacro Buff {
pubm /buf|agi|bles/i,10
call {
pause 2
do sp 34 @player($.lastpub)
pause 0.5
do sp 29 @player($.lastpub)
pause 2
release Buff
}
run-once 1
}
automacro heal {
pubm /heal|hil/i,10
call {
pause 2
do sp 28 @player($.lastpub)
pause 0.5
do sp 28 @player($.lastpub)
pause 2
release heal
}
run-once 1
}
сделал вот это:
automacro Buff1 {
pubm /баф|аги|каст|блес/i,10
call {
pause 2
do sp 34 @player($.lastpub)
pause 0.5
do sp 29 @player($.lastpub)
pause 2
release Buff
}
run-once 1
}
automacro heal1 {
pubm /хил|полечи/i,10
call {
pause 2
do sp 28 @player($.lastpub)
pause 0.5
do sp 28 @player($.lastpub)
pause 2
release heal
}
run-once 1
}
брал отсюда
viewtopic.php?t=274&highlight=%F5%E8%EB+++%EA%E0%F1%F2
затем по ссылке в http://www.ragnarokbot.ru/forum/showthread.php?t=628
сохранил в ЮТФ-8
а бот не реагирует на просьбы, играю на раггейме
Внимание, всесто "buf|agi|bles" можно написать и русские слова (типо: бафни|аги|блес), но тогда файл macros.txt необходимо сохранить в кодировке UTF-8 и закомментировать 1-ю строчку (значком #)
прочитв это я не понял куда именно делать "#"?? может по эттому не работает?
ЗЫ: яне разбираюсь в макросах, поэтому скажу что пихал эти фразы в файл "macros" -если не туда,скажите куда)
Добавлено спустя 23 минуты 38 секунд:
проблема решена вот этим:
automacro HealOnWord2 {
console /(хил|каст|хилл|полечи|хилл и каст|хильни|бафф|обкастуй|обкаст|мне)/
sp > 15%
timeout 3
call foo2
}
automacro HealOnSmile {
console /\[dist=(.*)\] (.*) \((\d+)\): \*(Wave|Fist|Peace|Help|Flag 1|Flag 2|Flag 3|Flag 4|Flag 5|Flag 6|Flag 7|Flag 8|Flag 9)\*$/
sp > 15%
timeout 3
call foo2
}
macro foo2 {
$i = @arg("$.lastLogMsg", 3)
if ($i == (0)) goto ar2
pause 1
do sp 28 @arg("$.lastLogMsg", 3) 10
do sp 28 @arg("$.lastLogMsg", 3) 10
pause 1
do sp 34 @arg("$.lastLogMsg", 3) 10
do sp 29 @arg("$.lastLogMsg", 3) 10
stop
:ar2
pause 1
do sp 28 @arg("$.lastLogMsg", 2) 10
do sp 28 @arg("$.lastLogMsg", 2) 10
pause 1
do sp 34 @arg("$.lastLogMsg", 2) 10
do sp 29 @arg("$.lastLogMsg", 2) 10
stop
}
automacro Buff {
pubm /buf|agi|bles/i,10
call {
pause 2
do sp 34 @player($.lastpub)
pause 0.5
do sp 29 @player($.lastpub)
pause 2
release Buff
}
run-once 1
}
automacro heal {
pubm /heal|hil/i,10
call {
pause 2
do sp 28 @player($.lastpub)
pause 0.5
do sp 28 @player($.lastpub)
pause 2
release heal
}
run-once 1
}
сделал вот это:
automacro Buff1 {
pubm /баф|аги|каст|блес/i,10
call {
pause 2
do sp 34 @player($.lastpub)
pause 0.5
do sp 29 @player($.lastpub)
pause 2
release Buff
}
run-once 1
}
automacro heal1 {
pubm /хил|полечи/i,10
call {
pause 2
do sp 28 @player($.lastpub)
pause 0.5
do sp 28 @player($.lastpub)
pause 2
release heal
}
run-once 1
}
брал отсюда
viewtopic.php?t=274&highlight=%F5%E8%EB+++%EA%E0%F1%F2
затем по ссылке в http://www.ragnarokbot.ru/forum/showthread.php?t=628
сохранил в ЮТФ-8
а бот не реагирует на просьбы, играю на раггейме
Внимание, всесто "buf|agi|bles" можно написать и русские слова (типо: бафни|аги|блес), но тогда файл macros.txt необходимо сохранить в кодировке UTF-8 и закомментировать 1-ю строчку (значком #)
прочитв это я не понял куда именно делать "#"?? может по эттому не работает?
ЗЫ: яне разбираюсь в макросах, поэтому скажу что пихал эти фразы в файл "macros" -если не туда,скажите куда)
Добавлено спустя 23 минуты 38 секунд:
проблема решена вот этим:
automacro HealOnWord2 {
console /(хил|каст|хилл|полечи|хилл и каст|хильни|бафф|обкастуй|обкаст|мне)/
sp > 15%
timeout 3
call foo2
}
automacro HealOnSmile {
console /\[dist=(.*)\] (.*) \((\d+)\): \*(Wave|Fist|Peace|Help|Flag 1|Flag 2|Flag 3|Flag 4|Flag 5|Flag 6|Flag 7|Flag 8|Flag 9)\*$/
sp > 15%
timeout 3
call foo2
}
macro foo2 {
$i = @arg("$.lastLogMsg", 3)
if ($i == (0)) goto ar2
pause 1
do sp 28 @arg("$.lastLogMsg", 3) 10
do sp 28 @arg("$.lastLogMsg", 3) 10
pause 1
do sp 34 @arg("$.lastLogMsg", 3) 10
do sp 29 @arg("$.lastLogMsg", 3) 10
stop
:ar2
pause 1
do sp 28 @arg("$.lastLogMsg", 2) 10
do sp 28 @arg("$.lastLogMsg", 2) 10
pause 1
do sp 34 @arg("$.lastLogMsg", 2) 10
do sp 29 @arg("$.lastLogMsg", 2) 10
stop
}
У меня тоже проблемка.
Скопировал вот этот пример макроса:
Скопировал вот этот пример макроса:
Всё нормально работает, пока чар не сменил карту. Когда меняешь карту и возвращаешся обратно к боту за кастом, выдает:automacro HealOnSmile {
console /\[dist=(.*)\] (.*) \((\d+)\): \*(Wave|Fist|Peace|Help|Flag 1|Flag 2|Flag 3|Flag 4|Flag 5|Flag 6|Flag 7|Flag 8|Flag 9)\*$/
sp > 15%
timeout 3
call foo2
}
macro foo2 {
$i = @arg("$.lastLogMsg", 3)
if ($i == (0)) goto ar2
pause 1
do sp 28 @arg("$.lastLogMsg", 3) 10
do sp 28 @arg("$.lastLogMsg", 3) 10
pause 1
do sp 34 @arg("$.lastLogMsg", 3) 10
do sp 29 @arg("$.lastLogMsg", 3) 10
stop
:ar2
pause 1
do sp 28 @arg("$.lastLogMsg", 2) 10
do sp 28 @arg("$.lastLogMsg", 2) 10
pause 1
do sp 34 @arg("$.lastLogMsg", 2) 10
do sp 29 @arg("$.lastLogMsg", 2) 10
stop
}
Другими словами: после смены карты и последующего возващения, бот не обкастовывает и не лечит.[dist=2] Unknown #2004557 <4>: *Wave*
[macro] automacro HealOnSmile triggered.
Error in function 'sp' <Use Skill on Player>
Player 'Unknown' does not exist
Тут собственно трабл.. не успевает "опознать". (подойди поближе, постой секунду две).omfgwtf писал(а):Player 'Unknown' does not exist
Можно конечно немного переделать условие. а именно @arg("$.lastLogMsg", 3) проверять перед выполнением скила. Попробуй использовать "pm" и "pubm". Например..
Код: Выделить всё
automacro res99 {
timeout 15
pubm /res|resu|ressu|ress/
inventory "yggdrasil leaf" > 0
call Ressurection
}
macro Ressurection {
do ip @inventory (yggdrasil leaf) @player ($.lastpub)
}
от РО до шестой палаты - один шаг...
мм.. а где тут агрументы координат?
Код: Выделить всё
console /\[dist=(.*)\] (.*) \((\d+)\): \*(Wave|Fist|Peace|Help|Flag 1|Flag 2|Flag 3|Flag 4|Flag 5|Flag 6|Flag 7|Flag 8|Flag 9)\*$/
от РО до шестой палаты - один шаг...
изменил на вот это:
Пока чар не сменил карту, бот нормально кастует по привату. Как только меняю карту, выдаёт:automacro HealOnSmile {
pm /buff|buf|agi|bless/
timeout 3
call foo2
}
macro foo2 {
$i = @arg($.lastpm)
if ($i == (0)) goto ar2
pause 1
do sp 34 @player($.lastpm) 10
do sp 29 @player($.lastpm) 10
stop
:ar2
pause 1
do sp 34 @player($.lastpm) 10
do sp 29 @player($.lastpm) 10
stop
}
Ник у меня самый простой, никаких значков и т.п., так что не думаю что проблема из-за ника.Error in function 'sp' <Use Skill on Player>
Player '-1' does not exist
- 4epT
- macro-маньячина
- Сообщения: 2792
- Зарегистрирован: Чт дек 21, 2006 1:23 pm
- Сервер RO:: 4game
- Discord: ya4ept#8494
- Контактная информация:
а тут нет координат, тока дистанцияSauron писал(а):мм..а где тут агрументы координат?Код: Выделить всё
console /\[dist=(.*)\] (.*) \((\d+)\): \*(Wave|Fist|Peace|Help|Flag 1|Flag 2|Flag 3|Flag 4|Flag 5|Flag 6|Flag 7|Flag 8|Flag 9)\*$/
Добавлено спустя 3 минуты 17 секунд:
omfgwtf, у тя какой-то галимый кусок макроса, ибо независимо от условия "$i == (0)" он выполняет одно и тоже, так что вполе можешь использовать:
automacro HealOnSmile {
pm /buff|buf|agi|bless/
timeout 3
call foo2
}
macro foo2 {
do sp 34 @player($.lastpm) 10
do sp 29 @player($.lastpm) 10
}
а ты проверь.. пашет как часики..
Добавлено спустя 1 час 27 минут 26 секунд:
Добавлено спустя 1 час 27 минут 26 секунд:
Код: Выделить всё
automacro subload {
run-once 1
call onload
}
macro onload {
$membr1 = хххх
}
automacro aBuff1 {
pm /buff|buf|agi|bless|блес|блесс|аги|баф|бафф|каст/i
timeout 5
call Buff1
}
macro Buff1 {
do sp 34 "$.lastpm" 10
do sp 29 "$.lastpm" 10
$membr1 = $.lastpm
}
automacro aBuff2 {
pubm /buff|buf|agi|bless|блес|блесс|аги|баф|бафф|каст/i
timeout 5
call Buff2
}
macro Buff2 {
do sp 34 "$.lastpub" 10
do sp 29 "$.lastpub" 10
$membr1 = $.lastpub
}
automacro aHeal1 {
pm /hil|heal|вылеч|подлеч|хил|хильни/i
timeout 5
call Heal1
}
macro Heal1 {
$times = @rand (2, 6)
$i = 0
while ($i < $times ) as healloop
do sp 28 "$.lastpm" 10
$i++
end healloop
$membr1 = $.lastpm
}
automacro aHeal2 {
pubm /hil|heal|вылеч|подлеч|хил|хильни/i
timeout 5
call Heal2
}
macro Heal2 {
$times = @rand (2, 6)
$i = 0
while ($i < $times ) as healloop
do sp 28 "$.lastpub" 10
$i++
end healloop
$membr1 = $.lastpub
}
############# благодарности ############
automacro aSenk1 {
pm /спс|спасиб|пасиб|благод|/i
timeout 5
call Senk1
}
macro Senk1 {
if ($.lastpm = $membr1) goto one
goto end
:one
do pm "$.lastpm" @random ("не за что","без проблем","фигня, я самый добрый бот")
:end
}
automacro aSenk2 {
pubm /спс|спасиб|пасиб|благод|/i
timeout 5
call Senk2
}
macro Senk2 {
if ($.lastpub = $membr1) goto one
goto end
:one
do c @random ("не за что","без проблем","фигня, я самый добрый бот")
:end
}
от РО до шестой палаты - один шаг...
Занолить и дэлэйки
Код: Выделить всё
########Вежливость#####
automacro aPlz1 {
pm /спс|cgc|спасиб|пасип|пасяп|пасиб/
timeout 20
call Plz
}
macro Plz {
if ($.lastpm = $membr1) goto one
log не мне
goto end
:one
pause @rand(2,3)
do pm "$.lastpm" @random ("незачто","не жалко)","пажалсто")
:end
$membr1 = хххх
}
automacro aPlz2 {
pubm /спс|cgc|спасиб|пасип|пасяп|пасиб/
timeout 20
call Plz2
}
macro Plz2 {
if ($.lastpub = $membr1) goto one
log не мне
goto end
:one
pause @rand(2,3)
do c @random ("незачто","не жалко)","пажалсто")
:end
$membr1 = хххх
}
Щас сделаю:
Считаю что кгда у приста сп>500 то хил каст он должен делать спокойно... не отказывая
(хватит на папру хилов и обкаст се и пате, излишком можно и заботится об окружающих)
Для монков сп> 410 (так-как останется достаточно для сэлф-хилокастов)
..... туд я его вставлю... хотя не невставлю.. я это на форуме ужэ видед.. покрайней мере тама сам макрос не похал, НО условия выполнялись отменно
А /еще/ у мя автомакросом гонит на хил повторно, эт не проблема какраз
(при совпададении $.lastpm = $membr1)... эмм подделываясь под
Грамотного Саурона (чтоб люди могли тупо копипастить) Буит примерна так (вежливостей)
Считаю что кгда у приста сп>500 то хил каст он должен делать спокойно... не отказывая
(хватит на папру хилов и обкаст се и пате, излишком можно и заботится об окружающих)
Для монков сп> 410 (так-как останется достаточно для сэлф-хилокастов)
..... туд я его вставлю... хотя не невставлю.. я это на форуме ужэ видед.. покрайней мере тама сам макрос не похал, НО условия выполнялись отменно
А /еще/ у мя автомакросом гонит на хил повторно, эт не проблема какраз
(при совпададении $.lastpm = $membr1)... эмм подделываясь под
Грамотного Саурона (чтоб люди могли тупо копипастить) Буит примерна так (вежливостей)
Код: Выделить всё
automacro aHealdopPub {
pubm /еще|еше|хп|снова/
timeout 5
call Heal1dop
}
macro Heal1dop {
if ($.lastpub = $membr1) goto onedop
log не мне
goto oneend
:onedop
pause @rand(1,2)
$times = @rand (1, 3)
$i = 0
while ($i < $times ) as healloop
do sp 28 "$.lastpub" 10
$i++
pause 1
end healloop
:oneend
}
automacro aHealdopPm {
pm /еще|еше|хп|снова/
timeout 5
call Hea2dop
}
macro Heal2dop {
if ($.lastpm = $membr1) goto onedop
log не мне
goto oneend
:onedop
pause @rand(1,2)
$times = @rand (1, 3)
$i = 0
while ($i < $times ) as healloop
do sp 28 "$.lastpm" 10
$i++
pause 1
end healloop
:oneend
}