Лесорубство, Помогите сделать скриптик
11 лет
Ranger
Сообщений: 53
Рег. 17.02.2013
25 февраля 2013 18:46
Сообщение #1
Хочю сделать скрипт чтоб действовал он по принципу простого топора.

Запускаю скрипт
Появляется прицел, прицелом на ствол дерева и герой долбит это дерево до того пока не появится сообщение
'There is nothing here to chop'


sub hatch()
uo.exec('addobject TREE')
while uo.targeting()
wait(100)
wend
UO.DeleteJournal()
repeat
uo.waittargetobject('Tree')
uo.UseObject('0x0f43')
if not uo.lastmessage() == 'There is nothing' then
      while uo.lastmessage() == 'What do you want'
       wait(100)
      wend
      if uo.injournal('You put') then
endif
end sub


Проблема в том что скрипт ненаходит ствол дерева.
Кто небудь поскажите какой командой нужно узнавать его?
Скрипт наполовину из анимал лор :smile3: и лесорубства
Генерал Полковник (31351072)15 лет
Dragonstalker
Сообщений: 4091
Рег. 6.09.2009
25 февраля 2013 18:54
Сообщение #2
берёшь скрипт на ламбер и дёргаешь от туда типы деревьев, не ? или ты просишь написать тебе скрипт ?
Старший Лейтенант (6395350)12 лет
Necromancer
Сообщений: 5530
Рег. 27.08.2012
25 февраля 2013 18:56
Сообщение #3
Цитата: Ownageactivated
берёшь скрипт на ламбер и дёргаешь от туда типы деревьев, не ? или ты просишь написать тебе скрипт ?

ну ты бахнул неподумав
ща напишу
11 лет
Ranger
Сообщений: 53
Рег. 17.02.2013
25 февраля 2013 18:59
Сообщение #4
# by Roneon, #xak@DALnet :)
sub cut_trees()
var walk=6
var v=1
var x
var y
var h
var go
var i
var x0=uo.getx()
var y0=uo.gety()
while not uo.dead()
h=0
for x=-v to v
  for y=-v to v
   for i=3274 to 3302
    uo.deletejournal()
    if uo.PrivateGetTile(uo.getx()+x, uo.gety()+y, -1, i, i) then
     uo.waittargettile(i,uo.getx()+x,uo.gety()+y,uo.getz())
     uo.usetype('0x0F43')
     wait(200)
     if not uo.lastmessage() == 'Тут нечего рубить.' then
      while uo.lastmessage() == 'На что вы хотите это применить?'
       wait(100)
      wend
      if uo.injournal('Вы положили Logs к себе в рюкзак') then
       y=y-1
       h=1
      endif
     endif
    endif
   next
  next
next
if not h then
if uo.getx()<=x0-walk then
  go=39
endif
if uo.getx()>=x0+walk then
  go=37
endif
if uo.gety()<=y0-walk then
  go=40
endif
if uo.gety()>=y0+walk then
  go=38
endif
if not go then
  go=37+uo.random(3)
endif
uo.press(go)
uo.press(go)
uo.press(go)
go=0
endif
uo.deletejournal()
wait(50)
wend
end sub


вот я из этого скрипта взял комманды с сообщениями.
А где эти типы деревьев в скрипте которые нужно взять и куда в скрипт выше вставить?

for x=-v to v
  for y=-v to v
   for i=3274 to 3302
    uo.deletejournal()
    if uo.PrivateGetTile(uo.getx()+x, uo.gety()+y, -1, i, i) then
     uo.waittargettile(i,uo.getx()+x,uo.gety()+y,uo.getz())


вот это помойму то что относится к типам деревьев, но непонимаю что нужно добавлять а что ненужно
Старший Лейтенант (6395350)12 лет
Necromancer
Сообщений: 5530
Рег. 27.08.2012
25 февраля 2013 22:34
Сообщение #5
как-то так, только надо в опциях уо выставить на кнопку LastObject и прописать в var knopka. Если не знаешь как узнать номер кнопки - расскажу. Пробовал без этого - чет не получилось
sub hatch()
   var printcolour = '1069'
   var knopka = 67 ; укажи кнопку, на которую у тебя забит в опциях уо LastObject


   UO.DeleteJournal()
   UO.FindType('0x0f43','-1','backpack')
   if UO.FindCount() > 0 then
      uo.Usetype('0x0f43')
      while uo.targeting()
         wait(100)
      wend
      repeat
         wait(300)
      until uo.injournal('og') or uo.injournal('There is nothing') or uo.injournal('have no line') or uo.injournal('fail') or uo.injournal('see the target')
      repeat
         UO.DeleteJournal()
         uo.Usetype('0x0f43')
         uo.press(knopka)
         repeat
            wait(300)
         until uo.injournal('og') or uo.injournal('There is nothing') or uo.injournal('have no line') or uo.injournal('fail') or uo.injournal('see the target')
      until uo.injournal('There is nothing') or uo.injournal('have no line')
      uo.charprint(printcolour, 'Готово!' )
   else
      uo.charprint(printcolour, 'Положи в пак 2 (!!!) топора' )
   endif
end sub
Старший Лейтенант (6395350)12 лет
Necromancer
Сообщений: 5530
Рег. 27.08.2012
25 февраля 2013 23:01
Сообщение #6
ах, да! в пак положить 1 топора
11 лет
Ranger
Сообщений: 53
Рег. 17.02.2013
25 февраля 2013 23:31
Сообщение #7
Расскажи а то я с этим ещё не сталкивался. спасибо

У меня например ласт обьект на кнопке
strg a
Старший Лейтенант (6395350)12 лет
Necromancer
Сообщений: 5530
Рег. 27.08.2012
25 февраля 2013 23:46
Сообщение #8
Цитата: Mitako
ах, да! в пак положить 1 топора

2 )
Цитата: Betrazen
Расскажи а то я с этим ещё не сталкивался. спасибо

в инже вкладка Script, там Edit Current Script. Сверху в заголовке окна есть Key Code. Ставишь туда таргет, нажимаешь ту кнопку, код которой хочешь узнать. И тыкаешь на стрелку справа. В окне редактирования скрипта появится код )
11 лет
Ranger
Сообщений: 53
Рег. 17.02.2013
26 февраля 2013 17:49
Сообщение #9
Спасибо скрипт работает на 100%

Старший Лейтенант (5006416)15 лет
Администратор
Сообщений: 19675
Рег. 31.07.2009
26 февраля 2013 19:59
Сообщение #10
Не забудьте полностью рабочий скрипт выложить в теме "готовые скрипты", оформив сообщение как там предложено.

--------------------
Старший Лейтенант (6395350)12 лет
Necromancer
Сообщений: 5530
Рег. 27.08.2012
26 февраля 2013 21:46
Сообщение #11
Цитата: Jose Cuervo
Не забудьте полностью рабочий скрипт выложить в теме "готовые скрипты", оформив сообщение как там предложено.

да скрипт как-то и не скрипт вовсе ) мне стыдно такие выкладывать, особенно когда я потом нахожу ошибки в них. Вот сейчас там на инскрипт мой скрипт лежит с ошибкой :(

Старший Лейтенант (5006416)15 лет
Администратор
Сообщений: 19675
Рег. 31.07.2009
26 февраля 2013 21:58
Сообщение #12
Достаточно выложить обновленный без ошибки и попросить меня удалить предыдущий.)

--------------------
Полковник (18345728)11 летИнквизитор
Inquisitor
Сообщений: 3094
Рег. 9.02.2013
26 февраля 2013 22:38
Сообщение #13
Нафиг такой скрипт вообще нужен). Легче забиндить в уо один хоткей LastObject, другой LastObject; LastTarget. Это юзать и то проще))
Старший Лейтенант (6395350)12 лет
Necromancer
Сообщений: 5530
Рег. 27.08.2012
26 февраля 2013 22:57
Сообщение #14
Цитата: Jotun
Легче забиндить в уо один хоткей LastObject, другой LastObject; LastTarget. Это юзать и то проще))

уменьшаешь количество тыков мышкой в 3 раза )
Младший Сержант (355991)11 лет
Dragonstalker
Сообщений: 48
Рег. 14.02.2013
27 февраля 2013 11:29
Сообщение #15
Можно ли написать скрипт что бы после появление фразы 'There is nothing here to chop' происходил автоматический поиск ближайшего дерего, и продолжал рубить?
Старший Лейтенант (6395350)12 лет
Necromancer
Сообщений: 5530
Рег. 27.08.2012
27 февраля 2013 11:40
Сообщение #16
SaeRoS, угу, рекол, выгрузку и ресалку
на форуме Yoko есть подобный скрипт. Рубит то, что видит. Ищите
Полковник (18345728)11 летИнквизитор
Inquisitor
Сообщений: 3094
Рег. 9.02.2013
27 февраля 2013 15:57
Сообщение #17
Цитата: Mitako
уменьшаешь количество тыков мышкой в 3 раза )

я его попробовал, он после каждой вырубки выводит таргет и нужно кликать). какая разница
Старший Лейтенант (6395350)12 лет
Necromancer
Сообщений: 5530
Рег. 27.08.2012
27 февраля 2013 16:08
Сообщение #18
меня попросили - я написал
а количество тыков уменьшает, я за вас тыки с скриптом и без скрипта считать не буду
Генерал Майор (23328337)11 летИнквизитор
Inquisitor
Сообщений: 474
Рег. 10.10.2013
28 октября 2013 06:27
Сообщение #19
странно на работе все норм а дома рубит один раз и открывает пак...
Старший Лейтенант (6395350)12 лет
Necromancer
Сообщений: 5530
Рег. 27.08.2012
28 октября 2013 09:35
Сообщение #20
открывает так? О_О как так? ласт обжект с ласт таргетом не спутали? )
Последние посетители (0):

 
Сейчас: 25 ноября 2024 03:37