На RegZone говорят что это от 1.5.2v127
Всё просто. Ты обычный школьник, идёшь домой со школы, а к тебе регулярно подходит накаченный гопник и начинает п*здить, и требовать бабки. Ты либо даёшь ему бабки, либо регулярно отхватываешь п*здюлей. И тут есть два выхода, либо продолжать отсыпать бабло, либо обучится самбо(в нашем случае исправить проблему самому) и тем самым защищаешься от столь злого гопника))
Обновлено до версии 1.3 [Version 1.2.2] - Исправлен баг с переменными в условиях; - Подправлено наименования условий; [Version 1.3] - Добавлена функция клонирования контроллера; - Появилась возможность редактировать ID контроллера; - При импорте контроллеров автоматически заменяется их версия на версию файла; - Программа не вылетает в случаи ошибки; - Добавлен недостающий канал чата в процедуру "Отправить сообщение".
AIPolicy Editor Lite– небольшая программка для редактирования искусственного интеллекта в игре PerfectWorld. Возможности: Поддержка версии 1.5.3, в которую разработчики PerfectWorld добавили множество полезных процедур, такие как: вызов NPC, генерация ресурсов, отправка заданий, гибкая система управления переменными и множество других процедур, условий, и выбора целей; Остался удобный блочный редактор условий; Полностью на русском языке и все значения разобраны; Массовый экспорт и импорт из других файлов разных версий; Умеет сама делать бекапы; Выбор канала чата в процедуре «Отправка сообщения». Цена: 2 000 рублей Для тех, кто приобрёл этот редактор, данный предоставляется бесплатно! Skype: dimonpw2 [IMG] [IMG] [IMG] [IMG] [IMG]
Я много на этом форуме повидал иностранцев с переводчиком, но именно этот вызвал у меня дикий смех))
Когда делал редактор для себя, написал быстренько парсер всех конфигов и объединил их в один файл. Получилось так: [IMG] После с помощью сериализации загружал конфиг, и по этому конфигу загружал "elements.data" в "DataSet". https://github.com/DmitriyChistoborodov/EasyElements - библиотека по загрузке конфига и elements.data. Не советую правда использовать, я её написал на скорую руку и не тестил.
Попробуйте добавить все эти предметы в сундук (74 лист), а в монстра вставить только этот сундук.
//offtop Могу еще один велосипед подкинуть, нанять человека который будет круглосуточно следить за этим монстром, и когда он заметит что убили монстра, он бы включал ваши рейты. Давайте согласимся, задача довольно не тривиальная, и изобретая велосипеды мы подвергаем сервер к неполадкам или потере производительности. Если у вас нет средств для нормальное реализации этого чуда, может лучше тогда вообще отказаться от неё.
С дублированием монстров мне кажется это плохая идея. Во первых, у монстров может быть другие триггеры. Во вторых, когда вы захотите добавить нового монстра, придётся добавлять два экземпляра. В третьих, будут возрождаться боссы с долгим возражением (РБ). Да и в целом выглядит как велосипед. Если не хотите лезть в ядро, я видел на форуме pwnode, сильно не вчитывался, но я как понял, там можно работать с пакетами. В общем дописать дополнение, если кто-то убил монстра с определённым ID, включить на сервере x2. Как включить рейты х2? Вроде есть какой-то пакет на какую-то службу. Смотрите в айвебе.
/offtop To Unix: поставь TeamViewer или что-нибудь для удаленного управления компьютером - очень удобно и бесплатно (при наличии купленного pwadmin'а) Мобильное приложение может оповестить администратора о высокой загруженности или прочих неполадках звуковым уведомлением. Чего нельзя добиться через TeamViewer. Как по мне, это достаточно полезная функция. Чем бы не занимался администратор, и где бы он не находился, он сразу узнает об неисправности, и может приступить к её устранении.
пв админ на андроид сможешь? alexdnepro поддерживает эту программу уже четыре с половиной года, и там действительно много чего реализовано. Представь сколько уйдёт времени на разработку, да и сумма тогда выйдет не маленькая. К тому же я не вижу смысла разрабатывать полную копию pwadmin для андроид, достаточно реализовать самые основные функции управлением сервера и выводом информации о сервере, а редактор персонажей уже будет лишним.
Доброго времени суток! К вашему вниманию предлагаю вам свои услуги по разработке программного обеспечения любой сложности под Windows и Unix. Также берусь за небольшие Web странички, которые будут взаимодействовать с сервером PW. К каждому проекту отношусь с полной серьёзностью, работу выполняю качественно, без каких либо задержек и денег много просить не буду. Если проект средней сложности, желательно чтобы было техническое задание, но не исключаю возможности обычной связи в скайпе. По завершению вы получите полностью готовый продукт, исходные коды и моё честное слово о нераспространении этого продукта. Обращаться в скайп: dimonpw2
Есть список всех действий отдельно? Хочется посмотреть весь список действий, что есть в программе Атаковать цель Использовать умение Сообщение в чат Сбросить таргет Выполнить набор действий Отключить набор действий Включить набор действий Создать таймер Удалить таймер Отбежать от цели Переагрится на указанный таргет Отагриться Уменьшить агрессивность Остановить выполнение действий Запустить/Остановить триггер из npcgen Инициализация переменной Повышение значения переменной Создание нового монстра Сменить путь Воспроизвести действие Добавить очки в исторический этап Инициализация истории
Вы задаете вопрос в разделе документация, в котором первая закрепленная тема называется pkx и с чем их едят В следующий раз будьте повнимательнее
ку всем) На днях возникла прикольная идея, запилить в пв Ability Draft(как в доте) К примеру, после создания персонажа, изначально умений у него нету, учить умения своего класса он не может, но может выбрать умения из общего пула умений всех персонажей. Естественно выбирать персонаж сможет только по 2-3 умения с каждой уважухи. К примеру: [IMG] Это только пример, но если подойти к этому грамотно, может получится неплохая фишка, которая добавить уникальности каждому герою, игроки будут придумывать какие нибудь связки, выбирать приоритеты(уйти в бафы или контроль, или как всё нормально совместить), пвп будут не такие предсказуемые, если еще учитывать умения джина, да и игрокам понравится такое разнообразие. И естественно со всех умений убрать ограничение по оружию, и сделать анимацию на все расы. Что скажите по этой фиче? Ну и собственно не случайно я создал тему в разделе "ищю", всё это мне по силам реализовать, но всё сливается в одну банальную проблему. Нет возможности открыть сервер в материальном плане. Если кто заинтересовался, пишите в лс, там всё обсудим.
Обновлено до версии: 1.1 Добавлена загрузка elements.data с версии 1.2.6 до 1.5.2 Добавлена временная лицензия Изменен интерфейс настроек Исправлено множество ошибок [IMG] [IMG] [IMG] [IMG] Небольшое изменение ценовой политики: Обычная цена: 5000 р. (одна лицензия) Оптовая цена: 4000 р. (от двух лицензий за каждую)
я бы не рассматривал просто рефлексию — очень оно медленно. я генерировал чтение-запись в runtime, с помощью System.Reflection.Emit. получалось, что по факту методы Read и Write генерирует сама программа для каждого нужного класса (и дочерних) на старте один раз, а дальше выбирал нужный метод для нужного класса и выполнял. получалось практически одинаково по скорости как если бы это писать вручную. Для меня runtime и мета-данные пока что еще что-то новое. Я так понял, мне нужно с помощью MethodBuilder`a и IL кода создать методы чтения и записи? Звучит всё как-то сложно) И да, если у кого-то будет такой же вопрос, как у меня в первом посте, вот решение: if (prop.PropertyType.IsArray) { var length = ReadCUInt32(); var value = Activator.CreateInstance(prop.PropertyType, length); for (int i = 0; i < length; i++) { ((object[])value)[i] = Activator.CreateInstance(prop.PropertyType.GetElementType()); Deserialization(((object[])value)[i]); } prop.SetValue(cls, value); }
А зачем хардкодить саму структуру? Как один из вариантов можно использовать конфиг, который будет подгружаться, основываясь на заголовке пакета. if (Packet.Header == n) { Config.LoadFrom("n.xml"); Config.Read(Packet); } Где Packet класс протокола общения, а Config - бинарный парсер. Этот вариант хорош, если для вывода использовать словарь. Что меня не устраивает. А если засовывать в структуру, это уже куча кода, к тому-же и лишнее чтение файла. На этом методе работает Iweb и pwadmin от ronny
В смысле ты хочешь затолкать объекты-наследников разных классов в один массив? Ну так ведь, ты это и хотел, выходит. Никак ты так не сделаешь, разве что через словарь (Dictionary), где ключ — название поля, а значение — его enum тип. Сколько не старался рассказать свою идею, не получилось) Как найду решение свой проблемы, выложу исходники на форуме. Данное решение должно значительно упростить чтение/запись и значительно уменьшит объем кода. Спасибо всем)
forbid = new GRoleForbid(); Если я явно начну указывать типы, тогда этот метод будет только для одной структуры. Вот обычный пример инициализации класса с помощью рефлексии: //Допусти в нашей структуре, цикл нашел свойство "gRoleBase" с типом "GRoleBase" //prop = полностью всё наше свойство. //prop.PropertyType = GRoleBase //В объект value записывается инициализация класса GRoleBase object value = Activator.CreateInstance(prop.PropertyType); //Свойству gRoleBase устанавливается значение инициализации. prop.SetValue(cls, value); //Начинает читать все свойства, которые находятся в классе gRoleBase DoReflection(value, packetReader); И это всё хорошо работает, но с массивами немного не катает. У массивов prop.PropertyType = GRoleforbid[], поэтому инициализировать массив я могу, а вот объекты внутри массива я не знаю как. Опять же, в методе DoReflection ничего не должно быть явного.
Имена участников (разделяйте запятой).