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 - зависит от конекта.