[PW] Серверная PWHelper - модуль для Perfect World

svmuel32

Active member
Разработчик
Рождённые в СССР
Местный
Пользователь svmuel32 разместил новый ресурс:

PWHelper - модуль для Perfect World - модуль для редактирования pw

PWHelper - динамически подключаемый модуль к игровым сервисам в Perfect World. Позволяет быстро настроить сервер по уже готовым шаблонам в конфигурационном файле.
Тип продукта: freeware
Текущая версия: 0.1
Состояние разработки: closed beta test (CBT)
Поддержка игровых версий: 1.2.6 - 1.5.5

Особенности системы:
  1. Автономность - для работы не требуется модифицировать (GS,GDELIVERYD и т.д). Вы просто подключаете модуль и настраиваете...

Узнать больше об этом ресурсе...
 
Как и обещал, прикрепляю видео-демонстрацию работы с PWHelper 0.2.

Изменения в версии 0.2
  1. Значительно оптимизирована функция отладки в реальном времени, для того чтобы перезагрузить конфиг ещё раз нужно ввести debug-команду.
  2. Переработан алгоритм обработки ключа для активации debug'а, если установить значение ключа 0, его функциональность будет отключена.
  3. Даже если Вы уберете переменную из конфигурации - модуль установит ему стандартное значение.
  4. Информация о начальной конфигурации загружается в лог локации (gs01.log и т.д), при перезагрузке конфига информация также будет записана в лог локации.
  5. Добавлена возможность отключить ожидание в виде 60 секунд для снятия замка при входе на персонажа. При этом, основной функционал замка сохранен, если вы установите значение больше 1 минуты сами - замок будет работать как и обычно.
Некоторые интересовались: как попасть на ЗБТ и использовать модуль до полноценного релиза.
Все, что от Вас требуется, это заполнить небольшую форму и отправить её мне либо в ЛС на форуме, либо в skype (host.manger). После тестирования, которое будет длиться ровно один месяц, Вы должны сформировать общий отчет о модуле и поделиться своим мнением в этой теме. Первые версии начну отправлять с 30.09.2019 с документацией и инструкцией по настройке.

Сама форма:
  1. Как к вам обращаться:
  2. Версия сервера, для которой нужен PWHelper:
  3. Ваш сервер является тестовым (Да/Нет):
  4. Оцените Ваши знания в администрировании игровых серверов по шкале от 1 до 10:
Оставляю за собой право отказать в предоставлении тестовой версии PWHelper любому, кто вызовет подозрения.
;--------------------------------------------------------------------------------------
;PwHelper v.0.2 project module. © Samuel, 2019.
;--------------------------------------------------------------------------------------
;СПРАВКА ПО DEBUG-КОМАНДАМ
;--------------------------------------------------------------------------------------
;d 1 KEY KEY KEY3 - Активация debug-режима
;d 23010 - Обновление конфигурации PWHelper, изменения будут применены в реальном времени
;d 23011 10.0 - Установит игроку скорость передвижения в 10.0, значение можно менять на любое
;d 23012 ID_ПЕРСОНАЖА КОЛИЧЕСТВО - Выдать персонажу ярморочный голд
;d 23013 5 - Установит персонажу скорость атаки в 5.0
;d 23014 20.0 - Установит персонажу дальность атаки в 20.0 (нуждается в переработке)
;--------------------------------------------------------------------------------------

;--------------------------------------------------------------------------------------
[GAME_SERVER]
;Ключ, который используется для активации debug режима у персонажа
;Принимает числовые значения от -2147483648 до 2147483647
;Активируется исключительно у того, кто ввел команду, после релогина ключ придется ввести ещё раз
;Установите все значения 0, если хотите отключить активацию debug'а по ключам
;Пример: d 1 1234 12345
KEY1 = 123;
KEY2 = 1234;
KEY3 = 12345;

;Устанавливает максимальное время каста 99
;Принимает два вида значений: TRUE или FALSE
;TRUE - ВКЛЮЧИТЬ, FALSE - ОТКЛЮЧИТЬ
INTCAST = FALSE;

;Добавляет +12 очков при любой заточке
;Принимает два вида значений: TRUE или FALSE
;TRUE - ВКЛЮЧИТЬ, FALSE - ОТКЛЮЧИТЬ
REFINE_IN_ONE_CLICK = FALSE;

;ID игрового громкоговорителя-рупора
;Для корректной работы необходима правка в клиенте
WORLD_SPEAKER_ID_1 = 12979;

;ID второго громкоговорителя-рупора
;Для корректной работы необходима правка в клиенте
WORLD_SPEAKER_ID_2 = 36092;

;ID первого игрового громкоговорителя-горна
;Для корректной работы необходима правка в клиенте
SUPERWORLD_SPEAKER_ID_1 = 27728;

;ID второго игрового громкоговорителя-горна
;Для корректной работы необходима правка в клиенте
SUPERWORLD_SPEAKER_ID_2 = 27729;

;Отключить ожидание в виде 60 секунд для снятия замка при входе на персонажа.
;При этом, основной функционал замка сохранен, если вы установите новое значение сами - замок будет работать как и обычно
;Принимает два вида значений: TRUE или FALSE
;TRUE - ВКЛЮЧИТЬ, FALSE - ОТКЛЮЧИТЬ
NODELAY_AUTOLOCK = FALSE;

;Лимит юаней в инвентаре персонажа.
;Принмимает числовые значения от 0 до 2147483647
;Для применения изменений придется перезайти на персонажа
MONEY_CAPACITY = 200000000;

;ID предмета для повышения уровня, дает +1 к уровню персонажа
;Можно использовать любой ID-предмета, который можно активировать (зелья, аптека и т.д)
;Установите 0, если хотите отключить LvLUp по итему
LVLUP_ITEM_ID = 0;

;Ограничитель повышения уровня при использовании предмета
ITEM_LVLUP_MAX_LEVEL = 150;

;Время перезарядки свитка перемен
;Принимает значения от 0 до 2147483647
COSMETIC_SUCCES_TIME = 3600000;

;ID карты жизни (дублер, куклы..)
DUMMY_ID = 36309;

;ID свитка воскрешения
;Для корректной работы необходима правка в клиенте
REVIVE_SCROLL_ID = 3043;

;Максимальная скорость движения у персонажа
;Принимает значения с плавающей запятой
;Не рекомендуется устанавливать значение больше 100.0
;Для продвинутых: квадрат максимальной скорости рассчитывается автоматически
MAX_RUN_SPEED = 15.0;
;--------------------------------------------------------------------------------------
Напоминаю, предложения по функционалу можно описать тут: Какого функционала вам не хватает?
 
Последнее редактирование:
Софтина может только изменять значения, или своё что то сделать тоже можно?
И есть вариант (платный) что бы автор сего софта приватно допиливал функционал в "одни руки"?
 
Софтина может только изменять значения, или своё что то сделать тоже можно?
И есть вариант (платный) что бы автор сего софта приватно допиливал функционал в "одни руки"?
Модуль может изменять логику работы любой функции, есть возможность дописывать и вызывать свои.
Вариант платной модификации есть, но он не относится к PWHelper, под эти нужды будет написан другой модуль, он никак не мешает работоспособности самого PWHelper или другим модулям.
 
Модуль может изменять логику работы любой функции, есть возможность дописывать и вызывать свои.
Вариант платной модификации есть, но он не относится к PWHelper, под эти нужды будет написан другой модуль, он никак не мешает работоспособности самого PWHelper или другим модулям.
Дописать команды в AI можно?
Например при помощи канала монстров
моб орёт {region_off_100} и в этом регионе (где стоит моб) отключается пис зона (если она есть) на 100 секунд

Не стоит путать крякнутый софт с подселенным бэкдором с уже бесплатно задуманным софтом. Альтруизм в отличие хакеризма не побуждает бэкдорить всех!
ну ждемс тогда исходники на гитхабе:Pig01:
 
Последнее редактирование модератором:
Дописать команды в AI можно?
Например при помощи канала монстров
моб орёт {region_off_100} и в этом регионе (где стоит моб) отключается пис зона (если она есть) на 100 секунд
Да, можно изменить/добавить любой функционал, подробнее можем обсудить в скайпе.
Исходников не будет в бесплатном доступе пока я поддерживаю этот продукт и заинтересован в его развитии. Если меня перестанет интересовать эта тема и я не найду того, кому смогу передать исходные файлы то поделюсь сорцами с документацией по работе.
 
Да, можно изменить/добавить любой функционал, подробнее можем обсудить в скайпе.
Исходников не будет в бесплатном доступе пока я поддерживаю этот продукт и заинтересован в его развитии. Если меня перестанет интересовать эта тема и я не найду того, кому смогу передать исходные файлы то поделюсь сорцами с документацией по работе.
Ясно.
Ну в целом как рекомендация своих услуг этот пвхелпер действительно может сделать свое дело. Но было бы не плохо добавить еще модификации в .exe.
Подкину несколько не плохих идей, которые думаю многим бы пригодились, что б не подумали что я хейтер:Fox02::
1. ТВ несколько раз в день
2. БД несколько раз в день
3. Редактирование Меридиан
4. Настройки vip системы
5. Лимит для gs: no-party (нельзя быть\собрать в группе, если игроки зашли в группе немедленное расформирование группу)
 
Последнее редактирование:
Изменения в версии 0.3
  1. Конфигурация теперь перезагружается сразу во всех локациях, а не только в той, где ввели debug-команду. (Возможно добавлю отдельную функцию для перезагрузки только в определенной локации).
  2. Добавлена возможность настройки итемов для перезагрузки определенных локаций у игроков (больше не надо кидать пати, чтобы в данже появились монстры).
  3. Добавлен новый лимит для локаций - no-party, установив его в gs.conf на локации игроки не смогут собрать отряд.
  4. Добавлена возможность редактировать уровень, с которого начинается PK.
  5. Добавлена возможность редактировать переменные связанные с меридианами.
Думаю, что с функционалом пока что все, теперь займусь рутиной в виде переноса функционала под все версии PW.
В версию 0.4 войдут минорные правки, а также поддержка самых популярных версии PW: 1.2.6, 1.4.2, 1.4.6, 1.5.0, 1.5.1, 1.5.3, 1.5.5.
Уже завтра, ближе к вечеру, отправлю тестовые версии для 1.5.5, 1.5.1, 1.4.6 с инструкцией по настройке.
Смена ID: рупоров, горнов, свитка воскрешения в elementclient.exe

;--------------------------------------------------------------------------------------
;PwHelper v.0.3 project module. © Samuel, 2019.
;--------------------------------------------------------------------------------------
;СПРАВКА ПО DEBUG-КОМАНДАМ
;--------------------------------------------------------------------------------------
;d 1 KEY KEY KEY3 - Активация debug-режима
;d 23010 - Обновление конфигурации PWHelper, изменения будут применены в реальном времени
;d 23011 100 - Установит игроку скорость передвижения в 100%, значение можно менять на любое
;d 23012 ID_ПЕРСОНАЖА КОЛИЧЕСТВО - Выдать персонажу ярморочный голд
;d 23013 5 - Установит персонажу скорость атаки в 5.0, d 23013 вызовет справку по debug'у
;--------------------------------------------------------------------------------------

;--------------------------------------------------------------------------------------
[GAME_SERVER]
;Ключ, который используется для активации debug режима у персонажа
;Принимает числовые значения от -2147483648 до 2147483647
;Активируется исключительно у того, кто ввел команду, после релогина ключ придется ввести ещё раз
;Установите все значения 0, если хотите отключить активацию debug'а по ключам
;Пример: d 1 123 1234 12345
KEY1 = 123;
KEY2 = 1234;
KEY3 = 12345;

;Устанавливает максимальное время каста 99
;Принимает два вида значений: TRUE или FALSE
;TRUE - ВКЛЮЧИТЬ, FALSE - ОТКЛЮЧИТЬ
INTCAST = FALSE;

;Добавляет +12 очков при любой заточке
;Принимает два вида значений: TRUE или FALSE
;TRUE - ВКЛЮЧИТЬ, FALSE - ОТКЛЮЧИТЬ
REFINE_IN_ONE_CLICK = FALSE;

;Отключить ожидание в виде 60 секунд для снятия замка при входе на персонажа.
;При этом, основной функционал замка сохранен, если вы установите новое значение сами - замок будет работать как и обычно
;Принимает два вида значений: TRUE или FALSE
;TRUE - ВКЛЮЧИТЬ, FALSE - ОТКЛЮЧИТЬ
NODELAY_AUTOLOCK = FALSE;

;Лимит юаней в инвентаре персонажа.
;Принмимает числовые значения от 0 до 2147483647
;Для применения изменений придется перезайти на персонажа
MONEY_CAPACITY = 200000000;

;ID предмета для повышения уровня, дает +1 к уровню персонажа
;Можно использовать любой ID-предмета, который можно активировать (зелья, аптека и т.д)
;Установите 0, если хотите отключить LvLUp по итему
LVLUP_ITEM_ID = 0;

;Ограничитель повышения уровня при использовании предмета
ITEM_LVLUP_MAX_LEVEL = 150;

;Время перезарядки свитка перемен
;Принимает значения от 0 до 2147483647
COSMETIC_SUCCES_TIME = 3600000;

;ID карты жизни (дублер, куклы..)
DUMMY_ID = 36309;

;Максимальная скорость движения у персонажа
;Принимает значения с плавающей запятой
;Не рекомендуется устанавливать значение больше 100.0
;Для продвинутых: квадрат максимальной скорости рассчитывается автоматически
MAX_RUN_SPEED = 15.0;

;Уровень, с которого игрока можно убить (PK)
PVP_PROTECT_LEVEL = 29;

;--------------------------------------------------------------------------------------
[NEED_CLIENT]
;Этот раздел можно редактировать после правок в клиентской части игры

;ID игрового громкоговорителя-рупора
WORLD_SPEAKER_ID_1 = 12979;

;ID второго громкоговорителя-рупора
WORLD_SPEAKER_ID_2 = 36092;

;ID первого игрового громкоговорителя-горна
SUPERWORLD_SPEAKER_ID_1 = 27728;

;ID второго игрового громкоговорителя-горна
SUPERWORLD_SPEAKER_ID_2 = 27729;

;ID свитка воскрешения
REVIVE_SCROLL_ID = 3043;
;--------------------------------------------------------------------------------------
[MERIDIANS]
;ID предметов для бесплатных попыток повышения уровня меридиана
MERIDIAN_REFINE_COST1 = 38142;
MERIDIAN_REFINE_COST2 = 38143;
MERIDIAN_REFINE_COST3 = 38144;

;ID предметов для платных попыток повышения уровня меридиана
MERIDIAN_PAID_REFINE_COST_1 = 42328;
MERIDIAN_PAID_REFINE_COST_2 = 38145;
MERIDIAN_PAID_REFINE_COST_3 = 38146;
MERIDIAN_PAID_REFINE_COST_4 = 38147;

;Максимаьное кол-во попыток
MERIDIAN_MAX_PAID_REFINE_TIMES = 100;
MERIDIAN_INC_PAID_REFINE_TIMES = 50;

;Максимальный уровень мередиана
MERIDIAN_MAX_REFINE_LEVEL = 80;
;--------------------------------------------------------------------------------------
[RELOAD_INSTANCE]
;Конфигурация системы перезагрузки данжей для игрока
;ID предмета может быть любым активируемым предметом, правок в elements.data не требуется
;TAG локации можно найти в gs.conf

;RI_ITEM_ID_1 - ID предмета, при активации которого будет перезагружена локация RI_TAG_ID_1
RI_ITEM_ID_1 = 0;
RI_TAG_ID_1 = 0;

;RI_ITEM_ID_2 - ID предмета, при активации которого будет перезагружена локация RI_TAG_ID_2
RI_ITEM_ID_2 = 0;
RI_TAG_ID_2 = 0;

;RI_ITEM_ID_3 - ID предмета, при активации которого будет перезагружена локация RI_TAG_ID_3
RI_ITEM_ID_3 = 0;
RI_TAG_ID_3 = 0;

;RI_ITEM_ID_4 - ID предмета, при активации которого будет перезагружена локация RI_TAG_ID_4
RI_ITEM_ID_4 = 0;
RI_TAG_ID_4 = 0;

;RI_ITEM_ID_5 - ID предмета, при активации которого будет перезагружена локация RI_TAG_ID_5
RI_ITEM_ID_5 = 0;
RI_TAG_ID_5 = 0;
;--------------------------------------------------------------------------------------
Предложение: Было бы неплохо добавить модификации в exe
Ответ: Пока есть много возможностей на стороне сервера, может-быть, в будущем и будут какие-то фишки в exe.

Предложение: ТВ несколько раз в день
Ответ: Думал об этом, возможно появится в следующих обновлениях PWHelper.

Предложение: БД несколько раз в день
Ответ: Думал об этом, возможно появится в следующих обновлениях PWHelper.

Предложение: Редактирование Меридиан
Ответ: Постараюсь уже на днях разобраться с этим и внести в основной функционал.

Предложение: Настройки vip системы
Ответ: Переменные связанные с VIP-системой можно отредактировать в конфигурационном файле (home\gamedbd\gamesys.conf), я больше игрок старой закалки, если нужно что-то ещё - с радостью приму предложения.

Предложение: Лимит для gs: no-party (нельзя быть\собрать в группе, если игроки зашли в группе немедленное расформирование группу)
Ответ: Сделано, большое спасибо за идею :Pig01:

Предложение: Хочу 8 ячеек в вещах
Ответ: Сделать не проблема, но я не понимаю зачем это надо, если поддержат другие члены сообщества - ок.

Предложение: Вплавка камней в шмот/оружие/бижи просто перетянув нужный камень в шмотку.
Ответ: Отказываюсь, пускай эта разработка останется с тем, кто её придумал и реализовал.

Предложение:
Вплавка камней в стиль/в джина/трактат/кольца, заточка стиля как 2 сет, изменение раздела со стилями в инвентаре персонажа, а то есть: Раздел "Стиль" будет как встроенный автосвап с разделом "Броня", сделать автосвап через гардероб, только чтоб свапал шмот.
Ответ: Отказываюсь, крайне долгий процесс в разработке с подводными камнями, есть вариант сделать это за $.
 
Последнее редактирование:
Тестирование запущено!
Отправил первые версии тем, кто отписал мне в личные сообщения и в Skype (принять участие в тестировании все ещё можно).
Те, кто просил версию PWHelper для 1.5.5 - придется подождать до завтра (или сегодня примерно к 22-23 часам по МСК).
В целях безопасности, чтобы бесплатный модуль не начали продавать до релиза, при входе на персонажа будет небольшое "приветствие", само приветствие ниже:
Без названия.jpg
Если я хоть немного знаю о Вас и сервер не является тестовым - есть вариант отключить показ этого "приветствия"
 
Тестирование запущено!
Отправил первые версии тем, кто отписал мне в личные сообщения и в Skype (принять участие в тестировании все ещё можно).
Те, кто просил версию PWHelper для 1.5.5 - придется подождать до завтра (или сегодня примерно к 22-23 часам по МСК).
В целях безопасности, чтобы бесплатный модуль не начали продавать до релиза, при входе на персонажа будет небольшое "приветствие", само приветствие ниже:
Посмотреть вложение 5026
Если я хоть немного знаю о Вас и сервер не является тестовым - есть вариант отключить показ этого "приветствия"
Контент делаешь. Смотри вдохновение не потеряй как таск джо
 
Изменения в версии 0.4 (beta)
  1. Добавлена поддержка: 1.2.6, 1.4.2, 1.4.6, 1.5.0, 1.5.1, 1.5.3, 1.5.5 версий Perfect World.
  2. Добавлена возможность редактирования приветствия при первом входе на персонажа, если оставить поле пустым - приветствие будет отключено.
    Можно настроить: текст приветствия, канал чата, отправка игроку локально или всем персонажам в сети.
  3. Включение/отключение инткаста перенесено в параметры gs.conf, теперь можно включать инткаст на определенных локациях.
  4. Добавлена возможность редактирования максимального количества ячеек в инвентаре персонажа.
  5. [1.5.3 & 1.5.5] Исправлено падение локации при отправке клановой почты.
  6. Оптимизированы "тяжелые" блоки кода.
  7. Доработан алгоритм поиска ошибок в логике работы ядра и модуле.
Всем, кто так долго ждал тестовую версию для 1.5.5 - проверяйте личные сообщения на форуме или в Skype.

Видео-демонстрация работы noparty-мода и перезагрузки локаций в PWHelper 0.3/0.4


Выявленные погрешности

  1. [ALL VERSION] Обнаружена погрешность в логике работы noparty-мода: если попытаться зайти с отрядом на локацию отряд не будет расформирован.
    Функционал остался прежним, в будущих версиях обязательно исправлю погрешность с входом.
    Временно можно применить велосипед-грамотное решение - изменить условие в квесте для входа на локацию, чтобы он не показывался если игрок находится в группе.

Screenshot_2.png
Если вы желаете протестировать PWHelper его и функционал заполните форму ниже и отправьте мне её в личные сообщения на форуме.
  1. Как к вам обращаться:
  2. Версия сервера, для которой нужен PWHelper:
  3. Ваш сервер является тестовым (Да/Нет):
  4. Оцените Ваши знания в администрировании игровых серверов по шкале от 1 до 10:
Есть потрясающая идея, которая должна быть реализована в функционале модуля? - Вам сюда.[/SPOILER]
 
Последнее редактирование:
Пользователь svmuel32 обновил ресурс PWHelper - модуль для Perfect World- новой записью:

PWHelper v.0.4 - Модуль для Perfect World

Скрытое содержимое для пользователя(ей): svmuel32, Andrey, JND, Admin, Bum4ik

PWHelper - динамически подключаемый модуль к игровым сервисам в Perfect World. Позволяет быстро настроить сервер по уже готовым шаблонам в конфигурационном файле.
Тип продукта: freeware
Текущая версия: 0.4
Состояние разработки: closed beta test (CBT)
Поддержка игровых версий: 1.2.6 -...

Узнать больше об этом обновлении...
 
Сначало меня упомянул, затер стёр на превью тексте. Вот негодяй, я же так рвался тестировать. Спасибо, тест версию получил, ставлю на свою машину и сервак огонь будет.
 
2 пункт супер
5 пункт. Отправка массовой почты работает или тожа ломается?
 
2 пункт супер
5 пункт. Отправка массовой почты работает или тожа ломается?
По-поводу почты, в 04 версии была установлена заглушка, потом я вспомнил о том, что это нужная функция и изменил логику работы: теперь ничего не падает и работает как надо.
При попытке вызвать падение пользователя обрадует сообщение.
Screenshot_3.png
Эти изменения будут доступны в 05 версии PWHelper.
 
По-поводу почты, в 04 версии была установлена заглушка, потом я вспомнил о том, что это нужная функция и изменил логику работы: теперь ничего не падает и работает как надо.
При попытке вызвать падение пользователя обрадует сообщение.
Эти изменения будут доступны в 05 версии PWHelper.
а сколько фикс стоит такой? или бесплатно можешь поделиться? хочу себе поставить (что-бы не роняли + почта пахала)
 
Планы на PWHelper 0.5

[1.3.6]

  1. Исправление ДЮП'а через игровой магазин.
[1.5.3 - 1.5.5]
  1. Исправление работы логики инткаста при включении параметра intcast на локации, максимально приблизить его к тому, что было на 1.3.6, возможно, фикс скорости произношения определенных скиллов, у которых нестандартная задержка.
  2. Исправление логики работы отправки клановой почты без вырезания логики самой игры. - Сделано.
[ALL VERSION]
  1. Использование лексем в настройках текста приветствия при регистрации, к примеру: "Рады приветствовать нового игрока на сервере - %username".
  2. Изменения в логике поиска конфигурационного файла, возможность указать кастомный путь к нему.
    Есть несколько идей, первый способ, подгружать конфигурационный файл в папке с gs'ом (то есть не важно какой путь будет использован, загрузка будет происходить в любом случае из места откуда запущен сам gs).
    Либо же при запуске модуля указывать путь к конфигурации.
  3. Перенос некоторых функций PWHelper с debug-консоли в обычный чат, просто для удобства.
 
Планы на PWHelper 0.5

[1.3.6]

  1. Correction DUP'a through the game store.
[1.5.3 - 1.5.5]
  1. Correction of the intcast logic when turning on the intcast parameter on a location, bringing it as close as possible to what it was at 1.3.6, possibly fixing the pronunciation speed of certain skills that have a non-standard delay.
  2. Correction of the logic of sending clan mail without cutting the logic of the game itself. - Done.
[ALL VERSION]
  1. The use of tokens in the welcome text settings during registration, for example: "We are glad to welcome a new player to the server -% username".
  2. Changes in the search logic of the configuration file, the ability to specify a custom path to it.
    There are several ideas, the first way is to load the configuration file in the gs folder (that is, it doesn’t matter which path is used, the download will occur in any case from the place where gs itself was launched).
    Or, when starting the module, specify the path to the configuration.
  3. Transferring some PWHelper functions from the debug console to regular chat is just for convenience.
may i try this tool?
 
Последнее редактирование модератором:
Назад
Сверху