[Piercing Blow] Dapper Update - Форум администраторов игровых серверов
Форум администраторов игровых серверов StormWall - ‡ащита от DDoS атак
Регистрация Мнения Справка Пользователи Календарь Все разделы прочитаны
Вернуться   Форум администраторов игровых серверов > MMO > Point Blank (Piercing Blow)

Point Blank (Piercing Blow)
Общие вопросы по написанию эмулятора. General questions on developing emulator. При поддержке: Lucera 2 - разработка Java Interlude

Ответ
Опции темы
Непрочитано 09.01.2017, 23:20   #1
Пользователь

Автор темы (Топик Стартер) Dapper Update

Пытаюсь реализовать пакет PROTOCOL_CHAR_CHANGE_EQUIP_REQ
Чтобы обновлялся Equip персонажа.
Но выдает ошибку.



Update:
Свернуть ↑Развернуть ↓
Boris2105 вне форума Ответить с цитированием
Непрочитано 10.01.2017, 04:26   #2
Аватар для PROGRAMMATOR
Администратор

По умолчанию Re: Dapper Update

Интерфейса не видно, ругается именно на него.

// Example
[ServiceContract]
public interface ICharacterService
{
    [OperationContract]
    bool Equip(Character character, Weapon weapon);
}
 
Code: C#

Да и запрос не верный, во-первых update выполняется с помощью Execute, а во-вторых он ничего кроме количества затронутых строк не выводит.
__________________
composer require laravel/framework
npm install vue
PROGRAMMATOR на форуме Отправить сообщение для PROGRAMMATOR с помощью ICQ Отправить сообщение для PROGRAMMATOR с помощью Skype™ Ответить с цитированием
Непрочитано 10.01.2017, 13:17   #3
Пользователь

Автор темы (Топик Стартер) Re: Dapper Update

Вот интерфейс.

 
    [ServiceContract]
    public interface ICharacterDao
    {
        [OperationContract]
        Character GetCharacter(int accountId);
        Character GetUpdate(int weapon_primary);
    }
 
Code: C#
Boris2105 вне форума Ответить с цитированием
Непрочитано 10.01.2017, 17:09   #4
Аватар для PROGRAMMATOR
Администратор

По умолчанию Re: Dapper Update

Ну и где атрибут OperationContract у GetUpdate?
Им только GetCharacter помечен.
__________________
composer require laravel/framework
npm install vue
PROGRAMMATOR на форуме Отправить сообщение для PROGRAMMATOR с помощью ICQ Отправить сообщение для PROGRAMMATOR с помощью Skype™ Ответить с цитированием
Непрочитано 10.01.2017, 20:54   #5
Пользователь

Автор темы (Топик Стартер) Re: Dapper Update

Ругается на AccountId ,

 
string updateQuery = @"UPDATE `characters`.* SET AccountId = @AccountId WHERE WEAPON_PRIMARY = @WEAPON_PRIMARY";
var update = SqlMapper.Execute(connection, updateQuery, new { WEAPON_PRIMARY = weapon_primary });
 
Code: C#
Boris2105 вне форума Ответить с цитированием
Непрочитано 10.01.2017, 21:00   #6
Аватар для PROGRAMMATOR
Администратор

По умолчанию Re: Dapper Update

А что этот запрос вообще должен сделать?
__________________
composer require laravel/framework
npm install vue
PROGRAMMATOR на форуме Отправить сообщение для PROGRAMMATOR с помощью ICQ Отправить сообщение для PROGRAMMATOR с помощью Skype™ Ответить с цитированием
Непрочитано 10.01.2017, 21:01   #7
Пользователь

Автор темы (Топик Стартер) Re: Dapper Update

Цитата:
Сообщение от PROGRAMMATOR Посмотреть сообщение
А что этот запрос вообще должен сделать?
Заменить значение в бд character значение WEAPON_PRIMARY
Ну основное оружие должен сменить , в игре меняет но в бд не меняет , а выдает эту ошибку
Boris2105 вне форума Ответить с цитированием
Непрочитано 10.01.2017, 21:47   #8
Аватар для PROGRAMMATOR
Администратор

По умолчанию Re: Dapper Update

Так значит запрос должен быть типа:

UPDATE `characters` SET `PrimaryWeapon` = @WeaponId WHERE `Id` IN(@Id)
 
Code: SQL

И аргументы

new { WeaponId = weaponId, Id = id }
 
Code: C#

Правда, не лучшее решение, лучше сделать связь через таблицу item_character в которой сохранять id предмета в инвентаре и id персонажа.

И ещё раз:
Свернуть ↑Развернуть ↓
__________________
composer require laravel/framework
npm install vue
PROGRAMMATOR на форуме Отправить сообщение для PROGRAMMATOR с помощью ICQ Отправить сообщение для PROGRAMMATOR с помощью Skype™ Ответить с цитированием
Непрочитано 10.01.2017, 21:58   #9
Пользователь

Автор темы (Топик Стартер) Re: Dapper Update

А почему?

Цитата:
Сообщение от PROGRAMMATOR Посмотреть сообщение
"var update не будет содержать ничего, кроме числа (количества) затронутых строк. "
Boris2105 вне форума Ответить с цитированием
Непрочитано 10.01.2017, 22:09   #10
Аватар для PROGRAMMATOR
Администратор

По умолчанию Re: Dapper Update

        /// <summary>
        /// Execute parameterized SQL
        /// </summary>
        /// <returns>Number of rows affected</returns>
        public static int Execute(...)
 
Code: C#
__________________
composer require laravel/framework
npm install vue
PROGRAMMATOR на форуме Отправить сообщение для PROGRAMMATOR с помощью ICQ Отправить сообщение для PROGRAMMATOR с помощью Skype™ Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
AION UPDATE SkillSk8 Серверная часть 0 16.05.2011 00:57
Update Shema Серверная часть 6 03.03.2010 13:54
Папка UPDATE в gameserver/sql PEEERROGGGGG Серверная часть 4 22.02.2010 04:03
Latest Update RepackV1.01 lvs Сервер 1 04.07.2009 14:12
Update CT1 to CT1.5 FotoMEH Игровой клиент 1 20.09.2008 06:56


© 2007–2016 «Форум администраторов игровых серверов»
Защита сайта от DDoS атак — StormWall
Работает на Булке неизвестной версии с переводом от zCarot
Текущее время: 09:41. Часовой пояс GMT +3.

Вверх