Yoko

All sides of Injection
It is currently 2017-11-19 08:57:43

All times are UTC+02:00




Post new topic  Reply to topic  [ 6 posts ] 
Author Message
PostPosted: 2004-04-06 18:52:32 
Offline
User avatar

Joined: 2004-04-03 18:39:28
Posts: 175
Дета вот нашел гайд на русском языке...
Учитесь читайте.....

CODE

2.1 CALL
Синтаксис: CALL FILENAME [(Var1) (Var2) (VarX)]
CALL вызовет другой скрипт из текстогого файла, и после возвращается к главному скрипту. Обычное расширение скрипт-файла: .txt Если вы работаете со сложным скриптом - возможно с сотнями линий кода, мы настоятельно рекомендуем разбить скрипт на файлы.
См. также: EXIT - как выйти из скрипта вызванного "CALL". Команда CALL поддерживает параметры. Параметры хранятся в переменных: %1 %2 %3 и т.д.
Пример:
call macromine
call macromine.scr
call mminer\macromine
call c:\scripts\mminer\macromine.txt
call test.txt hail and farewell
halt
***test.txt***
msg %1 %2 %3 $
***end***

2.2 CHOOSESKILL
Синтаксис: CHOOSESKILL SKILL [REAL]
Используйте CHOOSESKILL, чтобы выбрать навык, который появится в системной переменной #skill. Вам необходимо ввести первые 4 знака названия навыка, так вместо magery вы можете использовать mage или magenta Исключения: AnimalLore и Stealth названы anil и stlt.

2.3 CLICK
Синтаксис: CLICK x y [r d g p n]
Кроме обчного щелчка, вы можете использовать, правый щелчок(r), двойной щелчок(d), тянуть(g), положить(p), или не делать ничего кроме перемещение курсора. Вы можете найти координаты курсора в полосе статуса, справа от положения вашего персонажа. Используйте тянуть и положить для перемещения объектов. Если вы любите сёрфинг в интернете (или делаете что-то еще на своей машине, во время работы скрипта) выберите
опцию в EasyUO - не перемещать курсор, чтобы предотвратить ультимный курсор от перемещения. Эта опция не всегда работает.
При перемещении кучки вы можете тянуть, нажать ентер, и затем нажать на конечное местоположение. Пример:
click 639 479
click 200 70 d
click 300 50 g
click 300 100 p
click 300 100 r
click 300 50 g
msg $
click 300 100 p

2.4 CMPPIX
Синтаксис: CMPPIX {Number} {t f}
cmmpix сравнивает цвет двух сохраненных точек (см. SAVEPIX).Если они равняются то следующая линия обрабатывается. Используйте f (false), чтобы изменить эффект наоборот.
Пример:
cmppix 1
cmppix 1 t
cmppix 50 t 5
cmppix 50 f 5

2.5 CONTPOS
Синтаксис: CONTPOS xcord ycord
Перемещает последний открытый контейнер в позицию x , y . Использование этой функции в людных местах подобно Бритбанку не рекомендуется, но это должно работать в вашей шахтерской лачуге. При использовании UOA выключите опцию Display/Show Container Count. Пример:
msg bank $
wait 20 10
contpos 10 10
halt

2.6 DELETEJOURNAL
Синтаксис: DELETEJOURNAL
Эта команда заставляет scanjournal игнорировать прошлую читаемую линию и все линии выше. Пример:
for %cnt 10 1
{
scanjournal %cnt
if hail in \#journal
{
msg farewell!$
deletejournal
}
}
Если вы или кто-то еще говорит “привет”, вы ответите
“Прощай” только однажды.

2.7 DISPLAY
Синтаксис: DISPLAY type messages
На данный момент описания нет.
type: ok okcancel yesno yesnocancel Пример:
display yesno You are overloaded!$Continue anyway?
if #dispres = yes
msg Answer was yes!$
if #dispres = no
msg Answer was no!$
halt

2.8 EVENT DRAG
Синтаксис: EVENT DRAG dragid
Эта команда тянет определенный предмет без использования мыши. Не имеет значения, находится предмет на земле или в сумке. С этой командой нельзя использовать переменную #ndmod. Чтобы отпустить вещь - используйте команду CLICK.
Пожалуйста обратите внимание: прежде, чем использовать событийные команды, вы должны инициализировать их с помощью InitEvents, в начале скрипта. Пример:
initevents
event drag #lobjectid
msg $
click 123 456 p

2.9 EVENT MACRO
Синтаксис: EVENT MACRO Param1 [Param2] [Param3]
Вы можете получить прямой доступ к макросам клиента. Что-бы использовать EVENT MACRO вы должны начать ваш скрипт с INITEVENTS. Пример:
initevents
wait 2s
top:
event macro 5 0; move 1 tile north
wait 1s
event macro 5 5; move 1 tile south
wait 1s
goto top
-----------------------------------------------
Param1: Param2: Param3:
1 say 0 - string
2 emote 0 - string
3 whisper 0 - string
4 yell 0 - string
5 walk 0 NW
5 walk 1 N
5 walk 2 NE
5 walk 3 E
5 walk 4 SE
5 walk 5 S
5 walk 6 SW
5 walk 7 W
6 war/peace 0 -
7 paste 0 -
8 open 0 configuration
8 open 1 paperdoll
8 open 2 status
8 open 3 journal
8 open 4 skills
8 open 5 spellbook
8 open 6 chat
8 open 7 backpack
8 open 8 overview
8 open 9 mail
8 open 10 partymanifest
8 open 11 partychat
9 close 0 configuration
9 close 1 paperdoll
9 close 2 status
9 close 3 journal
9 close 4 skills
9 close 5 spellbook
9 close 6 chat
9 close 7 backpack
9 close 8 overview
9 close 9 mail
9 close 10 partymanifest
9 close 11 partychat
10 minimize 0 configuration
10 minimize 1 paperdoll
10 minimize 2 status
10 minimize 3 journal
10 minimize 4 skills
10 minimize 5 spellbook
10 minimize 6 chat
10 minimize 7 backpack
10 minimize 8 overview
10 minimize 9 mail
10 minimize 10 partymanifest
10 minimize 11 partychat
11 maximize 0 configuration
11 maximize 1 paperdoll
11 maximize 2 status
11 maximize 3 journal
11 maximize 4 skills
11 maximize 5 spellbook
11 maximize 6 chat
11 maximize 7 backpack
11 maximize 8 overview
11 maximize 9 mail
11 maximize 10 partymanifest
11 maximize 11 partychat
12 opendoor 0 -
13 useskill 1 anatomy
13 useskill 2 animal lore
13 useskill 35 animal taming
13 useskill 4 arms lore
13 useskill 6 begging
13 useskill 12 cartography
13 useskill 14 detecting hidden
13 useskill 15 enticement
13 useskill 16 evaluating intelligence
13 useskill 19 forensic evaluation
13 useskill 21 hiding
13 useskill 23 inscription
13 useskill 3 item identification
13 useskill 46 meditation
13 useskill 9 peacemaking
13 useskill 30 poisoning
13 useskill 22 provocation
13 useskill 48 remove trap
13 useskill 32 spirit speak
13 useskill 33 stealing
13 useskill 47 stealth
13 useskill 36 taste identification
13 useskill 38 tracking
14 lastskill 0 -
15 castspell 0 clumsy
15 castspell 1 create food
15 castspell 2 feeblemind
15 castspell 3 heal
15 castspell 4 magic arrow
15 castspell 5 night sight
15 castspell 6 reactive armor
15 castspell 7 weaken
15 castspell 8 agility
15 castspell 9 cunning
15 castspell 10 cure
15 castspell 11 harm
15 castspell 12 magic trap
15 castspell 13 magic untrap
15 castspell 14 protection
15 castspell 15 strength
15 castspell 16 bless
15 castspell 17 fireball
15 castspell 18 magic lock
15 castspell 19 poison
15 castspell 20 telekinesis
15 castspell 21 teleport
15 castspell 22 unlock
15 castspell 23 wall of stone
15 castspell 24 arch cure
15 castspell 25 arch protection
15 castspell 26 curse
15 castspell 27 fire field
15 castspell 28 greater heal
15 castspell 29 lightning
15 castspell 30 mana drain
15 castspell 31 recall
15 castspell 32 blade spirits
15 castspell 33 dispel field
15 castspell 34 incognito
15 castspell 35 magic reflection
15 castspell 36 mind blast
15 castspell 37 paralyze
15 castspell 38 poison field
15 castspell 39 summon creature
15 castspell 40 dispel field
15 castspell 41 energy bolt
15 castspell 42 explosion
15 castspell 43 invisibility
15 castspell 44 mark
15 castspell 45 mass curse
15 castspell 46 paralyze field
15 castspell 47 reveal
15 castspell 48 chain lightning
15 castspell 49 energy field
15 castspell 50 flame strike
15 castspell 51 gate travel
15 castspell 52 mana vampire
15 castspell 53 mass dispel
15 castspell 54 meteor swarm
15 castspell 55 polymorph
15 castspell 56 earthquake
15 castspell 57 energy vortex
15 castspell 58 resurrection
15 castspell 59 air elemental
15 castspell 60 summon daemon
15 castspell 61 earth elemental
15 castspell 62 fire elemental
15 castspell 63 water elemental
16 lastspell 0 -
17 lastobject 0 -
18 bow 0 -
19 salute 0 -
20 quitgame 0 -
21 allnames 0 -
22 lasttarget 0 -
23 targetself 0 -
24 arm/disarm 1 left
24 arm/disarm 2 right
25 waitfortarg 0 -
26 targetnext 0 -
27 attacklast 0 -
28 delay 0 - number
29 circletrans 0 -
31 closegumps 0 -
32 alwaysrun 0 -
33 savedesktop 0 -
34 killgumpopen 0 -
35 wresdisarm 0 -
36 wresstun 0 -
Last update 04.12.2001 by Webmaster

2.10 EVENT SKILLLOCK
Синтаксис: EVENT SKILLLOCK SKILLNAME UP DOWN LOCKED
Эта команда изменяет статус замка данного навыка вверх вниз или заперто. Пример:
EVENT SKILLLOCK MAGE DOWN
;this sets your magery skill down
EVENT SKILLLOCK ARMS LOCKED
;this sets your Arms Lore Skill locked

2.11 EVENT SYSMESSAGE
Синтаксис:
Создает системное сообщение, который появляется в левом нижнем углу экрана. Другие люди не могут видеть его. Чтобы изменить цвет сообщения, вы можете использовать переменную #SYSMSGCOL. Пример:
EVENT SYSMESSAGE This is a Systemmessage

2.12 EXECUTE
Синтаксис: EXECUTE command
Используйте EXECUTE , чтобы запустить внешние программы. вы можете также определить параметры командной строки. Чтобы использовать execute, вы должны разрешить это в EasyUO. Пример :
execute easyuo.exe anotherscript.txt
execute http://www.easyuo.com
execute mailto:cheffe@easyuo.de

2.13 EXIT
Синтаксис: EXIT
Выход из подскрипта. Если вы используете команду выхода в главном скрипте,
выполнение будет повторно начато в первой линии.

2.14 FINDITEM
Синтаксис: FINDITEM [itemid itemtype]
Находит предметы определенного типа. Определите тип изделия которое вы будете искать. вы можете получить тип каждого объекта двойным щелчком на него и последующей проверкой переменной #LObjectType. Если вы хотите найти больше одного объекта определенного типа, используйте индекс, чтобы определить о каком именно объекте вы хотите получить информацию. Например ища Katans, имея 2 из них в вашей сумке, вы получаете первый используемый индекс = 1 и второй используемый индекс = 2.
Возвращаемые значения:
#FindID,
Id найденного предмета. Пишите это в #LTargetID, и используйте это с вашим UO last target macro. (Работает также с #LObjectID)
#FindX
X позиция предмета
#FindY
Y позиция предмета
Внимание: они должны быть приспособлены для использывания #ndmod для операции тащить и ложить.
#FindKind
В эту переменную функция возвращает код :
Возможные значения:
0 = предмет находится в рюкзаке
1 = предмет находится на пол
-1 = предметы не были найдены
Дополнительная информация:
Предметы которые вы ищете должны быть на экране, мешки в которых они могут быть должны быть открыты.
Если вы указали неверный индекс FindKind он становится –1.
FindBagID показывает ID мешка, предмет - внутри.
FindItem сортирует предметы по их ID. Предметы должны сохранять свои индексы даже когда перемещены в другой мешок. (кроме случаев когда вы добавляете новые предметы или удаляете их)
FindItem: использовать IDs чтобы найти предмет очень полезно, если вы знаете что вы ищите (например NPC Продавец). Только определите ID этого типа. вы можете легко определять тип монстров или животных. Нажмите на них мишенью, получите Id из LTargetID и сделайте FindItem по определенному ID. Тип записан в новую переменную #FindType.
FindItem: несколько типов, Ids и wildcards (*)
Одновременно можно определять больше чем одного типа или IDat .Их можно смешивать.
;Typ1 = XYY, Typ2 = XYZ, ID = ABCDEFG
nditem XYY XYZ ABCDEFG
; IS = Male, HS = Female
nditem HS IS
FindItem: #FindType
Это необходимо, чтобы определить тип найденного предмета (при определении нескольких разных типов).
FindItem: #FindMod может быть задействована после нахождения. Необходим при использовании нескольких разных типов, поскольку у них разные модификаторы.


2.15 FOR
Синтаксис: FOR variable value1 value2 lines
Используйте FOR чтобы создавать классический цикл FOR / NEXT который вы так любите в бейсике.
Переменная = индекс цикла
Может использоваться в вашей программе
Value1 = начальное значение
Value2 = конечное значение
Используйте структуру блоков с { скобками, или определите число линий, которые будут обработаны. Пример:
Bsp1:
for %cnt 1 10 2
msg %cnt $
wait 20
halt
Bsp2:
for %cnt 1 10
msg %cnt
msg $
halt
Bsp3:
for %cnt 1 10
{
msg %cnt $
wait 20
}
halt
Bsp4:
msg backward: $
for %cnt 10 1
{
msg %cnt $
wait 20
}
halt
Bsp5:
msg verschachtelt$
for %cnt1 2 0
{
for %cnt2 9 0
{
msg %cnt1 %cnt2 $
wait 20
}
}
halt
msg verschachtelt$
for %cnt1 2 0
{
for %cnt2 9 0
{
msg %cnt1 %cnt2 $
wait 20
}
}
halt

2.16 GETSHOPINFO
Синтаксис: GETSHOPINFO
В даный момент информации нет.

2.17 GOSUB
Синтаксис: GOSUB subroutine
Можно использовать подпрограмму, если это секция кода, который часто используется.
Например у вас есть часть кода, которая называется Z. Оствльные к примеру назовем ABC. Подпрограмма(процедура) позволяет легко сделатьь такую структуру: A,Z,B,Z,C,Z
К примеру есть скрипт по майнингу, чар перемещается в разные места и в каждом копает. У меня есть процедура копания.В каждом месте я просто запускаю эту процедуру...
Команды, которые вы должны знать - sub, gosub, и return. Процедура начинается с sub и названия (например sub dig), и заканчиваются словом return. Вызывать процедуру можно используя команду gosub, сопровождающуюся названием процедуры.
ПРИМЕР: simple fake mining example. This macro would first move to location 1, then dig, then move to location 2, then dig, then move to location 3, then dig, then stop. Example:
location1:
move 2000 1500 a 10s
gosub dig
location 2:
move 2005 1505 a 10s
gosub dig
location 3:
move 2010 1510 a 10s
gosub dig
HALT
sub dig
set #lobjectid %shovel
key %lastobjectkey
click 400 400
return

2.18 GOTO
Синтаксис: GOTO label
Используйте GOTO, чтобы перейти к определенной метке в вашем коде. Метки должны закончиться двоеточием (старый добрый DOS) Пример:
Beginning:
call run_only_once.txt
Continue:
call important.txt
.....
goto Continue

2.19 HALT
Синтаксис: HALT
ОСТАНАВЛИВАЕТ программу подобно выбору остановки в меню. Для полного перезапуска скрипта

2.20 IF
Синтаксис: IF var1 Operator var2 [NrOfLines]
При использовании IF следующая линия будет обработана толко в случае получения TRUE. Необходимо использовать пробелы до и после оператора. Операторы: =, >, <, <>, =, < =. Блочная структура: Вместо определения числа линий, которые будут обработаны вы можете использовать { образные скобки чтобы отмечать линии, которые будут обработаны.
Новые операторы: IN и NOTIN
( См. также выражение scanjournal ) Пример:
if #weight > 390
msg overloaded!!!$
if 1 > 2 2
msg not processed$
msg not processed$
msg continued here$
halt

2.21 IGNOREITEM
Синтаксис: IGNOREITEM id type reset [list]
Первоначально IgnorItem, был задуман чтобы справлялся с некоторыми проблемами при FindItem. Но это оказалось очень полезным для навыков подобно Провокации. Когда вы игнорируете предмет/человека, это больше не замечается FindItem. Это может например использоваться для отравления, чтобы избежать отравления того же оружия дважды. Пример:
IGNOREITEM id
IGNOREITEM reset
;IgnLists.txt
;This script will demonstrate
;the use of several ignoreitem
;lists. Press the start button,
;go to a shop, and target two
;NPCs of your choice!
msg; Take a dagger and target NPC 1$
wait 3s
msg; (Press play to continue)$
pause
set %npc1 #ltargetid
msg; Take a dagger and target NPC 2$
wait 3s
msg; (Press play to continue)$
pause
set %npc2 #ltargetid
msg; ---Start---$
ignoreitem %npc1 1
ignoreitem %npc2 2
msg; Nothing will be found$
finditem %npc1
msg; 1: #findid $
wait 3s
finditem %npc2
msg; 2: #findid $
wait 3s
ignoreitem reset 1
msg; NPC 1 will be found$
finditem %npc1
msg; 1: #findid $
wait 3s
finditem %npc2
msg; 2: #findid $
wait 3s
ignoreitem %npc1 1
2 (ENGLISH) COMMANDS 20
ignoreitem reset 2
msg; NPC 2 will be found$
finditem %npc1
msg; 1: #findid $
wait 3s
finditem %npc2
msg; 2: #findid $
wait 3s
msg; ---End---$
halt

2.22 INITEVENTS
Синтаксис: initevents
Чтобы использовать событийные команды, initevents должен быть выполнен однажды. 'Однажды' относится к случаям клиента. Это означает, каждый раз когда вы стартуете клиента, вы должны использовать команду initevents. Один пример был бы в начале вашего главного скрипта, с поздними запусками некоторых процедур в цикле.
Пример:
initevents

2.23 KEY
Синтаксис: KEY key [alt] [ctrl] [shift]
Функция KEY посылает нажатия клавиш в UO. Вы можете использовать A-Z, 0-9, F1 к F12, и некоторые другие специальные клавиши. Дополнительные комбинации с ctrl, alt или shift также могут быть реализованы. Дополнительная информация: При запуске больше чем одной UO, может случаться что спец. клавиши ( ctrl, alt, shift) не работает. В этом случае используйте F1 - F12, чтобы избежать этой проблемы.
Специальные клавиши - ESC, BACK, TAB, ENTER, PAUSE, CAPSLOCK, SPACE, PGUP,
PGDN, END, HOME, LEFT, RIGHT, UP, DOWN, PRNSCR, INSERT, DELETE,
NUMLOCK, и SCROLLLOCK. Пример:
key f1
key a ctrl
key esc
key f4 alt (Well ... You wouldn't use this one, would you?)

2.24 MOVE
Синтаксис: MOVE x y [tolerance] [maxtime]
MOVE перемещает ваш персонаж в данные целевые координаты, которые могут быть замечены в первой колонке статусбара. Tolerance определяет расстояние от чара к объекту. Если tolerance нет она определяется стандартным значением 2.
Есть также параметр ограничения времени maxtime после прохождения которого ход отменяется если цель не была достигнута. Пример:
move 1418 1697
move 1439 1693 1
move 1439 1693 0 15s

2.25 MSG
Синтаксис: MSG message [$]
Команда MSG посылает текст в UO, как будто это было набрано с клавиатуры. Знак доллара – то же самое что нажатие Enter.
Пример:
msg forward $
msg hail $and $farewell $
Last update 10-28-01 by Cheffe

2.26 NEXTCPOS
Синтаксис: NEXTCPOS xcord ycord
Используйте NEXTCPOS, чтобы установить координаты для следующего открытого контейнера к x y. Вы можете определить отрицательные значения, но будьте осторожны и не размещайте ваш контейнер вне поля зрения Это можно (в отличие от contpos) использоваться в людных местах. Пример:
nextcpos 10 10
wait 10
msg bank $

2.27 ONHOTKEY
Синтаксис: ONHOTKEY key [strg alt shift]
Команда OnHotKey - полезна для выполнения действий при нажатии кнопки, типа питья микстуры, или использовании бинтов. Команда OnHotKey выполняет лишь следующую линию после себя. Так что лучше использовать goto или gosub, я предпочитаю goto.
Что-бы эти кнопки были доступны, необходимо создать цикл.
Пример:
HotkeyLoop:
OnHotKey F1
GOTO MessageOne
OnHotKey F2
GOTO MessageTwo
GOTO HotkeyLoop
MessageOne:
msg Congrats, you pressed F1 $
goto HotkeyLoop
MessageTwo:
msg Congrats, you pressed F2 $
goto HotkeyLoop

2.28 PAUSE
Синтаксис: PAUSE
Команда Пауза прерывает выполнение скипта. Выполнение может быть продолжено со старой позиции снова после нажатия кнопки Play. Пример:
PAUSE

2.29 PLAYCD
Синтаксис: PLAYCD диск
Проигрывает диск. Удобен когда небходимо вернуть ваше внимание к игре.
Пример:
if #hits < 90
playcd d:
if #hits < 30
call rescue.txt

2.30 SAVEPIX
Синтаксис: SAVEPIX xcord ycord memory
Savepix сохраняет цвет в данных координатах. В целом, вы можете сохранять до тысячи разных точек. Системная переменная #pixcol всегда показывает цвет последней сохраненной точки. Пример:
savepix 620 400 1
savepix 430 210 2

2.31 SCANJOURNAL
Синтаксис: scanjournal [entry index]
При использовании scanjournal [entry index] вы можете увидеть линию журнала нумерованныю [entry index] в переменной #journal.
scanjournal 1 = последняя строчка журнала
scanjournal 2 = строчка перед последней
Вы можете проверять строковое значение в #journal, используя операторы IN и NOTIN
#journal не обновляется, вы должны сдать цикл. Пример:
Example:
scanjournal 1
if is_attacking_you in #journal
{
msg Guards ! $
call recallme
}
goto Example

2.32 SET
Синтаксис: SET variable value [+ - * / [value]]
Использование SET чтобы установить или изменить переменные. EUO Версии большее чем 1.11b позволяет использование операторов +,-, *,/ и % . Числа в Изи всегда положительны, так что 4 равняется -4. Это может использоваться, чтобы вычислить расстояние к объектам и т.д. Пример:
Syntax1: SET variable value [operator value]
Syntax2: SET variable value [+ - * / [value]]
set #lspell 40
set #lspell #lskill
set *1 #weight2
set *1 *1 - 1
set *1 *1 +
set *1 #mana + 5

Example of an FOR NEXT loop:
set *1 30
N1:
set *1 *1 - 1
msg; *1 $
wait 20
if *1 > 0
goto N1
msg done$
halt

2.33 SHUTDOWN
Синтаксис: SHUTDOWN [FORCE]
Этой командой вы можете выключать ваш компьютер. При выборе force закрываются неотвечающие задачи. Пример:
if #time = 1900
{
shutdown force
}

2.34 STOP
Синтаксис: STOP
Останавливает программу подобно выбору остановки в меню. Происходит полный рестарт скрипта. Пример:
if #time = 2300
{
msg go home $
stop
}

2.35 TARGET
Синтаксис: TARGET [maxtime]
Target останавливает выполнение скрипта, пока не появляется targetcursor. Maxtime определяется максимальным временем, которое может пройти перед отмененой команды Target. Стандартное значение для maxtime – 2 секунды. Пример:
target 7s

2.36 Variables
Синтаксис: нет.
В ИзиУО, есть два разных типа переменных: системные и определенные пользователем. Системные переменные непосредственно взаимодействуют с UO и главным образом только читаются. Просмотреть список этих переменных вы можете в окне переменных. Системные переменные отождествляют с префиксом (#). Кроме того, есть две два разных типа пользовательских переменных, которые могут быть используемыми и измененными свободно, чтобы хранить числа и строки. Возможны простые вычисления, что позволяет строить циклы FOR-NEXT. Вы можете короткий пример в описании команды SET. Глобальные пользовательские переменные создаются с номером от 1 до 100 и (*) символом впереди. Они глобальны, что означает что они доступны во всех случаях EUO. Содержание этих переменных занесено в реестр Windows и все еще доступно после перезагрузки. Локальные пользовательские переменные имеют силу в конкретном моменте EUO, построены с идентификатором на ваш выбор и символа (%)впереди. Пример:
( ObjectIDs железной двери первого банка Brit, Felucca, Drachenfels):
Если #lobjectid = KKEGUND
goto sayit
Если OPNGUND < > #lobjectid
exit
sayit:
msg; I'm going into britbank now!$
halt

2.37 WAIT
Синтаксис: WAIT time [randomtime]
Функция WAIT останавливает выполнение скрипта до тех пор пока не пройдет указаное время. Вы можете определить
продолжительность в секундах или в шагах по 50ms. Ждать 1s = ждать 20. Если есть randomtime, то он прибавляется к времени ожидания.
Время. Пример:
wait 5s
wait 2s 1s

3. Переменные.
Описание системных переменных EasyUO.

3.1 #CHARDIR
Определяет направление в которое смотрит чар.
Возможные значения:
0 = facing North
1 = facing NorthEast
2 = facing East
3 = facing SouthEast
4 = facing South
5 = facing SouthWest
6 = facing West
7 = facing NorthWest
Пример:
top:
if #CHARDIR = 0
msg : Looking North $
wait 2s
goto top

3.2 #CHARPOSX
В этих двух переменных - текущее положение чара. Значения соответствуют x/y rоординатам UO auto map. Пример:
msg #CHARPOSX $
msg #CHARPOSY $
halt

3.3 #CHARPOSY
-//-

3.4 #CHARSTATUS
В #CHARSTATUS - текущий статус чара:
C = poisend
H = hidden
CH = poisend and hidden
Пример:
if C in #CHARSTATUS
{
call cureme.txt
}

3.5 #CONTID
Эта переменная содержит id активного в настоящее время контейнера. Это означает, что если выоткрываете ваш рюкзак, #contid будет EGKTIND как в примере. Если вы теперь открываете другой контейнер id изменится на id нового открытого контейнера (JHBVFTZ как в примере). Если вы теперь тянете предмет из вашего рюкзака, #contid изменится назад на EGKTIND, если вы теперь ложите предмет в другой контейнер, #contid изменится на JHBVFTZ. Команда contpos установит позицию активного контейнера. Это означает это contpos используют #contid, чтобы установить его в новую позицию. Пример:
key i alt
msg #contid Dies ist meine eigene Rucksack ID $
contpos 200 200

3.6 #CONTKIND
В даный момент информации нет.

3.7 #CONTPOSX
В этих переменных сохранено x/y положение контейнера. Эти переменные лучше всего опишет команда NETXCPOS, которая устанавливает обе переменные.

3.8 #CONTPOSY -//-

3.9 #CONTTYPE
Эта переменная показывает тип контейнера, который в настоящее время открыт и находится в фокусе/активнен. Пример:
key i alt
wait 20
msg #conttype ist der Type meines Rucksacks.$

3.10 #CURSORX
Координаты курсора мыши.

3.11 #CURSORY -//-

3.12 #DEX
В этой переменной числовое значение ловкости.

3.13 #FINDBAGID
Когда вы ищете предмет с помощью finditem, и тот предмет находится в контейнере или мешке, в этой переменной будет id этого мешка.

3.14 #FINDCOL
В даный момент информации нет.

3.15 #FINDDIST
Эта переменная позволяет ограничивать расстояние с котороым EasyUo будет искать цель, указаную в команде target (next target). Самый легкий пример в макро provoke , который ищет цели, чтобы provoke на них. Пример:
initevents
initevents
;use skill event macro provoke
event macro 13 22
target
;section for first provoked animal
;section or marker id
x:
;target next event macro command
event macro 26 0
wait 10
finditem #ltargetid
;to not target blues when provoking
if #findrep < 3
goto x
;the part of the macro that this example
;Provoke does not work if targets are too
;far away so the macro is made more
;efficient by limiting the search areas to
;10 tiles in any direction.
if #finddist > 10
;you need to loop back to the target next
;command to choose a new target
goto x
;if the target is within 10 tiles you need
;to use the last target key to apply the
;target
;here is the event macro for last target
event macro 22 0
;this is the section for the second target
;to provoke on, it is the same as the
;previous section.
y:
event macro 26 0
wait 10
finditem #ltargetid
if #findrep < 3
goto y
if #finddist > 10
goto y
event macro 22 0
wait 10s
if yes in #charghost
halt

3.16 #FINDID
Если вы ищет предмет с использованием nditem, переменная #ndid будет содержать ID предмета, который вы найдете. Пример:
nochmal:
finditem POF
if #findkind = 1 2
ignoreitem #findid
goto nochmal
if findkind = -1 1
halt
msg #findid is the ID of the gold in my bag.I have exactly #findstack gold on me.$

3.17 #FINDKIND
Показывает, где предмет был найден.
#findkind -1 = Предмет не найден.
#findkind 0 = Предмет находится в мешке.
#findkind 1 = Предмет находится на земле.

3.19 #FINDREP
1 : Innocent
2 : Friend
3 : Gray
4 : Criminal
5 : Enemy
6 : Murderer
У серого (3) более высокий приоритет чем у остальных.

3.20 #FINDSTACK
Эта переменная показывает кол-во изделий в стеке который найден командой finditem.

3.21 #FINDTYPE
В даный момент информации нет.

3.22 #FINDX
Показывает значение X предмета который найден finditem, также читается #FINDMOD Пример:
finditem %forgeid
if #findkind = 1
{
msg The Forge is at X #findx $
msg The Forge is at Y #findy $
ignoreitem %forgeid
halt
}

3.23 #FINDY -//-

3.24 #FINDZ
В даный момент информации нет.

3.25 #GOLD
В этой переменной показано сколько золота ваша чар имеет в рюкзаке. Чтобы это значение было правильно - обязательно, что-бы полоса статуса была открыта.

3.26 #HITS
Показывает кол-во хитов чара . Чтобы эта переменная была определена правильно, полоса статуса должна быть открыта. Пример:
if #hits < #str
{
msg i need healing $
call healme.txt
}

3.27 #INT
Значение интеллекта вашего чара.

3.28 #JCOLOR
Нет описания в даный момент.

3.29 #JOURNAL
Когда вы используете команду scanjournal в этой переменной будет хранится значение сканированой линии. Пример:
scanjournal 1
if YOU_SEE_LORD_BRITISH in #journal 1
msg Hail to thee, Mylord!$

3.30 #LHANDID
Эти переменные содержат id последнего предмета/оружия/щита, который вы носили. #lhandid предназначен для левой руки, а #rhandid - для правой. Можно использовать это в UO Makro вооружаться/разоружаться. Пример:
set %waffe;
nochmal:
finditem %waffe %cnt
if #findkind = -1 1
halt
set #lhandid #findid
key f5;UO Makro for arm/disarm
wait 1s
key f5;UO Makro for arm/disarm
wait 1s
ignoreitem #findid
goto nochmal

3.31 #LLIFTEDID
Эта переменная содержит id последнего тянутого/поднятого объекта. Пример:
initevents
finditem JTL
event drag #findid
wait 20
msg $
wait 20
msg Der Gegenstand hat die ID #lliftedid $

3.32 #LOBJECTID
В этой переменной хранится уникальный id предмета который вы использовали в последний раз. Если вы нажмете дабл-кликом на молоток кузнеца, id этого молотка показывается здесь.

3.33 #LOBJECTYPE
В даный момент информации нет.

3.34 #LSKILL
Тут хранится последний навык который вы использовали. В эту переменную можно записывать.

3.35 #LSPELL
Тут хранится последний спелл который вы использовали. В эту переменную можно записывать.

3.36 #LTARGETID
Тут хранится id последнего предмета/чара /животного, которое вы выбирали. Использовать можно что-бы найти id предмета или можно записывать в эту переменную, чтобы установить последнюю цель.

3.37 #LTARGETKIND
Здесь видно является ли ваша последняя цель ресурсом подобно дереву или объекту. Эта переменная может быть перезаписана.

3.38 #LTARGETX
В даный момент информации нет.

3.39 #LTARGETY
В даный момент информации нет.

3.40 #LTARGETZ
В даный момент информации нет.

3.41 #MANA
Тут показанна мана чара. Чтобы эта переменная была определена правильно, полоса статуса должна быть открыта.

3.42 #NEXTCPOSX
С помощью этой переменной можно контролировать где откроется следующий контейнер.

3.43 #NEXTCPOSY -//-

3.44 #PIXCOL
Если вы сохраняете код цвета точки с помощью savepix x y 0, он показан в этой переменной.

3.45 #RANDOM
В даный момент информации нет.

3.46 #RHANDID
Также есть #LHANDID

3.47 #SCNT
Таймер в секундах. Начинается с 0, с запуска окна.

3.48 #SHARD
Название текущего шарда.

3.49 #SHOPCNT
Количество изделий у вендора.

3.50 #SHOPCURPOS
Номер верхнего предмета в списке вендора. Переменная обновляется командой GETSHOPINFO.

3.51 #SHOPITEMID
ID верхнего предмета в списке вендора. Переменная обновляется командой GETSHOPINFO.

3.52 #SHOPITEMMAX
Кол-во верхнего предмета в списке вендора. Переменная обновляется командой GETSHOPINFO.

3.53 #SHOPITEMNAME
Название верхнего предмета в списке вендора. Переменная обновляется командой GETSHOPINFO. Иногда это работает, иногда нет.

3.54 #SHOPITEMPRIZE
Цена верхнего предмета в списке вендора. Переменная обновляется командой GETSHOPINFO.

3.55 #SHOPITEMTYPE
Тип верхнего предмета в списке вендора. Переменная обновляется командой GETSHOPINFO.
Тот же самый тип, который вы найдете в переменных #LOBJECTTYPE и #FINDTYPE.

3.56 #SKILL
Показывает текущий уровень навыка, который был выбран командой CHOOSESKILL.

3.57 #SKILLLOCK
Показывает текущее состояние замка навыка, который вы выбрали командой CHOOSESKILL.
CHOOSESKILL MAGE REAL
msg Currently magery is set \#skilllock$
<hr>

3.58 #STAMINA
В этой переменной записана текущая стамина вашего чара. Чтобы эта переменная была определена правильно, окно статуса должно быть открыто.

3.59 #STR
В этой переменной записана сила вашего чара.

3.60 #SYSMSG
Эта переменная содержит текущее системное сообщение. Системное сообщение - сообщения в низком левом углу экрана. Пример:
if DU_BIST_ZU_MOUDE in #sysmsg 1
msg Ich leg mich jetzt schlafen!!!$

3.61 #SYSMSGCOL
Этой переменной вы можете изменять цвет системного сообщения. Пример:
initevents
for %i 1 1000
{
set #sysmsgcol %i
event sysmessage HELLO %i
wait 10

3.62 #TARGCURS
Нет описания доступного в даный момент.

3.63 #TIME
В этой переменной записано текущее время дня PC. Формат соответствует HHMM.В комбинации с командой shutdown, вы можете выключать ваш компьютер в определенное время.
3.64 #WEIGHT
В этой переменной записан текущий вес чара.


Top
   
 Post subject:
PostPosted: 2004-05-20 11:59:29 
Offline

Joined: 2004-04-16 00:56:28
Posts: 19
Вот за это спосибо :) могу написать все, но изи не хватает :) теперь можно браться за все скрипты :)


Top
   
 Post subject:
PostPosted: 2004-05-20 12:33:50 
Offline
User avatar

Joined: 2004-04-03 18:39:28
Posts: 175
user wrote:
Вот за это спосибо :) могу написать все, но изи не хватает :) теперь можно браться за все скрипты :)
=) поделис сомной своиме скриптами ! пиши на пм


Top
   
 Post subject:
PostPosted: 2004-05-21 22:55:52 
Offline
Site Admin
User avatar

Joined: 2004-04-03 16:49:38
Posts: 1968
имхо это было выложить более уместно на форуме посвящённом ИзиУО а сюда запостить только ссылку

далее мои комментарии к тексту

#FindX #FindY #FindZ
позиция предмета, причём если предмет в контейнере (см. #FindKind) то координаты в пикселях внутри контейнера, а если на полу то мировые, в игровых клетках.

более правильно список типов для поиска разделять не пробелом как там написано а подчёркиванием (заменяет пробел в значениях в изиуо) например
finditem IS_HS

#FindMod модификатор #FindX и #FindY после поиска вещи. Автоматически будет добавляться к #FindX #FindY если установлен в ненулевое значение.
если не собираетесь кликать точно на некие предметы то вам оно не надо, иначе рекомендую почитать о этом побольше в оригинале.

GOSUB начиная с некоторых версий изиуо тоже поддерживает параметры, подобно команде CALL

SCANJOURNAL некрасиво калечит русский текст (это связано с неподдержкой уникода). поэтому чтобы узнать с чем именно надо будет сравнивать #JOURNAL при поиске русских сообщений нужно сперва занести туда это насильно, потом просмотреть в окне переменных. Это будет чтото типа =K98>0 вместо ПРИВЕТ

#CONTKIND - тип открытого на экране гампа. У двух открытых бекпаков тип будет одинаковый, а у ящика и сумки - разный. Помните что все системные сообщения - тоже гампы, в том числе и когда уо отсоединён от сервера, что позволяет написать достаточно надёжный реконнект.

#LLIFTEDID поможет вам вытащить обьект упавший под текстуру, за "плохой" куст или скалу. Нужно сразу после того как вы его уронили, ничего не трогая, запустить ИзиУО и такого плана скрипт:
initevents
event drag #LLIFTEDID
msg $
halt
и упавшая вещь снова окажется у вас в руках, позволяя вернуть её в сумку.

#RANDOM возвращает случайное число, насколько я помню от 0 до 99

начиная с некоторых версия появился кроме #SCNT второй таймер, #SCNT2 который считает не в секундах а в десятых секунды, что позволяет строить более оптимальные скрипты

не обманывайтесь переменными #SHOP*, вам всё равно нужно кликать по экрану мышкой...

#TARGCURS весьма полезный параметр, который говорит о виде прицела в данный момент в клиенте. если больше 0 то клиент целится крестом, если 0 то рука


Top
   
PostPosted: 2011-07-04 07:43:54 
Offline

Joined: 2011-07-04 07:21:57
Posts: 2
как salute поставить?


Top
   
PostPosted: 2011-07-04 08:37:12 
Offline
User avatar

Joined: 2009-05-28 09:58:28
Posts: 2754
Location: Иваново
вверху же пример есть

initevents
event macro 19 0
wait 2s


Можно в стелсклиенте - там тоже Визитор ввел по моей просьбе команду.

_________________
Image
YokoInjection CodeSweeper
Ошибка "Unhandled exception in parser"


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 6 posts ] 

All times are UTC+02:00


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Limited