Jump to content
Sign in to follow this  
SuicideSilince

Админка

Recommended Posts

В это  сборке вроде куча дополнений, но, когда патаюсь создать их в игре пишет This item dosent exist. Что делать ?

 

Share this post


Link to post
Share on other sites

Нету итема. Если в сборке есть, то нету в клиенте

Share this post


Link to post
Share on other sites

В клиент все файлы добавил во все папки, анимация, текстуры и т.д. Возможно я не совсем понял, что ты имеешь ввиду ) Как это все проверить можно ?

Share this post


Link to post
Share on other sites
2 часа назад, SuicideSilince сказал:

This item dosent exist

Предмет не существует, нужно добавить его в xml папка items.

Share this post


Link to post
Share on other sites
1 час назад, SuicideSilince сказал:

А где мне взять эти файлы, если их сразу в сборке не было ?) image.png.4635e99e090a824f493cea3c0e813bbc.pngмб тут ?

 

Причем здесь бекапы... В datapack ищи items. Ну и пропиши этот айтем так, как другие подобные прописываются. В БД добавь айтем. 

Почитай прежде мануал как добавлять, а не резонёрствуй. Гугл в помощь. 

Share this post


Link to post
Share on other sites
1 час назад, SuicideSilince сказал:

А где мне взять эти файлы, если их сразу в сборке не было ?) image.png.4635e99e090a824f493cea3c0e813bbc.pngмб тут ?

 

 

Если хочешь добавить оружие какое-нить, то найти нужные файлики с расширением *.xml в папке data сервера. Это должна быть папка с множеством таких файлов, в которых хранятся данные исключительно по оружию. Открыв файлик с таким расширением, твоему взору представлент подобный код:

<item id="1" name="short_sword">
<for>
<set val="8" order="0x08" stat="PHYSICAL_ATTACK"/>
<set val="6" order="0x08" stat="MAGICAL_ATTACK"/>
<set val="8" order="0x08" stat="PHYSICAL_CRITICAL_RATE"/>
<add val="0" order="0x10" stat="ACCURACY_COMBAT"/>
<set val="379" order="0x08" stat="PHYSICAL_ATTACK_SPEED"/>
<enchant val="0" order="0x0C" stat="PHYSICAL_ATTACK"/>
<enchant val="0" order="0x0C" stat="MAGICAL_ATTACK"/>
</for>
</item>

stat="здесь все вроде бы понятно, если перевести с английского". Подобные записи должны быть и в файлах *.xml по оружию в твоей сборке. Создаешь айтем по лекалу других таких же в соответствующем файлике оружия *.xml, прописываешь его айди, обязательно отличный от айди других, и соответствующие параметры. 

Потом идешь в БД и ищешь таблицу с айтемами. Таблица может и не называться 'items', а иметь другое название. Главное - это поищи в БД по содержанию, а не по названию. Приблизительно *.sql файлик содержит подобный код. С 'item_id', 'name', 'crystallizable', 'item_type' и так далее все понятно. Они соответствуют айди айтема, имени, возможности кристаллизовать (истина или ложь), типу айтема. И так далее. Нетрудно заметить, что потом идет вес айтема и так далее.

CREATE TABLE `items` (
  `item_id` int(11) NOT NULL DEFAULT 0,
  `name` varchar(100) DEFAULT NULL,
  `crystallizable` enum('true','false') DEFAULT 'true',
  `item_type` varchar(14) DEFAULT NULL,
  `weight` int(4) DEFAULT NULL,
  `consume_type` enum('asset','normal','stackable') DEFAULT NULL,
  `material` varchar(11) DEFAULT NULL,
  `crystal_type` enum('none','d','c','b','a','s') NOT NULL DEFAULT 'none',
  `price` int(11) DEFAULT NULL,
  `crystal_count` int(4) DEFAULT NULL,
  `sellable` enum('true','false') NOT NULL DEFAULT 'true',
  `dropable` enum('true','false') NOT NULL DEFAULT 'true',
  `destroyable` enum('true','false') NOT NULL DEFAULT 'true',
  `tradeable` enum('true','false') NOT NULL DEFAULT 'true',
  `oldname` varchar(100) NOT NULL DEFAULT '',
  `oldtype` varchar(100) NOT NULL DEFAULT '',
  PRIMARY KEY (`item_id`)
);

Если какие-то параметры не понятны, просто проставь как у соседних такого же типа. В Navicat таблицы выглядят изящнее, там все красиво. Однако в самом *.sql файле дается только код. И каждый айтем представлен последовательностью (кортежем) параметров айтема. К примеру, вот последовательность НГшных стрел в базе данных:

('17', 'Wooden Arrow', 'false', 'arrow', '6', 'stackable', 'wood', 'none', '2', '0', 'true', 'true', 'true', 'true', 'wooden_arrow', 'arrow'),

Понятно, что на первом месте '17' стоит айди. Последовательность параметров в кортеже воспроизводится по коду, который я вставил первым. Там после айди идет название айтема ('item_name'). В случае НГшных стрел item_name="Wooden Arrow". Далее, как видно, идет логическая переменная, отвечающая за кристаллизацию. НГшные стрелы не кристаллизуются, стоит значение 'false'. Далее идет 'item_type', который равен arrow. Далее идет вес одной стрелы (weight), равный 6. И так далее. Ну ты понял. 

Чтобы добавить оружие, просто найди в таблице соответствующий кортеж какого-нибудь другого оружия, скопируй, вставь в эту же таблицу и отредактируй айди, название и другие параметры. Понятно, что айди в таблице должен соответствовать айди в файлике *.xml . Это все просто достаточно.

Потом в клиент добавь айтем. Процедура добавления айтема в клиент похожа на процедуру добавления в БД. Тоже нужно скопировать какой-нибудь кортеж и отредактировать, изменив айди, название, ссылку на текстуры и прочее. 

Короче разберешься... Мануалов куча в инете =)

Share this post


Link to post
Share on other sites

Часто с БД возится не умеют, хотя это очень просто. 

Вот, примеру, типичный файл *.sql с оружием. Структура таблиц представляется 

CREATE TABLE `weapon` (
  `item_id` int(11) NOT NULL DEFAULT 0,
  `name` varchar(70) DEFAULT NULL,
  `bodypart` enum('hatchling','lhand','lrhand','rhand','strider','wolf') DEFAULT NULL,
  `crystallizable` enum('true','false') DEFAULT 'true',
  `weight` int(4) DEFAULT NULL,
  `soulshots` tinyint(2) DEFAULT NULL,
  `spiritshots` tinyint(2) DEFAULT NULL,
  `material` varchar(11) DEFAULT NULL,
  `crystal_type` enum('none','d','c','b','a','s') DEFAULT 'none',
  `p_dam` int(5) DEFAULT NULL,
  `rnd_dam` tinyint(2) DEFAULT NULL,
  `weaponType` varchar(8) DEFAULT NULL,
  `critical` int DEFAULT NULL,
  `hit_modify` int(6) DEFAULT NULL,
  `avoid_modify` int DEFAULT NULL,
  `shield_def` int(3) DEFAULT NULL,
  `shield_def_rate` int DEFAULT NULL,
  `atk_speed` int(3) DEFAULT NULL,
  `mp_consume` int DEFAULT NULL,
  `m_dam` int(3) DEFAULT NULL,
  `price` int(11) DEFAULT NULL,
  `crystal_count` int(4) DEFAULT NULL,
  `sellable` enum('true','false') DEFAULT 'true',
  `dropable` enum('true','false') DEFAULT 'true',
  `destroyable` enum('true','false') DEFAULT 'true',
  `tradeable` enum('true','false') DEFAULT 'true',
  `item_skill_id` int(11) NOT NULL DEFAULT 0,
  `item_skill_lvl` int(11) NOT NULL DEFAULT 0,
  `onCast_skill_id` int(11) NOT NULL DEFAULT 0,
  `onCast_skill_lvl` int(11) NOT NULL DEFAULT 0,
  `onCast_skill_chance` int(11) NOT NULL DEFAULT 0,
  `onCrit_skill_id` int(11) NOT NULL DEFAULT 0,
  `onCrit_skill_lvl` int(11) NOT NULL DEFAULT 0,
  `onCrit_skill_chance` int(11) NOT NULL DEFAULT 0,
  PRIMARY KEY (`item_id`)
) ;

Наш айтем Short Sword с Id=1 из примера выше представляется кортежем параметров (согласно приведенной только что структуре таблицы):

('1', 'Short Sword', 'rhand', 'false', '1600', '1', '1', 'steel', 'none', '8', '10', 'sword', '8', '0.00000', '0', '0', '0', '379', '0', '6', '768', 0, 'true', 'true', 'true', 'true', '0', '0', '0', '0', '0', '0', '0', '0'),

Понятно, что на первом месте идет айди, потом название, потом в какой руке персонажа будет находится меч (поскольку 'lhand' (left hand - левая рука) обычно носит щит, а 'lrhand' (left and right hands) - это двурук, лук, дуал и вообще любое оружие, занимающее две руки (Two handed)), потом логический параметр кристаллизации (НГ меч не кристаллизуется, поэтому стоит значение false). И так далее. 

Share this post


Link to post
Share on other sites
13 минут назад, SuicideSilince сказал:

Запустил серв. дальше этого не проходит.

А что пишет хоть в геймсервере? Выложи последние логи. 

Share this post


Link to post
Share on other sites
5 минут назад, SuicideSilince сказал:

 

Поищи в конфигах что-то по First Guard и отключи его. Видно, что подгружается. его конфигурация с троеточием. А так ошибок не видно никаких. Вроде нормально сервер запустился. Остается только ванговать. 

Я бы затестил, только у меня нет компьютера достаточной мощности, чтобы одновременно тащить клиент и сервер. Поэтому я классики и годы всякие не играл. 

Share this post


Link to post
Share on other sites

Нашел решение чутка проще) Просто взял чистый патч, а не патч от сборки.

Share this post


Link to post
Share on other sites
10 часов назад, SuicideSilince сказал:

Нашел решение чутка проще) Просто взял чистый патч, а не патч от сборки.

👍

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...