Page 2 of 3

Re: Правка скрипта...

Posted: 2013-02-09 00:22:19
by tylllkah
еще возникает проблема с командой

Code: Select all

uo.exec('exec chtoto')

иногда запускает сразу два, как быть?
через

Code: Select all

chtoto()

не запускается

Re: Правка скрипта...

Posted: 2013-02-09 20:20:08
by ZeroDX
uo.exec('exec chtoto') а для встроенных функций второй exec не нужен

Re: Правка скрипта...

Posted: 2013-02-10 10:39:43
by Nmy
tylllkah wrote:почему не правильно?

Code: Select all

if uo.life < 175 or uo.InJournal('In Sanct Ylem') or uo.InJournal('In Ex Grav') or uo.InJournal('In Sanct Grav') then
uo.exec('exec control')
endif

в данном отрывке иногда контрол включается два раза что это может быть?


либо журнал не удалил, либо хп ниже 175

Re: Правка скрипта...

Posted: 2013-02-10 20:21:55
by tylllkah
Mirage wrote:Лучше всего написать по английски. Другие языки инжект не особо понимает.


PS Мы друг друга видимо окончательно перестал понимать.
Когда же ты сообразишь что чтобы получить нормальный ответ надо нормально задать вопрос?
"Здравствуйте, у меня ВОТ В ЭТОМ СКРИПТЕ (и ниже идет не название, не 1-3 строки а ЦЕЛЫЙ НЕ РАБОТАЮЩИЙ скрипт) такие то проблемы, как это можно поправить?"
И тебе ответят что вот в ЭТОМ месте сделай то-то и то-то, а вот там нафиг все сотри. И будет все работать.
По возможности написать что именно ты хочешь в результате получить от скрипта - пример с открыванием ворот как раз показывает как не нужно просить помощи. Понадобилось 2 страницы чтобы получить более менее работающий вариант.

скрипт

проблема в том что он запускает сразу два скрипта когда его атакуют или когда он ресаться бежит, помогите пожалуйста

Re: Правка скрипта...

Posted: 2013-02-10 20:46:10
by ZeroDX

Code: Select all

sub control() # если вас отаковали или пытаются заблокировать выход, чар бежит от пка, в данный момент на корабль
uo.DeleteJournal()
UO.Warmode(0)
uo.msg('\w Kot: Я АТАКОВАН!!!')
wait(700)                                                    =====================================================================
uo.msg('\w Rekoshet: Я АТАКОВАН!!!')
UO.Warmode(0)
uo.canceltarget()
UO.Warmode(0)
uo.exec('terminate maning')                            =====================================================================
UO.Warmode(0)
wait(350)
uo.exec('terminate maning')


перенести терминэйты в начало процедуры, до wait(700)

Re: Правка скрипта...

Posted: 2013-02-10 21:38:59
by Mirage
Пробуй вот так

Code: Select all

sub control() # если вас отаковали или пытаются заблокировать выход, чар бежит от пка, в данный момент на корабль
   uo.exec('terminate maning')
   uo.canceltarget()
   uo.DeleteJournal()
   uo.msg('\w Kot: Я АТАКОВАН!!!')
   wait(100)
   uo.msg('\w Rekoshet: Я АТАКОВАН!!!')
   wait(100)
   while not UO.Hidden()
      UO.Warmode(0)
      uo.print("Прячемся...")
      UO.UseSkill("Hiding")
      wait(2500)
   wend
   loot2()
   wait(700)
   loot()
   wait(700)
   uo.exec('exec maning')
end sub

PS скрипт конечно не айс. Много не очень хороших кусков. Откосметим.

Re: Правка скрипта...

Posted: 2013-02-10 22:34:59
by Mirage
ну так ты приводи его в порядок. Даже косметику сделать - уже процентов 30 стабильности получишь.

Code: Select all

UO.Warmode(0)
uo.msg('\w Rekoshet: Я Убит!!!')
wait(700)
uo.msg('\w Kot: Я Убит!!!')
UO.Warmode(0)

гдето есть паузы где то нет.
uo.exec('terminate по нескольку раз передергиваешь
Типы без кавычек.

Code: Select all

UO.UseSkill("Hiding") ; спрятался 
wait(2500) ;  ждешь 2,5 секунды
wend
wait(3000) ; зачем то еще 3 секунды ждешь - видимо наверняка чтобы?
loot2()

у лута то есть пауза то нет паузы...

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

Re: Правка скрипта...

Posted: 2013-02-11 00:30:04
by tylllkah
Mirage wrote: uo.exec('terminate по нескольку раз передергиваешь
Типы без кавычек.

1 несколько раз потому что с первого не работает
2 некоторые типы без ковы чек потому что Var задан с кавычками иначе не работает...

Re: Правка скрипта...

Posted: 2013-02-11 06:53:20
by Mirage
массивы это тоже VAR, и тем не менее.

Re: Правка скрипта...

Posted: 2013-02-12 07:00:44
by Mirage
Красава. Сам разбираешься со своими проблемами.

И еще раз пишу. Очень сложно помогать когда ошибка находится в голове а не на экране монитора.
"Вот скрипт, я там КОЕ ЧТО переработал (но не покажу) и это у меня не работает - почему? О_о" - Потому что гладиолус.
В общем тему я очищаю от всего не нужного и мало внятного.

ЕСЛИ СКРИПТ CHTOTO() НЕ ЗАПУСКАЕТСЯ И ХОЧЕШЬ ЧТОБЫ ТЕБЕ ПОМОГЛИ - ПОКАЖИ ЭТО СКРИПТ НА ФОРУМЕ!
В противном случае темы будут игнорироваться и переноситься в треш.

Так понятней?

Re: Правка скрипта...

Posted: 2013-02-13 14:38:26
by tylllkah
Mirage wrote:Красава. Сам разбираешься со своими проблемами.

И еще раз пишу. Очень сложно помогать когда ошибка находится в голове а не на экране монитора.
"Вот скрипт, я там КОЕ ЧТО переработал (но не покажу) и это у меня не работает - почему? О_о" - Потому что гладиолус.
В общем тему я очищаю от всего не нужного и мало внятного.

ЕСЛИ СКРИПТ CHTOTO() НЕ ЗАПУСКАЕТСЯ И ХОЧЕШЬ ЧТОБЫ ТЕБЕ ПОМОГЛИ - ПОКАЖИ ЭТО СКРИПТ НА ФОРУМЕ!
В противном случае темы будут игнорироваться и переноситься в треш.

Так понятней?

Миражик, я просто привел пример, так как у меня несколько скриптов которые в скипте включаются через uo.exec и при этом, у меня иногда два раза включает вместо одного.
и по поводу отправить, я не жадный но любители добычи будут убивать(((

Re: Правка скрипта...

Posted: 2013-02-13 14:54:06
by tylllkah
Скрипт на сообщение о элеме

Code: Select all

################################################
#####      Сообщение основе о елементе     #####
################################################
sub pwav() ; Элемент
uo.msg("\w Kot: ELEMENT!!!") # Вместо Kot и Rekoshet  пишем свои ники
wait(700)
uo.msg("\w Rekoshet: ELEMENT!!!")
wait(2500)
if uo.InJournal('Black Rock Elemental') or uo.InJournal('Obsidian Elemental') or uo.InJournal('Plutonium Elemental') or uo.InJournal('Dragon Elemental') or uo.InJournal('Crystaline Elemental') or uo.InJournal('Krynite Elemental') or uo.InJournal('Vulcan Elemental') or uo.InJournal('Sand Rock Elemental') or uo.InJournal('Blood Crest Elemental') or uo.InJournal('Steel Elemental') or uo.InJournal('Elvin Elemental') or uo.InJournal('Gorgan Elemental') or uo.InJournal('Acid Elemental') or uo.InJournal('Aqua Elemental') or uo.InJournal('Eldar Elemental') then
uo.msg("\w Kot: ВЫХА ELEMENT!!!")
wait(700)
uo.msg("\w Rekoshet: ВЫХА ELEMENT!!!")
end if
wait(500)
endsub


Скрипт на палево людей которые находится в пределе 25х25, но не повторяя которые были

Code: Select all

sub main()
   var self = 'self', name, telo
   uo.deletejournal()
   uo.set('finddistance',25)
   uo.ignore(self)
   repeat
      uo.findman()
      if uo.findcount() then
         telo = UO.GetSerial('finditem')
         UO.Click(telo)
         wait(1000)
         name = UO.GetName(telo)
         uo.msg('\w Rekoshet: '+ name +'')
         wait(3000)
      endif
      wait(500)
   until not uo.dead()   
end sub


Вопрос, что нужно изменить во втором скрипте, чтобы он видел элема и писал что за элем, но не через условие, когда он видит в журнале, что появился элемент

Re: Правка скрипта...

Posted: 2013-02-13 15:42:49
by Mirage
Можно сделать следующее:

пока чар жив
поиск типа элементаля на земле
если нашли - проверяем цвет из массива цветов. Если соответствует то сообщаем цвет (из массива) в чат.


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

Чуть позже посмотрю как лучше сделать скрипт - сейчас работы много.


Тебе надо чтобы проверка шла постоянно как с поиском человека или разово - вызываной функцией - как с елементалями в твоем скрипте?

Re: Правка скрипта...

Posted: 2013-02-13 15:55:48
by tylllkah
Mirage wrote:Можно сделать следующее:

пока чар жив
поиск типа элементаля на земле
если нашли - проверяем цвет из массива цветов. Если соответствует то сообщаем цвет (из массива) в чат.


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

Чуть позже посмотрю как лучше сделать скрипт - сейчас работы много.


Тебе надо чтобы проверка шла постоянно как с поиском человека или разово - вызываной функцией - как с елементалями в твоем скрипте?

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

Re: Правка скрипта...

Posted: 2013-02-13 17:33:00
by Mirage
Ну не выдирай...

Code: Select all

################################################
#####      Сообщение основе о елементе     #####
################################################
sub pwav() ; Элемент
   var name_elem = 'Black Rock|Sand Rock|Obsidian|Plutonium|Dragon|Crystaline|Krynite|Vulcan|Blood Crest|Steel|Elvin|Gorgan|Acid|Aqua|Eldar' ; а можно вместо первых двух слово Rock оставить.
   uo.msg("\w Kot: ELEMENT!!!") # Вместо Kot и Rekoshet  пишем свои ники
   wait(300)
   uo.msg("\w Rekoshet: ELEMENT!!!")
   wait(300)
   if uo.InJournal( name_elem ) then
;   uo.deletejournal() ; у тебя нет, но мало ли...
      uo.msg("\w Kot: ВЫХА ELEMENT!!!")
      wait(300)
      uo.msg("\w Rekoshet: ВЫХА ELEMENT!!!")
      wait(300)
   end if
endsub

Re: Правка скрипта...

Posted: 2013-02-13 19:50:51
by tylllkah
может я опять не правильно выразился, нужно стобы когда он выкапывал элемента, не руду, говорил что он выкапал, но в отличи от нынешнего, когда он выкапывает высшего элемента он кречит выха, нужно чтоб он на всех реагировал и писал кого конкретно он выкапал, по этому я привел пример с палилкой, но не знаю как её изменить тип элемов 0x0010

Re: Правка скрипта...

Posted: 2013-02-13 19:52:55
by tylllkah
проблема с ходилкой, пробывал ставить клоз гай в конце перед венд, очень чудит, и ногда становится на месте и все, убрал, но проблема с открытой дверью почти решил, но когда они выбигают дверь на распажку вечно...

Re: Правка скрипта...

Posted: 2013-02-13 19:58:38
by Mirage

Code: Select all

sub main()
   var elem_type =  '0x0010'
   var name, elem
   uo.set('finddistance',25)
   uo.FindType(elem_type, -1, 'ground')
   if uo.findcount() then
      elem = UO.GetSerial('finditem')
      UO.Click( elem )
      wait(1000)
      name = UO.GetName( elem )
      uo.msg('\w Rekoshet: '+ name +'')
      wait(3000)
   endif
end sub


клоусай в точке координат.

if uo.GetX()==654312 and uo.GetY()==1235 then
закрыть дверь.

Так и с открыванием можно сделать.

Re: Правка скрипта...

Posted: 2013-02-13 20:06:59
by tylllkah
Mirage wrote:

Code: Select all

sub main()
   var elem_type =  '0x0010'
   var name, elem
   uo.set('finddistance',25)
   uo.FindType(elem_type, -1, 'ground')
   if uo.findcount() then
      elem = UO.GetSerial('finditem')
      UO.Click( elem )
      wait(1000)
      name = UO.GetName( elem )
      uo.msg('\w Rekoshet: '+ name +'')
      wait(3000)
   endif
end sub



стало интересно, скачал уроки по инже с вашего форома, заинтересовал вопрос в скрипте

Code: Select all

sub MyMessage()
   VAR i = 1
   VAR mymessage1 = 'Hello, Shard!', mymessage2 = "I go!"
   If i == 1 Then
      UO.Say( mymessage1 )
   Else
      UO.Say( mymessage2 )
   Endif
endsub

почему при i =1 он пишет первую месагу???

клоусай в точке координат.

if uo.GetX()==654312 and uo.GetY()==1235 then
закрыть дверь.

Так и с открыванием можно сделать.

Re: Правка скрипта...

Posted: 2013-02-13 20:10:28
by tylllkah
Mirage wrote:клоусай в точке координат.

if uo.GetX()==654312 and uo.GetY()==1235 then
закрыть дверь.

Так и с открыванием можно сделать.


разобрался