Page 1 of 2
Подсчет денег в окошке.
Posted: 2005-02-02 13:56:46
by GimFlex
Дорогие скриптеры у меня к вам вопрос можно ли написать скрипт чтобы считал деньги в окошке когда происходит обмен между двумя чарами. Просто не раз сталкивался с проблеммой вендора нету, а если продавать дорогие вещи стоимостью больше 500к то возникает проблемма с подсчетеом денег в окошке они все накладываются друг на друга буду признателен если поможете в написании скрипта или хотя бы подкините идейку с чего начать.
Posted: 2005-02-02 17:36:36
by GimFlex
ребят ну хоть подскажите чтобы подсчитывал число гп в мешочке
Posted: 2005-02-02 18:59:59
by Savage
Это на отсчитывание необходимой суммы и перекладывания ее в поунч.
С твоей задачей надо подумать...
Code: Select all
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
Posted: 2005-02-02 19:11:59
by 666Man666
Подумали
ПОЯСНЕНИЕ ДЛЯ НУБОВ: БЕРЁТЕ ВЕСЬ КОД, И ЗАПУСКАИТЕ exec checkgold когда будет окно трейда с золотом.....
Code: Select all
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
Posted: 2005-02-02 19:16:52
by SAMURAI
Вообщето он вроде как просил чтоб чар в отдельном окошке считал Гп, брошенные на него во время обмена...

Posted: 2005-02-02 20:02:20
by Yoko
поищи на форуме uo.TradeContainer
потом применишь методы подсчёта золота в контейнере
Posted: 2005-02-02 20:17:53
by Morgan
Тадам
Правдо бета но будет новая
Code: Select all
###############################################################
# # 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. Если неточности в описании тоже прош сообщить

Posted: 2005-02-02 20:33:42
by GimFlex
огромное спасибо ты супер
Posted: 2005-02-02 20:38:02
by GimFlex
и еще вопрос он считает число кучек так? а точное число голда не считает
Posted: 2005-02-02 20:40:07
by Savage
Morgan wrote:Тадам

Правдо бета но будет новая

Code: Select all
sub CheckLagTrade()
UO.DeleteJournal()
UO.Click('backpack')
Repeat
Wait(10)
Until UO.InJournal('backpack')
end sub
Если что-то работает нетак как надо очень прошу сообщить.
P.S. Если неточности в описании тоже прош сообщить

Пауза меньше 100 сильно нагружает проц особенно заметно если клиентов эдак 8 запущено.
Posted: 2005-02-02 20:59:18
by GimFlex
sub CheckGold()
var FindItem='0x0EED' ; Какой итем искать (type)
UO.Print("Gold: "+STR(GetAmount(FindItem,'-1',UO.TradeContainer('right')))+"gp")
end sub
чето не пашет (
Posted: 2005-02-02 21:40:07
by Yoko
uo.[yhlp_GetQuantity]
Posted: 2005-02-02 21:43:18
by Morgan
Question wrote:огромное спасибо ты супер
Мелочь а приятно
Question wrote:и еще вопрос он считает число кучек так? а точное число голда не считает
Считается общие количество голды со всех кучек, о как

Savage wrote:Morgan wrote:Тадам

Правдо бета но будет новая

Code: Select all
sub CheckLagTrade()
UO.DeleteJournal()
UO.Click('backpack')
Repeat
Wait(10)
Until UO.InJournal('backpack')
end sub
Если что-то работает нетак как надо очень прошу сообщить.
P.S. Если неточности в описании тоже прош сообщить

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

, я только начинаю

Posted: 2005-02-02 22:12:03
by 666Man666
Question wrote:sub CheckGold()
var FindItem='0x0EED' ; Какой итем искать (type)
UO.Print("Gold: "+STR(GetAmount(FindItem,'-1',UO.TradeContainer('right')))+"gp")
end sub
чето не пашет (
Мдя.... а остальной кусок почему выризал?... там же кроме этого ешё был кусок кода, он типа левый, да? мдя ))
Posted: 2005-02-02 22:47:20
by Morgan
Да лано те необижайся на человека
Коль вырезал значит для него эт отстой и ненужный хлам:lol:
Posted: 2005-02-02 22:51:34
by GimFlex
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 разных скрипта сори
Posted: 2005-02-02 23:00:01
by 666Man666
Ну вот, другое дело
Просто эти оба куска связаны между собой и работать один без другова не будут....
Posted: 2005-02-04 16:57:37
by GimFlex
666Man666 wrote:Подумали

ПОЯСНЕНИЕ ДЛЯ НУБОВ: БЕРЁТЕ ВЕСЬ КОД, И ЗАПУСКАИТЕ exec checkgold когда будет окно трейда с золотом.....
Code: Select all
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
Posted: 2005-02-05 10:03:25
by Yoko
tradecontainer было далеко не во всех версиях инжекта
Posted: 2005-02-05 10:36:46
by GimFlex
Yoko wrote:tradecontainer было далеко не во всех версиях инжекта
а если у меня инжа версии 312.19