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

Расположение таблиц?stressweb

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

в таблице items нет

только эти 

item_id

owner_id

item_type

amount

location

slot

enchant

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


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

Даже не знаю тогда, получается object_это уникальный ид предмета и запросы идут к нему, а в твоем случае его как бы нет

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


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

object_это obj_id персонажа

тоесть 268478223 это перс на котором лежат шмотки

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


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

И у тебя его получается нет...

 

Это порнография конечно, но попробуй так что выдаст

 

  /*************************
        * Add Item
        *************************/
        $l2_content .= "
            <div align='left'>
            <form action='{$_url}=chars&action=character&lid={$lid}&sid={$sid}&id={$charID}' method='post'>
            Добавить персонажу предмет   <b>Item ID</b>: <input type='text' name='AddItemId' style='width: 70px;'>   <b>Количество:</b> <input type='text' name='AddItemCount' style='width: 70px;'>    <b>Заточка:</b> <input type='text' name='AddItemEnchant' value='0' style='width: 70px;'> <b><i>одиночный</i></b> <input type='checkbox' value='1' name='AddItemSingle' title='Не складывается в кучу, а добавляется отдельно'> <input type='submit' value='Добавить' name='AddItem' class='button'></form>
            </div>";
        if ( isset($_POST["AddItem"]) ) {
            $AddItemId = intval( $_POST["AddItemId"] );
            $AddItemCount = intval( $_POST["AddItemCount"] );
            $AddItemEnchant = !empty( $_POST["AddItemEnchant"] ) ? intval( $_POST["AddItemEnchant"] ):0;
            $AddItemSingle = intval( $controller->set("AddItemSingle") );
            if ( empty($AddItemId) or $AddItemId == 0 )
                $l2_content .= "<div class='error'>Введите ID предмета</div>";
            elseif ( empty($AddItemCount) or $AddItemCount == 0 )
                $l2_content .= "<div class='error'>Введите количество предметов</div>";
            elseif ( $char_data["online"] == 1 )
                $l2_content .= "<div class='error'>Персонаж находится в игре</div>";
            else {
                if ( $AddItemSingle == "0" ) {
                    $add_query = $gdb[$sid]->query( "SELECT `owner_id`,`amount` FROM `items` WHERE `owner_id`='{$charID}' AND `item_id`='{$AddItemId}' AND `loc`='INVENTORY'" );
                    if ( $gdb[$sid]->num_rows($add_query) > 0 ) {
                        $add_data = $gdb[$sid]->fetch( $add_query );
                        $gdb[$sid]->query( "UPDATE `items` SET `amount`=`amount`+{$AddItemCount} WHERE `owner_id`='{$charID}' AND `owner_id`='{$add_data["owner_id"]}'" );
                    } else {
                        list( $max_obj ) = $gdb[$sid]->fetch( $gdb[$sid]->query("SELECT MAX(`owner_id`)+1 FROM `items`") );
                        $gdb[$sid]->query( "INSERT INTO `items` SET `owner_id`='{$charID}',`owner_id`='{$max_obj}',`item_id`='{$AddItemId}',`amount`={$AddItemCount},`enchant`='{$AddItemEnchant}',`loc`='INVENTORY'" );
                    }
                } else {
                    for ( $i = 0; $i < $AddItemCount; $i++ ) {
                        list( $max_obj ) = $gdb[$sid]->fetch( $gdb[$sid]->query("SELECT MAX(`owner_id`)+1 FROM `items`") );
                        $gdb[$sid]->query( "INSERT INTO `items` SET `owner_id`='{$charID}',`owner_id`='{$max_obj}',`item_id`='{$AddItemId}',`amount`='1',`enchant`='{$AddItemEnchant}',`loc`='INVENTORY'" );
                    }
                }
                if ( $gdb[$sid]->affected() > 0 ) {
                    $l2_content .= "<div class='no_error'>Персонажу был добавлен предмет <b>ID: {$AddItemId} ({$AddItemCount}шт.)[заточка: +{$AddItemEnchant}]</b></div>";
                } else {
                    $l2_content .= "<div class='error'>Ошибка базы данных</div>";
                }
            }
            $l2_content .= "<center><a href='{$_url}=chars&action=character&lid={$lid}&sid={$sid}&id={$charID}'><b>Назад</b></a></center><br>";
        }
        /*************************
        * Delete inventory
        *************************/
        if ( isset($_REQUEST["delete_items"]) ) {
            $gdb[$sid]->SuperQuery( $qList[$vgs]["delItemByOwner"], array("charID" => $charID) );
            $l2_content .= "<div class='error'> Удалено записей: ".$gdb[$sid]->affected()."</div><br>\n";
        }
        /*************************
        * Delete item
        *************************/
        if ( isset($_REQUEST["do"]) && $_REQUEST["do"] == "del_item" ) {
            $owner_id = intval( $_REQUEST["owner_id"] );
            $gdb[$sid]->SuperQuery( $qList[$vgs]["delItemByObjectID"], array("objectID" => $owner_id) );
            $l2_content .= "<div class='error'> Удалено записей: ".$gdb[$sid]->affected()."</div><br>\n";
        }
        /*************************
        * Edit item
        *************************/
        if ( isset($_REQUEST["do"]) && $_REQUEST["do"] == "edit_item" ) {
            $edit_owner_id = intval( $_REQUEST["id"] );
            $edit_owner_id = intval( $_REQUEST["owner_id"] );
            $item_data = $gdb[$sid]->SuperFetchArray( $qList[$vgs]["getItemByObjectID"], array("objectID" => $edit_owner_id) );
            //$item_data = $gdb[$sid]->fetch($item_select);
            $l2_content .= "
            <form method='post' action='{$_url}=chars&action=character&lid={$lid}&sid={$sid}&do=update_item&id={$edit_owner_id}&owner_id={$edit_owner_id}'>
            <b>Edit Item</b> - ID {$item_data["item_id"]}<br>
            <b>Count</b>: <input type='text' value='{$item_data["count"]}' name='item_count' style='width: 50px;'> <b>Enchant</b>: <input type='text' value='{$item_data["enchant_level"]}' name='item_enchant' style='width: 50px;'> <input type='submit' value='Edit'><hr>";
        }
        /*************************
        * Update item
        *************************/
        if ( isset($_REQUEST["do"]) && $_REQUEST["do"] == "update_item" ) {
            $update_owner_id = intval( $_REQUEST["id"] );
            $update_owner_id = intval( $_REQUEST["owner_id"] );
            $update_count = intval( $_REQUEST["item_count"] );
            $update_enchant = intval( $_REQUEST["item_enchant"] );
            $update_count = ( $update_count > 0 ) ? $update_count:1;
            $gdb[$sid]->SuperQuery( $qList[$vgs]["setItem"], array("count" => $update_count, "enchant" => $update_enchant, "objectID" => $update_owner_id) );
            if ( $gdb[$sid]->affected() ) {
                $l2_content .= "<div class='no_error'>Предмет успешно обновлен</div>\n";
            } else {
                $l2_content .= "<div class='error'>Ошибка при обновлении</div>\n";
            }
        }

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


Ссылка на сообщение
Поделиться на другие сайты
SELECT `amount` AS `count`, `enchant` AS `enchant_level`,`item_type` AS `item_id` 

FROM `items` 

WHERE `object_id`='0'

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


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

Ошибка MySQL! 
========================

MySQL вернул ошибку: 
Unknown column 'loc' in 'where clause' 

Номер ошибки: 
1054 

SELECT `owner_id`,`amount` FROM `items` WHERE `owner_id`='268478223' AND `item_id`='57' AND `loc`='INVENTORY'

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


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

У меня пока недостаточно знаний что бы это исправить, да и сам разраб люцеры уже 3 месяца мусолит эту тему обвиняя стресса в неадекватности, если у тебя лицензия можно обратится к стрессу за те же деньги он все сделает на ура.

  • Upvote 1

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


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

У меня пока недостаточно знаний что бы это исправить, да и сам разраб люцеры уже 3 месяца мусолит эту тему обвиняя стресса в неадекватности, если у тебя лицензия можно обратится к стрессу за те же деньги он все сделает на ура.

ясно.спасибо за помощь! хоть и неполучилось но все равно спасибо за отклик!

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


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

вот код добавления

/*************************
        * Add Item
        *************************/
        $l2_content .= "
            <div align='left'>
            <form action='{$_url}=chars&action=character&lid={$lid}&sid={$sid}&id={$charID}' method='post'>
            Добавить персонажу предмет   <b>Item ID</b>: <input type='text' name='AddItemId' style='width: 70px;'>   <b>Количество:</b> <input type='text' name='AddItemCount' style='width: 70px;'>    <b>Заточка:</b> <input type='text' name='AddItemEnchant' value='0' style='width: 70px;'> <b><i>одиночный</i></b> <input type='checkbox' value='1' name='AddItemSingle' title='Не складывается в кучу, а добавляется отдельно'> <input type='submit' value='Добавить' name='AddItem' class='button'></form>
            </div>";
        if ( isset($_POST["AddItem"]) ) {
            $AddItemId = intval( $_POST["AddItemId"] );
            $AddItemCount = intval( $_POST["AddItemCount"] );
            $AddItemEnchant = !empty( $_POST["AddItemEnchant"] ) ? intval( $_POST["AddItemEnchant"] ):0;
            $AddItemSingle = intval( $controller->set("AddItemSingle") );
            if ( empty($AddItemId) or $AddItemId == 0 )
                $l2_content .= "<div class='error'>Введите ID предмета</div>";
            elseif ( empty($AddItemCount) or $AddItemCount == 0 )
                $l2_content .= "<div class='error'>Введите количество предметов</div>";
            elseif ( $char_data["online"] == 1 )
                $l2_content .= "<div class='error'>Персонаж находится в игре</div>";
            else {
                if ( $AddItemSingle == "0" ) {
                    $add_query = $gdb[$sid]->query( "SELECT `owner_id`,`amount` FROM `items` WHERE `owner_id`='{$charID}' AND `item_id`='{$AddItemId}' AND `location`='INVENTORY'" );
                    if ( $gdb[$sid]->num_rows($add_query) > 0 ) {
                        $add_data = $gdb[$sid]->fetch( $add_query );
                        $gdb[$sid]->query( "UPDATE `items` SET `amount`=`amount`+{$AddItemCount} WHERE `owner_id`='{$charID}' AND `owner_id`='{$add_data["owner_id"]}'" );
                    } else {
                        list( $max_obj ) = $gdb[$sid]->fetch( $gdb[$sid]->query("SELECT MAX(`owner_id`)+1 FROM `items`") );
                        $gdb[$sid]->query( "INSERT INTO `items` SET `owner_id`='{$charID}',`owner_id`='{$max_obj}',`item_id`='{$AddItemId}',`amount`={$AddItemCount},`enchant`='{$AddItemEnchant}',`location`='INVENTORY'" );
                    }
                } else {
                    for ( $i = 0; $i < $AddItemCount; $i++ ) {
                        list( $max_obj ) = $gdb[$sid]->fetch( $gdb[$sid]->query("SELECT MAX(`owner_id`)+1 FROM `items`") );
                        $gdb[$sid]->query( "INSERT INTO `items` SET `owner_id`='{$charID}',`owner_id`='{$max_obj}',`item_id`='{$AddItemId}',`amount`='1',`enchant`='{$AddItemEnchant}',`location`='INVENTORY'" );
                    }
                }
                if ( $gdb[$sid]->affected() > 0 ) {
                    $l2_content .= "<div class='no_error'>Персонажу был добавлен предмет <b>ID: {$AddItemId} ({$AddItemCount}шт.)[заточка: +{$AddItemEnchant}]</b></div>";
                } else {
                    $l2_content .= "<div class='error'>Ошибка базы данных</div>";
                }
            }
            $l2_content .= "<center><a href='{$_url}=chars&action=character&lid={$lid}&sid={$sid}&id={$charID}'><b>Назад</b></a></center><br>";
        }

а вот ошибка (типа повторная строка!а на что ее менять тогда?или удалить?)

0e06e466a293.png

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


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

проблему частично решил стал добавлять вещи

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

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


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

Никого не смутил object_id и owner_id?

Да я уже в другой тебе ответил и тут отвечу всем собравшимся тут "Специалистам"

 

 

 

Зачем быть на столько...... Ты если английский технический не знаешь, ты хотя бы используй переводчик, включи логики немного! 

 

MySQL вернул ошибку: 
Unknown column 'object_id' in 'field list' 

Далее читай как делаются SQL запросы http://codingcraft.ru/sql_queries.php

Затем смотри свой запрос в базу

SELECT `object_id`,`count` FROM `items` WHERE `owner_id`='268478795' AND `item_id`='57' AND `loc`='INVENTORY'

И в конце концов смотри снова на ошибку которую тебе выдает и на таблицу в которую обращается. Там же все элементарно как 2х2

 

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


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

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

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


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

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

okay_guy.jpg

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


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

Пипец! Ну и сборка!

 

не проше купить другую сборку  (клиентку) у норм розрабов!

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


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

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

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

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

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

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

Войти

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

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

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

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

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