Перейти к содержанию
Авторизация  
YwAcTuK

Настройка Запросов Sql В Админке Sw13

Рекомендуемые сообщения

Нужен человек который перепишет запросы или хотя бы объяснит как это сделать....

 

в папке ....../l2j

 

Есть файлы с запросами под разные сборки..... Например есть l2j_Lucera.php

 

<?php
/**
* STRESS WEB
* @author S.T.R.E.S.S.
* @copyright 2008 - 2012 STRESS WEB
* @version 13
* @web http://stressweb.ru
*/
if (!defined("STRESSWEB")) die ("Access denied...");
$qList["Lucera"] = array (
"fields" => array(
"accessLevel"=>"accessLevel",
"charID"=>"charId",
),

"itemType" => array (
0 => "dress",
1 => "leftearring",
2 => "rightearring",
4 => "necklace",
5 => "rightring",
6 => "leftring",
8 => "helmet",
9 => "weapon",
11 => "gloves",
12 => "top",
13 => "lower",
14 => "bots",
3 => "shield",
7 => "weapon",
10 => "shield",
15 => "righthair",
16 => "weapon",
17 => "lefthair",
18 => "lefthair",
20 => "righthair",
22 => "braslet",
),
"insAccount" => "
INSERT INTO `accounts` (`login`,`password`,`accessLevel`,`l2email`)
VALUES ('{login}','{pass}','0','{l2email}')",

"insItem" => "
INSERT INTO `items` (`owner_id`,`object_id`,`item_id`,`count`,`enchant_level`,`loc`,`loc_data`,`time_of_use`,`custom_type1`,`custom_type2`,`mana_left`,`attributes`,`process`,`creator_id`,`first_owner_id`,`creation_time`,`data`)
VALUES ('{ownerID}', '{objectID}', '{itemID}', '{count}', '{enchant}', 'INVENTORY', '0', '0', '0', '0', '-1', '0', 'Loot', '21084', '20', '0', '0')",

"setPassword" => "
UPDATE `accounts`
SET `password`='{pass}'
WHERE `login`='{login}'",

"setAccessLevelAccount" => "
UPDATE `accounts`
SET `accessLevel`='{level}'
WHERE `login`='{login}'",

"setAccessLevelCharacter" => "
UPDATE `characters`
SET `isBanned`='{level}'
WHERE `charId`='{charID}'",

"setTeleport" => "
UPDATE `characters`
SET `x`='{x}',`y`='{y}',`z`='{z}',`lastteleport`='{lastteleport}'
WHERE `charId`='{charID}'",

"setItem" => "
UPDATE `items`
SET `count`='{count}', `enchant_level`='{enchant}'
WHERE `object_id`='{objectID}'",

"setItemCount" => "
UPDATE `items`
SET `count` = '{count}'
WHERE `owner_id` = '{ownerID}' AND `object_id` = '{objectID}'",

"getCountAccounts" => "
SELECT count(0)
FROM accounts {where}",

"getCountCharacters" => "
SELECT count(0)
FROM characters {where}",

"getCountClans" => "
SELECT count(0)
FROM clan_data",

"getCountHuman" => "
SELECT count(0)
FROM characters
WHERE race='0' AND isBanned='0'",

"getCountElf" => "
SELECT count(0)
FROM characters
WHERE race='1' AND isBanned='0'",

"getCountDElf" => "
SELECT count(0)
FROM characters
WHERE race='2' AND isBanned='0'",

"getCountOrc" => "
SELECT count(0)
FROM characters
WHERE race='3' AND isBanned='0'",

"getCountDwarf" => "
SELECT count(0)
FROM characters
WHERE race='4' AND isBanned='0'",

"getCountKamael" => "
SELECT count(0)
FROM characters
WHERE race='5' AND isBanned='0'",

"getCountDawn" => "
SELECT count(0)
FROM seven_signs
WHERE cabal='dawn'",

"getCountDusk" => "
SELECT count(0)
FROM seven_signs
WHERE cabal='dusk'",

"getAccount" => "
SELECT login,password,lastactive,accessLevel,lastIP
FROM `accounts`
WHERE `login`='{login}' {where}
LIMIT 1",

"getAccounts" => "
SELECT login,lastactive,accessLevel,lastIP
FROM `accounts` {where}
ORDER BY {order}
LIMIT {limit}",

"getCharactersList" => "
SELECT characters.account_name, characters.charId, characters.char_name, characters.level, characters.isBanned AS accesslevel, characters.lastAccess, char_templates.ClassName
FROM `characters`
LEFT JOIN `char_templates` ON characters.base_class = char_templates.ClassId {where}
ORDER BY characters.char_name
LIMIT {limit}",

"getCharacter" => "
SELECT characters.account_name, characters.char_name, characters.level, characters.sex, characters.base_class, characters.online, characters.exp, characters.sp, characters.karma, characters.pvpkills, characters.pkkills, characters.isBanned AS accesslevel, characters.onlinetime, characters.lastAccess, char_templates.ClassName, clan_data.clan_name
FROM `characters`
LEFT JOIN `char_templates` ON characters.base_class = char_templates.ClassId
LEFT JOIN `clan_data` ON characters.clanid = clan_data.clan_id
WHERE characters.charId='{charID}'",

"getCharacterInfo" => "
SELECT characters.account_name, characters.char_name, characters.level, characters.maxHp, characters.maxCp, characters.maxMp, characters.sex, characters.exp, characters.sp, characters.pvpkills, characters.pkkills, characters.karma, characters.race, characters.base_class, characters.isBanned AS accesslevel, characters.lastAccess, char_templates.ClassName, char_templates.STR, char_templates.CON, char_templates.DEX, char_templates._INT, char_templates.WIT, char_templates.MEN
FROM `characters`
LEFT JOIN `char_templates` ON characters.base_class = char_templates.ClassId
WHERE characters.charId='{charID}'",

"getAccountCharacters" => "
SELECT characters.account_name, characters.charId AS charID, characters.char_name, characters.level, characters.isBanned AS accesslevel, characters.lastAccess, characters.online, characters.onlinetime, characters.in_jail, char_templates.ClassName, clan_data.clan_name
FROM `characters`
LEFT JOIN `char_templates` ON characters.base_class = char_templates.ClassId
LEFT JOIN `clan_data` ON characters.clanid = clan_data.clan_id
WHERE characters.account_name='{account}'
ORDER BY characters.char_name",

"getTopClan"=>"
SELECT clan_data.clan_name, clan_data.clan_id, clan_data.ally_name, clan_data.clan_level, clan_data.reputation_score, clan_data.hasCastle, characters.char_name, ccount
FROM `clan_data`
LEFT JOIN `characters` ON characters.charId = clan_data.leader_id
LEFT JOIN (
SELECT clanid, count(level) AS ccount
FROM characters
WHERE clanid GROUP BY clanid
) AS levels ON clan_data.clan_id = levels.clanid
ORDER BY clan_data.clan_level DESC, clan_data.reputation_score DESC
LIMIT {limit}",

"getTop" => "
SELECT characters.char_name, characters.level, characters.sex, characters.pvpkills, characters.pkkills, characters.online, characters.onlinetime, char_templates.ClassName, clan_data.clan_name, clan_data.clan_id
FROM `characters`
LEFT JOIN `char_templates` ON characters.classid = char_templates.ClassId
LEFT JOIN `clan_data` ON characters.clanid = clan_data.clan_id
WHERE characters.isBanned='0'
ORDER BY characters.{order} DESC
LIMIT {limit}",

"getRich" => "
SELECT characters.char_name, characters.level, characters.sex, characters.online, characters.onlinetime, char_templates.ClassName, clan_data.clan_name, clan_data.clan_id, count.count
FROM `characters`
LEFT JOIN `char_templates` ON characters.classid = char_templates.ClassId
LEFT JOIN `clan_data` ON characters.clanid = clan_data.clan_id
LEFT JOIN (SELECT owner_id,SUM(count) AS count FROM items WHERE item_id='{item_id}' GROUP BY owner_id) AS count ON characters.charId=count.owner_id
ORDER BY count DESC, level DESC, onlinetime DESC
LIMIT {limit}",

"getClanCharacters" => "
SELECT characters.char_name, characters.level, characters.sex, characters.pvpkills, characters.pkkills, characters.online, characters.onlinetime, char_templates.ClassName, clan_data.clan_name, clan_data.clan_id
FROM `characters`
LEFT JOIN `char_templates` ON characters.classid = char_templates.ClassId
LEFT JOIN `clan_data` ON characters.clanid = clan_data.clan_id
WHERE characters.clanid='{clanid}'
ORDER BY characters.level DESC",

"getOnline" => "
SELECT characters.char_name, characters.level, characters.sex, characters.pvpkills, characters.pkkills, characters.online, characters.onlinetime, char_templates.ClassName, clan_data.clan_name, clan_data.clan_id
FROM `characters`
LEFT JOIN `char_templates` ON characters.classid = char_templates.ClassId
LEFT JOIN `clan_data` ON characters.clanid = clan_data.clan_id
WHERE characters.isBanned='0' AND characters.online='1'
ORDER BY characters.level DESC, characters.onlinetime DESC",

"getEpicStatus" => "
SELECT grandboss_intervallist.respawnDate as respawn_time, npc.name, npc.level
FROM grandboss_intervallist
LEFT JOIN npc ON grandboss_intervallist.bossId = npc.id
ORDER BY npc.level DESC",

"getRaidStatus" => "
SELECT raidboss_spawnlist.respawn_time, npc.level, npc.name
FROM raidboss_spawnlist
LEFT JOIN npc ON raidboss_spawnlist.boss_id = npc.id
ORDER BY npc.level DESC, npc.name ASC",

"getClan" => "
SELECT clan_name
FROM clan_data
WHERE clan_id='{clanid}'",

"getCastles" => "
SELECT castle.name, castle.id, castle.taxPercent, castle.siegeDate, clan_data.clan_name, clan_data.clan_id
FROM castle
LEFT JOIN clan_data ON clan_data.hasCastle = castle.id",

"getSiege" => "
SELECT siege_clans.castle_id, siege_clans.clan_id, siege_clans.type, siege_clans.castle_owner, clan_data.clan_name
FROM siege_clans
LEFT JOIN clan_data ON clan_data.clan_id = siege_clans.clan_id
WHERE castle_id='{castle}'",

"getOlympiad" => "
SELECT characters.char_name, olympiad_nobles.olympiad_points, olympiad_nobles.competitions_done, char_templates.ClassName, characters.sex
FROM olympiad_nobles
LEFT JOIN char_templates ON olympiad_nobles.class_id = char_templates.ClassId
LEFT JOIN characters ON olympiad_nobles.charId = characters.charId
ORDER BY olympiad_nobles.class_id, olympiad_nobles.olympiad_points DESC",

"getInventory" => "
SELECT items.object_id,items.item_id,items.count,items.enchant_level,items.loc,
CASE WHEN armor.name != '' THEN armor.name
WHEN weapon.name != '' THEN weapon.name
WHEN etcitem.name != '' THEN etcitem.name
END AS name,
CASE WHEN armor.crystal_type != '' THEN 'armor'
WHEN weapon.crystal_type != '' THEN 'weapon'
WHEN etcitem.crystal_type != '' THEN 'etc'
END AS `type`
FROM `items`
LEFT JOIN `armor` ON armor.item_id = items.item_id
LEFT JOIN weapon ON weapon.item_id = items .item_id
LEFT JOIN etcitem ON etcitem.item_id = items.item_id
WHERE items.owner_id='{charID}'
ORDER BY {order}",

"getCharInventory" => "
SELECT items.object_id,items.item_id,items.count,items.enchant_level,items.loc,items.loc_data,armorName,weaponName,etcName,armorType,weaponType,etcType
FROM `items`
LEFT JOIN (
SELECT item_id, name AS armorName, crystal_type AS armorType
FROM `armor`
) AS aa ON aa.item_id = items.item_id
LEFT JOIN (
SELECT item_id, name AS weaponName, crystal_type AS weaponType
FROM `weapon`
) AS ww ON ww.item_id = items.item_id
LEFT JOIN (
SELECT item_id, name AS etcName, crystal_type AS etcType
FROM `etcitem`
) AS ee ON ee.item_id = items.item_id
WHERE items.owner_id='{charID}' AND items.loc='{loc}'
ORDER BY items.loc_data",

"getItemByObjectID" => "
SELECT `count`, `enchant_level`, `item_id`
FROM `items`
WHERE `object_id`='{objectID}'",

"getLastTeleport" => "
SELECT `char_name`,`online`,`isBanned` AS accesslevel,`in_jail`,`lastteleport`
FROM `characters`
WHERE `charId`='{charID}'",

"getItem" => "
SELECT `object_id`, `count`
FROM `items`
WHERE `owner_id` = '{charID}' AND `item_id` = '{itemID}' AND `loc` = 'INVENTORY'
LIMIT 1",

"getMax" => "
SELECT MAX(`object_id`)+1 AS `max`
FROM `items`",

"delAccounts" => "
DELETE FROM accounts
WHERE login='{login}'",

"delItemByID" => "
DELETE FROM `items`
WHERE `item_id`='{item}'",

"delCharByID" => "
DELETE FROM `characters`
WHERE `charId`='{charID}'",

"delItemByOwner" => "
DELETE FROM `items`
WHERE `owner_id`='{charID}'",

"delItemByObjectID" => "
DELETE FROM `items`
WHERE `object_id`='{objectID}'",

"delItemByIDOwner" => "
DELETE FROM `items`
WHERE `item_id`='{item}' AND `owner_id`='{charID}'",

"other" => array(
"DELETE FROM character_friends WHERE charId='{charID}' OR friendId='{charID}'",
"DELETE FROM character_hennas WHERE charId='{charID}'",
"DELETE FROM character_macroses WHERE charId='{charID}'",
"DELETE FROM character_quests WHERE charId='{charID}'",
"DELETE FROM character_recipebook WHERE charId='{charID}'",
"DELETE FROM character_shortcuts WHERE charId='{charID}'",
"DELETE FROM character_skills WHERE charId='{charID}'",
"DELETE FROM character_skills_save WHERE charId='{charID}'",
"DELETE FROM character_subclasses WHERE charId='{charID}'",
"DELETE FROM seven_signs WHERE charId='{charID}'",
"DELETE FROM items WHERE owner_id='{charID}'",
"DELETE FROM clan_data WHERE leader_id='{charID}'",
),
"l2top" => array(

"getChar" => "
SELECT account_name, charId AS charID, online
FROM `characters`
WHERE `char_name`='{name}'",

"getItem" => "
SELECT `item_id`,`count`
FROM `items`
WHERE `owner_id`='{ownerID}' AND `item_id`='{itemID}' AND `loc`='INVENTORY'",

"getMax" => "
SELECT MAX(`object_id`)+1 AS `max`
FROM `items`",

"insItem" => "
INSERT INTO `items` (`owner_id`,`object_id`,`item_id`,`count`,`enchant_level`,`loc`,`loc_data`)
VALUES ('{charID}', '{objectID}', '{itemID}', '{count}', '0', 'INVENTORY', '0')",

"insl2top" => "
INSERT INTO `l2top` (`nick`,`ip`,`time`)
VALUES ('{nick}','{ip}','{time}')",

"setItem" => "
UPDATE `items`
SET `count`=`count`+'{count}'
WHERE `owner_id`='{ownerID}' AND `item_id`='{itemID}' AND `loc`='INVENTORY'",
),

"getByLevel" => "
SELECT char_name
FROM characters
WHERE account_name='{account}' AND level>={level}
LIMIT 1",

);
?>

 

 

 

захожу в админку.... персонажи.... пытаюсь дать предмет или вещь что угодно..... при любых условиях выдаёт ошибку......

 

 

 

Ошибка MySQL!
========================
MySQL вернул ошибку:
Field 'first_owner_id' doesn't have a default value
Номер ошибки:
1364

INSERT INTO `items` SET `owner_id`='268503784',`object_id`='268566406',`item_id`='4037',`count`=222,`enchant_level`='0',`loc`='INVENTORY'

 

 

 

 

Где копать уже не как понять не могу................

 

 

ВСТАВИЛ такой запрос

 

"insItem" => "
INSERT INTO `items` (`owner_id`,`object_id`,`item_id`,`count`,`enchant_level`,`loc`,`loc_data`,`time_of_use`,`custom_type1`,`custom_type2`,`mana_left`,`attributes`,`process`,`creator_id`,`first_owner_id`,`creation_time`,`data`)
VALUES ('{ownerID}', '{objectID}', '{itemID}', '{count}', '{enchant}', 'INVENTORY', '0', '0', '0', '0', '-1', '0', 'Loot', '21084', '20', '0', '0')",

 

но он зараза не полностью выполняется.... собственно вопрос где искать функцию или эти сранные запросы что бы их переписать под себя....

Изменено пользователем 182444390

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Отписал.

 

Если отключить строгий язык в конфиге my.ini в mysql то запрос выполняется.... но не так как надо не со всеми полями.... я ищу исходное место откуда выполняется запрос...... где его переписать?????????

 

 

# Set the SQL mode to strict
sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

post-6593-0-62362400-1380793998_thumb.png

Изменено пользователем 182444390

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Кто подскажет или покажет как переписать заплачу 500 рублей через киви кошелёк..... уехал за зарплатой буду через 2-3 часа жду желающих....

 

 

или же пойду к разработчикам....

Изменено пользователем 182444390

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...