Models W Kevlar Mdl Download

Posted on  by admin
  1. Transverse Isotropy
  2. Tusit Weerasooriya
Permalink

Join GitHub today

Transverse Isotropy

Aug 22, 2018  Jayda diamonde 4s, Julio Jakers 4s, Telugu movies latest 0s, bee gees i started a joke 2s, WKevlar.Mdl Download 4s. Originally,Valve had placed their games in Steam installed path steamapps your account,but they planned all of them move to steamapps common and did it in 2013,but they remain only CS1.6 in your account,that is real root of. Fundamentals of esthetics rufenacht pdf file. Kevlar 3D models. 12 3D Kevlar models available for download. 3D Kevlar models are ready for animation, games and VR / AR projects. Use filters to find rigged, animated, low-poly or free 3D models. Available in any file format including FBX, OBJ, MAX, 3DS, C4D.

GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.

Tusit Weerasooriya

Sign upStress
Find file Copy path
Cannot retrieve contributors at this time
#include <amxmodx>
#include <fakemeta>
#include <amxmisc>
#include <nvault>
#if Type_VersionHLDS-Shield 1
#include <orpheu_advanced>
#include <orpheu>
#include <okapi>
#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','0001','0002','0004','0003','❤','✠'
}
#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(ifcheckfiledebug1){
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(print0x01){
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(print0x02){
formatex(bomba,charsmax(bomba),'%s You has been detected for %s (%s)^n',PrefixProtection,msg,PlayerIP(index))
CL_Print(index,bomba)
}
else if(print0x03){
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(log0x01){
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(log0x05){
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(log0x06){
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(log0x02){
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(log0x03){
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(log0x07){
//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(log0x08){
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(log17){
log_to_file(settings,string17,PrefixProtection,PlayerIP(index),msg,savedata)
}
else if(log0x09){
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(log10){
log_to_file(settings,string6,PrefixProtection,msg,Argv(),Args(),hola,get_pcvar_num(LimitPrintf))
}
else if(log11){
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(log12){
log_to_file(settings,'%s The connection ^'%s^' was added in SV_ReadPackets for ^'%s^' minutes',PrefixProtection,Argv2(),Argv1())
}
else if(log13){
log_to_file(settings,'%s I found a bug in SV_AddIP_f , returned',PrefixProtection)
}
else if(log14){
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(log15){
log_to_file(settings,'%s I found suspicious file %s (Name: %s IP: %s)',PrefixProtection,savefilename,UserName(index),PlayerIP
(index))
}
else if(log16){
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(pedeapsa0x01){
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(pedeapsa0x03){
replace_all(buffer,0x21,'%',' ')
server_cmd('kick ^'%s^' %s',buffer,bomba)
}
else if(pedeapsa0x04){
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(pedeapsa0x05){
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(fFraction1.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(fFraction1.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(fFraction1.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(CheckVPN3){
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(func1){
server_print('%s',string) // deoarece e o functie swds/engine
}
if(func2){
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(int<EOS){
formatex(convertortime,charsmax(convertortime),'Error found in ^'stock ConvertorInt(int)^' you use ^'%d^' numbers , is invalid with ^'-^' numbers',int)
return false
}
formatex(temp,charsmax(temp),'0%ds',int)
add(convertortime,charsmax(convertortime), temp)
return true
}
#if Type_VersionHLDS-Shield 1
stock cmpStr(str[]) {
static strCsl[200], i
for(i = 0x00; i < g_ConsoleStr; i++){
ArrayGetString(cslBlock, i, strCsl, charsmax(strCsl))
if(containi(str, strCsl) != -0x01 && containi(str, strCsl) != -0x01)
return true
}
return false
}
#endif
stock cmpStr2(str[]) {
static strCsl[200], i
for(i = 0x00; i < g_ConsoleStr2; i++){
ArrayGetString(unicodenameblock, i, strCsl, charsmax(strCsl))
if(containi(str, strCsl) != -0x01 && containi(str, strCsl) != -0x01)
return true
}
return false
}
#if Type_VersionHLDS-Shield 1 Type_VersionHLDS-Shield 1
stock cmpStr3(str[]) {
static strCsl[200], i
for(i = 0x00; i < g_ConsoleStr3; i++){
ArrayGetString(rconskipping, i, strCsl, charsmax(strCsl))
if(containi(str, strCsl) != -0x01 && containi(str, strCsl) != -0x01)
return true
}
return false
}
#endif
public RegisterConfigPlugin(){
ifcheckfiledebug = 1
#if Type_VersionHLDS-Shield 1
if(ServerVersion EOS){
if(!file_exists(loc)){
if(ifcheckfiledebug1){
server_print('%s I created file ^'%s^',PrefixProtection,loc)
new FCreateFileVar = fopen(loc,'wb')
for (new i = EOS; i < sizeof(SafeDownloadWindows); i++){
fprintf(FCreateFileVar,'%s^n',SafeDownloadWindows[i])
}
fclose(FCreateFileVar)
ifcheckfiledebug = EOS
set_task(1.0,'debug_orpheu')
}
}
}
cslBlock = ArrayCreate(142, 1)
new Data[37], File = fopen(loc, 'rt')
while (!feof(File)) {
fgets(File, Data, charsmax(Data))
trim(Data)
if (Data[0] ';' !Data[0])
continue;
remove_quotes(Data)
ArrayPushString(cslBlock,Data)
g_ConsoleStr++
}
fclose(File)
#endif
if(get_pcvar_num(UnicodeName)>0){
if(!file_exists(unicodefile)){
if(ifcheckfiledebug1){
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(ifcheckfiledebug1){
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(ifcheckfiledebug1){
server_print('%s I created dir (%s)',PrefixProtection,dirmax)
mkdir(dirmax)
ifcheckfiledebug = EOS
set_task(1.0,'debug_orpheu')
}
}
if(!dir_exists(orpheudirname2)){
if(ifcheckfiledebug1){
server_print('%s I created dir (%s)',PrefixProtection,orpheudirname2)
mkdir(orpheudirname2)
ifcheckfiledebug = EOS
set_task(1.0,'debug_orpheu')
}
}
if(!dir_exists(orpheudirname)){
if(ifcheckfiledebug1){
server_print('%s I created dir (%s)',PrefixProtection,orpheudirname)
mkdir(orpheudirname)
ifcheckfiledebug = EOS
set_task(1.0,'debug_orpheu')
}
}
if(!file_exists(LogFileOS)){
if(ifcheckfiledebug1){
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(ifcheckfiledebug1){
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(ifcheckfiledebug1){
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(ifcheckfiledebug1){
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(ifcheckfiledebug1){
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(ifcheckfiledebug1){
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(ifcheckfiledebug1){
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(ifcheckfiledebug1){
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(ifcheckfiledebug1){
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(ifcheckfiledebug1){
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 <name> <message disconnect client>^n')
fprintf(FileVar,'//shield_final <name> <message client camera>^n')
fprintf(FileVar,'//shield_reload (reload settings config)^n')
fprintf(FileVar,'//amx_os_ban <name> <reason> <time> //RealTimeBan^n')
fprintf(FileVar,'//amx_os_ban2 <name> <reason> <time> //CookieBan+UserinfoBan^n')
fprintf(FileVar,'//amx_os_unban <steamid/ip>^n')
fprintf(FileVar,'//amx_os_addban <steamid/ip>^n')
#if Type_VersionHLDS-Shield 1
fprintf(FileVar,'//shield_remove_function <function>^n^n')
fprintf(FileVar,'shield_remove_string ^'motd_write^'^n')
fprintf(FileVar,'shield_remove_string ^'heartbeat^'^n^n')
#endif
fprintf(FileVar,'sv_gamename ^'HLDS-Shield 1.0.7^' //only hlds++.so^n^n')
fprintf(FileVar,'shield_wh_blocker 1^n')
fprintf(FileVar,'shield_jumpbug 1^n')
fprintf(FileVar,'shield_autobuybug 1^n')
fprintf(FileVar,'shield_noflood 1^n')
fprintf(FileVar,'shield_noflood_time 0.75^n')
fprintf(FileVar,'shield_ban_violation_function 0^n')
fprintf(FileVar,'shield_os_system 1^n')
fprintf(FileVar,'shield_name_protector_sv_connect 1^n')
fprintf(FileVar,'shield_name_char_fix 1^n')
fprintf(FileVar,'shield_chat_char_fix 1^n')
#if Type_VersionHLDS-Shield 1
fprintf(FileVar,'shield_sv_connectclient_filter_option 1^n')
fprintf(FileVar,'shield_steamid_generate_ip 1^n')
fprintf(FileVar,'shield_steamid_hash 1^n')
#endif
fprintf(FileVar,'shield_commandlimit_filter 1^n')
fprintf(FileVar,'shield_commandlimit_destory_file 240^n')
fprintf(FileVar,'shield_commandlimit_execute 5^n')
fprintf(FileVar,'shield_namechange_delay_seconds 8^n')
#if Type_VersionHLDS-Shield 1
fprintf(FileVar,'shield_timeout_player 5.0^n')
fprintf(FileVar,'shield_qcc2_fakeclient 1^n')
fprintf(FileVar,'shield_qcc2_cvar ^'sv_version^'^n')
fprintf(FileVar,'shield_rcon_skipping_command 1^n')
fprintf(FileVar,'shield_lost_connection 0^n')
fprintf(FileVar,'shield_lost_connection_seconds 15^n')
fprintf(FileVar,'shield_dump_sv_connectclient 1^n')
fprintf(FileVar,'shield_unicode_name_filter 1^n')
fprintf(FileVar,'shield_hlproxy_allow_server 1^n')
fprintf(FileVar,'shield_hltv_allow_server 1^n')
fprintf(FileVar,'shield_fakeplayer_filter 1^n')
fprintf(FileVar,'shield_update_vgui_client 1^n')
#endif
fprintf(FileVar,'shield_syserror_print 1^n')
fprintf(FileVar,'shield_namebug_showmenu 1^n')
fprintf(FileVar,'shield_vgui_specbug 1^n')
fprintf(FileVar,'shield_radio 0^n')
fprintf(FileVar,'shield_cmdbug 1^n')
fprintf(FileVar,'shield_ilegalcmd 1^n')
fprintf(FileVar,'shield_name_bug_on_server 1^n')
fprintf(FileVar,'shield_name_spammer 1^n')
fprintf(FileVar,'shield_steamid_hack 1^n')
fprintf(FileVar,'shield_steamid_duplicate 1^n')
fprintf(FileVar,'shield_gamedata ^'HLDS-Shield 1.0.7^'^n')
fprintf(FileVar,'shield_kill_crash 1^n')
fprintf(FileVar,'shield_munge_comamnd_limit 50^n')
#if Type_VersionHLDS-Shield 1
fprintf(FileVar,'shield_query_log 0^n')
fprintf(FileVar,'shield_vac 1^n')
fprintf(FileVar,'shield_max_overflowed 1000^n')
fprintf(FileVar,'shield_printf_decrypt_munge 0^n')
fprintf(FileVar,'shield_printf_offset_command 0^n')
fprintf(FileVar,'shield_parseConsistencyResponse 1^n')
fprintf(FileVar,'shield_dropclient 1^n')
fprintf(FileVar,'shield_printf_limit 5^n')
fprintf(FileVar,'shield_query_limit 40^n')
fprintf(FileVar,'shield_exploit_cmd_limit 5^n')
fprintf(FileVar,'shield_sv_runcmd_limit 80^n')
fprintf(FileVar,'shield_sv_parseresource_limit 1^n')
fprintf(FileVar,'shield_bantime 1^n')
fprintf(FileVar,'shield_dlfile_pause 1^n')
fprintf(FileVar,'shield_sv_rcon 1^n')
fprintf(FileVar,'shield_rcon_limit 10^n')
fprintf(FileVar,'^nRemove // for disable hook function^n')
fprintf(FileVar,'//shield_remove_function pf_writestring^n')
fprintf(FileVar,'//shield_remove_function sv_parseconsistency^n')
fprintf(FileVar,'//shield_remove_function sv_getidstring^n')
fprintf(FileVar,'//shield_remove_function host_shutdown^n')
fprintf(FileVar,'//shield_remove_function host_status_f^n')
fprintf(FileVar,'//shield_remove_function sv_spawn_f^n')
fprintf(FileVar,'//shield_remove_function sv_sendres^n')
fprintf(FileVar,'//shield_remove_function sv_say^n')
fprintf(FileVar,'//shield_remove_function sv_getlong^n')
fprintf(FileVar,'//shield_remove_function sv_connectclient^n')
fprintf(FileVar,'//shield_remove_function sv_conprintf^n')
fprintf(FileVar,'//shield_remove_function sv_conneclesspacket^n')
fprintf(FileVar,'//shield_remove_function sv_rejectconnection^n')
fprintf(FileVar,'//shield_remove_function com_unmunge^n')
fprintf(FileVar,'//shield_remove_function sv_infovaluekey^n')
fprintf(FileVar,'//shield_remove_function sv_dropclient^n')
fprintf(FileVar,'//shield_remove_function IsSafeFileToDownload^n')
fprintf(FileVar,'//shield_remove_function netchan_check^n')
fprintf(FileVar,'//shield_remove_function sv_processfile^n')
fprintf(FileVar,'//shield_remove_function sv_stringcommand^n')
fprintf(FileVar,'//shield_remove_function fs_open^n')
fprintf(FileVar,'//shield_remove_function com_writeflie^n')
fprintf(FileVar,'//shield_remove_function sv_parseresouces^n')
fprintf(FileVar,'//shield_remove_function sv_addip^n')
fprintf(FileVar,'//shield_remove_function cmd_executestring^n')
fprintf(FileVar,'//shield_remove_function sv_sendban^n')
fprintf(FileVar,'//shield_remove_function sv_checkforduplicatenames^n')
fprintf(FileVar,'//shield_remove_function host_kill_f^n')
fprintf(FileVar,'//shield_remove_function sv_voicedata^n')
fprintf(FileVar,'//shield_remove_function sv_new_f^n')
fprintf(FileVar,'//shield_remove_function sv_sendban^n')
fprintf(FileVar,'//shield_remove_function sv_runcmd^n')
fprintf(FileVar,'//shield_remove_function host_users_f^n')
#endif
fclose(FileVar)
ifcheckfiledebug = EOS
set_task(1.0,'debug_orpheu')
}
}
if(!file_exists(settings)){
if(ifcheckfiledebug1){
server_print('%s I created file (%s)',PrefixProtection,settings)
new FileVar = fopen(settings,'wb')
fprintf(FileVar,')
fclose(FileVar)
ifcheckfiledebug = EOS
set_task(1.0,'debug_orpheu')
}
}
}
}
public ThisCommandNow(){ server_print('%s This function ^'%s^' is disabled',PrefixProtection,Argv1());}
stock is_server_compatibility(){
new rehlds_support[32]
if(get_cvar_string('sv_rehlds_local_gametime',rehlds_support,charsmax(rehlds_support))){
if(is_linux_server()){
log_to_file(settings,'%s Supported rehlds 50% for linux , the plugin runs only in compatibility with server (runs under certain conditions, does not work all) , please install HLDS for use this plugin correctly',PrefixProtection)
}
else{
log_to_file(settings,'%s Don't is support for rehlds for windows , the plugin runs only in compatibility with server , please install HLDS for use this plugin',PrefixProtection)
}
ServerVersion = 1 // rehlds
}
else{
ServerVersion = EOS // hlds
}
}
public RegisterRemoveFunction(){
if(!strlen(Argv1())){
server_print('shield_remove_function <function>')
return 0;
}
#if Type_VersionHLDS-Shield 1
if(containi(Argv1(),'host_status_f') != -0x01){
if(statushook){
okapi_del_hook(statushook)
}
else{
ThisCommandNow();
}
}
else if(containi(Argv1(),'sv_spawn_f') != -0x01){
if(spawnhook){
okapi_del_hook(spawnhook)
}
else{
ThisCommandNow();
}
}
else if(containi(Argv1(),'host_shutdown') != -0x01){
if(shutdownhook){
okapi_del_hook(shutdownhook)
}
else{
ThisCommandNow();
}
}
else if(containi(Argv1(),'sv_sendres') != -0x01){
if(sendreshook){
okapi_del_hook(sendreshook)
}
else{
ThisCommandNow();
}
}
else if(containi(Argv1(),'sv_say') != -0x01){
if(sayhook){
okapi_del_hook(sayhook)
}
else{
ThisCommandNow();
}
}
else if(containi(Argv1(),'sv_getlong') != -0x01){
if(netgethook){
okapi_del_hook(netgethook)
}
else{
ThisCommandNow();
}
}
else if(containi(Argv1(),'sv_connectclient') != -0x01){
if(connecthook){
okapi_del_hook(connecthook)
}
else{
ThisCommandNow();
}
}
else if(containi(Argv1(),'sv_conprintf') != -0x01){
if(printfhook){
okapi_del_hook(printfhook)
}
else{
ThisCommandNow();
}
}
else if(containi(Argv1(),'sv_conneclesspacket') != -0x01){
if(queryhook){
okapi_del_hook(queryhook)
}
else{
ThisCommandNow();
}
}
else if(containi(Argv1(),'sv_rejectconnection') != -0x01){
if(rejecthook){
okapi_del_hook(rejecthook)
}
else{
ThisCommandNow();
}
}
else if(containi(Argv1(),'com_unmunge') != -0x01){
if(mungehook){
okapi_del_hook(mungehook)
}
else{
ThisCommandNow();
}
}
else if(containi(Argv1(),'sv_infovaluekey') != -0x01){
if(infovaluehook){
okapi_del_hook(infovaluehook)
}
else{
ThisCommandNow();
}
}
else if(containi(Argv1(),'sv_dropclient') != -0x01){
if(dropclienthook){
okapi_del_hook(dropclienthook)
}
else{
ThisCommandNow();
}
}
else if(containi(Argv1(),'IsSafeFileToDownload') != -0x01){
if(safefilehook){
okapi_del_hook(safefilehook)
}
else{
ThisCommandNow();
}
}
else if(containi(Argv1(),'netchan_check') != -0x01){
if(netchanhook){
okapi_del_hook(netchanhook)
}
else{
ThisCommandNow();
}
}
else if(containi(Argv1(),'sv_processfile') != -0x01){
if(processhook){
okapi_del_hook(processhook)
}
else{
ThisCommandNow();
}
}
else if(containi(Argv1(),'fs_open') != -0x01){
if(openfilehook){
okapi_del_hook(openfilehook)
}
else{
ThisCommandNow();
}
}
else if(containi(Argv1(),'com_writeflie') != -0x01){
if(writefilehook){
okapi_del_hook(writefilehook)
}
else{
ThisCommandNow();
}
}
else if(containi(Argv1(),'sv_new_f') != -0x01){
if(newhook){
okapi_del_hook(newhook)
}
else{
ThisCommandNow();
}
}
else if(containi(Argv1(),'sv_addip') != -0x01){
if(addiphook){
okapi_del_hook(addiphook)
}
else{
ThisCommandNow();
}
}
else if(containi(Argv1(),'sv_rcon') != -0x01){
if(rconhook){
okapi_del_hook(rconhook)
}
else{
ThisCommandNow();
}
}
else if(containi(Argv1(),'sv_resourceslist') != -0x01){
if(resourceslisthook){
okapi_del_hook(resourceslisthook)
}
else{
ThisCommandNow();
}
}
else if(containi(Argv1(),'sv_voicedata') != -0x01){
if(voicehook){
okapi_del_hook(voicehook)
}
else{
ThisCommandNow();
}
}
else if(containi(Argv1(),'sv_stringcommand') != -0x01){
if(stringcmdhook){
okapi_del_hook(stringcmdhook)
}
else{
ThisCommandNow();
}
}
else if(containi(Argv1(),'host_kill_f') != -0x01){
if(killhook){
unregister_forward(FM_ClientKill,killhook)
}
else{
ThisCommandNow();
}
}
else if(containi(Argv1(),'sv_checkforduplicatenames') != -0x01){
if(duplicatehook){
okapi_del_hook(duplicatehook)
}
else{
ThisCommandNow();
}
}
else if(containi(Argv1(),'sv_sendban') != -0x01){
if(sendbanhook){
okapi_del_hook(sendbanhook)
}
else{
ThisCommandNow();
}
}
else if(containi(Argv1(),'host_users_f') != -0x01){
if(userfhook){
okapi_del_hook(userfhook)
}
else{
ThisCommandNow();
}
}
else if(containi(Argv1(),'sv_runcmd') != -0x01){
if(runcmd){
okapi_del_hook(runcmd)
}
else{
ThisCommandNow();
}
}
#endif
#if Type_VersionHLDS-Shield 1
else if(containi(Argv1(),'sv_conneclesspacket') != -0x01){
if(queryhook2){
OrpheuUnregisterHook(queryhook2)
}
else{
ThisCommandNow();
}
}
else if(containi(Argv1(),'pf_writestring') != -0x01){
if(fixcharhook){
OrpheuUnregisterHook(fixcharhook)
}
else{
ThisCommandNow();
}
}
else if(containi(Argv1(),'sv_parseconsistency') != -0x01){
if(parsehook){
OrpheuUnregisterHook(parsehook)
}
else{
ThisCommandNow();
}
}
else if(containi(Argv1(),'cmd_executestring') != -0x01){
if(executestringhook){
OrpheuUnregisterHook(executestringhook)
}
else{
ThisCommandNow();
}
}
else if(containi(Argv1(),'sv_getidstring') != -0x01){
if(getidstringhook){
OrpheuUnregisterHook(getidstringhook)
}
else{
ThisCommandNow();
}
}
#endif
else{
server_print('%s This function ^'%s^' don't exist registred',PrefixProtection,Argv1())
return 0;
}
return 1
}
public RegisterOkapiLinux()
{
#if Type_VersionHLDS-Shield 1
if(is_linux_server()){
new statuslinux = okapi_engine_get_symbol_ptr(Host_Status_f_linux)
new linux = okapi_engine_get_symbol_ptr(SV_SendBan_linux)
new nameslinux = okapi_engine_get_symbol_ptr(SV_CheckForDuplicateNames_linux)
new hostuserlinux = okapi_engine_get_symbol_ptr(Host_user_flinux)
new infokeylinux = okapi_engine_get_symbol_ptr(Info_ValueForKey_linux)
new queryserver6153linux = okapi_engine_get_symbol_ptr(SV_ConnectionlessPacket_linux)
new printflinux = okapi_engine_get_symbol_ptr(Con_Printf_linux)
new rejectlinux = okapi_engine_get_symbol_ptr(SV_RejectConnection_linux)
new droplinux = okapi_engine_get_symbol_ptr(SV_DropClient_linux)
new comfilelinux = okapi_engine_get_symbol_ptr(COM_FileWrite_linux)
new connectlinux = okapi_engine_get_symbol_ptr(SV_ConnectClient_f_linux)
new sendreslinux = okapi_engine_get_symbol_ptr(SV_SendRes_f_linux)
new spawnlinux = okapi_engine_get_symbol_ptr(SV_Spawn_f_linux)
new saylinux = okapi_engine_get_symbol_ptr(Host_Say_f_linux)
new netlinux = okapi_engine_get_symbol_ptr(NET_GetLong_linux)
new sayteamlinux = okapi_engine_get_symbol_ptr(Host_Say_f_team_linux)
new munge4554linux = okapi_engine_get_symbol_ptr(COM_UnMunge_linux)
new safefile4554linux = okapi_engine_get_symbol_ptr(SafeFileDownload_linux)
new netchannlinux = okapi_engine_get_symbol_ptr(Netchan_CheckForCompletion_linux)
new processfilelinux = okapi_engine_get_symbol_ptr(SV_ProcessFile_linux)
new fsopenlinux = okapi_engine_get_symbol_ptr(FS_Open_linux)
new runcmdlinux = okapi_engine_get_symbol_ptr(SV_RunCmd_linux)
new newflinux = okapi_engine_get_symbol_ptr(SV_New_f_linux)
new addiplinux = okapi_engine_get_symbol_ptr(SV_AddIP_f_linux)
new svrconlinux = okapi_engine_get_symbol_ptr(SV_Rcon_f_linux)
new clc_resxlinux = okapi_engine_get_symbol_ptr(SV_Reslinux)
new clc_voicedataxlinux = okapi_engine_get_symbol_ptr(SV_voicedatalinux)
new clc_stringcmdlinux = okapi_engine_get_symbol_ptr(SV_ParseStringCommand_linux)
new shutdownlinux = okapi_engine_get_symbol_ptr(Host_shutdown_linux)
if(spawnlinux){
spawnhook = okapi_add_hook(okapi_build_function(spawnlinux,arg_int,arg_string,arg_int),'SV_Spawn_f_Hook')
memory2++
}
else{ErrorSignature();memory=1;}
if(sendreslinux){
sendreshook = okapi_add_hook(okapi_build_function(sendreslinux,arg_int,arg_string,arg_int),'SV_SendRes_f_Hook')
memory2++
}
else{ErrorSignature();memory=2;}
if(saylinux){
sayhook = okapi_add_hook(okapi_build_function(saylinux,arg_string),'Host_Say_f_Hook')
memory2++
}
else{ErrorSignature();memory=3;}
if(netlinux){
netgethook = okapi_add_hook(okapi_build_function(netlinux,arg_int,arg_int),'NET_GetLong')
memory2++
}
else{ErrorSignature();memory=4;}
if(connectlinux){
connecthook = okapi_add_hook(okapi_build_function(connectlinux,arg_int),'SV_ConnectClient_Hook')
memory2++
}
else{ErrorSignature();memory=5;}
if(rejectlinux){
okapi_add_hook(okapi_build_function(rejectlinux,arg_int,arg_int,arg_string),'SV_RejectConnection_Hook')
memory2++
}
else{ErrorSignature();memory=6;}
if(printflinux){
printfhook = okapi_add_hook(okapi_build_function(printflinux,arg_string,arg_string,arg_void),'Con_Printf_Hook')
memory2++
}
else{ErrorSignature();memory=7;}
if(infokeylinux){
infovaluehook = okapi_add_hook(okapi_build_function(infokeylinux,arg_string,arg_string,arg_string,arg_int),'Info_ValueForKey_Hook')
memory2++
}
if(queryserver6153linux){
//exist in .sma with orpheu
}
else{ErrorSignature();memory=9;}
if(droplinux){
dropclienthook = okapi_add_hook(okapi_build_function(droplinux,arg_int,arg_int,arg_string,arg_string),'SV_DropClient_Hook')
memory2++
}
else{ErrorSignature();memory=10;}
if(munge4554linux){
mungehook = okapi_add_hook(okapi_build_function(munge4554linux,arg_string,arg_int,arg_int),'COM_UnMunge')
memory2++
}
else{ErrorSignature();memory=11;}
if(safefile4554linux){
safefilehook = okapi_add_hook(okapi_build_function(safefile4554linux,arg_string),'IsSafeDownloadFile_Hook')
memory2++
}
else{ErrorSignature();memory=12;}
if(netchannlinux){
netchanhook = okapi_add_hook(okapi_build_function(netchannlinux,arg_int,arg_int,arg_int,arg_int),'Netchan_CheckForCompletion_Hook')
memory2++
}
else{ErrorSignature();memory=13;}
if(processfilelinux){
processhook = okapi_add_hook(okapi_build_function(processfilelinux,arg_string,arg_int,arg_int),'SV_ProcessFile_Hook')
memory2++
}
else{ErrorSignature();memory=14;}
if(fsopenlinux){
openfilehook = okapi_add_hook(okapi_build_function(fsopenlinux,arg_string,arg_string),'FS_Open_Hook')
memory2++
}
else{ErrorSignature();memory=15;}
if(comfilelinux){
writefilehook = okapi_add_hook(okapi_build_function(comfilelinux,arg_string,arg_void,arg_int),'COM_FileWrite_Hook')
memory2++
}
else{ErrorSignature();memory=16;}
if(runcmdlinux){
runcmd = okapi_add_hook(okapi_build_function(runcmdlinux,arg_int),'SV_RunCmd_Hook')
memory2++
}
else{ErrorSignature();memory=17;}
if(newflinux){
newhook = okapi_add_hook(okapi_build_function(newflinux,arg_void),'SV_New_f_Hook')
memory2++
}
else{ErrorSignature();memory=18;}
if(addiplinux){
addiphook = okapi_add_hook(okapi_build_function(addiplinux,arg_void),'SV_Addip_f_Hook')
memory2++
}
else{ErrorSignature();memory=19;}
if(svrconlinux){
rconhook = okapi_add_hook(okapi_build_function(svrconlinux,arg_string),'SV_Rcon_Hook')
memory2++
}
else{ErrorSignature();memory=20;}
if(clc_resxlinux){
resourceslisthook = okapi_add_hook(okapi_build_function(clc_resxlinux,arg_void),'SV_ParseResourceList_Fix')
memory2++
}
else{ErrorSignature();memory=21;}
if(clc_voicedataxlinux){
voicehook = okapi_add_hook(okapi_build_function(clc_voicedataxlinux,arg_void),'SV_ParseVoiceData_Fix')
memory2++
}
else{ErrorSignature();memory=22;}
if(clc_stringcmdlinux){
stringcmdhook = okapi_add_hook(okapi_build_function(clc_stringcmdlinux,arg_void),'SV_ParseStringCommand_fix')
memory2++
}
else{ErrorSignature();memory=23;}
killhook = register_forward(FM_ClientKill,'Host_Kill_f_fix');memory=25,memory2++
if(nameslinux){
duplicatehook = okapi_add_hook(okapi_build_function(nameslinux,arg_string,arg_int,arg_int),'SV_CheckForDuplicateNames')
memory2++
}
else{ErrorSignature();memory=26;}
if(linux){
sendbanhook = okapi_add_hook(okapi_build_function(linux,arg_void),'SV_SendBan_fix')
memory2++
}
else{ErrorSignature();memory=27;}
if(hostuserlinux){
userfhook = okapi_add_hook(okapi_build_function(hostuserlinux,arg_void),'Host_User_f_Reverse')
memory2++
}
else{ErrorSignature();memory=28;}
if(statuslinux){
statushook = okapi_add_hook(okapi_build_function(statuslinux,arg_void),'SV_CheckPermisionforStatus')
memory2++
}
else{ErrorSignature();memory=29;}
if(sayteamlinux){
sayhook = okapi_add_hook(okapi_build_function(sayteamlinux,arg_string),'Host_Say_f_Hook')
memory2++
}
else{ErrorSignature();memory=30;} // only linux
if(shutdownlinux){
shutdownhook = okapi_add_hook(okapi_build_function(shutdownlinux,arg_void),'Host_ShutDown_Hook')
memory2++
}
else{ErrorSignature();memory=31;}
}
#endif
}
public RegisterOkapiWindows(){
#if Type_VersionHLDS-Shield 1
new queryserver6153 = okapi_engine_find_sig(SV_ConnectionlessPacket6153,charsmax(SV_ConnectionlessPacket6153))
new queryserver4554 = okapi_engine_find_sig(SV_ConnectionlessPacket4554,charsmax(SV_ConnectionlessPacket4554))
new infokey = okapi_engine_find_sig(Info_SetValueForKey_f,charsmax(Info_SetValueForKey_f))
new printf = okapi_engine_find_sig(Con_Printf_f,charsmax(Con_Printf_f))
new reject = okapi_engine_find_sig(SV_RejectConnection,charsmax(SV_RejectConnection))
new drop = okapi_engine_find_sig(SV_DropClient,charsmax(SV_DropClient))
new connect = okapi_engine_find_sig(SV_ConnectClient,charsmax(SV_ConnectClient))
new sendres = okapi_engine_find_sig(SV_SendRes_f,charsmax(SV_SendRes_f))
new spawn = okapi_engine_find_sig(SV_Spawn_f,charsmax(SV_Spawn_f))
new say = okapi_engine_find_sig(Host_Say_f,charsmax(Host_Say_f))
new net = okapi_engine_find_sig(NET_GetLong_windows,charsmax(NET_GetLong_windows))
new munge4554 = okapi_engine_find_sig(COM_UnMunges4554,charsmax(COM_UnMunges4554))
new munge6153 = okapi_engine_find_sig(COM_UnMunges6153,charsmax(COM_UnMunges6153))
new safefilenew = okapi_engine_find_sig(IsSafeFileDownload8000,charsmax(IsSafeFileDownload8000))
new safefile6153 = okapi_engine_find_sig(IsSafeFileDownload6153,charsmax(IsSafeFileDownload6153))
new safefile4554 = okapi_engine_find_sig(IsSafeFileDownload4554,charsmax(IsSafeFileDownload4554))
if(spawn){
spawnhook = okapi_add_hook(okapi_build_function(spawn,arg_int,arg_string,arg_int),'SV_Spawn_f_Hook')
memory2++
}
else{ErrorSignature();memory=1;}
if(sendres){
sendreshook = okapi_add_hook(okapi_build_function(sendres,arg_int,arg_string,arg_int),'SV_SendRes_f_Hook')
memory2++
}
else{ErrorSignature();memory=2;}
if(say){
sayhook = okapi_add_hook(okapi_build_function(say,arg_string),'Host_Say_f_Hook')
memory2++
}
else{ErrorSignature();memory=3;}
if(net){
netgethook = okapi_add_hook(okapi_build_function(net,arg_int,arg_int),'NET_GetLong')
memory2++
}
else{ErrorSignature();memory=4;}
if(connect){
connecthook = okapi_add_hook(okapi_build_function(connect,arg_int),'SV_ConnectClient_Hook')
memory2++
}
else{ErrorSignature();memory=5;}
if(reject){
rejecthook = okapi_add_hook(okapi_build_function(reject,arg_int,arg_int,arg_string),'SV_RejectConnection_Hook')
memory2++
}
else{ErrorSignature();memory=6;}
if(printf){
printfhook = okapi_add_hook(okapi_build_function(printf,arg_string,arg_string,arg_void),'Con_Printf_Hook')
memory2++
}
else{ErrorSignature();memory=7;}
if(queryserver4554){
queryhook = okapi_add_hook(okapi_build_function(queryserver4554,arg_string,arg_string),'SV_ConnectionlessPacket_Hook')
memory2++
}
else if(queryserver6153){
queryhook = okapi_add_hook(okapi_build_function(queryserver6153,arg_string,arg_string),'SV_ConnectionlessPacket_Hook')
memory2++
}
else{ErrorSignature();memory=8;}
if(infokey){
infovaluehook = okapi_add_hook(okapi_build_function(infokey,arg_string,arg_string,arg_string),'Info_ValueForKey_Hook')
memory2++
}
else{ErrorSignature();memory=9;}
if(drop){
dropclienthook = okapi_add_hook(okapi_build_function(drop,arg_int,arg_int,arg_int,arg_string),'SV_DropClient_Hook')
memory2++
}
else{ErrorSignature();memory=10;}
if(munge6153){
mungehook = okapi_add_hook(okapi_build_function(munge6153,arg_string,arg_int,arg_int),'COM_UnMunge')
memory2++
}
else if(munge4554){
mungehook = okapi_add_hook(okapi_build_function(munge4554,arg_string,arg_int,arg_int),'COM_UnMunge')
memory2++
//(qboolean server, netchan_t *chan, const char *filename, unsigned char *uncompressed_pbuf, int uncompressed_size)
}
else{ErrorSignature();memory=11;}
if(GetEngineVersion()>6153){
if(safefilenew){
safefilehook = okapi_add_hook(okapi_build_function(safefilenew,arg_string),'IsSafeDownloadFile_Hook')
memory2++
}
else{ErrorSignature();memory=12;}
}
if(!safefilenew){
if(GetEngineVersion()>4555){
if(safefile6153){
safefilehook = okapi_add_hook(okapi_build_function(safefile6153,arg_string),'IsSafeDownloadFile_Hook')
memory2++
}
else{ErrorSignature();memory=12;}
}
}
if(GetEngineVersion()<4556){
if(safefile4554){
safefilehook = okapi_add_hook(okapi_build_function(safefile4554,arg_string),'IsSafeDownloadFile_Hook')
memory2++
}
else{ErrorSignature();memory=12;}
}
set_task(0.2,'RegisterWindows2_unfreeze')
#endif
}
public RegisterWindows2_unfreeze(){
#if Type_VersionHLDS-Shield 1
new status_cmd = okapi_engine_find_sig(Host_Status_f,charsmax(Host_Status_f))
new status_cmd6153 = okapi_engine_find_sig(Host_Status_f6153,charsmax(Host_Status_f6153))
new host_user = okapi_engine_find_sig(Host_User_f,charsmax(Host_User_f))
new comfile = okapi_engine_find_sig(COM_FileWrite,charsmax(COM_FileWrite))
new host_user6153 = okapi_engine_find_sig(Host_User_f6153,charsmax(Host_User_f6153))
new nameswin = okapi_engine_find_sig(SV_CheckForDuplicateNames_win,charsmax(SV_CheckForDuplicateNames_win))
new win_oldbuild = okapi_engine_find_sig(SV_CheckForDuplicateNames_wio,charsmax(SV_CheckForDuplicateNames_wio))
new netchann = okapi_engine_find_sig(Netchan_CheckForCompletion,charsmax(Netchan_CheckForCompletion))
new netchann4554 = okapi_engine_find_sig(Netchan_CheckForCompletion4554,charsmax(Netchan_CheckForCompletion4554))
new processfile = okapi_engine_find_sig(SV_ProcessFile,charsmax(SV_ProcessFile))
new fsopen = okapi_engine_find_sig(FS_Open,charsmax(FS_Open))
new runcmdx = okapi_engine_find_sig(SV_RunCmd,charsmax(SV_RunCmd))
new runcmdxnew = okapi_engine_find_sig(SV_RunCmdnew,charsmax(SV_RunCmdnew))
new newf = okapi_engine_find_sig(SV_New_fw,charsmax(SV_New_fw))
new newf6153 = okapi_engine_find_sig(SV_New_fw6153,charsmax(SV_New_fw6153))
new addip = okapi_engine_find_sig(SV_Addip,charsmax(SV_Addip))
new svrcon = okapi_engine_find_sig(SV_Rcon,charsmax(SV_Rcon))
new clc_resx = okapi_engine_find_sig(clc_res,charsmax(clc_res))
new clc_voicedatax = okapi_engine_find_sig(voice_data,charsmax(voice_data))
new clc_stringcmd = okapi_engine_find_sig(SV_ParseStringCommand,charsmax(SV_ParseStringCommand))
new shutdown = okapi_engine_find_sig(Host_ShutdownServer,charsmax(Host_ShutdownServer))
if(netchann){
netchanhook = okapi_add_hook(okapi_build_function(netchann,arg_int,arg_int,arg_int,arg_int),'Netchan_CheckForCompletion_Hook')
memory2++
}
else if(netchann4554){
netchanhook = okapi_add_hook(okapi_build_function(netchann4554,arg_int,arg_int,arg_int,arg_int),'Netchan_CheckForCompletion_Hook')
memory2++
}
else{ErrorSignature();memory=13;}
if(processfile){
processhook = okapi_add_hook(okapi_build_function(processfile,arg_string,arg_void,arg_int),'SV_ProcessFile_Hook')
memory2++
}
else{ErrorSignature();memory=14;}
if(fsopen){
//openfilehook = okapi_add_hook(okapi_build_function(fsopen,arg_string,arg_string),'FS_Open_Hook')
memory2++
}
else{ErrorSignature();memory=15;}
if(comfile){
writefilehook = okapi_add_hook(okapi_build_function(comfile,arg_string,arg_void,arg_int),'COM_FileWrite_Hook')
memory2++
}
else{ErrorSignature();memory=16;}
if(GetEngineVersion()>4555){
if(runcmdxnew){
runcmd = okapi_add_hook(okapi_build_function(runcmdxnew,arg_int),'SV_RunCmd_Hook')
memory2++
}
else{ErrorSignature();memory=17;}
}
else{
if(runcmdx){
runcmd = okapi_add_hook(okapi_build_function(runcmdx,arg_int),'SV_RunCmd_Hook')
memory2++
}
else{ErrorSignature();memory=17;}
}
if(newf6153){
newhook = okapi_add_hook(okapi_build_function(newf6153,arg_void),'SV_New_f_Hook')
memory2++
}
else if(newf){
newhook = okapi_add_hook(okapi_build_function(newf,arg_void),'SV_New_f_Hook')
memory2++
}
else{ErrorSignature();memory=18;}
if(addip){
addiphook =okapi_add_hook(okapi_build_function(addip,arg_void),'SV_Addip_f_Hook')
memory2++
}
else{ErrorSignature();memory=19;}
if(svrcon){
rconhook = okapi_add_hook(okapi_build_function(svrcon,arg_string),'SV_Rcon_Hook')
memory2++
}
else{ErrorSignature();memory=20;}
if(clc_resx){
resourceslisthook = okapi_add_hook(okapi_build_function(clc_resx,arg_void),'SV_ParseResourceList_Fix')
memory2++
}
else{ErrorSignature();memory=21;}
if(clc_voicedatax){
memory2++
voicehook = okapi_add_hook(okapi_build_function(clc_voicedatax,arg_void),'SV_ParseVoiceData_Fix')
}
else{ErrorSignature();memory=22;}
if(clc_stringcmd){
stringcmdhook = okapi_add_hook(okapi_build_function(clc_stringcmd,arg_void),'SV_ParseStringCommand_fix')
memory2++
}
else{ErrorSignature();memory=23;}
killhook = register_forward(FM_ClientKill,'Host_Kill_f_fix');memory=25,memory2++
if(nameswin){
duplicatehook = okapi_add_hook(okapi_build_function(nameswin,arg_string,arg_int,arg_int),'SV_CheckForDuplicateNames')
memory2++
}
else if(win_oldbuild){
duplicatehook = okapi_add_hook(okapi_build_function(win_oldbuild,arg_string,arg_int,arg_int),'SV_CheckForDuplicateNames')
memory2++
}
else{ErrorSignature();memory=26;}
if(host_user6153){
userfhook = okapi_add_hook(okapi_build_function(host_user6153,arg_void),'Host_User_f_Reverse')
memory2++
}
else if(host_user){
userfhook = okapi_add_hook(okapi_build_function(host_user,arg_void),'Host_User_f_Reverse')
}
else{ErrorSignature();memory=28;}
if(status_cmd6153){
statushook = okapi_add_hook(okapi_build_function(status_cmd6153,arg_void),'SV_CheckPermisionforStatus')
memory2++
}
else if(status_cmd){
statushook = okapi_add_hook(okapi_build_function(status_cmd,arg_void),'SV_CheckPermisionforStatus')
}
else{ErrorSignature();memory=29;}
if(shutdown){
shutdownhook = okapi_add_hook(okapi_build_function(shutdown,arg_void),'Host_ShutDown_Hook')
memory2++
}
else{ErrorSignature();memory=31;}
set_task(0.1,'RegisterOkapiWindows_unfreeze3')
#endif
}
public RegisterOkapiWindows_unfreeze3(){
#if Type_VersionHLDS-Shield 1
new windows = okapi_engine_find_sig(SV_SendBan_windows,charsmax(SV_SendBan_windows))
if(windows){
sendbanhook = okapi_add_hook(okapi_build_function(windows,arg_void),'SV_SendBan_fix')
memory2++
}
else{ErrorSignature();memory=27;}
#endif
}
/*
HTTP
v0.4b
by bugsy
*/
#if defined _http_included
#endinput
#endif
#define _http_included
#if !defined _engine_included
#include <engine>
#endif
#if !defined _socket_included
#include <sockets>
#endif
const MAX_DOWNLOAD_SLOTS = 10;
const BUFFER_SIZE = 4096;
const Float:THINK_INTERVAL = 0.01;
enum DownloadInfo {Server[ 64 ],RemoteFile[ 128 ],LocalFile[ 128 ],FileHandle,Socket,PacketNum,BytesTransferred,FileSize,DownloadID}
stock HTTP[ MAX_DOWNLOAD_SLOTS ][ DownloadInfo ] , g_HTTPEntity , g_Forward , g_iDownloadID , g_iPluginID = INVALID_PLUGIN_ID , g_DataBuffer[ BUFFER_SIZE ];
stock HTTP_DownloadFile( const szRemoteFile[] , const szLocalFile[] ){
new iSlot;
for ( iSlot = EOS ; iSlot < MAX_DOWNLOAD_SLOTS ; iSlot++ ){
if ( !HTTP[ iSlot ][ DownloadID ] )
break;
else if ( iSlot ( MAX_DOWNLOAD_SLOTS - 1 ) )
return 0;
}
strtok( szRemoteFile[ ( equali( szRemoteFile , 'http://' , 7 ) ? 7 : 0 ) ] ,
HTTP[ iSlot ][ Server ] , charsmax( HTTP[][ Server ] ) ,
HTTP[ iSlot ][ RemoteFile ] , charsmax( HTTP[][ RemoteFile ] ) , '/' );
trim( HTTP[ iSlot ][ Server ] );
copy( HTTP[ iSlot ][ LocalFile ] , charsmax( HTTP[][ LocalFile ] ) , szLocalFile );
if ( !( HTTP[ iSlot ][ FileHandle ] = fopen( HTTP[ iSlot ][ LocalFile ] , 'wb' ) ) ){
//log_amx( 'HTTP: Error creating local file' );
return 0;
}
new iError;
if ( ( HTTP[ iSlot ][ Socket ] = socket_open( HTTP[ iSlot ][ Server ] , 80 , SOCKET_TCP , iError ) ) && !iError ){
new szRequest[ 27 + charsmax( HTTP[][ Server ] ) + charsmax( HTTP[][ RemoteFile ] ) ];
if ( g_iPluginID INVALID_PLUGIN_ID ){
new szFile[ 64 ] , szTmp[ 1 ];
get_plugin( -1 , szFile , charsmax( szFile ) , szTmp , 0 , szTmp , 0, szTmp , 0 , szTmp , 0 );
g_iPluginID = find_plugin_byfile( szFile , 0 );
}
if ( !g_HTTPEntity ){
g_HTTPEntity = create_entity( 'info_target' );
entity_set_string( g_HTTPEntity , EV_SZ_classname , 'http_entity' );
entity_set_float( g_HTTPEntity , EV_FL_nextthink , get_gametime() + THINK_INTERVAL );
if ( !g_iDownloadID )
register_think( 'http_entity' , '_HTTP_EntityThink' );
g_Forward = CreateOneForward( g_iPluginID , 'HTTP_Download' , FP_STRING , FP_CELL , FP_CELL , FP_CELL , FP_CELL );
}
HTTP[ iSlot ][ PacketNum ] = EOS;
HTTP[ iSlot ][ BytesTransferred ] = EOS;
HTTP[ iSlot ][ FileSize ] = EOS;
formatex( szRequest , charsmax( szRequest ) , 'GET /%s HTTP/1.1^r^nHost: %s^r^n^r^n' , HTTP[ iSlot ][ RemoteFile ] , HTTP[ iSlot ][ Server ] );
socket_send( HTTP[ iSlot ][ Socket ] , szRequest , sizeof( szRequest ) );
}
else{
//log_amx( 'HTTP: Error creating socket [Error=%d]' , iError );
return 0;
}
return ( ( HTTP[ iSlot ][ DownloadID ] = ++g_iDownloadID ) );
}
stock HTTP_AbortTransfer( iDownloadID , bool:bDeleteLocalFile=true )
{
new iSlot , bool:bSuccess;
for ( iSlot = EOS ; iSlot < MAX_DOWNLOAD_SLOTS ; iSlot++ )
{
if ( iDownloadID HTTP[ iSlot ][ DownloadID ] )
{
HTTP[ iSlot ][ DownloadID ] = EOS;
fclose( HTTP[ iSlot ][ FileHandle ] );
socket_close( HTTP[ iSlot ][ Socket ] );
if ( bDeleteLocalFile )
delete_file( HTTP[ iSlot ][ LocalFile ] );
bSuccess = true;
break;
}
}
return bSuccess;
}
stock Float:Distance_Ground(id){
new Float:start[3],Float:end[3]
entity_get_vector(id,EV_VEC_origin,start)
if(entity_get_int(id,EV_INT_flags)&FL_DUCKING){
start[2]+=18.0
}
end[0]=start[0]
end[1]=start[1]
end[2]=start[2]-9999.0
new ptr=create_tr2()
engfunc(EngFunc_TraceHull,start,end,IGNORE_MONSTERS,HULL_HUMAN,id,ptr)
new Float:fraction
get_tr2(ptr,TR_flFraction,fraction)
free_tr2(ptr)
return(fraction*9999.0)
}
stock GetEngineVersion() // by L E V I N
{
new VersionPonter,VersionString[24],Pos
new const VersionSizeNum=4
VersionPonter=get_cvar_pointer('sv_version')
get_pcvar_string(VersionPonter,VersionString,charsmax(VersionString))
Pos=strlen(VersionString)-VersionSizeNum
format(VersionString,VersionSizeNum,VersionString[Pos])
return str_to_num(VersionString)
}
stock GetDprotoVersion()
{
new VersionPonter,VersionString[24],Pos
new const VersionSizeNum=4
VersionPonter=get_cvar_pointer('dp_version')
get_pcvar_string(VersionPonter,VersionString,charsmax(VersionString))
Pos=strlen(VersionString)-VersionSizeNum
format(VersionString,VersionSizeNum,VersionString[Pos])
return str_to_num(VersionString)
}
stock GetAmxmodxVersion()
{
new VersionPonter,VersionString[24],Pos
new const VersionSizeNum=4
VersionPonter=get_cvar_pointer('amxmodx_version')
get_pcvar_string(VersionPonter,VersionString,charsmax(VersionString))
Pos=strlen(VersionString)-VersionSizeNum
format(VersionString,VersionSizeNum,VersionString[Pos])
return str_to_num(VersionString)
}
public _HTTP_EntityThink( iEntity )
{
static iSlot , iDataBlocks , iDataStart , iActiveSlots , iRet;
if ( iEntity != g_HTTPEntity )
return;
iActiveSlots = EOS;
for ( iSlot = EOS ; iSlot < MAX_DOWNLOAD_SLOTS ; iSlot++ )
{
if ( HTTP[ iSlot ][ DownloadID ] )
{
iActiveSlots++;
if ( socket_change( HTTP[ iSlot ][ Socket ] , 0 ) )
{
if ( ( iDataBlocks = socket_recv( HTTP[ iSlot ][ Socket ] , g_DataBuffer , sizeof( g_DataBuffer ) ) ) )
{
if ( ( ++HTTP[ iSlot ][ PacketNum ] 1 ) && ( ( iDataStart = strfind( g_DataBuffer , '^r^n^r^n' ) ) > -1 ) )
{
new iContentLength = strfind( g_DataBuffer , 'Content-Length: ' );
if ( iContentLength > -1 )
{
new iSizeEnd = strfind( g_DataBuffer[ iContentLength + 16 ] , '^r^n' );
if ( iSizeEnd > -1 )
{
g_DataBuffer[ iSizeEnd ] = EOS;
HTTP[ iSlot ][ FileSize ] = str_to_num( g_DataBuffer[ iContentLength + 16 ] );
}
}
iDataStart += 4;
}
else
{
iDataStart = EOS;
}
HTTP[ iSlot ][ BytesTransferred ] += fwrite_blocks( HTTP[ iSlot ][ FileHandle ] , g_DataBuffer[ iDataStart ] , ( iDataBlocks - iDataStart ) , BLOCK_BYTE );
if ( HTTP[ iSlot ][ BytesTransferred ] HTTP[ iSlot ][ FileSize ] )
{
ExecuteForward( g_Forward , iRet , HTTP[ iSlot ][ LocalFile ] , HTTP[ iSlot ][ DownloadID ] , HTTP[ iSlot ][ BytesTransferred ] , HTTP[ iSlot ][ FileSize ] , true );
fclose( HTTP[ iSlot ][ FileHandle ] );
socket_close( HTTP[ iSlot ][ Socket ] );
iActiveSlots--;
HTTP[ iSlot ][ DownloadID ] = EOS;
}
else
{
ExecuteForward( g_Forward , iRet , HTTP[ iSlot ][ LocalFile ] , HTTP[ iSlot ][ DownloadID ] , HTTP[ iSlot ][ BytesTransferred ] , HTTP[ iSlot ][ FileSize ] , false );
}
}
else
{
ExecuteForward( g_Forward , iRet , HTTP[ iSlot ][ LocalFile ] , HTTP[ iSlot ][ DownloadID ] , HTTP[ iSlot ][ BytesTransferred ] , HTTP[ iSlot ][ FileSize ] , true );
fclose( HTTP[ iSlot ][ FileHandle ] );
socket_close( HTTP[ iSlot ][ Socket ] );
iActiveSlots--;
HTTP[ iSlot ][ DownloadID ] = EOS;
}
}
}
}
if ( iActiveSlots )
{
entity_set_float( g_HTTPEntity , EV_FL_nextthink , get_gametime() + THINK_INTERVAL );
}
else
{
entity_set_int( g_HTTPEntity , EV_INT_flags , FL_KILLME );
call_think( g_HTTPEntity );
g_HTTPEntity = EOS;
DestroyForward( g_Forward );
g_Forward = EOS;
}
}
#if defined _colorchat_included
#endinput
#endif
#define _colorchat_included
#define NORMAL DontChange
#define GREEN DontChange
#define TEAM_COLOR DontChange
#define RED Red
#define BLUE Blue
#define GREY Grey
#define ColorChat client_print_color_func
enum _:Colors {DontChange,Red,Blue,Grey}
stock const g_szTeamName[Colors][] = {'UNASSIGNED','TERRORIST','CT','SPECTATOR'}
stock client_print_color_func(id, iColor=DontChange, const szMsg[], any:..){
if( id && !is_user_connected(id) ){
return 0;
}
if( iColor > Grey ){
iColor = DontChange;
}
new szMessage[192];
if( iColor DontChange ){
szMessage[0] = 0x04;
}
else{
szMessage[0] = 0x03;
}
new iParams = numargs();
if(id){
if( iParams 3 ){
copy(szMessage[1], charsmax(szMessage)-1, szMsg);
}
else{
vformat(szMessage[1], charsmax(szMessage)-1, szMsg, 4);
}
if( iColor ){
new szTeam[11];
replace_all(szMessage,128,'%','%')
replace_all(szMessage,128,'#','#')
if(strlen(szMessage)>=189){ // fix for possible Refusing to send user message SayText of 193 bytes to client, user message size limit is 192 bytes
get_user_team(id, szTeam, charsmax(szTeam));
Send_TeamInfo(id, id, g_szTeamName[iColor]);
Send_SayText(id, id, 'Error limit printf message long');
Send_TeamInfo(id, id, szTeam);
}
else{
get_user_team(id, szTeam, charsmax(szTeam));
Send_TeamInfo(id, id, g_szTeamName[iColor]);
Send_SayText(id, id, szMessage);
Send_TeamInfo(id, id, szTeam);
}
}
else{
Send_SayText(id, id, szMessage);
}
}
else{
new iPlayers[32], iNum;
get_players(iPlayers, iNum, 'ch');
if( !iNum ){
return 0;
}
new iFool = iPlayers[0];
new iMlNumber, i, j;
new Array:aStoreML = ArrayCreate();
if( iParams >= 5 ){
for(j=4; j<iParams; j++){
if( getarg(j) LANG_PLAYER ){
i=EOS;
while( ( szMessage[ i ] = getarg( j + 1, i++ ) ) ) {}
if( GetLangTransKey(szMessage) != TransKey_Bad ){
ArrayPushCell(aStoreML, j++);
iMlNumber++;
}
}
}
}
if( !iMlNumber ){
if( iParams 3 ){
copy(szMessage[1], charsmax(szMessage)-1, szMsg);
}
else{
vformat(szMessage[1], charsmax(szMessage)-1, szMsg, 4);
}
if( iColor ){
new szTeam[11];
get_user_team(iFool, szTeam, charsmax(szTeam));
Send_TeamInfo(0, iFool, g_szTeamName[iColor]);
Send_SayText(0, iFool, szMessage);
Send_TeamInfo(0, iFool, szTeam);
}
else{
Send_SayText(0, iFool, szMessage);
}
}
else{
new szTeam[11], szFakeTeam[10];
if( iColor ){
get_user_team(iFool, szTeam, charsmax(szTeam));
copy(szFakeTeam, charsmax(szFakeTeam), g_szTeamName[iColor]);
}
for( i = EOS; i < iNum; i++ ){
id = iPlayers[i];
for(j=EOS; j<iMlNumber; j++){
setarg(ArrayGetCell(aStoreML, j), _, id);
}
vformat(szMessage[1], charsmax(szMessage)-1, szMsg, 4);
if( iColor ){
Send_TeamInfo(id, iFool, szFakeTeam);
Send_SayText(id, iFool, szMessage);
Send_TeamInfo(id, iFool, szTeam);
}
else{
Send_SayText(id, iFool, szMessage);
}
}
ArrayDestroy(aStoreML);
}
}
return 1;
}
stock Send_TeamInfo(iReceiver, iPlayerId, szTeam[])
{
static iTeamInfo = EOS;
if( !iTeamInfo ){
iTeamInfo = get_user_msgid('TeamInfo');
}
message_begin(iReceiver ? MSG_ONE_UNRELIABLE : MSG_BROADCAST, iTeamInfo, .player=iReceiver);
write_byte(iPlayerId);
write_string(szTeam);
message_end();
}
stock Send_SayText(iReceiver, iPlayerId, szMessage[]){
static iSayText = EOS;
if( !iSayText ){
iSayText = get_user_msgid('SayText');
}
message_begin(iReceiver ? MSG_ONE_UNRELIABLE : MSG_BROADCAST, iSayText, .player=iReceiver);
write_byte(iPlayerId);
write_string(szMessage);
message_end();
}
stock register_dictionary_colored(const filename[])
{
if( !register_dictionary(filename) ){
return 0;
}
new szFileName[256];
get_localinfo('amxx_datadir', szFileName, charsmax(szFileName));
format(szFileName, charsmax(szFileName), '%s/lang/%s', szFileName, filename);
new fp = fopen(szFileName, 'rt');
if( !fp ){
log_amx('Failed to open %s', szFileName);
return 0;
}
new szBuffer[512], szLang[3], szKey[64], szTranslation[256], TransKey:iKey;
while( !feof(fp) ){
fgets(fp, szBuffer, charsmax(szBuffer));
trim(szBuffer);
if( szBuffer[0] '[' ){
strtok(szBuffer[1], szLang, charsmax(szLang), szBuffer, 1, ']');
}
else if( szBuffer[0] ){
strbreak(szBuffer, szKey, charsmax(szKey), szTranslation, charsmax(szTranslation));
iKey = GetLangTransKey(szKey);
if( iKey != TransKey_Bad ){
while( replace(szTranslation, charsmax(szTranslation), '!g', '^4') ){}
while( replace(szTranslation, charsmax(szTranslation), '!t', '^3') ){}
while( replace(szTranslation, charsmax(szTranslation), '!n', '^1') ){}
AddTranslation(szLang, iKey, szTranslation[2]);
}
}
}
fclose(fp);
return 1;
}
/*
Other Functions for windows
//0x55,0x8B,0xEC,0xDEF,0xDEF,0xDEF,0xDEF,0x00,0x00,0xDEF,0x45,0xDEF,0x57,0xDEF,0xDEF,0xDEF, // ???
//0xDEF,0x71,0xDEF,0x00,0x00,0x68,0xDEF,0xDEF,0x00,0x00,0x50,0xDEF,0xDEF,0xDEF,0xDEF,0xDEF, // ???
//0xDEF,0x50,0xDEF,0xDEF,0x65,0xDEF,0xDEF,0xDEF,0xDEF,0xDEF,0xDEF,0xDEF,0xDEF,0x51,0xDEF,0xDEF, // ???
//0x6A,0xDEF,0xDEF,0xDEF,0xDEF,0xDEF,0xDEF,0xDEF // ???
//0x55,0x8B,0xDEF,0xDEF,0xDEF,0xDEF,0xDEF,0xDEF,0x54,0xDEF,0xDEF,0xDEF,0x33,0xDEF,0x53,0xDEF //sv_process
//0x55,0x8B,0xEC,0xDEF,0x55,0xDEF,0xDEF,0x45,0xDEF,0x53,0xDEF,0xDEF,0xDEF,0x56,0x57,0xDEF validate
//0x55,0x8B,0xEC,0x51,0xDEF,0x45,0xDEF,0x53,0x24,0xDEF,0x33,0xDEF,0xDEF,0xDEF,0xDEF,0xDEF // ???
//0x55,0x8B,0xEC,0xDEF,0xDEF,0xDEF,0xDEF,0x45,0xDEF,0xDEF,0x45,0xDEF,0x00,0x00,0x00,0x00 // com_unmunge2
//0x55,0x8B,0xEC,0x83,0xEC,0x24,0x53,0x56,0x57,0xE8,0xDEF,0xDEF,0xDEF,0xDEF,0x8B,0xF0,0xA1 // sv_parseResourceList
//0x55,0x8B,0xEC,0xDEF,0xDEF,0xDEF,0xDEF,0x45,0xDEF,0x53,0x56,0x57,0xDEF,0x38,0xDEF,0x74 // sv_processfile
//0x55,0x8B,0xEC,0xDEF,0xDEF,0x34,0xDEF,0x00,0x00,0x53,0x56,0x57,0xDEF,0xDEF,0xDEF,0x33 //netchan
//0x55,0x8B,0xEC,0x83,0xDEF,0xDEF,0xDEF,0x45,0xDEF,0xDEF,0x45,0xDEF,0x00,0x00,0x00,0x00 // com_munge
//0x55,0x8B,0xEC,0x51,0xDEF,0x45,0xDEF,0x53,0x24,0xDEF,0xDEF,0xDEF,0xDEF,0xDEF,0xDEF,0xDEF //com_unmunge
//0x55,0x8B,0xEC,0x51,0xDEF,0x45,0xDEF,0x53,0x24,0xDEF,0x33,0xDEF,0xDEF,0xDEF,0xDEF,0xDEF // com_munge2
//0x55,0x8B,0xEC,0xDEF,0x45,0xDEF,0x56,0xDEF,0x75,0xDEF,0x57,0xDEF,0xDEF,0xDEF,0x56,0x50 // ???
//0x55,0x8B,0xEC,0x81,0xEC,0xDEF,0xDEF,0xDEF,0xDEF,0x56,0xB1,0xDEF, //sv_begindownload
//0xB0,0xDEF,0x57,0xC6,0xDEF,0xDEF,0xDEF,0xC6,0xDEF,0xDEF,0xDEF,0xC6,0xDEF,0xDEF,0xDEF,0x88 // ???
*/
  • Copy lines
  • Copy permalink