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

76 страниц V « < 28 29 30 31 32 > »   
Тема закрытаОткрыть новую тему
> Пожелания, Предложения по развитию сюда
Zeleax
сообщение 3.12.2012, 8:45
Сообщение #581


*********

ex-Moderator UOPilot
Сообщений: 2.440
Регистрация: 8.10.2010
Группа: Пользователи
Наличность: 0
Из: Киев
Пользователь №: 13.093



Цитата(Microsoft @ 3.12.2012, 9:37) *

Таки да. Будет то что нужно. И еще журнал бы как у инжекта, который пишет все сообшения сферы.

а чем log не устраивает?

Цитата
Цитата
Цитата
Кстати, сейчас даже при параметрах вывода в лог "по-умолчанию" там вообще всё порезано, если вызывать логирование из процедуры (proc).

У меня только имя скрипта не выводится, ибо его нет у процедуры.
Мне бы примерчик, как есть и как и чего хочется.

Так может указывать имя вызвавшего скрипта+ имя процедуры?


--------------------
Полезные советы - читать всем! UOWiki
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Microsoft
сообщение 3.12.2012, 9:06
Сообщение #582


***

Novice
Сообщений: 68
Регистрация: 2.9.2012
Группа: Пользователи
Наличность: 0
Пользователь №: 15.253



Цитата(Zeleax @ 3.12.2012, 7:45) *

а чем log не устраивает?

Помоему это разные вещи, лог пилота и журнал инжекта (IMG:style_emoticons/default/rolleyes.gif)
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Microsoft
сообщение 3.12.2012, 9:16
Сообщение #583


***

Novice
Сообщений: 68
Регистрация: 2.9.2012
Группа: Пользователи
Наличность: 0
Пользователь №: 15.253



И очень не хватает чтобы можно было сравнивать сообщение записанное в $ с простым текстом а не с таким же словом или сообщением записанным в $, и чтобы была возможность сразу несколько разных слов делать, чтобы они не считались как одно предложение. Пример

set $msg lastmsg

if ($msg <= tree|iron|water|gold и так далее) и не нужно предварительно расписывать слова в условии, и быстрее происходит замена илбо добавление новых слов, и сравнение с несколькими это просто шикарно.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 3.12.2012, 9:37
Сообщение #584


***********

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



Тогда уже
if %arr => lastmsg
и пошло перебирать все элементы.

Цитата
Таки да. Будет то что нужно. И еще журнал бы как у инжекта, который пишет все сообшения сферы.

а чем log не устраивает?

Инжект это прога для ультимы, в ней светится журнал игровой.


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


***

Novice
Сообщений: 68
Регистрация: 2.9.2012
Группа: Пользователи
Наличность: 0
Пользователь №: 15.253



Чем так лучше? Опять же прийдется указывать отдельно в строчках нужные сообщения и для чего? А так все в 1 строку уместится.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 3.12.2012, 11:16
Сообщение #586


***********

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



так получится читаемый структурированный код, в котором можно адекватно в шапке задать все параметры. Константы в условиях первый шаг к проблемам. Тем более строковые. С таким кодом работать дальше будет значительно проще, читаемость повышается.

if $msg <= tree|iron|water|gold
if $msg <= %element

Что более читаемое? А если этих условий 10? 20?


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


********

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



А регэкспы не пробовали?
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 3.12.2012, 12:08
Сообщение #588


***********

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



А ты их вкрутил? Внимательно читал ченжлог в поиске упоминаний, но так и не нашел...


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


********

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



А, мая сорри, не в той версии... На момент выпуска еще было недоделано.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Microsoft
сообщение 3.12.2012, 17:43
Сообщение #590


***

Novice
Сообщений: 68
Регистрация: 2.9.2012
Группа: Пользователи
Наличность: 0
Пользователь №: 15.253



Цитата(DarkMaster @ 3.12.2012, 10:16) *

if $msg <= tree|iron|water|gold
if $msg <= %element
Что более читаемое? А если этих условий 10? 20?


Тебе сложно различать текст?
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 4.12.2012, 2:15
Сообщение #591


***********

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



когда строка не влазит в 5 экранов, то да.


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


***

Novice
Сообщений: 68
Регистрация: 2.9.2012
Группа: Пользователи
Наличность: 0
Пользователь №: 15.253



Как бы там нибыло а для ультимы я не думаю что будет необходимость расписывать в массив, что подтверждает опыт использования инжекта, там именно такой вариант как я предложил и никогда небыло более 10 слов в условии, а это никак не 5 экранов, и даже не экран и даже не 10 строк, а всего одна. А вот для всего кроме ультимы я не скажу, поэтмоу не ругайте (IMG:style_emoticons/default/smile.gif) Использую пилот только для нее, хотя наверное многие пользователи пилота даже не знают для чего он предназначен изначально.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 4.12.2012, 4:34
Сообщение #593


***********

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



Цитата
многие пользователи пилота даже не знают для чего он предназначен изначально

он просто перерос изначальные цели.


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


***

Novice
Сообщений: 68
Регистрация: 2.9.2012
Группа: Пользователи
Наличность: 0
Пользователь №: 15.253



Кстати, в обычное значение монжо сохранить изначально несколько слов, разных, к примеру var msg = ('door|stone|tree|gold|legs') и уже где нужно подставлять потом msg а не весь список. В пилоте было бы тоже неплохо так set $msg door|stone|tree|gold|legs и потом только $msg подставляем если в скрипте нужно несколько таких моментов а не 1.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 4.12.2012, 6:32
Сообщение #595


***********

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



Цитата
msg = ('door|stone|tree|gold|legs') и уже где нужно подставлять потом msg

Используйте eval для этих целей. Пишите:
set $msg if $a <=b or $c <= $d
потом вместо этой строки:
eval $msg


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


*********

ex-Moderator UOPilot
Сообщений: 2.440
Регистрация: 8.10.2010
Группа: Пользователи
Наличность: 0
Из: Киев
Пользователь №: 13.093



Уже есть конструкция:
IndexOf
Цитата
добавил поиск строки в массиве. по-умолчанию ищет точное совпадение, регистронезависимо. 'set %result indexOf ( %arr [noabs] [case] [[startRow [EndRow]] count] (text) )'
параметры:
noabs - если указано, то ищем подстроку, иначе абсолютное совпадение, кроме регистра
case - если указано, то при сравнении учитывается регистр символов
count - максимальное число найденых элементов. если > 0, то ищем в направлении "с начала", если < 0, то ищем в направлении "с конца". если не указан, то ищем "все". этот параметр имеет приоритет в порядке распознавания, над начальной и конечной позицией поиска.
ищет по столбцам. возвращает адреса найденных элементов в формате 'строка|столбец/'. пример: '3|7/3|8/4|7/4|8/'. его хорошо понимает команда 'set' для присваивания элементов массива пачкой. если ничего не найдено, то вернет пустую строку.
если в качестве приемника указана целая переменная ('set #e indexOf...'), то возвращаем номер только одной строки. причем 'count' указывает какое по порядку вхождение нужно искать. если элемент с указанным номером не найден, то результат -1.
примеры:
set #a indexOf ( %arr case -1 (Test) ) // ищет номер последнего элемента массива %arr, имеюшего значение в точности равное Test (с учетом регистра)
set #b indexOf ( %arr (12) ) // ищет номер первого элемента массива %arr, имеюшего значение в точности равное 12
set #c indexOf ( %arr noabs 3 (admin) ) // ищет номер третьего элемента массива %arr, содержащего подстроку 'admin'
set %r indexOf ( %arr case 5 15 2 (Passed) ) // просматривает элементы массива %arr с пятой строки по пятнадцатую, и возвращает в массив %r адреса ячеек, содержащих первые два точных совпадения с искомой строкой
set %r indexOf ( %a (14) ) // возвращает в массив %r адреса всех ячеек, сорвпадающих с указанной строкой

Мне кажется, что нужно её просто расширить и тогда ваша задача будет выглядеть так:
Код
init_arr %arr door stone tree gold legs
set %c  indexOf ($msg noabs (%arr) )

Т.е. ищем в строке $msg каждый из элементов массива %arr и результат поиска записываем в массив %c построчно:
%c[1 1] 6 // в какой позиции строки $msg было найдено значение
%c[1 2] 2 // номер элемента массива %arr, значение которого было найдено
Т.е. в данном случае в 6-й позиции строки $msg было найдено значение stone (%arr[2])
Если бы отсутствовала опция noabs, то каждый элемент массива %arr проверялся бы на точное совпадение со всей строкой $msg.
Если бы массив %arr был двухмерным, то чтоб можно было бы указывать в качестве источников поиска целую строку - %arr[3]. Т.е. искать каждый элемент 3-й строки массива %arr.

Сообщение отредактировал Zeleax - 4.12.2012, 8:47


--------------------
Полезные советы - читать всем! UOWiki
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 4.12.2012, 10:21
Сообщение #597


***********

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



хе. а ты знаешь, что скорее всего сожрет следующую конструкцию:
if indexOf ($msg noabs (%arr) ) > 0
log succes
end_if

если так не сожрет, то я более чем уверен сожрет вот так:
for #i 0 indexOf ($msg noabs (%arr) ) 10000
log succes
end_for


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


*********

ex-Moderator UOPilot
Сообщений: 2.440
Регистрация: 8.10.2010
Группа: Пользователи
Наличность: 0
Из: Киев
Пользователь №: 13.093



Цитата(DarkMaster @ 4.12.2012, 11:21) *

хе. а ты знаешь, что скорее всего сожрет следующую конструкцию:

сейчас не съест, имхо


--------------------
Полезные советы - читать всем! UOWiki
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 4.12.2012, 11:47
Сообщение #599


***********

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



for #i 1 size (%arr) 10 // ест, проверено. Вообще функции и во время присвоения везде норм просчитываются.


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


*********

ex-Moderator UOPilot
Сообщений: 2.440
Регистрация: 8.10.2010
Группа: Пользователи
Наличность: 0
Из: Киев
Пользователь №: 13.093



Я имею в виду, что сейчас именно такая конструкция не сработает как требуется по задаче, т.к. еще только в стадии пожеланий :
Код
if indexOf ($msg noabs (%arr) ) > 0
log succes
end_if


Сообщение отредактировал Zeleax - 4.12.2012, 11:59


--------------------
Полезные советы - читать всем! UOWiki
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

76 страниц V « < 28 29 30 31 32 > » 
Тема закрытаОткрыть новую тему
6 чел. читают эту тему (гостей: 6, скрытых пользователей: 0)
Пользователей: 0

 

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