www.mudconnector.su https://forum.mudconnector.su/ |
|
Графический интерфейс для создания триггеров https://forum.mudconnector.su/viewtopic.php?f=15&t=127 |
Страница 2 из 2 |
Автор: | KadVar [ Пн сен 07, 2009 6:47 pm ] |
Заголовок сообщения: | Re: Графический интерфейс для создания триггеров |
Pacifist писал(а): Ну избавит от необходимости выполнения последовательности лишних действий. Например, при написании тех же самых триггеров, я не особо силен в программировании, поэтому не могу заранее сказать будет работать написанное мной или нет. Итак, я пишу триггер, запускаю локальный сервер, конекчусь к нему клиентом, персонажем ползу на то место где находится этот триггер, и смотрю работает ли он и работает ли так как надо (может можно и по другому поступать, я не знаю, на данный момент я делаю так). Тратится много времени, которое можно было бы потратить на что-нибудь другое, а так можно было бы написать триггер в редакторе, тут же запустить его и посмотреть как он работает. Я-бы предложил такую схему за "идеал". Запускаете сервер, идете в нужное место. Изменяете триггер. Сохраняете его. На сервере даете 1 команду (или даже не даете ее) - он обновляется. Тестируете. Изменяете триггер. Сохраняете его. На сервере даете 1 команду (или даже не даете ее) - он обновляется. Тестируете. Изменяете триггер. Сохраняете его. На сервере даете 1 команду (или даже не даете ее) - он обновляется. Тестируете. Идти кстати не надо - надо goto подключить в дебаг-моде. Такой вариант устроит ? ЗЫ. Ваше мнение в этом контексте наиболее интересно, т.к. лично меня интересуют люди не обладающие спецподготовкой. |
Автор: | omlin [ Чт сен 10, 2009 6:11 am ] |
Заголовок сообщения: | Re: Графический интерфейс для создания триггеров |
KadVar писал(а): Запускаете сервер, идете в нужное место. Изменяете триггер. Сохраняете его. На сервере даете 1 команду (или даже не даете ее) - он обновляется. Тестируете. Изменяете триггер. Сохраняете его. На сервере даете 1 команду (или даже не даете ее) - он обновляется. Тестируете. Изменяете триггер. Сохраняете его. На сервере даете 1 команду (или даже не даете ее) - он обновляется. Тестируете. Было бы очень удобно. Вообще это не только к триггерам относится:) Отдельная перезагрузка полностью либо выборочно ресетов/мобов/предметов/комнат - это очень нужная штука, хотя бы для билдеров, да и на действующей системе вполне пригодится, хотфиксы делать. Правда, это вопрос реализации. И вопрос не такой уж и банальный... Впрочем, такие мады есть, насколько я слышал. Так что все реально. Возвращаясь к графическому интерфейсу... Пара развернутых примеров внешнего вида триггеров: Вложение:
Комментарий к файлу: триггер 27200 (Игрок берет яйцо из гнезда совы) gr_trig_sova.jpg [ 47.18 KIB | Просмотров: 12951 ] Вложение:
Комментарий к файлу: первый квест барона (частично) gr_trig_baron.jpg [ 150.3 KIB | Просмотров: 12954 ] Что хочется прокомментировать: 1. Считаю весьма важным логическое разделение и объединение триггеров. Например, триггеры первого квеста барона объединены в отдельную группу. Триггеры второго квеста - по идее желательно расположить в другой группе (даже несмотря на то, что по идее второй квест барон выдает сразу после конца первого). Причем там тоже будут триггеры на вход, на ресив и т.п. Да, а поскольку кухарка и пес также учавствуют в первом квесте, в идеале нужно бы и их триггеры добавить в группу к этому квесту (у меня пока не добавлено). 2. Могут возникнуть проблемы с копипастом, поэтому к данному "древовидному" языку необходимо создать сериалайзер - самое простое в XML, ну или во что-то еще, причем сериализованные строки надо дать возможность просматривать и редактировать, и соответственно - копипастить. 3. Редактирование строк триггера можно в принципе реализовать и внутри контрола, подменяя текст веток EditBox-ами и ListBox-ами. Тогда драг-н-дроп не нужен - а значит сэкономим кучу места на экране. P.S. Времени пока практически нет. Так что когда еще что-то рожу не знаю) |
Автор: | Кошир [ Чт сен 10, 2009 7:32 pm ] |
Заголовок сообщения: | Re: Графический интерфейс для создания триггеров |
"В комнату с монстром зашли", вероятно лучше выводить как "В комнату с монстром <ID> зашли" А еще - "self.quest.given = 1", "object.val3 != 0", "actor.var_27203=1" выглядят печально и просятся быть замененными в русскоязычном интерфейса на "квест_барона.выдан = 1("да"?)", "предмет.отравлен="0"("нет"?)", "игрок.квест_барона=1("да"?)" |
Автор: | Pacifist [ Пт сен 11, 2009 7:03 am ] |
Заголовок сообщения: | Re: Графический интерфейс для создания триггеров |
KadVar писал(а): Я-бы предложил такую схему за "идеал". Запускаете сервер, идете в нужное место. Изменяете триггер. Сохраняете его. На сервере даете 1 команду (или даже не даете ее) - он обновляется. Тестируете. Изменяете триггер. Сохраняете его. На сервере даете 1 команду (или даже не даете ее) - он обновляется. Тестируете. Изменяете триггер. Сохраняете его. На сервере даете 1 команду (или даже не даете ее) - он обновляется. Тестируете. Идти кстати не надо - надо goto подключить в дебаг-моде. Такой вариант устроит ? ЗЫ. Ваше мнение в этом контексте наиболее интересно, т.к. лично меня интересуют люди не обладающие спецподготовкой. Можно и так, примерно то же самое получается. |
Автор: | KadVar [ Ср сен 16, 2009 6:21 pm ] |
Заголовок сообщения: | Re: Графический интерфейс для создания триггеров |
Pacifist писал(а): Можно и так, примерно то же самое получается. Не вполне. Любой эмулятор в редакторе - некий огрызок. При данной схеме вы работаете с тем-же сервером, что на продакшене. Т.е. гораздо более правильное тестирование получается. |
Автор: | Эрендир [ Чт сен 17, 2009 12:24 am ] |
Заголовок сообщения: | Re: Графический интерфейс для создания триггеров |
а может к редактору прикрутить простенький клиент? А по нажатию кнопки "проверить триггер" делать все перечисленные действия: сохранить, загрузить на сервере, сделать goto, опционально проверить. |
Автор: | omlin [ Чт сен 17, 2009 10:42 am ] |
Заголовок сообщения: | Re: Графический интерфейс для создания триггеров |
Эрендир писал(а): а может к редактору прикрутить простенький клиент? А по нажатию кнопки "проверить триггер" делать все перечисленные действия:сохранить, загрузить на сервере, сделать goto, опционально проверить. да ну, чем клиент встроенный будет отличаться от клиента внешнего? лишние телодвижения ради копеечного результата... а насчет всяких гоуту и опциональных проверок - есть алиасы, пишешь 1 раз, и потом очень быстро и удобно все проверяется:) но вообще, вы знаете, очень интересная мысль - насчет проверок, которые приписаны к триггеру... практически юнит тесты получаются впрочем, их можно реализовать и без привязки клиента |
Страница 2 из 2 | Часовой пояс: UTC + 3 часа [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |