Показать сообщение отдельно
Старый 04.07.2011, 15:23   #7
Visor123
Администратор
 
Регистрация: 21.01.2009
Сообщений: 1,285
Visor123 отключил(а) отображение уровня репутации
Lightbulb

Изменение эвентов.

Эвент-система предназначена только для массовых командных эвентов.

Все эвенты наследуются от базовых классов в ГС-е, но львиня доля логики эвентов лежит в датапаке в папке скриптов massevents
Все менюшки управления эвентами реализованы в классах датапака L2ManagementEventEngine.java и L2ManagementEventEngineInstance.java - все движки и инстансы движков должны наследоваться только от этих классов - иначе вы не сможете управлять ими из игры.

Разобравшись с моделью работы эвентов можно добавлять без проблем свои эвенты и они сразу будут управлятся как и эти три.
Сама логика в эвенте меняется в пекрытых методах базовых классов, их всего 4
L2EventEngineInstance
L2EventPlayer
L2EventTeam
L2EventSpawn

Написанные классы обязательно регистрировать в движке, иначе ГС не поймет какой именно класс эвента ему использовать при создании объекта и будет использован дефолтный класс, а не тот который нужен по эвенту.
Пример для CTF (регистрация в классе L2CTFEngine.java)
//example: default base class registered
//change to custom event classes
//setEventInstanceClass(L2EventEngineInstance.class) ;
//setEventPlayerClass(L2EventPlayer.class);
//setEventTeamClass(L2EventTeam.class);
//setEventSpawnClass(L2EventSpawn.class);
setEventInstanceClass(L2CTFEngineInstance.class); - реализация эвента
setEventPlayerClass(L2CTFPlayer.class); - реализация изменений в методах работы с игроком
setEventSpawnClass(L2CTFSpawn.class); - реализация изменений работы с нпц

Класс расписания самодостаточен, поэтому для него не сделан вход для перекрытия классов.

Работы с ДП java http://l2emu-enterprise.net/showthread.php?t=997

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

Последний раз редактировалось Visor123; 16.07.2011 в 12:11.
Visor123 вне форума   Ответить с цитированием