Ищу человека для написания квеста

  • Автор темы Автор темы DMI3Y
  • Дата начала Дата начала

DMI3Y

Знающий
Участник
Сообщения
118
Розыгрыши
0
Репутация
0
Реакции
5
Баллы
430
Ищу человека для написания квеста для сборки nextgen. В самом квесте нужно сделать, чтобы заносилось в БД логина очки
 

Напиши адекватное тз и пиши в личку
 
Кто поможет? а то Solution пропал куда-то
 
Запрещено публиковать исходный код без BB-кода — CODE
Делаю квест, в котором при нажатии строчки добавляется +1 очко в таблицу account в графу l2money (короче сколько итемовв столько и занесётся)
я прописал так:
  • mysql.setEx(L2DatabaseFactory.getInstance(), "UPDATE `accounts` SET `l2money` = `l2money` + 1 WHERE login = '" + activeChar.getAccountName() + "'");
Он не добавляет, потому что в nextgen_game нет таблицы account
А как сделать чтобы отправлялось в nextgen_login?
Пробовал так:
  • mysql.setEx(LoginServerCommunication.getInstance(), "UPDATE `accounts` SET `l2money` = `l2money` + 1 WHERE login = '" + activeChar.getAccountName() + "'");
Но он ругается на setEx
 
Делаю квест, в котором при нажатии строчки добавляется +1 очко в таблицу account в графу l2money (короче сколько итемовв столько и занесётся)
я прописал так:
  • mysql.setEx(L2DatabaseFactory.getInstance(), "UPDATE `accounts` SET `l2money` = `l2money` + 1 WHERE login = '" + activeChar.getAccountName() + "'");
Он не добавляет, потому что в nextgen_game нет таблицы account
А как сделать чтобы отправлялось в nextgen_login?
Пробовал так:
  • mysql.setEx(LoginServerCommunication.getInstance(), "UPDATE `accounts` SET `l2money` = `l2money` + 1 WHERE login = '" + activeChar.getAccountName() + "'");
Но он ругается на setEx
Я конечно не разбираюсь, но что мешает залить все таблицы в одну базу, а не разбивать их на несколько?
 
Делаю квест, в котором при нажатии строчки добавляется +1 очко в таблицу account в графу l2money (короче сколько итемовв столько и занесётся)
я прописал так:
  • mysql.setEx(L2DatabaseFactory.getInstance(), "UPDATE `accounts` SET `l2money` = `l2money` + 1 WHERE login = '" + activeChar.getAccountName() + "'");
Он не добавляет, потому что в nextgen_game нет таблицы account
А как сделать чтобы отправлялось в nextgen_login?
Пробовал так:
  • mysql.setEx(LoginServerCommunication.getInstance(), "UPDATE `accounts` SET `l2money` = `l2money` + 1 WHERE login = '" + activeChar.getAccountName() + "'");
Но он ругается на setEx
так нельзя?
mysql.setEx(L2DatabaseFactory.getInstance("nextgen_login"), "UPDATE nextgen_login.accounts SET l2money = l2money + 1 WHERE login = '" + activeChar.getAccountName() + "'");
 
Я конечно не разбираюсь, но что мешает залить все таблицы в одну базу, а не разбивать их на несколько?
Решение из стиля, я не умею, но так проще ?
Нужно отослать пакет логин серверу (как пример смена емейла в игре работает, привязка акк по хвид итд)
Логин его считывает и уже сам пополняет очки (соединяется с бд и пополняет очки)
Скорее всего хотите сделать что-то типа ViP Pass с сохранением очков при вайпе сервера

Вариантов на самом деле куча
Считать логин конфиг и сделать конект
Сделать ещё одну таблицу логин-очки
Первый вариант с отправкой пакета самый надёжный.
 
В подобных ситуациях вобще по идее надо все делать через пакеты которыми обмениваются логин и гейм.
Т.е. гейм шлет пакет с нужными данными, логин его принимает и делает все что необходимо.

Чисто для примера подобное взаимодействие в овере на примере управления данными премиума:
гейм шлет логину пакет l2p\gameserver\loginservercon\gspackets\BonusRequest
логин на это реагирует пакетом l2p\loginserver\gameservercon\gspackets\BonusRequest, в котором вносит изменения в бд логина

Ну и если сервер один, то можно и не лезть в бд логина если надо что-то общее для всего акка писать, а просто завести новую таблицу в гейме, куда складывать все переменные общие для аккаунта. ну вобщем типа account_variables, аналог character_variables. Подобное может не раз пригодится для разных ситуаций.

У меня у самого примерно так и сделано - кроме стандартной таблицы для хранения разных перменных персонажа есть еще таблицы для хранения переменных аккаунта и переменных клана.
 
Последнее редактирование:
1. ERROR in C:\Users\Администратор\..... (at line 44)
mysql.setEx(L2DatabaseFactory.getInstance("nextgen_login"), "UPDATE `nextgen_login.accounts` SET `l2money` = `l2money` + 1 WHERE `login` = '" + activeChar.getAccountName() + "'");

The method getInstance() in the type L2DatabaseFactory is not applicable for the arguments (String)

ругается на getInstance
 
1. ERROR in C:\Users\Администратор\..... (at line 44)
mysql.setEx(L2DatabaseFactory.getInstance("nextgen_login"), "UPDATE `nextgen_login.accounts` SET `l2money` = `l2money` + 1 WHERE `login` = '" + activeChar.getAccountName() + "'");

The method getInstance() in the type L2DatabaseFactory is not applicable for the arguments (String)

ругается на getInstance
ссылку на исходники дай, погляжу
 
1. ERROR in C:\Users\Администратор\..... (at line 44)
mysql.setEx(L2DatabaseFactory.getInstance("nextgen_login"), "UPDATE `nextgen_login.accounts` SET `l2money` = `l2money` + 1 WHERE `login` = '" + activeChar.getAccountName() + "'");

The method getInstance() in the type L2DatabaseFactory is not applicable for the arguments (String)

ругается на getInstance
добавь поддержку String для getInstance в L2DatabaseFactory
 
добавь поддержку String для getInstance в L2DatabaseFactory
Да уже додумался. Сейчас попробую и отпишусь

Да уже додумался. Сейчас попробую и отпишусь
Код:
15/05/23 12:26:13 WARN  [GamePacket-TE[1]] l2n.database.utils.mysql    mysql: #setEx could not execute query 'UPDATE `nextgen_login.accounts` SET `l2money` = `l2money` + 1 WHERE `login` = 'administrator'':
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'nextgen_game.nextgen_login.accounts' doesn't exist
добавил метод
Код:
}
    public static L2DatabaseFactory getInstance(String string) {
        // TODO Auto-generated method stub
        return null;
    }
и всё так же выдаёт ошибку
 
У тебя же написано что nextgen_game.nextgen_login.accounts' doesn't exist отсутствует
 
У тебя же написано что nextgen_game.nextgen_login.accounts' doesn't exist отсутствует
Вот именно. Что в nextgen_game нет таблиц nextgen_login.account

Ребят я поэтому и прошу платную помощь
 
Ну первым аргументом он ждет L2DatabaseFactory, а получает LoginServerCommunication
 
Ну первым аргументом он ждет L2DatabaseFactory, а получает LoginServerCommunication
который вообще коннектится к гейму, по идее, надо выводить еще один инстант под логин, и подключаться уже к нему (или пихать все в один).

ну или как предложили выше - сделать адекватно, с пакетами
 
Назад
Сверху Снизу