Здравствуйте, гость ( Вход | Регистрация )

> Расшифровка скина.
DarkMaster
сообщение 18.5.2015, 4:16
Сообщение #1


***********

Модератор UOPilot
Сообщений: 9.745
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 29676
Пользователь №: 11.279



Собственно подход номер два по расшифровке и редактированию внешнего вида пилота. Данные параметры находятся в файле uopilot.ini в блоке [Highlighter].
Формат задания цвета:

Код
<имя_группы_объектов>=<цвета_фона_под_объектом>,<цвет_объекта>,<стиль>

<имя_группы_объектов> - называние группы объектов. Список объектов:
Assembler=-16777211,0,0             // Зарезервировано.
Character=-16777211,0xAAAA00,0      // Числовые переменные.
Comment=-16777211,8388608,2         // Комментарии.
Float=-16777211,0xAAAAAA,0          // Дробные числа. Отключено.
Hexadecimal=-16777211,8388608,0     // Строковые переменные.
Identifier=-16777211,0,0            // Текст: пути, имена окон и почему-то имена массивов.
Number=-16777211,0xAAAAAA,0         // Числа в виде текста.
Preprocessor=-16777211,32768,2      // Зарезервировано.
Reserved Word=-16777211,0,1         // Неизвестно.
RW Array=-16777211,255,1            // Операторы работы с массивами. НЕ относится к самим массивам.
RW CharParam=-16777211,0,1          // Переменные чара UO.
RW ColorAndCord=-16777211,0,1       // Переменные цветов(clgreen, clblue и т.д.) и координат (defXabs, desktopheight и т.д.).
RW EndScript=-16777211,0,1          // end_script.
RW For=-16777211,0,1                // Циклы: for, while, repeat, continue, break.
RW Function=-16777211,0,1           // Функции. Все, что идет после set и перед скобками(findimage, findcolor, size,random и т.д.).
RW Get=-16777211,0,1                // Get и set.
RW If=-16777211,0,1                 // Условия IF.
RW Keyboard=-16777211,0,1           // Эмуляция клавиатуры.
RW LastObject=-16777211,0,1         // Переменные last* для UO.
RW Macros=-16777211,0,1             // Макросы.
RW Memory=-16777211,0,1             // readmem, writemem.
RW Mouse=-16777211,0,1              // Эмуляция мыши.
RW Msg=-16777211,0,1                // Log, msg, hint.
RW Other=-16777211,0,1              // Прочее. В т.ч.: clipboard, color, copy, delete, word, insert, number, posex, printscreen, indexof, injection.
RW Plugin=-16777211,0,1             // Функции плагинов.
RW Proc=-16777211,0,1               // Работа с файлами, exec, terminate.
RW Script=-16777211,0,1             // Функции скриптов и переменные скриптов (active_script, priority и т.д.).
RW Sub=-16777211,0,1                // Подпрограммы и процедуры.
RW Time=-16777211,0,1               // Таймер, переменные даты.
RW Wait=-16777211,0,1               // linedelay, wait, waitfortarget.
RW Windows=-16777211,0,1            // Функции работы с окнами.
Space=-16777211,0,0                 // Пробелы и управляющие символы. Используется в основном для изменения фона.
String=-16777211,8388608,0          // 'текст в одиночных кавычках'.
Symbol=-16777211,0,0                // <>=,.() и т.д. Почему-то опять влияет на массивы "%".

<цвета_фона_под_объектом> - фон под текстом. В т.ч. цвет пробелов, т.к. пробелы не имеют как такового отображаемого объекта.
По умолчанию стоит цвет "-16777211"(с минусом) - это цвет соответствует цвету вашей темы в системе, независимо от того какая выбрана тема.

<цвет_объекта> - цвет текста.
Цвета задаются в десятичном виде по RGB.
Цвет так же можно задать цвета в шестнадцатеричном виде 0xFFFFFF, однако уже почему в формате BGR,
так же после перезапуска значение будет перезаписано в виде десятичного.
Тем не менее для настройки намного удобнее, чем сидеть с калькулятором и считать каждый раз десятичные цвета.
Массивы отдельно перекрасить нельзя.

<стиль> - список стилей:
0  - обычный.
1  - полужирный.
2  - курсив.
3  - полужирный+курсив.
4  - подчеркнутый.
5  - подчеркнутый+полужирный.
6  - подчеркнутый+курсив.
7  - подчеркнутый+курсив+полужирный.
8  - зачеркнутый.
9  - зачеркнутый+полужирный.
10 - зачеркнутый+курсив.
11 - зачеркнутый+курсив+полужирный.
12 - зачеркнутый+подчеркнутый.
13 - зачеркнутый+подчеркнутый+полужирный.
14 - зачеркнутый+подчеркнутый+курсив.
15 - зачеркнутый+подчеркнутый+курсив+полужирный.



Мой скин
Код
[Highlighter]
Assembler=0x444444,255,0
Character=0x444444,0x00AAAA,0
Comment=0x444444,0xBBBBBB,2
Float=0x444444,0xAAAAAA,0
Hexadecimal=0x444444,0xAAAA66,0
Identifier=0x444444,0xBBBBBB,0
Number=0x444444,0xAAAAAA,0
Preprocessor=0x444444,32768,2
Reserved Word=0x444444,0,1
RW Array=0x444444,0xDD9999,1
RW CharParam=0x444444,0x00AAAA,0
RW ColorAndCord=0x444444,0x00AAAA,0
RW EndScript=0x444444,0x7777DD,1
RW For=0x444444,0x00AA00,1
RW Function=0x444444,0xDD9999,1
RW Get=0x444444,0xBBBBBB,1
RW If=0x444444,0x00AA00,0
RW Keyboard=0x444444,0xBBBBBB,1
RW LastObject=0x444444,0x00AAAA,0
RW Macros=0x444444,0xC077C0,1
RW Memory=0x444444,0xDD9999,1
RW Mouse=0x444444,0xBBBBBB,1
RW Msg=0x444444,0x666666,1
RW Other=0x444444,0xDD9999,1
RW Plugin=0x444444,0xDD9999,1
RW Proc=0x444444,0xDD9999,1
RW Script=0x444444,0x7777DD,1
RW Sub=0x444444,0xC077C0,1
RW Time=0x444444,0x00AAAA,0
RW Wait=0x444444,0xBBBBBB,1
RW Windows=0x444444,0xDD9999,1
Space=0x444444,0,0
String=0x444444,0xBBBBBB,0
Symbol=0x444444,0x888888,0


Сообщение отредактировал DarkMaster - 19.5.2015, 0:41


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
 
Ответить в эту темуОткрыть новую тему
Ответов(1 - 16)
WKnight
сообщение 18.5.2015, 7:06
Сообщение #2


********

Разработчик UO Pilot'а
Сообщений: 1.639
Регистрация: 9.1.2006
Группа: Пользователи
Наличность: 0
Пользователь №: 4.688



а спросить?
я кстати когда-то давно куда-то уже давал эту инфу.
spoiler

Код

RW Time            
Day                
Hour              
Min                
Month              
Sec                
Timer              
Year              

RW CharParam        
Armor              
arun              
CharDir            
CharposX          
CharposY          
CharposZ          
coldresist        
criminalactions    
damage            
damagemax          
Dex                
enerresist        
fireresist        
fireresist        
followers          
followersmax      
fontcolor          
Gold              
hidden            
Hits              
hitsmax            
Int                
LastMsg            
luck              
Mana              
manamax            
Name              
pathfinding        
poisresist        
psysresist        
shownames          
skills            
spellname          
Stam              
stammax            
Str                
Target            
transparency      
war                
Wght              
wghtmax            

RW LastObject      
LastLiftedID      
LastObjectID      
LastObjectType    
LastSkill          
LastSpell          
LastStaticType    
LastTargetID      
LastTargetKind    
LastTargetX        
LastTargetY        
LastTargetZ        

RW ColorAndCord    
claqua            
clblack            
clblue            
cldkgray          
clfuchsia          
clgray            
clgreen            
cllime            
clltgray          
clmaroon          
clnavy            
clolive            
clpurple          
clred              
clsilver          
clteal            
clwhite            
clyellow          
colortoblue        
colortogreen      
colortored        
colortorgb        
defColor          
defX              
defXabs            
defY              
defYabs            
delimiter          
desktopheight      
desktopwidth      
monitor            
monitorheight      
monitorwidth      
screenheight      
screenwidth        

RW Function        
abs                
arccos            
arcsin            
arctan            
ceil              
chr                
cos                
dayofweek          
dec2hex            
degtorad          
eval              
exp                
FindColor          
FindImage          
floor              
frac              
hex2dec            
is_real            
is_string          
lengthdir_x        
lengthdir_y        
ln                
maxx              
mean              
minx              
mod                
ord                
pi                
point_direction    
point_distance    
power              
Prompt            
radtodeg          
Random            
round              
sin                
size              
sqrt              
string_count      
string_digits      
string_letters    
string_lower      
string_replace    
string_upper      
tan                
trunc              
WindowFromCursor  
windowfrompoint    

RW Macros          
macro_load        
macro_play        
macro_send        

RW Mouse            
double_kleft      
double_kmiddle    
double_kright      
double_left        
double_middle      
double_pleft      
double_pmiddle    
double_pright      
double_right      
drag              
kleft              
kleft_down        
kleft_up          
kmiddle            
kmiddle_down      
kmiddle_up        
kright            
kright_down        
kright_up          
kwheel_down        
kwheel_up          
left              
left_down          
left_up            
middle            
middle_down        
middle_up          
mouse_pos          
mousepos_x        
mousepos_y        
mouseposabs_x      
mouseposabs_y      
move              
pleft              
pleft_down        
pleft_up          
pmiddle            
pmiddle_down      
pmiddle_up        
pright            
pright_down        
pright_up          
pwheel_down        
pwheel_up          
right              
right_down        
right_up          
wheel_down        
wheel_up          

RW Keyboard        
getlayout          
post              
post_down          
post_up            
say                
send              
send_down          
send_up            
send217            
sendex            
sendex_down        
sendex_up          
setlayout          

RW For            
break              
continue          
end_for            
end_repeat        
end_while          
for                
repeat            
while              
while_not          

RW If              
else              
end_if            
if                
if_not            

RW Sub            
call              
end_proc          
gosub              
goto              
proc              
return            

RW Array          
init_arr          
load_array        
save_array        

RW Script          
active_script      
current_script    
load_script        
pause_script      
priority          
resume_script      
scripts            
start_script      
stop_script        

RW Proc            
dir                
dircreate          
dirremove          
errorlevel        
exec              
execandwait        
filecopy          
filedelete        
fileexists        
filegetattr        
filegetdate        
filerename        
filesetattr        
filesetdate        
terminate          

RW Windows        
findwindow        
getselectedtext    
getwindow          
getwindowtext      
setselectedtext    
setwindowtext      
showwindow        
windowpos          
workwindow        
WorkWindowPID      

RW Memory          
readmem            
writemem          

RW Msg            
alarm              
flash              
hint              
log                
logging            
msg                

RW Wait            
linedelay          
wait              
waitfortarget      

RW Other          
clipboard          
color              
copy              
delete            
EasyUO            
indexof            
iniread            
iniwrite          
injection          
insert            
number            
posex              
printscreen        
regread            
regwrite          
word              
write              

RW Get            
get                
set                

RW EndScript      
end_script      

RW Plugin          

spoiler2

Код

Assembler         // reserved
Preprocessor      // По-моему reserved
Character         // Числовые переменные.
Comment           // Комментарии
Float             // Дробные числа. Отключено.
Hexadecimal       // Строковые переменные.
Identifier        // Текст: пути, имена окон и почему-то имена массивов. По-моему все, что не попало в другие категории.
Number            // Числа начинающиеся с 0-9, в том числе шестнадцатеричные.
Reserved Word     // не помню
Space             // Управляющие символы и пробелы (1-9,11-12,14-32)
String            // Строки в 'одинарных кавычках'.
Symbol            // <>=,.() и т.д. Кроме некоторых, используемых в других категориях.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
cirus
сообщение 18.5.2015, 10:50
Сообщение #3


**********

Elder
Сообщений: 3.480
Регистрация: 18.8.2014
Группа: Пользователи
Наличность: 26702
Пользователь №: 16.971
Возраст: 29



Облегчите всем задачу. Добавьте в настройки пилота выбор цвета по категориям из первого спойлера кнайта.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 18.5.2015, 13:15
Сообщение #4


***********

Модератор UOPilot
Сообщений: 9.745
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 29676
Пользователь №: 11.279



Цитата
а спросить?
я кстати когда-то давно куда-то уже давал эту инфу.

А я уже спрашивал. Ты ответил тогда что-то вроде: "ой не помню толком" и какие-то урывки написал.
Тут кстати тоже далеко не все (IMG:style_emoticons/default/smile.gif)


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 19.5.2015, 0:40
Сообщение #5


***********

Модератор UOPilot
Сообщений: 9.745
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 29676
Пользователь №: 11.279



Обновлена расшифровка, описание, добавлен синтаксис и описание стиля.
Допилен скин.

Еще допилен скин.


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Cockney
сообщение 29.5.2015, 19:15
Сообщение #6


********

Master
Сообщений: 1.404
Регистрация: 22.6.2013
Группа: Пользователи
Наличность: 22549
Пользователь №: 16.156



я так понял, уникальная подсветка отдельный команд, имен переменных нереальна?
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 29.5.2015, 20:01
Сообщение #7


***********

Модератор UOPilot
Сообщений: 9.745
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 29676
Пользователь №: 11.279



в данном варианте нет. Слабо представляю себе цель настолько кастомизировать подсветку. Можно использовать notepad++ для этих целей. Уже писал под него подсветку и выкладывал на форуме.

https://forum.uokit.com/index.php?showtopic...&hl=notepad


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Cockney
сообщение 29.5.2015, 22:45
Сообщение #8


********

Master
Сообщений: 1.404
Регистрация: 22.6.2013
Группа: Пользователи
Наличность: 22549
Пользователь №: 16.156



нотепад не то. охота сразу запускать скрипты. Ну например приятно видеть по-разному выделенные переменные, и где они используются
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
WKnight
сообщение 30.5.2015, 4:07
Сообщение #9


********

Разработчик UO Pilot'а
Сообщений: 1.639
Регистрация: 9.1.2006
Группа: Пользователи
Наличность: 0
Пользователь №: 4.688



Мысль хорошая, но проблема в том, что под каждое подсвеченное слово пишется кусок кода. Сделано на основе SynHighlighterPas от SynEdit.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Cockney
сообщение 30.5.2015, 10:16
Сообщение #10


********

Master
Сообщений: 1.404
Регистрация: 22.6.2013
Группа: Пользователи
Наличность: 22549
Пользователь №: 16.156



Код примерно такого вида,или сложнее?:


Нашли команду ->читаем цвет из ини->красим



Ну при не большой модификации кода,можно реализовать разную подсветку.


Нашли команду -> проверяем,есть ли кастом цвет именно для нее одной -> есть - читаем и красим,нет - красим цветом всего класса(keywords например)

А в ини....


[colors]
......
......
$s=255255255
Wait=100200+100
....
....

Ну примерно так.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
WKnight
сообщение 30.5.2015, 12:40
Сообщение #11


********

Разработчик UO Pilot'а
Сообщений: 1.639
Регистрация: 9.1.2006
Группа: Пользователи
Наличность: 0
Пользователь №: 4.688



Там гораздо сложнее.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Cockney
сообщение 30.5.2015, 12:47
Сообщение #12


********

Master
Сообщений: 1.404
Регистрация: 22.6.2013
Группа: Пользователи
Наличность: 22549
Пользователь №: 16.156



можно небольшой примерчик хотябы?)
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 30.5.2015, 18:42
Сообщение #13


***********

Модератор UOPilot
Сообщений: 9.745
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 29676
Пользователь №: 11.279



практически уверен, что это описывается регекспами.


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
WKnight
сообщение 31.5.2015, 13:39
Сообщение #14


********

Разработчик UO Pilot'а
Сообщений: 1.639
Регистрация: 9.1.2006
Группа: Пользователи
Наличность: 0
Пользователь №: 4.688



нету там регекспов.
Я же выше упомянул "SynHighlighterPas от SynEdit".
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 31.5.2015, 14:36
Сообщение #15


***********

Модератор UOPilot
Сообщений: 9.745
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 29676
Пользователь №: 11.279



Цитата
Я же выше упомянул "SynHighlighterPas от SynEdit"

Ну это кому сильно надо, тот и ищет (IMG:style_emoticons/default/wink.gif)
Мне касательно раскраски достаточно массивы в порядок с подсветкой привести ну и пару моментов я тебе в аську кидал, это просто вынесение "опасных" операторов в сторонку.
Гораздо критичнее возможность сворачивать циклы и условия. Неплохо бы еще и подпрограммы, но боюсь тут могут быть проблемы при использовании нескольких return|end_proc. Т.е.:

Код
gosub test

:test
    if  #a = 12
        set #a 10
    else
        return
    end_if
    left %arr [#a 1] %arr [#a 2]
return

Вот как красиво дать понять при разборе синтаксиса, что сворачивать надо до второго return не очень понятно. Тут вариантов на самом деле море, как можно запороть разбор:
1) Два возврата(как в примере выше)
2) Перед меткой подпрограммы(или после) может быть другая метка, причем обе могут быть использованы, как начало подпрограммы, а может одна из них являться не более чем меткой.
3) Далеко не все будут делать жестко нормированные отступы - это не питон, ориентироваться по ним не возможно.
4) Ожидать return полностью вне циклов и условий тоже не является гарантией окончания подпрограммы, т.к. могут просто завершить ее внутри цикла или ветки условия. Хотя на мой взгляд return в любом случае должен присутствовать в конце подпрограммы, но текущий синтаксис пилота это никак не регламентирует...


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
WKnight
сообщение 1.6.2015, 16:40
Сообщение #16


********

Разработчик UO Pilot'а
Сообщений: 1.639
Регистрация: 9.1.2006
Группа: Пользователи
Наличность: 0
Пользователь №: 4.688



Тут можно приклеить заплатку. Например
:метка //начало подпрограммы
return
:: //конец подпрограммы
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 1.6.2015, 17:42
Сообщение #17


***********

Модератор UOPilot
Сообщений: 9.745
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 29676
Пользователь №: 11.279



:метка1
код
:метка2
код
::

Итог? Отучаем быдлокодить? Ибо подобные конструкции на форуме регулярно проскакивают. И любая из меток может быть началом подпрограммы, равно как и обе сразу.


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия | Версия для КПК Сейчас: 18.7.2025, 11:37
Designed by Nickostyle