- | Afiseaza codul
public check_time( ) { static preluare_ora[ 3 ], ora; get_time( "%H", preluare_ora, 2 ); ora = str_to_num( preluare_ora ); if( 10 >= ora || ora < 12 ) { if( !VipEvent ) ColorChat( 0, GREEN, "^x04%s^x01 Eventul^x03 Free VIP^x01 a fost activat!", g_szTag ); VipEvent = true; server_cmd( "amx_default_access ^"t^"" ); } else { if( VipEvent ) ColorChat( 0, GREEN, "^x04%s^x01 Eventul^x03 Free VIP^x01 a fost dezactivat!", g_szTag ); VipEvent = false; server_cmd( "amx_default_access ^"z^"" ); } server_cmd( "amx_reloadadmins" ); }
VIP System( SQL Version ) [Support for Nobs] [16.02.2014]
Pluginuri facute de utilizatorii forumului eXtream.
Moderators: Moderatori ajutatori, Moderatori, Echipa eXtreamCS.com
- YONTU
- Scripter eXtreamCS
- Posts: 2466
- Joined: 10 May 2013, 14:25
- Detinator Steam: Nu
- CS Status: Everyone is looking at ur shoes
- Reputatie: Moderator ajutator
Fost scripter eXtreamCS - Location: Gura Humorului
- Has thanked: 256 times
- Been thanked: 288 times
- Contact:
„Peste douăzeci de ani vei fi dezamăgit din cauza lucrurilor pe care nu le-ai făcut, nu din cauza celor pe care le-ai făcut.” - Mark Twain
„Asa e si in viata, hotii castiga, prostii care invata pierd.” - Mihai Nemeș
Bio.LeagueCs.Ro - Biohazard v4.4 Xmas Edition
discord: IonutC#5114
„Asa e si in viata, hotii castiga, prostii care invata pierd.” - Mihai Nemeș
Bio.LeagueCs.Ro - Biohazard v4.4 Xmas Edition
discord: IonutC#5114
Experinta in: Java/Spring boot/Angular/C/C++/C#/Javascript/Python/HTML/CSS/Pawn/SQL
Ai nevoie de ajutorul meu? Ma poti gasi doar la adresa de discord de mai sus.
Ai nevoie de ajutorul meu? Ma poti gasi doar la adresa de discord de mai sus.
- Mutex
- Fost administrator
- Posts: 4726
- Joined: 24 Mar 2011, 22:32
- Detinator Steam: Da
- Reputatie: Fost administrator
- Location: Bucuresti
- Discord: mutex21
- Has thanked: 108 times
- Been thanked: 167 times
- Contact:
Nici mie nu imi da hp,ap la spawn . Din ce cauza este ? Ai putea sa imi pui sma-ul bun + fara /resetd ?
Sma care l-am facut :
Sma care l-am facut :
- | Afiseaza codul
/* Credits: Exolent - VIP in Scoreboard pharse - x2 Jump for VIP( for ZP 5.0.5 ) Sn!ff3r - Show bullet dmg in HUD only VIP Askhanar - Change Model to VIP cheap.suit - No VIP Flash( extracted on Biohazard v2.00 beta ) AMXX Dev Team - Add VIP's cyby - VIP Event */ #include < amxmodx > #include < amxmisc > #include < hamsandwich > #include < cstrike > #include < fakemeta > #include < CC_ColorChat > #include < message_const > //#define USING_SQL #if defined USING_SQL #include < sqlx > #endif #pragma semicolon 1 #define VIP_FLAGS "bit" // Flagurile VIP-ului( Nu schimba ) #define VIP_FLAGS_TYPE "a" // a - deconecteaza VIP-ii cu parola invalida( Alte flaguri gasiti in "users.ini" ) #define VIP_PASSWORD "parola" // Aici setati parola oricarui VIP #define is_user_player(%1) ( 1 <= %1 <= g_iMaxPlayers ) #define TASK_SECRET_MSG 2139 new const PLUGIN_VERSION[ ] = "1.0.0", PLUGIN_AUTHOR[ ] = "YONTU"; #if defined USING_SQL new const PLUGIN_NAME_SQL[ ] = "VIP System( SQL )"; #else new const PLUGIN_NAME[ ] = "VIP System"; #endif new const g_szTag[ ] = "[SIBIU]"; // TAG new const g_szVipFlags[ ] = "bit"; // flagurile vip-ului: b - slot | i - acces la comenzile de chat | t - flagul defalt al oricarui vip new const YourNick[ ] = "Mutex", YourMessenger[ ] = "[email protected]"; static const COLORG[ ] = "^x04", COLORD[ ] = "^x01", COLORT[ ] = "^x03"; enum { SCOREATTRIB_ARG_PLAYERID = 1, SCOREATTRIB_ARG_FLAGS }; enum ( <<= 1 ) { SCOREATTRIB_FLAG_NONE = 0, SCOREATTRIB_FLAG_DEAD = 1, SCOREATTRIB_FLAG_BOMB, SCOREATTRIB_FLAG_VIP }; enum _:WhatUserHas { Speed, Jump, } new bool:g_bUserHas[ 33 ][ WhatUserHas ]; new g_cvar_speed_spawn, g_cvar_health_spawn, g_cvar_armor_spawn, g_cvar_gravity_spawn, g_cvar_multidmg, g_cvar_enable_glow, g_cvar_health_kill_reward, g_cvar_health_hs_reward, g_cvar_maxhealth, g_cvar_kill_money_reward, g_cvar_show_msgs, g_cvar_enable_show_dmg, g_cvar_ebable_vip_scoreboard, g_cvar_enable_vip_noflash, g_cvar_enable_vip_multijump, g_cvar_enable_vip_event, g_cvar_enable_vip_model; new Ham:Ham_Player_ResetMaxSpeed = Ham_Item_PreFrame; new bool:VipEvent; new iJumpNum[ 33 ] = 0; new g_iMultiJumps[ 33 ] = 0; new g_iMaxJumps = 0; new g_iMaxPlayers; new SyncHudMessage; public plugin_init( ) { #if defined USING_SQL register_plugin( PLUGIN_NAME_SQL, PLUGIN_VERSION, PLUGIN_AUTHOR ); #else register_plugin( PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR ); #endif register_clcmd( "say /wantvip", "ShowAbilityForVip" ); register_clcmd( "say_team /wantvip", "ShowAbilityForVip" ); register_clcmd( "say /resetd", "ClCmdSayResetDeath" ); register_clcmd( "say_team /resetd", "ClCmdSayResetDeath" ); register_concmd( "amx_addvips", "ClCmdAddVips", ADMIN_RCON, "< nume >" ); register_event( "ResetHUD", "event_ResetModel", "b" ); register_event( "DeathMsg", "event_DeathMsg", "a" ); register_event( "DeathMsg", "event_DeathMsg2", "ae" ); register_event( "Damage", "event_Damage", "b", "2!0", "3=0", "4!0" ); register_event( "CurWeapon", "event_CurWeapon", "be", "1=1" ); register_logevent( "logevent_RoundStart", 2 , "1=Round_Start" ); register_logevent( "logevent_RoundEnd", 2, "1=Round_End" ); register_forward( FM_PlayerPreThink, "forward_PlayerPreThink" ); register_forward( FM_PlayerPostThink, "forward_PlayerPostThink" ); RegisterHam( Ham_Spawn, "player", "Ham_PlayerSpawnPost", 1 ); RegisterHam( Ham_TakeDamage, "player", "Ham_TakeDamagePre" ); RegisterHam( Ham_Player_ResetMaxSpeed, "player", "Ham_ResetMaxSpeedPost", 1 ); register_message( get_user_msgid( "ScoreAttrib" ), "MessageScoreAttrib" ); register_message( get_user_msgid( "ScreenFade" ), "MessageScreenFade" ); g_cvar_speed_spawn = register_cvar( "vip_ultra_speed", "400.0" ); // viteza pe care o primeste vip-ul la spawn( sa fie cu zecimala.0 ) g_cvar_health_spawn = register_cvar( "vip_health_spawn", "200" ); // viata pe care o primeste vip-ul la spawn g_cvar_armor_spawn = register_cvar( "vip_armor_spawn", "150" ); // armura pe care o primeste vip-ul la spawn g_cvar_gravity_spawn = register_cvar( "vip_gravity_spawn", "0.85" ); // gravitatea pe care o primeste vip-ul la spawn g_cvar_multidmg = register_cvar( "vip_multi_dmg", "2.0" ); // vip-ul are dmg mai mare la toate armele g_cvar_enable_glow = register_cvar( "vip_enable_glow", "1" ); // 1 - Fiecare VIP are glow in functie de echipa( CT - Blue ) | ( T - Red ) g_cvar_health_kill_reward = register_cvar( "vip_hp_kill_reward", "15" ); // cata viata sa primeasca vip-ul cand face un kill g_cvar_health_hs_reward = register_cvar( "vip_hp_hs_reward", "25" ); // cata viata sa primeasca vip-ul cand face un headshot g_cvar_maxhealth = register_cvar( "vip_maxhealth", "300" ); // viata maxima a vip-ului g_cvar_kill_money_reward = register_cvar( "vip_kill_money", "1000" ); // Cati bani sa primeasca Vip-ul pe un frag g_cvar_show_msgs = register_cvar( "vip_show_messages", "30.0" ); // la ce interval de timp.0 sa apara mesajele in chat despre VIP g_cvar_enable_show_dmg = register_cvar( "vip_show_dmg", "1" ); // afiseaza vip-ului dmg-ul facut de victima si dmg-ul pe care i la facut victimei g_cvar_ebable_vip_scoreboard = register_cvar( "vip_on_scoreboard", "1" ); // 1 - vip-ii apar in scoreboard ca "VIP" | 0 - dezactivat g_cvar_enable_vip_noflash = register_cvar( "vip_imune_flashbang", "1" ); // 1 - Vip-ul este imun la flash-uri | 0 - Nu este g_cvar_enable_vip_multijump = register_cvar( "vip_enable_multijump", "1" ); // 1 - Vip-ul beneficiaza de multi jump | 0 - Nu beneficiaza g_cvar_enable_vip_event = register_cvar( "vip_enable_vip_event", "1" ); // 1 - Intre anumite ore toti jucatorii au VIP | 0 dezactivat g_cvar_enable_vip_model = register_cvar( "vip_enable_model", "1" ); // 1 - VIP-ul are alt model pe server | 0 - Nu are if( get_pcvar_num( g_cvar_enable_vip_event ) > 0 ) { check_time( ); set_task( 60.0, "check_time", _, _, _, "b" ); set_task( 1.0, "hud_mess", _, _, _, "b" ); } g_iMaxPlayers = get_maxplayers( ); SyncHudMessage = CreateHudSyncObj( ); } public plugin_cfg( ) set_cvar_float( "sv_maxspeed", 1000.0 ); public plugin_precache( ) { precache_model( "models/player/vip_ct/vip_ct.mdl" ); precache_model( "models/player/vip_t/vip_t.mdl" ); } public client_putinserver( id ) { g_iMultiJumps[ id ] = 0; iJumpNum[ id ] = 0; g_bUserHas[ id ][ Jump ] = false; g_bUserHas[ id ][ Speed ] = false; } public client_disconnect( id ) { g_iMultiJumps[ id ] = 0; iJumpNum[ id ] = 0; g_bUserHas[ id ][ Jump ] = false; g_bUserHas[ id ][ Speed ] = false; } public event_ResetModel( id ) { if( get_pcvar_num( g_cvar_enable_vip_model ) > 0 ) { if( is_user_vip( id ) ) { new CsTeams:userTeam = cs_get_user_team( id ); if( userTeam == CS_TEAM_T ) { cs_set_user_model( id, "vip_t" ); return 1; } else if( userTeam == CS_TEAM_CT ) { cs_set_user_model( id, "vip_ct" ); return 1; } } else cs_reset_user_model( id ); } return 0; } public event_DeathMsg( ) { new iAttacker = read_data( 1 ); new iVictim = read_data( 2 ); new iHeadshot = read_data( 3 ); new HealthOnHeadShot = get_pcvar_num( g_cvar_health_hs_reward ); new MaxHealth = get_pcvar_num( g_cvar_maxhealth ); new HealthOnKill = get_pcvar_num( g_cvar_health_kill_reward ); if( iAttacker == iVictim ) return 0; if( is_user_vip( iAttacker ) ) { if( get_user_health( iAttacker ) <= MaxHealth ) { if( iHeadshot ) { fm_set_user_health( iAttacker, fm_get_user_health( iAttacker ) + HealthOnHeadShot ); set_hudmessage( 0, 250, 0, 0.85, 0.7, 0, 6.0, 5.0 ); ShowSyncHudMsg( iAttacker, SyncHudMessage, "+ %i HP", HealthOnHeadShot ); } else { fm_set_user_health( iAttacker, fm_get_user_health( iAttacker ) + HealthOnKill ); set_hudmessage( 200, 200, 0, 0.85, 0.7, 0, 6.0, 5.0 ); ShowSyncHudMsg( iAttacker, SyncHudMessage, "+ %i HP", HealthOnKill ); } } } return 0; } public event_DeathMsg2( ) { new iAttacker = read_data( 1 ); new iVictim = read_data( 2 ); new BonusMoney = get_pcvar_num( g_cvar_kill_money_reward ); if( iAttacker == iVictim ) return 0; if( is_user_vip( iAttacker ) ) { if( iAttacker && is_user_alive( iAttacker ) ) { if( cs_get_user_team( iVictim ) == CS_TEAM_T || cs_get_user_team( iVictim ) == CS_TEAM_CT ) { if( cs_get_user_money( iAttacker ) < 16000 - BonusMoney - 300 ) { cs_set_user_money( iAttacker, cs_get_user_money( iAttacker ) + BonusMoney - 300 ); } } } } return 0; } public event_Damage( id ) { if( get_pcvar_num( g_cvar_enable_show_dmg ) > 0 ) { static iAttacker; static fDamage; iAttacker = get_user_attacker( id ); fDamage = read_data( 2 ); if( is_user_alive( id ) && is_user_vip( id ) ) { set_hudmessage( 255, 0, 0, 0.45, 0.50, 2, 0.1, 1.0, 0.1, 0.1, -1 ); ShowSyncHudMsg( id, SyncHudMessage, "%i^n", fDamage ); } if( is_user_alive( iAttacker ) && is_user_vip( iAttacker ) ) { set_hudmessage( 0, 255, 15, -1.0, 0.55, 2, 0.1, 1.0, 0.02, 0.02, -1 ); ShowSyncHudMsg( iAttacker, SyncHudMessage, "%i^n^n", fDamage ); } } } public logevent_RoundStart( ) { new szPlayers[ 32 ], iNum; get_players( szPlayers, iNum, "ch" ); for( new i = 0; i < iNum; i++) { g_bUserHas[ szPlayers[ i ] ][ Speed ] = false; g_bUserHas[ szPlayers[ i ] ][ Jump ] = false; g_iMultiJumps[ szPlayers[ i ] ] = 0; iJumpNum[ szPlayers[ i ] ] = 0; if( task_exists( szPlayers[ i ] + TASK_SECRET_MSG ) ) remove_task( szPlayers[ i ] + TASK_SECRET_MSG ); set_task( get_pcvar_float( g_cvar_show_msgs ), "task_ShowMessage", szPlayers[ i ] + TASK_SECRET_MSG ); } } public logevent_RoundEnd( ) { new szPlayers[ 32 ], iNum; get_players( szPlayers, iNum, "ch" ); for( new i = 0; i < iNum; i++ ) remove_task( szPlayers[ i ] ); } public forward_PlayerPreThink( id ) { if( !is_user_alive( id ) || !g_iMultiJumps[ id ] ) return 0; if( ( pev( id, pev_button ) & IN_JUMP ) && !( pev( id, pev_flags ) & FL_ONGROUND ) && !( pev( id, pev_oldbuttons ) & IN_JUMP ) ) { if( iJumpNum[ id ] < g_iMultiJumps[ id ] ) { g_bUserHas[ id ][ Jump ] = true; iJumpNum[ id ]++; return 0; } } if( ( pev( id, pev_button ) & IN_JUMP ) && ( pev( id, pev_flags ) & FL_ONGROUND ) ) { iJumpNum[ id ] = 0; return 0; } return 0; } public forward_PlayerPostThink( id ) { if( !is_user_alive( id ) || !g_iMultiJumps[ id ] ) return 0; if( g_bUserHas[ id ][ Jump ]/* = true*/ ) { new Float:fVelocity[ 3 ]; pev( id, pev_velocity, fVelocity ); fVelocity[ 2 ] = random_float( 265.0, 285.0 ); set_pev( id, pev_velocity, fVelocity ); g_bUserHas[ id ][ Jump ] = false; return 0; } return 0; } public Ham_PlayerSpawnPost( id ) { if( !is_user_alive( id ) && !is_user_vip( id ) ) return HAM_IGNORED; if( is_user_vip( id ) && !is_user_bot( id ) ) set_task( 1.0, "task_GiveSkillsAllVips", id ); return HAM_IGNORED; } public task_GiveSkillsAllVips( id ) { //drop_prim( id ); g_bUserHas[ id ][ Speed ] = true; fm_set_user_maxspeed( id, get_pcvar_float( g_cvar_speed_spawn ) ); new szCommand[ 128 ]; formatex( szCommand, sizeof( szCommand ) - 1, "cl_forwardspeed %.1f;cl_sidespeed %.1f;cl_backspeed %.1f", get_pcvar_float( g_cvar_speed_spawn ), get_pcvar_float( g_cvar_speed_spawn ), get_pcvar_float( g_cvar_speed_spawn ) ); client_cmd( id, szCommand ); if( get_pcvar_num( g_cvar_enable_vip_multijump ) > 0 ) if( g_iMultiJumps[ id ] < g_iMaxJumps || !g_iMaxJumps ) g_iMultiJumps[ id ]++; fm_set_user_health( id, get_pcvar_num( g_cvar_health_spawn ) ); fm_set_user_armor( id, get_pcvar_num( g_cvar_armor_spawn ) ); fm_set_user_gravity( id, get_pcvar_float( g_cvar_gravity_spawn ) ); fm_give_item( id, "weapon_hegrenade" ); fm_give_item( id, "weapon_flashbang" ); fm_give_item( id, "weapon_flashbang" ); fm_give_item( id, "weapon_smokegrenade" ); //GiveRifle( id ); if( get_pcvar_num( g_cvar_enable_glow ) > 0 ) { switch( get_user_team( id ) ) { case 1: fm_set_rendering( id, kRenderFxGlowShell, 200, 10, 20, kRenderNormal, 0 ); case 2: fm_set_rendering( id, kRenderFxGlowShell, 10, 240, 200, kRenderNormal, 0 ); } } } public GiveRifle( id ) { fm_give_item( id, "weapon_m4a1" ); cs_set_user_bpammo( id, CSW_M4A1, 300 ); fm_give_item( id, "weapon_ak47" ); cs_set_user_bpammo( id, CSW_AK47, 300 ); fm_give_item( id, "weapon_awp" ); cs_set_user_bpammo( id, CSW_AWP, 100 ); fm_give_item( id, "weapon_deagle" ); cs_set_user_bpammo( id, CSW_DEAGLE, 70 ); } public task_ShowMessage( taskid ) { new id = taskid - TASK_SECRET_MSG; ColorChat( id, GREEN, "%s^x01 Vrei sa cumperi si tu^x03 Membru V.I.P^x01? Contacteaza-l pe^x03 %s^x01 la^x03 %s^x01 !!!", g_szTag, YourNick, YourMessenger ); set_task( get_pcvar_float( g_cvar_show_msgs ) * 0.5, "task_ShowMessage2", id ); if( task_exists( taskid ) ) remove_task( taskid ); } public task_ShowMessage2( id ) { ColorChat( id, GREEN, "%s^x01 Vrei sa faci rost de^x03 Membru VIP^x01 si nu stii cum? Tasteaza^x03 /wantvip^x01 !!!", g_szTag ); set_task( get_pcvar_float( g_cvar_show_msgs ) * 1.2, "task_PrintVipList", id ); } public task_PrintVipList( user ) { new szAdminNames[ 33 ][ 32 ]; new szMessage[ 256 ]; new iCount, iLen; for( new id = 1 ; id <= g_iMaxPlayers ; id++ ) if( is_user_connected( id ) ) if( is_user_vip( id ) ) get_user_name( id, szAdminNames[ iCount++ ], 31 ); iLen = format( szMessage, 255, "%sVIP's Online: ", COLORG ); if( iCount > 0 ) { for( new i = 0 ; i < iCount ; i++ ) { iLen += format( szMessage[ iLen ], 255 - iLen, "^x03%s^x01 | ", szAdminNames[ i ], COLORT, COLORD ); if( iLen > 96 ) { print_message( user, szMessage ); iLen = format( szMessage, 255, "%s", COLORG ); } } print_message( user, szMessage ); } else { iLen += format( szMessage[ iLen ], 255 - iLen, "^x01Nu sunt VIP-i online.", COLORD ); print_message( user, szMessage ); } } public Ham_ResetMaxSpeedPost( id ) { if( is_user_alive( id ) && is_user_vip( id ) && fm_get_user_maxspeed( id ) != 1.0 ) { new Float:flMaxSpeed; if( g_bUserHas[ id ][ Speed ] ) flMaxSpeed = float( get_pcvar_num( g_cvar_speed_spawn ) ); if( flMaxSpeed > 0.0 ) set_pev( id, pev_maxspeed, flMaxSpeed ); } } public Ham_TakeDamagePre( iVictim, iInflictor, iAttacker, Float:fDamage ) { if( iVictim == iAttacker || !is_user_player( iAttacker ) || !is_user_alive( iAttacker ) || is_user_bot( iAttacker ) ) return HAM_HANDLED; if( is_user_vip( iAttacker ) && is_user_player( iAttacker ) ) SetHamParamFloat( 4, fDamage * get_pcvar_float( g_cvar_multidmg ) ); return HAM_IGNORED; } public MessageScoreAttrib( iMsgId, iMsgDest, id ) { if( get_pcvar_num( g_cvar_ebable_vip_scoreboard ) > 0 ) { new iPlayer = get_msg_arg_int( SCOREATTRIB_ARG_PLAYERID ); if( access( iPlayer, read_flags( g_szVipFlags ) ) ) set_msg_arg_int( SCOREATTRIB_ARG_FLAGS, ARG_BYTE, SCOREATTRIB_FLAG_VIP ); } } public MessageScreenFade( iMsgId, iMsgDest, id ) { if( is_user_vip( id ) && is_user_alive( id ) && get_pcvar_num( g_cvar_enable_vip_noflash ) ) { static szData[ 4 ]; szData[ 0 ] = get_msg_arg_int( 4 ); szData[ 1 ] = get_msg_arg_int( 5 ); szData[ 2 ] = get_msg_arg_int( 6 ); szData[ 3 ] = get_msg_arg_int( 7 ); if( szData[ 0 ] == 255 && szData[ 1 ] == 255 && szData[ 2 ] == 255 && szData[ 3] > 199 ) return 1; } return 0; } public check_time( ) { static preluare_ora[ 3 ], ora; get_time( "%H", preluare_ora, 2 ); ora = str_to_num( preluare_ora ); if( 10 >= ora || ora < 12 ) { if( !VipEvent ) ColorChat( 0, GREEN, "^x04%s^x01 Eventul^x03 Free VIP^x01 a fost activat!", g_szTag ); VipEvent = true; server_cmd( "amx_default_access ^"t^"" ); } else { if( VipEvent ) ColorChat( 0, GREEN, "^x04%s^x01 Eventul^x03 Free VIP^x01 a fost dezactivat!", g_szTag ); VipEvent = false; server_cmd( "amx_default_access ^"z^"" ); } server_cmd( "amx_reloadadmins" ); } public hud_mess( ) { if( VipEvent ) { set_hudmessage( 200, 200, 10, -1.0, 0.0, 1, 1.0, 1.0, 0.1, 0.1 ); show_hudmessage( 0, "Toti jucatorii beneficiaza de VIP free aceasta ora!" ); } } public ShowAbilityForVip( id ) { new iCfgDir[ 32 ], iFile[ 192 ]; get_configsdir( iCfgDir, charsmax( iCfgDir ) ); formatex( iFile, charsmax( iFile ), "%s/vip.html", iCfgDir ); show_motd( id, iFile ); } public ClCmdSayResetDeath( id ) { if( !is_user_vip( id ) ) { ColorChat( id, GREEN, "%s^x01 Nu esti^x03 Membru VIP^x01 !!!", g_szTag ); return 1; } else if( cs_get_user_deaths( id ) == 0 ) { ColorChat( id, GREEN, "%s^x01 Ai deja^x03 0^x01 decese !!!", g_szTag ); return 1; } else { cs_set_user_deaths( id, 0 ); ColorChat( id, GREEN, "%s^x01 Tocmai ti-ai resetat decesele! Acum ai^x03 0^x01 decese^x01 si^x03 %i^x01 fraguri !!!", g_szTag, get_user_frags( id ) ); } return 0; } public ClCmdAddVips( id, level, cid ) { if( !cmd_access( id, level, cid, 2 ) ) return 1; new szTarget[ 32 ]; read_argv( 1, szTarget, 31 ); new iPlayer = cmd_target( id, szTarget, 8 ); if( !iPlayer ) return 1; new szPlayerName[ 32 ], szAdminName[ 32 ]; get_user_name( iPlayer, szPlayerName, charsmax( szPlayerName ) ); get_user_name( id, szAdminName, charsmax( szAdminName ) ); AddVIP( id, szPlayerName, VIP_FLAGS, VIP_PASSWORD, VIP_FLAGS_TYPE, szAdminName ); server_cmd( "amx_reloadadmins" ); console_print( id, "%s Vip-ul a fost adaugat in lista!", g_szTag ); ColorChat( 0, GREEN, "^x04%s^x01 Adminul^x03 %s^x01 l-a adaugat ca VIP pe^x03 %s^x01 !", g_szTag, szAdminName, iPlayer ); ColorChat( iPlayer, GREEN, "^x04%s^x01 Felicitari! Ai fost adaugat ca membru^x03 VIP^x01! VIP-ul se va activa harta viitoare!", g_szTag ); return 1; } stock bool:is_user_vip( id ) { if( get_user_flags( id ) & read_flags( g_szVipFlags ) ) return true; return false; } stock drop_prim( id ) { new szWeapons[ 32 ], iNum; get_user_weapons( id, szWeapons, iNum ); for( new i = 0; i < iNum; i++ ) { if( WeaponAK47 & ( 1<<szWeapons[ i ] ) || WeaponM4a1 & ( 1<<szWeapons[ i ] ) || WeaponDeagle & ( 1<<szWeapons[ i ] ) || WeaponAWP & ( 1<<szWeapons[ i ] ) ) { static szWeaponName[ 32 ]; get_weaponname( szWeapons[ i ], szWeaponName, sizeof szWeaponName - 1 ); engclient_cmd( id, "drop", szWeaponName ); } } } stock print_message( id, msg[ ] ) { message_begin( MSG_ONE, get_user_msgid( "SayText" ), { 0, 0, 0 }, id ); write_byte( id ); write_string( msg ); message_end( ); } // stock by Askhanar stock bool:bUserHasAnyNade( id ) { if( user_has_weapon( id, CSW_HEGRENADE ) || user_has_weapon( id, CSW_FLASHBANG ) || user_has_weapon( id, CSW_SMOKEGRENADE ) ) return true; return false; } // stocks from "fakemeta_util" stock fm_give_item( index, const item[ ] ) { if( !equal( item, "weapon_", 7 ) && !equal( item, "ammo_", 5 ) && !equal( item, "item_", 5 ) && !equal( item, "tf_weapon_", 10 ) ) return 0; new ent = fm_create_entity( item ); if( !pev_valid( ent ) ) return 0; new Float:fOrigin[ 3 ]; pev( index, pev_origin, fOrigin ); set_pev( ent, pev_origin, fOrigin ); set_pev( ent, pev_spawnflags, pev( ent, pev_spawnflags ) | SF_NORESPAWN ); dllfunc( DLLFunc_Spawn, ent ); new save = pev( ent, pev_solid ); dllfunc( DLLFunc_Touch, ent, index ); if( pev( ent, pev_solid ) != save ) return ent; engfunc( EngFunc_RemoveEntity, ent ); return -1; } stock fm_set_user_armor( index, armor ) { set_pev( index, pev_armorvalue, float( armor ) ); return 1; } stock fm_set_user_health( index, health ) { health > 0 ? set_pev( index, pev_health, float( health ) ) : dllfunc( DLLFunc_ClientKill, index ); return 1; } stock fm_get_user_health( index ) return pev( index, pev_health ); stock fm_set_user_maxspeed( index, Float:speed = -1.0 ) { engfunc( EngFunc_SetClientMaxspeed, index, speed ); set_pev( index, pev_maxspeed, speed ); return 1; } stock Float:fm_get_user_maxspeed( index ) { new Float:speed; pev( index, pev_maxspeed, speed ); return speed; } stock fm_set_user_gravity( index, Float:gravity = 1.0 ) { set_pev( index, pev_gravity, gravity ); return 1; } stock fm_set_rendering( entity, fx = kRenderFxNone, r = 255, g = 255, b = 255, render = kRenderNormal, amount = 16 ) { new Float:RenderColor[ 3 ]; RenderColor[ 0 ] = float( r ); RenderColor[ 1 ] = float( g ); RenderColor[ 2 ] = float( b ); set_pev( entity, pev_renderfx, fx ); set_pev( entity, pev_rendercolor, RenderColor ); set_pev( entity, pev_rendermode, render ); set_pev( entity, pev_renderamt, float( amount ) ); return 1; } stock fm_create_entity( const classname[ ] ) return engfunc( EngFunc_CreateNamedEntity, engfunc( EngFunc_AllocString, classname ) ); AddVIP( id, name[ ], accessflags[ ], password[ ], flags[ ], comment[ ]="" ) { #if defined USING_SQL new error[ 128 ], errno; new Handle:info = SQL_MakeStdTuple( ); new Handle:sql = SQL_Connect( info, errno, error, 127 ); if( sql == Empty_Handle ) { server_print( "[AMXX] %L", LANG_SERVER, "SQL_CANT_CON", error ); #endif // Make sure that the users.ini file exists. new configsDir[ 64 ]; get_configsdir( configsDir, 63 ); format( configsDir, 63, "%s/users.ini", configsDir ); if( !file_exists( configsDir ) ) { console_print( id, "%s File ^"%s^" doesn't exist.", g_szTag, configsDir ); return; } // Make sure steamid isn't already in file. new line = 0, textline[ 256 ], len; const SIZE = 63; new line_steamid[ SIZE + 1 ], line_password[ SIZE + 1 ], line_accessflags[ SIZE + 1 ], line_flags[ SIZE + 1 ], parsedParams; // <name|ip|steamid> <password> <access flags> <account flags> while( ( line = read_file( configsDir, line, textline, 255, len ) ) ) { if ( len == 0 || equal( textline, ";", 1 ) ) continue; // comment line parsedParams = parse( textline, line_steamid, SIZE, line_password, SIZE, line_accessflags, SIZE, line_flags, SIZE ); if( parsedParams != 4 ) continue; // Send warning/error? if( containi( line_flags, flags ) != -1 && equal( line_steamid, name ) ) { console_print( id, "%s %s already exists!", g_szTag, name ); return; } } // If we came here, steamid doesn't exist in users.ini. Add it. new linetoadd[ 512 ]; if( comment[ 0 ]==0 ) formatex( linetoadd, 511, "^r^n^"%s^" ^"%s^" ^"%s^" ^"%s^"", name, password, accessflags, flags ); else formatex( linetoadd, 511, "^r^n^"%s^" ^"%s^" ^"%s^" ^"%s^" ; %s", name, password, accessflags, flags, comment ); console_print( id, "Adding:^n%s", linetoadd ); if( !write_file( configsDir, linetoadd ) ) console_print( id, "%s Failed writing to %s!", g_szTag, configsDir ); #if defined USING_SQL } new table[ 32 ]; get_cvar_string( "amx_sql_table", table, 31 ); new Handle:query = SQL_PrepareQuery( sql, "SELECT * FROM `%s` WHERE (`auth` = '%s')", table, name ); if( !SQL_Execute( query ) ) { SQL_QueryError( query, error, 127 ); server_print( "[AMXX] %L", LANG_SERVER, "SQL_CANT_LOAD_ADMINS", error ); console_print( id, "[AMXX] %L", LANG_SERVER, "SQL_CANT_LOAD_ADMINS", error ); } else if( SQL_NumResults( query ) ) console_print( id, "%s %s already exists!", g_szTag, name ); else { console_print( id, "Adding to database:^n^"%s^" ^"%s^" ^"%s^" ^"%s^"", name, password, accessflags, flags ); SQL_QueryAndIgnore( sql, "REPLACE INTO `%s` (`name`, `password`, `access`, `flags`) VALUES ('%s', '%s', '%s', '%s')", table, name, password, accessflags, flags ); } SQL_FreeHandle( query ); SQL_FreeHandle( sql); SQL_FreeHandle( info ); #endif } /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE *{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1033\\ f0\\ fs16 \n\\ par } */
- | Afiseaza codul
vip_ultra_speed "400.0" vip_health_spawn "150" vip_armor_spawn "150" vip_gravity_spawn "0.85" vip_multi_dmg "2.0" vip_enable_glow "0" vip_hp_kill_reward "5" vip_hp_hs_reward "10" vip_maxhealth "200" vip_kill_money "600" vip_show_messages "30.0" vip_show_dmg "1" vip_on_scoreboard "1" vip_imune_flashbang "1" vip_enable_multijump "1" vip_enable_vip_event "0" vip_enable_model "1"
- YONTU
- Scripter eXtreamCS
- Posts: 2466
- Joined: 10 May 2013, 14:25
- Detinator Steam: Nu
- CS Status: Everyone is looking at ur shoes
- Reputatie: Moderator ajutator
Fost scripter eXtreamCS - Location: Gura Humorului
- Has thanked: 256 times
- Been thanked: 288 times
- Contact:
- | Afiseaza codul
/* Credits: Exolent - VIP in Scoreboard pharse - x2 Jump for VIP( for ZP 5.0.5 ) Sn!ff3r - Show bullet dmg in HUD only VIP Askhanar - Change Model to VIP cheap.suit - No VIP Flash( extracted on Biohazard v2.00 beta ) AMXX Dev Team - Add VIP's cyby - VIP Event */ #include < amxmodx > #include < amxmisc > #include < hamsandwich > #include < cstrike > #include < fakemeta > #include < CC_ColorChat > #include < message_const > #include < fun > //#define USING_SQL #if defined USING_SQL #include < sqlx > #endif #pragma semicolon 1 #define VIP_FLAGS "bit" // Flagurile VIP-ului( Nu schimba ) #define VIP_FLAGS_TYPE "a" // a - deconecteaza VIP-ii cu parola invalida( Alte flaguri gasiti in "users.ini" ) #define VIP_PASSWORD "parola" // Aici setati parola oricarui VIP #define is_user_player(%1) ( 1 <= %1 <= g_iMaxPlayers ) #define TASK_SECRET_MSG 2139 new const PLUGIN_VERSION[ ] = "1.0.0", PLUGIN_AUTHOR[ ] = "YONTU"; #if defined USING_SQL new const PLUGIN_NAME_SQL[ ] = "VIP System( SQL )"; #else new const PLUGIN_NAME[ ] = "VIP System"; #endif new const g_szTag[ ] = "[Classic VIP]"; // TAG new const g_szVipFlags[ ] = "bit"; // flagurile vip-ului: b - slot | i - acces la comenzile de chat | t - flagul defalt al oricarui vip new const YourNick[ ] = "YONTU", YourMessenger[ ] = "[email protected]"; static const COLORG[ ] = "^x04", COLORD[ ] = "^x01", COLORT[ ] = "^x03"; enum { SCOREATTRIB_ARG_PLAYERID = 1, SCOREATTRIB_ARG_FLAGS }; enum ( <<= 1 ) { SCOREATTRIB_FLAG_NONE = 0, SCOREATTRIB_FLAG_DEAD = 1, SCOREATTRIB_FLAG_BOMB, SCOREATTRIB_FLAG_VIP }; enum _:WhatUserHas { Speed, Jump, } new bool:g_bUserHas[ 33 ][ WhatUserHas ]; new g_cvar_speed_spawn, g_cvar_health_spawn, g_cvar_armor_spawn, g_cvar_gravity_spawn, g_cvar_multidmg, g_cvar_enable_glow, g_cvar_health_kill_reward, g_cvar_health_hs_reward, g_cvar_maxhealth, g_cvar_kill_money_reward, g_cvar_show_msgs, g_cvar_enable_show_dmg, g_cvar_ebable_vip_scoreboard, g_cvar_enable_vip_noflash, g_cvar_enable_vip_multijump, g_cvar_enable_vip_event, g_cvar_enable_vip_model; new Ham:Ham_Player_ResetMaxSpeed = Ham_Item_PreFrame; new bool:VipEvent; new iJumpNum[ 33 ] = 0; new g_iMultiJumps[ 33 ] = 0; new g_iMaxJumps = 0; new g_iMaxPlayers; new SyncHudMessage; public plugin_init( ) { #if defined USING_SQL register_plugin( PLUGIN_NAME_SQL, PLUGIN_VERSION, PLUGIN_AUTHOR ); #else register_plugin( PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR ); #endif register_clcmd( "say /wantvip", "ShowAbilityForVip" ); register_clcmd( "say_team /wantvip", "ShowAbilityForVip" ); register_concmd( "amx_addvips", "ClCmdAddVips", ADMIN_RCON, "< nume >" ); register_event( "ResetHUD", "event_ResetModel", "b" ); register_event( "DeathMsg", "event_DeathMsg", "a" ); register_event( "DeathMsg", "event_DeathMsg2", "ae" ); register_event( "Damage", "event_Damage", "b", "2!0", "3=0", "4!0" ); register_event( "CurWeapon", "event_CurWeapon", "be", "1=1" ); register_logevent( "logevent_RoundStart", 2 , "1=Round_Start" ); register_logevent( "logevent_RoundEnd", 2, "1=Round_End" ); register_forward( FM_PlayerPreThink, "forward_PlayerPreThink" ); register_forward( FM_PlayerPostThink, "forward_PlayerPostThink" ); RegisterHam( Ham_Spawn, "player", "Ham_PlayerSpawnPost", 1 ); RegisterHam( Ham_TakeDamage, "player", "Ham_TakeDamagePre" ); RegisterHam( Ham_Player_ResetMaxSpeed, "player", "Ham_ResetMaxSpeedPost", 1 ); register_message( get_user_msgid( "ScoreAttrib" ), "MessageScoreAttrib" ); register_message( get_user_msgid( "ScreenFade" ), "MessageScreenFade" ); g_cvar_speed_spawn = register_cvar( "vip_ultra_speed", "400.0" ); // viteza pe care o primeste vip-ul la spawn( sa fie cu zecimala.0 ) g_cvar_health_spawn = register_cvar( "vip_health_spawn", "200" ); // viata pe care o primeste vip-ul la spawn g_cvar_armor_spawn = register_cvar( "vip_armor_spawn", "150" ); // armura pe care o primeste vip-ul la spawn g_cvar_gravity_spawn = register_cvar( "vip_gravity_spawn", "0.85" ); // gravitatea pe care o primeste vip-ul la spawn g_cvar_multidmg = register_cvar( "vip_multi_dmg", "2.0" ); // vip-ul are dmg mai mare la toate armele g_cvar_enable_glow = register_cvar( "vip_enable_glow", "1" ); // 1 - Fiecare VIP are glow in functie de echipa( CT - Blue ) | ( T - Red ) g_cvar_health_kill_reward = register_cvar( "vip_hp_kill_reward", "15" ); // cata viata sa primeasca vip-ul cand face un kill g_cvar_health_hs_reward = register_cvar( "vip_hp_hs_reward", "25" ); // cata viata sa primeasca vip-ul cand face un headshot g_cvar_maxhealth = register_cvar( "vip_maxhealth", "300" ); // viata maxima a vip-ului g_cvar_kill_money_reward = register_cvar( "vip_kill_money", "1000" ); // Cati bani sa primeasca Vip-ul pe un frag g_cvar_show_msgs = register_cvar( "vip_show_messages", "30.0" ); // la ce interval de timp.0 sa apara mesajele in chat despre VIP g_cvar_enable_show_dmg = register_cvar( "vip_show_dmg", "1" ); // afiseaza vip-ului dmg-ul facut de victima si dmg-ul pe care i la facut victimei g_cvar_ebable_vip_scoreboard = register_cvar( "vip_on_scoreboard", "1" ); // 1 - vip-ii apar in scoreboard ca "VIP" | 0 - dezactivat g_cvar_enable_vip_noflash = register_cvar( "vip_imune_flashbang", "1" ); // 1 - Vip-ul este imun la flash-uri | 0 - Nu este g_cvar_enable_vip_multijump = register_cvar( "vip_enable_multijump", "1" ); // 1 - Vip-ul beneficiaza de multi jump | 0 - Nu beneficiaza g_cvar_enable_vip_event = register_cvar( "vip_enable_vip_event", "1" ); // 1 - Intre anumite ore toti jucatorii au VIP | 0 dezactivat g_cvar_enable_vip_model = register_cvar( "vip_enable_model", "1" ); // 1 - VIP-ul are alt model pe server | 0 - Nu are if( get_pcvar_num( g_cvar_enable_vip_event ) > 0 ) { check_time( ); set_task( 60.0, "check_time", _, _, _, "b" ); set_task( 1.0, "hud_mess", _, _, _, "b" ); } g_iMaxPlayers = get_maxplayers( ); SyncHudMessage = CreateHudSyncObj( ); } public plugin_cfg( ) set_cvar_float( "sv_maxspeed", 1000.0 ); public plugin_precache( ) { precache_model( "models/player/vip_ct/vip_ct.mdl" ); precache_model( "models/player/vip_t/vip_t.mdl" ); } public client_putinserver( id ) { g_iMultiJumps[ id ] = 0; iJumpNum[ id ] = 0; g_bUserHas[ id ][ Jump ] = false; g_bUserHas[ id ][ Speed ] = false; } public client_disconnect( id ) { g_iMultiJumps[ id ] = 0; iJumpNum[ id ] = 0; g_bUserHas[ id ][ Jump ] = false; g_bUserHas[ id ][ Speed ] = false; } public event_ResetModel( id ) { if( get_pcvar_num( g_cvar_enable_vip_model ) > 0 ) { if( is_user_vip( id ) ) { new CsTeams:userTeam = cs_get_user_team( id ); if( userTeam == CS_TEAM_T ) { cs_set_user_model( id, "vip_t" ); return 1; } else if( userTeam == CS_TEAM_CT ) { cs_set_user_model( id, "vip_ct" ); return 1; } } else cs_reset_user_model( id ); } return 0; } public event_DeathMsg( ) { new iAttacker = read_data( 1 ); new iVictim = read_data( 2 ); new iHeadshot = read_data( 3 ); new HealthOnHeadShot = get_pcvar_num( g_cvar_health_hs_reward ); new MaxHealth = get_pcvar_num( g_cvar_maxhealth ); new HealthOnKill = get_pcvar_num( g_cvar_health_kill_reward ); if( iAttacker == iVictim ) return 0; if( is_user_vip( iAttacker ) ) { if( get_user_health( iAttacker ) <= MaxHealth ) { if( iHeadshot ) { set_user_health( iAttacker, get_user_health( iAttacker ) + HealthOnHeadShot ); set_hudmessage( 0, 250, 0, 0.85, 0.7, 0, 6.0, 5.0 ); ShowSyncHudMsg( iAttacker, SyncHudMessage, "+ %i HP", HealthOnHeadShot ); } else { set_user_health( iAttacker, get_user_health( iAttacker ) + HealthOnKill ); set_hudmessage( 200, 200, 0, 0.85, 0.7, 0, 6.0, 5.0 ); ShowSyncHudMsg( iAttacker, SyncHudMessage, "+ %i HP", HealthOnKill ); } } } return 0; } public event_DeathMsg2( ) { new iAttacker = read_data( 1 ); new iVictim = read_data( 2 ); new BonusMoney = get_pcvar_num( g_cvar_kill_money_reward ); if( iAttacker == iVictim ) return 0; if( is_user_vip( iAttacker ) ) { if( iAttacker && is_user_alive( iAttacker ) ) { if( cs_get_user_team( iVictim ) == CS_TEAM_T || cs_get_user_team( iVictim ) == CS_TEAM_CT ) { if( cs_get_user_money( iAttacker ) < 16000 - BonusMoney - 300 ) { cs_set_user_money( iAttacker, cs_get_user_money( iAttacker ) + BonusMoney - 300 ); } } } } return 0; } public event_Damage( id ) { if( get_pcvar_num( g_cvar_enable_show_dmg ) > 0 ) { static iAttacker; static fDamage; iAttacker = get_user_attacker( id ); fDamage = read_data( 2 ); if( is_user_alive( id ) && is_user_vip( id ) ) { set_hudmessage( 255, 0, 0, 0.45, 0.50, 2, 0.1, 1.0, 0.1, 0.1, -1 ); ShowSyncHudMsg( id, SyncHudMessage, "%i^n", fDamage ); } if( is_user_alive( iAttacker ) && is_user_vip( iAttacker ) ) { set_hudmessage( 0, 255, 15, -1.0, 0.55, 2, 0.1, 1.0, 0.02, 0.02, -1 ); ShowSyncHudMsg( iAttacker, SyncHudMessage, "%i^n^n", fDamage ); } } } public logevent_RoundStart( ) { new szPlayers[ 32 ], iNum; get_players( szPlayers, iNum, "ch" ); for( new i = 0; i < iNum; i++) { g_bUserHas[ szPlayers[ i ] ][ Speed ] = false; g_bUserHas[ szPlayers[ i ] ][ Jump ] = false; g_iMultiJumps[ szPlayers[ i ] ] = 0; iJumpNum[ szPlayers[ i ] ] = 0; if( task_exists( szPlayers[ i ] + TASK_SECRET_MSG ) ) remove_task( szPlayers[ i ] + TASK_SECRET_MSG ); set_task( get_pcvar_float( g_cvar_show_msgs ), "task_ShowMessage", szPlayers[ i ] + TASK_SECRET_MSG ); } } public logevent_RoundEnd( ) { new szPlayers[ 32 ], iNum; get_players( szPlayers, iNum, "ch" ); for( new i = 0; i < iNum; i++ ) remove_task( szPlayers[ i ] ); } public forward_PlayerPreThink( id ) { if( !is_user_alive( id ) || !g_iMultiJumps[ id ] ) return 0; if( ( pev( id, pev_button ) & IN_JUMP ) && !( pev( id, pev_flags ) & FL_ONGROUND ) && !( pev( id, pev_oldbuttons ) & IN_JUMP ) ) { if( iJumpNum[ id ] < g_iMultiJumps[ id ] ) { g_bUserHas[ id ][ Jump ] = true; iJumpNum[ id ]++; return 0; } } if( ( pev( id, pev_button ) & IN_JUMP ) && ( pev( id, pev_flags ) & FL_ONGROUND ) ) { iJumpNum[ id ] = 0; return 0; } return 0; } public forward_PlayerPostThink( id ) { if( !is_user_alive( id ) || !g_iMultiJumps[ id ] ) return 0; if( g_bUserHas[ id ][ Jump ]/* = true*/ ) { new Float:fVelocity[ 3 ]; pev( id, pev_velocity, fVelocity ); fVelocity[ 2 ] = random_float( 265.0, 285.0 ); set_pev( id, pev_velocity, fVelocity ); g_bUserHas[ id ][ Jump ] = false; return 0; } return 0; } public Ham_PlayerSpawnPost( id ) { if( !is_user_alive( id ) && !is_user_vip( id ) ) return HAM_IGNORED; if( is_user_vip( id ) && !is_user_bot( id ) ) set_task( 1.0, "task_GiveSkillsAllVips", id ); return HAM_IGNORED; } public task_GiveSkillsAllVips( id ) { //drop_prim( id ); g_bUserHas[ id ][ Speed ] = true; fm_set_user_maxspeed( id, get_pcvar_float( g_cvar_speed_spawn ) ); new szCommand[ 128 ]; formatex( szCommand, sizeof( szCommand ) - 1, "cl_forwardspeed %.1f;cl_sidespeed %.1f;cl_backspeed %.1f", get_pcvar_float( g_cvar_speed_spawn ), get_pcvar_float( g_cvar_speed_spawn ), get_pcvar_float( g_cvar_speed_spawn ) ); client_cmd( id, szCommand ); if( get_pcvar_num( g_cvar_enable_vip_multijump ) > 0 ) if( g_iMultiJumps[ id ] < g_iMaxJumps || !g_iMaxJumps ) g_iMultiJumps[ id ]++; set_user_health( id, get_pcvar_num( g_cvar_health_spawn ) ); set_user_armor( id, get_pcvar_num( g_cvar_armor_spawn ) ); set_user_gravity( id, get_pcvar_float( g_cvar_gravity_spawn ) ); fm_give_item( id, "weapon_hegrenade" ); fm_give_item( id, "weapon_flashbang" ); fm_give_item( id, "weapon_flashbang" ); fm_give_item( id, "weapon_smokegrenade" ); //GiveRifle( id ); if( get_pcvar_num( g_cvar_enable_glow ) > 0 ) { switch( get_user_team( id ) ) { case 1: fm_set_rendering( id, kRenderFxGlowShell, 200, 10, 20, kRenderNormal, 0 ); case 2: fm_set_rendering( id, kRenderFxGlowShell, 10, 240, 200, kRenderNormal, 0 ); } } } public GiveRifle( id ) { fm_give_item( id, "weapon_m4a1" ); cs_set_user_bpammo( id, CSW_M4A1, 300 ); fm_give_item( id, "weapon_ak47" ); cs_set_user_bpammo( id, CSW_AK47, 300 ); fm_give_item( id, "weapon_awp" ); cs_set_user_bpammo( id, CSW_AWP, 100 ); fm_give_item( id, "weapon_deagle" ); cs_set_user_bpammo( id, CSW_DEAGLE, 70 ); } public task_ShowMessage( taskid ) { new id = taskid - TASK_SECRET_MSG; ColorChat( id, GREEN, "%s^x01 Vrei sa cumperi si tu^x03 Membru V.I.P^x01? Contacteaza-l pe^x03 %s^x01 la^x03 %s^x01 !!!", g_szTag, YourNick, YourMessenger ); set_task( get_pcvar_float( g_cvar_show_msgs ) * 0.5, "task_ShowMessage2", id ); if( task_exists( taskid ) ) remove_task( taskid ); } public task_ShowMessage2( id ) { ColorChat( id, GREEN, "%s^x01 Vrei sa faci rost de^x03 Membru VIP^x01 si nu stii cum? Tasteaza^x03 /wantvip^x01 !!!", g_szTag ); set_task( get_pcvar_float( g_cvar_show_msgs ) * 1.2, "task_PrintVipList", id ); } public task_PrintVipList( user ) { new szAdminNames[ 33 ][ 32 ]; new szMessage[ 256 ]; new iCount, iLen; for( new id = 1 ; id <= g_iMaxPlayers ; id++ ) if( is_user_connected( id ) ) if( is_user_vip( id ) ) get_user_name( id, szAdminNames[ iCount++ ], 31 ); iLen = format( szMessage, 255, "%sVIP's Online: ", COLORG ); if( iCount > 0 ) { for( new i = 0 ; i < iCount ; i++ ) { iLen += format( szMessage[ iLen ], 255 - iLen, "^x03%s^x01 | ", szAdminNames[ i ], COLORT, COLORD ); if( iLen > 96 ) { print_message( user, szMessage ); iLen = format( szMessage, 255, "%s", COLORG ); } } print_message( user, szMessage ); } else { iLen += format( szMessage[ iLen ], 255 - iLen, "^x01Nu sunt VIP-i online.", COLORD ); print_message( user, szMessage ); } } public Ham_ResetMaxSpeedPost( id ) { if( is_user_alive( id ) && is_user_vip( id ) && get_user_maxspeed( id ) != 1.0 ) { new Float:flMaxSpeed; if( g_bUserHas[ id ][ Speed ] ) flMaxSpeed = float( get_pcvar_num( g_cvar_speed_spawn ) ); if( flMaxSpeed > 0.0 ) set_pev( id, pev_maxspeed, flMaxSpeed ); } } public Ham_TakeDamagePre( iVictim, iInflictor, iAttacker, Float:fDamage ) { if( iVictim == iAttacker || !is_user_player( iAttacker ) || !is_user_alive( iAttacker ) || is_user_bot( iAttacker ) ) return HAM_HANDLED; if( is_user_vip( iAttacker ) && is_user_player( iAttacker ) ) SetHamParamFloat( 4, fDamage * get_pcvar_float( g_cvar_multidmg ) ); return HAM_IGNORED; } public MessageScoreAttrib( iMsgId, iMsgDest, id ) { if( get_pcvar_num( g_cvar_ebable_vip_scoreboard ) > 0 ) { new iPlayer = get_msg_arg_int( SCOREATTRIB_ARG_PLAYERID ); if( access( iPlayer, read_flags( g_szVipFlags ) ) ) set_msg_arg_int( SCOREATTRIB_ARG_FLAGS, ARG_BYTE, SCOREATTRIB_FLAG_VIP ); } } public MessageScreenFade( iMsgId, iMsgDest, id ) { if( is_user_vip( id ) && is_user_alive( id ) && get_pcvar_num( g_cvar_enable_vip_noflash ) ) { static szData[ 4 ]; szData[ 0 ] = get_msg_arg_int( 4 ); szData[ 1 ] = get_msg_arg_int( 5 ); szData[ 2 ] = get_msg_arg_int( 6 ); szData[ 3 ] = get_msg_arg_int( 7 ); if( szData[ 0 ] == 255 && szData[ 1 ] == 255 && szData[ 2 ] == 255 && szData[ 3] > 199 ) return 1; } return 0; } public check_time( ) { static preluare_ora[ 3 ], ora; get_time( "%H", preluare_ora, 2 ); ora = str_to_num( preluare_ora ); if( 10 >= ora || ora < 12 ) { if( !VipEvent ) ColorChat( 0, GREEN, "^x04%s^x01 Eventul^x03 Free VIP^x01 a fost activat!", g_szTag ); VipEvent = true; server_cmd( "amx_default_access ^"t^"" ); } else { if( VipEvent ) ColorChat( 0, GREEN, "^x04%s^x01 Eventul^x03 Free VIP^x01 a fost activat!", g_szTag ); VipEvent = false; server_cmd( "amx_default_access ^"z^"" ); } server_cmd( "amx_reloadadmins" ); } public hud_mess( ) { if( VipEvent ) { set_hudmessage( 200, 200, 10, -1.0, 0.0, 1, 1.0, 1.0, 0.1, 0.1 ); show_hudmessage( 0, "Toti jucatorii beneficiaza de VIP free aceasta ora!" ); } } public ShowAbilityForVip( id ) { new iCfgDir[ 32 ], iFile[ 192 ]; get_configsdir( iCfgDir, charsmax( iCfgDir ) ); formatex( iFile, charsmax( iFile ), "%s/vip.html", iCfgDir ); show_motd( id, iFile ); } public ClCmdAddVips( id, level, cid ) { if( !cmd_access( id, level, cid, 2 ) ) return 1; new szTarget[ 32 ]; read_argv( 1, szTarget, 31 ); new iPlayer = cmd_target( id, szTarget, 8 ); if( !iPlayer ) return 1; new szPlayerName[ 32 ], szAdminName[ 32 ]; get_user_name( iPlayer, szPlayerName, charsmax( szPlayerName ) ); get_user_name( id, szAdminName, charsmax( szAdminName ) ); AddVIP( id, szPlayerName, VIP_FLAGS, VIP_PASSWORD, VIP_FLAGS_TYPE, szAdminName ); server_cmd( "amx_reloadadmins" ); console_print( id, "%s Vip-ul a fost adaugat in lista!", g_szTag ); ColorChat( 0, GREEN, "^x04%s^x01 Adminul^x03 %s^x01 l-a adaugat ca VIP pe^x03 %s^x01 !", g_szTag, szAdminName, iPlayer ); ColorChat( iPlayer, GREEN, "^x04%s^x01 Felicitari! Ai fost adaugat ca membru^x03 VIP^x01! VIP-ul se va activa harta viitoare!", g_szTag ); return 1; } stock bool:is_user_vip( id ) { if( get_user_flags( id ) & read_flags( g_szVipFlags ) ) return true; return false; } stock drop_prim( id ) { new szWeapons[ 32 ], iNum; get_user_weapons( id, szWeapons, iNum ); for( new i = 0; i < iNum; i++ ) { if( WeaponAK47 & ( 1<<szWeapons[ i ] ) || WeaponM4a1 & ( 1<<szWeapons[ i ] ) || WeaponDeagle & ( 1<<szWeapons[ i ] ) || WeaponAWP & ( 1<<szWeapons[ i ] ) ) { static szWeaponName[ 32 ]; get_weaponname( szWeapons[ i ], szWeaponName, sizeof szWeaponName - 1 ); engclient_cmd( id, "drop", szWeaponName ); } } } stock print_message( id, msg[ ] ) { message_begin( MSG_ONE, get_user_msgid( "SayText" ), { 0, 0, 0 }, id ); write_byte( id ); write_string( msg ); message_end( ); } // stock by Askhanar stock bool:bUserHasAnyNade( id ) { if( user_has_weapon( id, CSW_HEGRENADE ) || user_has_weapon( id, CSW_FLASHBANG ) || user_has_weapon( id, CSW_SMOKEGRENADE ) ) return true; return false; } // stocks from "fakemeta_util" stock fm_give_item( index, const item[ ] ) { if( !equal( item, "weapon_", 7 ) && !equal( item, "ammo_", 5 ) && !equal( item, "item_", 5 ) && !equal( item, "tf_weapon_", 10 ) ) return 0; new ent = fm_create_entity( item ); if( !pev_valid( ent ) ) return 0; new Float:fOrigin[ 3 ]; pev( index, pev_origin, fOrigin ); set_pev( ent, pev_origin, fOrigin ); set_pev( ent, pev_spawnflags, pev( ent, pev_spawnflags ) | SF_NORESPAWN ); dllfunc( DLLFunc_Spawn, ent ); new save = pev( ent, pev_solid ); dllfunc( DLLFunc_Touch, ent, index ); if( pev( ent, pev_solid ) != save ) return ent; engfunc( EngFunc_RemoveEntity, ent ); return -1; } stock fm_set_user_maxspeed( index, Float:speed = -1.0 ) { engfunc( EngFunc_SetClientMaxspeed, index, speed ); set_pev( index, pev_maxspeed, speed ); return 1; } stock Float:fm_get_user_maxspeed( index ) { new Float:speed; pev( index, pev_maxspeed, speed ); return speed; } stock fm_set_rendering( entity, fx = kRenderFxNone, r = 255, g = 255, b = 255, render = kRenderNormal, amount = 16 ) { new Float:RenderColor[ 3 ]; RenderColor[ 0 ] = float( r ); RenderColor[ 1 ] = float( g ); RenderColor[ 2 ] = float( b ); set_pev( entity, pev_renderfx, fx ); set_pev( entity, pev_rendercolor, RenderColor ); set_pev( entity, pev_rendermode, render ); set_pev( entity, pev_renderamt, float( amount ) ); return 1; } stock fm_create_entity( const classname[ ] ) return engfunc( EngFunc_CreateNamedEntity, engfunc( EngFunc_AllocString, classname ) ); AddVIP( id, name[ ], accessflags[ ], password[ ], flags[ ], comment[ ]="" ) { #if defined USING_SQL new error[ 128 ], errno; new Handle:info = SQL_MakeStdTuple( ); new Handle:sql = SQL_Connect( info, errno, error, 127 ); if( sql == Empty_Handle ) { server_print( "[AMXX] %L", LANG_SERVER, "SQL_CANT_CON", error ); #endif // Make sure that the users.ini file exists. new configsDir[ 64 ]; get_configsdir( configsDir, 63 ); format( configsDir, 63, "%s/users.ini", configsDir ); if( !file_exists( configsDir ) ) { console_print( id, "%s File ^"%s^" doesn't exist.", g_szTag, configsDir ); return; } // Make sure steamid isn't already in file. new line = 0, textline[ 256 ], len; const SIZE = 63; new line_steamid[ SIZE + 1 ], line_password[ SIZE + 1 ], line_accessflags[ SIZE + 1 ], line_flags[ SIZE + 1 ], parsedParams; // <name|ip|steamid> <password> <access flags> <account flags> while( ( line = read_file( configsDir, line, textline, 255, len ) ) ) { if ( len == 0 || equal( textline, ";", 1 ) ) continue; // comment line parsedParams = parse( textline, line_steamid, SIZE, line_password, SIZE, line_accessflags, SIZE, line_flags, SIZE ); if( parsedParams != 4 ) continue; // Send warning/error? if( containi( line_flags, flags ) != -1 && equal( line_steamid, name ) ) { console_print( id, "%s %s already exists!", g_szTag, name ); return; } } // If we came here, steamid doesn't exist in users.ini. Add it. new linetoadd[ 512 ]; if( comment[ 0 ]==0 ) formatex( linetoadd, 511, "^r^n^"%s^" ^"%s^" ^"%s^" ^"%s^"", name, password, accessflags, flags ); else formatex( linetoadd, 511, "^r^n^"%s^" ^"%s^" ^"%s^" ^"%s^" ; %s", name, password, accessflags, flags, comment ); console_print( id, "Adding:^n%s", linetoadd ); if( !write_file( configsDir, linetoadd ) ) console_print( id, "%s Failed writing to %s!", g_szTag, configsDir ); #if defined USING_SQL } new table[ 32 ]; get_cvar_string( "amx_sql_table", table, 31 ); new Handle:query = SQL_PrepareQuery( sql, "SELECT * FROM `%s` WHERE (`auth` = '%s')", table, name ); if( !SQL_Execute( query ) ) { SQL_QueryError( query, error, 127 ); server_print( "[AMXX] %L", LANG_SERVER, "SQL_CANT_LOAD_ADMINS", error ); console_print( id, "[AMXX] %L", LANG_SERVER, "SQL_CANT_LOAD_ADMINS", error ); } else if( SQL_NumResults( query ) ) console_print( id, "%s %s already exists!", g_szTag, name ); else { console_print( id, "Adding to database:^n^"%s^" ^"%s^" ^"%s^" ^"%s^"", name, password, accessflags, flags ); SQL_QueryAndIgnore( sql, "REPLACE INTO `%s` (`name`, `password`, `access`, `flags`) VALUES ('%s', '%s', '%s', '%s')", table, name, password, accessflags, flags ); } SQL_FreeHandle( query ); SQL_FreeHandle( sql); SQL_FreeHandle( info ); #endif } /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE *{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1033\\ f0\\ fs16 \n\\ par } */
„Peste douăzeci de ani vei fi dezamăgit din cauza lucrurilor pe care nu le-ai făcut, nu din cauza celor pe care le-ai făcut.” - Mark Twain
„Asa e si in viata, hotii castiga, prostii care invata pierd.” - Mihai Nemeș
Bio.LeagueCs.Ro - Biohazard v4.4 Xmas Edition
discord: IonutC#5114
„Asa e si in viata, hotii castiga, prostii care invata pierd.” - Mihai Nemeș
Bio.LeagueCs.Ro - Biohazard v4.4 Xmas Edition
discord: IonutC#5114
Experinta in: Java/Spring boot/Angular/C/C++/C#/Javascript/Python/HTML/CSS/Pawn/SQL
Ai nevoie de ajutorul meu? Ma poti gasi doar la adresa de discord de mai sus.
Ai nevoie de ajutorul meu? Ma poti gasi doar la adresa de discord de mai sus.
- Mutex
- Fost administrator
- Posts: 4726
- Joined: 24 Mar 2011, 22:32
- Detinator Steam: Da
- Reputatie: Fost administrator
- Location: Bucuresti
- Discord: mutex21
- Has thanked: 108 times
- Been thanked: 167 times
- Contact:
Este ultima versiune de tine adica 1.0.1 acel sma dat de tine (ultimul) , daca nu te rog sa imi scoti asa din ultimul update de la sma :
1. Modelele
2. Comanda /resetd
1. Modelele
2. Comanda /resetd
- | Afiseaza codul
/* Credits: Exolent - VIP in Scoreboard pharse - x2 Jump for VIP( for ZP 5.0.5 ) Sn!ff3r - Show bullet dmg in HUD only VIP Askhanar - Change Model to VIP cheap.suit - No VIP Flash( extracted on Biohazard v2.00 beta ) AMXX Dev Team - Add VIP's cyby - VIP Event */ #include < amxmodx > #include < amxmisc > #include < hamsandwich > #include < cstrike > #include < fakemeta > #include < CC_ColorChat > #include < message_const > #include < fun > //#define USING_SQL #if defined USING_SQL #include < sqlx > #endif #pragma semicolon 1 #define VIP_FLAGS "bit" // Flagurile VIP-ului( Nu schimba ) #define VIP_FLAGS_TYPE "a" // a - deconecteaza VIP-ii cu parola invalida( Alte flaguri gasiti in "users.ini" ) #define VIP_PASSWORD "parola" // Aici setati parola oricarui VIP #define is_user_player(%1) ( 1 <= %1 <= g_iMaxPlayers ) #define TASK_SECRET_MSG 2139 new const PLUGIN_VERSION[ ] = "1.0.0", PLUGIN_AUTHOR[ ] = "YONTU"; #if defined USING_SQL new const PLUGIN_NAME_SQL[ ] = "VIP System( SQL )"; #else new const PLUGIN_NAME[ ] = "VIP System"; #endif new const g_szTag[ ] = "[Classic VIP]"; // TAG new const g_szVipFlags[ ] = "bit"; // flagurile vip-ului: b - slot | i - acces la comenzile de chat | t - flagul defalt al oricarui vip new const YourNick[ ] = "YONTU", YourMessenger[ ] = "[email protected]"; static const COLORG[ ] = "^x04", COLORD[ ] = "^x01", COLORT[ ] = "^x03"; enum { SCOREATTRIB_ARG_PLAYERID = 1, SCOREATTRIB_ARG_FLAGS }; enum ( <<= 1 ) { SCOREATTRIB_FLAG_NONE = 0, SCOREATTRIB_FLAG_DEAD = 1, SCOREATTRIB_FLAG_BOMB, SCOREATTRIB_FLAG_VIP }; enum _:WhatUserHas { Speed, Jump, } new bool:g_bUserHas[ 33 ][ WhatUserHas ]; new g_cvar_speed_spawn, g_cvar_health_spawn, g_cvar_armor_spawn, g_cvar_gravity_spawn, g_cvar_multidmg, g_cvar_enable_glow, g_cvar_health_kill_reward, g_cvar_health_hs_reward, g_cvar_maxhealth, g_cvar_kill_money_reward, g_cvar_show_msgs, g_cvar_enable_show_dmg, g_cvar_ebable_vip_scoreboard, g_cvar_enable_vip_noflash, g_cvar_enable_vip_multijump, g_cvar_enable_vip_event, g_cvar_enable_vip_model; new Ham:Ham_Player_ResetMaxSpeed = Ham_Item_PreFrame; new bool:VipEvent; new iJumpNum[ 33 ] = 0; new g_iMultiJumps[ 33 ] = 0; new g_iMaxJumps = 0; new g_iMaxPlayers; new SyncHudMessage; public plugin_init( ) { #if defined USING_SQL register_plugin( PLUGIN_NAME_SQL, PLUGIN_VERSION, PLUGIN_AUTHOR ); #else register_plugin( PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR ); #endif register_clcmd( "say /wantvip", "ShowAbilityForVip" ); register_clcmd( "say_team /wantvip", "ShowAbilityForVip" ); register_clcmd( "say /resetd", "ClCmdSayResetDeath" ); register_clcmd( "say_team /resetd", "ClCmdSayResetDeath" ); register_concmd( "amx_addvips", "ClCmdAddVips", ADMIN_RCON, "< nume >" ); register_event( "ResetHUD", "event_ResetModel", "b" ); register_event( "DeathMsg", "event_DeathMsg", "a" ); register_event( "DeathMsg", "event_DeathMsg2", "ae" ); register_event( "Damage", "event_Damage", "b", "2!0", "3=0", "4!0" ); register_event( "CurWeapon", "event_CurWeapon", "be", "1=1" ); register_logevent( "logevent_RoundStart", 2 , "1=Round_Start" ); register_logevent( "logevent_RoundEnd", 2, "1=Round_End" ); register_forward( FM_PlayerPreThink, "forward_PlayerPreThink" ); register_forward( FM_PlayerPostThink, "forward_PlayerPostThink" ); RegisterHam( Ham_Spawn, "player", "Ham_PlayerSpawnPost", 1 ); RegisterHam( Ham_TakeDamage, "player", "Ham_TakeDamagePre" ); RegisterHam( Ham_Player_ResetMaxSpeed, "player", "Ham_ResetMaxSpeedPost", 1 ); register_message( get_user_msgid( "ScoreAttrib" ), "MessageScoreAttrib" ); register_message( get_user_msgid( "ScreenFade" ), "MessageScreenFade" ); g_cvar_speed_spawn = register_cvar( "vip_ultra_speed", "400.0" ); // viteza pe care o primeste vip-ul la spawn( sa fie cu zecimala.0 ) g_cvar_health_spawn = register_cvar( "vip_health_spawn", "200" ); // viata pe care o primeste vip-ul la spawn g_cvar_armor_spawn = register_cvar( "vip_armor_spawn", "150" ); // armura pe care o primeste vip-ul la spawn g_cvar_gravity_spawn = register_cvar( "vip_gravity_spawn", "0.85" ); // gravitatea pe care o primeste vip-ul la spawn g_cvar_multidmg = register_cvar( "vip_multi_dmg", "2.0" ); // vip-ul are dmg mai mare la toate armele g_cvar_enable_glow = register_cvar( "vip_enable_glow", "1" ); // 1 - Fiecare VIP are glow in functie de echipa( CT - Blue ) | ( T - Red ) g_cvar_health_kill_reward = register_cvar( "vip_hp_kill_reward", "15" ); // cata viata sa primeasca vip-ul cand face un kill g_cvar_health_hs_reward = register_cvar( "vip_hp_hs_reward", "25" ); // cata viata sa primeasca vip-ul cand face un headshot g_cvar_maxhealth = register_cvar( "vip_maxhealth", "300" ); // viata maxima a vip-ului g_cvar_kill_money_reward = register_cvar( "vip_kill_money", "1000" ); // Cati bani sa primeasca Vip-ul pe un frag g_cvar_show_msgs = register_cvar( "vip_show_messages", "30.0" ); // la ce interval de timp.0 sa apara mesajele in chat despre VIP g_cvar_enable_show_dmg = register_cvar( "vip_show_dmg", "1" ); // afiseaza vip-ului dmg-ul facut de victima si dmg-ul pe care i la facut victimei g_cvar_ebable_vip_scoreboard = register_cvar( "vip_on_scoreboard", "1" ); // 1 - vip-ii apar in scoreboard ca "VIP" | 0 - dezactivat g_cvar_enable_vip_noflash = register_cvar( "vip_imune_flashbang", "1" ); // 1 - Vip-ul este imun la flash-uri | 0 - Nu este g_cvar_enable_vip_multijump = register_cvar( "vip_enable_multijump", "1" ); // 1 - Vip-ul beneficiaza de multi jump | 0 - Nu beneficiaza g_cvar_enable_vip_event = register_cvar( "vip_enable_vip_event", "1" ); // 1 - Intre anumite ore toti jucatorii au VIP | 0 dezactivat g_cvar_enable_vip_model = register_cvar( "vip_enable_model", "1" ); // 1 - VIP-ul are alt model pe server | 0 - Nu are if( get_pcvar_num( g_cvar_enable_vip_event ) > 0 ) { check_time( ); set_task( 60.0, "check_time", _, _, _, "b" ); set_task( 1.0, "hud_mess", _, _, _, "b" ); } g_iMaxPlayers = get_maxplayers( ); SyncHudMessage = CreateHudSyncObj( ); } public plugin_cfg( ) set_cvar_float( "sv_maxspeed", 1000.0 ); public plugin_precache( ) { precache_model( "models/player/vip_ct/vip_ct.mdl" ); precache_model( "models/player/vip_t/vip_t.mdl" ); } public client_putinserver( id ) { g_iMultiJumps[ id ] = 0; iJumpNum[ id ] = 0; g_bUserHas[ id ][ Jump ] = false; g_bUserHas[ id ][ Speed ] = false; } public client_disconnect( id ) { g_iMultiJumps[ id ] = 0; iJumpNum[ id ] = 0; g_bUserHas[ id ][ Jump ] = false; g_bUserHas[ id ][ Speed ] = false; } public event_ResetModel( id ) { if( get_pcvar_num( g_cvar_enable_vip_model ) > 0 ) { if( is_user_vip( id ) ) { new CsTeams:userTeam = cs_get_user_team( id ); if( userTeam == CS_TEAM_T ) { cs_set_user_model( id, "vip_t" ); return 1; } else if( userTeam == CS_TEAM_CT ) { cs_set_user_model( id, "vip_ct" ); return 1; } } else cs_reset_user_model( id ); } return 0; } public event_DeathMsg( ) { new iAttacker = read_data( 1 ); new iVictim = read_data( 2 ); new iHeadshot = read_data( 3 ); new HealthOnHeadShot = get_pcvar_num( g_cvar_health_hs_reward ); new MaxHealth = get_pcvar_num( g_cvar_maxhealth ); new HealthOnKill = get_pcvar_num( g_cvar_health_kill_reward ); if( iAttacker == iVictim ) return 0; if( is_user_vip( iAttacker ) ) { if( get_user_health( iAttacker ) <= MaxHealth ) { if( iHeadshot ) { set_user_health( iAttacker, get_user_health( iAttacker ) + HealthOnHeadShot ); set_hudmessage( 0, 250, 0, 0.85, 0.7, 0, 6.0, 5.0 ); ShowSyncHudMsg( iAttacker, SyncHudMessage, "+ %i HP", HealthOnHeadShot ); } else { set_user_health( iAttacker, get_user_health( iAttacker ) + HealthOnKill ); set_hudmessage( 200, 200, 0, 0.85, 0.7, 0, 6.0, 5.0 ); ShowSyncHudMsg( iAttacker, SyncHudMessage, "+ %i HP", HealthOnKill ); } } } return 0; } public event_DeathMsg2( ) { new iAttacker = read_data( 1 ); new iVictim = read_data( 2 ); new BonusMoney = get_pcvar_num( g_cvar_kill_money_reward ); if( iAttacker == iVictim ) return 0; if( is_user_vip( iAttacker ) ) { if( iAttacker && is_user_alive( iAttacker ) ) { if( cs_get_user_team( iVictim ) == CS_TEAM_T || cs_get_user_team( iVictim ) == CS_TEAM_CT ) { if( cs_get_user_money( iAttacker ) < 16000 - BonusMoney - 300 ) { cs_set_user_money( iAttacker, cs_get_user_money( iAttacker ) + BonusMoney - 300 ); } } } } return 0; } public event_Damage( id ) { if( get_pcvar_num( g_cvar_enable_show_dmg ) > 0 ) { static iAttacker; static fDamage; iAttacker = get_user_attacker( id ); fDamage = read_data( 2 ); if( is_user_alive( id ) && is_user_vip( id ) ) { set_hudmessage( 255, 0, 0, 0.45, 0.50, 2, 0.1, 1.0, 0.1, 0.1, -1 ); ShowSyncHudMsg( id, SyncHudMessage, "%i^n", fDamage ); } if( is_user_alive( iAttacker ) && is_user_vip( iAttacker ) ) { set_hudmessage( 0, 255, 15, -1.0, 0.55, 2, 0.1, 1.0, 0.02, 0.02, -1 ); ShowSyncHudMsg( iAttacker, SyncHudMessage, "%i^n^n", fDamage ); } } } public logevent_RoundStart( ) { new szPlayers[ 32 ], iNum; get_players( szPlayers, iNum, "ch" ); for( new i = 0; i < iNum; i++) { g_bUserHas[ szPlayers[ i ] ][ Speed ] = false; g_bUserHas[ szPlayers[ i ] ][ Jump ] = false; g_iMultiJumps[ szPlayers[ i ] ] = 0; iJumpNum[ szPlayers[ i ] ] = 0; if( task_exists( szPlayers[ i ] + TASK_SECRET_MSG ) ) remove_task( szPlayers[ i ] + TASK_SECRET_MSG ); set_task( get_pcvar_float( g_cvar_show_msgs ), "task_ShowMessage", szPlayers[ i ] + TASK_SECRET_MSG ); } } public logevent_RoundEnd( ) { new szPlayers[ 32 ], iNum; get_players( szPlayers, iNum, "ch" ); for( new i = 0; i < iNum; i++ ) remove_task( szPlayers[ i ] ); } public forward_PlayerPreThink( id ) { if( !is_user_alive( id ) || !g_iMultiJumps[ id ] ) return 0; if( ( pev( id, pev_button ) & IN_JUMP ) && !( pev( id, pev_flags ) & FL_ONGROUND ) && !( pev( id, pev_oldbuttons ) & IN_JUMP ) ) { if( iJumpNum[ id ] < g_iMultiJumps[ id ] ) { g_bUserHas[ id ][ Jump ] = true; iJumpNum[ id ]++; return 0; } } if( ( pev( id, pev_button ) & IN_JUMP ) && ( pev( id, pev_flags ) & FL_ONGROUND ) ) { iJumpNum[ id ] = 0; return 0; } return 0; } public forward_PlayerPostThink( id ) { if( !is_user_alive( id ) || !g_iMultiJumps[ id ] ) return 0; if( g_bUserHas[ id ][ Jump ]/* = true*/ ) { new Float:fVelocity[ 3 ]; pev( id, pev_velocity, fVelocity ); fVelocity[ 2 ] = random_float( 265.0, 285.0 ); set_pev( id, pev_velocity, fVelocity ); g_bUserHas[ id ][ Jump ] = false; return 0; } return 0; } public Ham_PlayerSpawnPost( id ) { if( !is_user_alive( id ) && !is_user_vip( id ) ) return HAM_IGNORED; if( is_user_vip( id ) && !is_user_bot( id ) ) set_task( 1.0, "task_GiveSkillsAllVips", id ); return HAM_IGNORED; } public task_GiveSkillsAllVips( id ) { //drop_prim( id ); g_bUserHas[ id ][ Speed ] = true; fm_set_user_maxspeed( id, get_pcvar_float( g_cvar_speed_spawn ) ); new szCommand[ 128 ]; formatex( szCommand, sizeof( szCommand ) - 1, "cl_forwardspeed %.1f;cl_sidespeed %.1f;cl_backspeed %.1f", get_pcvar_float( g_cvar_speed_spawn ), get_pcvar_float( g_cvar_speed_spawn ), get_pcvar_float( g_cvar_speed_spawn ) ); client_cmd( id, szCommand ); if( get_pcvar_num( g_cvar_enable_vip_multijump ) > 0 ) if( g_iMultiJumps[ id ] < g_iMaxJumps || !g_iMaxJumps ) g_iMultiJumps[ id ]++; set_user_health( id, get_pcvar_num( g_cvar_health_spawn ) ); set_user_armor( id, get_pcvar_num( g_cvar_armor_spawn ) ); set_user_gravity( id, get_pcvar_float( g_cvar_gravity_spawn ) ); fm_give_item( id, "weapon_hegrenade" ); fm_give_item( id, "weapon_flashbang" ); fm_give_item( id, "weapon_flashbang" ); fm_give_item( id, "weapon_smokegrenade" ); //GiveRifle( id ); if( get_pcvar_num( g_cvar_enable_glow ) > 0 ) { switch( get_user_team( id ) ) { case 1: fm_set_rendering( id, kRenderFxGlowShell, 200, 10, 20, kRenderNormal, 0 ); case 2: fm_set_rendering( id, kRenderFxGlowShell, 10, 240, 200, kRenderNormal, 0 ); } } } public GiveRifle( id ) { fm_give_item( id, "weapon_m4a1" ); cs_set_user_bpammo( id, CSW_M4A1, 300 ); fm_give_item( id, "weapon_ak47" ); cs_set_user_bpammo( id, CSW_AK47, 300 ); fm_give_item( id, "weapon_awp" ); cs_set_user_bpammo( id, CSW_AWP, 100 ); fm_give_item( id, "weapon_deagle" ); cs_set_user_bpammo( id, CSW_DEAGLE, 70 ); } public task_ShowMessage( taskid ) { new id = taskid - TASK_SECRET_MSG; ColorChat( id, GREEN, "%s^x01 Vrei sa cumperi si tu^x03 Membru V.I.P^x01? Contacteaza-l pe^x03 %s^x01 la^x03 %s^x01 !!!", g_szTag, YourNick, YourMessenger ); set_task( get_pcvar_float( g_cvar_show_msgs ) * 0.5, "task_ShowMessage2", id ); if( task_exists( taskid ) ) remove_task( taskid ); } public task_ShowMessage2( id ) { ColorChat( id, GREEN, "%s^x01 Vrei sa faci rost de^x03 Membru VIP^x01 si nu stii cum? Tasteaza^x03 /wantvip^x01 !!!", g_szTag ); set_task( get_pcvar_float( g_cvar_show_msgs ) * 1.2, "task_PrintVipList", id ); } public task_PrintVipList( user ) { new szAdminNames[ 33 ][ 32 ]; new szMessage[ 256 ]; new iCount, iLen; for( new id = 1 ; id <= g_iMaxPlayers ; id++ ) if( is_user_connected( id ) ) if( is_user_vip( id ) ) get_user_name( id, szAdminNames[ iCount++ ], 31 ); iLen = format( szMessage, 255, "%sVIP's Online: ", COLORG ); if( iCount > 0 ) { for( new i = 0 ; i < iCount ; i++ ) { iLen += format( szMessage[ iLen ], 255 - iLen, "^x03%s^x01 | ", szAdminNames[ i ], COLORT, COLORD ); if( iLen > 96 ) { print_message( user, szMessage ); iLen = format( szMessage, 255, "%s", COLORG ); } } print_message( user, szMessage ); } else { iLen += format( szMessage[ iLen ], 255 - iLen, "^x01Nu sunt VIP-i online.", COLORD ); print_message( user, szMessage ); } } public Ham_ResetMaxSpeedPost( id ) { if( is_user_alive( id ) && is_user_vip( id ) && get_user_maxspeed( id ) != 1.0 ) { new Float:flMaxSpeed; if( g_bUserHas[ id ][ Speed ] ) flMaxSpeed = float( get_pcvar_num( g_cvar_speed_spawn ) ); if( flMaxSpeed > 0.0 ) set_pev( id, pev_maxspeed, flMaxSpeed ); } } public Ham_TakeDamagePre( iVictim, iInflictor, iAttacker, Float:fDamage ) { if( iVictim == iAttacker || !is_user_player( iAttacker ) || !is_user_alive( iAttacker ) || is_user_bot( iAttacker ) ) return HAM_HANDLED; if( is_user_vip( iAttacker ) && is_user_player( iAttacker ) ) SetHamParamFloat( 4, fDamage * get_pcvar_float( g_cvar_multidmg ) ); return HAM_IGNORED; } public MessageScoreAttrib( iMsgId, iMsgDest, id ) { if( get_pcvar_num( g_cvar_ebable_vip_scoreboard ) > 0 ) { new iPlayer = get_msg_arg_int( SCOREATTRIB_ARG_PLAYERID ); if( access( iPlayer, read_flags( g_szVipFlags ) ) ) set_msg_arg_int( SCOREATTRIB_ARG_FLAGS, ARG_BYTE, SCOREATTRIB_FLAG_VIP ); } } public MessageScreenFade( iMsgId, iMsgDest, id ) { if( is_user_vip( id ) && is_user_alive( id ) && get_pcvar_num( g_cvar_enable_vip_noflash ) ) { static szData[ 4 ]; szData[ 0 ] = get_msg_arg_int( 4 ); szData[ 1 ] = get_msg_arg_int( 5 ); szData[ 2 ] = get_msg_arg_int( 6 ); szData[ 3 ] = get_msg_arg_int( 7 ); if( szData[ 0 ] == 255 && szData[ 1 ] == 255 && szData[ 2 ] == 255 && szData[ 3] > 199 ) return 1; } return 0; } public check_time( ) { static preluare_ora[ 3 ], ora; get_time( "%H", preluare_ora, 2 ); ora = str_to_num( preluare_ora ); if( 10 >= ora || ora < 12 ) { if( !VipEvent ) ColorChat( 0, GREEN, "^x04%s^x01 Eventul^x03 Free VIP^x01 a fost activat!", g_szTag ); VipEvent = true; server_cmd( "amx_default_access ^"t^"" ); } else { if( VipEvent ) ColorChat( 0, GREEN, "^x04%s^x01 Eventul^x03 Free VIP^x01 a fost activat!", g_szTag ); VipEvent = false; server_cmd( "amx_default_access ^"z^"" ); } server_cmd( "amx_reloadadmins" ); } public hud_mess( ) { if( VipEvent ) { set_hudmessage( 200, 200, 10, -1.0, 0.0, 1, 1.0, 1.0, 0.1, 0.1 ); show_hudmessage( 0, "Toti jucatorii beneficiaza de VIP free aceasta ora!" ); } } public ShowAbilityForVip( id ) { new iCfgDir[ 32 ], iFile[ 192 ]; get_configsdir( iCfgDir, charsmax( iCfgDir ) ); formatex( iFile, charsmax( iFile ), "%s/vip.html", iCfgDir ); show_motd( id, iFile ); } public ClCmdSayResetDeath( id ) { if( !is_user_vip( id ) ) { ColorChat( id, GREEN, "%s^x01 Nu esti^x03 Membru VIP^x01 !!!", g_szTag ); return 1; } else if( cs_get_user_deaths( id ) == 0 ) { ColorChat( id, GREEN, "%s^x01 Ai deja^x03 0^x01 decese !!!", g_szTag ); return 1; } else { cs_set_user_deaths( id, 0 ); ColorChat( id, GREEN, "%s^x01 Tocmai ti-ai resetat decesele! Acum ai^x03 0^x01 decese^x01 si^x03 %i^x01 fraguri !!!", g_szTag, get_user_frags( id ) ); } return 0; } public ClCmdAddVips( id, level, cid ) { if( !cmd_access( id, level, cid, 2 ) ) return 1; new szTarget[ 32 ]; read_argv( 1, szTarget, 31 ); new iPlayer = cmd_target( id, szTarget, 8 ); if( !iPlayer ) return 1; new szPlayerName[ 32 ], szAdminName[ 32 ]; get_user_name( iPlayer, szPlayerName, charsmax( szPlayerName ) ); get_user_name( id, szAdminName, charsmax( szAdminName ) ); AddVIP( id, szPlayerName, VIP_FLAGS, VIP_PASSWORD, VIP_FLAGS_TYPE, szAdminName ); server_cmd( "amx_reloadadmins" ); console_print( id, "%s Vip-ul a fost adaugat in lista!", g_szTag ); ColorChat( 0, GREEN, "^x04%s^x01 Adminul^x03 %s^x01 l-a adaugat ca VIP pe^x03 %s^x01 !", g_szTag, szAdminName, iPlayer ); ColorChat( iPlayer, GREEN, "^x04%s^x01 Felicitari! Ai fost adaugat ca membru^x03 VIP^x01! VIP-ul se va activa harta viitoare!", g_szTag ); return 1; } stock bool:is_user_vip( id ) { if( get_user_flags( id ) & read_flags( g_szVipFlags ) ) return true; return false; } stock drop_prim( id ) { new szWeapons[ 32 ], iNum; get_user_weapons( id, szWeapons, iNum ); for( new i = 0; i < iNum; i++ ) { if( WeaponAK47 & ( 1<<szWeapons[ i ] ) || WeaponM4a1 & ( 1<<szWeapons[ i ] ) || WeaponDeagle & ( 1<<szWeapons[ i ] ) || WeaponAWP & ( 1<<szWeapons[ i ] ) ) { static szWeaponName[ 32 ]; get_weaponname( szWeapons[ i ], szWeaponName, sizeof szWeaponName - 1 ); engclient_cmd( id, "drop", szWeaponName ); } } } stock print_message( id, msg[ ] ) { message_begin( MSG_ONE, get_user_msgid( "SayText" ), { 0, 0, 0 }, id ); write_byte( id ); write_string( msg ); message_end( ); } // stock by Askhanar stock bool:bUserHasAnyNade( id ) { if( user_has_weapon( id, CSW_HEGRENADE ) || user_has_weapon( id, CSW_FLASHBANG ) || user_has_weapon( id, CSW_SMOKEGRENADE ) ) return true; return false; } // stocks from "fakemeta_util" stock fm_give_item( index, const item[ ] ) { if( !equal( item, "weapon_", 7 ) && !equal( item, "ammo_", 5 ) && !equal( item, "item_", 5 ) && !equal( item, "tf_weapon_", 10 ) ) return 0; new ent = fm_create_entity( item ); if( !pev_valid( ent ) ) return 0; new Float:fOrigin[ 3 ]; pev( index, pev_origin, fOrigin ); set_pev( ent, pev_origin, fOrigin ); set_pev( ent, pev_spawnflags, pev( ent, pev_spawnflags ) | SF_NORESPAWN ); dllfunc( DLLFunc_Spawn, ent ); new save = pev( ent, pev_solid ); dllfunc( DLLFunc_Touch, ent, index ); if( pev( ent, pev_solid ) != save ) return ent; engfunc( EngFunc_RemoveEntity, ent ); return -1; } stock fm_set_user_maxspeed( index, Float:speed = -1.0 ) { engfunc( EngFunc_SetClientMaxspeed, index, speed ); set_pev( index, pev_maxspeed, speed ); return 1; } stock Float:fm_get_user_maxspeed( index ) { new Float:speed; pev( index, pev_maxspeed, speed ); return speed; } stock fm_set_rendering( entity, fx = kRenderFxNone, r = 255, g = 255, b = 255, render = kRenderNormal, amount = 16 ) { new Float:RenderColor[ 3 ]; RenderColor[ 0 ] = float( r ); RenderColor[ 1 ] = float( g ); RenderColor[ 2 ] = float( b ); set_pev( entity, pev_renderfx, fx ); set_pev( entity, pev_rendercolor, RenderColor ); set_pev( entity, pev_rendermode, render ); set_pev( entity, pev_renderamt, float( amount ) ); return 1; } stock fm_create_entity( const classname[ ] ) return engfunc( EngFunc_CreateNamedEntity, engfunc( EngFunc_AllocString, classname ) ); AddVIP( id, name[ ], accessflags[ ], password[ ], flags[ ], comment[ ]="" ) { #if defined USING_SQL new error[ 128 ], errno; new Handle:info = SQL_MakeStdTuple( ); new Handle:sql = SQL_Connect( info, errno, error, 127 ); if( sql == Empty_Handle ) { server_print( "[AMXX] %L", LANG_SERVER, "SQL_CANT_CON", error ); #endif // Make sure that the users.ini file exists. new configsDir[ 64 ]; get_configsdir( configsDir, 63 ); format( configsDir, 63, "%s/users.ini", configsDir ); if( !file_exists( configsDir ) ) { console_print( id, "%s File ^"%s^" doesn't exist.", g_szTag, configsDir ); return; } // Make sure steamid isn't already in file. new line = 0, textline[ 256 ], len; const SIZE = 63; new line_steamid[ SIZE + 1 ], line_password[ SIZE + 1 ], line_accessflags[ SIZE + 1 ], line_flags[ SIZE + 1 ], parsedParams; // <name|ip|steamid> <password> <access flags> <account flags> while( ( line = read_file( configsDir, line, textline, 255, len ) ) ) { if ( len == 0 || equal( textline, ";", 1 ) ) continue; // comment line parsedParams = parse( textline, line_steamid, SIZE, line_password, SIZE, line_accessflags, SIZE, line_flags, SIZE ); if( parsedParams != 4 ) continue; // Send warning/error? if( containi( line_flags, flags ) != -1 && equal( line_steamid, name ) ) { console_print( id, "%s %s already exists!", g_szTag, name ); return; } } // If we came here, steamid doesn't exist in users.ini. Add it. new linetoadd[ 512 ]; if( comment[ 0 ]==0 ) formatex( linetoadd, 511, "^r^n^"%s^" ^"%s^" ^"%s^" ^"%s^"", name, password, accessflags, flags ); else formatex( linetoadd, 511, "^r^n^"%s^" ^"%s^" ^"%s^" ^"%s^" ; %s", name, password, accessflags, flags, comment ); console_print( id, "Adding:^n%s", linetoadd ); if( !write_file( configsDir, linetoadd ) ) console_print( id, "%s Failed writing to %s!", g_szTag, configsDir ); #if defined USING_SQL } new table[ 32 ]; get_cvar_string( "amx_sql_table", table, 31 ); new Handle:query = SQL_PrepareQuery( sql, "SELECT * FROM `%s` WHERE (`auth` = '%s')", table, name ); if( !SQL_Execute( query ) ) { SQL_QueryError( query, error, 127 ); server_print( "[AMXX] %L", LANG_SERVER, "SQL_CANT_LOAD_ADMINS", error ); console_print( id, "[AMXX] %L", LANG_SERVER, "SQL_CANT_LOAD_ADMINS", error ); } else if( SQL_NumResults( query ) ) console_print( id, "%s %s already exists!", g_szTag, name ); else { console_print( id, "Adding to database:^n^"%s^" ^"%s^" ^"%s^" ^"%s^"", name, password, accessflags, flags ); SQL_QueryAndIgnore( sql, "REPLACE INTO `%s` (`name`, `password`, `access`, `flags`) VALUES ('%s', '%s', '%s', '%s')", table, name, password, accessflags, flags ); } SQL_FreeHandle( query ); SQL_FreeHandle( sql); SQL_FreeHandle( info ); #endif } /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE *{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1033\\ f0\\ fs16 \n\\ par } */
- YONTU
- Scripter eXtreamCS
- Posts: 2466
- Joined: 10 May 2013, 14:25
- Detinator Steam: Nu
- CS Status: Everyone is looking at ur shoes
- Reputatie: Moderator ajutator
Fost scripter eXtreamCS - Location: Gura Humorului
- Has thanked: 256 times
- Been thanked: 288 times
- Contact:
- | Afiseaza codul
/* Credits: Exolent - VIP in Scoreboard pharse - x2 Jump for VIP( for ZP 5.0.5 ) Sn!ff3r - Show bullet dmg in HUD only VIP cheap.suit - No VIP Flash( extracted on Biohazard v2.00 beta ) AMXX Dev Team - Add VIP's cyby - VIP Event */ #include < amxmodx > #include < amxmisc > #include < hamsandwich > #include < cstrike > #include < fakemeta > #include < CC_ColorChat > #include < message_const > #include < fun > //#define USING_SQL #if defined USING_SQL #include < sqlx > #endif #pragma semicolon 1 #define VIP_FLAGS "bit" // Flagurile VIP-ului( Nu schimba ) #define VIP_FLAGS_TYPE "a" // a - deconecteaza VIP-ii cu parola invalida( Alte flaguri gasiti in "users.ini" ) #define VIP_PASSWORD "parola" // Aici setati parola oricarui VIP #define is_user_player(%1) ( 1 <= %1 <= g_iMaxPlayers ) #define TASK_SECRET_MSG 2139 new const PLUGIN_VERSION[ ] = "1.0.1", PLUGIN_AUTHOR[ ] = "YONTU"; #if defined USING_SQL new const PLUGIN_NAME_SQL[ ] = "VIP System( SQL )"; #else new const PLUGIN_NAME[ ] = "VIP System"; #endif new const g_szTag[ ] = "[Classic VIP]"; // TAG new const g_szVipFlags[ ] = "bit"; // flagurile vip-ului: b - slot | i - acces la comenzile de chat | t - flagul defalt al oricarui vip new const YourNick[ ] = "YONTU", YourMessenger[ ] = "[email protected]"; static const COLORG[ ] = "^x04", COLORD[ ] = "^x01", COLORT[ ] = "^x03"; enum { SCOREATTRIB_ARG_PLAYERID = 1, SCOREATTRIB_ARG_FLAGS }; enum ( <<= 1 ) { SCOREATTRIB_FLAG_NONE = 0, SCOREATTRIB_FLAG_DEAD = 1, SCOREATTRIB_FLAG_BOMB, SCOREATTRIB_FLAG_VIP }; enum _:WhatUserHas { Speed, Jump, } new bool:g_bUserHas[ 33 ][ WhatUserHas ]; new g_cvar_speed_spawn, g_cvar_health_spawn, g_cvar_armor_spawn, g_cvar_gravity_spawn, g_cvar_multidmg, g_cvar_enable_glow, g_cvar_health_kill_reward, g_cvar_health_hs_reward, g_cvar_maxhealth, g_cvar_kill_money_reward, g_cvar_show_msgs, g_cvar_enable_show_dmg, g_cvar_ebable_vip_scoreboard, g_cvar_enable_vip_noflash, g_cvar_enable_vip_multijump, g_cvar_enable_vip_event; new Ham:Ham_Player_ResetMaxSpeed = Ham_Item_PreFrame; new bool:VipEvent; new iJumpNum[ 33 ] = 0; new g_iMultiJumps[ 33 ] = 0; new g_iMaxJumps = 0; new g_iMaxPlayers; new SyncHudMessage; public plugin_init( ) { #if defined USING_SQL register_plugin( PLUGIN_NAME_SQL, PLUGIN_VERSION, PLUGIN_AUTHOR ); #else register_plugin( PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR ); #endif register_clcmd( "say /wantvip", "ShowAbilityForVip" ); register_clcmd( "say_team /wantvip", "ShowAbilityForVip" ); register_concmd( "amx_addvips", "ClCmdAddVips", ADMIN_RCON, "< nume >" ); register_event( "DeathMsg", "event_DeathMsg", "a" ); register_event( "DeathMsg", "event_DeathMsg2", "ae" ); register_event( "Damage", "event_Damage", "b", "2!0", "3=0", "4!0" ); register_logevent( "logevent_RoundStart", 2 , "1=Round_Start" ); register_logevent( "logevent_RoundEnd", 2, "1=Round_End" ); register_forward( FM_PlayerPreThink, "forward_PlayerPreThink" ); register_forward( FM_PlayerPostThink, "forward_PlayerPostThink" ); RegisterHam( Ham_Spawn, "player", "Ham_PlayerSpawnPost", 1 ); RegisterHam( Ham_TakeDamage, "player", "Ham_TakeDamagePre" ); RegisterHam( Ham_Player_ResetMaxSpeed, "player", "Ham_ResetMaxSpeedPost", 1 ); register_message( get_user_msgid( "ScoreAttrib" ), "MessageScoreAttrib" ); register_message( get_user_msgid( "ScreenFade" ), "MessageScreenFade" ); g_cvar_speed_spawn = register_cvar( "vip_ultra_speed", "400.0" ); // viteza pe care o primeste vip-ul la spawn( sa fie cu zecimala.0 ) g_cvar_health_spawn = register_cvar( "vip_health_spawn", "200" ); // viata pe care o primeste vip-ul la spawn g_cvar_armor_spawn = register_cvar( "vip_armor_spawn", "150" ); // armura pe care o primeste vip-ul la spawn g_cvar_gravity_spawn = register_cvar( "vip_gravity_spawn", "0.85" ); // gravitatea pe care o primeste vip-ul la spawn g_cvar_multidmg = register_cvar( "vip_multi_dmg", "2.0" ); // vip-ul are dmg mai mare la toate armele g_cvar_enable_glow = register_cvar( "vip_enable_glow", "1" ); // 1 - Fiecare VIP are glow in functie de echipa( CT - Blue ) | ( T - Red ) g_cvar_health_kill_reward = register_cvar( "vip_hp_kill_reward", "15" ); // cata viata sa primeasca vip-ul cand face un kill g_cvar_health_hs_reward = register_cvar( "vip_hp_hs_reward", "25" ); // cata viata sa primeasca vip-ul cand face un headshot g_cvar_maxhealth = register_cvar( "vip_maxhealth", "300" ); // viata maxima a vip-ului g_cvar_kill_money_reward = register_cvar( "vip_kill_money", "1000" ); // Cati bani sa primeasca Vip-ul pe un frag g_cvar_show_msgs = register_cvar( "vip_show_messages", "30.0" ); // la ce interval de timp.0 sa apara mesajele in chat despre VIP g_cvar_enable_show_dmg = register_cvar( "vip_show_dmg", "1" ); // afiseaza vip-ului dmg-ul facut de victima si dmg-ul pe care i la facut victimei g_cvar_ebable_vip_scoreboard = register_cvar( "vip_on_scoreboard", "1" ); // 1 - vip-ii apar in scoreboard ca "VIP" | 0 - dezactivat g_cvar_enable_vip_noflash = register_cvar( "vip_imune_flashbang", "1" ); // 1 - Vip-ul este imun la flash-uri | 0 - Nu este g_cvar_enable_vip_multijump = register_cvar( "vip_enable_multijump", "1" ); // 1 - Vip-ul beneficiaza de multi jump | 0 - Nu beneficiaza g_cvar_enable_vip_event = register_cvar( "vip_enable_vip_event", "1" ); // 1 - Intre anumite ore toti jucatorii au VIP | 0 dezactivat if( get_pcvar_num( g_cvar_enable_vip_event ) > 0 ) { check_time( ); set_task( 60.0, "check_time", _, _, _, "b" ); set_task( 1.0, "hud_mess", _, _, _, "b" ); } g_iMaxPlayers = get_maxplayers( ); SyncHudMessage = CreateHudSyncObj( ); } public plugin_cfg( ) set_cvar_float( "sv_maxspeed", 1000.0 ); public client_putinserver( id ) { g_iMultiJumps[ id ] = 0; iJumpNum[ id ] = 0; g_bUserHas[ id ][ Jump ] = false; g_bUserHas[ id ][ Speed ] = false; } public client_disconnect( id ) { g_iMultiJumps[ id ] = 0; iJumpNum[ id ] = 0; g_bUserHas[ id ][ Jump ] = false; g_bUserHas[ id ][ Speed ] = false; } public event_DeathMsg( ) { new iAttacker = read_data( 1 ); new iVictim = read_data( 2 ); new iHeadshot = read_data( 3 ); new HealthOnHeadShot = get_pcvar_num( g_cvar_health_hs_reward ); new MaxHealth = get_pcvar_num( g_cvar_maxhealth ); new HealthOnKill = get_pcvar_num( g_cvar_health_kill_reward ); if( iAttacker == iVictim ) return 0; if( is_user_vip( iAttacker ) ) { if( get_user_health( iAttacker ) <= MaxHealth ) { if( iHeadshot ) { set_user_health( iAttacker, get_user_health( iAttacker ) + HealthOnHeadShot ); set_hudmessage( 0, 250, 0, 0.85, 0.7, 0, 6.0, 5.0 ); ShowSyncHudMsg( iAttacker, SyncHudMessage, "+ %i HP", HealthOnHeadShot ); } else { set_user_health( iAttacker, get_user_health( iAttacker ) + HealthOnKill ); set_hudmessage( 200, 200, 0, 0.85, 0.7, 0, 6.0, 5.0 ); ShowSyncHudMsg( iAttacker, SyncHudMessage, "+ %i HP", HealthOnKill ); } } } return 0; } public event_DeathMsg2( ) { new iAttacker = read_data( 1 ); new iVictim = read_data( 2 ); new BonusMoney = get_pcvar_num( g_cvar_kill_money_reward ); if( iAttacker == iVictim ) return 0; if( is_user_vip( iAttacker ) ) { if( iAttacker && is_user_alive( iAttacker ) ) { if( cs_get_user_team( iVictim ) == CS_TEAM_T || cs_get_user_team( iVictim ) == CS_TEAM_CT ) { if( cs_get_user_money( iAttacker ) < 16000 - BonusMoney - 300 ) { cs_set_user_money( iAttacker, cs_get_user_money( iAttacker ) + BonusMoney - 300 ); } } } } return 0; } public event_Damage( id ) { if( get_pcvar_num( g_cvar_enable_show_dmg ) > 0 ) { static iAttacker; static fDamage; iAttacker = get_user_attacker( id ); fDamage = read_data( 2 ); if( is_user_alive( id ) && is_user_vip( id ) ) { set_hudmessage( 255, 0, 0, 0.45, 0.50, 2, 0.1, 1.0, 0.1, 0.1, -1 ); ShowSyncHudMsg( id, SyncHudMessage, "%i^n", fDamage ); } if( is_user_alive( iAttacker ) && is_user_vip( iAttacker ) ) { set_hudmessage( 0, 255, 15, -1.0, 0.55, 2, 0.1, 1.0, 0.02, 0.02, -1 ); ShowSyncHudMsg( iAttacker, SyncHudMessage, "%i^n^n", fDamage ); } } } public logevent_RoundStart( ) { new szPlayers[ 32 ], iNum; get_players( szPlayers, iNum, "ch" ); for( new i = 0; i < iNum; i++) { g_bUserHas[ szPlayers[ i ] ][ Speed ] = false; g_bUserHas[ szPlayers[ i ] ][ Jump ] = false; g_iMultiJumps[ szPlayers[ i ] ] = 0; iJumpNum[ szPlayers[ i ] ] = 0; if( task_exists( szPlayers[ i ] + TASK_SECRET_MSG ) ) remove_task( szPlayers[ i ] + TASK_SECRET_MSG ); set_task( get_pcvar_float( g_cvar_show_msgs ), "task_ShowMessage", szPlayers[ i ] + TASK_SECRET_MSG ); } } public logevent_RoundEnd( ) { new szPlayers[ 32 ], iNum; get_players( szPlayers, iNum, "ch" ); for( new i = 0; i < iNum; i++ ) remove_task( szPlayers[ i ] ); } public forward_PlayerPreThink( id ) { if( !is_user_alive( id ) || !g_iMultiJumps[ id ] ) return 0; if( ( pev( id, pev_button ) & IN_JUMP ) && !( pev( id, pev_flags ) & FL_ONGROUND ) && !( pev( id, pev_oldbuttons ) & IN_JUMP ) ) { if( iJumpNum[ id ] < g_iMultiJumps[ id ] ) { g_bUserHas[ id ][ Jump ] = true; iJumpNum[ id ]++; return 0; } } if( ( pev( id, pev_button ) & IN_JUMP ) && ( pev( id, pev_flags ) & FL_ONGROUND ) ) { iJumpNum[ id ] = 0; return 0; } return 0; } public forward_PlayerPostThink( id ) { if( !is_user_alive( id ) || !g_iMultiJumps[ id ] ) return 0; if( g_bUserHas[ id ][ Jump ]/* = true*/ ) { new Float:fVelocity[ 3 ]; pev( id, pev_velocity, fVelocity ); fVelocity[ 2 ] = random_float( 265.0, 285.0 ); set_pev( id, pev_velocity, fVelocity ); g_bUserHas[ id ][ Jump ] = false; return 0; } return 0; } public Ham_PlayerSpawnPost( id ) { if( !is_user_alive( id ) && !is_user_vip( id ) ) return HAM_IGNORED; if( is_user_vip( id ) && !is_user_bot( id ) ) set_task( 1.0, "task_GiveSkillsAllVips", id ); return HAM_IGNORED; } public task_GiveSkillsAllVips( id ) { //drop_prim( id ); g_bUserHas[ id ][ Speed ] = true; fm_set_user_maxspeed( id, get_pcvar_float( g_cvar_speed_spawn ) ); new szCommand[ 128 ]; formatex( szCommand, sizeof( szCommand ) - 1, "cl_forwardspeed %.1f;cl_sidespeed %.1f;cl_backspeed %.1f", get_pcvar_float( g_cvar_speed_spawn ), get_pcvar_float( g_cvar_speed_spawn ), get_pcvar_float( g_cvar_speed_spawn ) ); client_cmd( id, szCommand ); if( get_pcvar_num( g_cvar_enable_vip_multijump ) > 0 ) if( g_iMultiJumps[ id ] < g_iMaxJumps || !g_iMaxJumps ) g_iMultiJumps[ id ]++; set_user_health( id, get_pcvar_num( g_cvar_health_spawn ) ); set_user_armor( id, get_pcvar_num( g_cvar_armor_spawn ) ); set_user_gravity( id, get_pcvar_float( g_cvar_gravity_spawn ) ); fm_give_item( id, "weapon_hegrenade" ); fm_give_item( id, "weapon_flashbang" ); fm_give_item( id, "weapon_flashbang" ); fm_give_item( id, "weapon_smokegrenade" ); //GiveRifle( id ); if( get_pcvar_num( g_cvar_enable_glow ) > 0 ) { switch( get_user_team( id ) ) { case 1: fm_set_rendering( id, kRenderFxGlowShell, 200, 10, 20, kRenderNormal, 0 ); case 2: fm_set_rendering( id, kRenderFxGlowShell, 10, 240, 200, kRenderNormal, 0 ); } } } public GiveRifle( id ) { fm_give_item( id, "weapon_m4a1" ); cs_set_user_bpammo( id, CSW_M4A1, 300 ); fm_give_item( id, "weapon_ak47" ); cs_set_user_bpammo( id, CSW_AK47, 300 ); fm_give_item( id, "weapon_awp" ); cs_set_user_bpammo( id, CSW_AWP, 100 ); fm_give_item( id, "weapon_deagle" ); cs_set_user_bpammo( id, CSW_DEAGLE, 70 ); } public task_ShowMessage( taskid ) { new id = taskid - TASK_SECRET_MSG; ColorChat( id, GREEN, "%s^x01 Vrei sa cumperi si tu^x03 Membru V.I.P^x01? Contacteaza-l pe^x03 %s^x01 la^x03 %s^x01 !!!", g_szTag, YourNick, YourMessenger ); set_task( get_pcvar_float( g_cvar_show_msgs ) * 0.5, "task_ShowMessage2", id ); if( task_exists( taskid ) ) remove_task( taskid ); } public task_ShowMessage2( id ) { ColorChat( id, GREEN, "%s^x01 Vrei sa faci rost de^x03 Membru VIP^x01 si nu stii cum? Tasteaza^x03 /wantvip^x01 !!!", g_szTag ); set_task( get_pcvar_float( g_cvar_show_msgs ) * 1.2, "task_PrintVipList", id ); } public task_PrintVipList( user ) { new szAdminNames[ 33 ][ 32 ]; new szMessage[ 256 ]; new iCount, iLen; for( new id = 1 ; id <= g_iMaxPlayers ; id++ ) if( is_user_connected( id ) ) if( is_user_vip( id ) ) get_user_name( id, szAdminNames[ iCount++ ], 31 ); iLen = format( szMessage, 255, "%sVIP's Online: ", COLORG ); if( iCount > 0 ) { for( new i = 0 ; i < iCount ; i++ ) { iLen += format( szMessage[ iLen ], 255 - iLen, "^x03%s^x01 | ", szAdminNames[ i ], COLORT, COLORD ); if( iLen > 96 ) { print_message( user, szMessage ); iLen = format( szMessage, 255, "%s", COLORG ); } } print_message( user, szMessage ); } else { iLen += format( szMessage[ iLen ], 255 - iLen, "^x01Nu sunt VIP-i online.", COLORD ); print_message( user, szMessage ); } } public Ham_ResetMaxSpeedPost( id ) { if( is_user_alive( id ) && is_user_vip( id ) && get_user_maxspeed( id ) != 1.0 ) { new Float:flMaxSpeed; if( g_bUserHas[ id ][ Speed ] ) flMaxSpeed = float( get_pcvar_num( g_cvar_speed_spawn ) ); if( flMaxSpeed > 0.0 ) set_pev( id, pev_maxspeed, flMaxSpeed ); } } public Ham_TakeDamagePre( iVictim, iInflictor, iAttacker, Float:fDamage ) { if( iVictim == iAttacker || !is_user_player( iAttacker ) || !is_user_alive( iAttacker ) || is_user_bot( iAttacker ) ) return HAM_HANDLED; if( is_user_vip( iAttacker ) && is_user_player( iAttacker ) ) SetHamParamFloat( 4, fDamage * get_pcvar_float( g_cvar_multidmg ) ); return HAM_IGNORED; } public MessageScoreAttrib( iMsgId, iMsgDest, id ) { if( get_pcvar_num( g_cvar_ebable_vip_scoreboard ) > 0 ) { new iPlayer = get_msg_arg_int( SCOREATTRIB_ARG_PLAYERID ); if( access( iPlayer, read_flags( g_szVipFlags ) ) ) set_msg_arg_int( SCOREATTRIB_ARG_FLAGS, ARG_BYTE, SCOREATTRIB_FLAG_VIP ); } } public MessageScreenFade( iMsgId, iMsgDest, id ) { if( is_user_vip( id ) && is_user_alive( id ) && get_pcvar_num( g_cvar_enable_vip_noflash ) ) { static szData[ 4 ]; szData[ 0 ] = get_msg_arg_int( 4 ); szData[ 1 ] = get_msg_arg_int( 5 ); szData[ 2 ] = get_msg_arg_int( 6 ); szData[ 3 ] = get_msg_arg_int( 7 ); if( szData[ 0 ] == 255 && szData[ 1 ] == 255 && szData[ 2 ] == 255 && szData[ 3] > 199 ) return 1; } return 0; } public check_time( ) { static preluare_ora[ 3 ], ora; get_time( "%H", preluare_ora, 2 ); ora = str_to_num( preluare_ora ); if( 10 >= ora || ora < 12 ) { if( !VipEvent ) ColorChat( 0, GREEN, "^x04%s^x01 Eventul^x03 Free VIP^x01 a fost activat!", g_szTag ); VipEvent = true; server_cmd( "amx_default_access ^"t^"" ); } else { if( VipEvent ) ColorChat( 0, GREEN, "^x04%s^x01 Eventul^x03 Free VIP^x01 a fost activat!", g_szTag ); VipEvent = false; server_cmd( "amx_default_access ^"z^"" ); } server_cmd( "amx_reloadadmins" ); } public hud_mess( ) { if( VipEvent ) { set_hudmessage( 200, 200, 10, -1.0, 0.0, 1, 1.0, 1.0, 0.1, 0.1 ); show_hudmessage( 0, "Toti jucatorii beneficiaza de VIP free aceasta ora!" ); } } public ShowAbilityForVip( id ) { new iCfgDir[ 32 ], iFile[ 192 ]; get_configsdir( iCfgDir, charsmax( iCfgDir ) ); formatex( iFile, charsmax( iFile ), "%s/vip.html", iCfgDir ); show_motd( id, iFile ); } public ClCmdAddVips( id, level, cid ) { if( !cmd_access( id, level, cid, 2 ) ) return 1; new szTarget[ 32 ]; read_argv( 1, szTarget, 31 ); new iPlayer = cmd_target( id, szTarget, 8 ); if( !iPlayer ) return 1; new szPlayerName[ 32 ], szAdminName[ 32 ]; get_user_name( iPlayer, szPlayerName, charsmax( szPlayerName ) ); get_user_name( id, szAdminName, charsmax( szAdminName ) ); AddVIP( id, szPlayerName, VIP_FLAGS, VIP_PASSWORD, VIP_FLAGS_TYPE, szAdminName ); server_cmd( "amx_reloadadmins" ); console_print( id, "%s Vip-ul a fost adaugat in lista!", g_szTag ); ColorChat( 0, GREEN, "^x04%s^x01 Adminul^x03 %s^x01 l-a adaugat ca VIP pe^x03 %s^x01 !", g_szTag, szAdminName, iPlayer ); ColorChat( iPlayer, GREEN, "^x04%s^x01 Felicitari! Ai fost adaugat ca membru^x03 VIP^x01! VIP-ul se va activa harta viitoare!", g_szTag ); return 1; } stock bool:is_user_vip( id ) { if( get_user_flags( id ) & read_flags( g_szVipFlags ) ) return true; return false; } stock drop_prim( id ) { new szWeapons[ 32 ], iNum; get_user_weapons( id, szWeapons, iNum ); for( new i = 0; i < iNum; i++ ) { if( WeaponAK47 & ( 1<<szWeapons[ i ] ) || WeaponM4a1 & ( 1<<szWeapons[ i ] ) || WeaponDeagle & ( 1<<szWeapons[ i ] ) || WeaponAWP & ( 1<<szWeapons[ i ] ) ) { static szWeaponName[ 32 ]; get_weaponname( szWeapons[ i ], szWeaponName, sizeof szWeaponName - 1 ); engclient_cmd( id, "drop", szWeaponName ); } } } stock print_message( id, msg[ ] ) { message_begin( MSG_ONE, get_user_msgid( "SayText" ), { 0, 0, 0 }, id ); write_byte( id ); write_string( msg ); message_end( ); } // stock by Askhanar stock bool:bUserHasAnyNade( id ) { if( user_has_weapon( id, CSW_HEGRENADE ) || user_has_weapon( id, CSW_FLASHBANG ) || user_has_weapon( id, CSW_SMOKEGRENADE ) ) return true; return false; } // stocks from "fakemeta_util" stock fm_give_item( index, const item[ ] ) { if( !equal( item, "weapon_", 7 ) && !equal( item, "ammo_", 5 ) && !equal( item, "item_", 5 ) && !equal( item, "tf_weapon_", 10 ) ) return 0; new ent = fm_create_entity( item ); if( !pev_valid( ent ) ) return 0; new Float:fOrigin[ 3 ]; pev( index, pev_origin, fOrigin ); set_pev( ent, pev_origin, fOrigin ); set_pev( ent, pev_spawnflags, pev( ent, pev_spawnflags ) | SF_NORESPAWN ); dllfunc( DLLFunc_Spawn, ent ); new save = pev( ent, pev_solid ); dllfunc( DLLFunc_Touch, ent, index ); if( pev( ent, pev_solid ) != save ) return ent; engfunc( EngFunc_RemoveEntity, ent ); return -1; } stock fm_set_user_maxspeed( index, Float:speed = -1.0 ) { engfunc( EngFunc_SetClientMaxspeed, index, speed ); set_pev( index, pev_maxspeed, speed ); return 1; } stock Float:fm_get_user_maxspeed( index ) { new Float:speed; pev( index, pev_maxspeed, speed ); return speed; } stock fm_set_rendering( entity, fx = kRenderFxNone, r = 255, g = 255, b = 255, render = kRenderNormal, amount = 16 ) { new Float:RenderColor[ 3 ]; RenderColor[ 0 ] = float( r ); RenderColor[ 1 ] = float( g ); RenderColor[ 2 ] = float( b ); set_pev( entity, pev_renderfx, fx ); set_pev( entity, pev_rendercolor, RenderColor ); set_pev( entity, pev_rendermode, render ); set_pev( entity, pev_renderamt, float( amount ) ); return 1; } stock fm_create_entity( const classname[ ] ) return engfunc( EngFunc_CreateNamedEntity, engfunc( EngFunc_AllocString, classname ) ); AddVIP( id, name[ ], accessflags[ ], password[ ], flags[ ], comment[ ]="" ) { #if defined USING_SQL new error[ 128 ], errno; new Handle:info = SQL_MakeStdTuple( ); new Handle:sql = SQL_Connect( info, errno, error, 127 ); if( sql == Empty_Handle ) { server_print( "[AMXX] %L", LANG_SERVER, "SQL_CANT_CON", error ); #endif // Make sure that the users.ini file exists. new configsDir[ 64 ]; get_configsdir( configsDir, 63 ); format( configsDir, 63, "%s/users.ini", configsDir ); if( !file_exists( configsDir ) ) { console_print( id, "%s File ^"%s^" doesn't exist.", g_szTag, configsDir ); return; } // Make sure steamid isn't already in file. new line = 0, textline[ 256 ], len; const SIZE = 63; new line_steamid[ SIZE + 1 ], line_password[ SIZE + 1 ], line_accessflags[ SIZE + 1 ], line_flags[ SIZE + 1 ], parsedParams; // <name|ip|steamid> <password> <access flags> <account flags> while( ( line = read_file( configsDir, line, textline, 255, len ) ) ) { if ( len == 0 || equal( textline, ";", 1 ) ) continue; // comment line parsedParams = parse( textline, line_steamid, SIZE, line_password, SIZE, line_accessflags, SIZE, line_flags, SIZE ); if( parsedParams != 4 ) continue; // Send warning/error? if( containi( line_flags, flags ) != -1 && equal( line_steamid, name ) ) { console_print( id, "%s %s already exists!", g_szTag, name ); return; } } // If we came here, steamid doesn't exist in users.ini. Add it. new linetoadd[ 512 ]; if( comment[ 0 ]==0 ) formatex( linetoadd, 511, "^r^n^"%s^" ^"%s^" ^"%s^" ^"%s^"", name, password, accessflags, flags ); else formatex( linetoadd, 511, "^r^n^"%s^" ^"%s^" ^"%s^" ^"%s^" ; %s", name, password, accessflags, flags, comment ); console_print( id, "Adding:^n%s", linetoadd ); if( !write_file( configsDir, linetoadd ) ) console_print( id, "%s Failed writing to %s!", g_szTag, configsDir ); #if defined USING_SQL } new table[ 32 ]; get_cvar_string( "amx_sql_table", table, 31 ); new Handle:query = SQL_PrepareQuery( sql, "SELECT * FROM `%s` WHERE (`auth` = '%s')", table, name ); if( !SQL_Execute( query ) ) { SQL_QueryError( query, error, 127 ); server_print( "[AMXX] %L", LANG_SERVER, "SQL_CANT_LOAD_ADMINS", error ); console_print( id, "[AMXX] %L", LANG_SERVER, "SQL_CANT_LOAD_ADMINS", error ); } else if( SQL_NumResults( query ) ) console_print( id, "%s %s already exists!", g_szTag, name ); else { console_print( id, "Adding to database:^n^"%s^" ^"%s^" ^"%s^" ^"%s^"", name, password, accessflags, flags ); SQL_QueryAndIgnore( sql, "REPLACE INTO `%s` (`name`, `password`, `access`, `flags`) VALUES ('%s', '%s', '%s', '%s')", table, name, password, accessflags, flags ); } SQL_FreeHandle( query ); SQL_FreeHandle( sql); SQL_FreeHandle( info ); #endif } /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE *{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1033\\ f0\\ fs16 \n\\ par } */
„Peste douăzeci de ani vei fi dezamăgit din cauza lucrurilor pe care nu le-ai făcut, nu din cauza celor pe care le-ai făcut.” - Mark Twain
„Asa e si in viata, hotii castiga, prostii care invata pierd.” - Mihai Nemeș
Bio.LeagueCs.Ro - Biohazard v4.4 Xmas Edition
discord: IonutC#5114
„Asa e si in viata, hotii castiga, prostii care invata pierd.” - Mihai Nemeș
Bio.LeagueCs.Ro - Biohazard v4.4 Xmas Edition
discord: IonutC#5114
Experinta in: Java/Spring boot/Angular/C/C++/C#/Javascript/Python/HTML/CSS/Pawn/SQL
Ai nevoie de ajutorul meu? Ma poti gasi doar la adresa de discord de mai sus.
Ai nevoie de ajutorul meu? Ma poti gasi doar la adresa de discord de mai sus.
- Mutex
- Fost administrator
- Posts: 4726
- Joined: 24 Mar 2011, 22:32
- Detinator Steam: Da
- Reputatie: Fost administrator
- Location: Bucuresti
- Discord: mutex21
- Has thanked: 108 times
- Been thanked: 167 times
- Contact:
Imi mai poti scoate smoke si flash la spawn ? + vezi ca daca pun pe offline modelurile la vip tot avem skin-urile .The YONTU wrote:
- | Afiseaza codul
/* Credits: Exolent - VIP in Scoreboard pharse - x2 Jump for VIP( for ZP 5.0.5 ) Sn!ff3r - Show bullet dmg in HUD only VIP cheap.suit - No VIP Flash( extracted on Biohazard v2.00 beta ) AMXX Dev Team - Add VIP's cyby - VIP Event */ #include < amxmodx > #include < amxmisc > #include < hamsandwich > #include < cstrike > #include < fakemeta > #include < CC_ColorChat > #include < message_const > #include < fun > //#define USING_SQL #if defined USING_SQL #include < sqlx > #endif #pragma semicolon 1 #define VIP_FLAGS "bit" // Flagurile VIP-ului( Nu schimba ) #define VIP_FLAGS_TYPE "a" // a - deconecteaza VIP-ii cu parola invalida( Alte flaguri gasiti in "users.ini" ) #define VIP_PASSWORD "parola" // Aici setati parola oricarui VIP #define is_user_player(%1) ( 1 <= %1 <= g_iMaxPlayers ) #define TASK_SECRET_MSG 2139 new const PLUGIN_VERSION[ ] = "1.0.1", PLUGIN_AUTHOR[ ] = "YONTU"; #if defined USING_SQL new const PLUGIN_NAME_SQL[ ] = "VIP System( SQL )"; #else new const PLUGIN_NAME[ ] = "VIP System"; #endif new const g_szTag[ ] = "[Classic VIP]"; // TAG new const g_szVipFlags[ ] = "bit"; // flagurile vip-ului: b - slot | i - acces la comenzile de chat | t - flagul defalt al oricarui vip new const YourNick[ ] = "YONTU", YourMessenger[ ] = "[email protected]"; static const COLORG[ ] = "^x04", COLORD[ ] = "^x01", COLORT[ ] = "^x03"; enum { SCOREATTRIB_ARG_PLAYERID = 1, SCOREATTRIB_ARG_FLAGS }; enum ( <<= 1 ) { SCOREATTRIB_FLAG_NONE = 0, SCOREATTRIB_FLAG_DEAD = 1, SCOREATTRIB_FLAG_BOMB, SCOREATTRIB_FLAG_VIP }; enum _:WhatUserHas { Speed, Jump, } new bool:g_bUserHas[ 33 ][ WhatUserHas ]; new g_cvar_speed_spawn, g_cvar_health_spawn, g_cvar_armor_spawn, g_cvar_gravity_spawn, g_cvar_multidmg, g_cvar_enable_glow, g_cvar_health_kill_reward, g_cvar_health_hs_reward, g_cvar_maxhealth, g_cvar_kill_money_reward, g_cvar_show_msgs, g_cvar_enable_show_dmg, g_cvar_ebable_vip_scoreboard, g_cvar_enable_vip_noflash, g_cvar_enable_vip_multijump, g_cvar_enable_vip_event; new Ham:Ham_Player_ResetMaxSpeed = Ham_Item_PreFrame; new bool:VipEvent; new iJumpNum[ 33 ] = 0; new g_iMultiJumps[ 33 ] = 0; new g_iMaxJumps = 0; new g_iMaxPlayers; new SyncHudMessage; public plugin_init( ) { #if defined USING_SQL register_plugin( PLUGIN_NAME_SQL, PLUGIN_VERSION, PLUGIN_AUTHOR ); #else register_plugin( PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR ); #endif register_clcmd( "say /wantvip", "ShowAbilityForVip" ); register_clcmd( "say_team /wantvip", "ShowAbilityForVip" ); register_concmd( "amx_addvips", "ClCmdAddVips", ADMIN_RCON, "< nume >" ); register_event( "DeathMsg", "event_DeathMsg", "a" ); register_event( "DeathMsg", "event_DeathMsg2", "ae" ); register_event( "Damage", "event_Damage", "b", "2!0", "3=0", "4!0" ); register_logevent( "logevent_RoundStart", 2 , "1=Round_Start" ); register_logevent( "logevent_RoundEnd", 2, "1=Round_End" ); register_forward( FM_PlayerPreThink, "forward_PlayerPreThink" ); register_forward( FM_PlayerPostThink, "forward_PlayerPostThink" ); RegisterHam( Ham_Spawn, "player", "Ham_PlayerSpawnPost", 1 ); RegisterHam( Ham_TakeDamage, "player", "Ham_TakeDamagePre" ); RegisterHam( Ham_Player_ResetMaxSpeed, "player", "Ham_ResetMaxSpeedPost", 1 ); register_message( get_user_msgid( "ScoreAttrib" ), "MessageScoreAttrib" ); register_message( get_user_msgid( "ScreenFade" ), "MessageScreenFade" ); g_cvar_speed_spawn = register_cvar( "vip_ultra_speed", "400.0" ); // viteza pe care o primeste vip-ul la spawn( sa fie cu zecimala.0 ) g_cvar_health_spawn = register_cvar( "vip_health_spawn", "200" ); // viata pe care o primeste vip-ul la spawn g_cvar_armor_spawn = register_cvar( "vip_armor_spawn", "150" ); // armura pe care o primeste vip-ul la spawn g_cvar_gravity_spawn = register_cvar( "vip_gravity_spawn", "0.85" ); // gravitatea pe care o primeste vip-ul la spawn g_cvar_multidmg = register_cvar( "vip_multi_dmg", "2.0" ); // vip-ul are dmg mai mare la toate armele g_cvar_enable_glow = register_cvar( "vip_enable_glow", "1" ); // 1 - Fiecare VIP are glow in functie de echipa( CT - Blue ) | ( T - Red ) g_cvar_health_kill_reward = register_cvar( "vip_hp_kill_reward", "15" ); // cata viata sa primeasca vip-ul cand face un kill g_cvar_health_hs_reward = register_cvar( "vip_hp_hs_reward", "25" ); // cata viata sa primeasca vip-ul cand face un headshot g_cvar_maxhealth = register_cvar( "vip_maxhealth", "300" ); // viata maxima a vip-ului g_cvar_kill_money_reward = register_cvar( "vip_kill_money", "1000" ); // Cati bani sa primeasca Vip-ul pe un frag g_cvar_show_msgs = register_cvar( "vip_show_messages", "30.0" ); // la ce interval de timp.0 sa apara mesajele in chat despre VIP g_cvar_enable_show_dmg = register_cvar( "vip_show_dmg", "1" ); // afiseaza vip-ului dmg-ul facut de victima si dmg-ul pe care i la facut victimei g_cvar_ebable_vip_scoreboard = register_cvar( "vip_on_scoreboard", "1" ); // 1 - vip-ii apar in scoreboard ca "VIP" | 0 - dezactivat g_cvar_enable_vip_noflash = register_cvar( "vip_imune_flashbang", "1" ); // 1 - Vip-ul este imun la flash-uri | 0 - Nu este g_cvar_enable_vip_multijump = register_cvar( "vip_enable_multijump", "1" ); // 1 - Vip-ul beneficiaza de multi jump | 0 - Nu beneficiaza g_cvar_enable_vip_event = register_cvar( "vip_enable_vip_event", "1" ); // 1 - Intre anumite ore toti jucatorii au VIP | 0 dezactivat if( get_pcvar_num( g_cvar_enable_vip_event ) > 0 ) { check_time( ); set_task( 60.0, "check_time", _, _, _, "b" ); set_task( 1.0, "hud_mess", _, _, _, "b" ); } g_iMaxPlayers = get_maxplayers( ); SyncHudMessage = CreateHudSyncObj( ); } public plugin_cfg( ) set_cvar_float( "sv_maxspeed", 1000.0 ); public client_putinserver( id ) { g_iMultiJumps[ id ] = 0; iJumpNum[ id ] = 0; g_bUserHas[ id ][ Jump ] = false; g_bUserHas[ id ][ Speed ] = false; } public client_disconnect( id ) { g_iMultiJumps[ id ] = 0; iJumpNum[ id ] = 0; g_bUserHas[ id ][ Jump ] = false; g_bUserHas[ id ][ Speed ] = false; } public event_DeathMsg( ) { new iAttacker = read_data( 1 ); new iVictim = read_data( 2 ); new iHeadshot = read_data( 3 ); new HealthOnHeadShot = get_pcvar_num( g_cvar_health_hs_reward ); new MaxHealth = get_pcvar_num( g_cvar_maxhealth ); new HealthOnKill = get_pcvar_num( g_cvar_health_kill_reward ); if( iAttacker == iVictim ) return 0; if( is_user_vip( iAttacker ) ) { if( get_user_health( iAttacker ) <= MaxHealth ) { if( iHeadshot ) { set_user_health( iAttacker, get_user_health( iAttacker ) + HealthOnHeadShot ); set_hudmessage( 0, 250, 0, 0.85, 0.7, 0, 6.0, 5.0 ); ShowSyncHudMsg( iAttacker, SyncHudMessage, "+ %i HP", HealthOnHeadShot ); } else { set_user_health( iAttacker, get_user_health( iAttacker ) + HealthOnKill ); set_hudmessage( 200, 200, 0, 0.85, 0.7, 0, 6.0, 5.0 ); ShowSyncHudMsg( iAttacker, SyncHudMessage, "+ %i HP", HealthOnKill ); } } } return 0; } public event_DeathMsg2( ) { new iAttacker = read_data( 1 ); new iVictim = read_data( 2 ); new BonusMoney = get_pcvar_num( g_cvar_kill_money_reward ); if( iAttacker == iVictim ) return 0; if( is_user_vip( iAttacker ) ) { if( iAttacker && is_user_alive( iAttacker ) ) { if( cs_get_user_team( iVictim ) == CS_TEAM_T || cs_get_user_team( iVictim ) == CS_TEAM_CT ) { if( cs_get_user_money( iAttacker ) < 16000 - BonusMoney - 300 ) { cs_set_user_money( iAttacker, cs_get_user_money( iAttacker ) + BonusMoney - 300 ); } } } } return 0; } public event_Damage( id ) { if( get_pcvar_num( g_cvar_enable_show_dmg ) > 0 ) { static iAttacker; static fDamage; iAttacker = get_user_attacker( id ); fDamage = read_data( 2 ); if( is_user_alive( id ) && is_user_vip( id ) ) { set_hudmessage( 255, 0, 0, 0.45, 0.50, 2, 0.1, 1.0, 0.1, 0.1, -1 ); ShowSyncHudMsg( id, SyncHudMessage, "%i^n", fDamage ); } if( is_user_alive( iAttacker ) && is_user_vip( iAttacker ) ) { set_hudmessage( 0, 255, 15, -1.0, 0.55, 2, 0.1, 1.0, 0.02, 0.02, -1 ); ShowSyncHudMsg( iAttacker, SyncHudMessage, "%i^n^n", fDamage ); } } } public logevent_RoundStart( ) { new szPlayers[ 32 ], iNum; get_players( szPlayers, iNum, "ch" ); for( new i = 0; i < iNum; i++) { g_bUserHas[ szPlayers[ i ] ][ Speed ] = false; g_bUserHas[ szPlayers[ i ] ][ Jump ] = false; g_iMultiJumps[ szPlayers[ i ] ] = 0; iJumpNum[ szPlayers[ i ] ] = 0; if( task_exists( szPlayers[ i ] + TASK_SECRET_MSG ) ) remove_task( szPlayers[ i ] + TASK_SECRET_MSG ); set_task( get_pcvar_float( g_cvar_show_msgs ), "task_ShowMessage", szPlayers[ i ] + TASK_SECRET_MSG ); } } public logevent_RoundEnd( ) { new szPlayers[ 32 ], iNum; get_players( szPlayers, iNum, "ch" ); for( new i = 0; i < iNum; i++ ) remove_task( szPlayers[ i ] ); } public forward_PlayerPreThink( id ) { if( !is_user_alive( id ) || !g_iMultiJumps[ id ] ) return 0; if( ( pev( id, pev_button ) & IN_JUMP ) && !( pev( id, pev_flags ) & FL_ONGROUND ) && !( pev( id, pev_oldbuttons ) & IN_JUMP ) ) { if( iJumpNum[ id ] < g_iMultiJumps[ id ] ) { g_bUserHas[ id ][ Jump ] = true; iJumpNum[ id ]++; return 0; } } if( ( pev( id, pev_button ) & IN_JUMP ) && ( pev( id, pev_flags ) & FL_ONGROUND ) ) { iJumpNum[ id ] = 0; return 0; } return 0; } public forward_PlayerPostThink( id ) { if( !is_user_alive( id ) || !g_iMultiJumps[ id ] ) return 0; if( g_bUserHas[ id ][ Jump ]/* = true*/ ) { new Float:fVelocity[ 3 ]; pev( id, pev_velocity, fVelocity ); fVelocity[ 2 ] = random_float( 265.0, 285.0 ); set_pev( id, pev_velocity, fVelocity ); g_bUserHas[ id ][ Jump ] = false; return 0; } return 0; } public Ham_PlayerSpawnPost( id ) { if( !is_user_alive( id ) && !is_user_vip( id ) ) return HAM_IGNORED; if( is_user_vip( id ) && !is_user_bot( id ) ) set_task( 1.0, "task_GiveSkillsAllVips", id ); return HAM_IGNORED; } public task_GiveSkillsAllVips( id ) { //drop_prim( id ); g_bUserHas[ id ][ Speed ] = true; fm_set_user_maxspeed( id, get_pcvar_float( g_cvar_speed_spawn ) ); new szCommand[ 128 ]; formatex( szCommand, sizeof( szCommand ) - 1, "cl_forwardspeed %.1f;cl_sidespeed %.1f;cl_backspeed %.1f", get_pcvar_float( g_cvar_speed_spawn ), get_pcvar_float( g_cvar_speed_spawn ), get_pcvar_float( g_cvar_speed_spawn ) ); client_cmd( id, szCommand ); if( get_pcvar_num( g_cvar_enable_vip_multijump ) > 0 ) if( g_iMultiJumps[ id ] < g_iMaxJumps || !g_iMaxJumps ) g_iMultiJumps[ id ]++; set_user_health( id, get_pcvar_num( g_cvar_health_spawn ) ); set_user_armor( id, get_pcvar_num( g_cvar_armor_spawn ) ); set_user_gravity( id, get_pcvar_float( g_cvar_gravity_spawn ) ); fm_give_item( id, "weapon_hegrenade" ); fm_give_item( id, "weapon_flashbang" ); fm_give_item( id, "weapon_flashbang" ); fm_give_item( id, "weapon_smokegrenade" ); //GiveRifle( id ); if( get_pcvar_num( g_cvar_enable_glow ) > 0 ) { switch( get_user_team( id ) ) { case 1: fm_set_rendering( id, kRenderFxGlowShell, 200, 10, 20, kRenderNormal, 0 ); case 2: fm_set_rendering( id, kRenderFxGlowShell, 10, 240, 200, kRenderNormal, 0 ); } } } public GiveRifle( id ) { fm_give_item( id, "weapon_m4a1" ); cs_set_user_bpammo( id, CSW_M4A1, 300 ); fm_give_item( id, "weapon_ak47" ); cs_set_user_bpammo( id, CSW_AK47, 300 ); fm_give_item( id, "weapon_awp" ); cs_set_user_bpammo( id, CSW_AWP, 100 ); fm_give_item( id, "weapon_deagle" ); cs_set_user_bpammo( id, CSW_DEAGLE, 70 ); } public task_ShowMessage( taskid ) { new id = taskid - TASK_SECRET_MSG; ColorChat( id, GREEN, "%s^x01 Vrei sa cumperi si tu^x03 Membru V.I.P^x01? Contacteaza-l pe^x03 %s^x01 la^x03 %s^x01 !!!", g_szTag, YourNick, YourMessenger ); set_task( get_pcvar_float( g_cvar_show_msgs ) * 0.5, "task_ShowMessage2", id ); if( task_exists( taskid ) ) remove_task( taskid ); } public task_ShowMessage2( id ) { ColorChat( id, GREEN, "%s^x01 Vrei sa faci rost de^x03 Membru VIP^x01 si nu stii cum? Tasteaza^x03 /wantvip^x01 !!!", g_szTag ); set_task( get_pcvar_float( g_cvar_show_msgs ) * 1.2, "task_PrintVipList", id ); } public task_PrintVipList( user ) { new szAdminNames[ 33 ][ 32 ]; new szMessage[ 256 ]; new iCount, iLen; for( new id = 1 ; id <= g_iMaxPlayers ; id++ ) if( is_user_connected( id ) ) if( is_user_vip( id ) ) get_user_name( id, szAdminNames[ iCount++ ], 31 ); iLen = format( szMessage, 255, "%sVIP's Online: ", COLORG ); if( iCount > 0 ) { for( new i = 0 ; i < iCount ; i++ ) { iLen += format( szMessage[ iLen ], 255 - iLen, "^x03%s^x01 | ", szAdminNames[ i ], COLORT, COLORD ); if( iLen > 96 ) { print_message( user, szMessage ); iLen = format( szMessage, 255, "%s", COLORG ); } } print_message( user, szMessage ); } else { iLen += format( szMessage[ iLen ], 255 - iLen, "^x01Nu sunt VIP-i online.", COLORD ); print_message( user, szMessage ); } } public Ham_ResetMaxSpeedPost( id ) { if( is_user_alive( id ) && is_user_vip( id ) && get_user_maxspeed( id ) != 1.0 ) { new Float:flMaxSpeed; if( g_bUserHas[ id ][ Speed ] ) flMaxSpeed = float( get_pcvar_num( g_cvar_speed_spawn ) ); if( flMaxSpeed > 0.0 ) set_pev( id, pev_maxspeed, flMaxSpeed ); } } public Ham_TakeDamagePre( iVictim, iInflictor, iAttacker, Float:fDamage ) { if( iVictim == iAttacker || !is_user_player( iAttacker ) || !is_user_alive( iAttacker ) || is_user_bot( iAttacker ) ) return HAM_HANDLED; if( is_user_vip( iAttacker ) && is_user_player( iAttacker ) ) SetHamParamFloat( 4, fDamage * get_pcvar_float( g_cvar_multidmg ) ); return HAM_IGNORED; } public MessageScoreAttrib( iMsgId, iMsgDest, id ) { if( get_pcvar_num( g_cvar_ebable_vip_scoreboard ) > 0 ) { new iPlayer = get_msg_arg_int( SCOREATTRIB_ARG_PLAYERID ); if( access( iPlayer, read_flags( g_szVipFlags ) ) ) set_msg_arg_int( SCOREATTRIB_ARG_FLAGS, ARG_BYTE, SCOREATTRIB_FLAG_VIP ); } } public MessageScreenFade( iMsgId, iMsgDest, id ) { if( is_user_vip( id ) && is_user_alive( id ) && get_pcvar_num( g_cvar_enable_vip_noflash ) ) { static szData[ 4 ]; szData[ 0 ] = get_msg_arg_int( 4 ); szData[ 1 ] = get_msg_arg_int( 5 ); szData[ 2 ] = get_msg_arg_int( 6 ); szData[ 3 ] = get_msg_arg_int( 7 ); if( szData[ 0 ] == 255 && szData[ 1 ] == 255 && szData[ 2 ] == 255 && szData[ 3] > 199 ) return 1; } return 0; } public check_time( ) { static preluare_ora[ 3 ], ora; get_time( "%H", preluare_ora, 2 ); ora = str_to_num( preluare_ora ); if( 10 >= ora || ora < 12 ) { if( !VipEvent ) ColorChat( 0, GREEN, "^x04%s^x01 Eventul^x03 Free VIP^x01 a fost activat!", g_szTag ); VipEvent = true; server_cmd( "amx_default_access ^"t^"" ); } else { if( VipEvent ) ColorChat( 0, GREEN, "^x04%s^x01 Eventul^x03 Free VIP^x01 a fost activat!", g_szTag ); VipEvent = false; server_cmd( "amx_default_access ^"z^"" ); } server_cmd( "amx_reloadadmins" ); } public hud_mess( ) { if( VipEvent ) { set_hudmessage( 200, 200, 10, -1.0, 0.0, 1, 1.0, 1.0, 0.1, 0.1 ); show_hudmessage( 0, "Toti jucatorii beneficiaza de VIP free aceasta ora!" ); } } public ShowAbilityForVip( id ) { new iCfgDir[ 32 ], iFile[ 192 ]; get_configsdir( iCfgDir, charsmax( iCfgDir ) ); formatex( iFile, charsmax( iFile ), "%s/vip.html", iCfgDir ); show_motd( id, iFile ); } public ClCmdAddVips( id, level, cid ) { if( !cmd_access( id, level, cid, 2 ) ) return 1; new szTarget[ 32 ]; read_argv( 1, szTarget, 31 ); new iPlayer = cmd_target( id, szTarget, 8 ); if( !iPlayer ) return 1; new szPlayerName[ 32 ], szAdminName[ 32 ]; get_user_name( iPlayer, szPlayerName, charsmax( szPlayerName ) ); get_user_name( id, szAdminName, charsmax( szAdminName ) ); AddVIP( id, szPlayerName, VIP_FLAGS, VIP_PASSWORD, VIP_FLAGS_TYPE, szAdminName ); server_cmd( "amx_reloadadmins" ); console_print( id, "%s Vip-ul a fost adaugat in lista!", g_szTag ); ColorChat( 0, GREEN, "^x04%s^x01 Adminul^x03 %s^x01 l-a adaugat ca VIP pe^x03 %s^x01 !", g_szTag, szAdminName, iPlayer ); ColorChat( iPlayer, GREEN, "^x04%s^x01 Felicitari! Ai fost adaugat ca membru^x03 VIP^x01! VIP-ul se va activa harta viitoare!", g_szTag ); return 1; } stock bool:is_user_vip( id ) { if( get_user_flags( id ) & read_flags( g_szVipFlags ) ) return true; return false; } stock drop_prim( id ) { new szWeapons[ 32 ], iNum; get_user_weapons( id, szWeapons, iNum ); for( new i = 0; i < iNum; i++ ) { if( WeaponAK47 & ( 1<<szWeapons[ i ] ) || WeaponM4a1 & ( 1<<szWeapons[ i ] ) || WeaponDeagle & ( 1<<szWeapons[ i ] ) || WeaponAWP & ( 1<<szWeapons[ i ] ) ) { static szWeaponName[ 32 ]; get_weaponname( szWeapons[ i ], szWeaponName, sizeof szWeaponName - 1 ); engclient_cmd( id, "drop", szWeaponName ); } } } stock print_message( id, msg[ ] ) { message_begin( MSG_ONE, get_user_msgid( "SayText" ), { 0, 0, 0 }, id ); write_byte( id ); write_string( msg ); message_end( ); } // stock by Askhanar stock bool:bUserHasAnyNade( id ) { if( user_has_weapon( id, CSW_HEGRENADE ) || user_has_weapon( id, CSW_FLASHBANG ) || user_has_weapon( id, CSW_SMOKEGRENADE ) ) return true; return false; } // stocks from "fakemeta_util" stock fm_give_item( index, const item[ ] ) { if( !equal( item, "weapon_", 7 ) && !equal( item, "ammo_", 5 ) && !equal( item, "item_", 5 ) && !equal( item, "tf_weapon_", 10 ) ) return 0; new ent = fm_create_entity( item ); if( !pev_valid( ent ) ) return 0; new Float:fOrigin[ 3 ]; pev( index, pev_origin, fOrigin ); set_pev( ent, pev_origin, fOrigin ); set_pev( ent, pev_spawnflags, pev( ent, pev_spawnflags ) | SF_NORESPAWN ); dllfunc( DLLFunc_Spawn, ent ); new save = pev( ent, pev_solid ); dllfunc( DLLFunc_Touch, ent, index ); if( pev( ent, pev_solid ) != save ) return ent; engfunc( EngFunc_RemoveEntity, ent ); return -1; } stock fm_set_user_maxspeed( index, Float:speed = -1.0 ) { engfunc( EngFunc_SetClientMaxspeed, index, speed ); set_pev( index, pev_maxspeed, speed ); return 1; } stock Float:fm_get_user_maxspeed( index ) { new Float:speed; pev( index, pev_maxspeed, speed ); return speed; } stock fm_set_rendering( entity, fx = kRenderFxNone, r = 255, g = 255, b = 255, render = kRenderNormal, amount = 16 ) { new Float:RenderColor[ 3 ]; RenderColor[ 0 ] = float( r ); RenderColor[ 1 ] = float( g ); RenderColor[ 2 ] = float( b ); set_pev( entity, pev_renderfx, fx ); set_pev( entity, pev_rendercolor, RenderColor ); set_pev( entity, pev_rendermode, render ); set_pev( entity, pev_renderamt, float( amount ) ); return 1; } stock fm_create_entity( const classname[ ] ) return engfunc( EngFunc_CreateNamedEntity, engfunc( EngFunc_AllocString, classname ) ); AddVIP( id, name[ ], accessflags[ ], password[ ], flags[ ], comment[ ]="" ) { #if defined USING_SQL new error[ 128 ], errno; new Handle:info = SQL_MakeStdTuple( ); new Handle:sql = SQL_Connect( info, errno, error, 127 ); if( sql == Empty_Handle ) { server_print( "[AMXX] %L", LANG_SERVER, "SQL_CANT_CON", error ); #endif // Make sure that the users.ini file exists. new configsDir[ 64 ]; get_configsdir( configsDir, 63 ); format( configsDir, 63, "%s/users.ini", configsDir ); if( !file_exists( configsDir ) ) { console_print( id, "%s File ^"%s^" doesn't exist.", g_szTag, configsDir ); return; } // Make sure steamid isn't already in file. new line = 0, textline[ 256 ], len; const SIZE = 63; new line_steamid[ SIZE + 1 ], line_password[ SIZE + 1 ], line_accessflags[ SIZE + 1 ], line_flags[ SIZE + 1 ], parsedParams; // <name|ip|steamid> <password> <access flags> <account flags> while( ( line = read_file( configsDir, line, textline, 255, len ) ) ) { if ( len == 0 || equal( textline, ";", 1 ) ) continue; // comment line parsedParams = parse( textline, line_steamid, SIZE, line_password, SIZE, line_accessflags, SIZE, line_flags, SIZE ); if( parsedParams != 4 ) continue; // Send warning/error? if( containi( line_flags, flags ) != -1 && equal( line_steamid, name ) ) { console_print( id, "%s %s already exists!", g_szTag, name ); return; } } // If we came here, steamid doesn't exist in users.ini. Add it. new linetoadd[ 512 ]; if( comment[ 0 ]==0 ) formatex( linetoadd, 511, "^r^n^"%s^" ^"%s^" ^"%s^" ^"%s^"", name, password, accessflags, flags ); else formatex( linetoadd, 511, "^r^n^"%s^" ^"%s^" ^"%s^" ^"%s^" ; %s", name, password, accessflags, flags, comment ); console_print( id, "Adding:^n%s", linetoadd ); if( !write_file( configsDir, linetoadd ) ) console_print( id, "%s Failed writing to %s!", g_szTag, configsDir ); #if defined USING_SQL } new table[ 32 ]; get_cvar_string( "amx_sql_table", table, 31 ); new Handle:query = SQL_PrepareQuery( sql, "SELECT * FROM `%s` WHERE (`auth` = '%s')", table, name ); if( !SQL_Execute( query ) ) { SQL_QueryError( query, error, 127 ); server_print( "[AMXX] %L", LANG_SERVER, "SQL_CANT_LOAD_ADMINS", error ); console_print( id, "[AMXX] %L", LANG_SERVER, "SQL_CANT_LOAD_ADMINS", error ); } else if( SQL_NumResults( query ) ) console_print( id, "%s %s already exists!", g_szTag, name ); else { console_print( id, "Adding to database:^n^"%s^" ^"%s^" ^"%s^" ^"%s^"", name, password, accessflags, flags ); SQL_QueryAndIgnore( sql, "REPLACE INTO `%s` (`name`, `password`, `access`, `flags`) VALUES ('%s', '%s', '%s', '%s')", table, name, password, accessflags, flags ); } SQL_FreeHandle( query ); SQL_FreeHandle( sql); SQL_FreeHandle( info ); #endif } /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE *{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1033\\ f0\\ fs16 \n\\ par } */
- YONTU
- Scripter eXtreamCS
- Posts: 2466
- Joined: 10 May 2013, 14:25
- Detinator Steam: Nu
- CS Status: Everyone is looking at ur shoes
- Reputatie: Moderator ajutator
Fost scripter eXtreamCS - Location: Gura Humorului
- Has thanked: 256 times
- Been thanked: 288 times
- Contact:
- Fara Smoke si Flash-uri la spawn | Afiseaza codul
/* Credits: Exolent - VIP in Scoreboard pharse - x2 Jump for VIP( for ZP 5.0.5 ) Sn!ff3r - Show bullet dmg in HUD only VIP cheap.suit - No VIP Flash( extracted on Biohazard v2.00 beta ) AMXX Dev Team - Add VIP's cyby - VIP Event */ #include < amxmodx > #include < amxmisc > #include < hamsandwich > #include < cstrike > #include < fakemeta > #include < CC_ColorChat > #include < message_const > #include < fun > //#define USING_SQL #if defined USING_SQL #include < sqlx > #endif #pragma semicolon 1 #define VIP_FLAGS "bit" // Flagurile VIP-ului( Nu schimba ) #define VIP_FLAGS_TYPE "a" // a - deconecteaza VIP-ii cu parola invalida( Alte flaguri gasiti in "users.ini" ) #define VIP_PASSWORD "parola" // Aici setati parola oricarui VIP #define is_user_player(%1) ( 1 <= %1 <= g_iMaxPlayers ) #define TASK_SECRET_MSG 2139 new const PLUGIN_VERSION[ ] = "1.0.1", PLUGIN_AUTHOR[ ] = "YONTU"; #if defined USING_SQL new const PLUGIN_NAME_SQL[ ] = "VIP System( SQL )"; #else new const PLUGIN_NAME[ ] = "VIP System"; #endif new const g_szTag[ ] = "[Classic VIP]"; // TAG new const g_szVipFlags[ ] = "bit"; // flagurile vip-ului: b - slot | i - acces la comenzile de chat | t - flagul defalt al oricarui vip new const YourNick[ ] = "YONTU", YourMessenger[ ] = "[email protected]"; static const COLORG[ ] = "^x04", COLORD[ ] = "^x01", COLORT[ ] = "^x03"; enum { SCOREATTRIB_ARG_PLAYERID = 1, SCOREATTRIB_ARG_FLAGS }; enum ( <<= 1 ) { SCOREATTRIB_FLAG_NONE = 0, SCOREATTRIB_FLAG_DEAD = 1, SCOREATTRIB_FLAG_BOMB, SCOREATTRIB_FLAG_VIP }; enum _:WhatUserHas { Speed, Jump, } new bool:g_bUserHas[ 33 ][ WhatUserHas ]; new g_cvar_speed_spawn, g_cvar_health_spawn, g_cvar_armor_spawn, g_cvar_gravity_spawn, g_cvar_multidmg, g_cvar_enable_glow, g_cvar_health_kill_reward, g_cvar_health_hs_reward, g_cvar_maxhealth, g_cvar_kill_money_reward, g_cvar_show_msgs, g_cvar_enable_show_dmg, g_cvar_ebable_vip_scoreboard, g_cvar_enable_vip_noflash, g_cvar_enable_vip_multijump, g_cvar_enable_vip_event; new Ham:Ham_Player_ResetMaxSpeed = Ham_Item_PreFrame; new bool:VipEvent; new iJumpNum[ 33 ] = 0; new g_iMultiJumps[ 33 ] = 0; new g_iMaxJumps = 0; new g_iMaxPlayers; new SyncHudMessage; public plugin_init( ) { #if defined USING_SQL register_plugin( PLUGIN_NAME_SQL, PLUGIN_VERSION, PLUGIN_AUTHOR ); #else register_plugin( PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR ); #endif register_clcmd( "say /wantvip", "ShowAbilityForVip" ); register_clcmd( "say_team /wantvip", "ShowAbilityForVip" ); register_concmd( "amx_addvips", "ClCmdAddVips", ADMIN_RCON, "< nume >" ); register_event( "DeathMsg", "event_DeathMsg", "a" ); register_event( "DeathMsg", "event_DeathMsg2", "ae" ); register_event( "Damage", "event_Damage", "b", "2!0", "3=0", "4!0" ); register_logevent( "logevent_RoundStart", 2 , "1=Round_Start" ); register_logevent( "logevent_RoundEnd", 2, "1=Round_End" ); register_forward( FM_PlayerPreThink, "forward_PlayerPreThink" ); register_forward( FM_PlayerPostThink, "forward_PlayerPostThink" ); RegisterHam( Ham_Spawn, "player", "Ham_PlayerSpawnPost", 1 ); RegisterHam( Ham_TakeDamage, "player", "Ham_TakeDamagePre" ); RegisterHam( Ham_Player_ResetMaxSpeed, "player", "Ham_ResetMaxSpeedPost", 1 ); register_message( get_user_msgid( "ScoreAttrib" ), "MessageScoreAttrib" ); register_message( get_user_msgid( "ScreenFade" ), "MessageScreenFade" ); g_cvar_speed_spawn = register_cvar( "vip_ultra_speed", "400.0" ); // viteza pe care o primeste vip-ul la spawn( sa fie cu zecimala.0 ) g_cvar_health_spawn = register_cvar( "vip_health_spawn", "200" ); // viata pe care o primeste vip-ul la spawn g_cvar_armor_spawn = register_cvar( "vip_armor_spawn", "150" ); // armura pe care o primeste vip-ul la spawn g_cvar_gravity_spawn = register_cvar( "vip_gravity_spawn", "0.85" ); // gravitatea pe care o primeste vip-ul la spawn g_cvar_multidmg = register_cvar( "vip_multi_dmg", "2.0" ); // vip-ul are dmg mai mare la toate armele g_cvar_enable_glow = register_cvar( "vip_enable_glow", "1" ); // 1 - Fiecare VIP are glow in functie de echipa( CT - Blue ) | ( T - Red ) g_cvar_health_kill_reward = register_cvar( "vip_hp_kill_reward", "15" ); // cata viata sa primeasca vip-ul cand face un kill g_cvar_health_hs_reward = register_cvar( "vip_hp_hs_reward", "25" ); // cata viata sa primeasca vip-ul cand face un headshot g_cvar_maxhealth = register_cvar( "vip_maxhealth", "300" ); // viata maxima a vip-ului g_cvar_kill_money_reward = register_cvar( "vip_kill_money", "1000" ); // Cati bani sa primeasca Vip-ul pe un frag g_cvar_show_msgs = register_cvar( "vip_show_messages", "30.0" ); // la ce interval de timp.0 sa apara mesajele in chat despre VIP g_cvar_enable_show_dmg = register_cvar( "vip_show_dmg", "1" ); // afiseaza vip-ului dmg-ul facut de victima si dmg-ul pe care i la facut victimei g_cvar_ebable_vip_scoreboard = register_cvar( "vip_on_scoreboard", "1" ); // 1 - vip-ii apar in scoreboard ca "VIP" | 0 - dezactivat g_cvar_enable_vip_noflash = register_cvar( "vip_imune_flashbang", "1" ); // 1 - Vip-ul este imun la flash-uri | 0 - Nu este g_cvar_enable_vip_multijump = register_cvar( "vip_enable_multijump", "1" ); // 1 - Vip-ul beneficiaza de multi jump | 0 - Nu beneficiaza g_cvar_enable_vip_event = register_cvar( "vip_enable_vip_event", "1" ); // 1 - Intre anumite ore toti jucatorii au VIP | 0 dezactivat if( get_pcvar_num( g_cvar_enable_vip_event ) > 0 ) { check_time( ); set_task( 60.0, "check_time", _, _, _, "b" ); set_task( 1.0, "hud_mess", _, _, _, "b" ); } g_iMaxPlayers = get_maxplayers( ); SyncHudMessage = CreateHudSyncObj( ); } public plugin_cfg( ) set_cvar_float( "sv_maxspeed", 1000.0 ); public client_putinserver( id ) { g_iMultiJumps[ id ] = 0; iJumpNum[ id ] = 0; g_bUserHas[ id ][ Jump ] = false; g_bUserHas[ id ][ Speed ] = false; } public client_disconnect( id ) { g_iMultiJumps[ id ] = 0; iJumpNum[ id ] = 0; g_bUserHas[ id ][ Jump ] = false; g_bUserHas[ id ][ Speed ] = false; } public event_DeathMsg( ) { new iAttacker = read_data( 1 ); new iVictim = read_data( 2 ); new iHeadshot = read_data( 3 ); new HealthOnHeadShot = get_pcvar_num( g_cvar_health_hs_reward ); new MaxHealth = get_pcvar_num( g_cvar_maxhealth ); new HealthOnKill = get_pcvar_num( g_cvar_health_kill_reward ); if( iAttacker == iVictim ) return 0; if( is_user_vip( iAttacker ) ) { if( get_user_health( iAttacker ) <= MaxHealth ) { if( iHeadshot ) { set_user_health( iAttacker, get_user_health( iAttacker ) + HealthOnHeadShot ); set_hudmessage( 0, 250, 0, 0.85, 0.7, 0, 6.0, 5.0 ); ShowSyncHudMsg( iAttacker, SyncHudMessage, "+ %i HP", HealthOnHeadShot ); } else { set_user_health( iAttacker, get_user_health( iAttacker ) + HealthOnKill ); set_hudmessage( 200, 200, 0, 0.85, 0.7, 0, 6.0, 5.0 ); ShowSyncHudMsg( iAttacker, SyncHudMessage, "+ %i HP", HealthOnKill ); } } } return 0; } public event_DeathMsg2( ) { new iAttacker = read_data( 1 ); new iVictim = read_data( 2 ); new BonusMoney = get_pcvar_num( g_cvar_kill_money_reward ); if( iAttacker == iVictim ) return 0; if( is_user_vip( iAttacker ) ) { if( iAttacker && is_user_alive( iAttacker ) ) { if( cs_get_user_team( iVictim ) == CS_TEAM_T || cs_get_user_team( iVictim ) == CS_TEAM_CT ) { if( cs_get_user_money( iAttacker ) < 16000 - BonusMoney - 300 ) { cs_set_user_money( iAttacker, cs_get_user_money( iAttacker ) + BonusMoney - 300 ); } } } } return 0; } public event_Damage( id ) { if( get_pcvar_num( g_cvar_enable_show_dmg ) > 0 ) { static iAttacker; static fDamage; iAttacker = get_user_attacker( id ); fDamage = read_data( 2 ); if( is_user_alive( id ) && is_user_vip( id ) ) { set_hudmessage( 255, 0, 0, 0.45, 0.50, 2, 0.1, 1.0, 0.1, 0.1, -1 ); ShowSyncHudMsg( id, SyncHudMessage, "%i^n", fDamage ); } if( is_user_alive( iAttacker ) && is_user_vip( iAttacker ) ) { set_hudmessage( 0, 255, 15, -1.0, 0.55, 2, 0.1, 1.0, 0.02, 0.02, -1 ); ShowSyncHudMsg( iAttacker, SyncHudMessage, "%i^n^n", fDamage ); } } } public logevent_RoundStart( ) { new szPlayers[ 32 ], iNum; get_players( szPlayers, iNum, "ch" ); for( new i = 0; i < iNum; i++) { g_bUserHas[ szPlayers[ i ] ][ Speed ] = false; g_bUserHas[ szPlayers[ i ] ][ Jump ] = false; g_iMultiJumps[ szPlayers[ i ] ] = 0; iJumpNum[ szPlayers[ i ] ] = 0; if( task_exists( szPlayers[ i ] + TASK_SECRET_MSG ) ) remove_task( szPlayers[ i ] + TASK_SECRET_MSG ); set_task( get_pcvar_float( g_cvar_show_msgs ), "task_ShowMessage", szPlayers[ i ] + TASK_SECRET_MSG ); } } public logevent_RoundEnd( ) { new szPlayers[ 32 ], iNum; get_players( szPlayers, iNum, "ch" ); for( new i = 0; i < iNum; i++ ) remove_task( szPlayers[ i ] ); } public forward_PlayerPreThink( id ) { if( !is_user_alive( id ) || !g_iMultiJumps[ id ] ) return 0; if( ( pev( id, pev_button ) & IN_JUMP ) && !( pev( id, pev_flags ) & FL_ONGROUND ) && !( pev( id, pev_oldbuttons ) & IN_JUMP ) ) { if( iJumpNum[ id ] < g_iMultiJumps[ id ] ) { g_bUserHas[ id ][ Jump ] = true; iJumpNum[ id ]++; return 0; } } if( ( pev( id, pev_button ) & IN_JUMP ) && ( pev( id, pev_flags ) & FL_ONGROUND ) ) { iJumpNum[ id ] = 0; return 0; } return 0; } public forward_PlayerPostThink( id ) { if( !is_user_alive( id ) || !g_iMultiJumps[ id ] ) return 0; if( g_bUserHas[ id ][ Jump ]/* = true*/ ) { new Float:fVelocity[ 3 ]; pev( id, pev_velocity, fVelocity ); fVelocity[ 2 ] = random_float( 265.0, 285.0 ); set_pev( id, pev_velocity, fVelocity ); g_bUserHas[ id ][ Jump ] = false; return 0; } return 0; } public Ham_PlayerSpawnPost( id ) { if( !is_user_alive( id ) && !is_user_vip( id ) ) return HAM_IGNORED; if( is_user_vip( id ) && !is_user_bot( id ) ) set_task( 1.0, "task_GiveSkillsAllVips", id ); return HAM_IGNORED; } public task_GiveSkillsAllVips( id ) { //drop_prim( id ); g_bUserHas[ id ][ Speed ] = true; fm_set_user_maxspeed( id, get_pcvar_float( g_cvar_speed_spawn ) ); new szCommand[ 128 ]; formatex( szCommand, sizeof( szCommand ) - 1, "cl_forwardspeed %.1f;cl_sidespeed %.1f;cl_backspeed %.1f", get_pcvar_float( g_cvar_speed_spawn ), get_pcvar_float( g_cvar_speed_spawn ), get_pcvar_float( g_cvar_speed_spawn ) ); client_cmd( id, szCommand ); if( get_pcvar_num( g_cvar_enable_vip_multijump ) > 0 ) if( g_iMultiJumps[ id ] < g_iMaxJumps || !g_iMaxJumps ) g_iMultiJumps[ id ]++; set_user_health( id, get_pcvar_num( g_cvar_health_spawn ) ); set_user_armor( id, get_pcvar_num( g_cvar_armor_spawn ) ); set_user_gravity( id, get_pcvar_float( g_cvar_gravity_spawn ) ); fm_give_item( id, "weapon_hegrenade" ); //fm_give_item( id, "weapon_flashbang" ); //fm_give_item( id, "weapon_flashbang" ); //fm_give_item( id, "weapon_smokegrenade" ); //GiveRifle( id ); if( get_pcvar_num( g_cvar_enable_glow ) > 0 ) { switch( get_user_team( id ) ) { case 1: fm_set_rendering( id, kRenderFxGlowShell, 200, 10, 20, kRenderNormal, 0 ); case 2: fm_set_rendering( id, kRenderFxGlowShell, 10, 240, 200, kRenderNormal, 0 ); } } } public GiveRifle( id ) { fm_give_item( id, "weapon_m4a1" ); cs_set_user_bpammo( id, CSW_M4A1, 300 ); fm_give_item( id, "weapon_ak47" ); cs_set_user_bpammo( id, CSW_AK47, 300 ); fm_give_item( id, "weapon_awp" ); cs_set_user_bpammo( id, CSW_AWP, 100 ); fm_give_item( id, "weapon_deagle" ); cs_set_user_bpammo( id, CSW_DEAGLE, 70 ); } public task_ShowMessage( taskid ) { new id = taskid - TASK_SECRET_MSG; ColorChat( id, GREEN, "%s^x01 Vrei sa cumperi si tu^x03 Membru V.I.P^x01? Contacteaza-l pe^x03 %s^x01 la^x03 %s^x01 !!!", g_szTag, YourNick, YourMessenger ); set_task( get_pcvar_float( g_cvar_show_msgs ) * 0.5, "task_ShowMessage2", id ); if( task_exists( taskid ) ) remove_task( taskid ); } public task_ShowMessage2( id ) { ColorChat( id, GREEN, "%s^x01 Vrei sa faci rost de^x03 Membru VIP^x01 si nu stii cum? Tasteaza^x03 /wantvip^x01 !!!", g_szTag ); set_task( get_pcvar_float( g_cvar_show_msgs ) * 1.2, "task_PrintVipList", id ); } public task_PrintVipList( user ) { new szAdminNames[ 33 ][ 32 ]; new szMessage[ 256 ]; new iCount, iLen; for( new id = 1 ; id <= g_iMaxPlayers ; id++ ) if( is_user_connected( id ) ) if( is_user_vip( id ) ) get_user_name( id, szAdminNames[ iCount++ ], 31 ); iLen = format( szMessage, 255, "%sVIP's Online: ", COLORG ); if( iCount > 0 ) { for( new i = 0 ; i < iCount ; i++ ) { iLen += format( szMessage[ iLen ], 255 - iLen, "^x03%s^x01 | ", szAdminNames[ i ], COLORT, COLORD ); if( iLen > 96 ) { print_message( user, szMessage ); iLen = format( szMessage, 255, "%s", COLORG ); } } print_message( user, szMessage ); } else { iLen += format( szMessage[ iLen ], 255 - iLen, "^x01Nu sunt VIP-i online.", COLORD ); print_message( user, szMessage ); } } public Ham_ResetMaxSpeedPost( id ) { if( is_user_alive( id ) && is_user_vip( id ) && get_user_maxspeed( id ) != 1.0 ) { new Float:flMaxSpeed; if( g_bUserHas[ id ][ Speed ] ) flMaxSpeed = float( get_pcvar_num( g_cvar_speed_spawn ) ); if( flMaxSpeed > 0.0 ) set_pev( id, pev_maxspeed, flMaxSpeed ); } } public Ham_TakeDamagePre( iVictim, iInflictor, iAttacker, Float:fDamage ) { if( iVictim == iAttacker || !is_user_player( iAttacker ) || !is_user_alive( iAttacker ) || is_user_bot( iAttacker ) ) return HAM_HANDLED; if( is_user_vip( iAttacker ) && is_user_player( iAttacker ) ) SetHamParamFloat( 4, fDamage * get_pcvar_float( g_cvar_multidmg ) ); return HAM_IGNORED; } public MessageScoreAttrib( iMsgId, iMsgDest, id ) { if( get_pcvar_num( g_cvar_ebable_vip_scoreboard ) > 0 ) { new iPlayer = get_msg_arg_int( SCOREATTRIB_ARG_PLAYERID ); if( access( iPlayer, read_flags( g_szVipFlags ) ) ) set_msg_arg_int( SCOREATTRIB_ARG_FLAGS, ARG_BYTE, SCOREATTRIB_FLAG_VIP ); } } public MessageScreenFade( iMsgId, iMsgDest, id ) { if( is_user_vip( id ) && is_user_alive( id ) && get_pcvar_num( g_cvar_enable_vip_noflash ) ) { static szData[ 4 ]; szData[ 0 ] = get_msg_arg_int( 4 ); szData[ 1 ] = get_msg_arg_int( 5 ); szData[ 2 ] = get_msg_arg_int( 6 ); szData[ 3 ] = get_msg_arg_int( 7 ); if( szData[ 0 ] == 255 && szData[ 1 ] == 255 && szData[ 2 ] == 255 && szData[ 3] > 199 ) return 1; } return 0; } public check_time( ) { static preluare_ora[ 3 ], ora; get_time( "%H", preluare_ora, 2 ); ora = str_to_num( preluare_ora ); if( 10 >= ora || ora < 12 ) { if( !VipEvent ) ColorChat( 0, GREEN, "^x04%s^x01 Eventul^x03 Free VIP^x01 a fost activat!", g_szTag ); VipEvent = true; server_cmd( "amx_default_access ^"t^"" ); } else { if( VipEvent ) ColorChat( 0, GREEN, "^x04%s^x01 Eventul^x03 Free VIP^x01 a fost activat!", g_szTag ); VipEvent = false; server_cmd( "amx_default_access ^"z^"" ); } server_cmd( "amx_reloadadmins" ); } public hud_mess( ) { if( VipEvent ) { set_hudmessage( 200, 200, 10, -1.0, 0.0, 1, 1.0, 1.0, 0.1, 0.1 ); show_hudmessage( 0, "Toti jucatorii beneficiaza de VIP free aceasta ora!" ); } } public ShowAbilityForVip( id ) { new iCfgDir[ 32 ], iFile[ 192 ]; get_configsdir( iCfgDir, charsmax( iCfgDir ) ); formatex( iFile, charsmax( iFile ), "%s/vip.html", iCfgDir ); show_motd( id, iFile ); } public ClCmdAddVips( id, level, cid ) { if( !cmd_access( id, level, cid, 2 ) ) return 1; new szTarget[ 32 ]; read_argv( 1, szTarget, 31 ); new iPlayer = cmd_target( id, szTarget, 8 ); if( !iPlayer ) return 1; new szPlayerName[ 32 ], szAdminName[ 32 ]; get_user_name( iPlayer, szPlayerName, charsmax( szPlayerName ) ); get_user_name( id, szAdminName, charsmax( szAdminName ) ); AddVIP( id, szPlayerName, VIP_FLAGS, VIP_PASSWORD, VIP_FLAGS_TYPE, szAdminName ); server_cmd( "amx_reloadadmins" ); console_print( id, "%s Vip-ul a fost adaugat in lista!", g_szTag ); ColorChat( 0, GREEN, "^x04%s^x01 Adminul^x03 %s^x01 l-a adaugat ca VIP pe^x03 %s^x01 !", g_szTag, szAdminName, iPlayer ); ColorChat( iPlayer, GREEN, "^x04%s^x01 Felicitari! Ai fost adaugat ca membru^x03 VIP^x01! VIP-ul se va activa harta viitoare!", g_szTag ); return 1; } stock bool:is_user_vip( id ) { if( get_user_flags( id ) & read_flags( g_szVipFlags ) ) return true; return false; } stock drop_prim( id ) { new szWeapons[ 32 ], iNum; get_user_weapons( id, szWeapons, iNum ); for( new i = 0; i < iNum; i++ ) { if( WeaponAK47 & ( 1<<szWeapons[ i ] ) || WeaponM4a1 & ( 1<<szWeapons[ i ] ) || WeaponDeagle & ( 1<<szWeapons[ i ] ) || WeaponAWP & ( 1<<szWeapons[ i ] ) ) { static szWeaponName[ 32 ]; get_weaponname( szWeapons[ i ], szWeaponName, sizeof szWeaponName - 1 ); engclient_cmd( id, "drop", szWeaponName ); } } } stock print_message( id, msg[ ] ) { message_begin( MSG_ONE, get_user_msgid( "SayText" ), { 0, 0, 0 }, id ); write_byte( id ); write_string( msg ); message_end( ); } // stock by Askhanar stock bool:bUserHasAnyNade( id ) { if( user_has_weapon( id, CSW_HEGRENADE ) || user_has_weapon( id, CSW_FLASHBANG ) || user_has_weapon( id, CSW_SMOKEGRENADE ) ) return true; return false; } // stocks from "fakemeta_util" stock fm_give_item( index, const item[ ] ) { if( !equal( item, "weapon_", 7 ) && !equal( item, "ammo_", 5 ) && !equal( item, "item_", 5 ) && !equal( item, "tf_weapon_", 10 ) ) return 0; new ent = fm_create_entity( item ); if( !pev_valid( ent ) ) return 0; new Float:fOrigin[ 3 ]; pev( index, pev_origin, fOrigin ); set_pev( ent, pev_origin, fOrigin ); set_pev( ent, pev_spawnflags, pev( ent, pev_spawnflags ) | SF_NORESPAWN ); dllfunc( DLLFunc_Spawn, ent ); new save = pev( ent, pev_solid ); dllfunc( DLLFunc_Touch, ent, index ); if( pev( ent, pev_solid ) != save ) return ent; engfunc( EngFunc_RemoveEntity, ent ); return -1; } stock fm_set_user_maxspeed( index, Float:speed = -1.0 ) { engfunc( EngFunc_SetClientMaxspeed, index, speed ); set_pev( index, pev_maxspeed, speed ); return 1; } stock Float:fm_get_user_maxspeed( index ) { new Float:speed; pev( index, pev_maxspeed, speed ); return speed; } stock fm_set_rendering( entity, fx = kRenderFxNone, r = 255, g = 255, b = 255, render = kRenderNormal, amount = 16 ) { new Float:RenderColor[ 3 ]; RenderColor[ 0 ] = float( r ); RenderColor[ 1 ] = float( g ); RenderColor[ 2 ] = float( b ); set_pev( entity, pev_renderfx, fx ); set_pev( entity, pev_rendercolor, RenderColor ); set_pev( entity, pev_rendermode, render ); set_pev( entity, pev_renderamt, float( amount ) ); return 1; } stock fm_create_entity( const classname[ ] ) return engfunc( EngFunc_CreateNamedEntity, engfunc( EngFunc_AllocString, classname ) ); AddVIP( id, name[ ], accessflags[ ], password[ ], flags[ ], comment[ ]="" ) { #if defined USING_SQL new error[ 128 ], errno; new Handle:info = SQL_MakeStdTuple( ); new Handle:sql = SQL_Connect( info, errno, error, 127 ); if( sql == Empty_Handle ) { server_print( "[AMXX] %L", LANG_SERVER, "SQL_CANT_CON", error ); #endif // Make sure that the users.ini file exists. new configsDir[ 64 ]; get_configsdir( configsDir, 63 ); format( configsDir, 63, "%s/users.ini", configsDir ); if( !file_exists( configsDir ) ) { console_print( id, "%s File ^"%s^" doesn't exist.", g_szTag, configsDir ); return; } // Make sure steamid isn't already in file. new line = 0, textline[ 256 ], len; const SIZE = 63; new line_steamid[ SIZE + 1 ], line_password[ SIZE + 1 ], line_accessflags[ SIZE + 1 ], line_flags[ SIZE + 1 ], parsedParams; // <name|ip|steamid> <password> <access flags> <account flags> while( ( line = read_file( configsDir, line, textline, 255, len ) ) ) { if ( len == 0 || equal( textline, ";", 1 ) ) continue; // comment line parsedParams = parse( textline, line_steamid, SIZE, line_password, SIZE, line_accessflags, SIZE, line_flags, SIZE ); if( parsedParams != 4 ) continue; // Send warning/error? if( containi( line_flags, flags ) != -1 && equal( line_steamid, name ) ) { console_print( id, "%s %s already exists!", g_szTag, name ); return; } } // If we came here, steamid doesn't exist in users.ini. Add it. new linetoadd[ 512 ]; if( comment[ 0 ]==0 ) formatex( linetoadd, 511, "^r^n^"%s^" ^"%s^" ^"%s^" ^"%s^"", name, password, accessflags, flags ); else formatex( linetoadd, 511, "^r^n^"%s^" ^"%s^" ^"%s^" ^"%s^" ; %s", name, password, accessflags, flags, comment ); console_print( id, "Adding:^n%s", linetoadd ); if( !write_file( configsDir, linetoadd ) ) console_print( id, "%s Failed writing to %s!", g_szTag, configsDir ); #if defined USING_SQL } new table[ 32 ]; get_cvar_string( "amx_sql_table", table, 31 ); new Handle:query = SQL_PrepareQuery( sql, "SELECT * FROM `%s` WHERE (`auth` = '%s')", table, name ); if( !SQL_Execute( query ) ) { SQL_QueryError( query, error, 127 ); server_print( "[AMXX] %L", LANG_SERVER, "SQL_CANT_LOAD_ADMINS", error ); console_print( id, "[AMXX] %L", LANG_SERVER, "SQL_CANT_LOAD_ADMINS", error ); } else if( SQL_NumResults( query ) ) console_print( id, "%s %s already exists!", g_szTag, name ); else { console_print( id, "Adding to database:^n^"%s^" ^"%s^" ^"%s^" ^"%s^"", name, password, accessflags, flags ); SQL_QueryAndIgnore( sql, "REPLACE INTO `%s` (`name`, `password`, `access`, `flags`) VALUES ('%s', '%s', '%s', '%s')", table, name, password, accessflags, flags ); } SQL_FreeHandle( query ); SQL_FreeHandle( sql); SQL_FreeHandle( info ); #endif } /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE *{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1033\\ f0\\ fs16 \n\\ par } */
„Peste douăzeci de ani vei fi dezamăgit din cauza lucrurilor pe care nu le-ai făcut, nu din cauza celor pe care le-ai făcut.” - Mark Twain
„Asa e si in viata, hotii castiga, prostii care invata pierd.” - Mihai Nemeș
Bio.LeagueCs.Ro - Biohazard v4.4 Xmas Edition
discord: IonutC#5114
„Asa e si in viata, hotii castiga, prostii care invata pierd.” - Mihai Nemeș
Bio.LeagueCs.Ro - Biohazard v4.4 Xmas Edition
discord: IonutC#5114
Experinta in: Java/Spring boot/Angular/C/C++/C#/Javascript/Python/HTML/CSS/Pawn/SQL
Ai nevoie de ajutorul meu? Ma poti gasi doar la adresa de discord de mai sus.
Ai nevoie de ajutorul meu? Ma poti gasi doar la adresa de discord de mai sus.
- Mutex
- Fost administrator
- Posts: 4726
- Joined: 24 Mar 2011, 22:32
- Detinator Steam: Da
- Reputatie: Fost administrator
- Location: Bucuresti
- Discord: mutex21
- Has thanked: 108 times
- Been thanked: 167 times
- Contact:
Multumesc mult , dar ai mai putea face ceva ?The YONTU wrote:M.ai rugat sa-ti scot modelele la vip-i!
- Fara Smoke si Flash-uri la spawn | Afiseaza codul
/* Credits: Exolent - VIP in Scoreboard pharse - x2 Jump for VIP( for ZP 5.0.5 ) Sn!ff3r - Show bullet dmg in HUD only VIP cheap.suit - No VIP Flash( extracted on Biohazard v2.00 beta ) AMXX Dev Team - Add VIP's cyby - VIP Event */ #include < amxmodx > #include < amxmisc > #include < hamsandwich > #include < cstrike > #include < fakemeta > #include < CC_ColorChat > #include < message_const > #include < fun > //#define USING_SQL #if defined USING_SQL #include < sqlx > #endif #pragma semicolon 1 #define VIP_FLAGS "bit" // Flagurile VIP-ului( Nu schimba ) #define VIP_FLAGS_TYPE "a" // a - deconecteaza VIP-ii cu parola invalida( Alte flaguri gasiti in "users.ini" ) #define VIP_PASSWORD "parola" // Aici setati parola oricarui VIP #define is_user_player(%1) ( 1 <= %1 <= g_iMaxPlayers ) #define TASK_SECRET_MSG 2139 new const PLUGIN_VERSION[ ] = "1.0.1", PLUGIN_AUTHOR[ ] = "YONTU"; #if defined USING_SQL new const PLUGIN_NAME_SQL[ ] = "VIP System( SQL )"; #else new const PLUGIN_NAME[ ] = "VIP System"; #endif new const g_szTag[ ] = "[Classic VIP]"; // TAG new const g_szVipFlags[ ] = "bit"; // flagurile vip-ului: b - slot | i - acces la comenzile de chat | t - flagul defalt al oricarui vip new const YourNick[ ] = "YONTU", YourMessenger[ ] = "[email protected]"; static const COLORG[ ] = "^x04", COLORD[ ] = "^x01", COLORT[ ] = "^x03"; enum { SCOREATTRIB_ARG_PLAYERID = 1, SCOREATTRIB_ARG_FLAGS }; enum ( <<= 1 ) { SCOREATTRIB_FLAG_NONE = 0, SCOREATTRIB_FLAG_DEAD = 1, SCOREATTRIB_FLAG_BOMB, SCOREATTRIB_FLAG_VIP }; enum _:WhatUserHas { Speed, Jump, } new bool:g_bUserHas[ 33 ][ WhatUserHas ]; new g_cvar_speed_spawn, g_cvar_health_spawn, g_cvar_armor_spawn, g_cvar_gravity_spawn, g_cvar_multidmg, g_cvar_enable_glow, g_cvar_health_kill_reward, g_cvar_health_hs_reward, g_cvar_maxhealth, g_cvar_kill_money_reward, g_cvar_show_msgs, g_cvar_enable_show_dmg, g_cvar_ebable_vip_scoreboard, g_cvar_enable_vip_noflash, g_cvar_enable_vip_multijump, g_cvar_enable_vip_event; new Ham:Ham_Player_ResetMaxSpeed = Ham_Item_PreFrame; new bool:VipEvent; new iJumpNum[ 33 ] = 0; new g_iMultiJumps[ 33 ] = 0; new g_iMaxJumps = 0; new g_iMaxPlayers; new SyncHudMessage; public plugin_init( ) { #if defined USING_SQL register_plugin( PLUGIN_NAME_SQL, PLUGIN_VERSION, PLUGIN_AUTHOR ); #else register_plugin( PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR ); #endif register_clcmd( "say /wantvip", "ShowAbilityForVip" ); register_clcmd( "say_team /wantvip", "ShowAbilityForVip" ); register_concmd( "amx_addvips", "ClCmdAddVips", ADMIN_RCON, "< nume >" ); register_event( "DeathMsg", "event_DeathMsg", "a" ); register_event( "DeathMsg", "event_DeathMsg2", "ae" ); register_event( "Damage", "event_Damage", "b", "2!0", "3=0", "4!0" ); register_logevent( "logevent_RoundStart", 2 , "1=Round_Start" ); register_logevent( "logevent_RoundEnd", 2, "1=Round_End" ); register_forward( FM_PlayerPreThink, "forward_PlayerPreThink" ); register_forward( FM_PlayerPostThink, "forward_PlayerPostThink" ); RegisterHam( Ham_Spawn, "player", "Ham_PlayerSpawnPost", 1 ); RegisterHam( Ham_TakeDamage, "player", "Ham_TakeDamagePre" ); RegisterHam( Ham_Player_ResetMaxSpeed, "player", "Ham_ResetMaxSpeedPost", 1 ); register_message( get_user_msgid( "ScoreAttrib" ), "MessageScoreAttrib" ); register_message( get_user_msgid( "ScreenFade" ), "MessageScreenFade" ); g_cvar_speed_spawn = register_cvar( "vip_ultra_speed", "400.0" ); // viteza pe care o primeste vip-ul la spawn( sa fie cu zecimala.0 ) g_cvar_health_spawn = register_cvar( "vip_health_spawn", "200" ); // viata pe care o primeste vip-ul la spawn g_cvar_armor_spawn = register_cvar( "vip_armor_spawn", "150" ); // armura pe care o primeste vip-ul la spawn g_cvar_gravity_spawn = register_cvar( "vip_gravity_spawn", "0.85" ); // gravitatea pe care o primeste vip-ul la spawn g_cvar_multidmg = register_cvar( "vip_multi_dmg", "2.0" ); // vip-ul are dmg mai mare la toate armele g_cvar_enable_glow = register_cvar( "vip_enable_glow", "1" ); // 1 - Fiecare VIP are glow in functie de echipa( CT - Blue ) | ( T - Red ) g_cvar_health_kill_reward = register_cvar( "vip_hp_kill_reward", "15" ); // cata viata sa primeasca vip-ul cand face un kill g_cvar_health_hs_reward = register_cvar( "vip_hp_hs_reward", "25" ); // cata viata sa primeasca vip-ul cand face un headshot g_cvar_maxhealth = register_cvar( "vip_maxhealth", "300" ); // viata maxima a vip-ului g_cvar_kill_money_reward = register_cvar( "vip_kill_money", "1000" ); // Cati bani sa primeasca Vip-ul pe un frag g_cvar_show_msgs = register_cvar( "vip_show_messages", "30.0" ); // la ce interval de timp.0 sa apara mesajele in chat despre VIP g_cvar_enable_show_dmg = register_cvar( "vip_show_dmg", "1" ); // afiseaza vip-ului dmg-ul facut de victima si dmg-ul pe care i la facut victimei g_cvar_ebable_vip_scoreboard = register_cvar( "vip_on_scoreboard", "1" ); // 1 - vip-ii apar in scoreboard ca "VIP" | 0 - dezactivat g_cvar_enable_vip_noflash = register_cvar( "vip_imune_flashbang", "1" ); // 1 - Vip-ul este imun la flash-uri | 0 - Nu este g_cvar_enable_vip_multijump = register_cvar( "vip_enable_multijump", "1" ); // 1 - Vip-ul beneficiaza de multi jump | 0 - Nu beneficiaza g_cvar_enable_vip_event = register_cvar( "vip_enable_vip_event", "1" ); // 1 - Intre anumite ore toti jucatorii au VIP | 0 dezactivat if( get_pcvar_num( g_cvar_enable_vip_event ) > 0 ) { check_time( ); set_task( 60.0, "check_time", _, _, _, "b" ); set_task( 1.0, "hud_mess", _, _, _, "b" ); } g_iMaxPlayers = get_maxplayers( ); SyncHudMessage = CreateHudSyncObj( ); } public plugin_cfg( ) set_cvar_float( "sv_maxspeed", 1000.0 ); public client_putinserver( id ) { g_iMultiJumps[ id ] = 0; iJumpNum[ id ] = 0; g_bUserHas[ id ][ Jump ] = false; g_bUserHas[ id ][ Speed ] = false; } public client_disconnect( id ) { g_iMultiJumps[ id ] = 0; iJumpNum[ id ] = 0; g_bUserHas[ id ][ Jump ] = false; g_bUserHas[ id ][ Speed ] = false; } public event_DeathMsg( ) { new iAttacker = read_data( 1 ); new iVictim = read_data( 2 ); new iHeadshot = read_data( 3 ); new HealthOnHeadShot = get_pcvar_num( g_cvar_health_hs_reward ); new MaxHealth = get_pcvar_num( g_cvar_maxhealth ); new HealthOnKill = get_pcvar_num( g_cvar_health_kill_reward ); if( iAttacker == iVictim ) return 0; if( is_user_vip( iAttacker ) ) { if( get_user_health( iAttacker ) <= MaxHealth ) { if( iHeadshot ) { set_user_health( iAttacker, get_user_health( iAttacker ) + HealthOnHeadShot ); set_hudmessage( 0, 250, 0, 0.85, 0.7, 0, 6.0, 5.0 ); ShowSyncHudMsg( iAttacker, SyncHudMessage, "+ %i HP", HealthOnHeadShot ); } else { set_user_health( iAttacker, get_user_health( iAttacker ) + HealthOnKill ); set_hudmessage( 200, 200, 0, 0.85, 0.7, 0, 6.0, 5.0 ); ShowSyncHudMsg( iAttacker, SyncHudMessage, "+ %i HP", HealthOnKill ); } } } return 0; } public event_DeathMsg2( ) { new iAttacker = read_data( 1 ); new iVictim = read_data( 2 ); new BonusMoney = get_pcvar_num( g_cvar_kill_money_reward ); if( iAttacker == iVictim ) return 0; if( is_user_vip( iAttacker ) ) { if( iAttacker && is_user_alive( iAttacker ) ) { if( cs_get_user_team( iVictim ) == CS_TEAM_T || cs_get_user_team( iVictim ) == CS_TEAM_CT ) { if( cs_get_user_money( iAttacker ) < 16000 - BonusMoney - 300 ) { cs_set_user_money( iAttacker, cs_get_user_money( iAttacker ) + BonusMoney - 300 ); } } } } return 0; } public event_Damage( id ) { if( get_pcvar_num( g_cvar_enable_show_dmg ) > 0 ) { static iAttacker; static fDamage; iAttacker = get_user_attacker( id ); fDamage = read_data( 2 ); if( is_user_alive( id ) && is_user_vip( id ) ) { set_hudmessage( 255, 0, 0, 0.45, 0.50, 2, 0.1, 1.0, 0.1, 0.1, -1 ); ShowSyncHudMsg( id, SyncHudMessage, "%i^n", fDamage ); } if( is_user_alive( iAttacker ) && is_user_vip( iAttacker ) ) { set_hudmessage( 0, 255, 15, -1.0, 0.55, 2, 0.1, 1.0, 0.02, 0.02, -1 ); ShowSyncHudMsg( iAttacker, SyncHudMessage, "%i^n^n", fDamage ); } } } public logevent_RoundStart( ) { new szPlayers[ 32 ], iNum; get_players( szPlayers, iNum, "ch" ); for( new i = 0; i < iNum; i++) { g_bUserHas[ szPlayers[ i ] ][ Speed ] = false; g_bUserHas[ szPlayers[ i ] ][ Jump ] = false; g_iMultiJumps[ szPlayers[ i ] ] = 0; iJumpNum[ szPlayers[ i ] ] = 0; if( task_exists( szPlayers[ i ] + TASK_SECRET_MSG ) ) remove_task( szPlayers[ i ] + TASK_SECRET_MSG ); set_task( get_pcvar_float( g_cvar_show_msgs ), "task_ShowMessage", szPlayers[ i ] + TASK_SECRET_MSG ); } } public logevent_RoundEnd( ) { new szPlayers[ 32 ], iNum; get_players( szPlayers, iNum, "ch" ); for( new i = 0; i < iNum; i++ ) remove_task( szPlayers[ i ] ); } public forward_PlayerPreThink( id ) { if( !is_user_alive( id ) || !g_iMultiJumps[ id ] ) return 0; if( ( pev( id, pev_button ) & IN_JUMP ) && !( pev( id, pev_flags ) & FL_ONGROUND ) && !( pev( id, pev_oldbuttons ) & IN_JUMP ) ) { if( iJumpNum[ id ] < g_iMultiJumps[ id ] ) { g_bUserHas[ id ][ Jump ] = true; iJumpNum[ id ]++; return 0; } } if( ( pev( id, pev_button ) & IN_JUMP ) && ( pev( id, pev_flags ) & FL_ONGROUND ) ) { iJumpNum[ id ] = 0; return 0; } return 0; } public forward_PlayerPostThink( id ) { if( !is_user_alive( id ) || !g_iMultiJumps[ id ] ) return 0; if( g_bUserHas[ id ][ Jump ]/* = true*/ ) { new Float:fVelocity[ 3 ]; pev( id, pev_velocity, fVelocity ); fVelocity[ 2 ] = random_float( 265.0, 285.0 ); set_pev( id, pev_velocity, fVelocity ); g_bUserHas[ id ][ Jump ] = false; return 0; } return 0; } public Ham_PlayerSpawnPost( id ) { if( !is_user_alive( id ) && !is_user_vip( id ) ) return HAM_IGNORED; if( is_user_vip( id ) && !is_user_bot( id ) ) set_task( 1.0, "task_GiveSkillsAllVips", id ); return HAM_IGNORED; } public task_GiveSkillsAllVips( id ) { //drop_prim( id ); g_bUserHas[ id ][ Speed ] = true; fm_set_user_maxspeed( id, get_pcvar_float( g_cvar_speed_spawn ) ); new szCommand[ 128 ]; formatex( szCommand, sizeof( szCommand ) - 1, "cl_forwardspeed %.1f;cl_sidespeed %.1f;cl_backspeed %.1f", get_pcvar_float( g_cvar_speed_spawn ), get_pcvar_float( g_cvar_speed_spawn ), get_pcvar_float( g_cvar_speed_spawn ) ); client_cmd( id, szCommand ); if( get_pcvar_num( g_cvar_enable_vip_multijump ) > 0 ) if( g_iMultiJumps[ id ] < g_iMaxJumps || !g_iMaxJumps ) g_iMultiJumps[ id ]++; set_user_health( id, get_pcvar_num( g_cvar_health_spawn ) ); set_user_armor( id, get_pcvar_num( g_cvar_armor_spawn ) ); set_user_gravity( id, get_pcvar_float( g_cvar_gravity_spawn ) ); fm_give_item( id, "weapon_hegrenade" ); //fm_give_item( id, "weapon_flashbang" ); //fm_give_item( id, "weapon_flashbang" ); //fm_give_item( id, "weapon_smokegrenade" ); //GiveRifle( id ); if( get_pcvar_num( g_cvar_enable_glow ) > 0 ) { switch( get_user_team( id ) ) { case 1: fm_set_rendering( id, kRenderFxGlowShell, 200, 10, 20, kRenderNormal, 0 ); case 2: fm_set_rendering( id, kRenderFxGlowShell, 10, 240, 200, kRenderNormal, 0 ); } } } public GiveRifle( id ) { fm_give_item( id, "weapon_m4a1" ); cs_set_user_bpammo( id, CSW_M4A1, 300 ); fm_give_item( id, "weapon_ak47" ); cs_set_user_bpammo( id, CSW_AK47, 300 ); fm_give_item( id, "weapon_awp" ); cs_set_user_bpammo( id, CSW_AWP, 100 ); fm_give_item( id, "weapon_deagle" ); cs_set_user_bpammo( id, CSW_DEAGLE, 70 ); } public task_ShowMessage( taskid ) { new id = taskid - TASK_SECRET_MSG; ColorChat( id, GREEN, "%s^x01 Vrei sa cumperi si tu^x03 Membru V.I.P^x01? Contacteaza-l pe^x03 %s^x01 la^x03 %s^x01 !!!", g_szTag, YourNick, YourMessenger ); set_task( get_pcvar_float( g_cvar_show_msgs ) * 0.5, "task_ShowMessage2", id ); if( task_exists( taskid ) ) remove_task( taskid ); } public task_ShowMessage2( id ) { ColorChat( id, GREEN, "%s^x01 Vrei sa faci rost de^x03 Membru VIP^x01 si nu stii cum? Tasteaza^x03 /wantvip^x01 !!!", g_szTag ); set_task( get_pcvar_float( g_cvar_show_msgs ) * 1.2, "task_PrintVipList", id ); } public task_PrintVipList( user ) { new szAdminNames[ 33 ][ 32 ]; new szMessage[ 256 ]; new iCount, iLen; for( new id = 1 ; id <= g_iMaxPlayers ; id++ ) if( is_user_connected( id ) ) if( is_user_vip( id ) ) get_user_name( id, szAdminNames[ iCount++ ], 31 ); iLen = format( szMessage, 255, "%sVIP's Online: ", COLORG ); if( iCount > 0 ) { for( new i = 0 ; i < iCount ; i++ ) { iLen += format( szMessage[ iLen ], 255 - iLen, "^x03%s^x01 | ", szAdminNames[ i ], COLORT, COLORD ); if( iLen > 96 ) { print_message( user, szMessage ); iLen = format( szMessage, 255, "%s", COLORG ); } } print_message( user, szMessage ); } else { iLen += format( szMessage[ iLen ], 255 - iLen, "^x01Nu sunt VIP-i online.", COLORD ); print_message( user, szMessage ); } } public Ham_ResetMaxSpeedPost( id ) { if( is_user_alive( id ) && is_user_vip( id ) && get_user_maxspeed( id ) != 1.0 ) { new Float:flMaxSpeed; if( g_bUserHas[ id ][ Speed ] ) flMaxSpeed = float( get_pcvar_num( g_cvar_speed_spawn ) ); if( flMaxSpeed > 0.0 ) set_pev( id, pev_maxspeed, flMaxSpeed ); } } public Ham_TakeDamagePre( iVictim, iInflictor, iAttacker, Float:fDamage ) { if( iVictim == iAttacker || !is_user_player( iAttacker ) || !is_user_alive( iAttacker ) || is_user_bot( iAttacker ) ) return HAM_HANDLED; if( is_user_vip( iAttacker ) && is_user_player( iAttacker ) ) SetHamParamFloat( 4, fDamage * get_pcvar_float( g_cvar_multidmg ) ); return HAM_IGNORED; } public MessageScoreAttrib( iMsgId, iMsgDest, id ) { if( get_pcvar_num( g_cvar_ebable_vip_scoreboard ) > 0 ) { new iPlayer = get_msg_arg_int( SCOREATTRIB_ARG_PLAYERID ); if( access( iPlayer, read_flags( g_szVipFlags ) ) ) set_msg_arg_int( SCOREATTRIB_ARG_FLAGS, ARG_BYTE, SCOREATTRIB_FLAG_VIP ); } } public MessageScreenFade( iMsgId, iMsgDest, id ) { if( is_user_vip( id ) && is_user_alive( id ) && get_pcvar_num( g_cvar_enable_vip_noflash ) ) { static szData[ 4 ]; szData[ 0 ] = get_msg_arg_int( 4 ); szData[ 1 ] = get_msg_arg_int( 5 ); szData[ 2 ] = get_msg_arg_int( 6 ); szData[ 3 ] = get_msg_arg_int( 7 ); if( szData[ 0 ] == 255 && szData[ 1 ] == 255 && szData[ 2 ] == 255 && szData[ 3] > 199 ) return 1; } return 0; } public check_time( ) { static preluare_ora[ 3 ], ora; get_time( "%H", preluare_ora, 2 ); ora = str_to_num( preluare_ora ); if( 10 >= ora || ora < 12 ) { if( !VipEvent ) ColorChat( 0, GREEN, "^x04%s^x01 Eventul^x03 Free VIP^x01 a fost activat!", g_szTag ); VipEvent = true; server_cmd( "amx_default_access ^"t^"" ); } else { if( VipEvent ) ColorChat( 0, GREEN, "^x04%s^x01 Eventul^x03 Free VIP^x01 a fost activat!", g_szTag ); VipEvent = false; server_cmd( "amx_default_access ^"z^"" ); } server_cmd( "amx_reloadadmins" ); } public hud_mess( ) { if( VipEvent ) { set_hudmessage( 200, 200, 10, -1.0, 0.0, 1, 1.0, 1.0, 0.1, 0.1 ); show_hudmessage( 0, "Toti jucatorii beneficiaza de VIP free aceasta ora!" ); } } public ShowAbilityForVip( id ) { new iCfgDir[ 32 ], iFile[ 192 ]; get_configsdir( iCfgDir, charsmax( iCfgDir ) ); formatex( iFile, charsmax( iFile ), "%s/vip.html", iCfgDir ); show_motd( id, iFile ); } public ClCmdAddVips( id, level, cid ) { if( !cmd_access( id, level, cid, 2 ) ) return 1; new szTarget[ 32 ]; read_argv( 1, szTarget, 31 ); new iPlayer = cmd_target( id, szTarget, 8 ); if( !iPlayer ) return 1; new szPlayerName[ 32 ], szAdminName[ 32 ]; get_user_name( iPlayer, szPlayerName, charsmax( szPlayerName ) ); get_user_name( id, szAdminName, charsmax( szAdminName ) ); AddVIP( id, szPlayerName, VIP_FLAGS, VIP_PASSWORD, VIP_FLAGS_TYPE, szAdminName ); server_cmd( "amx_reloadadmins" ); console_print( id, "%s Vip-ul a fost adaugat in lista!", g_szTag ); ColorChat( 0, GREEN, "^x04%s^x01 Adminul^x03 %s^x01 l-a adaugat ca VIP pe^x03 %s^x01 !", g_szTag, szAdminName, iPlayer ); ColorChat( iPlayer, GREEN, "^x04%s^x01 Felicitari! Ai fost adaugat ca membru^x03 VIP^x01! VIP-ul se va activa harta viitoare!", g_szTag ); return 1; } stock bool:is_user_vip( id ) { if( get_user_flags( id ) & read_flags( g_szVipFlags ) ) return true; return false; } stock drop_prim( id ) { new szWeapons[ 32 ], iNum; get_user_weapons( id, szWeapons, iNum ); for( new i = 0; i < iNum; i++ ) { if( WeaponAK47 & ( 1<<szWeapons[ i ] ) || WeaponM4a1 & ( 1<<szWeapons[ i ] ) || WeaponDeagle & ( 1<<szWeapons[ i ] ) || WeaponAWP & ( 1<<szWeapons[ i ] ) ) { static szWeaponName[ 32 ]; get_weaponname( szWeapons[ i ], szWeaponName, sizeof szWeaponName - 1 ); engclient_cmd( id, "drop", szWeaponName ); } } } stock print_message( id, msg[ ] ) { message_begin( MSG_ONE, get_user_msgid( "SayText" ), { 0, 0, 0 }, id ); write_byte( id ); write_string( msg ); message_end( ); } // stock by Askhanar stock bool:bUserHasAnyNade( id ) { if( user_has_weapon( id, CSW_HEGRENADE ) || user_has_weapon( id, CSW_FLASHBANG ) || user_has_weapon( id, CSW_SMOKEGRENADE ) ) return true; return false; } // stocks from "fakemeta_util" stock fm_give_item( index, const item[ ] ) { if( !equal( item, "weapon_", 7 ) && !equal( item, "ammo_", 5 ) && !equal( item, "item_", 5 ) && !equal( item, "tf_weapon_", 10 ) ) return 0; new ent = fm_create_entity( item ); if( !pev_valid( ent ) ) return 0; new Float:fOrigin[ 3 ]; pev( index, pev_origin, fOrigin ); set_pev( ent, pev_origin, fOrigin ); set_pev( ent, pev_spawnflags, pev( ent, pev_spawnflags ) | SF_NORESPAWN ); dllfunc( DLLFunc_Spawn, ent ); new save = pev( ent, pev_solid ); dllfunc( DLLFunc_Touch, ent, index ); if( pev( ent, pev_solid ) != save ) return ent; engfunc( EngFunc_RemoveEntity, ent ); return -1; } stock fm_set_user_maxspeed( index, Float:speed = -1.0 ) { engfunc( EngFunc_SetClientMaxspeed, index, speed ); set_pev( index, pev_maxspeed, speed ); return 1; } stock Float:fm_get_user_maxspeed( index ) { new Float:speed; pev( index, pev_maxspeed, speed ); return speed; } stock fm_set_rendering( entity, fx = kRenderFxNone, r = 255, g = 255, b = 255, render = kRenderNormal, amount = 16 ) { new Float:RenderColor[ 3 ]; RenderColor[ 0 ] = float( r ); RenderColor[ 1 ] = float( g ); RenderColor[ 2 ] = float( b ); set_pev( entity, pev_renderfx, fx ); set_pev( entity, pev_rendercolor, RenderColor ); set_pev( entity, pev_rendermode, render ); set_pev( entity, pev_renderamt, float( amount ) ); return 1; } stock fm_create_entity( const classname[ ] ) return engfunc( EngFunc_CreateNamedEntity, engfunc( EngFunc_AllocString, classname ) ); AddVIP( id, name[ ], accessflags[ ], password[ ], flags[ ], comment[ ]="" ) { #if defined USING_SQL new error[ 128 ], errno; new Handle:info = SQL_MakeStdTuple( ); new Handle:sql = SQL_Connect( info, errno, error, 127 ); if( sql == Empty_Handle ) { server_print( "[AMXX] %L", LANG_SERVER, "SQL_CANT_CON", error ); #endif // Make sure that the users.ini file exists. new configsDir[ 64 ]; get_configsdir( configsDir, 63 ); format( configsDir, 63, "%s/users.ini", configsDir ); if( !file_exists( configsDir ) ) { console_print( id, "%s File ^"%s^" doesn't exist.", g_szTag, configsDir ); return; } // Make sure steamid isn't already in file. new line = 0, textline[ 256 ], len; const SIZE = 63; new line_steamid[ SIZE + 1 ], line_password[ SIZE + 1 ], line_accessflags[ SIZE + 1 ], line_flags[ SIZE + 1 ], parsedParams; // <name|ip|steamid> <password> <access flags> <account flags> while( ( line = read_file( configsDir, line, textline, 255, len ) ) ) { if ( len == 0 || equal( textline, ";", 1 ) ) continue; // comment line parsedParams = parse( textline, line_steamid, SIZE, line_password, SIZE, line_accessflags, SIZE, line_flags, SIZE ); if( parsedParams != 4 ) continue; // Send warning/error? if( containi( line_flags, flags ) != -1 && equal( line_steamid, name ) ) { console_print( id, "%s %s already exists!", g_szTag, name ); return; } } // If we came here, steamid doesn't exist in users.ini. Add it. new linetoadd[ 512 ]; if( comment[ 0 ]==0 ) formatex( linetoadd, 511, "^r^n^"%s^" ^"%s^" ^"%s^" ^"%s^"", name, password, accessflags, flags ); else formatex( linetoadd, 511, "^r^n^"%s^" ^"%s^" ^"%s^" ^"%s^" ; %s", name, password, accessflags, flags, comment ); console_print( id, "Adding:^n%s", linetoadd ); if( !write_file( configsDir, linetoadd ) ) console_print( id, "%s Failed writing to %s!", g_szTag, configsDir ); #if defined USING_SQL } new table[ 32 ]; get_cvar_string( "amx_sql_table", table, 31 ); new Handle:query = SQL_PrepareQuery( sql, "SELECT * FROM `%s` WHERE (`auth` = '%s')", table, name ); if( !SQL_Execute( query ) ) { SQL_QueryError( query, error, 127 ); server_print( "[AMXX] %L", LANG_SERVER, "SQL_CANT_LOAD_ADMINS", error ); console_print( id, "[AMXX] %L", LANG_SERVER, "SQL_CANT_LOAD_ADMINS", error ); } else if( SQL_NumResults( query ) ) console_print( id, "%s %s already exists!", g_szTag, name ); else { console_print( id, "Adding to database:^n^"%s^" ^"%s^" ^"%s^" ^"%s^"", name, password, accessflags, flags ); SQL_QueryAndIgnore( sql, "REPLACE INTO `%s` (`name`, `password`, `access`, `flags`) VALUES ('%s', '%s', '%s', '%s')", table, name, password, accessflags, flags ); } SQL_FreeHandle( query ); SQL_FreeHandle( sql); SQL_FreeHandle( info ); #endif } /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE *{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1033\\ f0\\ fs16 \n\\ par } */
Cand intra cineva cu flagul t sau bit sa scrie in chat la conectare : [SIBIU] Vip-ul X a intrat pe server .
- YONTU
- Scripter eXtreamCS
- Posts: 2466
- Joined: 10 May 2013, 14:25
- Detinator Steam: Nu
- CS Status: Everyone is looking at ur shoes
- Reputatie: Moderator ajutator
Fost scripter eXtreamCS - Location: Gura Humorului
- Has thanked: 256 times
- Been thanked: 288 times
- Contact:
- cu mesaj la conectare | Afiseaza codul
/* Credits: Exolent - VIP in Scoreboard pharse - x2 Jump for VIP( for ZP 5.0.5 ) Sn!ff3r - Show bullet dmg in HUD only VIP cheap.suit - No VIP Flash( extracted on Biohazard v2.00 beta ) AMXX Dev Team - Add VIP's cyby - VIP Event */ #include < amxmodx > #include < amxmisc > #include < hamsandwich > #include < cstrike > #include < fakemeta > #include < CC_ColorChat > #include < message_const > #include < fun > //#define USING_SQL #if defined USING_SQL #include < sqlx > #endif #pragma semicolon 1 #define VIP_FLAGS "bit" // Flagurile VIP-ului( Nu schimba ) #define VIP_FLAGS_TYPE "a" // a - deconecteaza VIP-ii cu parola invalida( Alte flaguri gasiti in "users.ini" ) #define VIP_PASSWORD "parola" // Aici setati parola oricarui VIP #define is_user_player(%1) ( 1 <= %1 <= g_iMaxPlayers ) #define TASK_SECRET_MSG 2139 new const PLUGIN_VERSION[ ] = "1.0.1", PLUGIN_AUTHOR[ ] = "YONTU"; #if defined USING_SQL new const PLUGIN_NAME_SQL[ ] = "VIP System( SQL )"; #else new const PLUGIN_NAME[ ] = "VIP System"; #endif new const g_szTag[ ] = "[Classic VIP]"; // TAG new const g_szVipFlags[ ] = "bit"; // flagurile vip-ului: b - slot | i - acces la comenzile de chat | t - flagul defalt al oricarui vip new const YourNick[ ] = "YONTU", YourMessenger[ ] = "[email protected]"; static const COLORG[ ] = "^x04", COLORD[ ] = "^x01", COLORT[ ] = "^x03"; enum { SCOREATTRIB_ARG_PLAYERID = 1, SCOREATTRIB_ARG_FLAGS }; enum ( <<= 1 ) { SCOREATTRIB_FLAG_NONE = 0, SCOREATTRIB_FLAG_DEAD = 1, SCOREATTRIB_FLAG_BOMB, SCOREATTRIB_FLAG_VIP }; enum _:WhatUserHas { Speed, Jump, } new bool:g_bUserHas[ 33 ][ WhatUserHas ]; new g_cvar_speed_spawn, g_cvar_health_spawn, g_cvar_armor_spawn, g_cvar_gravity_spawn, g_cvar_multidmg, g_cvar_enable_glow, g_cvar_health_kill_reward, g_cvar_health_hs_reward, g_cvar_maxhealth, g_cvar_kill_money_reward, g_cvar_show_msgs, g_cvar_enable_show_dmg, g_cvar_ebable_vip_scoreboard, g_cvar_enable_vip_noflash, g_cvar_enable_vip_multijump, g_cvar_enable_vip_event; new Ham:Ham_Player_ResetMaxSpeed = Ham_Item_PreFrame; new bool:VipEvent; new iJumpNum[ 33 ] = 0; new g_iMultiJumps[ 33 ] = 0; new g_iMaxJumps = 0; new g_iMaxPlayers; new SyncHudMessage; public plugin_init( ) { #if defined USING_SQL register_plugin( PLUGIN_NAME_SQL, PLUGIN_VERSION, PLUGIN_AUTHOR ); #else register_plugin( PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR ); #endif register_clcmd( "say /wantvip", "ShowAbilityForVip" ); register_clcmd( "say_team /wantvip", "ShowAbilityForVip" ); register_concmd( "amx_addvips", "ClCmdAddVips", ADMIN_RCON, "< nume >" ); register_event( "DeathMsg", "event_DeathMsg", "a" ); register_event( "DeathMsg", "event_DeathMsg2", "ae" ); register_event( "Damage", "event_Damage", "b", "2!0", "3=0", "4!0" ); register_logevent( "logevent_RoundStart", 2 , "1=Round_Start" ); register_logevent( "logevent_RoundEnd", 2, "1=Round_End" ); register_forward( FM_PlayerPreThink, "forward_PlayerPreThink" ); register_forward( FM_PlayerPostThink, "forward_PlayerPostThink" ); RegisterHam( Ham_Spawn, "player", "Ham_PlayerSpawnPost", 1 ); RegisterHam( Ham_TakeDamage, "player", "Ham_TakeDamagePre" ); RegisterHam( Ham_Player_ResetMaxSpeed, "player", "Ham_ResetMaxSpeedPost", 1 ); register_message( get_user_msgid( "ScoreAttrib" ), "MessageScoreAttrib" ); register_message( get_user_msgid( "ScreenFade" ), "MessageScreenFade" ); g_cvar_speed_spawn = register_cvar( "vip_ultra_speed", "400.0" ); // viteza pe care o primeste vip-ul la spawn( sa fie cu zecimala.0 ) g_cvar_health_spawn = register_cvar( "vip_health_spawn", "200" ); // viata pe care o primeste vip-ul la spawn g_cvar_armor_spawn = register_cvar( "vip_armor_spawn", "150" ); // armura pe care o primeste vip-ul la spawn g_cvar_gravity_spawn = register_cvar( "vip_gravity_spawn", "0.85" ); // gravitatea pe care o primeste vip-ul la spawn g_cvar_multidmg = register_cvar( "vip_multi_dmg", "2.0" ); // vip-ul are dmg mai mare la toate armele g_cvar_enable_glow = register_cvar( "vip_enable_glow", "1" ); // 1 - Fiecare VIP are glow in functie de echipa( CT - Blue ) | ( T - Red ) g_cvar_health_kill_reward = register_cvar( "vip_hp_kill_reward", "15" ); // cata viata sa primeasca vip-ul cand face un kill g_cvar_health_hs_reward = register_cvar( "vip_hp_hs_reward", "25" ); // cata viata sa primeasca vip-ul cand face un headshot g_cvar_maxhealth = register_cvar( "vip_maxhealth", "300" ); // viata maxima a vip-ului g_cvar_kill_money_reward = register_cvar( "vip_kill_money", "1000" ); // Cati bani sa primeasca Vip-ul pe un frag g_cvar_show_msgs = register_cvar( "vip_show_messages", "30.0" ); // la ce interval de timp.0 sa apara mesajele in chat despre VIP g_cvar_enable_show_dmg = register_cvar( "vip_show_dmg", "1" ); // afiseaza vip-ului dmg-ul facut de victima si dmg-ul pe care i la facut victimei g_cvar_ebable_vip_scoreboard = register_cvar( "vip_on_scoreboard", "1" ); // 1 - vip-ii apar in scoreboard ca "VIP" | 0 - dezactivat g_cvar_enable_vip_noflash = register_cvar( "vip_imune_flashbang", "1" ); // 1 - Vip-ul este imun la flash-uri | 0 - Nu este g_cvar_enable_vip_multijump = register_cvar( "vip_enable_multijump", "1" ); // 1 - Vip-ul beneficiaza de multi jump | 0 - Nu beneficiaza g_cvar_enable_vip_event = register_cvar( "vip_enable_vip_event", "1" ); // 1 - Intre anumite ore toti jucatorii au VIP | 0 dezactivat if( get_pcvar_num( g_cvar_enable_vip_event ) > 0 ) { check_time( ); set_task( 60.0, "check_time", _, _, _, "b" ); set_task( 1.0, "hud_mess", _, _, _, "b" ); } g_iMaxPlayers = get_maxplayers( ); SyncHudMessage = CreateHudSyncObj( ); } public plugin_cfg( ) set_cvar_float( "sv_maxspeed", 1000.0 ); public client_putinserver( id ) { if( is_user_vip( id ) ) { new szName[ 33 ]; get_user_name( id, szName, 32 ); ColorChat( id, GREEN, "[Sibiu]^x01 VIP-ul^x03 %s^x01 a intrat pe server !!!", szName ); return 0; } g_iMultiJumps[ id ] = 0; iJumpNum[ id ] = 0; g_bUserHas[ id ][ Jump ] = false; g_bUserHas[ id ][ Speed ] = false; return 1; } public client_disconnect( id ) { if( is_user_vip( id ) ) { new szName[ 33 ]; get_user_name( id, szName, 32 ); ColorChat( id, GREEN, "[Sibiu]^x01 VIP-ul^x03 %s^x01 a iesit de pe server !!!", szName ); return 0; } g_iMultiJumps[ id ] = 0; iJumpNum[ id ] = 0; g_bUserHas[ id ][ Jump ] = false; g_bUserHas[ id ][ Speed ] = false; return 1; } public event_DeathMsg( ) { new iAttacker = read_data( 1 ); new iVictim = read_data( 2 ); new iHeadshot = read_data( 3 ); new HealthOnHeadShot = get_pcvar_num( g_cvar_health_hs_reward ); new MaxHealth = get_pcvar_num( g_cvar_maxhealth ); new HealthOnKill = get_pcvar_num( g_cvar_health_kill_reward ); if( iAttacker == iVictim ) return 0; if( is_user_vip( iAttacker ) ) { if( get_user_health( iAttacker ) <= MaxHealth ) { if( iHeadshot ) { set_user_health( iAttacker, get_user_health( iAttacker ) + HealthOnHeadShot ); set_hudmessage( 0, 250, 0, 0.85, 0.7, 0, 6.0, 5.0 ); ShowSyncHudMsg( iAttacker, SyncHudMessage, "+ %i HP", HealthOnHeadShot ); } else { set_user_health( iAttacker, get_user_health( iAttacker ) + HealthOnKill ); set_hudmessage( 200, 200, 0, 0.85, 0.7, 0, 6.0, 5.0 ); ShowSyncHudMsg( iAttacker, SyncHudMessage, "+ %i HP", HealthOnKill ); } } } return 0; } public event_DeathMsg2( ) { new iAttacker = read_data( 1 ); new iVictim = read_data( 2 ); new BonusMoney = get_pcvar_num( g_cvar_kill_money_reward ); if( iAttacker == iVictim ) return 0; if( is_user_vip( iAttacker ) ) { if( iAttacker && is_user_alive( iAttacker ) ) { if( cs_get_user_team( iVictim ) == CS_TEAM_T || cs_get_user_team( iVictim ) == CS_TEAM_CT ) { if( cs_get_user_money( iAttacker ) < 16000 - BonusMoney - 300 ) { cs_set_user_money( iAttacker, cs_get_user_money( iAttacker ) + BonusMoney - 300 ); } } } } return 0; } public event_Damage( id ) { if( get_pcvar_num( g_cvar_enable_show_dmg ) > 0 ) { static iAttacker; static fDamage; iAttacker = get_user_attacker( id ); fDamage = read_data( 2 ); if( is_user_alive( id ) && is_user_vip( id ) ) { set_hudmessage( 255, 0, 0, 0.45, 0.50, 2, 0.1, 1.0, 0.1, 0.1, -1 ); ShowSyncHudMsg( id, SyncHudMessage, "%i^n", fDamage ); } if( is_user_alive( iAttacker ) && is_user_vip( iAttacker ) ) { set_hudmessage( 0, 255, 15, -1.0, 0.55, 2, 0.1, 1.0, 0.02, 0.02, -1 ); ShowSyncHudMsg( iAttacker, SyncHudMessage, "%i^n^n", fDamage ); } } } public logevent_RoundStart( ) { new szPlayers[ 32 ], iNum; get_players( szPlayers, iNum, "ch" ); for( new i = 0; i < iNum; i++) { g_bUserHas[ szPlayers[ i ] ][ Speed ] = false; g_bUserHas[ szPlayers[ i ] ][ Jump ] = false; g_iMultiJumps[ szPlayers[ i ] ] = 0; iJumpNum[ szPlayers[ i ] ] = 0; if( task_exists( szPlayers[ i ] + TASK_SECRET_MSG ) ) remove_task( szPlayers[ i ] + TASK_SECRET_MSG ); set_task( get_pcvar_float( g_cvar_show_msgs ), "task_ShowMessage", szPlayers[ i ] + TASK_SECRET_MSG ); } } public logevent_RoundEnd( ) { new szPlayers[ 32 ], iNum; get_players( szPlayers, iNum, "ch" ); for( new i = 0; i < iNum; i++ ) remove_task( szPlayers[ i ] ); } public forward_PlayerPreThink( id ) { if( !is_user_alive( id ) || !g_iMultiJumps[ id ] ) return 0; if( ( pev( id, pev_button ) & IN_JUMP ) && !( pev( id, pev_flags ) & FL_ONGROUND ) && !( pev( id, pev_oldbuttons ) & IN_JUMP ) ) { if( iJumpNum[ id ] < g_iMultiJumps[ id ] ) { g_bUserHas[ id ][ Jump ] = true; iJumpNum[ id ]++; return 0; } } if( ( pev( id, pev_button ) & IN_JUMP ) && ( pev( id, pev_flags ) & FL_ONGROUND ) ) { iJumpNum[ id ] = 0; return 0; } return 0; } public forward_PlayerPostThink( id ) { if( !is_user_alive( id ) || !g_iMultiJumps[ id ] ) return 0; if( g_bUserHas[ id ][ Jump ]/* = true*/ ) { new Float:fVelocity[ 3 ]; pev( id, pev_velocity, fVelocity ); fVelocity[ 2 ] = random_float( 265.0, 285.0 ); set_pev( id, pev_velocity, fVelocity ); g_bUserHas[ id ][ Jump ] = false; return 0; } return 0; } public Ham_PlayerSpawnPost( id ) { if( !is_user_alive( id ) && !is_user_vip( id ) ) return HAM_IGNORED; if( is_user_vip( id ) && !is_user_bot( id ) ) set_task( 1.0, "task_GiveSkillsAllVips", id ); return HAM_IGNORED; } public task_GiveSkillsAllVips( id ) { //drop_prim( id ); g_bUserHas[ id ][ Speed ] = true; fm_set_user_maxspeed( id, get_pcvar_float( g_cvar_speed_spawn ) ); new szCommand[ 128 ]; formatex( szCommand, sizeof( szCommand ) - 1, "cl_forwardspeed %.1f;cl_sidespeed %.1f;cl_backspeed %.1f", get_pcvar_float( g_cvar_speed_spawn ), get_pcvar_float( g_cvar_speed_spawn ), get_pcvar_float( g_cvar_speed_spawn ) ); client_cmd( id, szCommand ); if( get_pcvar_num( g_cvar_enable_vip_multijump ) > 0 ) if( g_iMultiJumps[ id ] < g_iMaxJumps || !g_iMaxJumps ) g_iMultiJumps[ id ]++; set_user_health( id, get_pcvar_num( g_cvar_health_spawn ) ); set_user_armor( id, get_pcvar_num( g_cvar_armor_spawn ) ); set_user_gravity( id, get_pcvar_float( g_cvar_gravity_spawn ) ); fm_give_item( id, "weapon_hegrenade" ); //fm_give_item( id, "weapon_flashbang" ); //fm_give_item( id, "weapon_flashbang" ); //fm_give_item( id, "weapon_smokegrenade" ); //GiveRifle( id ); if( get_pcvar_num( g_cvar_enable_glow ) > 0 ) { switch( get_user_team( id ) ) { case 1: fm_set_rendering( id, kRenderFxGlowShell, 200, 10, 20, kRenderNormal, 0 ); case 2: fm_set_rendering( id, kRenderFxGlowShell, 10, 240, 200, kRenderNormal, 0 ); } } } public GiveRifle( id ) { fm_give_item( id, "weapon_m4a1" ); cs_set_user_bpammo( id, CSW_M4A1, 300 ); fm_give_item( id, "weapon_ak47" ); cs_set_user_bpammo( id, CSW_AK47, 300 ); fm_give_item( id, "weapon_awp" ); cs_set_user_bpammo( id, CSW_AWP, 100 ); fm_give_item( id, "weapon_deagle" ); cs_set_user_bpammo( id, CSW_DEAGLE, 70 ); } public task_ShowMessage( taskid ) { new id = taskid - TASK_SECRET_MSG; ColorChat( id, GREEN, "%s^x01 Vrei sa cumperi si tu^x03 Membru V.I.P^x01? Contacteaza-l pe^x03 %s^x01 la^x03 %s^x01 !!!", g_szTag, YourNick, YourMessenger ); set_task( get_pcvar_float( g_cvar_show_msgs ) * 0.5, "task_ShowMessage2", id ); if( task_exists( taskid ) ) remove_task( taskid ); } public task_ShowMessage2( id ) { ColorChat( id, GREEN, "%s^x01 Vrei sa faci rost de^x03 Membru VIP^x01 si nu stii cum? Tasteaza^x03 /wantvip^x01 !!!", g_szTag ); set_task( get_pcvar_float( g_cvar_show_msgs ) * 1.2, "task_PrintVipList", id ); } public task_PrintVipList( user ) { new szAdminNames[ 33 ][ 32 ]; new szMessage[ 256 ]; new iCount, iLen; for( new id = 1 ; id <= g_iMaxPlayers ; id++ ) if( is_user_connected( id ) ) if( is_user_vip( id ) ) get_user_name( id, szAdminNames[ iCount++ ], 31 ); iLen = format( szMessage, 255, "%sVIP's Online: ", COLORG ); if( iCount > 0 ) { for( new i = 0 ; i < iCount ; i++ ) { iLen += format( szMessage[ iLen ], 255 - iLen, "^x03%s^x01 | ", szAdminNames[ i ], COLORT, COLORD ); if( iLen > 96 ) { print_message( user, szMessage ); iLen = format( szMessage, 255, "%s", COLORG ); } } print_message( user, szMessage ); } else { iLen += format( szMessage[ iLen ], 255 - iLen, "^x01Nu sunt VIP-i online.", COLORD ); print_message( user, szMessage ); } } public Ham_ResetMaxSpeedPost( id ) { if( is_user_alive( id ) && is_user_vip( id ) && get_user_maxspeed( id ) != 1.0 ) { new Float:flMaxSpeed; if( g_bUserHas[ id ][ Speed ] ) flMaxSpeed = float( get_pcvar_num( g_cvar_speed_spawn ) ); if( flMaxSpeed > 0.0 ) set_pev( id, pev_maxspeed, flMaxSpeed ); } } public Ham_TakeDamagePre( iVictim, iInflictor, iAttacker, Float:fDamage ) { if( iVictim == iAttacker || !is_user_player( iAttacker ) || !is_user_alive( iAttacker ) || is_user_bot( iAttacker ) ) return HAM_HANDLED; if( is_user_vip( iAttacker ) && is_user_player( iAttacker ) ) SetHamParamFloat( 4, fDamage * get_pcvar_float( g_cvar_multidmg ) ); return HAM_IGNORED; } public MessageScoreAttrib( iMsgId, iMsgDest, id ) { if( get_pcvar_num( g_cvar_ebable_vip_scoreboard ) > 0 ) { new iPlayer = get_msg_arg_int( SCOREATTRIB_ARG_PLAYERID ); if( access( iPlayer, read_flags( g_szVipFlags ) ) ) set_msg_arg_int( SCOREATTRIB_ARG_FLAGS, ARG_BYTE, SCOREATTRIB_FLAG_VIP ); } } public MessageScreenFade( iMsgId, iMsgDest, id ) { if( is_user_vip( id ) && is_user_alive( id ) && get_pcvar_num( g_cvar_enable_vip_noflash ) ) { static szData[ 4 ]; szData[ 0 ] = get_msg_arg_int( 4 ); szData[ 1 ] = get_msg_arg_int( 5 ); szData[ 2 ] = get_msg_arg_int( 6 ); szData[ 3 ] = get_msg_arg_int( 7 ); if( szData[ 0 ] == 255 && szData[ 1 ] == 255 && szData[ 2 ] == 255 && szData[ 3] > 199 ) return 1; } return 0; } public check_time( ) { static preluare_ora[ 3 ], ora; get_time( "%H", preluare_ora, 2 ); ora = str_to_num( preluare_ora ); if( 10 >= ora || ora < 12 ) { if( !VipEvent ) ColorChat( 0, GREEN, "^x04%s^x01 Eventul^x03 Free VIP^x01 a fost activat!", g_szTag ); VipEvent = true; server_cmd( "amx_default_access ^"t^"" ); } else { if( VipEvent ) ColorChat( 0, GREEN, "^x04%s^x01 Eventul^x03 Free VIP^x01 a fost activat!", g_szTag ); VipEvent = false; server_cmd( "amx_default_access ^"z^"" ); } server_cmd( "amx_reloadadmins" ); } public hud_mess( ) { if( VipEvent ) { set_hudmessage( 200, 200, 10, -1.0, 0.0, 1, 1.0, 1.0, 0.1, 0.1 ); show_hudmessage( 0, "Toti jucatorii beneficiaza de VIP free aceasta ora!" ); } } public ShowAbilityForVip( id ) { new iCfgDir[ 32 ], iFile[ 192 ]; get_configsdir( iCfgDir, charsmax( iCfgDir ) ); formatex( iFile, charsmax( iFile ), "%s/vip.html", iCfgDir ); show_motd( id, iFile ); } public ClCmdAddVips( id, level, cid ) { if( !cmd_access( id, level, cid, 2 ) ) return 1; new szTarget[ 32 ]; read_argv( 1, szTarget, 31 ); new iPlayer = cmd_target( id, szTarget, 8 ); if( !iPlayer ) return 1; new szPlayerName[ 32 ], szAdminName[ 32 ]; get_user_name( iPlayer, szPlayerName, charsmax( szPlayerName ) ); get_user_name( id, szAdminName, charsmax( szAdminName ) ); AddVIP( id, szPlayerName, VIP_FLAGS, VIP_PASSWORD, VIP_FLAGS_TYPE, szAdminName ); server_cmd( "amx_reloadadmins" ); console_print( id, "%s Vip-ul a fost adaugat in lista!", g_szTag ); ColorChat( 0, GREEN, "^x04%s^x01 Adminul^x03 %s^x01 l-a adaugat ca VIP pe^x03 %s^x01 !", g_szTag, szAdminName, iPlayer ); ColorChat( iPlayer, GREEN, "^x04%s^x01 Felicitari! Ai fost adaugat ca membru^x03 VIP^x01! VIP-ul se va activa harta viitoare!", g_szTag ); return 1; } stock bool:is_user_vip( id ) { if( get_user_flags( id ) & read_flags( g_szVipFlags ) ) return true; return false; } stock drop_prim( id ) { new szWeapons[ 32 ], iNum; get_user_weapons( id, szWeapons, iNum ); for( new i = 0; i < iNum; i++ ) { if( WeaponAK47 & ( 1<<szWeapons[ i ] ) || WeaponM4a1 & ( 1<<szWeapons[ i ] ) || WeaponDeagle & ( 1<<szWeapons[ i ] ) || WeaponAWP & ( 1<<szWeapons[ i ] ) ) { static szWeaponName[ 32 ]; get_weaponname( szWeapons[ i ], szWeaponName, sizeof szWeaponName - 1 ); engclient_cmd( id, "drop", szWeaponName ); } } } stock print_message( id, msg[ ] ) { message_begin( MSG_ONE, get_user_msgid( "SayText" ), { 0, 0, 0 }, id ); write_byte( id ); write_string( msg ); message_end( ); } // stock by Askhanar stock bool:bUserHasAnyNade( id ) { if( user_has_weapon( id, CSW_HEGRENADE ) || user_has_weapon( id, CSW_FLASHBANG ) || user_has_weapon( id, CSW_SMOKEGRENADE ) ) return true; return false; } // stocks from "fakemeta_util" stock fm_give_item( index, const item[ ] ) { if( !equal( item, "weapon_", 7 ) && !equal( item, "ammo_", 5 ) && !equal( item, "item_", 5 ) && !equal( item, "tf_weapon_", 10 ) ) return 0; new ent = fm_create_entity( item ); if( !pev_valid( ent ) ) return 0; new Float:fOrigin[ 3 ]; pev( index, pev_origin, fOrigin ); set_pev( ent, pev_origin, fOrigin ); set_pev( ent, pev_spawnflags, pev( ent, pev_spawnflags ) | SF_NORESPAWN ); dllfunc( DLLFunc_Spawn, ent ); new save = pev( ent, pev_solid ); dllfunc( DLLFunc_Touch, ent, index ); if( pev( ent, pev_solid ) != save ) return ent; engfunc( EngFunc_RemoveEntity, ent ); return -1; } stock fm_set_user_maxspeed( index, Float:speed = -1.0 ) { engfunc( EngFunc_SetClientMaxspeed, index, speed ); set_pev( index, pev_maxspeed, speed ); return 1; } stock Float:fm_get_user_maxspeed( index ) { new Float:speed; pev( index, pev_maxspeed, speed ); return speed; } stock fm_set_rendering( entity, fx = kRenderFxNone, r = 255, g = 255, b = 255, render = kRenderNormal, amount = 16 ) { new Float:RenderColor[ 3 ]; RenderColor[ 0 ] = float( r ); RenderColor[ 1 ] = float( g ); RenderColor[ 2 ] = float( b ); set_pev( entity, pev_renderfx, fx ); set_pev( entity, pev_rendercolor, RenderColor ); set_pev( entity, pev_rendermode, render ); set_pev( entity, pev_renderamt, float( amount ) ); return 1; } stock fm_create_entity( const classname[ ] ) return engfunc( EngFunc_CreateNamedEntity, engfunc( EngFunc_AllocString, classname ) ); AddVIP( id, name[ ], accessflags[ ], password[ ], flags[ ], comment[ ]="" ) { #if defined USING_SQL new error[ 128 ], errno; new Handle:info = SQL_MakeStdTuple( ); new Handle:sql = SQL_Connect( info, errno, error, 127 ); if( sql == Empty_Handle ) { server_print( "[AMXX] %L", LANG_SERVER, "SQL_CANT_CON", error ); #endif // Make sure that the users.ini file exists. new configsDir[ 64 ]; get_configsdir( configsDir, 63 ); format( configsDir, 63, "%s/users.ini", configsDir ); if( !file_exists( configsDir ) ) { console_print( id, "%s File ^"%s^" doesn't exist.", g_szTag, configsDir ); return; } // Make sure steamid isn't already in file. new line = 0, textline[ 256 ], len; const SIZE = 63; new line_steamid[ SIZE + 1 ], line_password[ SIZE + 1 ], line_accessflags[ SIZE + 1 ], line_flags[ SIZE + 1 ], parsedParams; // <name|ip|steamid> <password> <access flags> <account flags> while( ( line = read_file( configsDir, line, textline, 255, len ) ) ) { if ( len == 0 || equal( textline, ";", 1 ) ) continue; // comment line parsedParams = parse( textline, line_steamid, SIZE, line_password, SIZE, line_accessflags, SIZE, line_flags, SIZE ); if( parsedParams != 4 ) continue; // Send warning/error? if( containi( line_flags, flags ) != -1 && equal( line_steamid, name ) ) { console_print( id, "%s %s already exists!", g_szTag, name ); return; } } // If we came here, steamid doesn't exist in users.ini. Add it. new linetoadd[ 512 ]; if( comment[ 0 ]==0 ) formatex( linetoadd, 511, "^r^n^"%s^" ^"%s^" ^"%s^" ^"%s^"", name, password, accessflags, flags ); else formatex( linetoadd, 511, "^r^n^"%s^" ^"%s^" ^"%s^" ^"%s^" ; %s", name, password, accessflags, flags, comment ); console_print( id, "Adding:^n%s", linetoadd ); if( !write_file( configsDir, linetoadd ) ) console_print( id, "%s Failed writing to %s!", g_szTag, configsDir ); #if defined USING_SQL } new table[ 32 ]; get_cvar_string( "amx_sql_table", table, 31 ); new Handle:query = SQL_PrepareQuery( sql, "SELECT * FROM `%s` WHERE (`auth` = '%s')", table, name ); if( !SQL_Execute( query ) ) { SQL_QueryError( query, error, 127 ); server_print( "[AMXX] %L", LANG_SERVER, "SQL_CANT_LOAD_ADMINS", error ); console_print( id, "[AMXX] %L", LANG_SERVER, "SQL_CANT_LOAD_ADMINS", error ); } else if( SQL_NumResults( query ) ) console_print( id, "%s %s already exists!", g_szTag, name ); else { console_print( id, "Adding to database:^n^"%s^" ^"%s^" ^"%s^" ^"%s^"", name, password, accessflags, flags ); SQL_QueryAndIgnore( sql, "REPLACE INTO `%s` (`name`, `password`, `access`, `flags`) VALUES ('%s', '%s', '%s', '%s')", table, name, password, accessflags, flags ); } SQL_FreeHandle( query ); SQL_FreeHandle( sql); SQL_FreeHandle( info ); #endif } /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE *{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1033\\ f0\\ fs16 \n\\ par } */
„Peste douăzeci de ani vei fi dezamăgit din cauza lucrurilor pe care nu le-ai făcut, nu din cauza celor pe care le-ai făcut.” - Mark Twain
„Asa e si in viata, hotii castiga, prostii care invata pierd.” - Mihai Nemeș
Bio.LeagueCs.Ro - Biohazard v4.4 Xmas Edition
discord: IonutC#5114
„Asa e si in viata, hotii castiga, prostii care invata pierd.” - Mihai Nemeș
Bio.LeagueCs.Ro - Biohazard v4.4 Xmas Edition
discord: IonutC#5114
Experinta in: Java/Spring boot/Angular/C/C++/C#/Javascript/Python/HTML/CSS/Pawn/SQL
Ai nevoie de ajutorul meu? Ma poti gasi doar la adresa de discord de mai sus.
Ai nevoie de ajutorul meu? Ma poti gasi doar la adresa de discord de mai sus.
- YONTU
- Scripter eXtreamCS
- Posts: 2466
- Joined: 10 May 2013, 14:25
- Detinator Steam: Nu
- CS Status: Everyone is looking at ur shoes
- Reputatie: Moderator ajutator
Fost scripter eXtreamCS - Location: Gura Humorului
- Has thanked: 256 times
- Been thanked: 288 times
- Contact:
Revin cu edit la plantare si dezamorsare a bombei dar si cu parashuta!smileye wrote:Ai putea sa ii mai adaugi parasuta free, bullet dmg si bonus la plantarea si dezamorsarea bombei a celor cu VIP.
Ai acolo un cvar care ii afiseaza vip-ului cat dmg face victimei si invers:
Code: Select all
vip_show_dmg "1"
„Peste douăzeci de ani vei fi dezamăgit din cauza lucrurilor pe care nu le-ai făcut, nu din cauza celor pe care le-ai făcut.” - Mark Twain
„Asa e si in viata, hotii castiga, prostii care invata pierd.” - Mihai Nemeș
Bio.LeagueCs.Ro - Biohazard v4.4 Xmas Edition
discord: IonutC#5114
„Asa e si in viata, hotii castiga, prostii care invata pierd.” - Mihai Nemeș
Bio.LeagueCs.Ro - Biohazard v4.4 Xmas Edition
discord: IonutC#5114
Experinta in: Java/Spring boot/Angular/C/C++/C#/Javascript/Python/HTML/CSS/Pawn/SQL
Ai nevoie de ajutorul meu? Ma poti gasi doar la adresa de discord de mai sus.
Ai nevoie de ajutorul meu? Ma poti gasi doar la adresa de discord de mai sus.
-
- Fost moderator
- Posts: 4648
- Joined: 12 Jun 2012, 15:18
- Detinator Steam: Da
- Reputatie: Fost moderator
- Has thanked: 258 times
- Been thanked: 38 times
- Contact:
Bun, merci.The YONTU wrote:Revin cu edit la plantare si dezamorsare a bombei dar si cu parashuta!smileye wrote:Ai putea sa ii mai adaugi parasuta free, bullet dmg si bonus la plantarea si dezamorsarea bombei a celor cu VIP.
Ai acolo un cvar care ii afiseaza vip-ului cat dmg face victimei si invers:Code: Select all
vip_show_dmg "1"
Prin cvar la plantare si dezamorsare ar fi mai bine sa pui cati bani sa deie iar 0 - cvar functia dezactivata?
Jump to
- eXtream - Forum
- ↳ Steam
- ↳ Forum
- ↳ WebDesign
- ↳ Incepatori
- ↳ Cos de reciclare
- ↳ Discutii generale
- ↳ Anunturi
- ↳ Security zone
- ↳ Filme si seriale
- ↳ Reclamatii
- ↳ Entertainment
- ↳ Distractie
- ↳ Clubul eXtreamCS - Intra si tu ! [noi oportunitati]
- eXtream - Counter-Strike 2
- ↳ Counter-Strike 2
- eXtream - Counter-Strike 1.6
- ↳ Diverse
- ↳ Filme gaming
- ↳ Meciuri
- ↳ Tutoriale
- ↳ Tutoriale
- ↳ Cereri
- ↳ Discutii generale
- ↳ Probleme la servere dedicate de Counter-Strike
- ↳ Cereri admin / slot
- ↳ Probleme in jocul Counter-Strike
- ↳ Pluginuri
- ↳ Pluginuri eXtream
- ↳ Cereri
- ↳ AdminMod
- ↳ AmxModX
- ↳ Resurse
- ↳ Moduri
- ↳ Addon-uri
- ↳ Kit-uri
- ↳ Harti
- ↳ Diverse
- ↳ Cereri
- ↳ Servere
- ↳ Programarea CS-ului
- ↳ Scripting
- ↳ Modificari pluginuri
- ↳ CStrike
- ↳ Cereri
- eXtream - Echipa
- ↳ Productia eXtream
- ↳ Harti eXtream
- ↳ CS.eXtreamCS.com - Server oficial eXtreamCS
- ↳ Zona administrativă
- ↳ Cereri acces
- ↳ Cereri unban
- ↳ Reclamații
- ↳ Admin zone
- ↳ CS2.eXtreamCS.com - Server official eXtreamCS
- ↳ XMAS.eXtreamCS.com
- ↳ Cereri admin
- ↳ Cereri unban
- ↳ Reclamatii / Sugestii
- ↳ eXtreamCS #PubMasters
- eXtream - Counter Strike Global Offensive
- ↳ Diverse
- ↳ Meciuri
- ↳ Tutoriale
- ↳ Probleme la servere dedicate de Counter-Strike: Global Offensive
- ↳ Probleme in jocul Counter-Strike: Global Offensive
- ↳ Pluginuri
- ↳ Cereri
- ↳ Resurse
- ↳ Addons-uri
- ↳ Hărți
- ↳ Diverse
- ↳ Servere
- eXtream - Counter-Strike Source
- ↳ Tutoriale
- ↳ Pluginuri
- ↳ Servere
- ↳ Resurse
- ↳ Harti
- ↳ Moduri
- ↳ Diverse
- ↳ Classic » CS
- ↳ Anunțuri administrative
- ↳ Cereri admin/slot
- ↳ Cereri unban
- ↳ Reclamații
- ↳ Banlist
- ↳ Admins Only
- ↳ Discord