Веду разработку нового ai движка.
Еxt который подключает к стандартному серверу L2NPC
Что позволяет вести разработку AI на C# и компилировать в CLI dll.
Пример кода:
Результат
На данный момент позволяет одновременно использовать старый ai и новый.
Для подключения расширения необходимо просто привязать дополнительный длл.
Профит:
- Дает возможность использовать библиотеку .Net платформы. Возможен выбор из множества языков поддерживающих mono платформу.
- Простота разработки нового аи.
- Легкое расширение нового функционала.
-- Добавление полей и новых методов.
-- Добавление кастомных событий
- Быстродействие. Mono имеет JIT компилятор, что должно значительно увеличить производительность.
Планирую продажи данного чуда. Выслушаю любые предложение и пожелания
На данный момент пока веду обкатку технологии на PTS C4(int ext). После сделаю реализацию для GF.
Есть еще в планах подключение к L2Server.(Mono)
Еxt который подключает к стандартному серверу L2NPC
Вы не можете просматривать ссылку пожалуйста воспользуйтесь следующими ссылками Вход или Регистрация
.Что позволяет вести разработку AI на C# и компилировать в CLI dll.
Пример кода:
Код:
using System;
public class SpecialBossSpawn : MakerScript
{
public override void onStart(MakerEvent e)
{
NpcMakerEx ex = e.myself;
e.gg.SendMakerScriptEvent(ex, 1, 2, 3);
for (int i = 0; i < ex.def_count; i++)
{
NpcSpawnDefineEx def = ex.GetSpawnDefine(i);
Logger.Info($"def {def.name} {def.dbname}");
if(def.has_dbname != 0)
def.LoadDBNpcInfo(1010);
}
}
public override void onDBNpcInfo(MakerEvent e)
{
Logger.Info($"Time {e.loaded_def.dbname} {e.loaded_def.respawn_rand} {e.loaded_def.respawn_time}");
DBNpcInfo info = e.record0;
if (info.is_alive == 0)
{
Logger.Info($"onDBNpcInfo dead {info.death_time}");
}
else
e.loaded_def.SpawnEx(1, 0, info.x, info.y, info.z, 0, info.hp, info.mp, info.db_value);
}
public override void onNpcCreated(MakerEvent e)
{
e.gg.Announce($"onNpcCreated {e.created_def.dbname}");
}
public override void onNpcDeleted(MakerEvent e)
{
Logger.Info("onNpcDeleted ");
}
public override void onScriptEvent(MakerEvent e)
{
Logger.Info($"SciptEvent {e.script_event_arg1} {e.script_event_arg2} {e.script_event_arg3}");
}
}
На данный момент позволяет одновременно использовать старый ai и новый.
Для подключения расширения необходимо просто привязать дополнительный длл.
Профит:
- Дает возможность использовать библиотеку .Net платформы. Возможен выбор из множества языков поддерживающих mono платформу.
- Простота разработки нового аи.
- Легкое расширение нового функционала.
-- Добавление полей и новых методов.
-- Добавление кастомных событий
- Быстродействие. Mono имеет JIT компилятор, что должно значительно увеличить производительность.
Планирую продажи данного чуда. Выслушаю любые предложение и пожелания
На данный момент пока веду обкатку технологии на PTS C4(int ext). После сделаю реализацию для GF.
Есть еще в планах подключение к L2Server.(Mono)