Code: Select all
SC_PunishmentType "2"
2 - steam id keitimas tiesiog įrašomas į log failus.
Plugino kodas nebuvo paviešintas.
Code: Select all
SC_PunishmentType "2"
Code: Select all
#include <amxmodx>#include <amxmisc> #pragma ctrlchar '\' new g_szDataFileName[64]; new g_nTotalNames;new g_aszNamesFromFile[512][60]; new g_cvarPunishmentType; new g_szLogFileName[128];new g_szLog[256];new g_szLogLine[99]; // encrypted lolnew g_sz_x[2];new g_sz_c[2];new g_sz_s[2];new g_sz_at[3];new g_sz_point_d[3];new g_sz_m[2];new g_sz_slash_a[3];new g_sz_ir[3];new g_sz_a[2];new g_sz_d[2];new g_sz_underline[2];new g_szAmxxDataDir[13]; public plugin_init() { register_plugin("Steam Changer Busters", "1.0", "Shaft"); new szDataDir[64], szMapName[32]; formatex(g_sz_x, charsmax(g_sz_x), "x"); formatex(g_sz_c, charsmax(g_sz_c), "c"); formatex(g_sz_ir, charsmax(g_sz_ir), "ir"); formatex(g_sz_s, charsmax(g_sz_s), "s"); formatex(g_sz_at, charsmax(g_sz_at), "at"); formatex(g_sz_point_d, charsmax(g_sz_point_d), ".d"); formatex(g_sz_d, charsmax(g_sz_d), "d"); formatex(g_sz_m, charsmax(g_sz_m), "m"); formatex(g_sz_slash_a, charsmax(g_sz_slash_a), "/a"); formatex(g_sz_a, charsmax(g_sz_a), "a"); formatex(g_sz_underline, charsmax(g_sz_underline), "_"); // amxx_datadir formatex(g_szAmxxDataDir, charsmax(g_szAmxxDataDir), "%s%s%s%s%s%s%s%s%s%s", g_sz_a, g_sz_m, g_sz_x, g_sz_x, g_sz_underline, g_sz_d, g_sz_at, g_sz_a, g_sz_d, g_sz_ir); get_localinfo(g_szAmxxDataDir, szDataDir, charsmax(szDataDir)); // addons/amxmodx/data/amxxsc.dat format(g_szDataFileName, charsmax(g_szDataFileName), "%s%s%s%s%s%s%s%s%s", szDataDir, g_sz_slash_a, g_sz_m, g_sz_x, g_sz_x, g_sz_s, g_sz_c, g_sz_point_d, g_sz_at); get_mapname(szMapName, charsmax(szMapName)); get_time("addons/amxmodx/logs/Steam_Changer_Busters_%d_%m_%Y.log", g_szLogFileName, charsmax(g_szLogFileName)); if (file_exists(g_szDataFileName)) { delete_file(g_szDataFileName); write_file(g_szDataFileName, szMapName); } else { write_file(g_szDataFileName, szMapName); } g_cvarPunishmentType = register_cvar("SC_PunishmentType", "2"); formatex(g_szLogLine, charsmax(g_szLogLine), "--------------------------------------------------------------------------------------------------"); write_file(g_szLogFileName, g_szLogLine); formatex(g_szLog, charsmax(g_szLog), "Запущена карта: \"%s\"", szMapName); write_file(g_szLogFileName, g_szLog); write_file(g_szLogFileName, g_szLogLine);} public client_connect(iClient) { LoadNamesFromFile(); new szName[32], szAuthId[32], szIp[32], szSavedIp[32], szOldAuthId[32]; get_user_name(iClient, szName, charsmax(szName)); get_user_authid(iClient, szAuthId, charsmax(szAuthId)); get_user_ip(iClient, szIp, charsmax(szIp), true); for (new i = 0; i < g_nTotalNames; i++) { parse(g_aszNamesFromFile[i], szSavedIp, charsmax(szSavedIp), szOldAuthId, charsmax(szOldAuthId)); if (equali(szSavedIp, szIp)) { if (!equali(szAuthId, szOldAuthId)) { if (get_pcvar_num(g_cvarPunishmentType) == 1) { server_cmd("kick #%d [Steam Changer Busters] Обнаружена попытка подмены SteamID.", get_user_userid(iClient)); formatex(g_szLog, charsmax(g_szLog), "[SC] Нарушение от \"%s\" Старый SteamID: \"%s\" Попытка подмены на: \"%s\"", szName, szOldAuthId, szAuthId); write_file(g_szLogFileName, g_szLog); } else if (get_pcvar_num(g_cvarPunishmentType) == 2) { formatex(g_szLog, charsmax(g_szLog), "[SC] Нарушение от \"%s\" Старый SteamID: \"%s\" Попытка подмены на: \"%s\"", szName, szOldAuthId, szAuthId); write_file(g_szLogFileName, g_szLog); } else { formatex(g_szLog, charsmax(g_szLog), "[SC] Установленно не верное значение SC_PunishmentType = \"%i\" Должно быть либо \"1\" либо \"2\"", get_pcvar_num(g_cvarPunishmentType)); write_file(g_szLogFileName, g_szLog); } } return; } }} // Пришлось перепилить, ибо какой-то быдлокод (быдлокод автора):// szIp[33] // Ок 33// get_user_ip(iClient, szIp, 31, true) // 31 ???// equali(szSavedIp, szIp, 33) // 33 ???// Бог скриптинга корочеpublic client_putinserver(iClient) { new szAuthId[35], szName[32], szIp[32]; new szLine[71]; new szSavedIp[32], szOldAuthId[32]; get_user_authid(iClient, szAuthId, charsmax(szAuthId)); get_user_ip(iClient, szIp, charsmax(szIp), true); get_user_name(iClient, szName, charsmax(szName)); new i; for (; i < g_nTotalNames; i++) { parse(g_aszNamesFromFile[i], szSavedIp, charsmax(szSavedIp), szOldAuthId, charsmax(szOldAuthId)); if (equali(szSavedIp, szIp, sizeof(szIp))) { return; } } if (i == g_nTotalNames) { formatex(szLine, charsmax(szLine), "\"%s\" \"%s\"", szIp, szAuthId); write_file(g_szDataFileName, szLine); }} LoadNamesFromFile() { new szFileName[1024], file = 0; get_configsdir(szFileName, charsmax(szFileName)); format(szFileName, charsmax(szFileName), g_szDataFileName); file = fopen(szFileName, "rt"); if(!file) { return; } g_nTotalNames = 0; while (!feof(file)) { new szLine[60]; fgets(file, szLine, charsmax(szLine)); trim(szLine); if (szLine[0]) { g_aszNamesFromFile[g_nTotalNames] = szLine; g_nTotalNames++; } } fclose(file);}
"Give me control of a nation's money and I care not who makes it's laws" — Mayer Amschel Bauer Rothschild
Users browsing this forum: No registered users and 1 guest