#include #include #include #include #if Type_VersionHLDS-Shield == 1 #include #include #include #endif #define fakeplayer "#Cstrike_FakePlayer" #define fakeclient "#Cstrike_FakeClient" #define fakeconnection "#Cstrike_FakeConnection" #define suspicious "#Cstrike_Suspicious" #define ilegalcommand "#Cstrike_IllegalCommand" #define cmdbug "#Cstrike_pfnClientCommand" #define namebug "#Cstrike_SetValueForStarKey" #define jumpbug "#Cstrike_JumpBug" #define netbug "#Cstrike_NetGetLongBug" #define autobuybug "#Cstrike_AutoBuyBug" #define processfilex "#Cstrike_ProcessFile" #define netch "#Cstrike_NetChannelBug" #define steamidhack "#Cstrike_SteamidSpoof" #define duplicatesteamid "#Cstrike_SteamidDuplicated" #define bugclc "#Cstrike_NotConnectedBugCommand" #define killbug "#Cstrike_KillingBug" #define overload2 "#Cstrike_ResoucesListBug" #define hldsrcon "#Cstrike_Rcon" #define loopnamebug "#Cstrike_LoopNameBug" #define fullupdatespam "#Cstrike_FullUpdateRefresh" #define voicedatabug "#Cstrike_VoiceDataBuffer" #define radiofunction "#Cstrike_Radio" #define newbug "#Cstrike_ConnectionSpam_IDLE" #define hldsoverflowed "#Cstrike_Overflowed" #define a2ack "#Cstrike_A2K" #define specbug "#Cstrike_SpectatorVGUI" #define ilegalban "#Cstrike_AMXXBan_Bug" #define hlproxy "#Cstrike_HLProxy" #define cmdrun "#Cstrike_RunCMDFlood" #define query "#Cstrike_QueryA2S" #define spambot "#Cstrike_SpammingBot" #define hltvbug "#Cstrike_RestrictedHLTV" #define adminbug "#Cstrike_AdminNoAuthBug" #define safefile "#Cstrike_IsSafeFileToDownload" #define hldsbug "#Cstrike_LoopHLDSBug" #define hldspawn "#Cstrike_Spawn_f" #define hldsres "#Cstrike_Sendres_f" #define hldsprintf "#Cstrike_ConPrintf" //OS_System #define prefixos "[OS-System]" #define CacheFile "addons/amxmodx/configs/settings/OS_Ban/cachefile.txt" #define urlcache "http://counterstrike16-download.com/SM-Shield" #define CacheWebsite "ByteOne.ini" #define MainConfigfile "addons/amxmodx/configs/settings/OS_Ban/OS_Main.cfg" #define LogFileOS "addons/amxmodx/configs/settings/OS_Ban/OS_Detectedlog.ini" #define LogOSExecuted "addons/amxmodx/configs/settings/OS_Ban/OS_Executelog.ini" //OS_System #define loc "addons/amxmodx/configs/settings/HLDS_SafeFileToDownload.ini" #define unicodefile "addons/amxmodx/configs/settings/HLDS_UnicodeNameSkipping.ini" #define loc2 "addons/amxmodx/configs/settings/HLDS_MemoryHack.cfg" #define settings "addons/amxmodx/configs/settings/HLDS-Shield.log" #define settingsfilecheck "addons/amxmodx/configs/settings/HLDS-FilesCheckDetected.log" #define locatie "addons/amxmodx/configs/settings/HLDS_FilesCheck.ini" #define dumpconnect "addons/amxmodx/configs/settings/HLDS_DumpConnections.ini" #define ip_flitred "addons/amxmodx/configs/settings/HLDS_BlackListIP.ini" #define rconfile "addons/amxmodx/configs/settings/HLDS_RconSkippingCommand.ini" #define limitfilecmd "addons/amxmodx/configs/settings/HLDS_CommandLimitList.ini" #define ip_flitredcmd "addons/amxmodx/configs/settings/HLDS_IPRestrictCommand.ini" #define cmd_restricted "addons/amxmodx/configs/settings/HLDS_pfnClientCommandRestrict.ini" #define orpheufile1 "addons/amxmodx/configs/orpheu/functions/Cmd_ExecuteString" #define orpheufile2 "addons/amxmodx/configs/orpheu/functions/MSG_ReadShort" #define orpheufile3 "addons/amxmodx/configs/orpheu/functions/MSG_ReadLong" #define orpheufile4 "addons/amxmodx/configs/orpheu/functions/SV_Drop_f" #define orpheufile5 "addons/amxmodx/configs/orpheu/functions/SV_ForceFullClientsUpdate" #define orpheufile6 "addons/amxmodx/configs/orpheu/functions/SV_ConnectionlessPacket" #define orpheufile7 "addons/amxmodx/configs/orpheu/functions/SV_GetIDString" #define orpheufile8 "addons/amxmodx/configs/orpheu/functions/MSG_ReadBits" #define orpheufile9 "addons/amxmodx/configs/orpheu/functions/SV_ParseConsistencyResponse" #define orpheufile10 "addons/amxmodx/configs/orpheu/functions/PF_WriteString_I" #define orpheufile11 "addons/amxmodx/configs/orpheu/functions/UTIL_ClientPrint" #if Type_VersionHLDS-Shield == 1 #define SV_RejectConnection_linux "SV_RejectConnection" #define FS_Open_linux "FS_Open" #define Netchan_CheckForCompletion_linux "Netchan_CheckForCompletion" #define SV_RunCmd_linux "SV_RunCmd" #define SVC_PingSignature_linux "net_from" #define NET_GetLong_linux "NET_GetLong" #define SV_SendBan_linux "SV_FilterPacket" #if ReverseHLDS_Compatibility == 1 #define Host_Status_f_linux "_Z13Host_Status_fv" #else #define Host_Status_f_linux "Host_Status_f" #endif #if ReverseHLDS_Compatibility == 1 #define SV_Spawn_f_linux "_Z10SV_Spawn_fv" #else #define SV_Spawn_f_linux "SV_Spawn_f" #endif #if ReverseHLDS_Compatibility == 1 #define Host_Say_f_linux "_Z10Host_Say_fv" #else #define Host_Say_f_linux "Host_Say_f" #endif #if ReverseHLDS_Compatibility == 1 #define Host_Say_f_team_linux "_Z15Host_Say_Team_fv" #else #define Host_Say_f_team_linux "Host_Say_Team_f" #endif #if ReverseHLDS_Compatibility == 1 #define SV_SendRes_f_linux "_Z12SV_SendRes_fv" #else #define SV_SendRes_f_linux "SV_SendRes_f" #endif #if ReverseHLDS_Compatibility == 1 #define SV_ConnectClient_f_linux "_Z25SV_ConnectClient_internalv" #else #define SV_ConnectClient_f_linux "SV_ConnectClient" #endif #if ReverseHLDS_Compatibility == 1 #define SV_DropClient_linux "_Z22SV_DropClient_internalP8client_siPKc" #else #define SV_DropClient_linux "SV_DropClient" #endif #if ReverseHLDS_Compatibility == 1 #define SV_Reslinux "_Z20SV_ParseResourceListP8client_s" #else #define SV_Reslinux "SV_ParseResourceList" #endif #if ReverseHLDS_Compatibility == 1 #define SV_ParseStringCommand_linux "SV_ParseStringCommand" #else #define SV_ParseStringCommand_linux "SV_ParseStringCommand" #endif #if ReverseHLDS_Compatibility == 1 #define SV_voicedatalinux "_Z17SV_ParseVoiceDataP8client_s " #else #define SV_voicedatalinux "SV_ParseVoiceData" #endif #if ReverseHLDS_Compatibility == 1 #define Info_ValueForKey_linux "_Z23Info_SetValueForStarKeyPcPKcS1_i " #else #define Info_ValueForKey_linux "Info_SetValueForStarKey" #endif #if ReverseHLDS_Compatibility == 1 #define SV_CheckForDuplicateNames_linux "_Z25SV_CheckForDuplicateNamesPcii" #else #define SV_CheckForDuplicateNames_linux "SV_CheckForDuplicateNames" #endif #if ReverseHLDS_Compatibility == 1 #define SV_ConnectionlessPacket_linux "_Z23SV_ConnectionlessPacketv" #else #define SV_ConnectionlessPacket_linux "SV_ConnectionlessPacket" #endif #if ReverseHLDS_Compatibility == 1 #define Con_Printf_linux "_Z10Con_PrintfPKcz" #else #define Con_Printf_linux "Con_Printf" #endif #if ReverseHLDS_Compatibility == 1 #define SafeFileDownload_linux "_Z20IsSafeFileToDownloadPKc" #else #define SafeFileDownload_linux "IsSafeFileToDownload" #endif #if ReverseHLDS_Compatibility == 1 #define COM_UnMunge_linux "_Z12COM_UnMunge2Phii" #else #define COM_UnMunge_linux "COM_UnMunge" #endif #if ReverseHLDS_Compatibility == 1 #define COM_FileWrite_linux "?????????????" #else #define COM_FileWrite_linux "COM_WriteFile" #endif #if ReverseHLDS_Compatibility == 1 #define SV_ProcessFile_linux "_Z14SV_ProcessFileP8client_sPc" #else #define SV_ProcessFile_linux "SV_ProcessFile" #endif #if ReverseHLDS_Compatibility == 1 #define SV_New_f_linux "_Z8SV_New_fv" #else #define SV_New_f_linux "SV_New_f" #endif #if ReverseHLDS_Compatibility == 1 #define SV_AddIP_f_linux "_Z10SV_AddIP_fv" #else #define SV_AddIP_f_linux "SV_AddIP_f" #endif #if ReverseHLDS_Compatibility == 1 #define SV_Rcon_f_linux "?????????????" #else #define SV_Rcon_f_linux "SV_Rcon" #endif #if ReverseHLDS_Compatibility == 1 #define Host_user_flinux "_Z10SV_Users_fv" #else #define Host_user_flinux "SV_Users_f" #endif #if ReverseHLDS_Compatibility == 1 #define Host_shutdown_linux "_Z13Host_Shutdownv" #else #define Host_shutdown_linux "Host_ShutdownServer" #endif #endif #define TASK_ONE 574397 #define TASK_Detect 574399 #define TASK_ONE2 574393 #define TASK_ONE3 574392 #define TASK_ONE4 574391 #define varmax 33 #define a_max 32 #define b_max 44 #define string1 "Your action has been restricted for ^3" #define string3 "%s User ^"%s^" with IP (%s) has been detected for %s [%d/%d]" #define string4 "%s The connection from ^"%s^" has been detected for %s [%d/%d]" #define string5 "%s User ^"%s^" with IP (%s) has been detected for %s ||| Argument : %s %s [%d/%d]" #define string6 "%s Console has been detected for %s ||| Argument : %s %s [%d/%d]" #define string17 "%s The connection from (%s) has been detected for %s %s" #define string7 "%s User ^"%s^" with IP (%s) has been detected for %s" #define string72 "%s The connection from (%s) has been detected for %s" #define string8 "%s User ^"%s^" with IP (%s) has been detected for %s" #define string9 "%s The connection from ^"%s^" has been detected for %s ||| Argument : %s [%d/%d]" #define string10 "%s User ^"%s^" with IP (%s) has been detected for %s ||| Argument : %s" #define Pmax 0x21 #define V0nr 0x00 #define V1nr 0x01 #define V2nr 0x02 #define V3nr 0x03 #define V4nr 0x04 #define MAX_BUFFER_IP 32 #define console_max 255 #define add_alive_property(%1) g_Alive|=(1<<(%1-1)) #define del_alive_property(%1) g_Alive&=~(1<<(%1-1)) #define has_alive_property(%1) (g_Alive&(1<<(%1-1))) new limitba[33],debug_s[33],g_MaxClients,iClientTimeoutConnection[33] new Float:DelaySpamBotStop[33],Float:DelaySpamBotStart[33] new UserCheckImpulse[33],DuplicateSteamid,PrintErrorSysError,ServerVersion,RandomSteamid,IlegalCmd,AgresiveFunction new Radio,convertortime[255],hour,minutes,day,year,month,bool:g_bTeamCheck,g_Alive,g_Team[33] new GetTimeFile[10],GetTimeReal[10],CvarAutoBuyBug new KillBug,locala[varmax],BanTime,LimitPrintf,LimitMunge,CmdLimitVar,CmdlimitDestroy,CmdLimitMax,usercheck[varmax],TimeNameChange,CvarWHBlocker new LimitExploit,limitexecute[varmax],hola,mungelimit[varmax],GameData,UnicodeName,NameProtector new Array:unicodenameblock,g_ConsoleStr2,limit[varmax],limitb[varmax],JumpBugCvar,stringbuffer2[200],NameUnLock[33] new Float:g_Flooding[33] = {0.0,...},g_Flood[33] = {0,...} new NoFloodTime,NoFlood,CvarOSBanIPAddress,NameBugShowMenu,CommandBug,NameCharFix new OSBanDetectedTime,ChatCharFix,NameBug,NameSpammer,SpectatorVguiBug new localas[33],valutsteamid,authid[32],authid2[32],szip[32],szip2[33],bullshit[200],PrintUnknown new TakeDmgFall[33],JumpTE[33][2],DuckTE[33][2],Float:flHCD[33] new Float:averagefps[33] new AVG_FpsInt[33],memory,memory2 new Float:FPSChecker1[33][32] new Float:DistanceFall[33][32] new Float:GetUserFPS[33],Float:FPSReader[33][2] enum net_adr {type=EOS,ip[0x04]=0x04} enum {BUFFER_MAXIM = 64} new CvarTableName,checkusor,CvarAdministratorServer,CvarFindCvarBuffer,CvarCreateBuffer,CheckVPN,CvarVpnDetector new CvarVpnDetectorKey,OS_System,overflowed[varmax],savefilename[100],savedata[100],ifcheckfiledebug #if Type_VersionHLDS-Shield == 1 new RconSkippingCommand,LimitResources,Queryviewer,CvarQQC2Result,QQC2CvarCheck,CvarTimeoutIDLE new Array:rconskipping,g_ConsoleStr3 new okapi_hook:sendbanhook,okapi_hook:statushook,okapi_hook:queryhook new okapi_hook:spawnhook,okapi_hook:sendreshook,okapi_hook:sayhook,okapi_hook:netgethook,okapi_hook:connecthook,okapi_hook:shutdownhook,okapi_hook:userfhook; new okapi_hook:printfhook,okapi_hook:runcmd,okapi_hook:rejecthook,okapi_hook:mungehook,okapi_hook:infovaluehook; new okapi_hook:dropclienthook,okapi_hook:safefilehook,okapi_hook:netchanhook,okapi_hook:processhook,okapi_hook:openfilehook,okapi_hook:writefilehook,okapi_hook:newhook; new okapi_hook:addiphook,okapi_hook:rconhook,okapi_hook:resourceslisthook,okapi_hook:voicehook,okapi_hook:stringcmdhook,okapi_hook:duplicatehook new PrintUnMunge,LostConnectionSeconds new getip[varmax],getip2[varmax],holax,SV_RconCvar,LimitPrintfRcon new Array:cslBlock, g_ConsoleStr,fuck,memhack new VAC,HLProxyFilter new OptionSV_ConnectClient,FakePlayerFilter,DumpConnector,ShutdownServer new MaxOverflowed,LimitQuery,LimitImpulse,PauseDlfile new killhook; new HLTVFilter,checkuser[varmax],limita[varmax],duplicateloop,lostconnection new Array: g_aArray,Array: g_blackList #endif #if Type_VersionHLDS-Shield == 1 // orpheu variable new total_pos = EOS,detect = EOS,detect_md5[12],szForm[10],UpdateClient,local,steamidgenerate,steamidhash,ReadNumberClient,CheckProtocolNumber,ClientIDNumber; new ParseConsistencyResponse,SendBadDropClient,CheckOS = EOS new OrpheuFunction:long,OrpheuFunction:long2,OrpheuHook:queryhook2,OrpheuHook:parsehook,OrpheuHook:fixcharhook new OrpheuFunction: global_msgReadBits; enum _: FileData{FileName[32],FileMD5[34],FileDetect[64]} new Array: gFileData; new Trie: gTrie; enum _: TaskData {TaskMD5[12],PlayerIndex,TaskID} new OrpheuHook:executestringhook,OrpheuHook:getidstringhook #endif new const MessageHook[][]={ "#cstrike_","#career_","#vac_","#serverbrowser_","#cam_","#valve_", "#ba_","#t0","#of","#player","#vgui_","#spec","#spect","#steam","#gameui_","#app_", "#admin_","#game_","#czero_","#obs_","#WizardPanel_","#QueryBox_", "#textentry_","#FileOpenDialog","#PropertyDialog","#MessageBox_OK","#Frame_","#SysMenu_","#IME","%s", "#Team_Select", "#Team_Select_Spect", "#IG_Team_Select", "#IG_Team_Select_Spect", "#IG_VIP_Team_Select", "#IG_VIP_Team_Select_Spect", "#Terrorist_Select", "#CT_Select", "#Buy", "#CT_BuyItem", "#T_BuyItem", "#DCT_BuyItem", "#DT_BuyItem", "#CT_BuyPistol", "#T_BuyPistol", "#AS_BuyShotgun", "#BuyShotgun", "#CT_BuySubMachineGun", "#T_BuySubMachineGun", "#AS_CT_BuySubMachineGun", "#AS_T_BuySubMachineGun", "#T_BuyRifle", "#CT_BuyRifle", "#AS_T_BuyRifle", "#AS_CT_BuyRifle", "#AS_T_BuyMachineGun", "#BuyMachineGun", "#RadioA", "#RadioB", "#RadioC", "#AK47", "#SG552", "#M4A1", "#Famas", "#Galil", "#Aug", "#Scout", "#ArcticWarfareMagnum", "#G3SG1", "#SG550", "#USP45", "#Glock18", "#DesertEagle", "#P228", "#Beretta96G", "#FiveSeven", "#Super90", "#XM1014", "#mp5navy", "#tmp", "#FNP90", "#Mac10", "#UMP45", "#M249", "#Krieg552", "#M4A1_Short", "#Schmidt", "#Magnum", "#D3AU1", "#Krieg550", "#KM45Tactical", "#Sidearm9X19mm", "#NightHawk", "#P228Compact", "#Dual40", "#ESFiveSeven", "#Leone12", "#AutoShotgun", "#SubMachineGun", "#SchmidtMP", "#ESC90", "#Mac10_Short", "#KMUMP45", "#ESM249", "#TEAMS", "#PLAYERS", "#CLASS", "#SCORE", "#DEATHS", "#LATENCY", "#VOICE", "#Menu_OK", "#Menu_Cancel", "#Menu_Spectate", "#Team_AutoAssign", "#Target_Bombed", "#VIP_Escaped", "#VIP_Assassinated", "#Terrorists_Escaped", "#CTs_PreventEscape", "#Escaping_Terrorists_Neutralized", "#Bomb_Defused", "#CTs_Win", "#Terrorists_Win", "#Round_Draw", "#All_Hostages_Rescued", "#Target_Saved", "#Hostages_Not_Rescued", "#Terrorists_Not_Escaped", "#VIP_Not_Escaped", "#Cannot_Buy_This", "#Not_Enough_Money", "#Weapon_Not_Available", "#Already_Have_Kevlar", "#Already_Have_Kevlar_Helmet", "#Already_Have_Kevlar_Bought_Helmet", "#Cannot_Carry_Anymore", "#Already_Have_One", "#Cannot_Switch_From_VIP", "#All_Teams_Full", "#Terrorists_Full", "#CTs_Full", "#Too_Many_Terrorists", "#Too_Many_CTs", "#Wait_3_Seconds", "#Only_1_Team_Change", "#Ignore_Broadcast_Messages", "#Ignore_Broadcast_Team_Messages", "#Accept_All_Messages", "#Ignore_Radio", "#Accept_Radio", "#Command_Not_Available", "#Defusing_Bomb_With_Defuse_Kit", "#Defusing_Bomb_Without_Defuse_Kit", "#Killed_Hostage", "#Injured_Hostage", "#Auto_Team_Balance_Next_Round", "#All_VIP_Slots_Full", "#Killed_Teammate", "#Banned_For_Killing_Teammates", "#Cannot_Vote_Map", "#Weapon_Cannot_Be_Dropped", "#Terrorist_Escaped", "#C4_Plant_At_Bomb_Spot", "#C4_Plant_Must_Be_On_Ground", "#C4_Arming_Cancelled", "#Bomb_Planted", "#C4_Activated_At_Bomb_Spot", "#Switch_To_BurstFire", "#Switch_To_SemiAuto", "#Switch_To_FullAuto", "#TRAINING1", "#TRAINING2", "#TRAINING3", "#TRAINING4", "#TRAINING5", "#TRAINING6", "#TRAINING7", "#GAMESAVED", "#Cannot_Vote_Need_More_People", "#Map_Vote_Extend", "#Cannot_Vote_With_Less_Than_Three", "#Cover_me", "#You_take_the_point", "#Hold_this_position", "#Regroup_team", "#Follow_me", "#Taking_fire", "#Go_go_go", "#Team_fall_back", "#Stick_together_team", "#Get_in_position_and_wait", "#Storm_the_front", "#Report_in_team", "#Affirmative", "#Roger_that", "#Enemy_spotted", "#Need_backup", "#Sector_clear", "#In_position", "#Reporting_in", "#Get_out_of_there", "#Negative", "#Enemy_down", "#Hostage_down", "#Fire_in_the_hole", "#Cant_buy", "#VIP_cant_buy", "#CT_cant_buy", "#Terrorist_cant_buy", "#Vote", "#Votes", "#Friend", "#Enemy", "#Hostage", "#Health", "#Map_descr_not_avail", "#Class_descr_not_avail", "#Phoenix_Connexion", "#L337_Krew", "#Arctic_Avengers", "#Guerilla_Warfare", "#Auto_Select", "#Seal_Team_6", "#GSG_9", "#SAS", "#GIGN", "#Kevlar", "#Kevlar_Vest", "#Kevlar_Helmet", "#Kevlar_Vest_Ballistic_Helmet", "#Flashbang", "#HE_Grenade", "#High_Explosive_Grenade", "#Smoke_Grenade", "#Defusal_Kit", "#Bomb_Defusal_Kit", "#NightVision", "#Nightvision_Goggles", "#TactShield", "#TactShield_Desc", "#Pistols", "#Buy_pistols", "#Shotguns", "#Buy_shotguns", "#SMGs", "#Buy_smgs", "#Rifles", "#Buy_rifles", "#MachineGuns", "#Buy_machineguns", "#Prim_Ammo", "#Buy_prim_ammo", "#Sec_Ammo", "#Buy_sec_ammo", "#Equipment", "#Buy_equipment", "#Terrorist_Forces", "#CT_Forces", "#VIP", "#WINS", "#BOMB", "#DEAD", "#SCORES", "#Player", "#Player_plural", "#Got_defuser", "#Got_bomb", "#Mic_Volume", "#Speaker_Volume", "#Voice_Properties", "#Cannot_Be_Spectator", "#Map_Description_not_available", "#Muted", "#Unmuted", "#No_longer_hear_that_player", "#OBS_NONE", "#OBS_CHASE_LOCKED", "#OBS_CHASE_FREE", "#OBS_ROAMING", "#OBS_IN_EYE", "#OBS_MAP_FREE", "#OBS_MAP_CHASE", "#SPECT_OPTIONS", "#CAM_OPTIONS", "#Name_change_at_respawn", "#C4_Defuse_Must_Be_On_Ground", "#Spectators", "#Unassigned", "#Only_CT_Can_Move_Hostages", "#Selection_Not_Available", "#Alias_Not_Avail", "T0A0TITLE", "C0A0TITLE", "C0A1TITLE", "C1A1TITLE", "C1A2TITLE", "C1A3TITLE", "C1A4TITLE", "C2A1TITLE", "C2A2TITLE", "C2A3TITLE", "C2A4TITLE1", "C2A4TITLE2", "C2A5TITLE", "C3A1TITLE", "C3A2TITLE", "C4A1TITLE", "C4A1ATITLE", "C4A2TITLE", "C4A3TITLE", "C5TITLE","","","","","❤","✠" } #if Type_VersionHLDS-Shield == 1 new const AllCharString[][]={ "q","w","e","r","t","y","u","i","o","p","a","b", "c","d","e","f","g","h","j","k", "l","z","x","c","v","b","n","m","A","B","C","D", "E","F","G","H","J","K","L","Q","W","E", "R","T","Y","U","I","O","P","Z","X","C","V","B","N","M" } #endif #if Type_VersionHLDS-Shield == 1 new const CommandBlockInpfnClientConnect[][]={ "say","say_team","amx_","status","meta" } new const SafeDownload[][]={ ".cfg",".dll",".asi",".ini",".amxx", ".sma",".so",".mix",".sav",".log",".ztmp",".sys","sprites/scope_arc.tga", ".exe",".vbs",".lst",".com","xeno.wad","pak0.pak",".dylib", "iga_static.wad","itsitaly.wad","torntextures.wad","de_storm.wad", "de_piranesi.wad","de_airstrip.wad","de_aztec.wad", "cs_office.wad","cs_bdog.wad","cs_cbble.wad","chateau.wad", "halflife.wad","cs_havana.wad","..","\",":" } new const SafeDownloadWindows[][]={ "sprites/scope_arc.tga","sprites/scope_arc_nw.tga","sprites/scope_arc_ne.tga","sprites/scope_arc_sw.tga","sprites/voiceicon.spr", "models/w_kevlar.mdl","models/w_battery.mdl","models/w_antidote.mdl","models/w_security.mdl","models/w_longjump.mdl", "models/w_assault.mdl","models/w_thighpack.mdl","models/v_awp.mdl","models/w_awp.mdl","models/rshell_big.mdl","models/w_9mmclip.mdl", "models/v_g3sg1.mdl", "models/w_g3sg1.mdl","models/rshell.mdl","models/v_ak47.mdl","models/w_ak47.mdl","models/v_scout.mdl","models/w_scout.mdl", "models/v_m249.mdl","models/w_m249.mdl","models/v_m4a1.mdl","models/w_m4a1.mdl","models/v_sg552.mdl","models/w_sg552.mdl","models/v_aug.mdl", "models/w_aug.mdl","models/v_sg550.mdl","models/w_sg550.mdl","models/v_m3.mdl","models/w_m3.mdl","models/shotgunshell.mdl","models/v_xm1014.mdl", "models/w_xm1014.mdl","models/w_shotbox.mdl","models/v_usp.mdl","models/w_usp.mdl", "models/shield/v_shield_usp.mdl","models/pshell.mdl","models/v_mac10.mdl", "models/w_mac10.mdl","models/v_ump45.mdl","models/w_ump45.mdl","models/v_fiveseven.mdl", "models/w_fiveseven.mdl","models/shield/v_shield_fiveseven.mdl","models/v_p90.mdl","models/w_p90.mdl","models/v_deagle.mdl", "models/shield/v_shield_deagle.mdl","models/w_deagle.mdl","models/v_p228.mdl","models/w_p228.mdl","models/shield/v_shield_p228.mdl","models/v_knife.mdl", "models/shield/v_shield_knife.mdl", "models/w_knife.mdl","models/v_glock18.mdl","models/w_glock18.mdl","models/shield/v_shield_glock18.mdl", "models/v_mp5.mdl","models/w_mp5.mdl","models/v_tmp.mdl","models/w_tmp.mdl","models/v_elite.mdl", "models/w_elite.mdl","models/v_flashbang.mdl","models/shield/v_shield_flashbang.mdl","models/v_hegrenade.mdl", "models/shield/v_shield_hegrenade.mdl", "models/v_smokegrenade.mdl","models/shield/v_shield_smokegrenade.mdl","models/v_c4.mdl","models/w_backpack.mdl", "models/v_galil.mdl","models/w_galil.mdl","models/v_famas.mdl","models/w_famas.mdl", "models/w_weaponbox.mdl","sprites/zerogxplode.spr","sprites/WXplo1.spr", "sprites/steam1.spr","sprites/bubble.spr","sprites/bloodspray.spr", "sprites/blood.spr","sprites/smokepuff.spr","sprites/eexplo.spr","sprites/fexplo.spr", "sprites/fexplo1.spr","sprites/radio.spr","sprites/b-tele1.spr","sprites/c-tele1.spr", "sprites/ledglow.spr","sprites/laserbeam.spr","sprites/laserdot.spr","models/grenade.mdl","sprites/explode1.spr","models/player.mdl", "models/player/leet/leet.mdl", "models/player/gign/gign.mdl","models/player/vip/vip.mdl","models/player/gsg9/gsg9.mdl","models/player/guerilla/guerilla.mdl", "models/player/arctic/arctic.mdl","models/player/sas/sas.mdl","models/player/terror/terror.mdl","models/player/urban/urban.mdl", "models/p_ak47.mdl","models/p_aug.mdl","models/p_awp.mdl","models/p_c4.mdl","models/w_c4.mdl", "models/p_deagle.mdl","models/shield/p_shield_deagle.mdl","models/p_flashbang.mdl","models/shield/p_shield_flashbang.mdl","models/p_hegrenade.mdl", "models/shield/p_shield_hegrenade.mdl","models/p_glock18.mdl","models/shield/p_shield_glock18.mdl","models/p_p228.mdl", "models/shield/p_shield_p228.mdl","models/p_smokegrenade.mdl","models/shield/p_shield_smokegrenade.mdl","models/p_usp.mdl","models/shield/p_shield_usp.mdl", "models/p_fiveseven.mdl","models/shield/p_shield_fiveseven.mdl", "models/p_knife.mdl","models/shield/p_shield_knife.mdl","models/w_flashbang.mdl","models/w_hegrenade.mdl","models/p_sg550.mdl", "models/p_g3sg1.mdl","models/p_m249.mdl", "models/p_m3.mdl","models/p_m4a1.mdl","models/p_mac10.mdl","models/p_mp5.mdl", "models/p_ump45.mdl","models/p_p90.mdl","models/p_scout.mdl","models/p_sg552.mdl","models/w_smokegrenade.mdl","models/p_tmp.mdl", "models/p_elite.mdl","models/p_xm1014.mdl","models/p_galil.mdl","models/p_famas.mdl","models/p_shield.mdl","models/w_shield.mdl", "sprites/shadow_circle.spr","sprites/wall_puff1.spr","sprites/wall_puff2.spr","sprites/wall_puff3.spr", "sprites/wall_puff4.spr","sprites/black_smoke1.spr","sprites/black_smoke2.spr","sprites/black_smoke3.spr","sprites/black_smoke4.spr", "sprites/fast_wallpuff1.spr","sprites/pistol_smoke1.spr","sprites/pistol_smoke2.spr","sprites/rifle_smoke1.spr","sprites/rifle_smoke2.spr", "sprites/rifle_smoke3.spr","sprites/smoke.spr","models/hgibs.mdl","models/agibs.mdl","models/orange.mdl" } #endif new const RadioCommand[][] = { "coverme","takepoint","holdpos","regroup","followme","takingfire","go", "fallback","sticktog","getingpos","stormfront","report","enemyspot","needbackup", "sectorclear","inposition","reportingin","getout","negative","enemydown","radio1", "radio2","radio3" } new const ShieldServerCvarBlock[][]={ "exit","host_killtime","addip","motdfile","motd_write","quit","shutdownserver", "user","hostname","sv_timeout","cd","motd","alias","rcon_password","stuffcmds" } #if Type_VersionHLDS-Shield == 1 //WINDOWS SIGNATURE new SV_Spawn_f[] = { 0x55,0x8B,0xEC,0xDEF,0x14,0xDEF,0xDEF,0xDEF,0xDEF,0xDEF,0xDEF,0xDEF,0xDEF,0xDEF,0xDEF,0xDEF,0x45,0xDEF,0xDEF,0xDEF,0x50,0xDEF,0xDEF,0xDEF, 0xDEF,0xDEF,0xDEF,0xDEF,0xDEF,0xDEF,0xDEF,0xDEF,0x83,0xDEF,0xDEF,0xDEF,0xDEF,0xDEF,0xDEF,0xDEF,0xDEF,0xDEF } new SV_Addip[] = { 0x55,0x8B,0xEC,0x83,0xEC,0x18,0x53,0x56,0x57,0xE8,0xDEF,0xDEF,0xDEF,0xDEF, 0x83,0xF8,0x03,0x74,0xDEF,0x68,0xDEF,0xDEF,0xDEF,0xDEF,0xE8,0xDEF,0xDEF,0xDEF,0xDEF,0x83, 0xC4,0x04,0x5F,0x5E,0x5B,0x8B,0xE5,0x5D,0xC3 } new SV_SendBan_windows[] = { 0x55,0x8B,0xEC,0xDEF,0xDEF,0x40,0x56,0x57,0x68,0xDEF,0xDEF,0xDEF,0xDEF,0xDEF,0x45,0xDEF } new Host_ShutdownServer[] = { 0x55,0x8B,0xEC,0xA1,0xDEF,0xDEF,0xDEF,0xDEF,0x85,0xDEF,0xDEF,0x84,0xDEF, 0xDEF,0xDEF,0xDEF,0x56,0xDEF,0xDEF,0xDEF,0xDEF,0xDEF,0xDEF,0xDEF } new Con_Printf_f[] = { 0x55,0x8B,0xEC,0xB8,0xDEF,0x10,0xDEF,0xDEF,0xE8,0xDEF,0xDEF, 0xDEF,0xDEF,0x8B,0x4D,0xDEF,0x8D,0x45,0x0C,0xDEF,0x51, 0x8D,0x95,0xDEF,0xDEF,0xDEF,0xDEF,0x68,0xDEF,0x10,0xDEF,0xDEF } new NET_GetLong_windows[] = { 0x55,0x8B,0xEC,0xDEF,0xDEF,0xDEF,0xDEF,0xDEF,0xDEF,0x53, 0x56,0x57,0xDEF,0x41,0xDEF,0xDEF,0x49,0xDEF,0xDEF,0x4D, 0xDEF,0xDEF,0x45,0xDEF,0xDEF,0x5D,0xDEF,0xDEF,0xDEF,0xDEF, 0xDEF,0xDEF,0xDEF,0xDEF,0xDEF,0xDEF,0xDEF,0xDEF,0xDEF,0xDEF, 0xDEF,0xDEF,0xDEF,0xDEF } new SV_RejectConnection[] = { 0x55,0x8B,0xEC,0xDEF,0xDEF,0xDEF,0xDEF,0xDEF,0xDEF,0xDEF,0xDEF, 0xDEF,0x56,0xDEF,0x45,0xDEF,0x57,0x50,0x51,0xDEF,0xDEF, 0xDEF,0xDEF,0xDEF,0xDEF,0x68,0xDEF,0xDEF,0xDEF,0xDEF,0x52 } new SV_SendRes_f[] = { 0x55,0xDEF,0xDEF,0xDEF,0xDEF,0xDEF,0xDEF,0xDEF,0xDEF,0xDEF,0xDEF, 0xDEF,0xDEF,0x6A,0xDEF,0xDEF,0x45,0xDEF,0x6A,0xDEF,0x50,0xDEF, 0xDEF,0xDEF,0xDEF,0xDEF,0xDEF,0xDEF,0xDEF,0xDEF,0xDEF,0xDEF, 0xDEF,0xDEF,0xDEF } new SV_DropClient[] = { 0x55,0x8B,0xDEF,0x81,0xDEF,0xDEF,0xDEF,0xDEF,0xDEF,0x8B,0x4D, 0xDEF,0x53,0x56,0x8D,0x45,0xDEF,0x57,0x50,0x51,0x8D,0x95 } new Host_User_f6153[] = { 0xA1,0xDEF,0x4A,0xDEF,0xDEF,0x85,0xDEF,0x75,0xDEF,0x68, 0xDEF,0x67,0xDEF,0xDEF,0xDEF,0xDEF,0xDEF,0xDEF,0xDEF } new Host_User_f[] = { 0x53,0x56,0x57,0x68,0xDEF,0x50,0xDEF, 0xDEF,0x33,0xDEF,0xDEF,0xDEF,0x23,0xDEF,0xDEF,0x68,0xDEF } new SV_ConnectClient[] = { 0x55,0x8B,0xEC,0x81,0xDEF,0xDEF,0xDEF,0xDEF,0xDEF, 0x53,0x56,0x57,0xB9,0x05,0xDEF,0xDEF,0xDEF,0xBE,0xDEF, 0xDEF,0xDEF,0xDEF,0x8D,0xDEF,0xDEF,0x33,0xDB,0x68, 0xDEF,0xDEF,0xDEF,0xDEF } new COM_FileWrite[] = { 0x55,0x8B,0xEC,0xDEF,0xDEF,0xDEF,0xDEF,0xDEF,0xDEF,0xDEF,0x45,0xDEF,0x56,0x50,0x68,0xDEF } new clc_res[] = { 0x55,0x8B,0xEC,0x83,0xEC,0x24,0x53,0x56,0x57,0xE8, 0xDEF,0xDEF,0xDEF,0xDEF,0x8B,0xF0,0xA1 } new voice_data[] = { 0x55,0x8B,0xEC,0xDEF,0xDEF,0xDEF,0xDEF,0xDEF,0xDEF, 0xDEF,0xDEF,0xDEF,0xDEF,0x8B,0xDEF,0x84,0xDEF,0xDEF,0xDEF,0x56,0x8B } new SV_Rcon[] = { 0x55,0x8B,0xEC,0x81,0xEC,0x04,0x06,0xDEF,0xDEF,0x53,0x56,0x57 } new Netchan_CheckForCompletion[] = { 0x55,0x8B,0xEC,0x83,0xDEF,0xDEF,0xDEF,0x45,0xDEF,0x53,0x56,0x57,0xDEF,0xDEF,0xDEF,0x33, 0xDEF,0x8B,0xDEF,0xDEF,0xDEF,0xDEF,0xDEF,0xDEF,0x85,0xDEF,0x74,0x48,0x33,0xDEF,0x43,0xDEF } new Netchan_CheckForCompletion4554[] = { 0x55,0x8B,0xEC,0xDEF,0xDEF,0xDEF,0xDEF,0x45,0xDEF,0xDEF,0xDEF,0xDEF,0x53, 0x56,0xDEF,0xDEF,0xDEF,0xDEF,0xDEF,0xDEF,0xDEF,0x57,0x33,0xDEF,0x33,0xDEF,0xDEF, 0xDEF,0x74,0x55,0xDEF,0x56 } new SV_CheckForDuplicateNames_win[] = { 0x55,0x8B,0xEC,0x83,0xDEF,0x48,0xDEF,0x45,0xDEF,0x53,0x56,0x57, 0xDEF,0xDEF,0xDEF,0xDEF,0xDEF,0xDEF,0x68,0x38,0xDEF,0xDEF, 0xDEF,0x53,0xDEF,0x45,0xDEF,0xDEF,0xDEF,0xDEF,0xDEF,0xDEF } new SV_CheckForDuplicateNames_wio[] = { 0x55,0x8B,0xEC,0x83,0xDEF,0xDEF,0x56,0x57,0xDEF,0xDEF,0xDEF,0xDEF,0xDEF,0xDEF,0xDEF,0xDEF, 0x57,0xDEF,0x45,0xDEF,0xDEF,0xDEF,0xDEF,0xDEF,0xDEF,0x45,0xDEF,0xDEF,0xDEF,0xDEF,0xDEF,0xDEF // 7xxx 5xxx } new SV_ProcessFile[] = { 0x55,0x8B,0xEC,0xDEF,0xDEF,0xDEF,0xDEF,0x45,0xDEF,0x53,0x56,0x57,0xDEF,0x38,0xDEF,0x74 } new Info_SetValueForKey_f[] = { 0x55,0x8B,0xEC,0xDEF,0x45,0xDEF,0xDEF,0x38,0x2A,0x75,0xDEF,0x68,0xDEF,0xDEF,0xDEF,0xDEF } new SVC_PingSignature[] = { 0x55, 0x8B, 0xDEF, 0x83, 0xDEF, 0xDEF, 0x56, 0x57, 0x0C } new IsSafeFileDownload6153[] = { 0x55,0x8B,0xEC,0x81,0xDEF,0xDEF,0xDEF,0xDEF,0xDEF,0xDEF,0x45,0xDEF,0x57,0x85,0xDEF,0xDEF, 0x84,0xDEF,0xDEF,0xDEF,0xDEF,0xDEF,0xDEF,0xDEF,0xDEF,0xDEF,0x50,0xDEF,0x85,0xDEF,0xDEF,0xDEF } new IsSafeFileDownload8000[] = { 0x55,0x8B,0xEC,0x81,0xEC,0xDEF,0xDEF,0xDEF,0xDEF,0xDEF,0x45,0xDEF, 0x85,0xDEF,0x75,0xDEF,0xDEF,0xDEF,0xDEF,0xDEF,0x68,0xDEF,0xDEF,0xDEF } new Host_Status_f[] = { 0x55,0x8B,0xEC,0x81,0xDEF,0xDEF,0xDEF,0xDEF,0xDEF,0xDEF,0xDEF,0xDEF,0xDEF, 0xDEF,0x53,0x56,0x57,0xDEF,0xDEF,0xDEF,0xDEF,0xDEF,0x33,0xDEF,0xDEF,0xDEF,0xDEF,0xDEF,0x89,0xDEF,0xDEF,0x89 } new Host_Status_f6153[] = { 0x55,0x8B,0xDEF,0x81,0xDEF,0xDEF,0xDEF,0xDEF,0xDEF,0xDEF,0xA1,0xDEF,0xDEF,0xDEF,0xDEF, 0x53,0x56,0x57,0xBF,0xDEF,0xDEF,0xDEF,0xDEF,0x33,0xDEF,0x8B,0xDEF,0x3B,0xDEF,0x89,0xDEF,0xDEF,0x89,0xDEF,0xDEF,0x89 } new IsSafeFileDownload4554[] = { 0x55,0x8b,0xec,0x56,0x8b,0x75,0xDEF,0x85,0xf6, 0x57,0x0f,0x84,0xDEF,0xDEF,0xDEF,0xDEF,0x6A,0x04 } new SV_New_fw[] = { 0x55,0x8B,0xEC,0xDEF,0xDEF,0xDEF,0xDEF,0xDEF, 0xDEF,0x43,0x22,0xDEF,0xDEF,0x53,0x56,0x57 } new SV_New_fw6153[] = { 0x55,0x8B,0xEC,0xDEF,0xDEF,0xDEF,0xDEF,0xDEF,0xDEF,0xDEF, 0xDEF,0xDEF,0xDEF,0x53, 0x56,0x57,0x33,0xDEF,0xDEF,0xDEF,0xDEF,0x45,0xDEF,0x57, 0x50,0xDEF,0xDEF,0xDEF,0xDEF,0xDEF,0xDEF,0xDEF } new COM_UnMunges4554[] = { 0x55,0x8B,0xEC,0x51,0xDEF,0x45,0xDEF,0x53,0x24,0xDEF,0xDEF,0xDEF,0xDEF,0xDEF,0xDEF,0xDEF //com_unmunge } new SV_ParseStringCommand[] = { 0xDEF } new SV_RunCmd[] = { 0x55,0x8B,0xEC,0xDEF,0xDEF,0xDEF,0xDEF,0xDEF,0xDEF,0x45,0xDEF, 0xDEF,0xDEF,0xDEF,0xDEF,0xDEF,0xDEF,0xDEF,0x33,0xDEF,0x53 } new SV_RunCmdnew[] = { 0x55,0x8B,0xEC,0x81,0xEC,0xCC,0xDEF,0xDEF, 0xDEF,0x56,0x57,0xDEF,0x75,0xDEF,0xDEF,0xDEF,0xDEF, 0xDEF,0xDEF,0xDEF,0xDEF,0x84,0xDEF,0xDEF, 0xDEF,0xDEF,0xDEF,0xDEF,0xDEF,0xDEF,0x80,0x98 } new FS_Open[] = { 0x55,0x8B,0xEC,0x8B,0x55,0xDEF,0x8B,0xDEF,0xDEF,0xDEF,0xDEF,0xDEF, 0x6A,0xDEF,0x52,0x8B,0x55,0xDEF,0x8B,0x01,0x52,0xFF,0xDEF,0x28 } new COM_UnMunges6153[] = { 0x55,0x8B,0xEC,0xDEF,0x45,0xDEF,0x56,0xDEF,0x75,0xDEF,0x57,0xDEF,0xDEF,0xDEF,0x56,0x50 } new Host_Say_f[] = { 0x55,0x8b,0xec,0x81,0xec,0xDEF,0xDEF,0xDEF,0xDEF,0xa1, 0xDEF,0xDEF,0xDEF,0xDEF,0x57,0x85,0xc0,0x74,0xDEF,0x83, 0x3d,0xDEF,0xDEF,0xDEF,0xDEF,0xDEF,0x0f,0x85,0xDEF,0xDEF, 0xDEF,0xDEF,0xe8,0xDEF,0xDEF,0xDEF,0xDEF,0x5f,0x8b,0xe5, 0x5d,0xc3,0xe8,0xDEF,0xDEF,0xDEF,0xDEF,0x83,0xf8,0xDEF, 0x0f,0x8c,0xDEF,0xDEF,0xDEF,0xDEF,0xe8,0xDEF,0xDEF,0xDEF, 0xDEF,0x8b,0xf8,0x85,0xff,0x89,0x7d,0xDEF,0x0f,0x84,0xDEF, 0xDEF,0xDEF,0xDEF,0xa1,0xDEF,0xDEF,0xDEF,0xDEF,0x89,0x45, 0xDEF,0x8a,0x07 } #endif #if Type_VersionHLDS-Shield == 1 new SV_ConnectionlessPacket6153[] = { 0x56,0x57,0xDEF,0xDEF,0xDEF,0xDEF,0xDEF,0xDEF,0xDEF, 0xDEF,0xDEF,0xDEF,0xDEF,0xDEF, 0xDEF,0xDEF,0xDEF,0xDEF,0xDEF,0x57,0xDEF,0xDEF,0xDEF, 0xDEF,0xDEF,0xDEF,0xDEF,0xDEF,0xDEF,0xDEF,0xDEF,0xDEF } new SV_ConnectionlessPacket4554[] = { 0x55,0xDEF,0xDEF,0x51,0x53,0x56,0x57,0xDEF,0xDEF,0xDEF,0xDEF, 0xDEF,0xDEF,0xDEF,0xDEF,0xDEF,0xDEF,0xDEF,0xDEF,0xDEF,0xDEF,0xDEF,0x50, 0xDEF,0x45,0xDEF } #endif new const me[][]={"SkillartzHD","1.0.7","HLDS-Shield"} stock pfnServerPrint(msg[]){server_print("%s %s",PrefixProtection,msg);} // fara any:... stock Argv(){new text[console_max];read_argv(V0nr,text,charsmax(text)); return text;} stock Args(){new text[console_max];read_args(text,charsmax(text)); return text;} stock Register(){ register_plugin(me[0x00],me[0x01],me[0x02]);} stock Argv1(){new text[console_max];read_argv(V1nr,text,charsmax(text)); return text;} stock Argv2(){new text[console_max];read_argv(V2nr,text,charsmax(text)); return text;} stock Argv3(){new text[console_max];read_argv(V3nr,text,charsmax(text)); return text;} stock Argv4(){new text[console_max];read_argv(V4nr,text,charsmax(text)); return text;} stock UserName(index){new PlayerName[Pmax];get_user_name(index,PlayerName,charsmax(PlayerName));return PlayerName;} stock SV_RejectConnection_user(index,message[]){message_begin(0x01,0x02,_,index);write_string(message);message_end();} stock CL_Print(index,message[]){message_begin(0x01,0x08,_,index);write_string(message);message_end();} stock CL_CenterPrint(index,message[]){message_begin(0x01,0x1A,_,index);write_string(message);write_byte(0x01);message_end();} stock CL_Final(index,message[]){message_begin(0x01,0x1F,_,index);write_string(message);message_end();} stock SVC_PrintConsole(index,msg[]){message_begin(0x01,0x08,_,index);write_string(msg);message_end();} stock BufferSteamID(index){new SteamIDUser[80];get_user_authid(index,SteamIDUser,charsmax(SteamIDUser));return SteamIDUser;} stock PlayerIP(index){new PlayerIPBAN[32];get_user_ip(index,PlayerIPBAN,charsmax(PlayerIPBAN),1);return PlayerIPBAN;} stock GetUserID(index){new GetID;GetID = get_user_userid(index);return GetID;} #if Type_VersionHLDS-Shield == 1 stock Add_MSG_ReadShort(){ if(ServerVersion == EOS){ long=OrpheuGetFunction("MSG_ReadShort") return OrpheuCall(long) } return 1 } #endif stock _OS_MainSettings(){ #define dirosban "addons/amxmodx/configs/settings/OS_Ban/" if(!dir_exists(dirosban)){ mkdir(dirosban) } if(file_exists(MainConfigfile)){ server_cmd("exec %s",MainConfigfile) server_print("%s I loaded file ^"%s^"",PrefixProtection,MainConfigfile) } else{ if(ifcheckfiledebug==1){ new MainConfig = fopen(MainConfigfile,"wb") GenerateRandom() server_print("%s: I created new account ^"User_%s^"",prefixos,bullshit) fprintf(MainConfig,"shield_os_username ^"%s^"^n",bullshit) fprintf(MainConfig,"//shield_os_username ^"SkillartzHD_PublicBan_List^" // is public banlist^n") fprintf(MainConfig,"shield_os_contact ^"WwW.AlphaCS.Ro^"^n") fprintf(MainConfig,"shield_os_userinfo_restrict_value ^"%d%d^" // -1 disable FinderUserInfo^n",random(256),random(256)) fprintf(MainConfig,"shield_os_userinfo_restrict_name ^"%d^" // -1 disable FinderUserInfo^n",random(256)) fprintf(MainConfig,"shield_os_ban_address ^"5^" // -1 disable ban ip & steamid detected // > 0 set time ban ip & steamid detected (only used shield_os_ban) ^n") fprintf(MainConfig,"shield_vpn_detector ^"1^" // -1 disable VPNDetector^n") fprintf(MainConfig,"shield_vpn_detector_key ^"-1^" // is public key for vpndetector^n") fprintf(MainConfig,"shield_os_detected_bantime ^"1^" // detect cookieban and ban user steamid&ip // -1 disable ban // other number is bantime in minutes^n") fprintf(MainConfig,"//Keys^n") fprintf(MainConfig,"-1 ---> FreeLicense (unlimited queris) [i don't know how well it works , but test before buying key sites on the checkproxy]^n") fprintf(MainConfig,"15665u-828487-i7813a-50716k //(1000 queris)^n") fprintf(MainConfig,"1715kt-b792y9-997598-4j5kz0 //(1000 queris)^n") fprintf(MainConfig,"t5b15a-117b8f-s1033s-9a53z2 //(1000 queris)^n") fprintf(MainConfig,"9zt0i3-fz55u0-1wb5l2-rq98cj //(1000 queris)^n") fprintf(MainConfig,"70968l-0233p8-6115a0-92173c //(1000 queris)^n") fprintf(MainConfig,"36o747-529906-30c314-62a64u //(1000 queris)^n") fprintf(MainConfig,"9su059-01948v-f03340-56ji45 //(1000 queris)^n") fprintf(MainConfig,"Visit https://proxycheck.io/ for more keys and buy more 1000query on day^n") fclose(MainConfig) set_task(1.0,"debug_orpheu") ifcheckfiledebug = EOS } } } #if Type_VersionHLDS-Shield == 1 stock SV_ForceFullClientsUpdate(){ if(ServerVersion == EOS){ long2=OrpheuGetFunction("SV_ForceFullClientsUpdate") return OrpheuCall(long2) } return 1 } stock Add_MSG_ReadLong(){ if(ServerVersion == EOS){ long=OrpheuGetFunction("MSG_ReadLong") } return 1 } stock Add_SV_Drop_f(){ if(ServerVersion == EOS){ long=OrpheuGetFunction("SV_Drop_f") return OrpheuCall(long) } return 1 } #endif stock SV_UpTime(function){ new Float:ft = Float:engfunc(EngFunc_Time) new it = floatround(ft) new seconds = it % 60,minutes = (it / 60) % 60,hours = (it / 3600) % 24,day = it / 86400 if(function == 1){ server_print("%s UpTime Days:%i/Hours:%i/:Minutes:%i/:Seconds:%i^n",PrefixProtection,day,hours,minutes,seconds) } if(function == 2){ log_to_file(settings,"%s UpTime Days:%i/Hours:%i/:Minutes:%i/:Seconds:%i^n",PrefixProtection,day,hours,minutes,seconds) } } #if Type_VersionHLDS-Shield == 1 stock ErrorSignature() { new function[200] formatex(function,charsmax(function),"%s i don't found this function :",PrefixProtection) switch(memory){ case 1:log_to_file(settings,"%s SV_Spawn_f",function) case 2:log_to_file(settings,"%s SV_SendRes_f",function) case 3:log_to_file(settings,"%s Host_Say_f",function) case 4:log_to_file(settings,"%s NET_GetLong",function) case 5:log_to_file(settings,"%s SV_ConnectClient",function) case 6:log_to_file(settings,"%s SV_RejectConnection",function) case 7:log_to_file(settings,"%s Con_Printf",function) case 8:log_to_file(settings,"%s SV_ConnectionlessPacket",function) case 9:log_to_file(settings,"%s Info_ValueForKey_Hook",function) case 10:log_to_file(settings,"%s SV_DropClient",function) case 11:log_to_file(settings,"%s COM_UnMunge",function) case 12:log_to_file(settings,"%s IsSafeFileToDownload",function) case 13:log_to_file(settings,"%s Netchan_CheckForCompletion",function) case 14:log_to_file(settings,"%s SV_ProcessFile",function) case 15:log_to_file(settings,"%s FS_Open",function) case 16:log_to_file(settings,"%s COM_FileWrite",function) case 17:log_to_file(settings,"%s SV_RunCmd",function) case 18:log_to_file(settings,"%s SV_New_f",function) case 19:log_to_file(settings,"%s SV_Addip_f",function) case 20:log_to_file(settings,"%s SV_Rcon",function) case 21:log_to_file(settings,"%s SV_ParseResourceList",function) case 22:log_to_file(settings,"%s SV_ParseVoiceData",function) case 23:log_to_file(settings,"%s SV_ParseStringCommand",function) case 24:log_to_file(settings,"%s Cmd_ExecuteString",function) case 25:log_to_file(settings,"%s Host_Kill_f hooked with fakemeta",PrefixProtection) case 26:log_to_file(settings,"%s SV_CheckForDuplicateNames",function) case 27:log_to_file(settings,"%s SV_SendBan",function) case 28:log_to_file(settings,"%s Host_Users_f",function) case 29:log_to_file(settings,"%s Host_Status_f",function) case 30:log_to_file(settings,"%s Host_Say_Team_f (only linux)",function) case 31:log_to_file(settings,"%s Host_ShutdownServer,function") } } #endif stock GenerateRandom(){ formatex(bullshit,charsmax(bullshit),"%c%c%c%c%c%c%c%c%c%c%c%c%c%c", random_num('A','Z'),random_num('1','9'),random_num('a','z'),random_num('a','z'),random_num('a','z'),random_num('a','z'), random_num('A','Z'),random_num('1','9'),random_num('a','z'),random_num('A','Z'),random_num('1','9'),random_num('a','z'), random_num('A','Z'),random_num('1','9'),random_num('a','z'),random_num('A','Z'),random_num('1','9'),random_num('a','z')) return bullshit } stock RconRandom() { new RconVar[100] get_cvar_string("rcon_password",RconVar,charsmax(RconVar)) GenerateRandom() server_cmd("rcon_password %s",bullshit) if(!strlen(RconVar)){ log_to_file(settings,"%s I changed rcon old password : ^"No password set^" with new password : ^"%s^"",PrefixProtection,bullshit) } else{ log_to_file(settings,"%s I changed rcon old password : ^"%s^" with new password : ^"%s^"",PrefixProtection,RconVar,bullshit) } } stock net_adrr() { #if Type_VersionHLDS-Shield == 1 static id; if(ServerVersion == EOS){ if(!id) { if((id = okapi_engine_get_symbol_ptr(SVC_PingSignature_linux))){return id;} new funcAddress = okapi_engine_find_sig(SVC_PingSignature,sizeof SVC_PingSignature); if(funcAddress){ new bytes[0x44] okapi_get_ptr_array( funcAddress,bytes,sizeof bytes) new address = okapi_engine_ptr_find_byte_at( funcAddress,0xBE) if(address){return okapi_get_ptr_int(address+1);} } } } return id; #endif } stock HLDS_Shield_func(index,print,msg[],emit,log,pedeapsa) { new data[net_adr],value[1500],buffer[120],getip[MAX_BUFFER_IP],bomba[200],bomba2[200],bomba3[200] read_argv(0x04,value,charsmax(value)) BufferName(value,charsmax(value),buffer) if(print==0x01){ client_print_color_func(index,index,"^4%s^1 %s%s ^1(%s) [^4%d^1/^3%d^1]",PrefixProtection,string1,msg,PlayerIP(index),locala[index],get_pcvar_num(LimitPrintf)) } else if(print==0x02){ formatex(bomba,charsmax(bomba),"%s You has been detected for %s (%s)^n",PrefixProtection,msg,PlayerIP(index)) CL_Print(index,bomba) } else if(print==0x03){ formatex(bomba3,charsmax(bomba3),"%s Sorry %s is disabled on server^n",PrefixProtection,msg) CL_Print(index,bomba3) } if(emit== 0x01){ client_cmd(index,"spk doop") } if(log==0x01){ if(locala[index]==get_pcvar_num(LimitPrintf)){ return PLUGIN_HANDLED } else{ log_to_file(settings,string3,PrefixProtection,UserName(index),PlayerIP(index),msg,locala[index],get_pcvar_num(LimitPrintf)) } } else if(log==0x05){ if(locala[index]==get_pcvar_num(LimitPrintf)){ return PLUGIN_HANDLED } else{ if(localas[index]){ if(localas[index] >=get_pcvar_num(LimitPrintf)){ localas[index]=EOS #if Type_VersionHLDS-Shield == 1 return okapi_ret_supercede #endif } log_to_file(settings,string5,PrefixProtection,UserName(index),PlayerIP(index),msg,Argv(),Args(),localas[index],get_pcvar_num(LimitPrintf)) } else{ if(locala[index] >=get_pcvar_num(LimitPrintf)){ locala[index]=EOS #if Type_VersionHLDS-Shield == 1 return okapi_ret_supercede #endif } log_to_file(settings,string5,PrefixProtection,UserName(index),PlayerIP(index),msg,Argv(),Args(),locala[index],get_pcvar_num(LimitPrintf)) } } } else if(log==0x06){ if(locala[index]==get_pcvar_num(LimitPrintf)){ return PLUGIN_HANDLED } else{ log_to_file(settings,string6,PrefixProtection,msg,Argv(),Args(),locala[index],get_pcvar_num(LimitPrintf)) } } else if(log==0x02){ if(ServerVersion == EOS){ #if Type_VersionHLDS-Shield == 1 okapi_get_ptr_array(net_adrr(),data,net_adr) #endif formatex(getip,charsmax(getip),"%d.%d.%d.%d",data[ip][0x00], data[ip][0x01], data[ip][0x02], data[ip][0x03]) } else{ formatex(getip,charsmax(getip),"not supported for rehlds") } if(locala[index]==get_pcvar_num(LimitPrintf)){ return PLUGIN_HANDLED } else{ log_to_file(settings,string3,PrefixProtection,buffer,getip,msg,locala[index],get_pcvar_num(LimitPrintf)) } } else if(log==0x03){ if(ServerVersion == EOS){ if(ServerVersion == EOS){ #if Type_VersionHLDS-Shield == 1 okapi_get_ptr_array(net_adrr(),data,net_adr) #endif formatex(getip,charsmax(getip),"%d.%d.%d.%d",data[ip][0x00], data[ip][0x01], data[ip][0x02], data[ip][0x03]) } else{ formatex(getip,charsmax(getip),"not supported for rehlds") } } else{ formatex(getip,charsmax(getip),"not supported for rehlds") } if(locala[index]==get_pcvar_num(LimitPrintf)){ return 0 } else{ log_to_file(settings,string4,PrefixProtection,getip,msg,locala[index],get_pcvar_num(LimitPrintf)) } } else if(log==0x07){ //okapi_get_ptr_array(net_adrr(),data,net_adr) //formatex(getip,charsmax(getip),"%d.%d.%d.%d",data[ip][0x00], data[ip][0x01], data[ip][0x02], data[ip][0x03]) //log_to_file(settings,string4,PrefixProtection,getip,msg,floodtimer,get_pcvar_num(LimitSV_ConnectClient)) } else if(log==0x08){ if(!strlen(buffer)){ if(ServerVersion == EOS){ #if Type_VersionHLDS-Shield == 1 okapi_get_ptr_array(net_adrr(),data,net_adr) #endif formatex(getip,charsmax(getip),"%d.%d.%d.%d",data[ip][0x00], data[ip][0x01], data[ip][0x02], data[ip][0x03]) } else{ formatex(getip,charsmax(getip),"not supported for rehlds") } log_to_file(settings,string72,PrefixProtection,getip,msg) return 0 } if(ServerVersion == EOS){ #if Type_VersionHLDS-Shield == 1 okapi_get_ptr_array(net_adrr(),data,net_adr) #endif formatex(getip,charsmax(getip),"%d.%d.%d.%d",data[ip][0x00], data[ip][0x01], data[ip][0x02], data[ip][0x03]) } else{ formatex(getip,charsmax(getip),"not supported for rehlds") } log_to_file(settings,string7,PrefixProtection,buffer,getip,msg) return 1; } else if(log==17){ log_to_file(settings,string17,PrefixProtection,PlayerIP(index),msg,savedata) } else if(log==0x09){ if(ServerVersion == EOS){ #if Type_VersionHLDS-Shield == 1 okapi_get_ptr_array(net_adrr(),data,net_adr) #endif formatex(getip,charsmax(getip),"%d.%d.%d.%d",data[ip][0x00], data[ip][0x01], data[ip][0x02], data[ip][0x03]) } else{ formatex(getip,charsmax(getip),"not supported for rehlds") } log_to_file(settings,string8,PrefixProtection,buffer,getip,msg) } else if(log==10){ log_to_file(settings,string6,PrefixProtection,msg,Argv(),Args(),hola,get_pcvar_num(LimitPrintf)) } else if(log==11){ if(ServerVersion == EOS){ #if Type_VersionHLDS-Shield == 1 okapi_get_ptr_array(net_adrr(),data,net_adr) #endif formatex(getip,charsmax(getip),"%d.%d.%d.%d",data[ip][0x00], data[ip][0x01], data[ip][0x02], data[ip][0x03]) } else{ formatex(getip,charsmax(getip),"not supported for rehlds") } log_to_file(settings,string4,PrefixProtection,getip,msg,hola,get_pcvar_num(LimitPrintf)) } else if(log==12){ log_to_file(settings,"%s The connection ^"%s^" was added in SV_ReadPackets for ^"%s^" minutes",PrefixProtection,Argv2(),Argv1()) } else if(log==13){ log_to_file(settings,"%s I found a bug in SV_AddIP_f , returned",PrefixProtection) } else if(log==14){ if(ServerVersion == EOS){ #if Type_VersionHLDS-Shield == 1 okapi_get_ptr_array(net_adrr(),data,net_adr) #endif formatex(getip,charsmax(getip),"%d.%d.%d.%d",data[ip][0x00], data[ip][0x01], data[ip][0x02], data[ip][0x03]) } else{ formatex(getip,charsmax(getip),"not supported for rehlds") } #if Type_VersionHLDS-Shield == 1 log_to_file(settings,string9,PrefixProtection,getip,msg,Args(),hola,get_pcvar_num(LimitPrintfRcon)) #endif } else if(log==15){ log_to_file(settings,"%s I found suspicious file %s (Name: %s IP: %s)",PrefixProtection,savefilename,UserName(index),PlayerIP (index)) } else if(log==16){ log_to_file(settings,string10,PrefixProtection,UserName(index),PlayerIP(index),msg,Argv(),hola) } if(get_pcvar_num(AgresiveFunction)==1){ if(strlen(msg)){ // exception null string namespammer/overflowed/etc... new createmsg[255] formatex(createmsg,charsmax(createmsg),"%s Rejected for violation function %s",PrefixProtection,msg) SV_RejectConnection_user(index,createmsg) set_task(1.0,"ProtectPlayerDontExistSVC",index) } } if(get_pcvar_num(AgresiveFunction)==2){ if(strlen(msg)){ // exception null string namespammer/overflowed/etc... new AddressHLDS[32] get_cvar_string("net_address",AddressHLDS,charsmax(AddressHLDS)) server_cmd("addip %d %s",get_pcvar_num(BanTime),PlayerIP(index)) server_cmd("banid %d ^"%s^"",get_pcvar_num(BanTime),BufferSteamID(index)) if(containi(PlayerIP(index),AddressHLDS) != -0x01){ // for sv_connectclient blabla if(ServerVersion == EOS){ #if Type_VersionHLDS-Shield == 1 okapi_get_ptr_array(net_adrr(),data,net_adr) #endif formatex(getip,charsmax(getip),"%d.%d.%d.%d",data[ip][0x00], data[ip][0x01], data[ip][0x02], data[ip][0x03]) } else{ formatex(getip,charsmax(getip),"not supported for rehlds") } server_cmd("addip %d %s",get_pcvar_num(BanTime),getip) } } } if(pedeapsa==0x01){ formatex(bomba2,charsmax(bomba2),"%s You has been detected for %s (%s) || Arguments %s %s^n",PrefixProtection,msg,PlayerIP (index),Argv(),Args()) SV_RejectConnection_user(index,bomba2) server_cmd("kick #%d %s",GetUserID(index),bomba2) } else if(pedeapsa ==0x02){ SV_RejectConnection_user(index,bomba) server_cmd("addip %d %s",get_pcvar_num(BanTime),PlayerIP(index)) } else if(pedeapsa==0x03){ replace_all(buffer,0x21,"%"," ") server_cmd("kick ^"%s^" %s",buffer,bomba) } else if(pedeapsa==0x04){ if(ServerVersion == EOS){ #if Type_VersionHLDS-Shield == 1 okapi_get_ptr_array(net_adrr(),data,net_adr) #endif formatex(getip,charsmax(getip),"%d.%d.%d.%d",data[ip][0x00], data[ip][0x01], data[ip][0x02], data[ip][0x03]) } else{ formatex(getip,charsmax(getip),"not supported for rehlds") } server_cmd("addip %d %s",get_pcvar_num(BanTime),getip) } else if(pedeapsa==0x05){ replace_all(buffer,0x21,"%"," ") server_cmd("kick ^"%s^" %s",buffer,bomba) } return 1 } #if Type_VersionHLDS-Shield == 1 stock Create_Signature(address[]){ if(equali(address,"Cmd_ExecuteString")){ new cmdexecutestrinfile = fopen(orpheufile1,"wb") fprintf(cmdexecutestrinfile,"{^n") fprintf(cmdexecutestrinfile,"^"name^" : ^"Cmd_ExecuteString^",^n") fprintf(cmdexecutestrinfile,"^"library^" : ^"engine^",^n") if(is_linux_server()){ fprintf(cmdexecutestrinfile,"^"arguments^" :^n") fprintf(cmdexecutestrinfile,"[^n") fprintf(cmdexecutestrinfile,"{^n") fprintf(cmdexecutestrinfile,"^"type^" : ^"char *^"^n") fprintf(cmdexecutestrinfile,"}^n") fprintf(cmdexecutestrinfile,"],^n") // 1 } else{ fprintf(cmdexecutestrinfile,"^"arguments^" :^n") fprintf(cmdexecutestrinfile,"[^n") fprintf(cmdexecutestrinfile,"{^n") fprintf(cmdexecutestrinfile,"^"type^" : ^"long^"^n") fprintf(cmdexecutestrinfile,"},^n") fprintf(cmdexecutestrinfile,"{^n") fprintf(cmdexecutestrinfile,"^"type^" : ^"long^"^n") fprintf(cmdexecutestrinfile,"}^n") fprintf(cmdexecutestrinfile,"],^n") // 1 } fprintf(cmdexecutestrinfile,"^"identifiers^":^n") fprintf(cmdexecutestrinfile,"[^n") fprintf(cmdexecutestrinfile,"{^n") fprintf(cmdexecutestrinfile,"^"os^" : ^"windows^",^n") if(GetEngineVersion()>=8000){ fprintf(cmdexecutestrinfile,"^"value^" : [0x55,0x8B,0xEC,0x8B,0x45,^"*^",^"*^",^"*^",^"*^",0x6A,^"*^",0x50,0x51,0xE8,0x1E,^"*^",^"*^",^"*^",0x83,^"*^",^"*^",^"*^",^"*^"]^n") } else if(GetEngineVersion()>=6153){ fprintf(cmdexecutestrinfile,"^"value^" : [0x55,0x8B,0xEC,0x8B,^"*^",^"*^",^"*^",0x45,^"*^",0x56,0x51,^"*^",^"*^",^"*^",0x69,^"*^",^"*^",^"*^",^"*^",^"*^",^"*^",0x83,^"*^",^"*^",^"*^",0x23,^"*^",^"*^",^"*^",0x85,^"*^",^"*^"]^n") } else if(GetEngineVersion()<6152){ fprintf(cmdexecutestrinfile,"^"value^" : [0x55,0x8B,0xEC,0x8B,0x4D,^"*^",0x8B,0x45,^"*^",0x56,0x51,^"*^",^"*^",0x34,^"*^",^"*^",^"*^",0x6B,^"*^",^"*^",^"*^",^"*^",^"*^",^"*^"]^n") } fprintf(cmdexecutestrinfile,"},^n") fprintf(cmdexecutestrinfile,"{^n") fprintf(cmdexecutestrinfile,"^"os^" : ^"linux^",^n") fprintf(cmdexecutestrinfile,"^"value^" : ^"Cmd_ExecuteString^"^n") fprintf(cmdexecutestrinfile,"}^n") fprintf(cmdexecutestrinfile,"]^n") fprintf(cmdexecutestrinfile,"}^n") fclose(cmdexecutestrinfile) } else{ } if(equali(address,"MSG_ReadShort")){ new msgshortfile = fopen(orpheufile2,"wb") fprintf(msgshortfile,"{") fprintf(msgshortfile,"^"name^" : ^"MSG_ReadShort^",") fprintf(msgshortfile,"^"library^" : ^"engine^",") fprintf(msgshortfile,"^"return^" :") fprintf(msgshortfile,"{") fprintf(msgshortfile,"^"type^" : ^"long^"") fprintf(msgshortfile,"},") fprintf(msgshortfile,"^"identifiers^":") fprintf(msgshortfile,"[") fprintf(msgshortfile,"{") fprintf(msgshortfile,"^"os^" : ^"windows^",") fprintf(msgshortfile,"^"value^" : [0x55,0x8B,0xEC,0x83,0xEC,^"*^",^"*^",^"*^",^"*^",^"*^",^"*^",^"*^",0x45,^"*^",^"*^",0x45,^"*^",^"*^",^"*^",^"*^",^"*^",0x45,^"*^",^"*^"]") fprintf(msgshortfile,"},") fprintf(msgshortfile,"{") fprintf(msgshortfile,"^"os^" : ^"linux^",") fprintf(msgshortfile,"^"value^" : ^"MSG_ReadShort^"") fprintf(msgshortfile,"}") fprintf(msgshortfile,"]") fprintf(msgshortfile,"}") fclose(msgshortfile) } if(equali(address,"SV_ParseConsistencyResponse")){ new queryserver = fopen(orpheufile9,"wb") fprintf(queryserver,"{^n") fprintf(queryserver,"^"name^" : ^"SV_ParseConsistencyResponse^",^n") fprintf(queryserver,"^"library^" : ^"engine^",^n") fprintf(queryserver,"^"identifiers^":^n") fprintf(queryserver,"[^n") fprintf(queryserver,"{^n") fprintf(queryserver,"^"os^" : ^"windows^",^n") fprintf(queryserver,"^"value^" : [0x55,0x8B,0xEC,0x81,0xEC,^"*^",^"*^",^"*^",^"*^",0x53,0x56,0x57,0x33,^"*^",0x6A,^"*^",0x89]^n") fprintf(queryserver,"},^n") fprintf(queryserver,"{^n") fprintf(queryserver,"^"os^" : ^"linux^",^n") fprintf(queryserver,"^"value^" : ^"SV_ParseConsistencyResponse^"^n") fprintf(queryserver,"}^n") fprintf(queryserver,"]^n") fprintf(queryserver,"}^n") fclose(queryserver) } if(equali(address,"PF_WriteString_I")){ new PF_WriteString_I = fopen(orpheufile10,"wb") fprintf(PF_WriteString_I,"{") fprintf(PF_WriteString_I,"^"name^" : ^"PF_WriteString_I^",") fprintf(PF_WriteString_I,"^"library^" : ^"engine^",") fprintf(PF_WriteString_I,"^"arguments^" :") fprintf(PF_WriteString_I,"[") fprintf(PF_WriteString_I,"{") fprintf(PF_WriteString_I,"^"type^" : ^"char *^"") fprintf(PF_WriteString_I,"}") fprintf(PF_WriteString_I,"],") fprintf(PF_WriteString_I,"^"identifiers^":") fprintf(PF_WriteString_I,"[") fprintf(PF_WriteString_I,"{") fprintf(PF_WriteString_I,"^"os^" : ^"windows^",") fprintf(PF_WriteString_I,"^"value^" : [0x55,0x8B,0xEC,0x53,0x8B,0x5D,^"*^",0x56,0x8B,0x75,^"*^",0x83,^"*^",^"*^",0x57,0x74]") // posibile crash in windows idk fprintf(PF_WriteString_I,"},") fprintf(PF_WriteString_I,"{") fprintf(PF_WriteString_I,"^"os^" : ^"linux^",") fprintf(PF_WriteString_I,"^"value^" : ^"PF_WriteString_I^"") fprintf(PF_WriteString_I,"}") fprintf(PF_WriteString_I,"]") fprintf(PF_WriteString_I,"}") fclose(PF_WriteString_I) } if(equali(address,"UTIL_ClientPrint")){ new utilclientprint = fopen(orpheufile11,"wb") fprintf(utilclientprint,"{") fprintf(utilclientprint,"^"name^" : ^"UTIL_ClientPrint^",") fprintf(utilclientprint,"^"library^" : ^"amxmodx_mm^",") fprintf(utilclientprint,"^"arguments^" :") fprintf(utilclientprint,"[") fprintf(utilclientprint,"{") fprintf(utilclientprint,"^"type^" : ^"edict_s *^"") fprintf(utilclientprint,"},") fprintf(utilclientprint,"{") fprintf(utilclientprint,"^"type^" : ^"int^"") fprintf(utilclientprint,"},") fprintf(utilclientprint,"{") fprintf(utilclientprint,"^"type^" : ^"char *^"") fprintf(utilclientprint,"}") fprintf(utilclientprint,"],") fprintf(utilclientprint,"^"identifiers^":") fprintf(utilclientprint,"[") fprintf(utilclientprint,"{") fprintf(utilclientprint,"^"os^" : ^"windows^",") fprintf(utilclientprint,"^"value^" : [0x83,^"*^",^"*^",^"*^",^"*^",^"*^",0x00,0x74,^"*^",0x8B,0x44,^"*^",^"*^",0x53,0x56,0x8B,0x74,^"*^",^"*^",0x8A,0x9E,^"*^",^"*^",^"*^",^"*^",0xC6,0x86,^"*^",^"*^",^"*^",^"*^",0x00,0x85,0xC0,0x74,^"*^",0x50,0xA1,^"*^",^"*^",^"*^",^"*^",0x6A,0x00,0x50,0x6A,0x01,0xEB]") fprintf(utilclientprint,"},") fprintf(utilclientprint,"{") fprintf(utilclientprint,"^"os^" : ^"linux^",") fprintf(utilclientprint,"^"value^" : ^"UTIL_ClientPrint^"") fprintf(utilclientprint,"}") fprintf(utilclientprint,"]") fprintf(utilclientprint,"}") fclose(utilclientprint) } if(equali(address,"MSG_ReadBits")){ new msgshortfile = fopen(orpheufile8,"wb") fprintf(msgshortfile,"{") fprintf(msgshortfile,"^"name^" : ^"MSG_ReadBits^",") fprintf(msgshortfile,"^"library^" : ^"engine^",") fprintf(msgshortfile,"^"arguments^" :") fprintf(msgshortfile,"[") fprintf(msgshortfile,"{") fprintf(msgshortfile,"^"type^" : ^"long^"") fprintf(msgshortfile,"}") fprintf(msgshortfile,"],") fprintf(msgshortfile,"^"return^" :") fprintf(msgshortfile,"{") fprintf(msgshortfile,"^"type^" : ^"long^"") fprintf(msgshortfile,"},") fprintf(msgshortfile,"^"identifiers^":") fprintf(msgshortfile,"[") fprintf(msgshortfile,"{") fprintf(msgshortfile,"^"os^" : ^"windows^",") fprintf(msgshortfile,"^"value^" : [0x55,0x8B,0xEC,0xA1,^"*^",^"*^",^"*^",^"*^",0x85,^"*^",0x74,^"*^",0xB8]") fprintf(msgshortfile,"},") fprintf(msgshortfile,"{") fprintf(msgshortfile,"^"os^" : ^"linux^",") fprintf(msgshortfile,"^"value^" : ^"MSG_ReadBits^"") fprintf(msgshortfile,"}") fprintf(msgshortfile,"]") fprintf(msgshortfile,"}") fclose(msgshortfile) } if(equali(address,"SV_GetIDString")){ new getidstringfile = fopen(orpheufile7,"wb") fprintf(getidstringfile,"{^n") fprintf(getidstringfile,"^"name^" : ^"SV_GetIDString^",^n") fprintf(getidstringfile,"^"library^" : ^"engine^",^n") fprintf(getidstringfile,"^"arguments^" :^n") fprintf(getidstringfile,"[^n") fprintf(getidstringfile,"{^n") fprintf(getidstringfile,"^"type^" : ^"long^"^n") fprintf(getidstringfile,"}^n") fprintf(getidstringfile,"],^n") fprintf(getidstringfile,"^"return^" :^n") fprintf(getidstringfile,"{^n") fprintf(getidstringfile,"^"type^" : ^"char *^"^n") fprintf(getidstringfile,"},^n") fprintf(getidstringfile,"^"identifiers^":^n") fprintf(getidstringfile,"[^n") fprintf(getidstringfile,"{^n") fprintf(getidstringfile,"^"os^" : ^"windows^",^n") fprintf(getidstringfile,"^"value^" : [0x55,0x8B,^"*^",0x83,^"*^",^"*^",0x8B,^"*^",^"*^",0xC6, ^"*^",^"*^",^"*^",^"*^",^"*^",^"*^",0x85,^"*^",0x0F,^"*^",^"*^" ,^"*^",^"*^",^"*^",0x8B,^"*^",0x48,0x0F]^n") fprintf(getidstringfile,"},^n") fprintf(getidstringfile,"{^n") fprintf(getidstringfile,"^"os^" : ^"linux^",^n") fprintf(getidstringfile,"^"value^" : ^"SV_GetIDString^"^n") fprintf(getidstringfile,"}^n") fprintf(getidstringfile,"]^n") fprintf(getidstringfile,"}^n") fclose(getidstringfile) } if(equali(address,"SV_Drop_f")){ new svdropffile = fopen(orpheufile4,"wb") fprintf(svdropffile,"{") fprintf(svdropffile,"^"name^" : ^"SV_Drop_f^",") fprintf(svdropffile,"^"library^" : ^"engine^",") fprintf(svdropffile,"^"return^" :") fprintf(svdropffile,"{") fprintf(svdropffile,"^"type^" : ^"bool^"") fprintf(svdropffile,"},") fprintf(svdropffile,"^"identifiers^":") fprintf(svdropffile,"[") fprintf(svdropffile,"{") fprintf(svdropffile,"^"os^" : ^"windows^",") if(GetEngineVersion()>=8000){ fprintf(svdropffile,"^"value^" : [0xE8,0x0D,0x9F,^"*^",^"*^",^"*^",^"*^",^"*^",0x66,^"*^",^"*^",^"*^",^"*^",^"*^",^"*^",0x50,0x68,^"*^"]") } else if(GetEngineVersion()>=5700){ fprintf(svdropffile,"^"value^" : [0xE8,0x4D,0xA0,^"*^",^"*^",^"*^",0x7C,^"*^",0x66,^"*^",^"*^",^"*^",^"*^",^"*^",^"*^",0x50,0x68,^"*^"]") } else if(GetEngineVersion()<=5699){ fprintf(svdropffile,"^"value^" : [0xE8,0x1D,0xA1,^"*^",^"*^",^"*^",^"*^",0x45,^"*^",^"*^",^"*^",^"*^",^"*^",^"*^",^"*^",0x50,0x68,0x60]") } fprintf(svdropffile,"},") fprintf(svdropffile,"{") fprintf(svdropffile,"^"os^" : ^"linux^",") fprintf(svdropffile,"^"value^" : ^"SV_Drop_f^"") fprintf(svdropffile,"}") fprintf(svdropffile,"]") fprintf(svdropffile,"}") fclose(svdropffile) } if(equali(address,"MSG_ReadLong")){ new msgreadlongfile = fopen(orpheufile3,"wb") fprintf(msgreadlongfile,"{") fprintf(msgreadlongfile,"^"name^" : ^"MSG_ReadLong^",") fprintf(msgreadlongfile,"^"library^" : ^"engine^",") fprintf(msgreadlongfile,"^"return^" :") fprintf(msgreadlongfile,"{") fprintf(msgreadlongfile,"^"type^" : ^"long^"") fprintf(msgreadlongfile,"},") fprintf(msgreadlongfile,"^"identifiers^":") fprintf(msgreadlongfile,"[") fprintf(msgreadlongfile,"{") fprintf(msgreadlongfile,"^"os^" : ^"windows^",") fprintf(msgreadlongfile,"^"value^" :[0x8B,0x0D,^"*^",^"*^",^"*^",^"*^",0xA1,^"*^",^"*^",^"*^",^"*^",0x57,0x8D,0x79,0x04,0x3B,0xF8,0x7E,0x0F,0xC7,0x05,^"*^",^"*^",^"*^",^"*^",^"*^",^"*^",^"*^",^"*^",0x83,0xC8,0xFF,0x5F,0xC3,0x56,0x8B,0x35,^"*^",^"*^",^"*^",^"*^",0x33,0xC0,0x33,0xD2,0x8A,0x44,0x0E,0x03,0x8A,0x54,0x0E,0x02,0xC1,0xE0,0x08,0x03,0xC2,0x33,0xD2,0x8A,0x54,0x0E,0x01,0x89,0x3D,^"*^",^"*^",^"*^",^"*^",0xC1,0xE0,0x08,0x03,0xC2,0x33,0xD2,0x8A,0x14,0x0E,0x5E,0xC1,0xE0,0x08,0x03,0xC2,0x5F,0xC3]") fprintf(msgreadlongfile,"},") fprintf(msgreadlongfile,"{") fprintf(msgreadlongfile,"^"os^" : ^"linux^",") fprintf(msgreadlongfile,"^"value^" : ^"MSG_ReadLong^"") fprintf(msgreadlongfile,"}") fprintf(msgreadlongfile,"]") fprintf(msgreadlongfile,"}") fclose(msgreadlongfile) } if(equali(address,"SV_ForceFullClientsUpdate")){ new updateclient = fopen(orpheufile5,"wb") fprintf(updateclient,"{") fprintf(updateclient,"^"name^" : ^"SV_ForceFullClientsUpdate^",") fprintf(updateclient,"^"library^" : ^"engine^",") fprintf(updateclient,"^"return^" :") fprintf(updateclient,"{") fprintf(updateclient,"^"type^" : ^"bool^"") fprintf(updateclient,"},") fprintf(updateclient,"^"identifiers^":") fprintf(updateclient,"[") fprintf(updateclient,"{") fprintf(updateclient,"^"os^" : ^"windows^",") if(GetEngineVersion()>=8000){ fprintf(updateclient,"^"value^" : [0x55,0x8B,0xEC,^"*^",^"*^",0x24,^"*^",^"*^",^"*^",0x43,^"*^",^"*^",^"*^",0x56,0x57,^"*^",^"*^",^"*^",0x45,^"*^",^"*^",^"*^",0x50,^"*^",^"*^",^"*^",^"*^",^"*^",^"*^",0x68,0x53,^"*^"]") } else if(GetEngineVersion()<=4555){ fprintf(updateclient,"^"value^" : [0x55,0x8B,0xEC,^"*^",^"*^",^"*^",^"*^",^"*^",^"*^",^"*^",^"*^",^"*^",^"*^",0x56,0x57,^"*^",^"*^",^"*^",0x45,^"*^",0x6A,^"*^",0x50,^"*^",^"*^",^"*^",^"*^",^"*^",^"*^",^"*^",^"*^",^"*^",^"*^",^"*^",0x35,0x84,^"*^",^"*^",^"*^",0x83,^"*^",^"*^",^"*^",^"*^",^"*^",^"*^",^"*^",^"*^"]") } fprintf(updateclient,"},") fprintf(updateclient,"{") fprintf(updateclient,"^"os^" : ^"linux^",") fprintf(updateclient,"^"value^" : ^"SV_ForceFullClientsUpdate^"") fprintf(updateclient,"}") fprintf(updateclient,"]") fprintf(updateclient,"}") fclose(updateclient) } if(equali(address,"SV_ConnectionslessPacket")){ new queryserver = fopen(orpheufile6,"wb") fprintf(queryserver,"{^n") fprintf(queryserver,"^"name^" : ^"SV_ConnectionlessPacket^",^n") fprintf(queryserver,"^"library^" : ^"engine^",^n") fprintf(queryserver,"^"identifiers^":^n") fprintf(queryserver,"[^n") fprintf(queryserver,"{^n") fprintf(queryserver,"^"os^" : ^"windows^",^n") fprintf(queryserver,"^"value^" : [0x56,0x57,^"*^",0x39,^"*^",^"*^",^"*^",^"*^",0x64,^"*^",^"*^",^"*^",^"*^",^"*^",^"*^",^"*^"]^n") fprintf(queryserver,"},^n") fprintf(queryserver,"{^n") fprintf(queryserver,"^"os^" : ^"linux^",^n") fprintf(queryserver,"^"value^" : ^"SV_ConnectionlessPacket^"^n") fprintf(queryserver,"}^n") fprintf(queryserver,"]^n") fprintf(queryserver,"}^n") fclose(queryserver) } } public ReadFileCheck(const file[]) { gFileData = ArrayCreate(FileData); gTrie = TrieCreate(); new f = fopen(file, "r") static szString[800], fMd5[11],data[FileData],i = EOS while(!feof(f)){ fgets(f,szString,charsmax(szString)) trim(szString) if(!szString[0] || szString[0] != '^"') continue; parse(szString, data[FileName], 31, data[FileMD5], 33, data[FileDetect], 63) remove_quotes(data[FileName]) remove_quotes(data[FileMD5]) remove_quotes(data[FileDetect]) for(i = EOS; i < 8; i++){ fMd5[i] = data[FileMD5][i]; } fMd5[i] = '^0'; ArrayPushArray(gFileData, data) TrieSetCell(gTrie, fMd5, total_pos) total_pos ++; force_unmodified(force_exactfile, {EOS,EOS,EOS},{EOS,EOS,EOS},data[FileName]) } fclose(f) } #endif stock PrintUnknown_function(id) { new longfuckgame[200] if(id){ formatex(longfuckgame,charsmax(longfuckgame),"%s Unknown command: ^"%s^" Sendend by (%s-%s)",PrefixProtection,Argv(),UserName(id),PlayerIP(id)) } else{ formatex(longfuckgame,charsmax(longfuckgame),"%s Unknown command: ^"%s^" Sendend by server console",PrefixProtection,Argv()) } if(strlen(Argv())){ switch(get_pcvar_num(PrintUnknown)){ case 1:server_print(longfuckgame) case 2:log_to_file(settings,longfuckgame) } } return 0 } public force_exit(){ server_cmd("quit") } stock bool:is_user_visible(const host,const who) { static tr,Float:fFraction,Float:fPosHost[3],Float:fOfsHost[3], Float:fPosWho[3],Float:fOfsWho[3] pev(host,pev_origin,fPosHost) pev(host,pev_view_ofs,fOfsHost) fPosHost[0]+=fOfsHost[0] fPosHost[1]+=fOfsHost[1] fPosHost[2]+=fOfsHost[2] pev(who,pev_origin,fPosWho) pev(who,pev_view_ofs,fOfsWho) fOfsWho[0]+=fPosWho[0] fOfsWho[1]+=fPosWho[1] fOfsWho[2]+=fPosWho[2]+12 engfunc(EngFunc_TraceLine,fPosHost,fOfsWho,IGNORE_GLASS|IGNORE_MONSTERS,host,tr) get_tr2(tr,TR_flFraction,fFraction) if(fFraction==1.0){ return true } static Float:fVecRightHost[3],Float:fVecRightSrcHost[3] global_get(glb_v_right,fVecRightHost) fVecRightHost[0]*=18 fVecRightHost[1]*=18 fVecRightHost[2]*=18 fVecRightSrcHost[0]=fPosWho[0]+fVecRightHost[0] fVecRightSrcHost[1]=fPosWho[1]+fVecRightHost[1] fVecRightSrcHost[2]=fPosWho[2]+fVecRightHost[2] engfunc(EngFunc_TraceLine,fPosHost,fVecRightSrcHost,IGNORE_GLASS|1,host,tr) get_tr2(tr,TR_flFraction,fFraction) if(fFraction==1.0){ return true } static Float:fVecLeftSrcHost[3] fVecLeftSrcHost[0]=fPosWho[0]-fVecRightHost[0] fVecLeftSrcHost[1]=fPosWho[1]-fVecRightHost[1] fVecLeftSrcHost[2]=fPosWho[2]-fVecRightHost[2] engfunc(EngFunc_TraceLine,fPosHost,fVecLeftSrcHost,IGNORE_GLASS|1,host,tr) get_tr2(tr,TR_flFraction,fFraction) if(fFraction==1.0){ return true } return false } stock BufferName(info[],size,name[],size_name = 31) // nu pune mai mare decat 31 { new heh = 0x00; if ((heh = containi(info, "\name\") ) != -1){ heh += 0x06; new len = 0x00; while(info[heh] != '\' && info[heh] != '"' && len < size_name && heh < size) name[len++] = info[heh++]; name[len] = EOS; } else{ name[0x00] = EOS; } } public ev_CurWeapon(id){ g_Team[id]=get_user_team(id) } public ev_PlayerSpawn(id){ add_alive_property(id) } public ev_PlayerDeath(){ new id = engfunc(EngFunc_GetCurrentPlayer)+0x01 del_alive_property(id) } stock Send_CalculationsTimeBan(valueint,function,userfile[]){ new daysX[32],monthsX[12],yearsX[10],secondsX[32],minutesX[32],hourX[10],textstring[50] new YearsCalculate,MonthsCalculate,DaysCalculate,HourCalculate,MinutesCalculate,SecondsCalculate new days2[32],months2[12],years2[10],getclock[32],seconds2[32],minutes2[32],hour2[10] get_time("%x/%H/%M/%S",getclock,charsmax(getclock)) Calculations_inGalematicsSpace(valueint) formatex(textstring,charsmax(textstring),"%s",convertortime) copyc(years2,charsmax(years2),getclock[6],'/') //day copyc(months2,charsmax(months2),getclock[0],'/') // luna copyc(days2,charsmax(days2),getclock[3],'/') //day copyc(hour2,charsmax(hour2),getclock[9],'/') //day copyc(minutes2,charsmax(minutes2),getclock[12],'/') //day copyc(seconds2,charsmax(seconds2),getclock[15],'/') //day copyc(yearsX,charsmax(yearsX),textstring[1],'y') //day copyc(monthsX,charsmax(monthsX),textstring[4],'m') // luna if(containi(yearsX,"0") != -0x01){ copyc(daysX,charsmax(daysX),textstring[7],'d') //day copyc(hourX,charsmax(hourX),textstring[11],'h') //day copyc(minutesX,charsmax(minutesX),textstring[15],'n') //day copyc(secondsX,charsmax(secondsX),textstring[19],'s') //day new secondsINT = abs(str_to_num(seconds2)) // to int new secondsXINT = abs(str_to_num(secondsX)) // to int new minutesINT = abs(str_to_num(minutes2)) // to int new minutesXINT = abs(str_to_num(minutesX)) // to int new hourINT = abs(str_to_num(hour2)) // to int new hourXINT = abs(str_to_num(hourX)) // to int new daysINT = abs(str_to_num(days2)) // to int new daysXINT = abs(str_to_num(daysX)) // to int new monthsINT = abs(str_to_num(months2)) // to int new monthsXINT = abs(str_to_num(monthsX)) // to int new yearsINT = abs(str_to_num(years2)) // to int new yearsXINT = abs(str_to_num(yearsX)) // to int YearsCalculate = yearsINT+yearsXINT MonthsCalculate = monthsINT+monthsXINT DaysCalculate = daysINT+daysXINT HourCalculate = hourINT+hourXINT MinutesCalculate = minutesINT+minutesXINT SecondsCalculate = secondsINT+secondsXINT if(SecondsCalculate>=60){ MinutesCalculate+=1 SecondsCalculate=1 } if(MinutesCalculate>=60){ HourCalculate+=1 MinutesCalculate=1 } if(HourCalculate>=24){ DaysCalculate+=1 HourCalculate=1 } if(DaysCalculate>=28){ MonthsCalculate+=1 DaysCalculate=1 } if(MonthsCalculate>=12){ YearsCalculate+=1 MonthsCalculate=1 } formatex(GetTimeReal,charsmax(GetTimeReal),"%d%d%d%d%d%d",yearsINT,monthsINT,daysINT,hourINT,minutesINT,secondsINT) formatex(GetTimeFile,charsmax(GetTimeFile),"%d%d%d%d%d%d",YearsCalculate,MonthsCalculate,DaysCalculate,HourCalculate,MinutesCalculate,SecondsCalculate) if(function == EOS){ MakeFileBanned(userfile) } } else{ copyc(daysX,charsmax(daysX),textstring[7],'d') //day copyc(hourX,charsmax(hourX),textstring[11],'h') //day copyc(minutesX,charsmax(minutesX),textstring[15],'n') //day copyc(secondsX,charsmax(secondsX),textstring[20],'s') //day new secondsINT = abs(str_to_num(seconds2)) // to int new secondsXINT = abs(str_to_num(secondsX)) // to int new minutesINT = abs(str_to_num(minutes2)) // to int new minutesXINT = abs(str_to_num(minutesX)) // to int new hourINT = abs(str_to_num(hour2)) // to int new hourXINT = abs(str_to_num(hourX)) // to int new daysINT = abs(str_to_num(days2)) // to int new daysXINT = abs(str_to_num(daysX)) // to int new monthsINT = abs(str_to_num(months2)) // to int new monthsXINT = abs(str_to_num(monthsX)) // to int new yearsINT = abs(str_to_num(years2)) // to int new yearsXINT = abs(str_to_num(yearsX)) // to int new YearsCalculate,MonthsCalculate,DaysCalculate,HourCalculate,MinutesCalculate,SecondsCalculate if(secondsINT>=secondsXINT) { } YearsCalculate = yearsINT+yearsXINT MonthsCalculate = monthsINT+monthsXINT DaysCalculate = daysINT+daysXINT HourCalculate = hourINT+hourXINT MinutesCalculate = minutesINT+minutesXINT SecondsCalculate = secondsINT+secondsXINT if(SecondsCalculate>=60){ MinutesCalculate+=1 SecondsCalculate=1 } if(MinutesCalculate>=60){ HourCalculate+=1 MinutesCalculate=1 } if(HourCalculate>=24){ DaysCalculate+=1 HourCalculate=1 } if(DaysCalculate>=28){ MonthsCalculate+=1 DaysCalculate=1 } if(MonthsCalculate>=12){ YearsCalculate+=1 MonthsCalculate=1 } formatex(GetTimeReal,charsmax(GetTimeReal),"%d%d%d%d%d%d",yearsINT,monthsINT,daysINT,hourINT,minutesINT,secondsINT) formatex(GetTimeFile,charsmax(GetTimeFile),"%d%d%d%d%d%d",YearsCalculate,MonthsCalculate,DaysCalculate,HourCalculate,MinutesCalculate,SecondsCalculate) if(function == EOS){ MakeFileBanned(userfile) } } } stock bool:IsLongString(string[],const len) { static cmd[512] while(strlen(string)){ strtok(string, cmd, charsmax(cmd), string, len , ' ', 1 ) if( strlen( cmd ) > 31 ){ return true } } return false } public MakeFileBanned(userfilex[]){ new fileid = fopen(userfilex,"wb") fprintf(fileid,"%s",GetTimeFile) fclose(fileid) } stock PlayerGetPackets(index,function,userinfosettings){ new varget[50],varget2[50],varget3[50],varget4[50] get_pcvar_string(CvarTableName,varget,charsmax(varget)) get_pcvar_string(CvarAdministratorServer,varget2,charsmax(varget2)) get_pcvar_string(CvarFindCvarBuffer,varget3,charsmax(varget3)) get_pcvar_string(CvarCreateBuffer,varget4,charsmax(varget4)) if(function == 1){ new stringbuffer[255] SVC_PrintConsole(index,"^n----------------------------------------------------------------------^n") formatex(stringbuffer,charsmax(stringbuffer),"%s Banned from this channel ^"User_%s^"^n",prefixos,varget) SVC_PrintConsole(index,stringbuffer) formatex(stringbuffer,charsmax(stringbuffer),"%s UserName: ^"%s^"^n",prefixos,UserName(index),PlayerIP(index)) SVC_PrintConsole(index,stringbuffer) formatex(stringbuffer,charsmax(stringbuffer),"%s PlayerIP: ^"%s^"^n",prefixos,PlayerIP(index)) SVC_PrintConsole(index,stringbuffer) formatex(stringbuffer,charsmax(stringbuffer),"%s SteamID: ^"%s^"^n",prefixos,BufferSteamID(index)) SVC_PrintConsole(index,stringbuffer) formatex(stringbuffer,charsmax(stringbuffer),"%s Please contact administrator server : ^"%s^"^n",prefixos,varget2) SVC_PrintConsole(index,stringbuffer) formatex(stringbuffer,charsmax(stringbuffer),"%s Ban Time : ^"%s^"^n",prefixos,convertortime) SVC_PrintConsole(index,stringbuffer) SVC_PrintConsole(index,"----------------------------------------------------------------------^n") client_cmd(index,"spk doop") CL_DebugPrint(index,"ID_Ban") } if(function == 2){ log_to_file(LogFileOS,"----------------------------------------------------------------------") log_to_file(LogFileOS,"%s Banned from this channel ^"User_%s^"",prefixos,varget) log_to_file(LogFileOS,"%s UserName: ^"%s^"",prefixos,UserName(index),PlayerIP(index)) log_to_file(LogFileOS,"%s PlayerIP: ^"%s^"",prefixos,PlayerIP(index)) log_to_file(LogFileOS,"%s SteamID: ^"%s^"",prefixos,BufferSteamID(index)) if(CheckVPN==3){ log_to_file(LogFileOS,"%s VPN Detected: ^"proxy_%s^"",prefixos,PlayerIP(index)) } CL_DebugPrint(index,"ID_VPN") } if(userinfosettings == 1){ log_to_file(LogFileOS,"%s Userinfo Restricted: ^"%s-%s^"",prefixos,varget4,varget3) CL_DebugPrint(index,"ID_Info") } return PLUGIN_CONTINUE } stock VoidFunction(stringUS[],func){ new id = engfunc(EngFunc_GetCurrentPlayer)+0x01 if(is_user_connected(id)){ new string[700] formatex(string,charsmax(string),"%s",stringUS) if(strlen(string)>=150){ return 0 // don't print client message } if(get_pcvar_num(ChatCharFix)==1){ replace_all(string,charsmax(string),"%","%") replace_all(string,charsmax(string),"#","#") } if(get_pcvar_num(ChatCharFix)==2){ replace_all(string,charsmax(string),"%","*") replace_all(string,charsmax(string),"#","*") } else{ if(func==1){ server_print("%s",string) // deoarece e o functie swds/engine } if(func==2){ log_amx("%s",string) // deoarece e o functie amxmodx } } } return 1 } stock Calculations_inGalematicsSpace(value){ new days[32],months[12],years[10],getdate[32],getclock[32],seconds[32],minutes[32],hour[10] get_time("%x",getdate,charsmax(getdate)) get_time("%H:%M:%S",getclock,charsmax(getclock)) copyc(hour,charsmax(hour),getclock[EOS],':') //hour copyc(minutes,charsmax(minutes),getclock[3],':') //minutes copyc(seconds,charsmax(seconds),getclock[6],':') //seconds copyc(months,charsmax(days),getdate[EOS],'/') //month copyc(days,charsmax(days),getdate[3],'/') //day copyc(years,charsmax(years),getdate[6],'/') //year new daysINT = abs(str_to_num(days)) // to int new monthsINT = abs(str_to_num(months)) // to int new yearsINT = abs(str_to_num(years)) // to int new secondsINT = abs(str_to_num(seconds)) // to int new minutesINT = abs(str_to_num(minutes)) // to int new hourINT = abs(str_to_num(hour)) // to int if(value<=59){ secondsINT+=ConvertorInt(value) } if(value>=60){ minutesINT+=ConvertorInt(value) } if(value>=3600){ hourINT+=ConvertorInt(value) } if(value>=86400){ daysINT+=ConvertorInt(value) } if(value>=2629743){ monthsINT+=ConvertorInt(value) } if(value>=31556926){ yearsINT+=ConvertorInt(value) } } stock ConvertorInt(int) { format(convertortime,10,"^x00") hour = EOS,day = EOS,year = EOS,month = EOS,minutes = EOS new temp[64] if(int>=31556926){ for(;int>=31556926;int-=31556926){ year++ } formatex(temp,charsmax(temp),"0%dy", year) add(convertortime,charsmax(convertortime),temp) } else{ formatex(temp,charsmax(temp),"00y", year) add(convertortime,charsmax(convertortime),temp) } if(int>=2629743){ for(;int>=2629743;int-=2629743){ month++ } formatex(temp,charsmax(temp),"0%dm", month) add(convertortime,charsmax(convertortime),temp) } else{ formatex(temp,charsmax(temp),"00m", month) add(convertortime,charsmax(convertortime),temp) } if(int>=86400){ for(;int>=86400;int-=86400){ day++ } formatex(temp,charsmax(temp),"0%dd", day) add(convertortime,charsmax(convertortime),temp) } else{ formatex(temp,charsmax(temp),"00d", day) add(convertortime,charsmax(convertortime),temp) } if(int>=3600){ for(;int>=3600;int-=3600){ hour++ } formatex(temp,charsmax(temp),"00%dh", hour) add(convertortime,charsmax(convertortime),temp) } else{ formatex(temp,charsmax(temp),"00h", hour) add(convertortime,charsmax(convertortime),temp) } if(int>=60){ for(;int>=60;int-=60){ minutes++ } formatex(temp,charsmax(temp),"0%dn",minutes) add(convertortime,charsmax(temp),temp) } else{ formatex(temp,charsmax(temp),"00n", minutes) add(convertortime,charsmax(convertortime),temp) } if(int0){ if(!file_exists(unicodefile)){ if(ifcheckfiledebug==1){ server_print("%s I created file ^"%s^"",PrefixProtection,unicodefile) new FCreateFileVar = fopen(unicodefile,"wb") fprintf(FCreateFileVar,"♥^n") fprintf(FCreateFileVar,"✠^n") fprintf(FCreateFileVar,"☀^n") fprintf(FCreateFileVar,"❤^n") fprintf(FCreateFileVar,"☆^n") fprintf(FCreateFileVar,"☂^n") fprintf(FCreateFileVar,"☻^n") fprintf(FCreateFileVar,"♞^n") fprintf(FCreateFileVar,"☯^n") fprintf(FCreateFileVar,"☭^n") fprintf(FCreateFileVar,"€^n") fprintf(FCreateFileVar,"☢^n") fprintf(FCreateFileVar,"→^n") fclose(FCreateFileVar) ifcheckfiledebug = EOS set_task(1.0,"debug_orpheu") } } unicodenameblock = ArrayCreate(142, 1) new Data2[37], File2 = fopen(unicodefile, "rt") while (!feof(File2)) { fgets(File2, Data2, charsmax(Data2)) trim(Data2) if (Data2[0] == ';' || !Data2[0]) continue; remove_quotes(Data2) ArrayPushString(unicodenameblock,Data2) g_ConsoleStr2++ } fclose(File2) } #if Type_VersionHLDS-Shield == 1 if(get_pcvar_num(RconSkippingCommand)>0){ if(!file_exists(rconfile)){ if(ifcheckfiledebug==1){ server_print("%s I created file ^"%s^"",PrefixProtection,rconfile) new FCreateFileVar = fopen(rconfile,"wb") fprintf(FCreateFileVar,"rcon_password^n") fprintf(FCreateFileVar,"hostname^n") fprintf(FCreateFileVar,"motdfile^n") fprintf(FCreateFileVar,"motd^n") fprintf(FCreateFileVar,"motd_write^n") fprintf(FCreateFileVar,"quit^n") fprintf(FCreateFileVar,"exit^n") fprintf(FCreateFileVar,"host_killtime^n") fprintf(FCreateFileVar,"_restart^n") fprintf(FCreateFileVar,"heartbeat^n") fprintf(FCreateFileVar,"sv_timeout^n") fclose(FCreateFileVar) ifcheckfiledebug = EOS set_task(1.0,"debug_orpheu") } } rconskipping = ArrayCreate(142, 1) new Data3[37], File3 = fopen(rconfile, "rt") while (!feof(File3)) { fgets(File3, Data3, charsmax(Data3)) trim(Data3) if (Data3[0] == ';' || !Data3[0]) continue; remove_quotes(Data3) ArrayPushString(rconskipping,Data3) g_ConsoleStr3++ } fclose(File3) } #endif } public debug_orpheu(){ server_cmd("reload") log_to_file(settings,"%s A file/folder does not exist, i try to repair the situation",PrefixProtection) } #if Type_VersionHLDS-Shield == 1 && Type_VersionHLDS-Shield 1 public destroy_holax(){holax=EOS;} public destroy_fuck(){fuck=EOS;} public destroy_memhack(){memhack=EOS;} public Destroy_Memory(){hola = 0x00;} #endif public Destroy_Fileiplist(){ new fileid = fopen(ip_flitredcmd,"wb") if(fileid){ fprintf(fileid,"^x00") } fclose(fileid) } #if Type_VersionHLDS-Shield == 1 public sv_new_f_debug(id){ if(limitba[id-TASK_ONE4] <= 1/2){ limitba[id-TASK_ONE4]=EOS } } public Shield_ProtectionSpam(id){limita[id-TASK_ONE3] = 0x00;} #endif public LevFunction(id){ mungelimit[id-TASK_ONE]=EOS #if Type_VersionHLDS-Shield == 1 local=EOS #endif } public Register_Settings() { new dirstring[255] ifcheckfiledebug = 1 #define dirosban "addons/amxmodx/configs/settings/OS_Ban/" #define orpheudirname "addons/amxmodx/configs/orpheu/functions" #define orpheudirname2 "addons/amxmodx/configs/orpheu" #define dirmax "addons/amxmodx/configs/settings" new vargetx[90]; get_pcvar_string(CvarTableName,vargetx,charsmax(vargetx)) formatex(dirstring,charsmax(dirstring),"addons/amxmodx/configs/settings/OS_Ban/User_%s",vargetx) if(!dir_exists(dirmax)){ if(ifcheckfiledebug==1){ server_print("%s I created dir (%s)",PrefixProtection,dirmax) mkdir(dirmax) ifcheckfiledebug = EOS set_task(1.0,"debug_orpheu") } } if(!dir_exists(orpheudirname2)){ if(ifcheckfiledebug==1){ server_print("%s I created dir (%s)",PrefixProtection,orpheudirname2) mkdir(orpheudirname2) ifcheckfiledebug = EOS set_task(1.0,"debug_orpheu") } } if(!dir_exists(orpheudirname)){ if(ifcheckfiledebug==1){ server_print("%s I created dir (%s)",PrefixProtection,orpheudirname) mkdir(orpheudirname) ifcheckfiledebug = EOS set_task(1.0,"debug_orpheu") } } if(!file_exists(LogFileOS)){ if(ifcheckfiledebug==1){ server_print("%s I created file ^"%s^"",PrefixProtection,LogFileOS) new filelogos = fopen(LogFileOS,"wb") fprintf(filelogos,"^n") fclose(filelogos) ifcheckfiledebug = EOS set_task(1.0,"debug_orpheu") } } if(!dir_exists(dirstring)){ if(ifcheckfiledebug==1){ server_print("%s I created dir (%s)",PrefixProtection,dirstring) mkdir(dirstring) ifcheckfiledebug = EOS set_task(1.0,"debug_orpheu") } } if(get_pcvar_num(CmdLimitVar)>0){ if(!file_exists(limitfilecmd)){ if(ifcheckfiledebug==1){ server_print("%s I created file ^"%s^"",PrefixProtection,limitfilecmd) new FCreateFileVar = fopen(limitfilecmd,"wb") fprintf(FCreateFileVar,"amx_ban^n") fprintf(FCreateFileVar,"amx_destroy^n") fprintf(FCreateFileVar,"amx_addban^n") fprintf(FCreateFileVar,"amx_banip^n") fprintf(FCreateFileVar,"amx_pika^n") fprintf(FCreateFileVar,"amx_exterminate^n") fprintf(FCreateFileVar,"amx_minne^n") fclose(FCreateFileVar) ifcheckfiledebug = EOS set_task(1.0,"debug_orpheu") } } if(!file_exists(ip_flitredcmd)){ if(ifcheckfiledebug==1){ server_print("%s I created file ^"%s^"",PrefixProtection,ip_flitredcmd) new FCreateFileVar = fopen(ip_flitredcmd,"wb") fprintf(FCreateFileVar,"^x00") fclose(FCreateFileVar) ifcheckfiledebug = EOS set_task(1.0,"debug_orpheu") } } #if Type_VersionHLDS-Shield == 1 if(!file_exists(locatie)){ if(ifcheckfiledebug==1){ server_print("%s I created file ^"%s^"",PrefixProtection,locatie) new FCreateFileVar = fopen(locatie,"wb") fprintf(FCreateFileVar,";Get MD5 file : https://emn178.github.io/online-tools/md5_checksum.html^n") fclose(FCreateFileVar) ifcheckfiledebug = EOS set_task(1.0,"debug_orpheu") } } if(!file_exists(settingsfilecheck)){ if(ifcheckfiledebug==1){ server_print("%s I created file ^"%s^"",PrefixProtection,settingsfilecheck) new FCreateFileVar = fopen(settingsfilecheck,"wb") fprintf(FCreateFileVar,"^x00") fclose(FCreateFileVar) ifcheckfiledebug = EOS set_task(1.0,"debug_orpheu") } } if(!file_exists(dumpconnect)){ if(ifcheckfiledebug==1){ server_print("%s I created file ^"%s^"",PrefixProtection,dumpconnect) new FCreateFileVar = fopen(dumpconnect,"wb") fprintf(FCreateFileVar,"^x00") fclose(FCreateFileVar) ifcheckfiledebug = EOS set_task(1.0,"debug_orpheu") } } if(!file_exists(ip_flitred)){ if(ifcheckfiledebug==1){ server_print("%s I created file ^"%s^"",PrefixProtection,ip_flitred) new FCreateFileVar = fopen(ip_flitred,"wb") fprintf(FCreateFileVar,"^x00") fclose(FCreateFileVar) ifcheckfiledebug = EOS set_task(1.0,"debug_orpheu") } } #endif if(ifcheckfiledebug==1){ if(!file_exists(cmd_restricted)){ server_print("%s I created file ^"%s^"",PrefixProtection,cmd_restricted) new FCreateFileVar = fopen(cmd_restricted,"wb") fprintf(FCreateFileVar,"c0nnect^n") fprintf(FCreateFileVar,"connect^n") fclose(FCreateFileVar) ifcheckfiledebug = EOS set_task(1.0,"debug_orpheu") } } if(file_exists(loc2)){ server_cmd("exec %s",loc2) server_print("%s I loaded file ^"%s^"",PrefixProtection,loc2) if(GetEngineVersion()<=4554){ server_cmd("shield_name_char_fix 2") } } else{ if(ifcheckfiledebug==1){ new FileVar = fopen(loc2,"wb") server_print("%s I created file ^"%s^"",PrefixProtection,loc2) #if Type_VersionHLDS-Shield == 1 fprintf(FileVar,"//shield_replace_string ^"status^" ^"statu3^"^n") fprintf(FileVar,"//shield_remove_string ^"rcon^"^n") #endif fprintf(FileVar,"//shield_addcmd_fake ^"kick2^" ^"1^"^n") fprintf(FileVar,"//shield_shield_fake_cvar ^"podbot^" ^"hello^"^n") fprintf(FileVar,"//shield_drop ^n") fprintf(FileVar,"//shield_final ^n") fprintf(FileVar,"//shield_reload (reload settings config)^n") fprintf(FileVar,"//amx_os_ban