[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Форум » Lineage 2 » Раздел для новичков » Адаптируем SQL файл для своей сборки
Адаптируем SQL файл для своей сборки
guru3919Дата: Вторник, 11.01.2011, 22:34 | Сообщение # 1
Сержант
Группа: Администраторы
Сообщений: 23
Репутация: 0
Статус: Offline

Для вас несекрет - что залог удачного дополнения - ето правильность добавления в Базу данных, а именно SQL запрос (файл .sql). Приступим грызть гранит науки.
Первый пример будет о адаптации гм шопов и разных нпс под ваши сборки.
Часть I.
Итак, для етого нам понадобится :
1. Ваш вносимый .sql файл
2. Файл npc.sql из сборки сервера.
Начнем, я сюда приведу пример моей таблицы npc.sql :
Code
INSERT INTO `npc` VALUES
(12077, 12077, "Wolf", 0, "", 0, "Monster.pet_wolf", 13, 11.5, 15, "male", "L2Pet", 40, 195, 164, 3.95,
1.21, 40, 43, 30, 21, 20, 25, 0, 0, 9, 19, 3, 17, 282, 0, 333, 0, 0, 0, 26, 137, "NULL", 0, 0, 0,
"LAST_HIT", 0, 0, 0, "fighter")

ето я выташил из моей npc.sql находяшейся в сервере в moi_server/sql/
теперь я вам поясню его :
Code
INSERT INTO 'npc' VALUES
(`id`, `idTemplate`, `name`, `serverSideName`, `title`, `serverSideTitle`, `class`,
`collision_radius`, `collision_height`, `level`, `sex`, `type`, `attackrange`, `hp`, `mp`, `hpreg`,
`mpreg`, `str`, `con`, `dex`, `int`, `wit`, `men`, `exp`, 'sp', `patk`, `pdef`, `matk`, `mdef`,
`atkspd`, `aggro`, `matkspd`, `rhand`, `lhand`, `armor`, `walkspd`, `runspd`, `faction_id`,
`faction_range`, `isUndead`, `absorb_level`, `absorb_type`, `ss`, `bss`, `ss_rate`, `AI`)

INSERT INTO 'npc' - означает, что при выполнении запроса - будет добавлено в таблицу 'npc' данные значаея(VALUES), которые описаны в скобках.
Итак, чучуть мы уже разобрались, теперь начнем осваивать как же адаптировать.
К примеру, я открываю мой .sql файл(который хочу добавить) и начинаю сверять с моей структурой, которую я описал выше. К примеру, у меня такой запрос :
Code
INSERT INTO `npc` VALUES
(998899, "magaz", 0, "", 0, "gm-shop", 13, 11.5, 15, "male", "L2Npc", 40, 195, 164, 3.95, 1.21, 40, 43,
30, 21, 20, 25, 0, 0, 9, 19, 3, 17, 282, 0, 333, 0, 0, 0, 26, 137, "NULL", 0, 0, 0, "LAST_HIT", 0, 0, 0,
"fighter")

Начинаю сравнивать его с моей SQL таблицой - и выясняю, что оказывается тут пропушен 1 столбец, а именно : 12077 - `idTemplate`. Увидев ето, я понимаю - что такой запрос в мою .sql не пройдет, и нужно добавть в запрос то, что в нем пропушено. idTemplate - ето как будет отображатся ваш NPC(скин грубо говоря). Поетому, по аналогии я беру его из любого моего сушествуюшего НПС ( к примеру беру с запроса выше - 12077 ) и вставляю его. Вот что получаю :
Code
INSERT INTO `npc` VALUES
(998899, 12077, "magaz", 0, "", 0, "gm-shop", 13, 11.5, 15, "male", "L2Npc", 40,
195, 164, 3.95, 1.21, 40, 43, 30, 21, 20, 25, 0, 0, 9, 19, 3, 17, 282, 0, 333, 0, 0, 0, 26, 137, "NULL", 0,
0, 0, "LAST_HIT", 0, 0, 0, "fighter")

И заношу с чистой совестью свой Гм шопчиг в базу даных. ID моего шопа, соответсвенно запроса : 998899.
Часть II.
1. INSERT INTO `имя_таблицы` VALUES ('столбец1', 'столбец2', ...., 'столбец_n');
Ето запрос в БД, при помоши которого мы вставляем в таблицу определеные VALUES(значения, а именно столбцы етой таблицы). На моём примере ето наглядно показано.
2. DROP TABLE IF EXISTS `имя_таблицы`;
Етот запрос удалит таблицу, если она используется.
3. CREATE TABLE `имя_таблицы` ('имя_столбца1', 'имя_столбца2', ...., 'имя_столбца_n');
Етот запрос создаст таблицу, с определеным именем, и присвоит имена столбцов, как у меня на примере.
4. ENGINE=InnoDB;
Ето вы можете тоже увидеть в ваших sql запросах - оно означает, что тип таблицы будет INNODB ( есть еше MyISAM) - для ла2 используются INNODB, и их вы конфигурируете в вашем MySQL(my.ini)
5. Еше, частенько после запроса, к примеру CRATE TABLE вписывают IF NOT EXISTS - ето обозначает, что таблица будет создана, если она НЕ используется(аналогично на другие запросы).
Автор: guru3919

Прикрепления: 7547968.jpg (16.8 Kb)
 
Форум » Lineage 2 » Раздел для новичков » Адаптируем SQL файл для своей сборки
  • Страница 1 из 1
  • 1
Поиск: