www.mudconnector.su

Национальный мадконнектор.
Текущее время: Ср май 25, 2022 12:47 am

Часовой пояс: UTC + 3 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 17 ]  На страницу Пред.  1, 2
Автор Сообщение
СообщениеДобавлено: Пн сен 07, 2009 6:47 pm 
Не в сети
Site Admin

Зарегистрирован: Пт май 16, 2008 4:14 pm
Сообщений: 1415
Pacifist писал(а):
Ну избавит от необходимости выполнения последовательности лишних действий. Например, при написании тех же самых триггеров, я не особо силен в программировании, поэтому не могу заранее сказать будет работать написанное мной или нет. Итак, я пишу триггер, запускаю локальный сервер, конекчусь к нему клиентом, персонажем ползу на то место где находится этот триггер, и смотрю работает ли он и работает ли так как надо (может можно и по другому поступать, я не знаю, на данный момент я делаю так). Тратится много времени, которое можно было бы потратить на что-нибудь другое, а так можно было бы написать триггер в редакторе, тут же запустить его и посмотреть как он работает.


Я-бы предложил такую схему за "идеал".
Запускаете сервер, идете в нужное место.
Изменяете триггер. Сохраняете его. На сервере даете 1 команду (или даже не даете ее) - он обновляется. Тестируете.
Изменяете триггер. Сохраняете его. На сервере даете 1 команду (или даже не даете ее) - он обновляется. Тестируете.
Изменяете триггер. Сохраняете его. На сервере даете 1 команду (или даже не даете ее) - он обновляется. Тестируете.
Идти кстати не надо - надо goto подключить в дебаг-моде.

Такой вариант устроит ?

ЗЫ. Ваше мнение в этом контексте наиболее интересно, т.к. лично меня интересуют люди не обладающие спецподготовкой.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Чт сен 10, 2009 6:11 am 
Не в сети

Зарегистрирован: Вт мар 24, 2009 6:20 pm
Сообщений: 213
KadVar писал(а):
Запускаете сервер, идете в нужное место.
Изменяете триггер. Сохраняете его. На сервере даете 1 команду (или даже не даете ее) - он обновляется. Тестируете.
Изменяете триггер. Сохраняете его. На сервере даете 1 команду (или даже не даете ее) - он обновляется. Тестируете.
Изменяете триггер. Сохраняете его. На сервере даете 1 команду (или даже не даете ее) - он обновляется. Тестируете.


Было бы очень удобно.
Вообще это не только к триггерам относится:)
Отдельная перезагрузка полностью либо выборочно ресетов/мобов/предметов/комнат - это очень нужная штука, хотя бы для билдеров, да и на действующей системе вполне пригодится, хотфиксы делать.

Правда, это вопрос реализации. И вопрос не такой уж и банальный...
Впрочем, такие мады есть, насколько я слышал. Так что все реально.


Возвращаясь к графическому интерфейсу...
Пара развернутых примеров внешнего вида триггеров:
Вложение:
Комментарий к файлу: триггер 27200 (Игрок берет яйцо из гнезда совы)
gr_trig_sova.jpg
gr_trig_sova.jpg [ 47.18 KIB | Просмотров: 8225 ]

Вложение:
Комментарий к файлу: первый квест барона (частично)
gr_trig_baron.jpg
gr_trig_baron.jpg [ 150.3 KIB | Просмотров: 8228 ]


Что хочется прокомментировать:

1. Считаю весьма важным логическое разделение и объединение триггеров.
Например, триггеры первого квеста барона объединены в отдельную группу.
Триггеры второго квеста - по идее желательно расположить в другой группе (даже несмотря на то, что по идее второй квест барон выдает сразу после конца первого). Причем там тоже будут триггеры на вход, на ресив и т.п.
Да, а поскольку кухарка и пес также учавствуют в первом квесте, в идеале нужно бы и их триггеры добавить в группу к этому квесту (у меня пока не добавлено).

2. Могут возникнуть проблемы с копипастом, поэтому к данному "древовидному" языку необходимо создать сериалайзер - самое простое в XML, ну или во что-то еще, причем сериализованные строки надо дать возможность просматривать и редактировать, и соответственно - копипастить.

3. Редактирование строк триггера можно в принципе реализовать и внутри контрола, подменяя текст веток EditBox-ами и ListBox-ами. Тогда драг-н-дроп не нужен - а значит сэкономим кучу места на экране.


P.S. Времени пока практически нет. Так что когда еще что-то рожу не знаю)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Чт сен 10, 2009 7:32 pm 
Не в сети

Зарегистрирован: Чт авг 27, 2009 2:27 pm
Сообщений: 63
"В комнату с монстром зашли", вероятно лучше выводить как "В комнату с монстром <ID> зашли"
А еще - "self.quest.given = 1", "object.val3 != 0", "actor.var_27203=1" выглядят печально и просятся быть замененными в русскоязычном интерфейса на "квест_барона.выдан = 1("да"?)", "предмет.отравлен="0"("нет"?)", "игрок.квест_барона=1("да"?)"


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пт сен 11, 2009 7:03 am 
Не в сети

Зарегистрирован: Пт сен 04, 2009 10:17 pm
Сообщений: 214
KadVar писал(а):
Я-бы предложил такую схему за "идеал".
Запускаете сервер, идете в нужное место.
Изменяете триггер. Сохраняете его. На сервере даете 1 команду (или даже не даете ее) - он обновляется. Тестируете.
Изменяете триггер. Сохраняете его. На сервере даете 1 команду (или даже не даете ее) - он обновляется. Тестируете.
Изменяете триггер. Сохраняете его. На сервере даете 1 команду (или даже не даете ее) - он обновляется. Тестируете.
Идти кстати не надо - надо goto подключить в дебаг-моде.

Такой вариант устроит ?

ЗЫ. Ваше мнение в этом контексте наиболее интересно, т.к. лично меня интересуют люди не обладающие спецподготовкой.

Можно и так, примерно то же самое получается.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Ср сен 16, 2009 6:21 pm 
Не в сети
Site Admin

Зарегистрирован: Пт май 16, 2008 4:14 pm
Сообщений: 1415
Pacifist писал(а):
Можно и так, примерно то же самое получается.

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Чт сен 17, 2009 12:24 am 
Не в сети

Зарегистрирован: Вс ноя 16, 2008 9:04 pm
Сообщений: 89
а может к редактору прикрутить простенький клиент? А по нажатию кнопки "проверить триггер" делать все перечисленные действия:
сохранить, загрузить на сервере, сделать goto, опционально проверить.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Чт сен 17, 2009 10:42 am 
Не в сети

Зарегистрирован: Вт мар 24, 2009 6:20 pm
Сообщений: 213
Эрендир писал(а):
а может к редактору прикрутить простенький клиент? А по нажатию кнопки "проверить триггер" делать все перечисленные действия:сохранить, загрузить на сервере, сделать goto, опционально проверить.

да ну, чем клиент встроенный будет отличаться от клиента внешнего?
лишние телодвижения ради копеечного результата...
а насчет всяких гоуту и опциональных проверок - есть алиасы, пишешь 1 раз, и потом очень быстро и удобно все проверяется:)

но вообще, вы знаете, очень интересная мысль - насчет проверок, которые приписаны к триггеру... практически юнит тесты получаются :)
впрочем, их можно реализовать и без привязки клиента


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 17 ]  На страницу Пред.  1, 2

Часовой пояс: UTC + 3 часа [ Летнее время ]


Кто сейчас на конференции


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron