Page 1 of 2

Подкиньте идейку, у кого их много.

Posted: 2005-01-06 22:04:10
by KrafteR
Хочется написать скрипт, чтобы по нажатию кнопки всё с себя снимал, а при повторном нажатии снова одевал, и всё по нажатию одной кнопки! Думал-думал... ничего не пришло в голову, вотс хочу посоветоваться, может кто подкинет, что-нибудь любопытное.

Posted: 2005-01-06 23:10:08
by Yoko
,setdress x;setarm y;undress;disarm

,dress x;arm y

Posted: 2005-01-06 23:23:32
by KrafteR
Yoko wrote:,setdress x;setarm y;undress;disarm

,dress x;arm y

Эт я уже давно понял... Идея не в этом. Идея такая... Я жму кнопку, снимает всё, я жму эту же кнопку одевает, то что было. Как сделать так, чтобы инжект проверял If есть одежда на чаре Then снять одежду с чара Else Одеть одежду на чара. Но как эти проверки звучат на языке инжекта я не нашёл, прозьба подсказать, как решить данную проблему или предложить альтернативу этому способу.

Posted: 2005-01-06 23:46:34
by Edred
KrafteR wrote:
Yoko wrote:,setdress x;setarm y;undress;disarm

,dress x;arm y

Эт я уже давно понял... Идея не в этом. Идея такая... Я жму кнопку, снимает всё, я жму эту же кнопку одевает, то что было. Как сделать так, чтобы инжект проверял If есть одежда на чаре Then снять одежду с чара Else Одеть одежду на чара. Но как эти проверки звучат на языке инжекта я не нашёл, прозьба подсказать, как решить данную проблему или предложить альтернативу этому способу.


Назначь какую-то вещь контрольной для проверки на арм. Например, кираса. Соответственно иди в хелп и смотри UO.ObjAtLayer()

Posted: 2005-01-06 23:56:23
by KrafteR
Edred wrote:Назначь какую-то вещь контрольной для проверки на арм. Например, кираса. Соответственно иди в хелп и смотри UO.ObjAtLayer()

А в хелпе, есть какой-нибудь поиск или где это там искать, что-то не могу найти, намекни в каком разделе хоть.

Posted: 2005-01-06 23:59:21
by Edred
KrafteR wrote:
Edred wrote:Назначь какую-то вещь контрольной для проверки на арм. Например, кираса. Соответственно иди в хелп и смотри UO.ObjAtLayer()

А в хелпе, есть какой-нибудь поиск или где это там искать, что-то не могу найти, намекни в каком разделе хоть.


Там в конце есть что-то типа "Все по алфавиту", вот туда и иди.

Posted: 2005-01-07 00:15:16
by KrafteR
Edred wrote:Там в конце есть что-то типа "Все по алфавиту", вот туда и иди.

Не против если завалю вопросиками?
1.Как сделать проверку на кирассу?
2.Можно ли сделать много проверак, на много итемов через OR, тоесть

Code: Select all

If одета кираса OR шапка OR роба OR щит Then... 

3.
Help wrote:Синтакс: object uo.ObjAtLayer(layer)
Тема: Команды скриптов Ключевые слова: uoscript, objhandling, equipment
Возвращает обьект object находящийся на указаном слое layer, например в правой руке (layer="Rhand").
Выписка из хелпа, чем эта команда может помочь?
P.S Я тебя наверно достал, но хочется научится.

Posted: 2005-01-07 00:18:45
by Edred
1. If UO.GetGraphic( UO.ObjAtLayer( 'Torso' ) ) == 'тип кирасы' Then

2. Ну ты уже понял как это сделать?

3. Кстати, на странице с командой есть ссылка на слои (layer), перейди и почитай.

ЗЫ: Я здесь бываю в основном чтобы помогать тем, кто хочет научиться. Так что не стесняйся.

Posted: 2005-01-07 00:46:17
by KrafteR

Code: Select all

sub main()
UO.Setarm("1")
UO.Setdress("2")
If
UO.GetGraphic(UO.ObjAtLayer('Torso'))=='0x1415' or
UO.GetGraphic(UO.ObjAtLayer('Legs'))=='0x1411' or
UO.GetGraphic(UO.ObjAtLayer('Pants'))=='0x13BE' or
UO.GetGraphic(UO.ObjAtLayer('Cloak'))=='0x1515' or
UO.GetGraphic(UO.ObjAtLayer('Robe'))=='0x1F03' or
UO.GetGraphic(UO.ObjAtLayer('Robe'))=='0x204E' or
Then
UO.Disarm()
wait(100)
UO.Undress()
else
uo.setdressspeed(100)
UO.Arm("1")
UO.dress("2")
endif
end sub

Пишет ошибку в 4ой строчки, а там только If написано... ничего не понимаю :? .

Posted: 2005-01-07 01:01:44
by AGRS
KrafteR wrote:Пишет ошибку в 4ой строчки, а там только If написано... ничего не понимаю :? .


1 оператор - 1 строка. Но никак не 8 строк.

Posted: 2005-01-07 01:07:46
by KrafteR

Code: Select all

sub main()
UO.Setarm("1")
UO.Setdress("2")
If UO.GetGraphic(UO.ObjAtLayer('Torso'))=='0x1415'
Then
UO.Disarm()
wait(100)
UO.Undress()
else
uo.setdressspeed(100)
UO.Arm("1")
UO.dress("2")
endif
end sub

И всё равно ошибка в 4ой строке. Как с этим бороться?

Posted: 2005-01-07 01:55:19
by Ugrum.
не 8 строк,и скажу больше-даже не 2 :)

Posted: 2005-01-07 10:25:33
by Sfagnum
KrafteR wrote:

Code: Select all

sub main()
UO.Setarm("1")
UO.Setdress("2")
If UO.GetGraphic(UO.ObjAtLayer('Torso'))=='0x1415' or UO.GetGraphic(UO.ObjAtLayer('Legs'))=='0x1411' or UO.GetGraphic(UO.ObjAtLayer('Pants'))=='0x13BE' or UO.GetGraphic(UO.ObjAtLayer('Cloak'))=='0x1515' or UO.GetGraphic(UO.ObjAtLayer('Robe'))=='0x1F03' or UO.GetGraphic(UO.ObjAtLayer('Robe'))=='0x204E' Then
UO.Disarm()
wait(100)
UO.Undress()
else
uo.setdressspeed(100)
UO.Arm("1")
UO.dress("2")
endif
end sub

Пишет ошибку в 4ой строчки, а там только If написано... ничего не понимаю :? .
;)
ЗЫ ток копируй из цитаты, т.е. нажми цитировать и копируй нужное

Posted: 2005-01-07 10:28:28
by KrafteR
Sfagnum wrote:
KrafteR wrote:

Code: Select all

sub main()
UO.Setarm("1")
UO.Setdress("2")
If UO.GetGraphic(UO.ObjAtLayer('Torso'))=='0x1415' or UO.GetGraphic(UO.ObjAtLayer('Legs'))=='0x1411' or UO.GetGraphic(UO.ObjAtLayer('Pants'))=='0x13BE' or UO.GetGraphic(UO.ObjAtLayer('Cloak'))=='0x1515' or UO.GetGraphic(UO.ObjAtLayer('Robe'))=='0x1F03' or
UO.GetGraphic(UO.ObjAtLayer('Robe'))=='0x204E' Then
UO.Disarm()
wait(100)
UO.Undress()
else
uo.setdressspeed(100)
UO.Arm("1")
UO.dress("2")
endif
end sub

Пишет ошибку в 4ой строчки, а там только If написано... ничего не понимаю :? .
;)
ЗЫ ток копируй из цитаты, т.е. нажми цитировать и копируй нужное

И всё таже ошибка, и всё там же.

Posted: 2005-01-07 10:35:56
by Sfagnum
не все переносы строк удалил ;) пофиксил. копируй заново

ЗЫ Инжа не поддерживает перенос на другую строку.

Posted: 2005-01-07 11:01:44
by KrafteR
Sfagnum wrote:не все переносы строк удалил ;) пофиксил. копируй заново

ЗЫ Инжа не поддерживает перенос на другую строку.

Тоесть, все эти 8 строк надо напмсать в строчку?

Posted: 2005-01-07 11:21:06
by KrafteR
Всё скрипт работает... Ура товарисчи, всем спасибо за помощь.
Теперь новые вопросы :oops: .
Проблемма в том, что унсп блокирует снимание, одевание вещей с такой скоростью.
1. uo.setdressspeed()- команда только для одевания одежды, или для снимания тоже.
2.uo.setdressspeed()- не работает, скорее всего потому, что я её не туда вставил, хотя пробовал везде.
P.S. А что самое странное, он не одевает или не снимает из-за унеспе только 2 вещи, причём всегда только 2.

Posted: 2005-01-07 13:00:24
by Sfagnum
KrafteR wrote:
Sfagnum wrote:не все переносы строк удалил ;) пофиксил. копируй заново

ЗЫ Инжа не поддерживает перенос на другую строку.

Тоесть, все эти 8 строк надо напмсать в строчку?
ну надо же... ;)

Posted: 2005-01-07 16:52:38
by Yoko
я гдето в доке видел что есть символ переноса на другую строку, подчёркивание вроде, или дробь... кому интересно поворошите документацию

Posted: 2005-01-07 16:56:15
by KrafteR
Yoko wrote:я гдето в доке видел что есть символ переноса на другую строку, подчёркивание вроде, или дробь... кому интересно поворошите документацию

Где можно взять документацию на данный продукт?