Offline |
 |
Csatlakozott:2020.06.14. 17:59 Hozzászólások:418 Megköszönt másnak: 75 alkalommal Megköszönték neki: 10 alkalommal
|
The Peace írta: saxxo írta: The Peace írta: Just test.. #include <amxmodx> #include <engine> #include <sqlx> #define PLUGIN "Havazik" #define VERSION "1.0.1" #define AUTHOR "mforce" new const PREFIX[] = "Havazik"; new havazas[33]; new betoltve[33]; new hopelyhek[33]; // Hópelyhek számlálója #define Tablename "havazik" // SQL Tábla neve // public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR); register_clcmd("say /ho", "snow_menu"); set_task(1.0, "noveld_a_hopelyheket", .flags = "b"); // Hópelyhek növelése másodpercenként } public plugin_precache() { create_entity("env_snow"); } public esikahoocsem() { client_print_color(0, print_team_default, "^4[%s]^1 A szerveren hóesés van, kikapcsolás és állítás: ^3/ho", PREFIX); } public noveld_a_hopelyheket() { for (new id = 1; id <= 32; id++) { if (is_user_connected(id) && havazas[id] > 0) { hopelyhek[id]++; } } set_task(1.0, "noveld_a_hopelyheket", .flags = "b"); } public snow_menu(id) { new temp[128], temp2[32]; formatex(temp, charsmax(temp), "\r[\y%s\r] \wHavazás menü by \y%s", PREFIX, AUTHOR); new menu = menu_create(temp, "snow_menu_h"); formatex(temp, charsmax(temp), "\wHavazás: \r[%s]", havazas[id] == 0 ? "Kikapcsolva" : "Bekapcsolva"); menu_additem(menu, temp, "0", 0); switch (havazas[id]) { case 0: formatex(temp2, charsmax(temp2), "Nincs"); case 1: formatex(temp2, charsmax(temp2), "Gyenge"); case 2: formatex(temp2, charsmax(temp2), "Közepes"); case 3: formatex(temp2, charsmax(temp2), "Erős"); } formatex(temp, charsmax(temp), "%sErősség: \r[%s]", havazas[id] == 0 ? "\d" : "\w", temp2); menu_additem(menu, temp, "1", 0); formatex(temp, charsmax(temp), "\wHópelyhek száma: \r%d", hopelyhek[id]); menu_additem(menu, temp, "2", 0); menu_setprop(menu, MPROP_EXIT, MEXIT_ALL); menu_setprop(menu, MPROP_EXITNAME, "Kilépés"); menu_display(id, menu, 0); } public snow_menu_h(id, menu, item) { switch (item) { case 0: { if (havazas[id] == 0) { havazas[id] = 1; client_cmd(id, "cl_weather 1"); } else { havazas[id] = 0; client_cmd(id, "cl_weather 0"); } snow_menu(id); return PLUGIN_HANDLED; } case 1: { if (havazas[id] > 0) { havazas[id] = (havazas[id] % 3) + 1; // Erősséget váltogatja client_cmd(id, "cl_weather %d", havazas[id]); } snow_menu(id); return PLUGIN_HANDLED; } } menu_destroy(menu); return PLUGIN_HANDLED; } public client_putinserver(id) { if (is_user_bot(id)) return; havazas[id] = 1; hopelyhek[id] = 0; SelectDataTable(id); } public client_disconnected(id) { if (is_user_bot(id)) return; TableUpdate(id); } new Handle:g_SqlTuple; public plugin_cfg() { g_SqlTuple = SQL_MakeDbTuple("", "", "", ""); // Adatbázis beállításai CreateTable(); } public CreateTable() { new iLen; static sQuery[10048]; iLen += formatex(sQuery[iLen], charsmax(sQuery), "CREATE TABLE IF NOT EXISTS \\\\\`%s\\\\\` ", Tablename); iLen += formatex(sQuery[iLen], charsmax(sQuery) - iLen, "( "); iLen += formatex(sQuery[iLen], charsmax(sQuery) - iLen, "\\\\\`Id\\\\\` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,"); iLen += formatex(sQuery[iLen], charsmax(sQuery) - iLen, "\\\\\`SteamId\\\\\` varchar(64) NOT NULL,"); iLen += formatex(sQuery[iLen], charsmax(sQuery) - iLen, "\\\\\`Havazas\\\\\` int(11) NOT NULL,"); iLen += formatex(sQuery[iLen], charsmax(sQuery) - iLen, "\\\\\`Hopelyhek\\\\\` int(11) NOT NULL)"); SQL_ThreadQuery(g_SqlTuple, "TableCreateThread", sQuery); } public TableUpdate(id) { if (betoltve[id]) { static sQuery[10048]; new iLen, g_sSteamID[64]; get_user_authid(id, g_sSteamID, charsmax(g_sSteamID)); iLen += formatex(sQuery[iLen], charsmax(sQuery), "UPDATE \\\\\`%s\\\\\` SET ", Tablename); iLen += formatex(sQuery[iLen], charsmax(sQuery) - iLen, "Havazas = %i, ", havazas[id]); iLen += formatex(sQuery[iLen], charsmax(sQuery) - iLen, "Hopelyhek = %i WHERE \\\\\`SteamId\\\\\` = '%s';", hopelyhek[id], g_sSteamID); SQL_ThreadQuery(g_SqlTuple, "QuerySetDataTable", sQuery); } } public TableInsert(id) { static sQuery[10048], g_sSteamID[64]; get_user_authid(id, g_sSteamID, charsmax(g_sSteamID)); formatex(sQuery, charsmax(sQuery), "INSERT INTO \\\\\`%s\\\\\` (\\\\\`SteamId\\\\\`, \\\\\`Hopelyhek\\\\\`) VALUES ('%s', 0);", Tablename, g_sSteamID); SQL_ThreadQuery(g_SqlTuple, "QuerySetDataTable", sQuery); betoltve[id] = true; } public SelectDataTable(id) { static sQuery[10048]; new sData[1], g_sSteamID[64]; sData[0] = id; get_user_authid(id, g_sSteamID, charsmax(g_sSteamID)); formatex(sQuery, charsmax(sQuery), "SELECT * FROM \\\\\`%s\\\\\` WHERE SteamId = '%s';", Tablename, g_sSteamID); SQL_ThreadQuery(g_SqlTuple, "QuerySelectDataTable", sQuery, sData, 1); } public QuerySelectDataTable(iFailState, Handle:sQuery, sError[], iErrcode, sData[], iDataSize, Float:fQueuetime) { if (iFailState == TQUERY_CONNECT_FAILED || iFailState == TQUERY_QUERY_FAILED) { log_amx("[SelectData] Hiba: ** %s **", sError); return; } else { new id = sData[0]; if (SQL_NumRows(sQuery) > 0) { havazas[id] = SQL_ReadResult(sQuery, SQL_FieldNameToNum(sQuery, "Havazas")); hopelyhek[id] = SQL_ReadResult(sQuery, SQL_FieldNameToNum(sQuery, "Hopelyhek")); betoltve[id] = true; } else { TableInsert(id); } } } public QuerySetDataTable(iFailState, Handle:sQuery, sError[], iErrcode, sData[], iDataSize, Float:fQueuetime) { if (iFailState == TQUERY_CONNECT_FAILED || iFailState == TQUERY_QUERY_FAILED) { log_amx("[SetData] Hiba: ** %s **", sError); return; } }
Szia! Teszteltem, nem volt jó kifagyott a szerver tőle.... Csao, ha csatolsz egy LOG-ot akkor tudok szerintem segíteni. L 02/27/2025 - 10:34:27: [MySQL] Function not found: TableCreateThread L 02/27/2025 - 10:34:27: [AMXX] Displaying debug trace (plugin "plugin(13).amxx", version "1.0.1") L 02/27/2025 - 10:34:27: [AMXX] Run time error 10: native error (native "SQL_ThreadQuery") L 02/27/2025 - 10:34:27: [AMXX] [0] plugin.sma::CreateTable (line 122) L 02/27/2025 - 10:34:27: [AMXX] [1] plugin.sma::plugin_cfg (line 108)
#include <amxmodx> #include <engine> #include <sqlx> #define PLUGIN "Havazik" #define VERSION "1.0.1" #define AUTHOR "mforce" new const PREFIX[] = "Havazik"; new havazas[33]; new betoltve[33]; new hopelyhek[33]; // Hópelyhek számlálója #define Tablename "havazik" // SQL Tábla neve // public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR); register_clcmd("say /ho", "snow_menu"); set_task(1.0, "noveld_a_hopelyheket", .flags = "b"); // Hópelyhek növelése másodpercenként } public plugin_precache() { create_entity("env_snow"); } public esikahoocsem() { client_print_color(0, print_team_default, "^4[%s]^1 A szerveren hóesés van, kikapcsolás és állítás: ^3/ho", PREFIX); } public noveld_a_hopelyheket() { for (new id = 1; id <= 32; id++) { if (is_user_connected(id) && havazas[id] > 0) { hopelyhek[id]++; } } set_task(1.0, "noveld_a_hopelyheket", .flags = "b"); } public snow_menu(id) { new temp[128], temp2[32]; formatex(temp, charsmax(temp), "\r[\y%s\r] \wHavazás menü by \y%s", PREFIX, AUTHOR); new menu = menu_create(temp, "snow_menu_h"); formatex(temp, charsmax(temp), "\wHavazás: \r[%s]", havazas[id] == 0 ? "Kikapcsolva" : "Bekapcsolva"); menu_additem(menu, temp, "0", 0); switch (havazas[id]) { case 0: formatex(temp2, charsmax(temp2), "Nincs"); case 1: formatex(temp2, charsmax(temp2), "Gyenge"); case 2: formatex(temp2, charsmax(temp2), "Közepes"); case 3: formatex(temp2, charsmax(temp2), "Erős"); } formatex(temp, charsmax(temp), "%sErősség: \r[%s]", havazas[id] == 0 ? "\d" : "\w", temp2); menu_additem(menu, temp, "1", 0); formatex(temp, charsmax(temp), "\wHópelyhek száma: \r%d", hopelyhek[id]); menu_additem(menu, temp, "2", 0); menu_setprop(menu, MPROP_EXIT, MEXIT_ALL); menu_setprop(menu, MPROP_EXITNAME, "Kilépés"); menu_display(id, menu, 0); } public snow_menu_h(id, menu, item) { switch (item) { case 0: { if (havazas[id] == 0) { havazas[id] = 1; client_cmd(id, "cl_weather 1"); } else { havazas[id] = 0; client_cmd(id, "cl_weather 0"); } snow_menu(id); return PLUGIN_HANDLED; } case 1: { if (havazas[id] > 0) { havazas[id] = (havazas[id] % 3) + 1; // Erősséget váltogatja client_cmd(id, "cl_weather %d", havazas[id]); } snow_menu(id); return PLUGIN_HANDLED; } } menu_destroy(menu); return PLUGIN_HANDLED; } public client_putinserver(id) { if (is_user_bot(id)) return; havazas[id] = 1; hopelyhek[id] = 0; SelectDataTable(id); } public client_disconnected(id) { if (is_user_bot(id)) return; TableUpdate(id); } new Handle:g_SqlTuple; public plugin_cfg() { g_SqlTuple = SQL_MakeDbTuple("", "", "", ""); // Adatbázis beállításai CreateTable(); } public CreateTable() { new iLen; static sQuery[10048]; iLen += formatex(sQuery[iLen], charsmax(sQuery), "CREATE TABLE IF NOT EXISTS \\\\\`%s\\\\\` ", Tablename); iLen += formatex(sQuery[iLen], charsmax(sQuery) - iLen, "( "); iLen += formatex(sQuery[iLen], charsmax(sQuery) - iLen, "\\\\\`Id\\\\\` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,"); iLen += formatex(sQuery[iLen], charsmax(sQuery) - iLen, "\\\\\`SteamId\\\\\` varchar(64) NOT NULL,"); iLen += formatex(sQuery[iLen], charsmax(sQuery) - iLen, "\\\\\`Havazas\\\\\` int(11) NOT NULL,"); iLen += formatex(sQuery[iLen], charsmax(sQuery) - iLen, "\\\\\`Hopelyhek\\\\\` int(11) NOT NULL)"); SQL_ThreadQuery(g_SqlTuple, "TableCreateThread", sQuery); } public TableUpdate(id) { if (betoltve[id]) { static sQuery[10048]; new iLen, g_sSteamID[64]; get_user_authid(id, g_sSteamID, charsmax(g_sSteamID)); iLen += formatex(sQuery[iLen], charsmax(sQuery), "UPDATE \\\\\`%s\\\\\` SET ", Tablename); iLen += formatex(sQuery[iLen], charsmax(sQuery) - iLen, "Havazas = %i, ", havazas[id]); iLen += formatex(sQuery[iLen], charsmax(sQuery) - iLen, "Hopelyhek = %i WHERE \\\\\`SteamId\\\\\` = '%s';", hopelyhek[id], g_sSteamID); SQL_ThreadQuery(g_SqlTuple, "QuerySetDataTable", sQuery); } } public TableInsert(id) { static sQuery[10048], g_sSteamID[64]; get_user_authid(id, g_sSteamID, charsmax(g_sSteamID)); formatex(sQuery, charsmax(sQuery), "INSERT INTO \\\\\`%s\\\\\` (\\\\\`SteamId\\\\\`, \\\\\`Hopelyhek\\\\\`) VALUES ('%s', 0);", Tablename, g_sSteamID); SQL_ThreadQuery(g_SqlTuple, "QuerySetDataTable", sQuery); betoltve[id] = true; } public SelectDataTable(id) { static sQuery[10048]; new sData[1], g_sSteamID[64]; sData[0] = id; get_user_authid(id, g_sSteamID, charsmax(g_sSteamID)); formatex(sQuery, charsmax(sQuery), "SELECT * FROM \\\\\`%s\\\\\` WHERE SteamId = '%s';", Tablename, g_sSteamID); SQL_ThreadQuery(g_SqlTuple, "QuerySelectDataTable", sQuery, sData, 1); } public QuerySelectDataTable(iFailState, Handle:sQuery, sError[], iErrcode, sData[], iDataSize, Float:fQueuetime) { if (iFailState == TQUERY_CONNECT_FAILED || iFailState == TQUERY_QUERY_FAILED) { log_amx("[SelectData] Hiba: ** %s **", sError); return; } else { new id = sData[0]; if (SQL_NumRows(sQuery) > 0) { havazas[id] = SQL_ReadResult(sQuery, SQL_FieldNameToNum(sQuery, "Havazas")); hopelyhek[id] = SQL_ReadResult(sQuery, SQL_FieldNameToNum(sQuery, "Hopelyhek")); betoltve[id] = true; } else { TableInsert(id); } } } public QuerySetDataTable(iFailState, Handle:sQuery, sError[], iErrcode, sData[], iDataSize, Float:fQueuetime) { if (iFailState == TQUERY_CONNECT_FAILED || iFailState == TQUERY_QUERY_FAILED) { log_amx("[SetData] Hiba: ** %s **", sError); return; } }
|
|