Models W Kevlar Mdl Download
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 up#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