Как выдавать предметы игроку.

Deazer

Head Developer
Staff member
Вариант 1:
Для выдачи какого либо предмета игроку оффлайн/онлайн вам необходимо выполнить SQL запрос:

INSERT INTO `items_delayed` (`owner_id`, `item_id`, `count`) VALUES (char_obj_id, item_id, item_count);

INSERT INTO `items_delayed` (`owner_id`, `item_id`, `count`) VALUES (12345678, 57, 1000);
Мы выдаем игроку 12345678 тысячу адены.
Этот вариант работает как если онлайн игрок или игрок оффлайн.

INSERT INTO `items_delayed` (`owner_id`, `item_id`, `count`) SELECT `obj_Id`, 57, 1 FROM `characters`;
Этот вариант выдает всем игрокам в базе 1 адену.

INSERT INTO `items_delayed` (`owner_id`, `item_id`, `count`) SELECT `obj_Id`, 57, 1 FROM `characters` WHERE `online` > 0;
Этот вариант выдает всем игрокам кто онлайн 1 адену.
Вариант 1.1 Выдача заточенных и агентированных предметов:
INSERT INTO items_delayed (owner_id, item_id, count, enchant_level,variationId1,variationId2) VALUES (268476982, 7575, 1, 5, 14561, 700);
Где:
268476982 - ObjId of character
7575 - Item Id
1 - Item amount
5 - enchant level
14561 - Augment id1
700 - Augment id2

Вариант 2:
Для выдачи предмета игроку в игре когда он онлайн есть ГМ команда:
//give_item <target|target_name> <item_id> <item_count>
Пример:
Берем в таргет чара //give_item 57 1000 Так мы выдадим таргету 1000 адены
//give_item Vasya 57 1000 Таким образом мы дистанционно выдадим чару Vasya 1000 адены

//give_all [item_id] [item_count] - дать предмет всем игрокам в мире
//give_all_by_ip [item_id] [item_count] - дать предмет всем игрокам в мире с уникальным IP
//give_all_by_hwid [item_id] [item_count] - дать предмет всем игрокам в мире с уникальным HWID
//give_all_radius [itemId] [count] [radius] - дать предмет игрокам в радиусе
 
Last edited:
Хотел сделать такой запрос:
Code:
INSERT INTO `items_delayed` (`owner_id`, `item_id`, `count`) SELECT `obj_Id`, 57, 1 FROM `characters` WHERE `lvl` > 40;
В таблице characters нет столбца LVL.
 
INSERT INTO `items_delayed` (`owner_id`, `item_id`, `count`) SELECT `char_obj_Id`, 57, 1 FROM `character_subclasses` WHERE 'isBase' = 1 AND `level` > 61;
в процессе, не откажусь от помощи)
 
Last edited:
Вариант 1:
Для выдачи какого либо предмета игроку оффлайн/онлайн вам необходимо выполнить SQL запрос:

INSERT INTO `items_delayed` (`owner_id`, `item_id`, `count`) VALUES (char_obj_id, item_id, item_count);

INSERT INTO `items_delayed` (`owner_id`, `item_id`, `count`) VALUES (12345678, 57, 1000);
Мы выдаем игроку 12345678 тысячу адены.
Этот вариант работает как если онлайн игрок или игрок оффлайн.

INSERT INTO `items_delayed` (`owner_id`, `item_id`, `count`) SELECT `obj_Id`, 57, 1 FROM `characters`;
Этот вариант выдает всем игрокам в базе 1 адену.

INSERT INTO `items_delayed` (`owner_id`, `item_id`, `count`) SELECT `obj_Id`, 57, 1 FROM `characters` WHERE `online` > 0;
Этот вариант выдает всем игрокам кто онлайн 1 адену.
Вариант 1.1 Выдача заточенных и агентированных предметов:
INSERT INTO items_delayed (owner_id, item_id, count, enchant_level,variationId1,variationId2) VALUES (268476982, 7575, 1, 5, 14561, 700);
Где:
268476982 - ObjId of character
7575 - Item Id
1 - Item amount
5 - enchant level
14561 - Augment id1
700 - Augment id2

Вариант 2:
Для выдачи предмета игроку в игре когда он онлайн есть ГМ команда:
//give_item <target|target_name> <item_id> <item_count>
Пример:
Берем в таргет чара //give_item 57 1000 Так мы выдадим таргету 1000 адены
//give_item Vasya 57 1000 Таким образом мы дистанционно выдадим чару Vasya 1000 адены

//give_all [item_id] [item_count] - дать предмет всем игрокам в мире
//give_all_by_ip [item_id] [item_count] - дать предмет всем игрокам в мире с уникальным IP
//give_all_by_hwid [item_id] [item_count] - дать предмет всем игрокам в мире с уникальным HWID
//give_all_radius [itemId] [count] [radius] - дать предмет игрокам в радиусе
Т.е выдать к примеру игрокам до 61 уровня какой либо предмет не получиться? только всем?
 
Так выше написал как
Всем у кого базовый класс больше 61 уровня, а дальше как угодно можно модифицировать под себя как угодно. Это SQL, можно подбрасывать данные как угодно.
INSERT INTO `items_delayed` (`owner_id`, `item_id`, `count`) SELECT `char_obj_Id`, 57, 1 FROM `character_subclasses` WHERE isBase = 1 AND `level` > 61;
 
INSERT INTO `items_delayed` (`owner_id`, `item_id`, `count`) SELECT `char_obj_Id`, 57, 1 FROM `character_subclasses` WHERE 'isBase' = 1 AND `level` > 61;
в процессе, не откажусь от помощи)
INSERT INTO `items_delayed` (`owner_id`, `item_id`, `count`) SELECT `char_obj_Id`, 57, 1 FROM `character_subclasses` WHERE isBase = 1 AND `level` > 61;
 
Back
Top