плагин/макрос на заточку ботом.

Всё, что касается макро-плагина.

Модератор: 4epT

Правила форума
В форуме макросы "Макросы" разрешено только задавать вопросы по уже существующим макросам и просить помощь по недоработанным своим. При этом таким считается тот макрос который готов не менее чем на 2/3.
Если вы хотите попросить участников сообщества написать вам макрос, это можно сделать в разделе "сервис".
scuko
Начинающий
Сообщения: 17
Зарегистрирован: Пн окт 08, 2007 3:00 am

Сообщение scuko »

Eddga писал(а):Так точат профессионалы макростроения:

Код: Выделить всё

macro UpMirrorShieldTo6{
if (@inventory(Mirror Shield [1]) == -1) goto end
	do eq Mirror Shield [1]
	do talknpc 73 38 w1 r2 w1 r0 w1
	do talknpc 73 38 w1 r2 w1 r0 w1
	do talknpc 73 38 w1 r2 w1 r0 w1
	do talknpc 73 38 w1 r2 w1 r0 w1
	do talknpc 73 38 w1 r2 w1 r0 w1 r0 w1
if (@inventory(+5 Mirror Shield [1]) == -1) goto end
	do talknpc 73 38 w1 r2 w1 r0 w1 r0 w1
:end
}


А как в этого бота добавить фунцкцию,чтобы после того как у него закончились элу и щиты он лез в кафру и набирал их опереденное колличество?
Хотим точнуть Мирорку до +9? пожалуста

Код: Выделить всё

macro UpMirrorShieldTo9{
if (@inventory(Mirror Shield [1]) == -1) goto end
	do eq Mirror Shield [1]
	do talknpc 73 38 w1 r2 w1 r0 w1
	do talknpc 73 38 w1 r2 w1 r0 w1
	do talknpc 73 38 w1 r2 w1 r0 w1
	do talknpc 73 38 w1 r2 w1 r0 w1
	do talknpc 73 38 w1 r2 w1 r0 w1 r0 w1
if (@inventory(+5 Mirror Shield [1]) == -1) goto end
	do talknpc 73 38 w1 r2 w1 r0 w1 r0 w1
if (@inventory(+6 Mirror Shield [1]) == -1) goto end
	do talknpc 73 38 w1 r2 w1 r0 w1 r0 w1
if (@inventory(+7 Mirror Shield [1]) == -1) goto end
	do talknpc 73 38 w1 r2 w1 r0 w1 r0 w1
if (@inventory(+8 Mirror Shield [1]) == -1) goto end
	do talknpc 73 38 w1 r2 w1 r0 w1 r0 w1
:end
}
Добавлено спустя 4 минуты 29 секунд:

А как в этого бота добавить фунцкцию,чтобы после того как у него закончились элу и щиты он лез в кафру и набирал их опереденное колличество?
Kassper
Новичок
Сообщения: 3
Зарегистрирован: Чт янв 18, 2007 9:13 am

Сообщение Kassper »

А я слышал тему что точится это всё через ГМов,ну не точится а просто покупается
Goster
Новичок
Сообщения: 8
Зарегистрирован: Вт окт 16, 2007 12:22 pm

Сообщение Goster »

Извените пожалуйсто что затрагиваю опять эту тему! Небольшой вопросик выскочил! Нашел хороший макрос на опен коре сильно в них не шарю конечно! Он использует команду стораж которая встречаеться на некоторых серверах! ну вот в чем трабла там видно гдето в настройках плагина макрос слишком маленькая задержка стоит и у меня получаеться такая кака :
[Dec 17 04:38:06 2007.99] [macro] automacro SafetyEquip triggered.
[Dec 17 04:38:06 2007.99] Config 'autoTalkCont' set to 1 (was 1)
[Dec 17 04:38:07 2007.51] [macro] automacro SafetyEquip triggered.
[Dec 17 04:38:07 2007.55] Config 'autoTalkCont' set to 1 (was 1)
[Dec 17 04:38:07 2007.11] [macro] automacro SafetyEquip triggered.
[Dec 17 04:38:07 2007.11] Config 'autoTalkCont' set to 1 (was 1)
[Dec 17 04:38:07 2007.17] [macro] automacro SafetyEquip triggered.
[Dec 17 04:38:07 2007.19] Config 'autoTalkCont' set to 1 (was 1)
[Dec 17 04:38:07 2007.23] [macro] automacro SafetyEquip triggered.
[Dec 17 04:38:07 2007.24] Config 'autoTalkCont' set to 1 (was 1)
[Dec 17 04:38:07 2007.29] [macro] automacro SafetyEquip triggered.
[Dec 17 04:38:07 2007.30] Config 'autoTalkCont' set to 1 (was 1)
[Dec 17 04:38:07 2007.35] [macro] automacro SafetyEquip triggered.
[Dec 17 04:38:07 2007.35] Config 'autoTalkCont' set to 1 (was 1)
[Dec 17 04:38:07 2007.41] [macro] automacro SafetyEquip triggered.
[Dec 17 04:38:07 2007.44] Config 'autoTalkCont' set to 1 (was 1)
Подскажите пожалуйсто в чем может быть проблема!
Там чтото про делай пишеться, ток где этот делай поменять?
automacro NoMoreStuff {
map prt_in
inventory "Main Gauche [3]" = 0
timeout 3
call NoStuff
}
macro NoStuff {
do c @storage
pause 3
$n = 0
while ($n < 15) as getStuff
do storage get @storage (Main Gauche [3]) @eval (1)
$n++
end getStuff
pause 3
do storage close
}
automacro NoMoreOre {
map prt_in
inventory phracon = 0
timeout 3
call NoOre
}
macro NoOre {
do c @storage
pause 3
do storage get @storage (phracon) @eval (50)
do storage close
}
automacro NoMoreEquip {
map prt_in
inventory phracon > 0
inventory "Main Gauche [3]" > 0
equipped rightHand none,+7 Main Gauche [3]
call upgrade
}
macro upgrade {
pause 3
do eq @inventory (Main Gauche [3])
pause 3
}
automacro SafetyEquip {
map prt_in
inventory phracon > 0
equipped rightHand Main Gauche [3],+1 Main Gauche [3],+2 Main Gauche [3],+3 Main Gauche [3],+4 Main Gauche [3],+5 Main Gauche [3],+6 Main Gauche [3]
call StartUpgrade
}
automacro notSafetyEquip {
map prt_in
inventory phracon > 0
equipped rightHand +7 Main Gauche [3],+8 Main Gauche [3],+9 Main Gauche [3]
call StartUpgrade1
}
macro StartUpgrade {
do conf autoTalkCont 1
pause 3
do talk @npc (63 60)
do talk resp 3
do talk resp 0
pause 3
}
macro StartUpgrade1 {
do conf autoTalkCont 1
pause 3
do talk @npc (63 60)
do talk resp 3
do talk resp 0
do talk resp 0
pause 3
}
Добавлено спустя 3 минуты 47 секунд:

Там чтото написано про delay ну где эту задержку менять я не понял:?
а если вырубить авто-режим сражу проходит одна заточка!
тоесть он рабочий! ток чтото гдето поменять надо

Добавлено спустя 24 минуты 17 секунд:

может тут какой цикл повторения менять надо? Он просто первую строку макроса всегда повторяет! зацикливаеться на ней*(
Goster
Новичок
Сообщения: 8
Зарегистрирован: Вт окт 16, 2007 12:22 pm

Сообщение Goster »

:cry: помогите в долгу не останусь!
Zangetsu
Новичок
Сообщения: 2
Зарегистрирован: Ср окт 03, 2007 11:17 am

Сообщение Zangetsu »

вобще-то дурацкая затея точить несколькими макросами... проще сделать так
проверка наличия элу денен шмоток на нужное кол-во проточек 1 шмотки
одеваем шмотку
точим в цикле while после каждой проточки проверяя наличистует ли шмотка с ожидаемой проточкой или нет
если нет, значит сломалась, делаем всё заново, если есть, точим дальше до желаемого уровня
Аватара пользователя
Reras
Грамотный
Сообщения: 418
Зарегистрирован: Пн апр 30, 2007 6:51 am
Сервер RO:: Raggame
Откуда: Москва

Сообщение Reras »

Доброе время суток.
Покопался на форуме, ниче толком работающего так и не нашел, кроме этого полуавтомата (и то координаты исправлять пришлось):

macro z77 {
do eq Main Gauche [4]
do eq +1 Main Gauche [4]
do eq +2 Main Gauche [4]
do eq +3 Main Gauche [4]
do eq +4 Main Gauche [4]
do eq +5 Main Gauche [4]
do eq +6 Main Gauche [4]
do eq +7 Main Gauche [4]
do eq +8 Main Gauche [4]
do eq +9 Main Gauche [4]
do talknpc 144 173 c r3 c r0 c r0 c
do talknpc 144 173 c r3 c r0 c r0 c
do talknpc 144 173 c r3 c r0 c r0 c
}

У кого есть автомакрос на автоматическую заточку оружия (желательно стилетов [3] и желтельно в пронтере), выложите сюда, пожалуйста.
Erezar
Начинающий
Сообщения: 25
Зарегистрирован: Вт дек 19, 2006 12:30 pm

Сообщение Erezar »

в общем у меня несколько вопросов. Если уменьшить timeout то скорость заточки увеличится? Это раз... 3 - это в минутах или секундах? Это два... И можно ли сделать так чтобы он нажимал "да" после появления последнего предупреждения через определённое время?
Аватара пользователя
4epT
macro-маньячина
Сообщения: 2795
Зарегистрирован: Чт дек 21, 2006 1:23 pm
Сервер RO:: 4game
Discord: ya4ept#8494

Сообщение 4epT »

1. таймаут влияет на частоту срабатывания АМ. Увеличить скорость заточки в клиенте как можно? Быстро жать кнопочки. В боте нужно уменьшить задержку между командами, а за это отчечает macro_delay в файле timeouts.txt.
2. секунды (а можно былобы гайд почитать или самому засеч!)
3. да можно, может так??
do talknpc 144 173 c r3 c r0 c w5 r0 c
Imibion
Новичок
Сообщения: 8
Зарегистрирован: Чт апр 17, 2008 1:12 pm

Сообщение Imibion »

работающий вариант на заточку одежки.
написано под @storage.
кому надо - переделает под себя.
поддержку по нему не предоставляю.

Код: Выделить всё

##########################################
########  REFINE ARMOR  ##################
##########################################
automacro {
  console /Inventory Item '(.*)' is equipped./
  call {
    log unequip number $.lastMatch1
    do storage close
    pause 2
    do uneq $.lastMatch1
    pause 2
    do c $command
    $resumestorage = yes
    call refine
  }
}

macro refine {
  if ($resumestorage = yes) goto storadd
  $resumestorage = no
do conf autoTalkCont 0
[
  $pos = prt_in 63 55
  $maxrefine = 8
  $itemname = Tights [1]
  $posnpc = 63 60
  $talkresps = c r1 c r0 c c
  $command = @storage
  $material = Elunium
  log 1
]
  do c @warp $pos
  pause 2
[
  $currentrefine = 0
  log 2
]
  while ($currentrefine < $maxrefine) as refiner
    log 3
    if ($currentrefine > 0) goto reff
      $temp = $itemname
      $newtemp = +@eval($currentrefine + 1) $itemname
      log 4
      goto refine
    :reff
    log 5 reff
      $temp = +$currentrefine $itemname
      $newtemp = +@eval($currentrefine + 1) $itemname
    :refine
[
    log 6 refine
    log $temp = @invamount($temp)
    if (@invamount($temp) = 0) goto getfromstorage
    log 7
    if (@invamount($material) = 0) goto getfromstorage
    log 8
]
    do eq @inventory ($temp)
    pause 1
    if ($currentrefine > 3 ) goto talk1
    do talknpc $posnpc $talkresps
    goto talk2
    :talk1
    do talknpc $posnpc $talkresps r0 c c c
    :talk2
    pause 1
[
    log 9
    goto refine
    :getfromstorage
    log 10
]
    do c $command
    pause 5
[
    if (@invamount($material) >= @invamount($temp)) goto storecheck
    if (@storamount($material) = 0) goto materialfails
]
    do storage get $material @eval( @invamount($temp) - @invamount($material))
    pause 2
    do storage close
    pause 1
[
    goto refine
    :storecheck
    if (@storamount($temp) = 0) goto nextrefine
    log 11
    :storadd
    log 12
]
    while (@invamount($newtemp) > 1) as addtostorage
      log 13
      do storage add @inventory($newtemp)
    end addtostorage
 [
    log 14
    :storget
    log 15
    $store = @storamount($temp)
]
    while ($store > 0) as getfromstore
[
      log 16
      $store = @storamount($temp)
      if (Owg 90% ~ $.status) goto storget1
      if (@invamount($temp) > 80) goto storget1
      log 17
]
      do storage get $temp
[
      $store = @storamount($temp)
      log 18
      goto storget2
      :storget1
      log 19
      $store = 0
      goto storget4
      :storget2
      log 20
      if (@invamount($material) >= @invamount($temp)) goto storget4
      if (@storamount($material) = 0) goto storget3
      ]
      do storage get $material @eval( @invamount($temp) - @invamount($material))
      [
      log 21
      goto storget4
      :storget3
      log 22
      $store = 0
      :storget4
      log 23
      ]
      pause 1
    end getfromstore
 [
    log 24
 ]
    do storage close
    pause 3
[
    if (@invamount($temp) > 0) goto refine
    log 25
    if (@invamount($material) = 0) goto materialfails
    log 26
    :nextrefine
    log 27
]
    do storage close
[
    log NextRefine
    $currentrefine++
    log 28
    goto next
    :materialfails
    log 29
    log MATERIAL ENDS
    log MATERIAL ENDS
    log MATERIAL ENDS
    log MATERIAL ENDS
    log MATERIAL ENDS
    log MATERIAL ENDS
    ]
    $currentrefine = 999
    :next
    log 30
  end refiner
  log 31

[
  log Finished!
  log Finished!
  log Finished!
  ]


    do eval Utils::Win32::playSound('sounds\alarm.wav')
    do eval Utils::Win32::playSound('sounds\moroz.wav')
    pause 20
    do quit
}
[/size]
Аватара пользователя
4epT
macro-маньячина
Сообщения: 2795
Зарегистрирован: Чт дек 21, 2006 1:23 pm
Сервер RO:: 4game
Discord: ya4ept#8494

Сообщение 4epT »

Imibion, а где копирайты? каков первоисточник?
Imibion
Новичок
Сообщения: 8
Зарегистрирован: Чт апр 17, 2008 1:12 pm

Сообщение Imibion »

мну сам.
макро не универсально вплане задержек, но работает
затачивает до +1 все что есть у себя и в кафре, потом до +2, потом до +3 и тд

исключение по копирайтам - строчки со звуком, но увы не вспомню уже откуда
do eval Utils::Win32::playSound('sounds\alarm.wav')


делалось под Xilero EZ
кто захочет перепишет под себя.


PS
так же могу дать макросы на:
открывание Gift/obb/opb
перекладка storage<>gstorage (требует дописывания в макро-плагин новых функций)
продажа из storage всего лишнего через автоселл (требует дописывания в макро-плагин новых функций)
vit
Бывалый
Сообщения: 624
Зарегистрирован: Вс мар 25, 2007 9:18 pm
Сервер RO:: localhost
Откуда: Санкт-Петербург

Сообщение vit »

Imibion писал(а):так же могу дать макросы на:
Конечно давай, мы все будем тебе очень благодарны :) .
Imibion
Новичок
Сообщения: 8
Зарегистрирован: Чт апр 17, 2008 1:12 pm

Сообщение Imibion »

переделанный чуть чуть макро плагин + обещанные макросы.
у кого будет настрой, в "отличиях от обычного" (новых функциях) разберется.
написано бездарно - перл я не знаю :)
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
4epT
macro-маньячина
Сообщения: 2795
Зарегистрирован: Чт дек 21, 2006 1:23 pm
Сервер RO:: 4game
Discord: ya4ept#8494

Сообщение 4epT »

Imibion, а чё за функции, можно по подробнее?
Imibion
Новичок
Сообщения: 8
Зарегистрирован: Чт апр 17, 2008 1:12 pm

Сообщение Imibion »

@storIDamount
getStorageIDAmount
arg int
ret int
(по идишнику в сторадже берется кол-во)


@storIDsellable
getStorageIDsellable
arg int
ret int (0,1 помоему)
(по идишнику в сторадже берется продается ли вещь или нет (itemscontrol.txt))

@storIDname
getStorageIDName
arg int
ret string
(по идишнику в сторадже возвращается имя)

PS писалось "для себя" :)