Yoko
http://forum.yoko.com.ua/

Подсчет денег в окошке.
http://forum.yoko.com.ua/viewtopic.php?f=20&t=2946
Page 1 of 2

Author:  GimFlex [ 2005-02-02 13:56:46 ]
Post subject:  Подсчет денег в окошке.

Дорогие скриптеры у меня к вам вопрос можно ли написать скрипт чтобы считал деньги в окошке когда происходит обмен между двумя чарами. Просто не раз сталкивался с проблеммой вендора нету, а если продавать дорогие вещи стоимостью больше 500к то возникает проблемма с подсчетеом денег в окошке они все накладываются друг на друга буду признателен если поможете в написании скрипта или хотя бы подкините идейку с чего начать.

Author:  GimFlex [ 2005-02-02 17:36:36 ]
Post subject: 

ребят ну хоть подскажите чтобы подсчитывал число гп в мешочке

Author:  Savage [ 2005-02-02 18:59:59 ]
Post subject: 

Это на отсчитывание необходимой суммы и перекладывания ее в поунч.

С твоей задачей надо подумать...
Code:
sub limon()
   VAR ManyBag='0x400208B9'
   VAR GPCount=0, GPLimit=1000000, GPStock=0, Exit=0
   
   UO.FindType('0x09B0','0x0000','backpack')
   
   UO.SetReceivingContainer('finditem')

   While Exit <>1
      UO.FindType('0x0EED','0x0000',ManyBag)
   
      GPStock=UO.GetQuantity('finditem')   
      If GPLimit-GPCount>GPStock Then
         UO.Grab('all','finditem')
         GPCount=GPCount+GPStock
      Else
         UO.Grab(STR(GPLimit-GPCount),'finditem')
         UO.Print("Done!")
         Exit=1
      Endif
      wait(1000)
   Wend
end sub

Author:  666Man666 [ 2005-02-02 19:11:59 ]
Post subject: 

Подумали :)
ПОЯСНЕНИЕ ДЛЯ НУБОВ: БЕРЁТЕ ВЕСЬ КОД, И ЗАПУСКАИТЕ exec checkgold когда будет окно трейда с золотом.....

Code:
sub CheckGold()
var FindItem='0x0EED' ; Какой итем искать (type)
UO.Print("Gold: "+STR(GetAmount(FindItem,'-1',UO.TradeContainer('right','1')))+"gp")
end sub

Sub GetAmount(Type,Color,Cont)
var item_amount = 0
UO.IgnoreReset()
REPEAT
UO.FindType(Type,Color,Cont)
   If UO.FindCount() Then
      If UO.GetQuantity('finditem')==0 Then
         item_amount = item_amount + 1
      Else
         item_amount = item_amount + UO.GetQuantity('finditem')
      EndIf
      UO.Ignore('finditem')
      UO.FindType(Type, Color, Cont)
   EndIf
Until UO.FindCount()==0 or UO.Dead()
UO.IgnoreReset()
Return item_amount
end sub

Author:  SAMURAI [ 2005-02-02 19:16:52 ]
Post subject: 

Вообщето он вроде как просил чтоб чар в отдельном окошке считал Гп, брошенные на него во время обмена... :wink:

Author:  Yoko [ 2005-02-02 20:02:20 ]
Post subject: 

поищи на форуме uo.TradeContainer

потом применишь методы подсчёта золота в контейнере

Author:  Morgan [ 2005-02-02 20:17:53 ]
Post subject: 

Тадам ;)
Правдо бета но будет новая :lol:
Code:
############################################################### 
#        #          Security Trade v0.8 Beta            #     #
#       # #     "Whith The Help Of Ancient Gods."      # #    #
#        #         Crafted by I'm [ICQ:138088]          #     #
###############################################################
sub SecurityTrade()
##############
# Описание. ##############################################
##############
# Все мы нераз сталкивались с такой проблемой, вендора нет, а продать надо,
# ну а если это дорогая вещь то у покупателя возникает соблазн "недоложить"
# в окошко обмена пару GP (или пару десятков тысяч).
# Однажды я так влетел на очень крупную сумму.
# В следствии этого и родился этот скрипт ;)
#
##########################################################
Var TradeContainer
Var Object
Var Quantity1
Var Quantity2=0
Var Q=0
Var ObjectType="0x0EED"                             ; Тип обьектов кучек
Var NeedQuantity=400                                ; Необходимое количество

  UO.IgnoreReset()                                  ; Обнуляем игнор

   If Not UO.TradeCheck('','right',1) then          ; Если галка покупателя не стоит
    UO.MSG('Милый человек')                         ; Произносим
    Wait(550)                                       ; Ждем
    UO.MSG('Я по натуре очень подозрительный')      ; Произносим
    Wait(550)                                       ; Ждем
    UO.MSG('Нажалб галочку инач сделки небудет')    ; Произносим
   EndIf                                            ; #########
   Repeat                                           ; Повторять
    Wait(50)                                        ; Ждать
   Until UO.TradeCheck('','right',1)                ; До тех пор пока оппонент непоставит галку
   
  TradeContainer=UO.TradeContainer("right")         ; Правое окно обмена
  UO.FindType(ObjectType,"-1",TradeContainer)       ; Поиск золота
  Quantity1=UO.FindCount()                          ; Количество кучек

    While Q<Quantity1                               ; До тех пор пока Q < Количествa кучек
     UO.FindType(ObjectType,"-1",TradeContainer)    ; Поиск золота
     Object=UO.GetSerial("finditem")                ; Берем серийник обьекта
     Quantity2=Quantity2+(UO.GetQuantity(Object))   ; К имеющемуся количеству прибавляем найденное
     UO.Ignore(Object)                              ; Игнорируем обьект
     Q=Q+1                                          ; Прибавлем 1 к Q
     CheckLagTrade()                                ; Проверка на лаг
    Wend                                            ; Заход на новый круг
   
# От сюда можно удалить если ненадо чтоб сам ставил галку.   
    If Quantity2>=NeedQuantity then                 ; Если общее количество больше заданного
     UO.Print("Ok.")             ; Сообщение что все в порядке
     UO.TradeCheck('','',1)                         ; Ставим галку
    EndIf

    If Quantity2<NeedQuantity then                  ; Если общее количество меньще заданного
     UO.Print("Warning!")         ; Сообщение что кидала обнаружен
     UO.Exec('snap')                                ; Делаем скриншот
    EndIf
# До сюда
   
UO.Print("Total In Trade Window = "+str(Quantity2)) ; Выводим на экран общее количество

endsub

##############
#=-CheckLag-=#
##############
sub CheckLagTrade()
UO.DeleteJournal()
UO.Click('backpack')
 Repeat
  Wait(125)
 Until UO.InJournal('backpack')
end sub

Если что-то работает нетак как надо очень прошу сообщить.
P.S. Если неточности в описании тоже прош сообщить :lol:

Author:  GimFlex [ 2005-02-02 20:33:42 ]
Post subject: 

огромное спасибо ты супер

Author:  GimFlex [ 2005-02-02 20:38:02 ]
Post subject: 

и еще вопрос он считает число кучек так? а точное число голда не считает

Author:  Savage [ 2005-02-02 20:40:07 ]
Post subject: 

Morgan wrote:
Тадам ;)
Правдо бета но будет новая :lol:
Code:
sub CheckLagTrade() 
UO.DeleteJournal()
UO.Click('backpack')
 Repeat
  Wait(10)
 Until UO.InJournal('backpack')
end sub

Если что-то работает нетак как надо очень прошу сообщить.
P.S. Если неточности в описании тоже прош сообщить :lol:

Пауза меньше 100 сильно нагружает проц особенно заметно если клиентов эдак 8 запущено.

Author:  GimFlex [ 2005-02-02 20:59:18 ]
Post subject: 

sub CheckGold()
var FindItem='0x0EED' ; Какой итем искать (type)
UO.Print("Gold: "+STR(GetAmount(FindItem,'-1',UO.TradeContainer('right')))+"gp")
end sub


чето не пашет (

Author:  Yoko [ 2005-02-02 21:40:07 ]
Post subject: 

uo.[yhlp_GetQuantity]

Author:  Morgan [ 2005-02-02 21:43:18 ]
Post subject: 

Question wrote:
огромное спасибо ты супер

Мелочь а приятно :oops:

Question wrote:
и еще вопрос он считает число кучек так? а точное число голда не считает

Считается общие количество голды со всех кучек, о как ;)

Savage wrote:
Morgan wrote:
Тадам ;)
Правдо бета но будет новая :lol:
Code:
sub CheckLagTrade() 
UO.DeleteJournal()
UO.Click('backpack')
 Repeat
 Wait(10)
 Until UO.InJournal('backpack')
end sub

Если что-то работает нетак как надо очень прошу сообщить.
P.S. Если неточности в описании тоже прош сообщить :lol:

Пауза меньше 100 сильно нагружает проц особенно заметно если клиентов эдак 8 запущено.

Сеньк Savage незнал :oops:
Но мне простительно :roll: , я только начинаю :lol:

Author:  666Man666 [ 2005-02-02 22:12:03 ]
Post subject: 

Question wrote:
sub CheckGold()
var FindItem='0x0EED' ; Какой итем искать (type)
UO.Print("Gold: "+STR(GetAmount(FindItem,'-1',UO.TradeContainer('right')))+"gp")
end sub


чето не пашет (

Мдя.... а остальной кусок почему выризал?... там же кроме этого ешё был кусок кода, он типа левый, да? мдя ))

Author:  Morgan [ 2005-02-02 22:47:20 ]
Post subject: 

Да лано те необижайся на человека ;)
Коль вырезал значит для него эт отстой и ненужный хлам:lol:

Author:  GimFlex [ 2005-02-02 22:51:34 ]
Post subject: 

666Man666 wrote:
Question wrote:
sub CheckGold()
var FindItem='0x0EED' ; Какой итем искать (type)
UO.Print("Gold: "+STR(GetAmount(FindItem,'-1',UO.TradeContainer('right')))+"gp")
end sub


чето не пашет (

Мдя.... а остальной кусок почему выризал?... там же кроме этого ешё был кусок кода, он типа левый, да? мдя ))


я посмотрел в другом куске нету где используется CheckGold() думал 2 разных скрипта сори

Author:  666Man666 [ 2005-02-02 23:00:01 ]
Post subject: 

Ну вот, другое дело
Просто эти оба куска связаны между собой и работать один без другова не будут....

Author:  GimFlex [ 2005-02-04 16:57:37 ]
Post subject: 

666Man666 wrote:
Подумали :)
ПОЯСНЕНИЕ ДЛЯ НУБОВ: БЕРЁТЕ ВЕСЬ КОД, И ЗАПУСКАИТЕ exec checkgold когда будет окно трейда с золотом.....

Code:
sub CheckGold()
var FindItem='0x0EED' ; Какой итем искать (type)
UO.Print("Gold: "+STR(GetAmount(FindItem,'-1',UO.TradeContainer('right','1')))+"gp")
end sub

Sub GetAmount(Type,Color,Cont)
var item_amount = 0
UO.IgnoreReset()
REPEAT
UO.FindType(Type,Color,Cont)
   If UO.FindCount() Then
      If UO.GetQuantity('finditem')==0 Then
         item_amount = item_amount + 1
      Else
         item_amount = item_amount + UO.GetQuantity('finditem')
      EndIf
      UO.Ignore('finditem')
      UO.FindType(Type, Color, Cont)
   EndIf
Until UO.FindCount()==0 or UO.Dead()
UO.IgnoreReset()
Return item_amount
end sub



выдает ошибку line 3 function not found uo.tradecontainer
если взять в скобки 'uo.tradecontainer' то пишет line 3 parse error
проверяю я этот скрипт так перетаскиваю на когорить золото и запускаю в инжекте checkgold

Author:  Yoko [ 2005-02-05 10:03:25 ]
Post subject: 

tradecontainer было далеко не во всех версиях инжекта

Author:  GimFlex [ 2005-02-05 10:36:46 ]
Post subject: 

Yoko wrote:
tradecontainer было далеко не во всех версиях инжекта


а если у меня инжа версии 312.19

Page 1 of 2 All times are UTC+02:00
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/