hlmod.hu

Magyar Half-Life Mód közösség!
Pontos idő: 2024.06.16. 07:06



Jelenlévő felhasználók

Jelenleg 492 felhasználó van jelen :: 1 regisztrált, 0 rejtett és 491 vendég

A legtöbb felhasználó (1565 fő) 2020.11.21. 11:26-kor tartózkodott itt.

Regisztrált felhasználók: Bing [Bot] az elmúlt 5 percben aktív felhasználók alapján

Utoljára aktív
Ahhoz hogy lásd ki volt utoljára aktív, be kell jelentkezned.



Az oldal teljeskörű
használatához regisztrálj.

Regisztráció

Kereső


Új téma nyitása  Hozzászólás a témához  [ 2 hozzászólás ] 
Szerző Üzenet
 Hozzászólás témája: funkció kivétele
HozzászólásElküldve: 2015.12.05. 21:25 
Offline
Jómunkásember

Csatlakozott: 2014.01.04. 18:31
Hozzászólások: 326
Megköszönt másnak: 79 alkalommal
Megköszönték neki: 7 alkalommal
Valaki kivenni ebből a 2 pluginból,hogy ne hozza be magától a menüt egy idő után

SMA Forráskód: [ Mindet kijelol ]
  1. #include <amxmodx>
  2. #include <fakemeta>
  3.  
  4. #define PLUGIN "Registration System"
  5. #define VERSION "1.2"
  6. #define AUTHOR "mforce"
  7.  
  8. new const PREFIX[] = "RegSystem"
  9.  
  10. new filename[128];
  11.  
  12. new bool:registered[33];
  13. new bool:loggedin[33];
  14. new username[33][32], password[33][32], writepass[33][32];
  15.  
  16. public plugin_init() {
  17. register_plugin(PLUGIN, VERSION, AUTHOR)
  18.  
  19. register_clcmd("say /reg", "reg_menu")
  20. register_clcmd("TYPE_PASSWORD", "Type_password")
  21. register_clcmd("NEW_PASSWORD", "New_password")
  22. register_cvar("reg_system", AUTHOR, FCVAR_SERVER | FCVAR_SPONLY);
  23. register_dictionary("reg_system.txt");
  24. register_forward(FM_ClientUserInfoChanged, "ClientUserInfoChanged")
  25. set_task(60.0, "regcheck", .flags = "b");
  26.  
  27. #if !defined SQL
  28. get_localinfo("amxx_configsdir", filename, charsmax(filename))
  29. format(filename, charsmax(filename), "%s/registration_system.ini", filename)
  30. #endif
  31. }
  32.  
  33. public regcheck() {
  34. new players[32], num;
  35. get_players(players, num, "ch")
  36. for(new i = 0; i < num; i++) {
  37. new tempid = players[i]
  38. if(!loggedin[tempid]) {
  39. ChatColor(tempid, "^4[%s]^1 %L ^3/reg", PREFIX, LANG_SERVER, "HELP", LANG_SERVER, registered[tempid] ? "FOR_LOGIN":"FOR_REGISTER");
  40. }
  41. }
  42. }
  43.  
  44. public client_putinserver(id) {
  45. if(!is_user_bot(id) && !is_user_hltv(id)) {
  46. get_user_name(id, username[id], charsmax(username[]));
  47. load(id);
  48. }
  49. }
  50.  
  51. public client_disconnect(id) {
  52. loggedin[id] = false;
  53. registered[id] = false;
  54. username[id] = "";
  55. password[id] = "";
  56. writepass[id] = "";
  57. if(task_exists(id)) remove_task(id);
  58. }
  59.  
  60. public reg_menu(id) {
  61. new temp[128], loggedinmsg[32], registeredmsg[32], logoffmsg[32], notreggedname[32], exitname[32];
  62. formatex(notreggedname, charsmax(notreggedname), "%L", LANG_SERVER, "NOTREGGED");
  63. formatex(loggedinmsg, charsmax(loggedinmsg), "%L", LANG_SERVER, loggedin[id] ? "LOGGED_IN":"REGISTERED");
  64. formatex(temp, charsmax(temp), "\r[\y%s\r] %L", PREFIX, LANG_SERVER, "REG_MENU_TITLE", AUTHOR, registered[id] ? loggedinmsg:notreggedname);
  65. new menu = menu_create(temp, "reg_menu_h" )
  66.  
  67. formatex(temp, charsmax(temp), "%L", LANG_SERVER, "USERNAME", username[id])
  68. menu_additem(menu,temp, "0",0)
  69. formatex(temp, charsmax(temp), "%L", LANG_SERVER, "PASSWORD", writepass[id])
  70. menu_additem(menu,temp, "1",0)
  71. formatex(registeredmsg, charsmax(registeredmsg), "%L", LANG_SERVER, registered[id] ? "LOGIN":"REGISTER")
  72. formatex(logoffmsg, charsmax(logoffmsg), "%L", LANG_SERVER, "LOGOFF")
  73. formatex(temp, charsmax(temp), "%s^n", loggedin[id] ? logoffmsg:registeredmsg)
  74. menu_additem(menu,temp, "2",0)
  75. if(loggedin[id])
  76. {
  77. formatex(temp, charsmax(temp), "%L", LANG_SERVER, "CHGPASS")
  78. menu_additem(menu,temp, "3",0)
  79. }
  80. menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
  81. formatex(exitname, charsmax(exitname), "%L", LANG_SERVER, "EXIT")
  82. menu_setprop(menu, MPROP_EXITNAME, exitname);
  83. menu_display(id, menu, 0)
  84. return PLUGIN_HANDLED;
  85. }
  86.  
  87. public reg_menu_h(id, menu, item) {
  88. if(item == MENU_EXIT) {
  89. menu_destroy(menu);
  90. return PLUGIN_HANDLED;
  91. }
  92. new command[6], name[64], access, callback;
  93. menu_item_getinfo(menu, item, access, command, sizeof command - 1, name, sizeof name - 1, callback);
  94.  
  95. switch(item)
  96. {
  97. case 0: {
  98. reg_menu(id)
  99. }
  100. case 1: {
  101. if(!loggedin[id]) {
  102. client_cmd(id, "messagemode TYPE_PASSWORD")
  103. }
  104. else reg_menu(id)
  105. }
  106. case 2: {
  107. if(registered[id]) {
  108. if(!loggedin[id]) {
  109. if(strlen(password[id]) >= 6 && equal(writepass[id], password[id])) {
  110. ChatColor(id, "^4[%s]^1 %L ^3/reg", PREFIX, LANG_SERVER, "SUCCESS_LOGIN")
  111. loggedin[id] = true;
  112. }
  113. else {
  114. ChatColor(id, "^4[%s]^1 %L", PREFIX, LANG_SERVER, "WRONG_PASS")
  115. writepass[id] = "";
  116. reg_menu(id)
  117. }
  118. }
  119. else {
  120. loggedin[id] = false;
  121. ChatColor(id, "^4[%s]^1 %L ^3/reg", PREFIX, LANG_SERVER, "SUCCESS_LOGOFF")
  122. writepass[id] = "";
  123. }
  124. }
  125. else {
  126. if(strlen(writepass[id]) >= 6) {
  127. ChatColor(id, "^4[%s]^1 %L", PREFIX, LANG_SERVER, "SUCCESS_REGISTER")
  128. copy(password[id], charsmax(password[]), writepass[id]);
  129. registered[id] = true;
  130. save(id);
  131. reg_menu(id)
  132. }
  133. else reg_menu(id)
  134. }
  135. }
  136. case 3: {
  137. if(loggedin[id]) {
  138. client_cmd(id, "messagemode NEW_PASSWORD")
  139. }
  140. else reg_menu(id)
  141. }
  142. }
  143.  
  144. menu_destroy(menu);
  145. return PLUGIN_HANDLED;
  146. }
  147.  
  148. public Type_password(id) {
  149. new adat[32]
  150. read_args(adat, charsmax(adat))
  151. remove_quotes(adat)
  152. if(strlen(adat) < 6) {
  153. ChatColor(id, "^4[%s]^1 %L", PREFIX, LANG_SERVER, "PASS_CHANGE1")
  154. }
  155. else {
  156. copy(writepass[id], charsmax(writepass[]), adat)
  157. }
  158. reg_menu(id)
  159. }
  160.  
  161. public New_password(id) {
  162. if(!loggedin[id]) return;
  163.  
  164. new adat[32]
  165. read_args(adat, charsmax(adat))
  166. remove_quotes(adat)
  167. if(strlen(adat) < 6) {
  168. ChatColor(id, "^4[%s]^1 %L", PREFIX, LANG_SERVER, "PASS_CHANGE1")
  169. }
  170. else {
  171. copy(writepass[id], charsmax(writepass[]), adat)
  172. copy(password[id], charsmax(password[]), adat)
  173. ChatColor(id, "^4[%s]^1 %L", PREFIX, LANG_SERVER, "PASS_CHANGE2")
  174. #if defined SQL
  175. update(id);
  176. #else
  177. save(id);
  178. #endif
  179. }
  180. reg_menu(id)
  181. }
  182.  
  183. public ClientUserInfoChanged(id, buffer) {
  184. if (!is_user_connected(id))
  185. return FMRES_IGNORED
  186. static name[32], val[32]
  187. get_user_name(id, name, charsmax(name))
  188. engfunc(EngFunc_InfoKeyValue, buffer, "name", val, charsmax(val))
  189. if (equal(val, name))
  190. return FMRES_IGNORED
  191. engfunc(EngFunc_SetClientKeyValue, id, buffer, "name", name)
  192. client_cmd(id, "name ^"%s^"; setinfo name ^"%s^"", name, name)
  193. ChatColor(id, "^4[%s]^1 %L", PREFIX, LANG_SERVER, "NAMECHANGE_BLOCK")
  194. return FMRES_SUPERCEDE
  195. }
  196.  
  197. public plugin_natives() {
  198. register_native("is_user_loggedin", "native_loggedin", 1);
  199. register_native("is_user_registered", "native_registered", 1);
  200. }
  201. public native_loggedin(index) {
  202. return loggedin[index];
  203. }
  204. public native_registered(index) {
  205. return registered[index];
  206. }
  207.  
  208. stock ChatColor(const id, const szMessage[], any:...) {
  209. static pnum, players[32], szMsg[190], IdMsg;
  210. vformat(szMsg, charsmax(szMsg), szMessage, 3);
  211.  
  212. if(!IdMsg) IdMsg = get_user_msgid("SayText");
  213.  
  214. if(id) {
  215. if(!is_user_connected(id)) return;
  216. players[0] = id;
  217. pnum = 1;
  218. }
  219. else get_players(players, pnum, "ch");
  220.  
  221. for(new i; i < pnum; i++) {
  222. message_begin(MSG_ONE, IdMsg, .player = players[i]);
  223. write_byte(players[i]);
  224. write_string(szMsg);
  225. message_end();
  226. }
  227. }
  228.  
  229. #if defined SQL
  230. public plugin_cfg() {
  231. g_SqlTuple = SQL_MakeDbTuple(SQL_INFO[0],SQL_INFO[1],SQL_INFO[2],SQL_INFO[3])
  232. formatex(Query, charsmax(Query), "CREATE TABLE IF NOT EXISTS registration_system (`username` varchar(32) NOT NULL,`password` varchar(32) NOT NULL,`id` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY)")
  233. SQL_ThreadQuery(g_SqlTuple,"createTableThread", Query)
  234. }
  235.  
  236. public createTableThread(FailState, Handle:Query, Error[], Errcode, Data[], DataSize, Float:Queuetime) {
  237. if(FailState == TQUERY_CONNECT_FAILED)
  238. set_fail_state("Nem tudtam csatlakozni az adatbazishoz.");
  239. else if(FailState == TQUERY_QUERY_FAILED)
  240. set_fail_state("Query Error");
  241. if(Errcode)
  242. log_amx("Hibat dobtam: %s",Error);
  243. }
  244.  
  245. public load(id) {
  246. new Data[1]
  247. Data[0] = id
  248.  
  249. formatex(Query, charsmax(Query), "SELECT * FROM `registration_system` WHERE username = ^"%s^";", username[id])
  250. SQL_ThreadQuery(g_SqlTuple, "QuerySelectData", Query, Data, 1)
  251. }
  252.  
  253. public QuerySelectData(FailState, Handle:Query, Error[], Errcode, Data[], DataSize, Float:Queuetime) {
  254. if(FailState == TQUERY_CONNECT_FAILED || FailState == TQUERY_QUERY_FAILED) {
  255. log_amx("%s", Error)
  256. return
  257. }
  258. else {
  259. new id = Data[0];
  260.  
  261. if(SQL_NumRows(Query) > 0) {
  262. SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "password"), password[id], charsmax(password[]));
  263. registered[id] = true;
  264. set_task(10.0, "reg_menu", id);
  265. }
  266. }
  267. }
  268.  
  269. public save(id) {
  270. formatex(text, charsmax(text), "INSERT INTO `registration_system` (`username`, `password`) VALUES (^"%s^", ^"%s^");", username[id], password[id])
  271. SQL_ThreadQuery(g_SqlTuple, "QuerySetData", text)
  272. }
  273.  
  274. public update(id) {
  275. formatex(text, charsmax(text), "UPDATE `registration_system` SET password = ^"%s^" WHERE username = ^"%s^";", password[id], username[id])
  276. SQL_ThreadQuery(g_SqlTuple, "QuerySetData", text)
  277. }
  278.  
  279. public QuerySetData(FailState, Handle:Query, Error[], Errcode, Data[], DataSize, Float:Queuetime) {
  280. if(FailState == TQUERY_CONNECT_FAILED || FailState == TQUERY_QUERY_FAILED) {
  281. log_amx("%s", Error)
  282. return
  283. }
  284. }
  285.  
  286. public plugin_end() {
  287. SQL_FreeHandle(g_SqlTuple)
  288. }
  289.  
  290. #else
  291.  
  292. public load(id) {
  293. new szData[32];
  294.  
  295. if(get_data(username[id], szData, charsmax(szData))) {
  296. new szPassword[32];
  297. parse(szData, szPassword, charsmax(szPassword));
  298. copy(password[id], charsmax(password[]), szPassword)
  299. registered[id] = true;
  300. set_task(30.0, "reg_menu", id);
  301. }
  302. }
  303.  
  304. public save(id) {
  305. new szData[32];
  306. formatex(szData, charsmax(szData), "%s", password[id]);
  307. set_data(username[id], szData)
  308. }
  309.  
  310. stock get_data(const key[], data[], len) {
  311. new vault = fopen(filename, "rt");
  312. new _data[512], _key[64];
  313.  
  314. while( !feof(vault) ) {
  315. fgets(vault, _data, charsmax(_data));
  316. parse(_data, _key, charsmax(_key), data, len);
  317.  
  318. if( equal(_key, key) ) {
  319. fclose(vault);
  320. return 1;
  321. }
  322. }
  323.  
  324. fclose(vault);
  325. copy(data, len, "");
  326.  
  327. return 0;
  328. }
  329.  
  330. stock set_data(const key[], const data[]) {
  331. static const temp_vault_name[] = "set_data.txt";
  332. new file = fopen(temp_vault_name, "wt");
  333.  
  334. new vault = fopen(filename, "rt");
  335. new _data[512], _key[64], _other[32];
  336. new bool:replaced = false;
  337.  
  338. while( !feof(vault) ) {
  339. fgets(vault, _data, charsmax(_data));
  340. parse(_data, _key, charsmax(_key), _other, charsmax(_other));
  341.  
  342. if( equal(_key, key) && !replaced ) {
  343. fprintf(file, "^"%s^" ^"%s^"^n", key, data);
  344.  
  345. replaced = true;
  346. }
  347. else {
  348. fputs(file, _data);
  349. }
  350. }
  351.  
  352. if( !replaced ) {
  353. fprintf(file, "^"%s^" ^"%s^"^n", key, data);
  354. }
  355.  
  356. fclose(file);
  357. fclose(vault);
  358.  
  359. delete_file(filename);
  360.  
  361. while( !rename_file(temp_vault_name, filename, 1) ) { }
  362.  
  363. //delete_file(temp_vault_name);
  364. }
  365. #endif
  366.  


SMA Forráskód: [ Mindet kijelol ]
  1. #include <amxmodx>
  2.  
  3. #define PLUGIN "Admin Login System"
  4. #define VERSION "1.2.1"
  5. #define AUTHOR "mforce"
  6.  
  7. new const PREFIX[] = "AdminSystem"
  8.  
  9. // HA SQL-t szeretnél használni, vedd ki a # elől a //-t és írd be az adatokat lentebb. (alapból fájlba ment)
  10. //#define SQL
  11.  
  12. #if defined SQL
  13. #include <sqlx>
  14. new Handle:g_SqlTuple;
  15.  
  16. new const SQL_INFO[][] = {
  17. "127.0.0.1", // HOST
  18. "USERNAME", // USERNAME
  19. "PASSWORD", // PASSWORD
  20. "DATABASE" // DATABASE
  21. }
  22. #endif
  23.  
  24. enum _:admininfo
  25. {
  26. steamidchk[32],
  27. passwordchk[32],
  28. flagschk[32]
  29. }
  30.  
  31. new Array:adminlist
  32. new data[admininfo];
  33. new password[33][32], flags[33][32], writepass[33][32], bool:loggedin[33], bool:admins[33];
  34.  
  35. public plugin_init() {
  36. register_plugin(PLUGIN, VERSION, AUTHOR)
  37.  
  38. register_clcmd("say /login", "admin_menu")
  39. register_clcmd("say /admintoltes", "loadadmins")
  40. register_clcmd("JELSZO", "Jelszo")
  41. register_cvar("admin_login_system", AUTHOR, FCVAR_SERVER | FCVAR_SPONLY);
  42. set_task(60.0, "admincheck", .flags = "b");
  43.  
  44. adminlist = ArrayCreate(admininfo)
  45. }
  46.  
  47. public admincheck() {
  48. new players[32], num;
  49. get_players(players, num, "ch")
  50. for(new i = 0; i < num; i++) {
  51. new tempid = players[i]
  52. if(admins[tempid] && !loggedin[tempid]) {
  53. ChatColor(tempid, "^4[%s]^1 Az admin bejelentkezéshez írd be: ^3/login", PREFIX)
  54. }
  55. }
  56. }
  57.  
  58. public client_putinserver(id) {
  59. if(!is_user_bot(id) && !is_user_hltv(id)) {
  60. new steamid[32]; get_user_authid(id, steamid, charsmax(steamid));
  61. if(containi(steamid, "_ID_LAN") != -1) return;
  62.  
  63. for(new i = 0; i < ArraySize(adminlist); i++) {
  64. ArrayGetArray(adminlist, i, data)
  65.  
  66. if(equal(steamid, data[steamidchk])) {
  67. copy(password[id], charsmax(password[]), data[passwordchk])
  68. copy(flags[id], charsmax(flags[]), data[flagschk])
  69. admins[id] = true;
  70. set_task(10.0, "admin_menu", id);
  71. }
  72. }
  73. }
  74. }
  75.  
  76. public loadadmins(id) {
  77. if(get_user_flags(id) & ADMIN_RCON) {
  78. ArrayClear(adminlist)
  79. ChatColor(id, "^4[%s]^1 Adminok újra betöltve.", PREFIX)
  80. load()
  81. }
  82. else ChatColor(id, "^4[%s]^1 Nincs jogod a parancs használatához.", PREFIX)
  83. }
  84.  
  85. public client_disconnect(id) {
  86. loggedin[id] = false;
  87. admins[id] = false;
  88. copy(password[id], charsmax(password), "")
  89. copy(writepass[id], charsmax(writepass), "")
  90. copy(flags[id], charsmax(flags), "")
  91. if(task_exists(id)) remove_task(id);
  92. }
  93.  
  94. public admin_menu(id) {
  95. if(!admins[id]) {
  96. ChatColor(id, "^4[%s]^1 Nincs jogod az admin belépéshez, mert nem szerepelsz adatbázisban.", PREFIX)
  97. return PLUGIN_HANDLED;
  98. }
  99.  
  100. new temp[128];
  101. formatex(temp, charsmax(temp), "\r[\y%s\r] \wAdmin Login System ^nby \y%s", PREFIX, AUTHOR)
  102. new menu = menu_create(temp, "admin_menu_h" )
  103. if(!loggedin[id]) {
  104. new steamid[32]; get_user_authid(id, steamid, charsmax(steamid));
  105. formatex(temp, charsmax(temp), "\rSteamID: \d%s", steamid)
  106. menu_additem(menu,temp, "0",0)
  107. formatex(temp, charsmax(temp), "\rJelszó: \d%s^n", writepass[id])
  108. menu_additem(menu,temp, "1",0)
  109. }
  110. else {
  111. menu_additem(menu,"\r[\wStátusz\r]: \yBejelentkezve","0",0)
  112. formatex(temp, charsmax(temp), "\rJogok:\d %s^n", flags[id])
  113. menu_additem(menu,temp, "1",0)
  114. }
  115. formatex(temp, charsmax(temp), "%s", loggedin[id] ? "Kijelentkezés":"Bejelentkezés")
  116. menu_additem(menu, temp, "2",0)
  117.  
  118. menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
  119. menu_setprop(menu, MPROP_EXITNAME, "Kilépés");
  120. menu_display(id, menu, 0)
  121. return PLUGIN_HANDLED;
  122. }
  123.  
  124. public admin_menu_h(id, menu, item) {
  125. if(item == MENU_EXIT) {
  126. menu_destroy(menu);
  127. return PLUGIN_HANDLED;
  128. }
  129. new command[6], name[64], access, callback;
  130. menu_item_getinfo(menu, item, access, command, sizeof command - 1, name, sizeof name - 1, callback);
  131.  
  132. switch(item)
  133. {
  134. case 0: {
  135. admin_menu(id)
  136. }
  137. case 1: {
  138. if(!loggedin[id]) {
  139. client_cmd(id, "messagemode JELSZO")
  140. }
  141. else admin_menu(id)
  142. }
  143. case 2: {
  144. if(!loggedin[id]) {
  145. if(strlen(password[id]) >= 6 && equal(writepass[id], password[id]) && !equal(flags[id],"")) {
  146. ChatColor(id, "^4[%s]^1 Sikeresen beléptél! Admin információk: ^3/login", PREFIX)
  147. remove_user_flags(id, read_flags("z"));
  148. set_user_flags(id, read_flags(flags[id]));
  149. loggedin[id] = true;
  150. }
  151. else if(strlen(writepass[id]) == 0) {
  152. ChatColor(id, "^4[%s]^1 Be kell írnod a jelszót!", PREFIX)
  153. admin_menu(id)
  154. }
  155. else {
  156. ChatColor(id, "^4[%s]^1 Hibás jelszó, próbáld újra!", PREFIX)
  157. admin_menu(id)
  158. }
  159. copy(writepass[id], charsmax(writepass[]), "");
  160. }
  161. else {
  162. loggedin[id] = false;
  163. remove_user_flags(id, read_flags(flags[id]));
  164. set_user_flags(id, read_flags("z"));
  165. ChatColor(id, "^4[%s]^1 Sikeresen kiléptél! A belépéshez: ^3/login", PREFIX)
  166. }
  167. }
  168. }
  169.  
  170. menu_destroy(menu);
  171. return PLUGIN_HANDLED;
  172. }
  173.  
  174. public Jelszo(id) {
  175. new adat[32]
  176. read_args(adat, charsmax(adat))
  177. remove_quotes(adat)
  178. if(strlen(adat) < 6) {
  179. ChatColor(id, "^4[%s]^1 A jelszavadnak legalább 6 karakternek kell lennie!", PREFIX)
  180. copy(writepass[id], charsmax(writepass[]), "");
  181. }
  182. else {
  183. copy(writepass[id], charsmax(writepass[]), adat)
  184. }
  185. admin_menu(id)
  186. }
  187.  
  188. public plugin_natives() {
  189. register_native("in_admin_system", "native_admins", 1);
  190. }
  191. public native_admins(index) {
  192. return admins[index];
  193. }
  194.  
  195. stock ChatColor(const id, const szMessage[], any:...) {
  196. static pnum, players[32], szMsg[190], IdMsg;
  197. vformat(szMsg, charsmax(szMsg), szMessage, 3);
  198.  
  199. if(!IdMsg) IdMsg = get_user_msgid("SayText");
  200.  
  201. if(id) {
  202. if(!is_user_connected(id)) return;
  203. players[0] = id;
  204. pnum = 1;
  205. }
  206. else get_players(players, pnum, "ch");
  207.  
  208. for(new i; i < pnum; i++) {
  209. message_begin(MSG_ONE, IdMsg, .player = players[i]);
  210. write_byte(players[i]);
  211. write_string(szMsg);
  212. message_end();
  213. }
  214. }
  215.  
  216. #if defined SQL
  217. public plugin_cfg() {
  218. new Query[512];
  219. g_SqlTuple = SQL_MakeDbTuple(SQL_INFO[0],SQL_INFO[1],SQL_INFO[2],SQL_INFO[3])
  220. formatex(Query, charsmax(Query), "CREATE TABLE IF NOT EXISTS admin_system (`steamid` varchar(32) NOT NULL,`password` varchar(32) NOT NULL,`flags` varchar(32) NOT NULL,`id` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY)")
  221. SQL_ThreadQuery(g_SqlTuple,"createTableThread", Query)
  222. load()
  223. }
  224.  
  225. public createTableThread(FailState, Handle:Query, Error[], Errcode, Data[], DataSize, Float:Queuetime) {
  226. if(FailState == TQUERY_CONNECT_FAILED)
  227. set_fail_state("Nem tudtam csatlakozni az adatbazishoz.");
  228. else if(FailState == TQUERY_QUERY_FAILED)
  229. set_fail_state("Query Error");
  230. if(Errcode)
  231. log_amx("Hibat dobtam: %s",Error);
  232. }
  233.  
  234. public load() {
  235. new Query[512];
  236. formatex(Query, charsmax(Query), "SELECT * FROM `admin_system`;")
  237. SQL_ThreadQuery(g_SqlTuple, "QuerySelectData", Query)
  238. }
  239.  
  240. public QuerySelectData(FailState, Handle:Query, Error[], Errcode, Data[], DataSize, Float:Queuetime) {
  241. if(FailState == TQUERY_CONNECT_FAILED || FailState == TQUERY_QUERY_FAILED) {
  242. log_amx("%s", Error)
  243. return
  244. }
  245. else {
  246. while(SQL_MoreResults(Query)) {
  247. SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "steamid"), data[steamidchk], charsmax(data[steamidchk]));
  248. SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "password"), data[passwordchk], charsmax(data[passwordchk]));
  249. SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "flags"), data[flagschk], charsmax(data[flagschk]));
  250. ArrayPushArray(adminlist, data)
  251. SQL_NextRow(Query)
  252. }
  253. }
  254. }
  255.  
  256. public plugin_end() {
  257. SQL_FreeHandle(g_SqlTuple)
  258. ArrayDestroy(adminlist)
  259. }
  260.  
  261. #else
  262.  
  263. public plugin_cfg() {
  264. load()
  265. }
  266.  
  267. public load() {
  268. new sBuffer[256], sFile[64], pFile;
  269. new sData[3][32]
  270.  
  271. get_localinfo("amxx_configsdir", sFile, charsmax(sFile));
  272. format(sFile, charsmax(sFile), "%s/admin_system.ini", sFile);
  273.  
  274. pFile = fopen(sFile, "rt");
  275.  
  276. if(pFile)
  277. {
  278. while(!feof(pFile))
  279. {
  280. fgets(pFile, sBuffer, charsmax(sBuffer));
  281. trim(sBuffer);
  282. if(sBuffer[0] == ';') continue;
  283.  
  284. parse(sBuffer, sData[0], 31, sData[1], 31, sData[2], 31);
  285.  
  286. copy(data[steamidchk], charsmax(data[steamidchk]), sData[0])
  287. copy(data[passwordchk], charsmax(data[passwordchk]), sData[1])
  288. copy(data[flagschk], charsmax(data[flagschk]), sData[2])
  289. ArrayPushArray(adminlist, data)
  290. }
  291.  
  292. fclose(pFile);
  293. }
  294. else
  295. write_file(sFile, ";^"STEAM_0:0:12345678^" ^"jelszo582^" ^"abcdefghijklmnopqrstu^"");
  296. }
  297.  
  298. public plugin_end() {
  299. ArrayDestroy(adminlist)
  300. }
  301. #endif


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: funkció kivétele
HozzászólásElküldve: 2015.12.05. 21:29 
Offline
Tiszteletbeli
Avatar

Csatlakozott: 2014.09.08. 22:21
Hozzászólások: 3014
Megköszönt másnak: 96 alkalommal
Megköszönték neki: 555 alkalommal
Mind2ből csak simán kiveszed a set_task részeket meg az if(task_exists(id)) remove_task(id); részeket.
Mellesleg témát áthelyeztem...

_________________
GitHub - mforce


Hozzászólás jelentése
Vissza a tetejére
   
Hozzászólások megjelenítése:  Rendezés  
Új téma nyitása  Hozzászólás a témához  [ 2 hozzászólás ] 


Ki van itt

Jelenlévő fórumozók: nincs regisztrált felhasználó valamint 179 vendég


Nyithatsz új témákat ebben a fórumban.
Válaszolhatsz egy témára ebben a fórumban.
Nem szerkesztheted a hozzászólásaidat ebben a fórumban.
Nem törölheted a hozzászólásaidat ebben a fórumban.
Nem küldhetsz csatolmányokat ebben a fórumban.

Keresés:
Ugrás:  
Powered by phpBB® Forum Software © phpBB Limited
Magyar fordítás © Magyar phpBB Közösség
Portal: Kiss Portal Extension © Michael O'Toole