Проверка скрипта на запуск, Нужна команда |
Проверка скрипта на запуск, Нужна команда |
Сообщений: 70 Рег. 14.11.2012 |
10 ноября 2014 10:34
Сообщение #1
|
Вопрос к гуру инжекта, пошарился по гуглу, по форуму, но не могу найти ни пример ни ответ на вопрос, есть ли в инже команда, которая проверяет запущен ли в данный момент тот или иной скрипт, на подобие GMStep'a. Как я понимаю ГМ-степ это фишка сферы, как глобальное свойство перса, а не команда из инжи. Так вот, хотелось бы узнать: 1) Существует ли в инже возможность встраивания в скрипт проверки на наличие уже запущенной версии оного(что-бы в панике накручивая скролл крысы не запустить 20-30 UO.Cast('Magic Arrow','self') например). Если да, то что за команда, по возможности пример использования. 2) Существует ли в инжекте возможность поставить запущенный скрипт на паузу, что бы к примеру успеть подбросить регов в сундук при крафте скролов и т.п. Если да, то что за команда, по возможности пример использования. 3) Если впаять в скрипт команду uo.setglobal('Pause','On'), она будет действовать только на тот скрипт в котором записана, или на все запущенные в данный момент в инжекте? Всем заранее спасибо! Из поста Mirage на http://forum.yoko.com.ua/viewtopic.php?f=18&t=16733 почерпнул кое что полезное, но прикрутить под свои нужды что-то не выходит((( |
|
|
|
10 ноября 2014 10:45
Сообщение #2
|
|
Beholder, ты сам отвечаешь на свои вопросы :) Цитата: Beholder 1) Существует ли в инже возможность встраивания в скрипт проверки на наличие уже запущенной версии оного Цитата: Beholder 3) Если впаять в скрипт команду uo.setglobal('Pause','On') в скрипте автостарта ты глобалку обнуляешь. Затем перед действием ставишь глобалку = 1, после действия =0. Соответственно при запуске скпта прикручиваешь проверку на нулевую глобалку. Если глобалка 0, то переводим ее в 1, делаем действие и обнуляем. Если глобалка не ноль, то завершаем скрипт без действия. Цитата: Beholder 3) Если впаять в скрипт команду uo.setglobal('Pause','On'), она будет действовать только на тот скрипт в котором записана, или на все запущенные в данный момент в инжекте? на все в старом инжекте, а вот в новом - хз, я не помню |
|
|
|
Сообщений: 3319 Рег. 19.11.2013 |
10 ноября 2014 10:51
Сообщение #3
|
на все. глобалка прописывается в файлах инжекта а не в самом скрипте => что даже прии перезапуске она сохраняет свое значение пока не будет изменена. |
|
|
|
10 ноября 2014 11:05
Сообщение #4
|
|
Mirage, а встроенные паузы в новом? я это имел ввиду ) |
|
|
|
Сообщений: 70 Рег. 14.11.2012 |
10 ноября 2014 11:31
Сообщение #5
|
Цитата: Mitako ты сам отвечаешь на свои вопросы :) , это речь идет о паузах в работе самого инжекта, но это топорный вариант того, что я хочу сделать.Впаяв в скрипт паузу от Миража if uo.getglobal('Pause')=='On' then repeat wait (500) until uo.getglobal('Pause')=='Off' endif sub PauseOn() uo.setglobal('Pause','On') endsub sub PauseOff() uo.setglobal('Pause','Off') uo.print('Пауза выключена!') endsub я получу возможность ставить всю инжу на паузу, а я бы хотел поставить на паузу 1 только скрипт. Кроме того, я так и не понял как замутить проверку на предмет того, что скрипт ужезапущен, что бы избежать задвоения((( Я не особо крут в коде, так что очевидные для тебя вещи, мне могут показаться астрономией! ;) |
|
|
|
Сообщений: 3319 Рег. 19.11.2013 |
10 ноября 2014 13:03
Сообщение #6
|
варианты применения два: 1) скрипт на лут. В autostart прописывается Sub autostart() uo.setGlobal("running",1) end sub в резке в самом начале проверка на запуск. Sub REZ() UO.Set('quiet','1') if val(uo.getGlobal('running'))==1 then uo.setGlobal('running',2) ;uo.ignorereset() uo.findtype(body, -1, 'ground', 2) бла бла блда endif uo.setGlobal('running',1) UO.Set('quiet','0') end sub если 1 то меняем значение на 2 и режем. В конце меняем опять на 1. Если вдруг скрипт во время запуска запустить еще раз то он не запустится так как значение не равно 1. 2) с паузой то что ты написал только не совсем так Цитата: Beholder я получу возможность ставить не ВСЮ инжу а скрипт где ты будет эту проверку использовать. Если у тебя запускается 3 скрипта например в параллель рыболов, скан на ПК, скан жизней (не из 1 скрипта а именно параллельно), в скрипте на мининг у тебя будет првоерка на паузу - как ты написал, а в скрипте на ПК будет задаваться pauseON при появлении убийцы. в добыче сработает пауза а сканер и лечилка продолжат работать. как то типо так UO.DeleteJournal() UO.WaitTargetTile(Tiles, mX+X, mY+Y, mZ) Tools() LastTimer=UO.Timer() repeat wait( delay1 ) if uo.getglobal('Pause')=='On' then repeat wait (500) until uo.getglobal('Pause')=='Off' endif until UO.InJournal( allmsg ) || UO.Timer()>LastTimer+delay2 || UO.Weight > MaxVes || UO.Dead() насчет запауженвания новыми средствами - не использовал. Надо обновить знания. Если будет инфа - расскажу. |
|
|
|
Сообщений: 70 Рег. 14.11.2012 |
10 ноября 2014 13:18
Сообщение #7
|
Спасибо! |
|
|
|
Сейчас: 24 ноября 2024 20:02 |