Offline |
|
|
Csatlakozott: 2015.03.12. 18:30 Hozzászólások: 975
Megköszönt másnak: 67 alkalommal Megköszönték neki: 136 alkalommal
|
Sziasztok! Plguin le fordul, működik, de adatot veszt. El tűnnek a mentések. public MySql_Init() { g_SqlTuple = SQL_MakeDbTuple(Host,User,Pass,Db) new ErrorCode new Error[512] new Handle:SqlConnection = SQL_Connect(g_SqlTuple,ErrorCode,Error,charsmax(Error)) if(SqlConnection == Empty_Handle) { set_fail_state(Error) } new szTemp[1024] formatex(szTemp, charsmax(szTemp), "CREATE TABLE IF NOT EXISTS server \ (steamid varchar(32),awp INT(11),scout INT(11),deagle INT(11),usp INT(11),glock INT(11),knife INT(11),\ awpM INT(11),scoutM INT(11),deagleM INT(11),uspM INT(11),glockM INT(11),knifeM INT(11))") new Handle:Queries = SQL_PrepareQuery(SqlConnection,szTemp) // Létrehozzuk a server táblát és a mentési sorokat! if(!SQL_Execute(Queries)) { SQL_QueryError(Queries,Error,charsmax(Error)) set_fail_state(Error) } SQL_FreeHandle(Queries) SQL_FreeHandle(SqlConnection) } public plugin_end() { SQL_FreeHandle(g_SqlTuple) } public betoltes(id) { new ids[32], szTemp[512] get_user_authid(id, ids, charsmax(ids)) new Data[1] Data[0] = id format(szTemp,charsmax(szTemp),"SELECT * FROM `server` WHERE (`server`.`steamid` = '%s')", ids) // Kiválasztjuk a játékost a globa-_unison táblából a neve alapján! 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("Kapcsolodas sikertelen. [%d] %s", Errcode, Error) } else if(FailState == TQUERY_QUERY_FAILED) { log_amx("A QUERY betoltese sikertelen.[%d] %s", Errcode, Error) } new id id = Data[0] if(SQL_NumResults(Query) < 1) { new ids[32] get_user_authid(id, ids, charsmax(ids)) new szTemp[512] format(szTemp,charsmax(szTemp),"INSERT INTO `server` ( `steamid` , `awp`, `scout`, `deagle`, `usp`, `glock`, `knife`, `awpM`, `scoutM`, `deagleM`, `uspM`, `glockM`, `knifeM`)VALUES ('%s','0','0','0','0','0','0','0','0','0','0','0','0');",ids) // Ha a játékos neve nem található a táblában akkor létrehozunk neki egy új sort a nevével és a pont értékét beállítjük 0-ra! SQL_ThreadQuery(g_SqlTuple,"IgnoreHandle",szTemp) } else { player_data[id][AWP_KILLS] = SQL_ReadResult(Query, 1) player_data[id][SCOUT_KILLS] = SQL_ReadResult(Query, 2) player_data[id][DEAGLE_KILLS] = SQL_ReadResult(Query, 3) player_data[id][USP_KILLS] = SQL_ReadResult(Query, 4) player_data[id][GLOCK_KILLS] = SQL_ReadResult(Query, 5) player_data[id][KNIFE_KILLS] = SQL_ReadResult(Query, 6) player_data[id][AWP_MENU] = SQL_ReadResult(Query, 7) player_data[id][SCOUT_MENU] = SQL_ReadResult(Query, 8) player_data[id][DEAGLE_MENU] = SQL_ReadResult(Query, 9) player_data[id][USP_MENU] = SQL_ReadResult(Query, 10) player_data[id][GLOCK_MENU] = SQL_ReadResult(Query, 11) player_data[id][KNIFE_MENU] = SQL_ReadResult(Query, 12) } return PLUGIN_HANDLED } public mentes(id) { new ids[32], szTemp[512], szTemp1[512] get_user_authid(id, ids, charsmax(ids)) format(szTemp,charsmax(szTemp),"UPDATE `server` SET `awp` = '%i',`scout` = '%i',`deagle` = '%i',`usp` = '%i',`glock` = '%i',`knife` = '%i' WHERE `server`.`steamid` = '%s';",player_data[id][AWP_KILLS],player_data[id][SCOUT_KILLS],player_data[id][DEAGLE_KILLS],player_data[id][USP_KILLS],player_data[id][GLOCK_KILLS],player_data[id][KNIFE_KILLS], ids) format(szTemp1,charsmax(szTemp1),"UPDATE `server` SET `awpM` = '%i',`scoutM` = '%i',`deagleM` = '%i',`uspM` = '%i',`glockM` = '%i',`knifeM` = '%i' WHERE `server`.`steamid` = '%s';",player_data[id][AWP_MENU],player_data[id][SCOUT_MENU],player_data[id][DEAGLE_MENU],player_data[id][USP_MENU],player_data[id][GLOCK_MENU],player_data[id][KNIFE_MENU], ids) 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) { betoltes(id) } public client_disconnect(id) { mentes(id) }
_________________ Fórumi aktivitásom véget ért: 2017.09.07. Innentől esetleg steamen vagyok elérhető.
|
|