| Yoko http://forum.yoko.com.ua/ |
|
| Поесонинг http://forum.yoko.com.ua/viewtopic.php?f=20&t=1345 |
Page 1 of 1 |
| Author: | Gerrduke [ 2004-09-11 20:46:23 ] |
| Post subject: | Поесонинг |
# Скрипты на поисонинг, версия 0.1 # © ZD aka [BaD]SensaDue) # P.S. Некоторые скрипты используют особенность шарда DreamWorld (POL) # и должны быть адаптированы для исопльзования на других шардах # ------------ НАСТРОЙКИ СКРИПТА var zd_poison_kegs_container="0x65FB269C"; var zd_empty_kegs_container="0x670F6EDF"; var zd_poison_object="0x67AB163A"; # ---------- ОБЪЯВЛЕНИЕ ТИПОВ var food=0x097B; var keg=0x1940; var deadly_poison_potion=0x0F0A; var empty_bottle=0x0F0E; # ---------- ОБЪЯВЛЕНИЕ ВНУТРЕННИХ ПЕРЕМЕННЫХ # Режим отладки: inject/client/off var zd_debug_mode="inject"; # Время таймаута в 1/10 с var zd_timeout_delay=100; var zd_stuck_timer=0; # Интервал между какими-либо вспомогательными действиями, # совершаемыми клиентом. Например при кликах мышкой и т.п. # Обычно нужен, что дождаться ответа от сервера. Рекомендуемое значение 1000-1500 # Устанавливается в миллисекундах, т.е. 1000=1 сек var zd_pause_delay=1000; var zd_skill_delay=11000; UO.Set("finddistance","2"); # ---------- ОБЪЯВЛЕНИЕ ВСПОМОГАТЕЛЬНЫХ Ф-ЦИЙ # Вывод необязательных вспомогательных сообщений, обычно в клиент, но можно # их и "произносить" и писать в файл, например. sub zd_debug(s) if (zd_debug_mode=="inject") then UO.Print(s); endif if (zd_debug_mode=="client") then UO.ServerPrint(s); endif endsub sub zd_detect_worldsave() var i=UO.InJournal("Saving World State"); if i then zd_debug("Сохранение мира ..."); wait(25000); UO.DeleteJournal(); return 1; endif return 0; endsub # Если не найден - то будет пытаться поднять qty его с пола. sub zd_has_type(type,name,min_qty,max_qty) var tmp_count; tmp_count=UO.Count(type);# Ф-ция проверяет, есть ли нужный тип в бэкпаке. if tmp_count>=min_qty then return 1; endif #ищем в сундуке UO.FindType(type,-1,zd_poison_kegs_container); if UO.FindCount()>0 then zd_debug("Возьмём из сундука "+str(max_qty-tmp_count)+" "+name+", чтобы стало "+str(max_qty)+" ..."); UO.Grab(str(max_qty-tmp_count),"finditem"); wait(zd_pause_delay); else zd_debug(name+" в сундуке не обнаружено !"); #ищем на земле UO.FindType(type,-1,"ground"); if UO.FindCount()>0 then zd_debug("Возьмём с пола "+str(max_qty-tmp_count)+" "+name+", чтобы стало "+str(max_qty)+" ..."); UO.Grab(str(max_qty-tmp_count),"finditem"); wait(zd_pause_delay); else zd_debug(name+" в пределах досягаемости не обнаружено !"); endif endif tmp_count=UO.Count(type); if tmp_count>=min_qty then return 1; endif return 0; endsub # Ф-ция выкидывает type в container/"ground", возможно указать цвет sub zd_drop_type(type,name,container,color) var my_serial=0; var my_color=-1; UO.IgnoreReset(); if color==0 then color="-1"; endif while UO.Count(type)>0 UO.FindType(type,color,"backpack"); my_serial=UO.GetSerial("finditem"); my_color=UO.GetColor(my_serial); if container=="ground" then UO.FindType(type,my_color,"ground"); if UO.FindCount()>0 then UO.MoveItem(my_serial,"0","finditem","0","0","0"); else UO.DropHere(my_serial); endif else UO.MoveItem(my_serial,"0",container); endif UO.Ignore(my_serial); zd_debug("Скидываю "+name+" в сундук."); wait(zd_pause_delay); wend endsub # Независимая ф-ция, которая постоянно подкармливает персонаж, если он голоден. sub zd_hungry() var hungry=1; while hungry==1 UO.DeleteJournal(); UO.ServerPrint(".hungry"); while not UO.InJournal("You") wait(50); wend if not UO.InJournal("stuffed") then if (zd_has_type(food,"Еды",1,20)) then zd_debug("Кушаю ..."); UO.UseType(food); wait(zd_pause_delay); else zd_debug("Я голоден, но у меня нет еды !!!"); hungry=0; endif else hungry=0; endif wend endsub sub zd_action_failed() if (UO.InJournal("already") or UO.InJournal("must wait") or UO.InJournal("cancelled")) then return 1; endif return 0; endsub sub zd_swap_kegs() UO.FindType(keg,"-1","backpack"); if UO.FindCount()>0 then # if UO.GetName("finditem")<> else zd_exchange_kegs(); endif endsub # ------------------------------------------------ sub zd_poisoning() UO.AddType("poison",deadly_poison_potion); zd_hungry(); start_poisoning: UO.DeleteJournal(); zd_hungry() UO.Poison(zd_poison_object); wait(zd_skill_delay/2); UO.UseType(keg); wait(zd_skill_delay/2); #проверяем, нужен ли новый кег if UO.InJournal("is empty") or UO.InJournal("no item found") then zd_hungry(); zd_drop_type(keg,"пустой кег",zd_empty_kegs_container,"0"); zd_has_type(keg,"кег пойсона",1,1); endif goto start_poisoning; endsub Помогите разобраться мне дали скрипт а я не шарю в инжэкте да такой степени что это все понять сделайте чтоб просто Инды и Тупы вставить и все ок |
|
| Page 1 of 1 | All times are UTC+02:00 |
| Powered by phpBB® Forum Software © phpBB Limited https://www.phpbb.com/ |
|