Offline |
|
|
Csatlakozott: 2016.03.06. 14:20 Hozzászólások: 970
Megköszönt másnak: 109 alkalommal Megköszönték neki: 135 alkalommal
|
Toretto írta: Hello! Hogy bírnám ugy megoldani hogy ne csak map váltáskor mentsen hanem azonnal? Köszi a segítséget! public client_disconnect(id) { if(!is_user_bot(id)) Update(id); } public client_putinserver(id) { Dollar[id] = 0; Szint[id] = 0; Oles[id] = 0; Skin[id] = 1; Registered[id] = 0; UserPassword[id] = ""; RegPassword[id] = ""; Loggedin[id] = false; Write[id] = false; Write2[id] = false; for(new i;i < MAX; i++) OsszesSkin[i][id] = 0; for(new i;i < 6; i++) Lada[id][i] = 0; Kulcs[id] = 0; if(!is_user_bot(id)) Load(id); } public plugin_cfg() { g_SqlTuple = SQL_MakeDbTuple(SQLINFO[0], SQLINFO[1], SQLINFO[2], SQLINFO[3]); static Query[10048]; new Len; Len += formatex(Query[Len], charsmax(Query), "CREATE TABLE IF NOT EXISTS `badboysdust2`"); Len += formatex(Query[Len], charsmax(Query)-Len, "(`Nev` varchar(32) NOT NULL, "); Len += formatex(Query[Len], charsmax(Query)-Len, "`Dollars` int(11) NOT NULL,"); Len += formatex(Query[Len], charsmax(Query)-Len, "`Szint` int(11) NOT NULL,"); Len += formatex(Query[Len], charsmax(Query)-Len, "`Oles` int(11) NOT NULL,"); Len += formatex(Query[Len], charsmax(Query)-Len, "`Jelszo` varchar(32) NOT NULL,"); Len += formatex(Query[Len], charsmax(Query)-Len, "`Regisztralva` int(11) NOT NULL,"); for(new i;i < MAX; i++) Len += formatex(Query[Len], charsmax(Query)-Len, "`Gun%d` int(11) NOT NULL,", i); for(new i;i < 6; i++) Len += formatex(Query[Len], charsmax(Query)-Len, "`Chest%d` int(11) NOT NULL,", i); Len += formatex(Query[Len], charsmax(Query)-Len, "`Kulcs` int(11) NOT NULL, `id` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY)"); SQL_ThreadQuery(g_SqlTuple, "createTableThread", Query); } public Load(id) { static Query[10048]; new Data[1], Name[32]; get_user_name(id, Name, 31); Data[0] = id; formatex(Query, charsmax(Query), "SELECT * FROM `badboysdust2` WHERE Nev = ^"%s^";", Name); SQL_ThreadQuery(g_SqlTuple, "QuerySelectData", Query, Data, 1); } public QuerySelectData(FailState, Handle:Query, Error[], Errcode, Data[], DataSize, Float:Queuetime) { if(FailState == TQUERY_CONNECT_FAILED || FailState == TQUERY_QUERY_FAILED) { log_amx("%s", Error); return; } else { new id = Data[0]; if(SQL_NumRows(Query) > 0) { Dollar[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "Dollars")); Szint[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "Szint")); Oles[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "Oles")); SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "Jelszo"), RegPassword[id], charsmax(RegPassword[])); Registered[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "Regisztralva")); for(new i=0;i < MAX; i++) { new String[64]; formatex(String, charsmax(String), "Gun%d", i); OsszesSkin[i][id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, String)); } for(new i;i < 6; i++) { new String[64]; formatex(String, charsmax(String), "Chest%d", i); Lada[id][i] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, String)); } Kulcs[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "Kulcs")); } else { Save(id); } } } public Save(id) { static Query[10048]; new Len; new Name[32]; get_user_name(id, Name, 31); Len += formatex(Query[Len], charsmax(Query), "INSERT INTO `badboysdust2` (`Nev`, "); Len += formatex(Query[Len], charsmax(Query)-Len, "`Dollars` ,"); Len += formatex(Query[Len], charsmax(Query)-Len, "`Szint` ,"); Len += formatex(Query[Len], charsmax(Query)-Len, "`Oles` ,"); Len += formatex(Query[Len], charsmax(Query)-Len, "`Jelszo`, "); Len += formatex(Query[Len], charsmax(Query)-Len, "`Regisztralva`, "); for(new i;i < MAX; i++) Len += formatex(Query[Len], charsmax(Query)-Len, "`Gun%d` ,", i); for(new i;i < 6; i++) Len += formatex(Query[Len], charsmax(Query)-Len, "`Chest%d` ,", i); Len += formatex(Query[Len], charsmax(Query)-Len, "`Kulcs`) VALUES (^"%s^" ,", Name); Len += formatex(Query[Len], charsmax(Query)-Len, "^"0^", "); Len += formatex(Query[Len], charsmax(Query)-Len, "^"0^", "); Len += formatex(Query[Len], charsmax(Query)-Len, "^"0^", "); Len += formatex(Query[Len], charsmax(Query)-Len, "^"0^", "); Len += formatex(Query[Len], charsmax(Query)-Len, "^"0^", "); for(new i=0;i < MAX; i++) Len += formatex(Query[Len], charsmax(Query)-Len, "^"0^", "); for(new i;i < 6; i++) Len += formatex(Query[Len], charsmax(Query)-Len, "^"0^", "); Len += formatex(Query[Len], charsmax(Query)-Len, "^"0^");"); SQL_ThreadQuery(g_SqlTuple, "QuerySetData", Query); } public Update(id) { static Query[10048]; new Len; new Name[32]; get_user_name(id, Name, 31); Len += formatex(Query[Len], charsmax(Query), "UPDATE `badboysdust2` SET Dollars = ^"%i^", ",Dollar[id]); Len += formatex(Query[Len], charsmax(Query)-Len, "Szint = ^"%i^", ", Szint[id]); Len += formatex(Query[Len], charsmax(Query)-Len, "Oles = ^"%i^", ", Oles[id]); Len += formatex(Query[Len], charsmax(Query)-Len, "Jelszo = ^"%s^", ", RegPassword[id]); Len += formatex(Query[Len], charsmax(Query)-Len, "Regisztralva = ^"%i^", ", Registered[id]); for(new i=0;i < MAX; i++) Len += formatex(Query[Len], charsmax(Query)-Len, "Gun%d = ^"%i^", ", i, OsszesSkin[i][id]); for(new i;i < 6; i++) Len += formatex(Query[Len], charsmax(Query)-Len, "Chest%d = ^"%i^", ", i, Lada[id][i]); Len += formatex(Query[Len], charsmax(Query)-Len, "Kulcs = ^"%i^" WHERE Nev = ^"%s^";", Kulcs[id], Name); SQL_ThreadQuery(g_SqlTuple, "QuerySetData", Query); } public createTableThread(FailState, Handle:Query, Error[], Errcode, Data[], DataSize, Float:Queuetime) { if(FailState == TQUERY_CONNECT_FAILED) set_fail_state("[HIBA*] NEM TUDTAM CSATLAKOZNI AZ ADATBAZISHOZ!"); else if(FailState == TQUERY_QUERY_FAILED) set_fail_state("Query Error"); if(Errcode) log_amx("[HIBA*] HIBAT DOBTAM: %s",Error); } public QuerySetData(FailState, Handle:Query, Error[], Errcode, Data[], DataSize, Float:Queuetime) { if(FailState == TQUERY_CONNECT_FAILED || FailState == TQUERY_QUERY_FAILED) { log_amx("%s", Error); return; } } public plugin_end() { SQL_FreeHandle(g_SqlTuple); }
Plugin init-be, nem biztos hogy így lementi de elvileg 1percenként lefut a "Save" parancsod. set_task(60.0,"Save",.flags="b")
_________________ ! | Moderátori megjegyzés (kiki): | Kérlek csekkold az aláírásra vonatkozó szabályokat! |
|
|