Перейти к содержанию
Форум шарда Middle-Earth
Авторизация  
poncha

проблема со скриптом

Рекомендуемые сообщения

помогите разобраться что я делаю не так...

идея такая:

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

2. ищем в паке еду

3. если таковой нет, то раз в минуту напоминаем что надо достать еды (пока еда не появится или не умрем - тут как вариант думаю сделать чтобы происходил логаут, но не факт что очень надо).

4. дальше ищем в паке ключевое слово на голод (тут кстати загвоздка - я посмотрел сколько разных фраз бывает и одного слова которое бы было во всех нету. есть ли в инжекте поддержка регулярных выражений? а то очень не хочется много или-или-или писать ))

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

6. после этого журнал обнуляется и ждем дальше

 

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

 

могу конечно тупо жрать еду каждые N минут, но легкий путь ведь это не для нас? :)

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

 

sub autofood()
var foodType = '0x097B'; # 0x097B: fishsteaks
var hasFood = 0; # this will hold an amount of foodType found..
var foodWaitTime = 1000; # how much to wait between feedings

var warningInterval = 600; # 60 seconds (OU.Timer() returns amount in 0.1 second units)
var warningTimer = 0; # last warning timer

var matchHungry = 'голод'; # a word to match hunger
var matchNotHungry = 'неголод'; # a word to match we're no longer hungry
var isHungry = 1;

while not UO.Dead()
	repeat
		UO.FindType(foodType,-1,'my'); # count food in backpack
		hasFood = UO.FindCount(); 
		if hasFood == 0 then
			if warningTimer < UO.Timer() - warningInterval then
				UO.print('You are out of food!');
				warningTimer = UO.Timer(); # reset warning timer
			endif
			wait(10000); # wait 10 seconds
		endif
	until hasFood > 0

	if UO.InJournal(matchHungry) > 0 then
		isHungry = 1; # someone's hungry!
	endif

	while isHungry == 1 and hasFood > 0
		UO.print('Fish.. fish... FIIIIISH!');
		UO.UseType(foodType); # lets eat

		hasFood = hasFood - 1; # decrement the amount of food so we don't try to eat air

		if UO.InJournal(matchNotHungry) > 0 then
			isHungry = 0; # we're no longer hungry!
			UO.DeleteJournal(); # clear the journal so we don't get fooled into idea that we still require food
		else
			wait(foodWaitTime); # wait before eating again!
		endif
	wend

	if isHungry == 1 then
		UO.print('Still hungry! hurry up! get some food!');
	endif

	wait(foodWaitTime);
wend

UO.print('You are dead!')
end sub

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну во первых если посмотреть командой ,showjournal инжект не понимает серверных сообщений на русском, в журнале они отображаются кракозябликами. Во вторых фразы при голоде совершенно рандомные, а в третих все это - лишний геморрой. прокачай своему рогу хп выше 30 и не умрешь с голоду никогда.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Ну во первых если посмотреть командой ,showjournal инжект не понимает серверных сообщений на русском, в журнале они отображаются кракозябликами. Во вторых фразы при голоде совершенно рандомные, а в третих все это - лишний геморрой. прокачай своему рогу хп выше 30 и не умрешь с голоду никогда.

 

спасибо за инфу)

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

ппц ты намудрил с кодом)

var food='0x097B'    # Тип еды, которую будем кушать в процессе.
                    # '0x097B' - жаренная рыба
                    # '0x09F2' - жаренное мясо
                    # '0x171F' - бананы
Sub eda()
uo.findtype(food)
if uo.findcount() then
    uo.usetype(food)
else
    uo.print("Нет еды!")
endif
wait(1000)
end sub

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
Авторизация  

×
×
  • Создать...