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

> Компиляция или не надо, Надо ли компилить ядро каждый раз как сделал изменения в Script
Chicos
сообщение 24.11.2017, 5:53
Сообщение #1


**

Neophyte
Сообщений: 21
Регистрация: 20.6.2006
Группа: Пользователи
Наличность: 0
Пользователь №: 6.565



В руководстве по сборке компиляции сказано что надо добавить папку Server в проект и скомпилить ядро. От предшественика мне уже досталось готовое ядро. Почему то подумалось что просто изменив в папке Scripts нужный мне скрипт я получу нужное. Для пробы изменил в кастоме явно свой объект. Но изменения на сервере не отобразились. То есть после каждого изменения в Scripts необходимо пересобирать exe ? Или как то по другому? Начал только разбираться с UO, и что то в сотнях тем прочитанных этот момент не нашел.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
 
Ответить в эту темуОткрыть новую тему
Ответов
Wap
сообщение 29.3.2019, 1:45
Сообщение #2


**********

Администратор Форума
Сообщений: 3.003
Регистрация: 22.12.2006
Группа: Администраторы
Наличность: 31659
Пользователь №: 9.227



Цитата(Aimed @ 28.3.2019, 11:38) *

С рефлексией большой гемор будет. Куча подводных камней и очень сложно. Тут надо делать как у Сферы. Закрывать ядро полностью и предоставлять скриптовое АПИ которое будет подстраиваться под определенный набор типов данных из ядра. Никаких наследований от мобайла и так далее. Как и в Сфере через темплейты работать ( тайпдефы ), которые тебе мобайла со всеми нужными параметрами будут создавать. Таким образом никаких проблем с памятью при перезагрузке не будет.

Второй шаг - писать парсер всех скриптов что б их в новый формат, под скриптовое АПИ конвертировать. В принципе это реально сделать, но проект колоссальный. Думаю что пару месяцев - пол года, в свободное от работы время и там уже что-то точно будет работать.
В одно рыло в свободное от работы время - это года три делать. (IMG:style_emoticons/default/smile.gif) Это если активно работать и человек шарящий. Это ж надо весь хай-левел код переписать, тонны контента, если мы говорим о сервере типа стандартной современной Ранки.

А вообще, по сути это типа как переписать эмулятор Сфера на C#. (IMG:style_emoticons/default/biggrin.gif)


--------------------
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Aimed
сообщение 29.3.2019, 14:04
Сообщение #3


*********

Grandmaster
Сообщений: 2.250
Регистрация: 29.12.2012
Группа: Пользователи
Наличность: 8770
Пользователь №: 15.607



Цитата(Wap @ 28.3.2019, 23:45) *

В одно рыло в свободное от работы время - это года три делать. (IMG:style_emoticons/default/smile.gif) Это если активно работать и человек шарящий. Это ж надо весь хай-левел код переписать, тонны контента, если мы говорим о сервере типа стандартной современной Ранки.

А вообще, по сути это типа как переписать эмулятор Сфера на C#. (IMG:style_emoticons/default/biggrin.gif)


Зачем там хай-левел код переписывать? Именно переписывать там нужно очень мало кода.
1) Нужно написать обертку, которая будет скриптовым АПИ, как у Сферы.
2) В этой обертке сделать маппинг с вызовами серверного ядра. Много там не нужно, опять смотрим на Сферу.
3) Перенести некоторые классы, такие как Player, BaseCreatue и им подобные в ядро. Чем больше таких классов будет в ядре, тем меньше скриптов прийдется загружать == профит при старте сервера. По сути драг&дропом позаниматься 1 вечер в солюшене студии.
4) Самое сложное это написать парсер и конвертер текущих РанУО скриптов под новое АПИ. Ну а дальше конвертер сконвертирует все что останется в Scriptsс в новый формат.
5) Переписать нужно только компиляцию скриптов, что б она работала под новое скриптовое АПИ.

Вполне себе проект на несколько месяцев - пол года программисту уровня мидла и выше. Самое интересное то что быстродействие не должно пострадать, в теории. А вот почему у Сферы тогда с этим проблемы...не понятно

Цитата(Alastar @ 29.3.2019, 7:57) *

Как вариант впилить javascript библиотеку в ядро и писать все на жс. Будет то же самое, что писали выше, только все уже сделали за вас.


Если только она магическая ))

П.С. На самом деле оч крутой проект. Будь я в другой ситуации, наверное, занялся бы таким. Если грамотно сделать скриптовое АПИ, то Сферу вобще полностью можно будет хоронить. Вытащить ещё нужные механики из ядра Сферы и все, Cфера станет полностью obsolete.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

Сообщений в этой теме
Chicos   Компиляция или не надо   24.11.2017, 5:53
Soteric   Ты понял верно. При запуске папка Scripts должна п...   24.11.2017, 6:04
Juzzver   Если ядро в проекте объединяет обе папки Server и...   24.11.2017, 15:19
Aimed   Ну вы и ответы даёте... я бы не зная сабжа нафиг з...   24.11.2017, 18:51
StaticZ   Да, если так уже сделали, то прийдется, но так дел...   24.11.2017, 19:05
Aimed   Как по мне при статичной компиляции куда проще и ...   24.11.2017, 19:10
StaticZ   А кто мешает отладчиком пользоваться то? Нужно про...   24.11.2017, 19:43
Aimed   Ну так эта и есть статическая компиляция о которо...   24.11.2017, 20:55
Chicos   Линк был на FAQ о дебаге ядра + скриптов при норм...   24.11.2017, 22:50
Aimed   Ну Аймед, так то то ты это и есть предшественик, ...   24.11.2017, 23:07
Juzzver   Я лично не ощутил проблем с сериализациями при раб...   25.11.2017, 15:18
Aimed   Я лично не ощутил проблем с сериализациями при ра...   25.11.2017, 18:35
Juzzver   А что там случилось вобще? Потому что когда мне д...   26.11.2017, 1:02
Aimed   Кстати, насчет 20 сек это тоже не совсем правда......   25.11.2017, 19:06
StaticZ   Кстати, насчет 20 сек это тоже не совсем правда.....   29.11.2017, 0:57
Aimed   Да нет все таки через студию быстрее, там идет ча...   29.11.2017, 19:17
StaticZ   Я что-то не в теме. О каких окнах речь?Я про окошк...   30.11.2017, 19:11
Juzzver   Столкнулся с неприятным моментом при использовании...   8.12.2017, 20:02
Aimed   Столкнулся с неприятным моментом при использовани...   9.12.2017, 19:03
Juzzver   Решил покопаться, в итоге получилось сделать чере...   1.2.2018, 21:13
Aimed   Надо будет ещё попробовать там msbuild/xbuild (if ...   2.2.2018, 13:35
volkinson   Ребята, а как сделать так, чтобы скрипты подгружал...   27.3.2019, 13:00
Juzzver   Глянул о чем речь - это нечто иное как конфиги, с ...   27.3.2019, 18:38
Aimed   С рефлексией большой гемор будет. Куча подводных к...   28.3.2019, 12:38
Juzzver   Еще как вариант, можно взять тот же форк UOForever...   28.3.2019, 19:33
Alastar   Если только она магическая )) Ultima Offline Ex...   30.3.2019, 13:44
Alastar   Как вариант впилить javascript библиотеку в ядро и...   29.3.2019, 9:57
Ozzy Osbourne   Как вариант впилить javascript библиотеку в ядро и...   29.3.2019, 11:06
RL_ka   Зачем изобретать велосипеды, если для этих целей у...   29.3.2019, 14:21
Aimed   Зачем изобретать велосипеды, если для этих целей ...   29.3.2019, 14:32
Ozzy Osbourne   Ты действительно не понимаешь чем UOX3 отличается ...   30.3.2019, 17:56


Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

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