Page 1 of 1

Помогите подправить скрипт

Posted: 2005-06-13 19:53:00
by fRz_
У меня не успевает купить , и не успевает продать.. (Вендор пишет too fast и т д.. ) Подскажите пожалст , какую надо поменять переменную.. Заранее благодарен!

Code: Select all

################################################ 
###  Ходящий Кузнец / Going Smith v2.2 Full  ### 
################################################ 
###      Шард Dragon World / www.drw.ru      ### 
################################################ 
### Внимание: 
### Для  работы скрипта нужна версия YokoInjection 4DZ. 
### Скачать dll этой версии можно                      
### от сюда: www.swines.nm.ru/injection.zip      
######################################################### 
### Авторы: 
### - Доработка и переработка:"cOoler". 
######################################################### 
############################ 
### Описание и настройка ### 
############################ 
### Обратите внимание на значки "]![" ими выделенны важные сообщения. 
### 
### Чар покупает у вендора вещи. 
### Купив плавит их. 
### После того как переплавит - начнет ковать катаны. 
### Как кончается айрон он продает катаны и все повторяется. 
### 
#################### 
### Нововведения ### 
#################### 
### 1)Полностью доработанный скрипт. [cOoler] 
### 2)Добавлен лист для продажи. [cOoler] 
### 3)Упрощена система выбора таргетов. [cOoler] 
### 
### ]![ Чтобы скрипт заработал внимательно прочтите настройки. ]![ 
### 
################################### 
###    Режимы работы скрипта     ###    
################################### 
### Работает в 4х режимах:      ### 
### 1)Покупка                   ### 
### 2)Переплавка                ### 
### 3)Ковка                     ### 
### 4)Продажа                   ### 
################################### 
###   Режим Первый - "Покупка   ### 
################################### 
### Этот режим отвечает за Покупку вещей у вендора. 
### 
### Покупка происходит так: 
### Указываем вендора таргетом, чар начинает покупать вещи при помощи Buy-листа. 
################ 
### Buy-лист ### 
################ 
### Открываем injection.xml в директории инжи. 
### В конце перед </config> вставляем(без ###): 
### <shoplist name="armor"> 
###      <shopitem name="ringmail tunic" want="1"/> 
###      <shopitem name="ringmail leggings" want="1"/> 
###      <shopitem name="ringmail sleeves" want="1"/> 
###      <shopitem name="ringmail gloves" want="1"/> 
###      <shopitem name="chainmail leggings" want="1"/> 
###      <shopitem name="chainmail tunic" want="1"/> 
###      <shopitem name="buckler" want="1"/> 
###      <shopitem name="bronze shield" want="1"/> 
###      <shopitem name="metal shield" want="1"/> 
###      <shopitem name="heater shield" want="1"/> 
###   </shoplist> 
### Далее просто запускаем скрипт и он будет автоматически покупать вещи. 
### 
################################### 
### Режим Второй - "Переплавка" ### 
################################### 
### Этот режим соответственоо отвечает за Переплавку купленныйх вещей. 
### 
### Переплавка происходит так: 
### Указываем форж таргетом, чар начинает плавить вещи. 
############################### 
###  Режим Третий - "Ковка" ### 
############################### 
### Этот режим соответственоо отвечает за Ковку. 
### 
### Ковка происходит так: 
### После того как чар переплавит вещи в паке появятся инги айрона. 
### Из этих ингов чар будет ковать катаны и продавать вендору при помощи Sell-листа. 
################# 
### Sell-Лист ### 
################# 
### Открываем injection.xml в директории инжи. 
### В конце перед </config> вставляем(без ###): 
### <shoplist name="katana"> 
###      <shopitem name="katana" want="-1"/> 
###   </shoplist> 
### Далее просто запускаем скрипт и он будет автоматически продавать катаны. 
### 
#################################### 
###  Режим Четвертый - "Продажа" ### 
#################################### 
### Этот режим соответственоо отвечает за Ковку. 
### 
### Продажа происходит так: 
### После того как чар накует катаны он продаст их вендору у которого 
### покупал вещи. 
### 
### ]![ Внимание Вендор и Форж должны быть в одной комнате. ]![ 
### 
### Во время использования скрипта ваши деньги ростут в отношении 5-10к/1ч. 
############################### 
### Цена/количество слитков ### 
############################### 
### platemail 184 25    7,36 
### legs      149 20    7,45 
### arms      135 18    7,5      
### helm      116 15    7,7 
### gloves    95  12    7,9 
### gorget    81  10    8,1 
### 
### buckler   32    6   5,3 
### heater    105   18  5,8 
### metal     72    14  5,1 
### bronze    52    10  5,2 
### 
### tunic     102   18  5,6 
### leggins   92    16  5,7      
### arms      81    14  5,7 
### gloves    60    10  6,0 
### tunic     119   20  5,9 
############################### 
### Настройте скрипт под себя при помощи переменных. 
### 
################## 
### Переменные ### 
################## 
### var MaxWeight=650  ## - Вес который может держать чар. 
### 
### После настройки: 
### Идите к реке в которой вы хотите ловить рыбу. 
### Запустите cкрипт Blacksmithy(), Инжект попросит вас указать Вендора 
### (появится прицел, прицелом на вендора), 
### потом инжект попросит вас указать Форж(появится прицел, прицелом на него). 
### После этого скрипт заработает. 
########### 
### Код ### 
########### 
sub Blacksmithy() 
var Exit=0, LastTimer, i 
var VendorName 
###################### 
### Меню / Options ### 
###################### 
########################################################################################### 
### 
var MaxWeight=650  ## - Вес который может держать чар. 
### 
var ToBs=1 ## - 1 - Ковать катаны из ингов, 0 - реколится домой и складывать инги в сундук. 
### 
############################################################################################ 

uo.Print('Выбери Вендора: ') 
uo.Exec('addobject Vendor') 
while uo.Targeting() 
wait(100) 
wend 
VendorName=uo.GetName("Vendor") 

uo.Print('Выбери Форж: ') 
uo.Exec('addobject Forge') 
while uo.Targeting() 
wait(100) 
wend 

if ToBs==0 then 
uo.Print('Выбери PунБук: ') 
uo.Exec('addobject Runebook') 
while uo.Targeting() 
wait(100) 
wend 
end if 

while Exit<>1 

for i=1 to 5  
FindVendor(VendorName) 
uo.Sell("katana",VendorName) 
wait(500) 

FindVendor(VendorName) 
wait(500) 
while uo.Weight<(MaxWeight-100) 
uo.Buy("armor",VendorName) 
if uo.InJournal("bought") then 
wait(10000) 
end if 
wait(10000) 
wend 
gotoxy(uo.getX("Forge"),uo.getY("Forge")) 

SmeltFull() 

if ToBs==0 then 
RecallToHome() 
DropIngots() 
wait(3000) 
RecallToShop() 
end if 
  
if ToBs==1 then 
ToBlacksmithy() 
end if 

for i=1 to 5  
FindVendor(VendorName) 
uo.Sell("katana",VendorName) 
CheckLag() 
wait(10000) 
next 
uo.Print('Конец') 
wend 
end sub 
  
sub gotoXY(x,y) 
var myX,myY,lastX=0,lastY=0,i,halt=0,z,r=0 
for i=1 to 60 
MyX=uo.getX() 
MyY=uo.getY() 
if LastX==MyX and LastY==MyY then 
halt=halt+1 
else 
halt=0 
end if 
if halt>=10 then 
if uo.GetDir()==1 then 
for z=0 to 8 
uo.Press(40) 
next 
end if 
if uo.GetDir()==3 then 
for z=0 to 8 
uo.Press(37) 
next 
end if 
if uo.GetDir()==5 then 
for z=0 to 8 
uo.Press(38) 
next 
end if 
if uo.GetDir()==7 then 
for z=0 to 8 
uo.press(39) 
next 
end if 
halt=15 
end if 
if numb(x-myX)<=1 and numb(y-myY)<=2 then 
return 1 
end if 
if x<=MyX then 
if y<=MyY then 
for z=0 to 3 
uo.Press(38) 
next 
else 
for z=0 to 3 
uo.Press(37) 
next 
end if 
else 
if y<=MyY then 
for z=0 to 3 
uo.Press(39) 
next 
else 
for z=0 to 3 
uo.Press(40) 
next 
end if 
end if 
lastX=myX 
lastY=myY 
wait(200) 
next 
return 0 
end sub 

sub FindVendor(VendorName) 
var flag 
while 1 
uo.Set('finddistance','14') ## - Искать на расстоянии 14. 
uo.IgnoreReset() ## - Обнулить игнор.  
uo.FindType("0x0190","-1","ground") 
while uo.FindCount() ## - Пока найден чар.  
uo.Ignore("finditem") ## - Игнор вещей. 

if uo.GetName("finditem")==VendorName then 
uo.Print(VendorName+" found") 
First: 
flag=gotoxy(UO.GetX("finditem"),UO.GetY("finditem")) 
if flag==1 then 
goto Second    
end if 
if flag==0 then 
gotoxy(2533,572) 
goto First        
end if 
end if 
uo.FindType("0x0190","-1","ground") 
wend 
wait(500) 
wend 
Second: 
end sub 

sub numb(num) 
if num>=0 then 
return num 
else 
return num*(-1) 
end if 
end sub 

sub SmeltFull() 
SmeltItem(0x1B7B) 
wait(200) 
SmeltItem(0x1B72) 
wait(200) 
SmeltItem(0x13BF) 
wait(200) 
SmeltItem(0x13EE) 
wait(200) 
SmeltItem(0x1B73) 
wait(200) 
SmeltItem(0x13EB) 
wait(200) 
SmeltItem(0x1B76) 
wait(200) 
SmeltItem(0x13BE) 
wait(200) 
SmeltItem(0x13F0) 
wait(200) 
SmeltItem(0x13EC) 
end sub 

sub SmeltItem(ItemID) 
var i 
uo.FindType(ItemID,"-1","backpack") 
uo.Print(uo.FindCount()) 
while uo.FindCount()>0 
  
uo.WaitTargetObject("finditem") 
uo.UseObject("Forge") 
i=0 
while not uo.InJournal("You put") and not i==50 
i=i+1 
wait(100) 
wend 

if uo.InJournal("The") then 
uo.MoveItem("finditem","-1","ground") 
end if 

uo.findtype(ItemID,"-1","backpack") 
wait(700) 
wend 
end sub 

sub RecallToHome() 
uo.Print('Прыгаем Домой.') 
uo.Exec("recall Runebook 21") 
wait(10000) 
end sub 

sub RecallToShop() 
uo.Print('Прыгаем в Магазин.') 
uo.Exec("recall Runebook 1025") 
wait(10000) 
end sub 

sub WaitForRecall() 
var Text1=uo.GetName()+": The spell fizzles." 
var mess='',lastX=uo.getX(),lastY=uo.getY() 
for var i=0 to 200 
mess=uo.Journal(0) 
if uo.Journal(0)==Text1 then 
return 0 
end if 
if uo.getX()<>lastX or uo.getY()<>LastY then 
return 1 
end if 
wait(50) 
next 
return 0 
end sub 

sub DropIngots() 
if uo.Waiting() then 
uo.CancelTarget() 
end if 
var a, Exit 
var Chest='0x4004B893' ## - ID сундука для сброса ингов. 
dim Ings[1] 
Ings[0]=0x13FE 
uo.Print('Выкладываем Инги.') 
uo.SetReceivingContainer(Chest) 
wait(500) 
for a=0 to 0 
exit=0 
repeat 
uo.FindType(Ings[a]) 
if uo.GetQuantity('finditem')>0 then 
uo.Grab('0','finditem') 
wait(500) 
else 
exit=1 
end if 
until Exit==1 
next 
uo.UnSetReceivingContainer(Chest) 
uo.Print('Инги Выложены.') 
end sub 

sub ToBlacksmithy() 
var LastTimer 
repeat 
uo.FindType('0x1BEF','0x0000','backpack') 
uo.Print(str(uo.GetQuantity("finditem"))) 
uo.DeleteJournal() 
LastTimer=uo.Timer() 
uo.WaitMenu('Blacksmithing','Weapons','Weapons','Swords','Swords','katana') 
uo.UseType(0x1BEF) 

while not uo.InJournal("You put") and not uo.InJournal("You have failed") 
wait(250) 
wend 

if uo.InJournal("You have failed") then 
wait(500) 
;repeat 
;wait(100) 
;until uo.Timer()>=LastTimer+100 
end if 

uo.FindType(0x1BEF) 
until not uo.GetQuantity("finditem")>8 
end sub 

sub CheckLag() 
uo.DeleteJournal() 
uo.Click('backpack') 
repeat 
wait(500) 
until uo.InJournal('backpack') 
end sub

Posted: 2005-06-14 06:32:01
by Solaire
uo.set('buydelay','d')
d=количество наименований покупаемого товара*350+500

Posted: 2005-06-14 07:25:00
by Askaneli
Solaire wrote:uo.set('buydelay','d')
d=количество наименований покупаемого товара*350+500
Хм. Формулка проверенная ?

Posted: 2005-06-14 08:03:33
by Sfagnum
Askaneli wrote:
Solaire wrote:uo.set('buydelay','d')
d=количество наименований покупаемого товара*350+500
Хм. Формулка проверенная ?
угум... 500 - зависит от конекта.