Войти на сайт

Авторизация, ждите ...
×
  • Страница:
  • 1
  • 2

ТЕМА: Mouse System Buttons

Mouse System Buttons 10 года 11 мес. назад #65724

  • sinder
  • sinder аватар
  • Вне сайта
  • Мастер
  • Сообщений: 159
  • Спасибо получено: 154
  • 3 место Готв2 место ГотвРазработчикПрограммист JavaScript Проект месяца 2 место
Большая просьба к скриптерам, доработать скрипт, а то я сам никак не могу дойти как это сделать...

Есть такой чудесный скрипт мышки, и он мне почти полностью подходит, но есть пара вещей которые я бы хотел в него добавить.
Сам скрипт ниже.
ВНИМАНИЕ: Спойлер! [ Нажмите, чтобы развернуть ]


Так вот, мне бы очень пригодилась возможность управлять кнопками на экране с помощью переключателей. Там есть возможность выключить и включить кнопки с помощью переключателя, но это влияет на все кнопки сразу. А мне надо, чтобы для каждой кнопки я мог назначить свой переключатель. Это то, что мне в первую очередь нужно.

Так же я был бы рад, если бы кто-то пофиксил одну тему. В этом скрипте, да и во всех других мышиных скриптах, когда на экране показан выбор, открыто меню и другое связанное с селктом, если клацнуть мышкой в пустом пространстве, где нет ничего, будет произведен выбор того пункта на котором висит селект. И это напрягает... Если бы выбор реагировал только когда мышка была наведена, это была бы песня. Но это такое, основное это переключатели, мне они очень нужны.

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

Mouse System Buttons 10 года 11 мес. назад #65725

  • Amphilohiy
  • Amphilohiy аватар
  • Вне сайта
  • Светлый дракон
  • Сообщений: 547
  • Спасибо получено: 666
  • Победитель Сбитой кодировкиОраторПрограммист RubyУчитель2 место Готв
ВНИМАНИЕ: Спойлер! [ Нажмите, чтобы развернуть ]


Тут вроде бы 1ю проблему пофиксил (правда настройки поменял, сделай по примеру, думаю разберешься), насчет 2й жутко не уверен. Если по нажатию кнопки мыши происходит то же самое что и при нажатии кнопки действия, то не факт что поправлю.

upd: Да, во 2м все именно так. Но если вдруг будут добровольцы, то в 749 стрке (скрипт с моим фиксом) переделка Input модуля под мышь. Боюсь что эту проблему я не решу.
Я верю, что иногда компьютер сбоит, и он выдает неожиданные результаты, но остальные 100% случаев это чья-то криворукость.
Последнее редактирование: 10 года 11 мес. назад от Amphilohiy. Причина: upd + убрал отладочную информацию
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: sinder

Mouse System Buttons 10 года 11 мес. назад #65726

  • sinder
  • sinder аватар
  • Вне сайта
  • Мастер
  • Сообщений: 159
  • Спасибо получено: 154
  • 3 место Готв2 место ГотвРазработчикПрограммист JavaScript Проект месяца 2 место
Отлично! Спасибо большое, вроде работает. Второе не так важно, но было бы прекрасно, если бы у кого-то удалось решить эту проблемку.
Администратор запретил публиковать записи гостям.

Mouse System Buttons 10 года 11 мес. назад #65727

  • sinder
  • sinder аватар
  • Вне сайта
  • Мастер
  • Сообщений: 159
  • Спасибо получено: 154
  • 3 место Готв2 место ГотвРазработчикПрограммист JavaScript Проект месяца 2 место
Лол, мне удалось вторую проблему пофиксить только для кнопки выход, остальное не хочет xD Если бы я еще до конца понимал, что я делаю...

upd:
Почти пофиксил! Правда теперь правая кнопка мышки не отвечает в сценах с инвентарем и других подобных. Зато левая вроде бодро работает.
Вот. что я сделал
Добавил вот такую хрень в update_mouse_selection
if !Mouse.object_area?(self.x, self.y, self.width, self.height)
  $disable_mouse_click = true
  else
  $disable_mouse_click = false
end
И прикрутил эту переменную к триггеру мышки. Как-то так, может это натолкнет на мысли более знающих людей...

upd2:
А понял в чем косяк с правой кнопкой, не туда переменную прикрутил. Вроде все работает как надо. Но это только вроде xD
Последнее редактирование: 10 года 11 мес. назад от sinder. Причина: Пофиксил!
Администратор запретил публиковать записи гостям.

Mouse System Buttons 10 года 11 мес. назад #65728

  • Amphilohiy
  • Amphilohiy аватар
  • Вне сайта
  • Светлый дракон
  • Сообщений: 547
  • Спасибо получено: 666
  • Победитель Сбитой кодировкиОраторПрограммист RubyУчитель2 место Готв
Это довольно неплохая новость! Если все будет работать на ура, то обновленный скрипт можешь сюда выложить, думаю никто супротив не будет :)
И насчет этого кусочка кода я вот что подумал
ВНИМАНИЕ: Спойлер! [ Нажмите, чтобы развернуть ]

Костылем сделать проверку - если сцена-карта, то мышь не отключать. Может поможет (а может я даже больше помешаю :))
Я верю, что иногда компьютер сбоит, и он выдает неожиданные результаты, но остальные 100% случаев это чья-то криворукость.
Администратор запретил публиковать записи гостям.

Mouse System Buttons 10 года 11 мес. назад #65729

  • sinder
  • sinder аватар
  • Вне сайта
  • Мастер
  • Сообщений: 159
  • Спасибо получено: 154
  • 3 место Готв2 место ГотвРазработчикПрограммист JavaScript Проект месяца 2 место
Не, оно работает почти идеально и так, но все же осталось немного недоработки.
Покажу в картинках
ВНИМАНИЕ: Спойлер! [ Нажмите, чтобы развернуть ]

Мышка включена во всей красной области, а в зеленной уже выключена. Т.е. если мышка будет в красной области, даже если я клацну в пустой части, возврат в титульник все равно произойдет. Я думаю это связано с
(self.x, self.y, self.width, self.height)
И непосредственно с width, height, только я не знаю на что заменить селф, чтобы оно корректно работало. Ну это как мне кажется. Т.е. проблема осталась в больших окнах, с маленькими все отлично.
Последнее редактирование: 10 года 11 мес. назад от sinder.
Администратор запретил публиковать записи гостям.

Mouse System Buttons 10 года 11 мес. назад #65730

  • Amphilohiy
  • Amphilohiy аватар
  • Вне сайта
  • Светлый дракон
  • Сообщений: 547
  • Спасибо получено: 666
  • Победитель Сбитой кодировкиОраторПрограммист RubyУчитель2 место Готв
Кстати да, я что то не внимателен (ну, как обычно). У тебя же проверка всего окна Selectable, а по идее надо только предметы перечисляемого проверять. Буквально в том же методе(функции) я подменил пару строк на это
ВНИМАНИЕ: Спойлер! [ Нажмите, чтобы развернуть ]

Ну думаю смысл ты поймешь...
Я верю, что иногда компьютер сбоит, и он выдает неожиданные результаты, но остальные 100% случаев это чья-то криворукость.
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: sinder

Mouse System Buttons 10 года 11 мес. назад #65731

  • sinder
  • sinder аватар
  • Вне сайта
  • Мастер
  • Сообщений: 159
  • Спасибо получено: 154
  • 3 место Готв2 место ГотвРазработчикПрограммист JavaScript Проект месяца 2 место

Вроде все перекрестно работает! Я думал про впил чего-то подобного, но мне знаний не хватает...
Итоговый вариант скрипта.
ВНИМАНИЕ: Спойлер! [ Нажмите, чтобы развернуть ]


Спасибо еще раз за помощь!
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: Dprizrak1, Amphilohiy

Mouse System Buttons 10 года 11 мес. назад #65732

  • Dprizrak1
  • Dprizrak1 аватар
  • Вне сайта
  • Просветлённый
  • Призрак обитающий в стенах Академии
  • Сообщений: 437
  • Спасибо получено: 165
Эм... мышь есть на карте и она ничего не делает ._. убрал бы её от туда, если она там ничего не делает, а только занимает место на экране ._.
(^_^)
Этот форум слишком умный для меня
Администратор запретил публиковать записи гостям.

Mouse System Buttons 10 года 11 мес. назад #65733

  • sinder
  • sinder аватар
  • Вне сайта
  • Мастер
  • Сообщений: 159
  • Спасибо получено: 154
  • 3 место Готв2 место ГотвРазработчикПрограммист JavaScript Проект месяца 2 место
м? В плане ничего не делает? На карте персонаж бегает, поиск пути работает нормально, а чтобы запустить ивент, там в самом ивенте должен стоять коммент MOUSE START. В шапке же все написано)

upd:
Ха, забавно, в новом проекте он действительно стоит. Зато в моем работает xD Надо подумать где собака зарыта.
Последнее редактирование: 10 года 11 мес. назад от sinder.
Администратор запретил публиковать записи гостям.

Mouse System Buttons 10 года 11 мес. назад #65735

  • sinder
  • sinder аватар
  • Вне сайта
  • Мастер
  • Сообщений: 159
  • Спасибо получено: 154
  • 3 место Готв2 место ГотвРазработчикПрограммист JavaScript Проект месяца 2 место
Короче, я без понятия, что это за магия, но в новом проекте, после того как я назвал скрипт в редакторе скриптов и просто нажал ок, а после запустил тест игру персонаж начал бегать... Хотя до этого стоял...

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

Script 'Mouse System Buttons 2.5' line 255: NoMethodError occurred
undefined method 'visible=' for nil:NilClass

Это отсылка еще к первой редакции, где были добавлены переключатели для кнопок. А я без понятие, как его решить.
Администратор запретил публиковать записи гостям.

Mouse System Buttons 10 года 11 мес. назад #65736

  • Amphilohiy
  • Amphilohiy аватар
  • Вне сайта
  • Светлый дракон
  • Сообщений: 547
  • Спасибо получено: 666
  • Победитель Сбитой кодировкиОраторПрограммист RubyУчитель2 место Готв
С 250 строки можно попытаться вот так заменить. Насчет бега не знаю даже. Ошибок у себя пока что не вижу, но проверял последнюю редакцию.
ВНИМАНИЕ: Спойлер! [ Нажмите, чтобы развернуть ]
Я верю, что иногда компьютер сбоит, и он выдает неожиданные результаты, но остальные 100% случаев это чья-то криворукость.
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: sinder

Mouse System Buttons 10 года 11 мес. назад #65737

  • sinder
  • sinder аватар
  • Вне сайта
  • Мастер
  • Сообщений: 159
  • Спасибо получено: 154
  • 3 место Готв2 место ГотвРазработчикПрограммист JavaScript Проект месяца 2 место
Да помогло, спасибо!)

А насчет ходьбы, там штука в том, что если в титульнике не использовать мышку, то в игре она не будет работать. Т.е. если использовать клаву в начале, а не мышку. Если же юзнуть мышь, то дальше она тоже будет работать. Для меня это не критично, но кому-то будет мешать...
Последнее редактирование: 10 года 11 мес. назад от sinder.
Администратор запретил публиковать записи гостям.

Mouse System Buttons 10 года 11 мес. назад #65738

  • Amphilohiy
  • Amphilohiy аватар
  • Вне сайта
  • Светлый дракон
  • Сообщений: 547
  • Спасибо получено: 666
  • Победитель Сбитой кодировкиОраторПрограммист RubyУчитель2 место Готв
Вставить куда нить в конец скрипта, вроде работает. (всегда отмораживает мышечные клики в карте)
ВНИМАНИЕ: Спойлер! [ Нажмите, чтобы развернуть ]
Я верю, что иногда компьютер сбоит, и он выдает неожиданные результаты, но остальные 100% случаев это чья-то криворукость.
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: sinder

Mouse System Buttons 10 года 11 мес. назад #65739

  • sinder
  • sinder аватар
  • Вне сайта
  • Мастер
  • Сообщений: 159
  • Спасибо получено: 154
  • 3 место Готв2 место ГотвРазработчикПрограммист JavaScript Проект месяца 2 место
Amphilohiy пишет:
Вставить куда нить в конец скрипта, вроде работает. (всегда отмораживает мышечные клики в карте)
ВНИМАНИЕ: Спойлер! [ Нажмите, чтобы развернуть ]
Работает) очередное спасибо)
Да и еще насчет прошлого фикса с ошибкой, там не все так хорошо, после перемещения кнопки исчезают, хотя это лечится открытием, закрытие меню. Насколько я смог понять, нужен какой-то рефреш карты.
Администратор запретил публиковать записи гостям.

Mouse System Buttons 10 года 11 мес. назад #65740

  • Amphilohiy
  • Amphilohiy аватар
  • Вне сайта
  • Светлый дракон
  • Сообщений: 547
  • Спасибо получено: 666
  • Победитель Сбитой кодировкиОраторПрограммист RubyУчитель2 место Готв
Виноват, я уже начинаю жутко лажать. В том фиксе if надо поменять на unless
ВНИМАНИЕ: Спойлер! [ Нажмите, чтобы развернуть ]
Я верю, что иногда компьютер сбоит, и он выдает неожиданные результаты, но остальные 100% случаев это чья-то криворукость.
Последнее редактирование: 10 года 11 мес. назад от Amphilohiy.
Администратор запретил публиковать записи гостям.

Mouse System Buttons 10 года 11 мес. назад #65742

  • sinder
  • sinder аватар
  • Вне сайта
  • Мастер
  • Сообщений: 159
  • Спасибо получено: 154
  • 3 место Готв2 место ГотвРазработчикПрограммист JavaScript Проект месяца 2 место
Не, виноват тут я, так как нуб, и людей дергаю...

Теперь на disposed? ругается ошибкой)
Администратор запретил публиковать записи гостям.

Mouse System Buttons 10 года 11 мес. назад #65743

  • Amphilohiy
  • Amphilohiy аватар
  • Вне сайта
  • Светлый дракон
  • Сообщений: 547
  • Спасибо получено: 666
  • Победитель Сбитой кодировкиОраторПрограммист RubyУчитель2 место Готв
Честно скажу, не знаю от чего. Если можно, то поподробней объясни как вызвать ошибку? Делал на ивент перемещение самого ивента, перемещение игрока - нифига.

Пользоваля этим "комплектом"
ВНИМАНИЕ: Спойлер! [ Нажмите, чтобы развернуть ]
Я верю, что иногда компьютер сбоит, и он выдает неожиданные результаты, но остальные 100% случаев это чья-то криворукость.
Администратор запретил публиковать записи гостям.

Mouse System Buttons 10 года 11 мес. назад #65744

  • sinder
  • sinder аватар
  • Вне сайта
  • Мастер
  • Сообщений: 159
  • Спасибо получено: 154
  • 3 место Готв2 место ГотвРазработчикПрограммист JavaScript Проект месяца 2 место
Сам не знаю, даже ради интереса скопировал и вставил в новый, чистый проект, думал может какой-то еще скрипт мешает. Все так же выдает ошибку... Я ничего особенного не делаю, просто ставлю ивент персонажа с перемещением и все. После подхожу, клацаю на него, а дальше ошибка... Может у меня с мейкером чего не так О_о
Последнее редактирование: 10 года 11 мес. назад от sinder.
Администратор запретил публиковать записи гостям.

Mouse System Buttons 10 года 11 мес. назад #65745

  • Amphilohiy
  • Amphilohiy аватар
  • Вне сайта
  • Светлый дракон
  • Сообщений: 547
  • Спасибо получено: 666
  • Победитель Сбитой кодировкиОраторПрограммист RubyУчитель2 место Готв
Честно, не думаю. От силы не до конца скопировал скрипт. С передвижением у меня вроде все нормально. Если получилось бы имитировать ошибку у меня я бы что нить понапридумывал, но в слепую уже не полезу.
Я верю, что иногда компьютер сбоит, и он выдает неожиданные результаты, но остальные 100% случаев это чья-то криворукость.
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: sinder
  • Страница:
  • 1
  • 2
Модераторы: NeKotZima
Время создания страницы: 0.967 секунд