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

|
{ num_4 } в принципе неправильно преобразовывать в num_4 без скобок. но как выяснилось, даже гуру иногда нарушают правила, приходится делать исключения (IMG: style_emoticons/default/smile.gif) а извлекать из { num_4 } лишние пробелы, при этом проверяя, чтоб ничего не нарушить, слишком затратно в плане быстродействия. Кстати, DarkMaster, ты говорил что у тебя есть в общем готовая обновленная инструкция по языку скриптов, но были проблемы с преобразованием ее в компактный формат. Может всётаки сообща допилим этот вопрос? Сообщение отредактировал WKnight - 25.3.2012, 14:28
|
|
|
|
WKnight |
25.3.2012, 14:44
|
       
Разработчик UO Pilot'а
Сообщений: 1.639
Регистрация: 9.1.2006 Группа: Пользователи Наличность: 0
Пользователь №: 4.688

|
Поздравляю! Там помоему говорилось что проблемы с преобразованием всяких спойлеров итд, но не суть, главное текст вроде был (IMG: style_emoticons/default/smile.gif), что вобщем тоже не суть, главное с чегото начать (IMG: style_emoticons/default/smile.gif) Я про запарки со временем уже давно перестал сообщать, они то есть, то неожиданно кончаются, то внезапно появляются, так что даже сообщить некогда. Да и большинство всеравно не прочитает об этом, и будут долбиться и обижаться почему им не отвечают (IMG: style_emoticons/default/smile.gif)
|
|
|
|
WKnight |
27.3.2012, 2:55
|
       
Разработчик UO Pilot'а
Сообщений: 1.639
Регистрация: 9.1.2006 Группа: Пользователи Наличность: 0
Пользователь №: 4.688

|
Цитата Очень не хватает глобальных переменных Я периодически почитываю этот пункт в 2do, но както не придумывается как "глобальные" отличать от остальных? Цитата Я бы даже сказал возможности создать эвент на нажатия клавиш. Именно внутри скрипта. Я так понимаю имеется ввиду не приостановка скрипта с ожиданием нажатия необходимой клавиши, а выполнение произвольного кода скрипта по нажатию клавиши в любой момент времени? Цитата Ну не нужно делать вагон вкладок только для того, чтобы сменить 1 переменную. Не массивные переменные достаточно просто меняются на панельке параметров персонажа. По идее скрипт даже приостанавливать не требуется.
|
|
|
|
DarkMaster |
27.3.2012, 4:22
|
          
Модератор UOPilot
Сообщений: 9.746
Регистрация: 2.12.2008 Группа: Супермодераторы Наличность: 29725
Пользователь №: 11.279

|
Цитата Я так понимаю имеется ввиду не приостановка скрипта с ожиданием нажатия необходимой клавиши, а выполнение произвольного кода скрипта по нажатию клавиши в любой момент времени? По сути да. что-то вроде: event <name> [bind] код end_event Было бы так же интересно вызывать евент самим скриптом без клавиши(читай 2 зайцев). Цитата Не массивные переменные достаточно просто меняются на панельке параметров персонажа. Во время боя, тем более пвп это не прокатит. Цитата както не придумывается как "глобальные" отличать от остальных? Можно сделать вариант в стиле пилота #преременная.g, и как хранить сразу становится понятно. Можно сделать дополнительный преффикс. Можно просто объявить в начале, что она глобальная, оставив дальнейший синтаксис не измененным. Сообщение отредактировал DarkMaster - 27.3.2012, 4:17
--------------------
Скрипты UOPilot под заказ. Консультации по UOpilot 15$/час. Услуги Lua разработчика (не пилот, проекты, постоянка) Disсоrd: Kov____
|
|
|
|
EL-GReeN |
27.3.2012, 9:53
|

    
Journeyman
Сообщений: 474
Регистрация: 18.7.2011 Группа: Пользователи Наличность: 0 Из: Россия
Пользователь №: 13.815
Возраст: 32

|
Цитата(WKnight @ 27.3.2012, 2:55)  Я так понимаю имеется ввиду не приостановка скрипта с ожиданием нажатия необходимой клавиши, а выполнение произвольного кода скрипта по нажатию клавиши в любой момент времени?
Как пример из одного движка: Цитата keyboard_check(key) Возвращает, если нажата клавиша с конкретным клавиатурным кодом. keyboard_check_pressed(key) Возвращает, если клавиша с конкретным клавиатурным кодом была нажата с поры выполнения последнего шага. keyboard_check_released(key) Возвращает, если клавиша с конкретным клавиатурным кодом была отпущена с поры выполнения последнего шага. keyboard_check_direct(key) Возвращает, если нажата клавиша с конкретным клавиатурным кодом, проверяемая непосредственно аппаратные средства. Результат независим от того, какое приложение рассматривается. Станут возможными такие условия: Код if keyboard_check(32) //код пробела say Вы нажали пробел. end_if
if keyboard_check(32) and keyboard_check(18) //код пробела и альта say Вы нажали пробел и альт. end_if
--------------------
|
|
|
|
EL-GReeN |
27.3.2012, 12:58
|

    
Journeyman
Сообщений: 474
Регистрация: 18.7.2011 Группа: Пользователи Наличность: 0 Из: Россия
Пользователь №: 13.815
Возраст: 32

|
Как именно там сделано я не знаю исходников нет. Задача расчета успеет ли сработать условие на нажатие, зависит от пользователя, то есть (сработало условие)-->(обработка действий) если пока обрабатываются действия произошло нажатие то условие не сработает, что есть не хорошо. Цитата что-то вроде: event <name> [bind] код end_event Было бы так же интересно вызывать евент самим скриптом без клавиши(читай 2 зайцев). Если бы эти ивенты работали в отдельном потоке, что бы основной скрипт продолжал работу при их срабатывании, было бы шикарно. Ещё тонкости: А если запускаемый ивент уже запущен но еще не отработал? для этого можно сделать опцию: не чего не делать - запустить еще экземпляр ивента - поставить запуск в очередь
--------------------
|
|
|
|
EL-GReeN |
27.3.2012, 15:12
|

    
Journeyman
Сообщений: 474
Регистрация: 18.7.2011 Группа: Пользователи Наличность: 0 Из: Россия
Пользователь №: 13.815
Возраст: 32

|
Цитата(DarkMaster @ 27.3.2012, 13:48)  мысль очень правильная. Более того в случае запуска копии возникает интересный вопрос с переменными. В ходе работы нескольких эвентов может получиться так, что один изменит значения в расчетах другого(набор переменных то один). Для адекватной работы придется создавать локальные переменные для каждого эвента, делать функцию вывода результата, продумывать каким образом обращаться к переменным из основного скрипта(считывать при входе? - будут устаревшие данные; при обращении? - может исказиться копией эвента). Мороки много. Прорабатывать все эти тонкости имхо берд и сделать чем проще, тем лучше. Запуск нескольких экземпляров можно конечно сделать и в определенных случаях точно хуже не будет, но обращаться надо будет с ним хорошо подумав.
А вот ничего не делать при повторном запуске и очередь очень правильные варианты.
Как вариант: Пилот (глобальные переменные существующие до закрытия пилота, доступ из любого кода) Запущенный Скрипт (локальные переменные существующие до остановки скрипта, доступ из ивентов такой же как из основного скрипта если совпадает имя) Ивент (локальные переменные существующие до завершения ивента, без доступа, либо при вызове ивента он возвращает свой ID по которому можно обращаться к переменным)
--------------------
|
|
|
|
|
  |
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|