25.05.18 — 00:16
Одна из конфигураций на базе SQL при входе начала выдавать следующую ошибку:
Ошибка СУБД:
Microsoft SQL Server Native Client 11.0: The transaction log for database ‘Base_Name’ is full due to ‘LOG_BACKUP’.
HRESULT=80040E14, SQLSrvr: SQLSTATE=42000, state=2, Severity=11, native=9002, line=1
1 — 25.05.18 — 00:19
Так так, очень интересно. А ты?
2 — 25.05.18 — 00:28
(1) Попытался урезать лог транзакций через SQL server, но вышла и там ошибка:
Backup, file manipulation operations (such as ALTER DATABASE ADD FILE) and encryption changes on a database must be serialized. Reissue the statement after the current backup or file manipulation operation is completed. (Microsoft SQL Server, Error: 3023)
3 — 25.05.18 — 00:33
(2) Очень интересно. Что думаешь делать?
4 — 25.05.18 — 00:33
(1) Тоже самое если делать это с помощью запроса:
Msg 3023, Level 16, State 2, Line 2
Backup, file manipulation operations (such as ALTER DATABASE ADD FILE) and encryption changes on a database must be serialized. Reissue the statement after the current backup or file manipulation operation is completed.
Msg 5069, Level 16, State 1, Line 2
ALTER DATABASE statement failed.
Msg 8985, Level 16, State 1, Line 3
Could not locate file ‘acc_main’ for database ‘Base_Name’ in sys.database_files. The file either does not exist, or was dropped.
5 — 25.05.18 — 00:34
(3) У Вас есть какие то идеи?
6 — 25.05.18 — 00:38
(5) Я уж думал не спросишь
Скуль перегружать пробовал?
7 — 25.05.18 — 00:43
(6) Перезагружал SQL server agent, но не помогло
8 — 25.05.18 — 00:45
(7) Причем здесь агент, просто скуль перегружал?
9 — 25.05.18 — 00:45
У базы стоит модель Full или Simple?
10 — 25.05.18 — 00:48
(8) Сейчас попробую. (9) Модль Фулл пытался сделать Симпл, но выдает ошибку которую я написал выше
11 — 25.05.18 — 00:59
(8) Кажись заработало! Ввел две команды net stop mssqlserver и net start mssqlserver и база запустилась! Спасибо большое)
12 — 25.05.18 — 08:17
Отлично
13 — 25.05.18 — 08:24
база в фулле, шел бекап лога транзакций, ты убил сервер во время этого процесса — четко, могешь.
Теперь попробуй всё таки снять бекап лога транзакций и снять/увеличить ограничение по максимальному размеру лога транзакций.
Если тебе не нужен лог транзакций — переведи базы в simple.
14 — 25.05.18 — 08:27
Роман, а как часто тебя заказчики бьют за советы как в (6) не разбирающимся разработчикам?
15 — 25.05.18 — 09:57
(14) У меня такого не бывает, я базы сразу в Simple перевожу
Можно привести хоть один пример, где в 1С может пригодиться Full?
16 — 25.05.18 — 10:00
(14) Про бэкап речь зашла только после (0), а в (0) речь не о бэкапе, а о переполнении лога
17 — 25.05.18 — 10:31
>>Можно привести хоть один пример, где в 1С может пригодиться Full?
ЛОЛ, да везде, где заказчики не готовы терять данные за период от предыдущего полного бэкапа до сбоя.
18 — 25.05.18 — 11:20
(17) Ты про ситуацию, когда клиент реально готов восстанавливать все максимально полно и ежечасные инкрементные бекапы по необъяснимой причине ему так же не подходят
А я про реальность
И в моей реальности полный бекап плюс ежечасные инкрементные полностью закрывают потребность в бекапах
В этом случае Full только жрет место и все
19 — 25.05.18 — 11:32
(18)
>>ежечасные инкрементные бекапы по необъяснимой причине ему так же не подходят
не по необъяснимой, а по причине что он готов потерять макс. 15 минут — именно такой интервал можно ставить для бэкапа лога, для дифф. бэкапа в конце дня у тебя дифф бэкап просто не будет успевать делаться за это время
>>В этом случае Full только жрет место и все
Ты просто не умеешь настраивать бэкап лога. Твои ежечасные диф. бэкапы точно так же жрут место, по сравнению с бэкапами лога.
Насчет инкрементного, как ты говоришь, бэкапа (на самом деле он называется дифференциальный) — у него есть серьезный подводный камень — сделанный админом или сторонними средствами полный бэкап делает невалидной всю цепочку твоих бэкапов.
20 — 25.05.18 — 11:34
>>А я про реальность
Ты живешь в какой-то своей реальности, в моей реальности все продакшн базы в фулл модели.
21 — 25.05.18 — 12:07
(19) В общем, я не понял, в чем проблема полных бекапов + дифференциальных, в случае ручного восстановления этого более чем достаточно
22 — 25.05.18 — 12:14
(21) Печенюшка, с таким уровнем понимания тебя нельзя до баз больше 15 Мб допускать, бгг
23 — 25.05.18 — 12:40
(19) > Насчет инкрементного, как ты говоришь, бэкапа (на самом деле он называется дифференциальный) — у него есть серьезный подводный камень — сделанный админом или сторонними средствами полный бэкап делает невалидной всю цепочку твоих бэкапов
COPY ONLY спасает, но кто про него вспоминает )
24 — 25.05.18 — 13:51
(22) Ой, Миша, дурачок, я и не признал тебя сразу, сорян :))
X Leshiy
25 — 25.05.18 — 14:12
(17) >>ЛОЛ, да везде, где заказчики не готовы терять данные за период от предыдущего полного бэкапа до сбоя.
Раз заказчик такой нежный, пусть строит репликацию)))
-
#1
Valve отредактировала карты = сломали (в очередной раз) сервера сообщества
Сменились сигнатуры и тем самым сервера ушли в постоянный краш (см 1.10)
[MaZa] [HotGuard] — Failed Offset 1
[SM] Unable to load extension «hotguard.ext»:
[SDKTOOLS] Sigscan for WriteBaselines failed
[SDKTOOLS] Failed to find WriteBaselines signature — stringtable error workaround disabled.
[AntiDLL] Sigscan for Signature failed
[SM] Unable to load extension «AntiDLL.ext»: Failed to create interceptor
[SM] Failed to load plugin «hotguard.smx»: Unable to load plugin (bad header).
[SM] Unable to load plugin «AntiDLL.smx»: Required extension «AntiDLL» file(«AntiDLL.ext») not running
[SM] Exception reported: Failed to get engine poiters. Data: 0, 0, F0D92D44, F0E311CC.
[SM] Blaming: block_print_garbage_messages.smx
[SM] Call stack trace:
[SM] [0] SetFailState
[SM] [1] Line 48, d:SourcePawn1.10block_print_garbage_messages.sp::OnPluginStart
[SM] Unable to load plugin «block_print_garbage_messages.smx»: Error detected in plugin startup (see error logs)
[SM] Unable to load plugin «CrashPlayer_AntiDLL.smx»: Required extension «AntiDLL» file(«AntiDLL.ext») not running
[SM] Exception reported: Can’t get offset for «CBaseServer::RejectConnection».
[SM] Blaming: server_redirect.smx
[SM] Call stack trace:
[SM] [0] SetFailState
[SM] [1] Line 9, server_redirect/redirect.sp::SetupSDKCalls
[SM] [2] Line 198, C:UsersartDesktopaddonsёsourcemodscriptingserver_redirect.sp::OnPluginStart
[SM] Unable to load plugin «server_redirect.smx»: Error detected in plugin startup (see error logs)
[SM] Exception reported: Failed to load CBaseServer::IsExclusiveToLobbyConnections signature from gamedata
[SM] Blaming: nolobbyreservation.smx
[SM] Call stack trace:
[SM] [0] SetFailState
[SM] [1] Line 87, nolobbyreservation.sp::OnPluginStart
[SM] Unable to load plugin «nolobbyreservation.smx»: Error detected in plugin startup (see error logs)
Послетали сигнатуры
CBaseServer::RejectConnection
CBaseServer::IsExclusiveToLobby
upd: Если хотите до сих пор использовать см 1.10 linux — скачивайте архив с см 1.11 6928, оттуда переносите все файлы из папки addons/sourcemod/gamedata/ с заменой. (остальные файлы из других папок не трогайте)
Под остальные плагины исправления — ищите файлы с фиксом сигнатур в соответствующих темах.
Последнее редактирование: Суббота в 10:30
-
#661
Сервер работает минут 10-15 и крашится. Отключил папку plugins и запустил без плагинов и не крашит. Сейчас сижу перебираю, какой из плагинов крашит его.
-
#662
@j1ton, все скрипты скомпилируй под обнову, у меня всё работает, только вип шприцы не робят, жду обнову
Последнее редактирование: Суббота в 14:43
-
#663
у кого нибудь крашит при смене карты? или только у меня, все обновлено… без единой ошибки
Сообщения автоматически склеены: Суббота в 14:41
@j1ton, все скрипты скомпилируй под обнову, у меня всё работает, только вип шприцы не робят, жду обнову
upd: серв падает спустя минут 10 онлайна, ошибка чтения errors_log, не знаю в чём трабл
gamedatу обнови и все.
Последнее редактирование: Суббота в 14:41
-
#664
у кого нибудь крашит при смене карты? или только у меня, все обновлено… без единой ошибки
Сообщения автоматически склеены: Суббота в 14:41
gamedatу обнови и все.
мне не помогла обнова gamedata, у меня проблема в каком-то плагине видимо, вот сижу ищу
-
#665
у кого нибудь крашит при смене карты? или только у меня, все обновлено… без единой ошибки
Сообщения автоматически склеены: Суббота в 14:41
gamedatу обнови и все.
так же. При компиляции пишет ошибки в синтаксисе.
-
#666
У меня sourcemod 1.11 сервер отлично работает, только проблема с плагином shop_skins.smx (не выключаются скины) и с плагином res.smx (не проигрывается музыка)
Приложу свои gamedata и extensions, (не нужное вам, удалите) попробуйте.
» Не забудьте в /addons/sourcemod/configs/core.cfg «DisableAutoUpdate» поставить на «yes» «
-
gamedata.zip
135.7 КБ
· Просмотры: 24
-
extensions.zip
22.1 МБ
· Просмотры: 24
-
#667
L 02/04/2023 - 15:11:04: Info (map "de_mirage") (file "/home/server26921/game/csgo/addons/sourcemod/logs/errors_20230204.log")
L 02/04/2023 - 15:11:04: [SM] Exception reported: Failed to create native "BaseComm_IsClientGagged", name is probably already in use
L 02/04/2023 - 15:11:04: [SM] Blaming: basecomm.smx
L 02/04/2023 - 15:11:04: [SM] Call stack trace:
L 02/04/2023 - 15:11:04: [SM] [0] CreateNative
L 02/04/2023 - 15:11:04: [SM] [1] Line 71, /home/builds/sourcemod/debian9-1.11/build/plugins/basecomm.sp::AskPluginLoad2
L 02/04/2023 - 15:11:04: [SM] Failed to load plugin "basecomm.smx": unexpected error 23 in AskPluginLoad callback.
L 02/04/2023 - 15:11:04: [AntiDLL] Sigscan for Signature failed
L 02/04/2023 - 15:11:04: [SM] Unable to load extension "AntiDLL.ext": Failed to create interceptor
L 02/04/2023 - 15:11:04: [Discord/DropsSummoner_discord.smx] At address g_pDropForAllPlayersPatch received not what we expected, drop for all players will be unavailable.
L 02/04/2023 - 15:11:04: [SM] Exception reported: [System Panel] [Users Chat DataBase] Failed to connection SP_users in databased.cfg
L 02/04/2023 - 15:11:04: [SM] Blaming: users_chat.smx
L 02/04/2023 - 15:11:04: [SM] Call stack trace:
L 02/04/2023 - 15:11:04: [SM] [0] SetFailState
L 02/04/2023 - 15:11:04: [SM] [1] Line 39, c:UsersauthtDesktopplugins-syspaneladdonssourcemodscriptingusers_chat.sp::Connection_BD
L 02/04/2023 - 15:11:04: [SM] [2] Line 31, c:UsersauthtDesktopplugins-syspaneladdonssourcemodscriptingusers_chat.sp::OnPluginStart
L 02/04/2023 - 15:11:04: [SM] Unable to load plugin "users_chat.smx": Error detected in plugin startup (see error logs)
L 02/04/2023 - 15:11:04: [SM] Exception reported: [MA] Database failure: Could not find Database conf "materialadmin"
L 02/04/2023 - 15:11:04: [SM] Blaming: admin/materialadmin.smx
L 02/04/2023 - 15:11:04: [SM] Call stack trace:
L 02/04/2023 - 15:11:04: [SM] [0] SetFailState
L 02/04/2023 - 15:11:04: [SM] [1] Line 44, materialadmin/database.sp::ConnectBd
L 02/04/2023 - 15:11:04: [SM] [2] Line 16, materialadmin/database.sp::MAConnectDB
L 02/04/2023 - 15:11:04: [SM] [3] Line 286, materialadmin.sp::OnPluginStart
L 02/04/2023 - 15:11:04: [SM] Unable to load plugin "admin/materialadmin.smx": Error detected in plugin startup (see error logs)
L 02/04/2023 - 15:11:04: [SM] Unable to load plugin "admin/ma_mutenotification.smx": Could not find required plugin "materialadmin"
L 02/04/2023 - 15:11:04: [SM] Exception reported: [Clans] No database configuration in databases.cfg!
L 02/04/2023 - 15:11:04: [SM] Blaming: clans/clans.smx
L 02/04/2023 - 15:11:04: [SM] Call stack trace:
L 02/04/2023 - 15:11:04: [SM] [0] SetFailState
L 02/04/2023 - 15:11:04: [SM] [1] Line 11, clans/database.sp::ConnectToDatabase
L 02/04/2023 - 15:11:04: [SM] [2] Line 240, A:ssmodscriptingclans.sp::OnPluginStart
L 02/04/2023 - 15:11:04: [SM] Unable to load plugin "clans/clans.smx": Error detected in plugin startup (see error logs)
L 02/04/2023 - 15:11:04: [SM] Unable to load plugin "clans/clan_createall.smx": Native "Clans_GetClientTimeToCreateClan" was not found
L 02/04/2023 - 15:11:04: [SM] Unable to load plugin "clans/clans_coinsbykill.smx": Native "Clans_AreClansLoaded" was not found
L 02/04/2023 - 15:11:04: [SM] Exception reported: [CustomPlayerArms] - Не удалось получить адрес s_playerViewmodelArmConfigs
L 02/04/2023 - 15:11:04: [SM] Blaming: CustomPlayerArms.smx
L 02/04/2023 - 15:11:04: [SM] Call stack trace:
L 02/04/2023 - 15:11:04: [SM] [0] SetFailState
L 02/04/2023 - 15:11:04: [SM] [1] Line 38, C:UsersanakaineDesktopxxxCustomPlayerArms.sp::OnPluginStart
L 02/04/2023 - 15:11:04: [SM] Unable to load plugin "CustomPlayerArms.smx": Error detected in plugin startup (see error logs)
L 02/04/2023 - 15:11:04: [SM] Exception reported: [System Panel] [Users Visits DataBase] Failed to connection SP_users in databased.cfg
L 02/04/2023 - 15:11:04: [SM] Blaming: users_visits.smx
L 02/04/2023 - 15:11:04: [SM] Call stack trace:
L 02/04/2023 - 15:11:04: [SM] [0] SetFailState
L 02/04/2023 - 15:11:04: [SM] [1] Line 28, c:UsersauthtDesktopplugins-syspaneladdonssourcemodscriptingusers_visits.sp::Connection_BD
L 02/04/2023 - 15:11:04: [SM] [2] Line 23, c:UsersauthtDesktopplugins-syspaneladdonssourcemodscriptingusers_visits.sp::OnPluginStart
L 02/04/2023 - 15:11:04: [SM] Unable to load plugin "users_visits.smx": Error detected in plugin startup (see error logs)
L 02/04/2023 - 15:11:05: [SM] Unable to load plugin "vip/vip_clancreate.smx": Native "Clans_SetCreatePerm" was not found
L 02/04/2023 - 15:11:05: [SM] Unable to load plugin "Admins.smx": Could not find required plugin "materialadmin"
L 02/04/2023 - 15:11:05: [SM] Exception reported: [System Panel] [Users DataBase] Failed to connection SP_users in databased.cfg
L 02/04/2023 - 15:11:05: [SM] Blaming: users.smx
L 02/04/2023 - 15:11:05: [SM] Call stack trace:
L 02/04/2023 - 15:11:05: [SM] [0] SetFailState
L 02/04/2023 - 15:11:05: [SM] [1] Line 44, c:UsersauthtDesktopplugins-syspaneladdonssourcemodscriptingusers.sp::Connection_BD
L 02/04/2023 - 15:11:05: [SM] [2] Line 21, c:UsersauthtDesktopplugins-syspaneladdonssourcemodscriptingusers.sp::OnPluginStart
L 02/04/2023 - 15:11:05: [SM] Unable to load plugin "users.smx": Error detected in plugin startup (see error logs)
есть фиксы этих плагинов?
-
#668
У меня sourcemod 1.11 сервер отлично работает, только проблема с плагином shop_skins.smx (не выключаются скины) и с плагином res.smx (не проигрывается музыка)
Приложу свои gamedata и extensions, (не нужное вам, удалите) попробуйте.
» Не забудьте в /addons/sourcemod/configs/core.cfg «DisableAutoUpdate» поставить на «yes» »
включаю сервер и при запуске он включается но в консоле пишет Could not establish connection to Steam servers.
-
#669
Тоже замечаю краши, но пока понять не могу из за какого плагина…
-
#670
L 02/04/2023 - 15:29:43: [STVM] Sigscan for CHLTVServer::BroadcastLocalChat failed
L 02/04/2023 - 15:29:43: [STVM] CHLTVServer::BroadcastLocalChat detour could not be initialized.
L 02/04/2023 - 15:29:43: [STVM] Sigscan for CHLTVDemoRecorder::StartRecording failed
L 02/04/2023 - 15:29:43: [STVM] CHLTVDemoRecorder::StartRecording detour could not be initialized.
L 02/04/2023 - 15:29:43: [STVM] Sigscan for CHLTVDemoRecorder::StopRecording failed
L 02/04/2023 - 15:29:43: [STVM] CHLTVDemoRecorder::StopRecording detour could not be initialized.
L 02/04/2023 - 15:29:43: [STVM] Failed to get CHLTVServer::m_DemoRecorder offset.
gamedata sourcetvmanager.
-
#671
Тоже замечаю краши, но пока понять не могу из за какого плагина…
Попробуй выключить всё, что связано со скинами(shop, ws, vip)
У меня к примеру после оф. Фикса не стартовал сервер с ws о фени.
И осталась одна ошибка:
[CSTRIKE] [CStrike] Failed to locate NET_SendPacket signature.
Решил попробовать перейти на 1.12 но без изменений, ошибка так и осталась.
Можете подсказать, что это и как решить? Буду очень благодарен
-
#672
L 02/04/2023 - 15:29:43: [STVM] Sigscan for CHLTVServer::BroadcastLocalChat failed L 02/04/2023 - 15:29:43: [STVM] CHLTVServer::BroadcastLocalChat detour could not be initialized. L 02/04/2023 - 15:29:43: [STVM] Sigscan for CHLTVDemoRecorder::StartRecording failed L 02/04/2023 - 15:29:43: [STVM] CHLTVDemoRecorder::StartRecording detour could not be initialized. L 02/04/2023 - 15:29:43: [STVM] Sigscan for CHLTVDemoRecorder::StopRecording failed L 02/04/2023 - 15:29:43: [STVM] CHLTVDemoRecorder::StopRecording detour could not be initialized. L 02/04/2023 - 15:29:43: [STVM] Failed to get CHLTVServer::m_DemoRecorder offset.
gamedata sourcetvmanager.
Решение.
-
sourcetvmanager.games.txt
12.5 КБ
· Просмотры: 14
-
#673
есть какие ни будь рабочие gamedata и extensions на 1.11 то уже все перепробовал нечего не хочет запускаться
-
#674
есть какие ни будь рабочие gamedata и extensions на 1.11 то уже все перепробовал нечего не хочет запускаться
листай тему, тут всё скидывали.
У меня всё запускается и всё работает, но вот проблема в том что у меня сервер онли мираж, и почему он меняет карту на рандомную и сервер крашится.
-
#675
листай тему, тут всё скидывали.
У меня всё запускается и всё работает, но вот проблема в том что у меня сервер онли мираж, и почему он меняет карту на рандомную и сервер крашится.
те которые кидали не работают
-
#676
Есть у кого сошка феникса под 1.11?
-
#677
кинте пожалуйста basecomm.smx рабочий
-
#678
Есть у кого сошка феникса под 1.11?
На 1.11 нет сошки, если не ошибаюсь
-
#680
у кого то было что тоже не робит AntiDLL?
Unable to load plugin "AntiDLL.smx": Required extension "AntiDLL" file("AntiDLL.ext") not running
Модераторы: Subb98, liFe iS GoOD
- Список форумов ‹ AMX Mod X ‹ Скриптинг
Правила форума
1. Запрещено материться и оскорблять других участников форума.
2. Запрещен флуд, оффтоп, дабл постинг во всех разделах форума, кроме раздела «Болтовня».
3. Запрещено взламывать сайт/форум или наносить любой вред проекту.
4. Запрещено рекламировать другие ресурсы.
5. Запрещено создавать темы без информативного названия. Название темы должно отображать ее смысл.
В данном разделе форума разрешено создавать темы, касающие только скриптинга для AMX Mod X.
Правила при создании новой темы:
1. При вставке кода плагина необходимо использовать тег [code=php].
2. Любые изображения должны быть загружены, как вложения к вашему сообщению.
3. При описании проблемы или запросе на помощь в редактировании плагина обязательно выкладывайте исходник sma плагина.
- Ответить с цитатой
Run time error 10: native error (native «SQL_ThreadQuery»)
Вот с такой ошибкой встретился
- Код: Выделить всё
L 08/11/2016 - 21:57:15: [MySQL] Invalid info tuple handle: 0
L 08/11/2016 - 21:57:15: [AMXX] Displaying debug trace (plugin "deathrun_money.amxx")
L 08/11/2016 - 21:57:15: [AMXX] Run time error 10: native error (native "SQL_ThreadQuery")
L 08/11/2016 - 21:57:15: [AMXX] [0] deathrun_money.sma::Load_MySql (line 93)
L 08/11/2016 - 21:57:15: [AMXX] [1] deathrun_money.sma::client_putinserver (line 154)
- Код: Выделить всё
#include <amxmodx>
#include <fakemeta>
#include <cstrike>
#include <sqlx>#define PLUGIN "Save Money SQL"
#define VERSION "1.0"
#define AUTHOR "Grim"// Ur Mysql Information
new User[] = ""
new Pass[] = ""
new Db[] = ""new Handle:g_SqlTuple
new g_Error[512]
new giMaxPlayerspublic plugin_init
()
{
register_plugin(PLUGIN, VERSION, AUTHOR) register_event("HLTV", "EventNewRound", "a", "1=0", "2=0")
set_task(1.0, "MySql_Init") // set a task to activate the mysql_init
giMaxPlayers = get_maxplayers()
}public EventNewRound()
{
new iPlayers[32], iPlayersNum, iPlayerget_players
( iPlayers, iPlayersNum, "h" ) // skip HLTV
for ( new i; i < giMaxPlayers; i++ )
{
iPlayer = iPlayers[i]
const m_boolsKilled = 222
const m_bNotReceivingMoneyNextRound = (1<<16)
set_pdata_int( iPlayer, m_boolsKilled, m_boolsKilled | m_bNotReceivingMoneyNextRound )
}
}public MySql_Init()
{
// we tell the API that this is the information we want to connect to,
// just not yet. basically it's like storing it in global variables
g_SqlTuple = SQL_MakeDbTuple(Host,User,Pass,Db)
// ok, we're ready to connect
new ErrorCode,Handle:SqlConnection = SQL_Connect(g_SqlTuple,ErrorCode,g_Error,charsmax(g_Error))
if(SqlConnection == Empty_Handle)
// stop the plugin with an error message
set_fail_state(g_Error)
new Handle:Queries
// we must now prepare some random queries
Queries = SQL_PrepareQuery(SqlConnection,"CREATE TABLE IF NOT EXISTS money_save (steamid varchar(32),money INT(11))") if(!SQL_Execute(Queries))
{
// if there were any problems
SQL_QueryError(Queries,g_Error,charsmax(g_Error))
set_fail_state(g_Error)
}
// close the handle
SQL_FreeHandle(Queries)
// you free everything with SQL_FreeHandle
SQL_FreeHandle(SqlConnection)
}public plugin_end()
{
// free the tuple - note that this does not close the connection,
// since it wasn't connected in the first place
SQL_FreeHandle(g_SqlTuple)
}public Load_MySql(id)
{
new szSteamId[32], szTemp[512]
get_user_authid(id, szSteamId, charsmax(szSteamId))
new Data[1]
Data[0] = id//we will now select from the table `money_save` where the steamid match
format(szTemp,charsmax(szTemp),"SELECT * FROM `money_save` WHERE (`money_save`.`steamid` = '%s')", szSteamId)
SQL_ThreadQuery(g_SqlTuple,"register_client",szTemp,Data,1)
}public register_client(FailState,Handle:Query,Error[],Errcode,Data[],DataSize)
{
if(FailState == TQUERY_CONNECT_FAILED)
{
log_amx("Load - Could not connect to SQL database. [%d] %s", Errcode, Error)
}
else if(FailState == TQUERY_QUERY_FAILED)
{
log_amx("Load Query failed. [%d] %s", Errcode, Error)
} new id
id = Data[0]
if(SQL_NumResults(Query) < 1)
{
//.if there are no results found
new szSteamId[32]
get_user_authid(id, szSteamId, charsmax(szSteamId)) // get user's steamid
// if its still pending we can't do anything with it
if (equal(szSteamId,"ID_PENDING"))
return PLUGIN_HANDLEDnew szTemp
[512]
// now we will insturt the values into our table.
format(szTemp,charsmax(szTemp),"INSERT INTO `money_save` ( `steamid` , `money`)VALUES ('%s','0');",szSteamId)
SQL_ThreadQuery(g_SqlTuple,"IgnoreHandle",szTemp)
}
else
{
cs_set_user_money ( id, SQL_ReadResult(Query, 1) )
}
return PLUGIN_HANDLED
}public Save_MySql(id)
{
new szSteamId[32], szTemp[512]
get_user_authid(id, szSteamId, charsmax(szSteamId))
// Here we will update the user hes information in the database where the steamid matches.
format(szTemp,charsmax(szTemp),"UPDATE `money_save` SET `money` = '%i' WHERE `money_save`.`steamid` = '%s';",cs_get_user_money(id), szSteamId)
SQL_ThreadQuery(g_SqlTuple,"IgnoreHandle",szTemp)
}public IgnoreHandle(FailState,Handle:Query,Error[],Errcode,Data[],DataSize)
{
SQL_FreeHandle(Query)
return PLUGIN_HANDLED
}public client_putinserver(id)
{
Load_MySql(id)
}public client_disconnect(id)
{
Save_MySql(id)
}
Последний раз редактировалось liFe iS GoOD 12 авг 2016, 01:05, всего редактировалось 1 раз.
Причина: Для отладочной информации используется тег [code]
-
Dirijer
- Сообщения: 42
- Зарегистрирован: 21 окт 2014, 21:23
- Благодарил (а): 13 раз.
- Поблагодарили: 1 раз.
- Языки программирования: Counter-Strike 1.6
Counter-Strike: Source
Team Fortress II
Left 4 Dead
- Ответить с цитатой
Re: Run time error 10: native error (native «SQL_ThreadQuery
Mistrick » 11 авг 2016, 23:09
Игрок подключается в промежуток пока не произошла инициализация mysql.
-
Mistrick
- Сообщения: 2937
- Зарегистрирован: 04 ноя 2012, 18:15
- Благодарил (а): 43 раз.
- Поблагодарили: 1239 раз.
- Языки программирования: PAWN
С/С++(few above zero)
- Ответить с цитатой
Re: Run time error 10: native error (native «SQL_ThreadQuery
Dirijer » 11 авг 2016, 23:53
Mistrick писал(а):Игрок подключается в промежуток пока не произошла инициализация mysql.
Если сделаю set_task ( 0.01… Будет плохо?
Добавлено спустя 33 минуты 17 секунд:
Сделал set_task ( 0.01 и криво работать начало, то захожу деньги не даёт, то не сохраняет, подскажите как сделать инициализацию mysql нормально
Добавлено спустя 7 минут 12 секунд:
/del я тугой
-
Dirijer
- Сообщения: 42
- Зарегистрирован: 21 окт 2014, 21:23
- Благодарил (а): 13 раз.
- Поблагодарили: 1 раз.
- Языки программирования: Counter-Strike 1.6
Counter-Strike: Source
Team Fortress II
Left 4 Dead
- Ответить с цитатой
Re: Run time error 10: native error (native «SQL_ThreadQuery
L4D2 » 11 авг 2016, 23:56
все там верно, зачем менять ?
Dirijer,
Ты хоть напиши, что исправил. А то у других потом вопросы вот так вот возникнут.
-
L4D2
- Сообщения: 792
- Зарегистрирован: 25 июн 2011, 19:26
- Благодарил (а): 240 раз.
- Поблагодарили: 100 раз.
- Языки программирования: Counter-Strike 1.6
- Ответить с цитатой
Re: Run time error 10: native error (native «SQL_ThreadQuery
Dirijer » 12 авг 2016, 00:00
L4D2 писал(а):
все там верно, зачем менять ?
Dirijer,
Ты хоть напиши, что исправил. А то у других потом вопросы вот так вот возникнут.
Неа, проблема осталась
-
Dirijer
- Сообщения: 42
- Зарегистрирован: 21 окт 2014, 21:23
- Благодарил (а): 13 раз.
- Поблагодарили: 1 раз.
- Языки программирования: Counter-Strike 1.6
Counter-Strike: Source
Team Fortress II
Left 4 Dead
- Ответить с цитатой
Re: Run time error 10: native error (native «SQL_ThreadQuery
L4D2 » 12 авг 2016, 00:21
Dirijer,
пробуй,
- Код: Выделить всё
#include <amxmodx>
#include <fakemeta>
#include <cstrike>
#include <sqlx>#define PLUGIN "Save Money SQL"
#define VERSION "1.0"
#define AUTHOR "Grim"// Ur Mysql Information
new Host[] = ""
new User[] = ""
new Pass[] = ""
new Db[] = ""new Handle:g_SqlTuple
new g_Error[512]
new giMaxPlayers
new query[512]public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR) register_event("HLTV", "EventNewRound", "a", "1=0", "2=0")
set_task(1.0, "MySql_Init") // set a task to activate the mysql_init
giMaxPlayers = get_maxplayers()
}public EventNewRound()
{
new iPlayers[32], iPlayersNum, iPlayerget_players
( iPlayers, iPlayersNum, "h" ) // skip HLTV
for ( new i; i < giMaxPlayers; i++ )
{
iPlayer = iPlayers[i]
const m_boolsKilled = 222
const m_bNotReceivingMoneyNextRound = (1<<16)
set_pdata_int( iPlayer, m_boolsKilled, m_boolsKilled | m_bNotReceivingMoneyNextRound )
}
}public MySql_Init()
{
// we tell the API that this is the information we want to connect to,
// just not yet. basically it's like storing it in global variables
g_SqlTuple = SQL_MakeDbTuple(Host, User, Pass, Db)
// ok, we're ready to connect
new ErrorCode,Handle:SqlConnection = SQL_Connect(g_SqlTuple,ErrorCode,g_Error,charsmax(g_Error))
if(SqlConnection == Empty_Handle)
// stop the plugin with an error message
set_fail_state(g_Error)
new Handle:Queries
// we must now prepare some random queries
Queries = SQL_PrepareQuery(SqlConnection,"CREATE TABLE IF NOT EXISTS money_save (steamid varchar(32),money INT(11))") if(!SQL_Execute(Queries))
{
// if there were any problems
SQL_QueryError(Queries,g_Error,charsmax(g_Error))
set_fail_state(g_Error)
}
SQL_ThreadQuery(g_SqlTuple, "register_client", query)
}public plugin_end()
{
// free the tuple - note that this does not close the connection,
// since it wasn't connected in the first place
SQL_FreeHandle(g_SqlTuple)
}public Load_MySql(id)
{
new szSteamId[32], szTemp[512]
get_user_authid(id, szSteamId, charsmax(szSteamId))
new Data[1]
Data[0] = id//we will now select from the table `money_save` where the steamid match
format(szTemp,charsmax(szTemp),"SELECT * FROM `money_save` WHERE (`money_save`.`steamid` = '%s')", szSteamId)
SQL_ThreadQuery(g_SqlTuple,"register_client",szTemp,Data,1)
}public register_client(FailState,Handle:Query,Error[],Errcode,Data[],DataSize) {
if(FailState == TQUERY_CONNECT_FAILED)
log_amx("Load - Could not connect to SQL database. [%d] %s", Errcode, Error)
else if(FailState == TQUERY_QUERY_FAILED)
log_amx("Load Query failed. [%d] %s", Errcode, Error) new id
id = Data[0]
if(SQL_NumResults(Query) < 1)
{
//.if there are no results found
new szSteamId[32]
get_user_authid(id, szSteamId, charsmax(szSteamId)) // get user's steamid
// if its still pending we can't do anything with it
if (equal(szSteamId,"ID_PENDING"))
return PLUGIN_HANDLEDnew szTemp
[512]
// now we will insturt the values into our table.
format(szTemp,charsmax(szTemp),"INSERT INTO `money_save` ( `steamid` , `money`)VALUES ('%s','0');",szSteamId)
SQL_ThreadQuery(g_SqlTuple,"IgnoreHandle",szTemp)
}
else
{
cs_set_user_money ( id, SQL_ReadResult(Query, 1) )
}
return PLUGIN_HANDLED
}public Save_MySql(id)
{
new szSteamId[32], szTemp[512]
get_user_authid(id, szSteamId, charsmax(szSteamId))
// Here we will update the user hes information in the database where the steamid matches.
format(szTemp,charsmax(szTemp),"UPDATE `money_save` SET `money` = '%i' WHERE `money_save`.`steamid` = '%s';",cs_get_user_money(id), szSteamId)
SQL_ThreadQuery(g_SqlTuple,"IgnoreHandle",szTemp)
}public IgnoreHandle(FailState,Handle:Query,Error[],Errcode,Data[],DataSize)
{
SQL_FreeHandle(Query)
return PLUGIN_HANDLED
}public client_putinserver(id)
{
Load_MySql(id)
}public client_disconnect(id)
{
Save_MySql(id)
}
Не даю гарантию.
-
L4D2
- Сообщения: 792
- Зарегистрирован: 25 июн 2011, 19:26
- Благодарил (а): 240 раз.
- Поблагодарили: 100 раз.
- Языки программирования: Counter-Strike 1.6
- Ответить с цитатой
Re: Run time error 10: native error (native «SQL_ThreadQuery
Dirijer » 12 авг 2016, 00:38
L4D2 писал(а):Dirijer,
пробуй,
- Код: Выделить всё
#include <amxmodx>
#include <fakemeta>
#include <cstrike>
#include <sqlx>#define PLUGIN "Save Money SQL"
#define VERSION "1.0"
#define AUTHOR "Grim"// Ur Mysql Information
new Host[] = ""
new User[] = ""
new Pass[] = ""
new Db[] = ""new Handle:g_SqlTuple
new g_Error[512]
new giMaxPlayers
new query[512]public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR) register_event("HLTV", "EventNewRound", "a", "1=0", "2=0")
set_task(1.0, "MySql_Init") // set a task to activate the mysql_init
giMaxPlayers = get_maxplayers()
}public EventNewRound()
{
new iPlayers[32], iPlayersNum, iPlayerget_players
( iPlayers, iPlayersNum, "h" ) // skip HLTV
for ( new i; i < giMaxPlayers; i++ )
{
iPlayer = iPlayers[i]
const m_boolsKilled = 222
const m_bNotReceivingMoneyNextRound = (1<<16)
set_pdata_int( iPlayer, m_boolsKilled, m_boolsKilled | m_bNotReceivingMoneyNextRound )
}
}public MySql_Init()
{
// we tell the API that this is the information we want to connect to,
// just not yet. basically it's like storing it in global variables
g_SqlTuple = SQL_MakeDbTuple(Host, User, Pass, Db)
// ok, we're ready to connect
new ErrorCode,Handle:SqlConnection = SQL_Connect(g_SqlTuple,ErrorCode,g_Error,charsmax(g_Error))
if(SqlConnection == Empty_Handle)
// stop the plugin with an error message
set_fail_state(g_Error)
new Handle:Queries
// we must now prepare some random queries
Queries = SQL_PrepareQuery(SqlConnection,"CREATE TABLE IF NOT EXISTS money_save (steamid varchar(32),money INT(11))") if(!SQL_Execute(Queries))
{
// if there were any problems
SQL_QueryError(Queries,g_Error,charsmax(g_Error))
set_fail_state(g_Error)
}
SQL_ThreadQuery(g_SqlTuple, "register_client", query)
}public plugin_end()
{
// free the tuple - note that this does not close the connection,
// since it wasn't connected in the first place
SQL_FreeHandle(g_SqlTuple)
}public Load_MySql(id)
{
new szSteamId[32], szTemp[512]
get_user_authid(id, szSteamId, charsmax(szSteamId))
new Data[1]
Data[0] = id//we will now select from the table `money_save` where the steamid match
format(szTemp,charsmax(szTemp),"SELECT * FROM `money_save` WHERE (`money_save`.`steamid` = '%s')", szSteamId)
SQL_ThreadQuery(g_SqlTuple,"register_client",szTemp,Data,1)
}public register_client(FailState,Handle:Query,Error[],Errcode,Data[],DataSize) {
if(FailState == TQUERY_CONNECT_FAILED)
log_amx("Load - Could not connect to SQL database. [%d] %s", Errcode, Error)
else if(FailState == TQUERY_QUERY_FAILED)
log_amx("Load Query failed. [%d] %s", Errcode, Error) new id
id = Data[0]
if(SQL_NumResults(Query) < 1)
{
//.if there are no results found
new szSteamId[32]
get_user_authid(id, szSteamId, charsmax(szSteamId)) // get user's steamid
// if its still pending we can't do anything with it
if (equal(szSteamId,"ID_PENDING"))
return PLUGIN_HANDLEDnew szTemp
[512]
// now we will insturt the values into our table.
format(szTemp,charsmax(szTemp),"INSERT INTO `money_save` ( `steamid` , `money`)VALUES ('%s','0');",szSteamId)
SQL_ThreadQuery(g_SqlTuple,"IgnoreHandle",szTemp)
}
else
{
cs_set_user_money ( id, SQL_ReadResult(Query, 1) )
}
return PLUGIN_HANDLED
}public Save_MySql(id)
{
new szSteamId[32], szTemp[512]
get_user_authid(id, szSteamId, charsmax(szSteamId))
// Here we will update the user hes information in the database where the steamid matches.
format(szTemp,charsmax(szTemp),"UPDATE `money_save` SET `money` = '%i' WHERE `money_save`.`steamid` = '%s';",cs_get_user_money(id), szSteamId)
SQL_ThreadQuery(g_SqlTuple,"IgnoreHandle",szTemp)
}public IgnoreHandle(FailState,Handle:Query,Error[],Errcode,Data[],DataSize)
{
SQL_FreeHandle(Query)
return PLUGIN_HANDLED
}public client_putinserver(id)
{
Load_MySql(id)
}public client_disconnect(id)
{
Save_MySql(id)
}Не даю гарантию.
А что ты изменил?
Добавлено спустя 11 минут 36 секунд:
Работает. Но на сервере когда нет людей быстро всё прогружает, когда есть люди, очень с запазданием выдаёт деньги, а потом может забрать =/
-
Dirijer
- Сообщения: 42
- Зарегистрирован: 21 окт 2014, 21:23
- Благодарил (а): 13 раз.
- Поблагодарили: 1 раз.
- Языки программирования: Counter-Strike 1.6
Counter-Strike: Source
Team Fortress II
Left 4 Dead
- Ответить с цитатой
Re: Run time error 10: native error (native «SQL_ThreadQuery
Dirijer » 12 авг 2016, 00:43
Так при коннекте игрока выдаются деньги
-
Dirijer
- Сообщения: 42
- Зарегистрирован: 21 окт 2014, 21:23
- Благодарил (а): 13 раз.
- Поблагодарили: 1 раз.
- Языки программирования: Counter-Strike 1.6
Counter-Strike: Source
Team Fortress II
Left 4 Dead
Вернуться в Скриптинг
Кто сейчас на конференции
Сейчас этот форум просматривают: Bing [Bot], Google [Bot] и гости: 1
-
azrael
- Newbie
- Posts: 3
- Joined: Sun Dec 12, 2010 9:46 am
Возникла необходимость поработать с бд. созданной в одной из старых версий Mars Notebook, при попытке открыть ее новой версией выскочила такая ошибка Table ‘attach’ not exists. — Native error: 30396. База — не открывается. Возможно ли както восстановить данные?
-
Marsianin
- Administrator
- Posts: 1655
- Joined: Tue Jan 25, 2005 3:02 am
- Location: Red Planet
- Contact:
Unread post
Mon Dec 13, 2010 12:40 am
Данные в этом случае не затронуты. В той базе нет присоединений.
Какая версия Mars Notebook это выдаёт? Какая версия Notebook.exe файла (должна быть 2.0.0.3)?
Is there any life on Mars ?
-
azrael
- Newbie
- Posts: 3
- Joined: Sun Dec 12, 2010 9:46 am
Unread post
Mon Dec 13, 2010 8:27 am
Да, именно эта версия файла — 2.0.0.3. Версия Mars Notebook — 2.0
-
Marsianin
- Administrator
- Posts: 1655
- Joined: Tue Jan 25, 2005 3:02 am
- Location: Red Planet
- Contact:
Unread post
Mon Dec 13, 2010 1:18 pm
Если есть возможность прислать базу, то выложите на rapidshare/letitbit/hotfile. Ссылку в ПМ. Я разберусь.
Is there any life on Mars ?
-
azrael
- Newbie
- Posts: 3
- Joined: Sun Dec 12, 2010 9:46 am
Unread post
Sat Dec 18, 2010 7:33 pm
К сожалению такой возможности нет, ввиду конфиденциальности информации… Возможно ли как-то без этого?
-
Marsianin
- Administrator
- Posts: 1655
- Joined: Tue Jan 25, 2005 3:02 am
- Location: Red Planet
- Contact:
Unread post
Sat Dec 18, 2010 8:25 pm
Попробуйте запустить Notebook.exe /repair database.mnb
Is there any life on Mars ?
Я новичок в изучении Java. Пытаюсь запустить «hello world!» Пример того, что я запускаю ниже.
class hello {
public static void main(String args[]) {
System.out.println("Hello, world!");
}
}
Javac компилирует, но созданный класс не интрепретируется. Выдается следующая ошибка:
***:~/Documents/JavaSampl$ javac hello.java
***:~/Documents/JavaSampl$ java hello
Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.UnsupportedClassVersionError: hello has been compiled by a more recent version of the Java Runtime (class file version 54.0), this version of the Java Runtime only recognizes class file versions up to 53.0
at java.lang.ClassLoader.defineClass1(java.base@9-internal/Native Method)
at java.lang.ClassLoader.defineClass(java.base@9-internal/ClassLoader.java:939)
at java.security.SecureClassLoader.defineClass(java.base@9-internal/SecureClassLoader.java:152)
at jdk.internal.loader.BuiltinClassLoader.defineClass(java.base@9-internal/BuiltinClassLoader.java:553)
at jdk.internal.loader.BuiltinClassLoader.access$200(java.base@9-internal/BuiltinClassLoader.java:88)
at jdk.internal.loader.BuiltinClassLoader$3.run(java.base@9-internal/BuiltinClassLoader.java:466)
at jdk.internal.loader.BuiltinClassLoader$3.run(java.base@9-internal/BuiltinClassLoader.java:460)
at java.security.AccessController.doPrivileged(java.base@9-internal/Native Method)
at jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(java.base@9-internal/BuiltinClassLoader.java:459)
at jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(java.base@9-internal/BuiltinClassLoader.java:406)
at jdk.internal.loader.BuiltinClassLoader.loadClass(java.base@9-internal/BuiltinClassLoader.java:364)
at jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(java.base@9-internal/ClassLoaders.java:184)
at java.lang.ClassLoader.loadClass(java.base@9-internal/ClassLoader.java:419)
at sun.launcher.LauncherHelper.loadMainClass(java.base@9-internal/LauncherHelper.java:585)
at sun.launcher.LauncherHelper.checkAndLoadMain(java.base@9-internal/LauncherHelper.java:497)
Подскажите как это решить. Заранее спасибо!
#include <amxmodx>
#include <amxmisc>
#include <sqlx>
#define PLUGIN "Bank"
#define VERSION "1.0"
#define AUTHOR "theHex"
new Handle:MYSQL_Tuple;
new Handle:MYSQL_Connect;
new g_Cvar[5];
new g_ActiveMysql;
new szPlayerData[33];
new szPlayerMysql[33];
new UMoney[32];
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
g_Cvar[1] = register_cvar("amx_mysql_hostname", "localhost")
g_Cvar[2] = register_cvar("amx_mysql_username", "u926009sipp")
g_Cvar[3] = register_cvar("amx_mysql_password", "censored")
g_Cvar[4] = register_cvar("amx_mysql_database", "db926009")
register_menucmd(register_menuid("Bank_Send"), (1<<0|1<<1|1<<2|1<<3|1<<4|1<<5|1<<6|1<<7|1<<8|1<<9), "Handle_Bank_Send");
register_clcmd("say /bank", "Bank_Send")
set_task(1.0, "MYSQL_Load")
}
native jbe_get_user_money(pPlayer);
native jbe_set_user_money(pPlayer, iNum, iFlash);
native jbe_informer_offset_up(pPlayer);
native jbe_informer_offset_down(pPlayer);
public MYSQL_Load()
{
new szHostname[30], szUsername[30], szPassword[30], szDatabase[30]
new szError[512], szErr
get_pcvar_string(g_Cvar[1], szHostname, charsmax( szHostname ))
get_pcvar_string(g_Cvar[2], szUsername, charsmax( szUsername ))
get_pcvar_string(g_Cvar[3], szPassword, charsmax( szPassword ))
get_pcvar_string(g_Cvar[4], szDatabase, charsmax( szDatabase ))
MYSQL_Tuple = SQL_MakeDbTuple(szHostname, szUsername, szPassword, szDatabase)
MYSQL_Connect = SQL_Connect(MYSQL_Tuple, szErr, szError, charsmax( szError ))
if(MYSQL_Connect == Empty_Handle)
set_fail_state( szError )
g_ActiveMysql = true
}
public client_connect(id)
{
if(!is_user_bot(id) || !is_user_hltv(id))
{
set_task(1.0, "CheckPlayer", id)
}
}
public CheckPlayer(id)
{
if(!g_ActiveMysql)
{
set_task(1.0, "CheckPlayer", id)
}
new szError[512]
new szName[32], szMYSQLName[32]
new Handle:szSelect = SQL_PrepareQuery(MYSQL_Connect, "SELECT * FROM jbe_bank")
if(!SQL_Execute(szSelect))
{
SQL_QueryError(szSelect, szError, charsmax( szError ))
set_fail_state( szError )
}
get_user_name(id, szName, charsmax( szName ))
while(SQL_MoreResults(szSelect))
{
SQL_ReadResult(szSelect, 1, szMYSQLName, charsmax( szMYSQLName ))
if(equal(szMYSQLName, szName))
{
szPlayerData[id] = SQL_ReadResult(szSelect, 2)
szPlayerMysql[id] = true
break
}else{
SQL_NextRow(szSelect)
}
}
if(!szPlayerMysql[id])
{
new Handle:szInsert
szInsert = SQL_PrepareQuery(MYSQL_Connect, "INSERT INTO `jbe_bank` (`name`, `data`) VALUES ('%s', '0');", szName) //Отправляем в базу его ник
if(!SQL_Execute(szInsert))
{
SQL_QueryError(szInsert, szError, charsmax( szError ))
set_fail_state( szError )
}
szPlayerMysql[id] = true
}
}
Bank_Send(id)
{
jbe_informer_offset_up(id);
new szMenu[512], iKeys = (1<<1|1<<2|1<<3|1<<4|1<<5|1<<9),
iLen = formatex(szMenu, charsmax(szMenu), "yБанк^n^ndВаш баланс: %d", szPlayerData[id]);
if(jbe_get_user_money(id) >= 100){
iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "y[1] wПоложить y$100^n");
iKeys |= (1<<0);
}
else{
iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "y[1] dПоложить r$100^n");
}
if(jbe_get_user_money(id) >= 200){
iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "y[2] wПоложить $200^n");
iKeys |= (1<<1);
}
else{
iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "y[2] dПоложить r$200^n");
}
if(jbe_get_user_money(id) >= 500){
iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "y[3] wПоложить $500^n");
iKeys |= (1<<2);
}
else{
iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "y[3] dПоложить r$500^n");
}
if(jbe_get_user_money(id) >= 1000){
iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "y[4] wПоложить $1000^n");
iKeys |= (1<<3);
}
else{
iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "y[4] dПоложить r$1000^n");
}
if(jbe_get_user_money(id) >= 5000){
iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "y[5] wПоложить $5000^n");
iKeys |= (1<<4);
}
else{
iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "y[5] dПоложить r$5000^n");
}
if(jbe_get_user_money(id) >= 100){
iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "y[6] wПоложить все^n^n^n");
iKeys |= (1<<5);
}
else{
iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "y[6] dПоложить все^n^n^n");
}
formatex(szMenu[iLen], charsmax(szMenu) - iLen, "^ny[0] wВыход^n^ndby theHex");
return show_menu(id, iKeys, szMenu, -1, "Bank_Send");
}
public Handle_Bank_Send(id, iKey)
{
UMoney[id] = jbe_get_user_money(id);
switch(iKey)
{
case 0: if(UMoney[id] >= 100) {
jbe_set_user_money(id, UMoney[id] - 100, 1);
szPlayerData[id] += 100;
}
case 1: if(UMoney[id] >= 200) {
jbe_set_user_money(id, UMoney[id] - 200, 1);
szPlayerData[id] += 200;
}
case 2: if(UMoney[id] >= 500) {
jbe_set_user_money(id, UMoney[id] - 500, 1);
szPlayerData[id] += 500;
}
case 3: if(UMoney[id] >= 1000) {
jbe_set_user_money(id, UMoney[id] - 1000, 1);
szPlayerData[id] += 1000;
}
case 4: if(UMoney[id] >= 5000) {
jbe_set_user_money(id, UMoney[id] - 5000, 1);
szPlayerData[id] += 5000;
}
case 5: if(UMoney[id] >= 100) {
szPlayerData[id] += UMoney[id];
jbe_set_user_money(id, 0, 1);
}
case 9: {
jbe_informer_offset_down(id);
return PLUGIN_HANDLED;
}
}
return Bank_Send(id);
}
public client_disconnect(id)
{
new szError[512]
new szName[32]
new Handle:szUpdate
get_user_name(id, szName, charsmax( szName ))
szUpdate = SQL_PrepareQuery(MYSQL_Connect, "UPDATE `jbe_bank` SET `data` = '%i' WHERE `jbe_bank`.`name` = '%s';", szPlayerData[id], szName)
if(!SQL_Execute(szUpdate))
{
SQL_QueryError(szUpdate, szError, charsmax( szError ))
set_fail_state( szError )
}
}