- 0
Войдите для возможности подписаться
Подписчики
0
Вопросы
Лучший ответ
Вся проблемма заключалось в этом коде при создании счетов прописывался айпи игрока а не его имя
new player_ip[16];
GetPlayerIp(playerid, player_ip, sizeof player_ip);
global_string = "";
mysql_format(dbHandle, global_string, 128, "INSERT INTO bank (name, ip, data, cash) values ('%s', '%s', NOW(), '250')", GetName(playerid), player_ip);// вся проблемма думаю в этом
mysql_tquery(dbHandle, global_string, "", "");
Вопрос решил таким образом
new name[16];
GetPlayerIp(playerid, name, sizeof name);
global_string = "";
mysql_format(dbHandle, global_string, 128, "INSERT INTO bank (id, name, data, cash) values ('%s', '%s', NOW(), '250')", GetName(playerid), name);// вся проблемма думаю в этом
mysql_tquery(dbHandle, global_string, "", "");

Эта тема закрыта для публикации ответов.
Войдите для возможности подписаться
Подписчики
0
-
Последние посетители 0 пользователей онлайн
Ни одного зарегистрированного пользователя не просматривает данную страницу
-
Похожий контент
-
От watson
Привет всем!
Выкладываю рабочий инструмент, который лично писал под задачи для крупных бонусных проектов. От меня недавно произошла доработка - теперь при записи маршрута сохраняются все сообщения, которые вы пишете в чат.
Как это работает Запуск записи:
Вводите /route с названием скрипта (или биндите на клавишу) — скрипт начинает фиксировать всё ваше передвижение (onfoot/incar/aim пакеты) и любые ваши сообщения в чат. Завершение:
Ещё раз /route с названием скрипта или /stop — сохраняется маршрут вместе с чатом в файл формата .rt в папке MoonLoader/rakbotRoutes. Воспроизведение:
Через команду !play <название> в консоли RakSamp LITE — бот воспроизводит маршрут один в один с вашими действиями, повторяет весь ввод, а так-же отправляет в чат все сохранённые сообщения (имитация через Enter). Поддержка цикла:
Можно включить повтор маршрута (!loop), пока не надоест. Что важно в коде
Запись всех синк-пакетов (движения, анимации, aim и т.д.):
Пакеты по движению (onfoot/incar/aim) записываются подробно — никакой халтуры, каждое значение (позиция, кватернион, скорость, анимации, флаги и т.д.) фиксируется для полной копии.
Запись сообщений чата по индексам
Каждое сообщение, которое отправляется в чат во время записи маршрута, сохраняется в отдельную таблицу с текущим индексом (counter). То есть при воспроизведении бот знает, на каком этапе какой текст нужно “цитировать” в чат.
Воспроизведение маршрута и чата
На каждом этапе воспроизведения проверяется, было ли сообщение в этот момент — если да, оно “отправляется” как будто в оригинале, без задержек и рассинхрона. Пакеты проигрываются по индексу — как только доходит до конца, скрипт сам решает, останавливать ли выполнение или запускать по кругу (если включен loop).
Формат сохранения
Файл маршрута содержит не только действия, но и отдельную секцию [chat], что позволяет воспроизвести всё как было, а не только беготню.
Если кому-то реально нужна автоматизация для бонусных серверов и не только как например фейковые игроки и вам важна последовательность действий и чата — этот инструмент сэкономит часы времени. Всё написано максимально просто для внедрения.
P.S. Если есть определённые проблемы, вопросы или даже идеи для доработки — пишите.
Desktop.zip
-
От gooding
Всем здравствуйте, уважаемые читатели. Я много времени потратил на доработку данного игрового мода, чтобы его выставить на форум.
Лог доработок можно посмотреть внизу, а скриншоты игрового мода внизу и верху.
-
Андрей Лазарев Активный 8
Добрый день помогите пожалуйста имеестся система счетов в банке но вот такая проблемма при открытии нового счета в банке он открывается далее второй третий и так далее но когда переходишь во вкладку управления счетами пишет что " Что у вас нет счетов в банке " хотя в базе даннызх их 3 но в отдельной таблице они не создаются
case D_BANK_MENU + 1:
{
if(!response) return 1;
if(GetMoney(playerid) < 5000)
return SendClientMessage(playerid, -1, ""cER"У Вас недостаточно средств на счете, для открытия нового счета в банке");
PI[playerid][pBankCount] ++ ;
MysqlUpdatePlayerInt(playerid, "bankcount", PI[playerid][pBankCount]);
new player_ip[16];
GetPlayerIp(playerid, player_ip, sizeof player_ip);
global_string = "";
mysql_format(dbHandle, global_string, 128, "INSERT INTO bank (name, ip, data, cash) values ('%s', '%s', NOW(), '250')", GetName(playerid), player_ip);// вся проблемма думаю в этом
mysql_tquery(dbHandle, global_string, "", "");
SendMes(playerid, 0x76CD5EFF, "[Банк]: {FFFFFF}новый счет на имя {F3F142}%s {FFFFFF}успешно открыт в нашем банке", GetName(playerid));
}
и вот диалог и паблик управления счетами в банке
case D_BANK_MENU + 2:
{
if(!response) return 1;
switch(listitem)
{
case 0:
{
SetPVarInt(playerid, "bank_type", 1);
global_string = "";
mysql_format(dbHandle, global_string, 128, "SELECT * FROM `bank` WHERE `name` = '%s'", GetName(playerid));
mysql_tquery(dbHandle, global_string, "ShowBankMoney", "i", playerid);
}
case 1:
{
ShowPlayerDialog(playerid, D_BANK_MENU + 3, DIALOG_STYLE_INPUT, "{"#cSV"}Заблокировать банковский счет", "{FFFFFF}В данном окне Вы можете заблокировать Ваш банковский счет\nПосле блокировки счета, Вы, и никто другой, не сможет совершать платежи и переводы на Ваш счет\nСчет всегда можно разблокировать в меню банка\n\nУкажите номер счета, который необходимо заблокировать:", "Далее", "Назад");
}
case 2:
{
ShowPlayerDialog(playerid, D_BANK_MENU + 4, DIALOG_STYLE_INPUT, "{"#cSV"}Разблокировать банковский счет", "{FFFFFF}В данном окне Вы можете разблокировать Ваш банковский счет\n\nУкажите номер счета, который необходимо разблокировать:", "Далее", "Назад");
}
case 3:
{
ShowPlayerDialog(playerid, D_BANK_MENU + 5, DIALOG_STYLE_INPUT, "{"#cSV"}Закрыть банковский счет", "{FFFFFF}В данном окне Вы можете закрыть счет в нашем банке\nСчет закрывается навсегда и больше не сможет использоваться\nВсе деньги, которые остались на этом счете, будут утеряны\n\nУкажите номер счета, который необходимо закрыть:", "Далее", "Назад");
}
}
}
и паблик управления счетами в банке
publics: ShowBankMoney(playerid)
{
new r, f;
cache_get_data(r, f);
if(!r)
return SendClientMessage(playerid, -1, ""cER"У Вас не имеется счетов в банке"), DeletePVar(playerid, "bank_type");
new fmt_str[128], b_id, b_money, b_block;
global_string = "";
for(new idx; idx < r; idx++)
{
b_id = cache_get_field_content_int(idx, "id");
b_money = cache_get_field_content_int(idx, "cash");
b_block = cache_get_field_content_int(idx, "block");
format(fmt_str, sizeof fmt_str, "{FFFFFF}Счёт №%d - Баланс: {9C9E9B}%d руб. {FFFFFF}- %s\n", b_id, b_money, !b_block ? ("{8DC65B}Активен") : ("{F77625}Заблокирован"));
strcat(global_string, fmt_str);
SetPlayerListitemValue(playerid, idx, b_id);
}
ShowPlayerDialog(playerid, D_BANK_MONEY, DIALOG_STYLE_LIST, "{"#cSV"}Ваши банковские счета:", global_string, "Выбрать", "Выход");
return 1;
}
Поделиться сообщением
Ссылка на сообщение