Несколько проблем/вопросов.

Ask for help

Moderators: Murderator+, Murderator

Post Reply
valerka
Posts: 15
Joined: 2004-10-25 16:31:52

Несколько проблем/вопросов.

Post by valerka »

1-Крашит :)
Абсолютно при разных ситуациях, при касте, скупке, открытии сумки (просто 2-ым щелчком) и т. д. Причём крашит так что у меня выбивает все!! приложения, и по 2-му разу большая часть (в том числе клиент) не запускаются, приходится делать рестаот. ОС Вин 98СЕ.
2-Как сказать ,фраза ? =)
3-Есть ли у кого нибудь скрипт который перемещает в бэк все итэмы одного типа(ящики например) лежащие на расстоянии 1-ой клетки.
Если жалко, то скажите реально ли вообще такой написать.
Заранее благодарен.
Edred
Expert!
Posts: 2544
Joined: 2004-04-03 17:36:29
Location: Saint-Petersburg

Post by Edred »

1. Мало мозгов, на закладке display поотключай Icons, Bars, Colored
2. ,sayu фраза
3. Поиск на форуме используй. Таких скриптов здесь бегало море. Ищи по слову "ветки"
valerka
Posts: 15
Joined: 2004-10-25 16:31:52

Post by valerka »

Все значки отключены, я хелп читаю.
нашёл скрипт, но не пашет :(
Помогите, почему не пашет?


sub Loot()
VAR WaitTime=500
VAR Exit=0, i
DIM Loot[2]

Loot[0]=0x09AA ; sunduchek
Loot[1]=0x0E7D ; sunduchek

For i=0 to 1
UO.FindType(Loot[i],-1,'ground')
if UO.GetQuantity('finditem') then
UO.Grab(STR(0),'finditem')
wait(WaitTime)
endif
Next
end sub
bewza
Junior Expert
Posts: 30
Joined: 2004-04-10 11:37:18

Post by bewza »

valerka wrote:sub Loot()
VAR WaitTime=500
VAR Exit=0, i
DIM Loot[2]
Loot[0]=0x09AA ; sunduchek
Loot[1]=0x0E7D ; sunduchek
For i=0 to 1
UO.FindType(Loot[i],-1,'ground')
if UO.GetQuantity('finditem') then
UO.Grab(STR(0),'finditem')
wait(WaitTime)
endif
Next
end sub

Этот скрипт сграбит только 1 итем типа 0x09AA и 1 итем типа 0x0E7D
Советую взять их в кавычки. Не нравится мне UO.GetQuantity('finditem'), не лезет оно тут, лучше уж UO.findcount(). Думаю должно быть что-то вроде этого

Code: Select all

sub Loot() 
DIM Loot[2]
Loot[0]='0x09AA' ; sunduchek
Loot[1]='0x0E7D' ; sunduchek
For var i=0 to 1
UO.FindType(Loot[i],'-1','ground')
while UO.findcount() >0
UO.Grab('finditem')
wait('500')
UO.FindType(Loot[i],'-1','ground')
wend
Next
end sub
Last edited by bewza on 2005-01-14 01:33:38, edited 1 time in total.
valerka
Posts: 15
Joined: 2004-10-25 16:31:52

Post by valerka »

Тоже не пашет :(
Он что-то пытается взять но не берёт :(
А первый скрипт который я выше написал ГП лутил, а сундуки нет :(
непонимаю в чём дело
bewza
Junior Expert
Posts: 30
Joined: 2004-04-10 11:37:18

Post by bewza »

set finddistance
Edred
Expert!
Posts: 2544
Joined: 2004-04-03 17:36:29
Location: Saint-Petersburg

Post by Edred »

bewza wrote:

Code: Select all

sub Loot() 
DIM Loot[2]
Loot[0]='0x09AA' ; sunduchek
Loot[1]='0x0E7D' ; sunduchek
For var i=0 to 1
UO.FindType(Loot[i],'-1','ground')
while UO.findcount() >0
UO.Grab,'finditem')
wait('500')
UO.FindType(Loot[i],'-1','ground')
wend
Next
end sub


Я понимаю, на коленке писал, но все-таки скобки пропускать не надо... В команде UO.Grab вместо запятой скобку поставить. А вот в командах UO.Findtype -1 надо без кавычек писать. Ну и для тестов я бы увеличил паузу, потом можно и снизить, если все ок.
bewza
Junior Expert
Posts: 30
Joined: 2004-04-10 11:37:18

Post by bewza »

Edred wrote:Я понимаю, на коленке писал, но все-таки скобки пропускать не надо... В команде UO.Grab вместо запятой скобку поставить. А вот в командах UO.Findtype -1 надо без кавычек писать. Ну и для тестов я бы увеличил паузу, потом можно и снизить, если все ок.

1. Исправил
2. Не "надо", а "можно", лично я всегда в ковычках писал. Никаких глюков.
3. Пауза, хм, ну вообще можно еще много проверок добавить, но суть то не в этом :)
Yoko
Site Admin
Posts: 1964
Joined: 2004-04-03 16:49:38
Contact:

Post by Yoko »

Edred wrote:А вот в командах UO.Findtype -1 надо без кавычек писать.

Сиё есть мерзкая ересь, работоспособность в этом случае оно сохраняет только благодаря случайному совпадению. В последних версиях правда это перестало иметь значение в связи со сменой куска модуля автопреобразования.
valerka
Posts: 15
Joined: 2004-10-25 16:31:52

Post by valerka »

Всё равно не фига не пашет :(
он циклиться неизвестно почему, и ктомуже просит щёлкнуть на предмет который надо взять.
Скажите мне плз, почему мой первый не берёт коробки? Гп то он берёт...
Edred
Expert!
Posts: 2544
Joined: 2004-04-03 17:36:29
Location: Saint-Petersburg

Post by Edred »

valerka wrote:Всё равно не фига не пашет :(
он циклиться неизвестно почему, и ктомуже просит щёлкнуть на предмет который надо взять.
Скажите мне плз, почему мой первый не берёт коробки? Гп то он берёт...


Еще проблемы могут быть:

1. Не установлено finddistance. Не установлено distance
набери в клиенте:
,set finddistance 3
,set distance 3

2. У тебя скрипт и массив имеют одинаковые имена. Счас уже плохо помню, но кажись, когда-то у меня такие вещи вызывали траблы в скриптах. Потому давно уже использую только уникальные имена.
valerka
Posts: 15
Joined: 2004-10-25 16:31:52

Post by valerka »

Всё равно не пашет, мой скрипт не берёт, а второй просто вешает инжу.
Edred
Expert!
Posts: 2544
Joined: 2004-04-03 17:36:29
Location: Saint-Petersburg

Post by Edred »

приведи структуру скрипта в порядок (сделай иерархию циклов табуляцией) и через код запости сюда весь скрипт
valerka
Posts: 15
Joined: 2004-10-25 16:31:52

Post by valerka »

Code: Select all

sub Loot() 
VAR WaitTime=500
VAR Exit=0, i
DIM Loot[2]

Loot[0]=0x09AA ; sunduchek
Loot[1]=0x0E7D ; sunduchek

For i=0 to 1
     UO.FindType(Loot[i],-1,'ground')
     if UO.GetQuantity('finditem') then
        UO.Grab(STR(0),'finditem')
        wait(WaitTime)
     endif
Next
end sub
Last edited by valerka on 2005-01-19 18:34:22, edited 1 time in total.
Yoko
Site Admin
Posts: 1964
Joined: 2004-04-03 16:49:38
Contact:

Post by Yoko »

и, как мы видим, обычная опечатка в районе оператора Grab
valerka
Posts: 15
Joined: 2004-10-25 16:31:52

Post by valerka »

Я случайно не тот скрипт скопировал :)
я поправил на один пост выше.
скрипт ьерёт гп например, а сундуки не берёт.
Edred
Expert!
Posts: 2544
Joined: 2004-04-03 17:36:29
Location: Saint-Petersburg

Post by Edred »

1. UO.FindType(Loot[i],-1,'ground')

-1 поставь в кавычки:

UO.FindType(Loot[i],'-1','ground')


2. if UO.GetQuantity('finditem') then

замени на

if UO.FindCount() then
Post Reply