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

LRServ запросы SW 13

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

Решил я таки поменять запросы которые нифига не подходят от emurt, конечно же пошел самым простым путем просто с 11 ревизии стащил запросы но не тут то было вроде все правильно и почти все работает кроме регистрации.

Спойлер

<?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["EmuRT"] = array (

    "fields" => array(
        "accessLevel"=>"access_level",
        "charID"=>"obj_Id",
        ),
    
    "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`,`access_level`,`l2question`,`l2answer`,`l2email`,`l2mnumber`) 
        VALUES ('{login}','{pass}','0','{l2question}','{l2answer}','{l2email}','{l2mnumber}')",
    
    "insItem" => "
            INSERT INTO `items` (`owner_id`,`object_id`,`item_id`,`count`,`enchant_level`,`loc`,`loc_data`) 
            VALUES ('{ownerID}', '{objectID}', '{itemID}', '{count}', '{enchant}', 'INVENTORY', '0')",
    
    "setPassword" => "
        UPDATE `accounts` 
        SET `password`='{pass}' 
        WHERE `login`='{login}'",
    
    "setAccessLevelAccount" => "
        UPDATE `accounts` 
        SET `access_level`='{level}' 
        WHERE `login`='{login}'",
        
    "setAccessLevelCharacter" => "
        UPDATE `characters` 
        SET `isBanned`='{level}' 
        WHERE `obj_Id`='{charID}'",
        
    "setTeleport" => "
        UPDATE `characters` 
        SET `x`='{x}',`y`='{y}',`z`='{z}',`lastteleport`='{lastteleport}'
        WHERE `obj_Id`='{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,last_access,access_level,last_ip 
        FROM `accounts` 
        WHERE `login`='{login}' {where} 
        LIMIT 1",
        
    "getAccount" => "
        SELECT login,password,last_access,access_level,last_ip 
        FROM `accounts` 
        WHERE `login`='{login}' {where}
        LIMIT 1",        
        
    "getAccounts" => "
        SELECT login,last_access,access_level,last_ip 
        FROM `accounts` {where}
        ORDER BY {order} 
        LIMIT {limit}",

    "getAccounts" => "
        SELECT accounts.login, accounts.last_access
        FROM `accounts` 
        ORDER BY accounts.login 
        LIMIT {limit}",        
                
    "getCharactersList" => "
        SELECT characters.account_name, characters.obj_Id, characters.char_name, characters.lastAccess
        FROM `characters` 
        ORDER BY characters.char_name 
        LIMIT {limit}",
    
    "getCharacter" => "
        SELECT characters.account_name, characters.char_name,  characters.sex, characters.online, characters.karma, characters.pvpkills, characters.pkkills, characters.onlinetime, characters.lastAccess
        FROM `characters` 
        LEFT JOIN `clan_data` ON characters.clanid = clan_data.clan_id 
        WHERE characters.obj_Id='{charID}'",
        
    "getCharacterInfo" => "
        SELECT characters.account_name, characters.char_name, characters.sex, characters.pvpkills, characters.pkkills, characters.karma, characters.lastAccess
        FROM `characters` 
        WHERE characters.obj_Id='{charID}'",
        
    "getAccountCharacters" => "
        SELECT characters.account_name, characters.obj_Id AS charID, characters.char_name,  characters.lastAccess, characters.online, characters.onlinetime
        FROM `characters` 
        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_id, clan_data.clan_level, clan_data.reputation_score, clan_data.hasCastle, characters.char_name 
        FROM `clan_data` 
        LEFT JOIN (
            SELECT clanid
            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.sex, characters.pvpkills, characters.pkkills, characters.online, characters.onlinetime, clan_data.clan_id 
        FROM `characters` 
        LEFT JOIN `clan_data` ON characters.clanid = clan_data.clan_id 
        ORDER BY characters.{order} DESC 
        LIMIT {limit}",
        
    "getRich" => "
        SELECT characters.char_name,  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.sex, characters.pvpkills, characters.pkkills, characters.online, characters.onlinetime, clan_data.clan_id 
        FROM `characters`
        LEFT JOIN `clan_data` ON characters.clanid = clan_data.clan_id 
        WHERE characters.clanid='{clanid}'
        ORDER BY characters.onlinetime DESC",
    
    "getOnline" => "
        SELECT characters.char_name,  characters.sex, characters.pvpkills, characters.pkkills, characters.online, characters.onlinetime, clan_data.clan_id 
        FROM `characters` 
        LEFT JOIN `clan_data` ON characters.clanid = clan_data.clan_id 
        WHERE characters.online='1'
        ORDER BY characters.onlinetime DESC",
    
    "getEpicStatus" => "
        SELECT grandboss_spawnlist.respawn_time, npc.name, npc.level 
        FROM grandboss_spawnlist 
        LEFT JOIN npc ON grandboss_spawnlist.boss_id = 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.tax_percent, castle.siege_date, clan_data.clan_id
        FROM castle
        LEFT JOIN clan_data ON clan_data.hasCastle = castle.id",
    
    "getSiege" => "
        SELECT siege_clans.residence_id, siege_clans.clan_id, siege_clans.type
        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, characters.sex 
        FROM olympiad_nobles 
        LEFT JOIN characters ON olympiad_nobles.char_id = characters.obj_Id
        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 `obj_Id`='{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 `obj_Id`='{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 obj_Id='{charID}' OR friendId='{charID}'",
        "DELETE FROM character_hennas WHERE obj_Id='{charID}'",
        "DELETE FROM character_macroses WHERE obj_Id='{charID}'",
        "DELETE FROM character_quests WHERE obj_Id='{charID}'",
        "DELETE FROM character_recipebook WHERE obj_Id='{charID}'",
        "DELETE FROM character_shortcuts WHERE obj_Id='{charID}'",
        "DELETE FROM character_skills WHERE obj_Id='{charID}'",
        "DELETE FROM character_skills_save WHERE obj_Id='{charID}'",
        "DELETE FROM character_subclasses WHERE obj_Id='{charID}'",    
        "DELETE FROM seven_signs WHERE obj_Id='{charID}'",
        "DELETE FROM items WHERE owner_id='{charID}'",
        "DELETE FROM clan_data WHERE leader_id='{charID}'",
        ),

    "l2top" => array(
        
        "getName" => "
            SELECT * 
            FROM `l2top` 
            WHERE `nick`='{nick}' AND `time`='{time}'",
            
        "getChar" => "
            SELECT account_name, obj_Id 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'",
        ),
        
);

А вот так выглядел оригинальный от EmuRT

Спойлер

<?php
/**
 * @ LINEAGER CMS
 * @ Dev L.I.N.E.A.G.E.R.
 * @ Copyright 2013 LINEAGER CMS
 * @ Version 13.08.29
 * @ http://lineager.info
*/
if (!defined("LINEAGER")) die ("Access denied...");
$sName = "EmuRt";
$qList[$sName] = array (

    "fields" => array(
        "accessLevel"=>"access_level",
        "charID"=>"obj_Id",
        ),
    
    "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`,`access_level`,`l2question`,`l2answer`,`l2email`,`l2mnumber`) 
        VALUES ('{login}','{pass}','0','{l2question}','{l2answer}','{l2email}','{l2mnumber}')",
    
    "insItem" => "
            INSERT INTO `items` (`owner_id`,`object_id`,`item_id`,`count`,`enchant_level`,`loc`,`loc_data`) 
            VALUES ('{ownerID}', '{objectID}', '{itemID}', '{count}', '{enchant}', 'INVENTORY', '0')",
    
    "setPassword" => "
        UPDATE `accounts` 
        SET `password`='{pass}' 
        WHERE `login`='{login}'",
    
    "setAccessLevelAccount" => "
        UPDATE `accounts` 
        SET `access_level`='{level}' 
        WHERE `login`='{login}'",
        
    "setAccessLevelCharacter" => "
        UPDATE `characters` 
        SET `isBanned`='{level}' 
        WHERE `obj_Id`='{charID}'",
        
    "setTeleport" => "
        UPDATE `characters` 
        SET `x`='{x}',`y`='{y}',`z`='{z}',`lastteleport`='{lastteleport}'
        WHERE `obj_Id`='{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,last_access,access_level,last_ip 
        FROM `accounts` 
        WHERE `login`='{login}' {where} 
        LIMIT 1",
        
    "getAccounts" => "
        SELECT login,last_access,access_level,last_ip 
        FROM `accounts` {where}
        ORDER BY {order} 
        LIMIT {limit}",
        
    "getCharactersList" => "
        SELECT characters.account_name, characters.obj_Id, characters.char_name, characters.lastAccess
        FROM `characters` 
        ORDER BY characters.char_name 
        LIMIT {limit}",
    
    "getCharacter" => "
        SELECT characters.account_name, characters.char_name,  characters.sex, characters.online, characters.karma, characters.pvpkills, characters.pkkills, characters.onlinetime, characters.lastAccess
        FROM `characters` 
        LEFT JOIN `clan_data` ON characters.clanid = clan_data.clan_id 
        WHERE characters.obj_Id='{charID}'",
        
    "getCharacterInfo" => "
        SELECT characters.account_name, characters.char_name, characters.sex, characters.pvpkills, characters.pkkills, characters.karma, characters.lastAccess
        FROM `characters` 
        WHERE characters.obj_Id='{charID}'",
        
    "getAccountCharacters" => "
        SELECT characters.account_name, characters.obj_Id AS charID, characters.char_name,  characters.lastAccess, characters.online, characters.onlinetime
        FROM `characters` 
        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_id, clan_data.clan_level, clan_data.reputation_score, clan_data.hasCastle, characters.char_name 
        FROM `clan_data` 
        LEFT JOIN (
            SELECT clanid
            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.sex, characters.pvpkills, characters.pkkills, characters.online, characters.onlinetime, clan_data.clan_id 
        FROM `characters` 
        LEFT JOIN `clan_data` ON characters.clanid = clan_data.clan_id 
        ORDER BY characters.{order} DESC 
        LIMIT {limit}",
        
    "getClanCharacters" => "
        SELECT characters.char_name,  characters.sex, characters.pvpkills, characters.pkkills, characters.online, characters.onlinetime, clan_data.clan_id 
        FROM `characters`
        LEFT JOIN `clan_data` ON characters.clanid = clan_data.clan_id 
        WHERE characters.clanid='{clanid}'
        ORDER BY characters.onlinetime DESC",
    
    "getOnline" => "
        SELECT characters.char_name,  characters.sex, characters.pvpkills, characters.pkkills, characters.online, characters.onlinetime, clan_data.clan_id 
        FROM `characters` 
        LEFT JOIN `clan_data` ON characters.clanid = clan_data.clan_id 
        WHERE characters.online='1'
        ORDER BY characters.onlinetime DESC",
    
    "getEpicStatus" => "
        SELECT grandboss_spawnlist.respawn_time, npc.name, npc.level 
        FROM grandboss_spawnlist 
        LEFT JOIN npc ON grandboss_spawnlist.boss_id = 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.tax_percent, castle.siege_date, clan_data.clan_id
        FROM castle
        LEFT JOIN clan_data ON clan_data.hasCastle = castle.id",
    
    "getSiege" => "
        SELECT siege_clans.residence_id, siege_clans.clan_id, siege_clans.type
        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, characters.sex 
        FROM olympiad_nobles 
        LEFT JOIN characters ON olympiad_nobles.char_id = characters.obj_Id
        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 `obj_Id`='{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 `obj_Id`='{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 obj_Id='{charID}' OR friendId='{charID}'",
        "DELETE FROM character_hennas WHERE obj_Id='{charID}'",
        "DELETE FROM character_macroses WHERE obj_Id='{charID}'",
        "DELETE FROM character_quests WHERE obj_Id='{charID}'",
        "DELETE FROM character_recipebook WHERE obj_Id='{charID}'",
        "DELETE FROM character_shortcuts WHERE obj_Id='{charID}'",
        "DELETE FROM character_skills WHERE obj_Id='{charID}'",
        "DELETE FROM character_skills_save WHERE obj_Id='{charID}'",
        "DELETE FROM character_subclasses WHERE obj_Id='{charID}'",    
        "DELETE FROM seven_signs WHERE obj_Id='{charID}'",
        "DELETE FROM items WHERE owner_id='{charID}'",
        "DELETE FROM clan_data WHERE leader_id='{charID}'",
        ),

    "l2top" => array(
        
        "getName" => "
            SELECT * 
            FROM `l2top` 
            WHERE `nick`='{nick}' AND `time`='{time}'",
            
        "getChar" => "
            SELECT account_name, obj_Id 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'",
        ),
        
);
?>

Вот по базе вроде бы все верно запросы подходят, но точно где то косяк, я конечно пробовал менять запросы но это ни к чему хорошему не привело так что оставил все как есть.

Спойлер

CREATE TABLE `accounts`  (
  `login` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  `password` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  `access_level` int(11) NOT NULL DEFAULT 0,
  `ban_expire` int(11) NOT NULL DEFAULT 0,
  `allow_ip` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `allow_hwid` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `bonus` double NOT NULL DEFAULT 1,
  `bonus_expire` int(11) NOT NULL DEFAULT 0,
  `last_server` int(11) NOT NULL DEFAULT 0,
  `last_ip` varchar(15) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `last_access` int(11) NOT NULL DEFAULT 0,
  `points` int(11) NOT NULL DEFAULT 0,
  `l2answer` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '',
  `l2question` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '',
  `l2email` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT 'null@null',
  `l2mnumber` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '',
  PRIMARY KEY (`login`) USING BTREE,
  INDEX `last_ip`(`last_ip`) USING BTREE
) ENGINE = MyISAM CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;

Сейчас сижу гадаю что не так, полагаю какого то не хватает запроса.

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


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

Не там создана была тема... Нужно было в обсуждения ее...

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


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

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

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

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

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

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

Войти

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

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

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

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

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