PDA

Просмотр полной версии : Ищу человека для написания квеста


DMI3Y
13.04.2023, 23:02
Ищу человека для написания квеста для сборки nextgen. В самом квесте нужно сделать, чтобы заносилось в БД логина очки

Solution
14.04.2023, 00:39
Напиши адекватное тз и пиши в личку

DMI3Y
14.05.2023, 23:31
Кто поможет? а то Solution (https://forum.antichat.xyz/members/894690/) пропал куда-то

Se1dhe
14.05.2023, 23:52
Кто поможет? а то Solution (https://forum.antichat.xyz/members/894690/) пропал куда-то


шансы на помощь возрастут сразу после того, как тут появится ТЗ самого квеста

DMI3Y
15.05.2023, 00:18
Делаю квест, в котором при нажатии строчки добавляется +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

Psycho
15.05.2023, 00:54
Делаю квест, в котором при нажатии строчки добавляется +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


Я конечно не разбираюсь, но что мешает залить все таблицы в одну базу, а не разбивать их на несколько?

Se1dhe
15.05.2023, 01:03
Но он ругается на setEx


А ругается как? матом?

Почему нужно вытягивать инфу?

Muerte
15.05.2023, 02:23
Делаю квест, в котором при нажатии строчки добавляется +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() + "'");

Gaikotsu
15.05.2023, 04:29
В подобных ситуациях вобще по идее надо все делать через пакеты которыми обмениваются логин и гейм.

Т.е. гейм шлет пакет с нужными данными, логин его принимает и делает все что необходимо.

Чисто для примера подобное взаимодействие в овере на примере управления данными премиума:

гейм шлет логину пакет l2p\gameserver\loginservercon\gspackets\BonusReque st

логин на это реагирует пакетом l2p\loginserver\gameservercon\gspackets\BonusReque st, в котором вносит изменения в бд логина

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

У меня у самого примерно так и сделано - кроме стандартной таблицы для хранения разных перменных персонажа есть еще таблицы для хранения переменных аккаунта и переменных клана.

DMI3Y
15.05.2023, 11:44
так нельзя?


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

Bloomfield
15.05.2023, 11:50
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


ссылку на исходники дай, погляжу

DMI3Y
15.05.2023, 11:59
ссылку на исходники дай, погляжу



l2nextgen_last_7577.zip (https://drive.google.com/file/d/1It6Lf99rUSVqPj8d4tXNWti3LUx7KEs6/view?usp=share_link)

drive.google.com

Muerte
15.05.2023, 12:01
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

DMI3Y
15.05.2023, 12:02
добавь поддержку 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.MySQLSyntaxErrorEx ception: Table 'nextgen_game.nextgen_login.accounts' doesn't exist


добавил метод

Код:



}
public static L2DatabaseFactory getInstance(String string) {
// TODO Auto-generated method stub
return null;
}


и всё так же выдаёт ошибку

MasterJoke
15.05.2023, 16:09
У тебя же написано что nextgen_game.nextgen_login.accounts' doesn't exist отсутствует

DMI3Y
15.05.2023, 16:37
У тебя же написано что nextgen_game.nextgen_login.accounts' doesn't exist отсутствует


Вот именно. Что в nextgen_game нет таблиц nextgen_login.account

Ребят я поэтому и прошу платную помощь

DMI3Y
15.05.2023, 21:08
А ругается как? матом?
Почему нужно вытягивать инфу?

Se1dhe
15.05.2023, 21:25
Ну первым аргументом он ждет L2DatabaseFactory, а получает LoginServerCommunication

Bloomfield
16.05.2023, 06:22
Ну первым аргументом он ждет L2DatabaseFactory, а получает LoginServerCommunication


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

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

DMI3Y
16.05.2023, 10:15
который вообще коннектится к гейму, по идее, надо выводить еще один инстант под логин, и подключаться уже к нему (или пихать все в один).

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


Поможешь?

Bloomfield
16.05.2023, 10:26
Поможешь?


я могу взяться, но скорее всего я займусь этим только ближе к выходным (если еще чем-нибудь не нагрузят на основной работе), поэтому если терпит - заберу