Shop Maker предназначен для облегчения процесса создания своего магазина для L2 сервера.
Все, что требуется - внести свои значения в конфигурационные переменные скрипта и положить в каталог 'lists' файл с числовым именем (Например, '701'), в котором будут находится необходимые ID вещей.
Для настройки конфигурационных переменных откройте любым текстовым редактором файл 'sm.php' и измените следующие строки:
code text
// CONFIG: BEGIN
define('MYSQL_HOST', 'localhost');
define('MYSQL_USER', 'root');
define('MYSQL_PASSWORD', 'home');
define('MYSQL_DATABASE', 'l2j_game');
define('MAKER_RATES', 2);
// CONFIG: END
MYSQL_HOST - адрес хоста, на котором расположен сервер базы данных MySQL.
MYSQL_USER - имя пользователя базы данных MySQL.
MYSQL_PASSWORD - пароль пользователя базы данных MySQL.
MYSQL_DATABASE - имя базы данных гейм-сервера.
MAKER_RATES - рейты на цены в магазине (первичная цена умножается на это значение, возможно использование как целых, так и дробных значений).
Далее идем в каталог 'lists'. В первой версии скрипта уже есть два файла ('700' и '701') для двуручного тупого оружия и двуручных мечей. Мы можем создать еще один или несколько список с другими именами или отредактировать существующие. Для редактирования - открываем любой из двух файлов любым текстовым редактором и редактируем/добавляем/удаляем ID предметов.
Как это все работает? Например, у нас в папке 'lists' есть файл '701'. Вот его содержание:
code text
70
71
5286
78
81
6372
6612
Мы запускаем скрипт и получаем несколько новых файлов в папке со скриптом. Некоторые из них - '701.xml' и 'merchant_buylists.sql'. Вот их содержание:
code text
<?xml version='1.0' encoding='utf-8'?>
<list>
<!-- Claymore for 3600000 adena -->
<item id="1">
<ingredient id="57" count="3600000" />
<production id="70" count="1" />
</item>
<!-- Flamberge for 4580000 adena -->
<item id="2">
<ingredient id="57" count="4580000" />
<production id="71" count="1" />
</item>
<!-- Berserker Blade for 12260000 adena -->
<item id="3">
<ingredient id="57" count="12260000" />
<production id="5286" count="1" />
</item>
<!-- Great Sword for 17360000 adena -->
<item id="4">
<ingredient id="57" count="17360000" />
<production id="78" count="1" />
</item>
<!-- Dragon Slayer for 54000000 adena -->
<item id="5">
<ingredient id="57" count="54000000" />
<production id="81" count="1" />
</item>
<!-- Heaven's Divider for 97600000 adena -->
<item id="6">
<ingredient id="57" count="97600000" />
<production id="6372" count="1" />
</item>
<!-- Infinity Cleaver for 114000000 adena -->
<item id="7">
<ingredient id="57" count="114000000" />
<production id="6612" count="1" />
</item>
</list>
code text
/* ID: 701 */
/* Claymore for 3600000 adena */
INSERT INTO `merchant_buylists` (`item_id`, `price`, `shop_id`, `order`) VALUES (70, 3600000, 701, 1);
/* Flamberge for 4580000 adena */
INSERT INTO `merchant_buylists` (`item_id`, `price`, `shop_id`, `order`) VALUES (71, 4580000, 701, 2);
/* Berserker Blade for 12260000 adena */
INSERT INTO `merchant_buylists` (`item_id`, `price`, `shop_id`, `order`) VALUES (5286, 12260000, 701, 3);
/* Great Sword for 17360000 adena */
INSERT INTO `merchant_buylists` (`item_id`, `price`, `shop_id`, `order`) VALUES (78, 17360000, 701, 4);
/* Dragon Slayer for 54000000 adena */
INSERT INTO `merchant_buylists` (`item_id`, `price`, `shop_id`, `order`) VALUES (81, 54000000, 701, 5);
/* Heaven's Divider for 97600000 adena */
INSERT INTO `merchant_buylists` (`item_id`, `price`, `shop_id`, `order`) VALUES (6372, 97600000, 701, 6);
/* Infinity Cleaver for 114000000 adena */
INSERT INTO `merchant_buylists` (`item_id`, `price`, `shop_id`, `order`) VALUES (6612, 114000000, 701, 7);
Как видите, скрипт генерирует multisell-файл, совместимый с серверами Fortress и L2J SF (А так же, возможно и с другими), а так же SQL файл, который можно импортировать в MySQL. Так же эти файлы снабжены комментариями, которые позволяют легко редактировать созданные списки вручную.