Jump to content

CoSmiN

Project Managers
  • Content Count

    66
  • Joined

  • Last visited

  • Days Won

    5

CoSmiN last won the day on May 14

CoSmiN had the most liked content!

Community Reputation

7 Neutral

5 Followers

About CoSmiN

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. CoSmiN

    Team Rs.PubZone.Ro

    Update Lista cu admini o gasiti Aici http://rsbans.pubzone.ro/admin_list.php
  2. CoSmiN

    cerere avatar+semnatura

    Tip(avatar/semnatura/banner/userbar/iconita):avatar+semnatura Dimensiuni: alegeti voi Culori(culoare principala & secundara): Las la mana voastra sa fie frumos πŸ™‚ Text: CoSmiN Tematica(Cu ce sa fie ? CS / Natura / Iarna etc.)[Obligatoriu specificati tematica]: CS Alte informatii: -ceva de genuο»Ώ
  3. CoSmiN

    cereri grade rs.pubZone.ro

    o sa ma gandesc si o sa fac alta cerere momentan le folosesc pe astea Thanks.topic closed!
  4. CoSmiN Glitch Z0rken ? KILLERX ODIOSU Robert SNH02 ? ^DMG^ S3RG!U ? Teza ? HeRO*23 ? EzeKeN-524 ? VenoWW ? fisherman BagubixBeleaua ? qRedd hamza ? Sarpilii ? sNd Fnatick Skillz Cei cu semnul ? au la dispozitie 2 zile sa lase replay aici daca mai joaca sau nu pe server
  5. CoSmiN

    cereri grade rs.pubZone.ro

    sunt frumusele. poti sa faci si alte modele:) alt design
  6. CoSmiN

    cereri grade rs.pubZone.ro

    up.. se ocupa cineva de categoriia asta:-?
  7. CoSmiN

    acceptat Cerere admin

    Acceptat dam te rog pm cu nick si pass. Topic Close
  8. CoSmiN

    [Cerere Ban]

    Mersi de ajutor. JUcatorul a primit BAN .Topic lose
  9. CoSmiN

    [Cerere Ban]

    neo a primit Ban
  10. CoSmiN

    Propunere

    o sa se rezolve. se lucreaza la amxbans
  11. CoSmiN

    Prezentare CoSmiN

    Prenume: (ex: Mihai) NU este obigatoriu sa faceti public numele complet.CoSmiN Nick:CoSmiN Varsta ta:29 Cu ce te ocupi?:Work Care sunt pasiunile tale? Ce iti place sa faci in timpul liber?:stau pe forumuri si ma mai joc din cand in cand De cand activezi in gaming? Ce iti place cel mai mult in el?: de vreo 17 18 ani cred:)) Te uiti la stream-uri? Ce stream-uri ti se par cele mai interesante?:nu Care joc te-a captivat cel mai mult? Fa un top al celor mai frumoase jocuri dupa parerea ta:fifa 06 the bestπŸ˜€ need for speed underground 2 a fost ,cs1.6 ,gta , De cand activezi pe forumuri? Ce iti place, ce nu iti place la ele?: 17 18 ani ... Ce parere ai despre gaming-ul si comunitatile din ziua de azi?:in ziua de azi nu mai gasesti o comunitate serioasa cum ereau acum 10 15 ani Ce parere ai la comunitatea noastra? Ce ai schimba la ea?:nice. De unde ai aflat de noi?:va stiu de cativa ani ma bucur ca ati redeschiso Alte precizari:nu am
  12. Descarcare: Girlshare | FileShare | Mega
  13. Descarcare Versiunea 1.0: Mega.Co.Nz | GirlShare.Ro | SaberCatHost.Com Versiunea 1.1: Mega.Co.Nz | GirlShare.Ro | SaberCatHost.Com Versiunea 1.2: Mega.Co.Nz | GirlShare.Ro | SaberCatHost.Com Surse (.sp) [sursa=csgo_vip 1.0]#include <sourcemod> #include <sdktools> #include <cstrike> #include <clientprefs> #define VIP_FLAG ADMFLAG_CUSTOM1 Handle: Armor Handle: Helmet Handle: Bhop Handle: Defuser Handle: HE Handle: Flash Handle: Molotov Handle: Smoke Handle: PistolRoundRule Handle: HpNormalKill Handle: HpKnifeKill Handle: HpHeadShotKill Handle: MaxHP Handle: MoneyPerNormalKill Handle: MoneyPerKnifeKill Handle: MoneyPerHeadShotKill Handle: ExtraMoneyOnSpawn Handle: ShowBombsite Handle: HalfPlantTime Handle: HalfDefuseTimeNoKit Handle: HalfDefuseTimeKit Handle: Notify new Handle: BhopCookie = INVALID_HANDLE new MoneyOffset = -1 new RoundID = 0 bool: CanBhop[ MAXPLAYERS + 1 ] bool: IsPistolRound = false public Plugin:myinfo = { name = "CS:GO VIP", author = "tre3fla", description = "VIP pentru serverele de csgo", version = "1.0", url = "http://extreamcs.com/forum" } public OnPluginStart( ) { Armor = CreateConVar( "vip_give_armor", "1", "VIP primeste 100 armura la spawn" ) Helmet = CreateConVar( "vip_give_helmet", "1", "VIP primeste helmet daca are armura" ) Bhop = CreateConVar( "vip_autobhop", "1", "VIP poate face bhop automat cand tine apasat space" ) Defuser = CreateConVar( "vip_give_ct_defuser", "1", "VIP primeste defuser atunci cand este CT" ) HE = CreateConVar( "vip_give_he", "1", "VIP primeste un HE la spawn, daca nu are deja unul" ) Flash = CreateConVar( "vip_give_flash", "1", "VIP primeste un flash la spawn, daca nu are deja unul" ) Molotov = CreateConVar( "vip_give_molotov", "1", "VIP primeste molotov la spawn daca nu are deja unul" ) Smoke = CreateConVar( "vip_give_smoke", "1", "VIP primeste smoke la spawn daca nu are deja unul" ) PistolRoundRule = CreateConVar( "vip_disabled_on_pistol_round", "1", "VIP nu va rula un in rundele de pistoale pe competitive" ) ExtraMoneyOnSpawn = CreateConVar( "vip_give_money_on_spawn", "500", "VIP va primi aceea suma de bani la spawn. 0=dezactivat" ) HpNormalKill = CreateConVar( "vip_normal_kill_hp", "10", "VIP va primi HP cand face frag" ) HpKnifeKill = CreateConVar( "vip_knife_kill_hp", "30", "VIP va primi HP cand face frag cu cutitul" ) HpHeadShotKill = CreateConVar( "vip_headshot_hp", "15", "VIP va primit HP cand face frag cu headshot" ) MaxHP = CreateConVar( "vip_max_hp", "100", "HP-ul maxim pe care il poate avea un VIP" ) MoneyPerNormalKill = CreateConVar( "vip_normal_kill_money", "100", "VIP va primi acea suma de bani cand face frag" ) MoneyPerKnifeKill = CreateConVar( "vip_knife_kill_money", "1000", "VIP va primi acea suma de bani cand face frag cu cutitul" ) MoneyPerHeadShotKill = CreateConVar( "vip_headshot_kill_money", "150", "VIP va primi acea suma de bani cand face frag cu headshot" ) ShowBombsite = CreateConVar( "vip_show_bombsite", "1", "VIP de la ct vor vedea in ce bombsite au plantat teroristii bomba" ) HalfPlantTime = CreateConVar( "vip_bomb_plant_time", "2", "Timp in secunde pentru plantarea bombei de catre VIP" ) HalfDefuseTimeNoKit = CreateConVar( "vip_defuse_time_nokit", "5", "Timp necesar pentru ca VIP sa dea defuse bombei cand nu are kit" ) HalfDefuseTimeKit = CreateConVar( "vip_defuse_time_kit", "2.5", "Timp necesar pentru ca VIP sa dea defuse bombei cand are kit" ) Notify = CreateConVar( "vip_notify_on_bonus", "1", "VIP vor vedea mesaje in chat cand primesc hp, bani, etc" ) MoneyOffset = FindSendPropInfo( "CCSPlayer", "m_iAccount" ) RegConsoleCmd( "bhop", Command_ToggleBhop ) BhopCookie = RegClientCookie( "AutoBhop", "Cookie AutoBhop", CookieAccess_Protected ) HookEvent( "player_spawn", Event_PlayerSpawn ) HookEvent( "player_death", Event_PlayerDeath ) HookEvent( "announce_phase_end", Event_PhaseEnd ) HookEvent( "bomb_planted", Event_BombPlanted ) HookEventEx( "bomb_begindefuse", Event_BeginDefuse ) HookEventEx( "bomb_beginplant", Event_BeginPlant ) HookEvent( "round_end", Event_RoundEnd, EventHookMode_PostNoCopy ) } public OnMapStart( ) { RoundID = 0 IsPistolRound = false } public OnClientCookiesCached( client ) { decl String: UserCookie[ 5 ] GetClientCookie( client, BhopCookie, UserCookie, sizeof( UserCookie ) ) if( StrEqual( UserCookie, "1" ) && IsClientVip( client ) ) { CanBhop[ client ] = true } else { CanBhop[ client ] = false SetClientCookie( client, BhopCookie, "0" ) } } public Action: Event_PlayerSpawn( Handle: event, const String: name[ ], bool: dontBroadcast ) { if( GetConVarBool( PistolRoundRule ) && IsPistolRound ) { return Plugin_Handled } new client = GetClientOfUserId( GetEventInt( event, "userid" ) ) if( client > 0 && client < MaxClients && IsClientInGame( client ) && IsPlayerAlive( client ) && !IsFakeClient( client ) ) { if( IsClientVip( client ) ) { RemoveClientGrenades( client ) RequestFrame( GiveSpawnItems, client ) } } return Plugin_Continue } public Action: Event_PlayerDeath( Handle: event, const String: name[ ], bool: dontBroadcast ) { if( GetConVarBool( PistolRoundRule ) && IsPistolRound ) { return Plugin_Handled } new victim = GetClientOfUserId( GetEventInt( event, "userid" ) ) new attacker = GetClientOfUserId( GetEventInt( event, "attacker" ) ) if( attacker > 0 && attacker < MaxClients && IsClientInGame( attacker ) && victim > 0 && victim < MaxClients && IsClientInGame( victim ) && IsClientVip( attacker ) && attacker != victim ) { new bool:Headshot = GetEventBool( event, "headshot" ) char Arma[ 64 ] GetEventString( event, "weapon", Arma, sizeof( Arma ) ) if( Headshot ) { if( GetConVarInt( MoneyPerHeadShotKill ) > 0 && MoneyOffset != -1 ) { SetEntProp( attacker, Prop_Send, "m_iAccount", GetEntProp( attacker, Prop_Send, "m_iAccount" ) + GetConVarInt( MoneyPerHeadShotKill ) ) if( GetConVarBool( Notify ) ) { PrintToChat( attacker, " \x04[VIP]\x10 You recieved extra\x06 $%d\x10 for killing an enemy!", GetConVarInt( MoneyPerHeadShotKill ) ) } } if( GetConVarInt( HpHeadShotKill ) > 0 && GetClientHealth( attacker ) < GetConVarInt( MaxHP ) ) { new ClientHealth = GetClientHealth( attacker ) ClientHealth += GetConVarInt( HpHeadShotKill ) if( ClientHealth > GetConVarInt( MaxHP ) ) { ClientHealth = GetConVarInt( MaxHP ) } SetEntProp( attacker, Prop_Data, "m_iHealth", ClientHealth ) if( GetConVarBool( Notify ) ) { PrintToChat( attacker, " \x04[VIP]\x10 You recieved\x06 %d HP\x10 for killing an enemy!", GetConVarInt( HpHeadShotKill ) ) } } } else if( ( StrContains( Arma, "knife", false ) != -1 ) || ( StrContains( Arma, "bayonet", false ) != -1 ) ) { if( GetConVarInt( MoneyPerKnifeKill ) > 0 && MoneyOffset != -1 ) { SetEntProp( attacker, Prop_Send, "m_iAccount", GetEntProp( attacker, Prop_Send, "m_iAccount" ) + GetConVarInt( MoneyPerKnifeKill ) ) if( GetConVarBool( Notify ) ) { PrintToChat( attacker, " \x04[VIP]\x10 You recieved extra\x06 $%d\x10 for killing an enemy!", GetConVarInt( MoneyPerKnifeKill ) ) } } if( GetConVarInt( HpKnifeKill ) > 0 && GetClientHealth( attacker ) < GetConVarInt( MaxHP ) ) { new ClientHealth = GetClientHealth( attacker ) ClientHealth += GetConVarInt( HpKnifeKill ) if( ClientHealth > GetConVarInt( MaxHP ) ) { ClientHealth = GetConVarInt( MaxHP ) } SetEntProp( attacker, Prop_Data, "m_iHealth", ClientHealth ) if( GetConVarBool( Notify ) ) { PrintToChat( attacker, " \x04[VIP]\x10 You recieved\x06 %d HP\x10 for killing an enemy!", GetConVarInt( HpKnifeKill ) ) } } } else { if( GetConVarInt( MoneyPerNormalKill ) > 0 && MoneyOffset != -1 ) { SetEntProp( attacker, Prop_Send, "m_iAccount", GetEntProp( attacker, Prop_Send, "m_iAccount" ) + GetConVarInt( MoneyPerNormalKill ) ) if( GetConVarBool( Notify ) ) { PrintToChat( attacker, " \x04[VIP]\x10 You recieved extra\x06 $%d\x10 for killing an enemy!", GetConVarInt( MoneyPerNormalKill ) ) } } if( GetConVarInt( HpNormalKill ) > 0 && GetClientHealth( attacker ) < GetConVarInt( MaxHP ) ) { new ClientHealth = GetClientHealth( attacker ) ClientHealth += GetConVarInt( HpNormalKill ) if( ClientHealth > GetConVarInt( MaxHP ) ) { ClientHealth = GetConVarInt( MaxHP ) } SetEntProp( attacker, Prop_Data, "m_iHealth", ClientHealth ) if( GetConVarBool( Notify ) ) { PrintToChat( attacker, " \x04[VIP]\x10 You recieved\x06 %d HP\x10 for killing an enemy!", GetConVarInt( HpNormalKill ) ) } } } } return Plugin_Continue } public Event_PhaseEnd( Handle: event, const String: name[ ], bool: dontBroadcast ) { IsPistolRound = true } public Event_BeginDefuse( Handle: event, const String: name[ ], bool: dontBroadcast ) { if( GetConVarBool( PistolRoundRule ) && !IsPistolRound ) { new client = GetClientOfUserId( GetEventInt( event,"userid" ) ) if( client > 0 && client < MaxClients && IsPlayerAlive( client ) && IsClientVip( client ) && GetConVarBool( HalfDefuseTimeKit ) || GetConVarBool( HalfDefuseTimeNoKit ) ) { CreateTimer( 0.0, DefuseBugFix, client ) } } } public Event_BeginPlant( Handle: event, const String: name[ ], bool: dontBroadcast ) { if( GetConVarBool( PistolRoundRule ) && !IsPistolRound ) { new client = GetClientOfUserId( GetEventInt( event, "userid" ) ) if( client > 0 && client < MaxClients && IsPlayerAlive( client ) && IsClientVip( client ) && GetConVarBool( HalfPlantTime ) ) { new Bomb = GetEntPropEnt( client, Prop_Send, "m_hActiveWeapon" ) decl String: EntityName[ 20 ] GetEntityClassname( Bomb, EntityName, sizeof( EntityName ) ) if( StrEqual( EntityName, "weapon_c4", false ) ) { SetEntPropFloat( Bomb, Prop_Send, "m_fArmedTime", GetGameTime()+GetConVarFloat( HalfPlantTime ) ) } } } } public Event_BombPlanted( Handle: event, const String: name[ ], bool: dontBroadcast ) { if( GetConVarBool( PistolRoundRule ) && !IsPistolRound ) { if( GetConVarBool( ShowBombsite ) ) { new client = GetClientOfUserId( GetEventInt( event, "userid" ) ) decl String: Bombsite[ 64 ] GetEntPropString( client, Prop_Send, "m_szLastPlaceName", Bombsite, sizeof( Bombsite ) ) decl String: BombsiteBuffer[ 32 ] if( StrContains( Bombsite, "BombsiteA" ) != -1 ) { Format( BombsiteBuffer, sizeof( BombsiteBuffer ), "Bombsite A" ) } else if( StrContains( Bombsite, "BombsiteB" ) != -1 ) { Format( BombsiteBuffer, sizeof( BombsiteBuffer ), "Bombsite B" ) } for( new i = 1; i < MaxClients; i++ ) { if( IsClientInGame( i ) && IsClientVip( i ) && GetClientTeam( i ) == 3 && IsPlayerAlive( i ) ) { PrintToChat( i, " \x04[VIP]\x02 %N\x10 has planted the bomb in\x04 %s", client, BombsiteBuffer ) } } } } } public Event_RoundEnd( Handle: event, const String: name[ ], bool: dontBroadcast ) { RoundID++ if( RoundID == 1 ) { IsPistolRound = true } else { IsPistolRound = false } } public Action: OnPlayerRunCmd( client, &buttons, &impulse, Float: vel[ 3 ], Float: angles[ 3 ], &weapon ) { if( IsClientVip( client ) && GetConVarBool( Bhop ) && CanBhop[ client ] ) { if( buttons & IN_JUMP && IsPlayerAlive( client ) && !( GetEntityFlags( client ) & FL_ONGROUND ) && !( GetEntityMoveType( client ) & MOVETYPE_LADDER ) ) { buttons &= ~IN_JUMP } } } public Action: DefuseBugFix( Handle: timer, any: client ) { if( client > 0 && client < MaxClients && IsClientInGame( client ) && IsPlayerAlive( client ) ) { new Bomb = FindEntityByClassname( MaxClients+1, "planted_c4" ) if( Bomb != -1 ) { if( GetEntProp( client, Prop_Send, "m_bHasDefuser" ) ) { SetEntPropFloat( Bomb, Prop_Send, "m_flDefuseCountDown", GetGameTime( ) + GetConVarFloat( HalfDefuseTimeKit ) ) SetEntPropFloat( client, Prop_Send, "m_flProgressBarStartTime", GetGameTime( ) ) SetEntProp( client, Prop_Send, "m_iProgressBarDuration", GetConVarInt( HalfDefuseTimeKit ) ) } else { SetEntPropFloat( Bomb, Prop_Send, "m_flDefuseCountDown", GetGameTime( ) + GetConVarFloat( HalfDefuseTimeNoKit ) ) SetEntPropFloat( client, Prop_Send, "m_flProgressBarStartTime", GetGameTime( ) ) SetEntProp( client, Prop_Send, "m_iProgressBarDuration", GetConVarInt( HalfDefuseTimeNoKit ) ) } } } } public GiveSpawnItems( client ) { if( client > 0 && client < MaxClients && IsClientInGame( client ) && IsPlayerAlive( client ) && GetClientTeam( client ) > 1 ) { if( GetConVarBool( Armor ) ) { SetEntProp( client, Prop_Send, "m_ArmorValue", 100 ) } if( GetConVarBool( Helmet ) && GetEntProp( client, Prop_Send, "m_ArmorValue" ) >= 1 ) { SetEntProp( client, Prop_Send, "m_bHasHelmet", 1 ) } if( GetConVarBool( HE ) && GetEntProp( client, Prop_Send, "m_iAmmo", _, 14 ) < 1 && GetClientGrenades( client ) < GetConVarInt( FindConVar( "ammo_grenade_limit_total") ) ) { GivePlayerItem( client, "weapon_hegrenade" ) } if( GetConVarBool( Flash ) && GetEntProp( client, Prop_Send, "m_iAmmo", _, 15 ) < 1 && GetClientGrenades( client ) < GetConVarInt( FindConVar( "ammo_grenade_limit_total") ) ) { GivePlayerItem( client, "weapon_flashbang" ) } if( GetConVarBool( Smoke ) && GetEntProp( client, Prop_Send, "m_iAmmo", _, 16 ) < 1 && GetClientGrenades( client ) < GetConVarInt( FindConVar( "ammo_grenade_limit_total") ) ) { GivePlayerItem( client, "weapon_smokegrenade" ) } if( GetConVarBool( Molotov ) && GetEntProp( client, Prop_Send, "m_iAmmo", _, 17 ) < 1 && GetClientGrenades( client ) < GetConVarInt( FindConVar( "ammo_grenade_limit_total") ) ) { switch( GetClientTeam( client ) ) { case 2: { GivePlayerItem( client, "weapon_molotov" ) } case 3: { GivePlayerItem( client, "weapon_incgrenade" ) } } } if( GetConVarBool( ExtraMoneyOnSpawn ) && MoneyOffset != -1 ) { SetEntProp( client, Prop_Send, "m_iAccount", GetEntProp( client, Prop_Send, "m_iAccount" ) + GetConVarInt( ExtraMoneyOnSpawn ) ) } if( GetConVarBool( Defuser ) && GetClientTeam( client ) == 3 && GetEntProp( client, Prop_Send, "m_bHasDefuser" ) < 1 ) { SetEntProp( client, Prop_Send, "m_bHasDefuser", 1 ) } } } public Action: Command_ToggleBhop( client, args ) { if( GetConVarBool( PistolRoundRule ) && IsPistolRound ) { PrintToChat( client, " \x04[VIP]\x10 Auto-bhop cannot be used in pistol rounds!" ) return Plugin_Handled } if( GetConVarBool( Bhop ) && IsClientVip( client ) ) { if( CanBhop[ client ] ) { CanBhop[ client ] = false SetClientCookie( client, BhopCookie, "0" ) PrintToChat( client, " \x04[VIP]\x10 Auto-bhop was\x02 disabled\x10!" ) } else { CanBhop[ client ] = true SetClientCookie( client, BhopCookie, "1" ) PrintToChat( client, " \x04[VIP]\x10 Auto-bhop was\x06 enabled\x10!" ) } } else { PrintToChat( client, " \x04[VIP]\x10 You need to be\x06 VIP\x10 to use this command!" ) } return Plugin_Continue } stock bool: IsClientVip( client ) { if( GetUserFlagBits( client ) & VIP_FLAG ) { return true } return false } stock GetClientGrenades( client ) { new Explosive = GetEntProp( client, Prop_Send, "m_iAmmo", _, 14 ) new Flashbang = GetEntProp( client, Prop_Send, "m_iAmmo", _, 15 ) new Smokegrenade = GetEntProp( client, Prop_Send, "m_iAmmo", _, 16 ) new Incendiary = GetEntProp( client, Prop_Send, "m_iAmmo", _, 17 ) new Decoy = GetEntProp( client, Prop_Send, "m_iAmmo", _, 18 ) return Explosive + Flashbang + Smokegrenade + Incendiary + Decoy } stock RemoveClientGrenades( client ) { if( GetEntProp( client, Prop_Send, "m_iAmmo", _, 14 ) >= 1 ) { SetEntProp( client, Prop_Send, "m_iAmmo", 0, _, 14 ) } if( GetEntProp( client, Prop_Send, "m_iAmmo", _, 15 ) >= 1 ) { SetEntProp( client, Prop_Send, "m_iAmmo", 0, _, 15 ) } if( GetEntProp( client, Prop_Send, "m_iAmmo", _, 16 ) >= 1 ) { SetEntProp( client, Prop_Send, "m_iAmmo", 0, _, 16 ) } if( GetEntProp( client, Prop_Send, "m_iAmmo", _, 17 ) >= 1 ) { SetEntProp( client, Prop_Send, "m_iAmmo", 0, _, 17 ) } if( GetEntProp( client, Prop_Send, "m_iAmmo", _, 18 ) >= 1 ) { SetEntProp( client, Prop_Send, "m_iAmmo", 0, _, 18 ) } }[/sursa] [sursa=csgo_vip 1.1]#include <sourcemod> #include <sdktools> #include <sdkhooks> #include <cstrike> #include <clientprefs> #define VIP_FLAG ADMFLAG_CUSTOM1 Handle: Armor Handle: Helmet Handle: Bhop Handle: Defuser Handle: VipSpeed Handle: SpeedAmmount Handle: HE Handle: Flash Handle: Molotov Handle: Smoke Handle: PistolRoundRule Handle: HpNormalKill Handle: HpKnifeKill Handle: HpHeadShotKill Handle: MaxHP Handle: MoneyPerNormalKill Handle: MoneyPerKnifeKill Handle: MoneyPerHeadShotKill Handle: ExtraMoneyOnSpawn Handle: ShowBombsite Handle: HalfPlantTime Handle: HalfDefuseTimeNoKit Handle: HalfDefuseTimeKit Handle: Notify new Handle: BhopCookie = INVALID_HANDLE new RoundID = 0 bool: CanBhop[ MAXPLAYERS + 1 ] bool: IsPistolRound = false public Plugin:myinfo = { name = "CS:GO VIP", author = "tre3fla", description = "VIP pentru serverele de csgo", version = "1.1", url = "http://extreamcs.com/forum" } public OnPluginStart( ) { Armor = CreateConVar( "vip_give_armor", "1", "VIP primeste 100 armura la spawn" ) Helmet = CreateConVar( "vip_give_helmet", "1", "VIP primeste helmet daca are armura" ) Bhop = CreateConVar( "vip_autobhop", "1", "VIP poate face bhop automat cand tine apasat space" ) Defuser = CreateConVar( "vip_give_ct_defuser", "1", "VIP primeste defuser atunci cand este CT" ) VipSpeed = CreateConVar( "vip_fast_speed", "1", "VIP primeste viteza de miscare mai mare" ) SpeedAmmount = CreateConVar( "vip_speed_ammount", "1.2", "Cat de rapid sa se miste VIP" ) HE = CreateConVar( "vip_give_he", "1", "VIP primeste un HE la spawn, daca nu are deja unul" ) Flash = CreateConVar( "vip_give_flash", "1", "VIP primeste un flash la spawn, daca nu are deja unul" ) Molotov = CreateConVar( "vip_give_molotov", "1", "VIP primeste molotov la spawn daca nu are deja unul" ) Smoke = CreateConVar( "vip_give_smoke", "1", "VIP primeste smoke la spawn daca nu are deja unul" ) PistolRoundRule = CreateConVar( "vip_disabled_on_pistol_round", "1", "VIP nu va rula un in rundele de pistoale pe competitive" ) ExtraMoneyOnSpawn = CreateConVar( "vip_give_money_on_spawn", "500", "VIP va primi aceea suma de bani la spawn. 0=dezactivat" ) HpNormalKill = CreateConVar( "vip_normal_kill_hp", "10", "VIP va primi HP cand face frag" ) HpKnifeKill = CreateConVar( "vip_knife_kill_hp", "30", "VIP va primi HP cand face frag cu cutitul" ) HpHeadShotKill = CreateConVar( "vip_headshot_hp", "15", "VIP va primit HP cand face frag cu headshot" ) MaxHP = CreateConVar( "vip_max_hp", "100", "HP-ul maxim pe care il poate avea un VIP" ) MoneyPerNormalKill = CreateConVar( "vip_normal_kill_money", "100", "VIP va primi acea suma de bani cand face frag" ) MoneyPerKnifeKill = CreateConVar( "vip_knife_kill_money", "1000", "VIP va primi acea suma de bani cand face frag cu cutitul" ) MoneyPerHeadShotKill = CreateConVar( "vip_headshot_kill_money", "150", "VIP va primi acea suma de bani cand face frag cu headshot" ) ShowBombsite = CreateConVar( "vip_show_bombsite", "1", "VIP de la ct vor vedea in ce bombsite au plantat teroristii bomba" ) HalfPlantTime = CreateConVar( "vip_bomb_plant_time", "2", "Timp in secunde pentru plantarea bombei de catre VIP" ) HalfDefuseTimeNoKit = CreateConVar( "vip_defuse_time_nokit", "5", "Timp necesar pentru ca VIP sa dea defuse bombei cand nu are kit" ) HalfDefuseTimeKit = CreateConVar( "vip_defuse_time_kit", "2.5", "Timp necesar pentru ca VIP sa dea defuse bombei cand are kit" ) Notify = CreateConVar( "vip_notify_on_bonus", "1", "VIP vor vedea mesaje in chat cand primesc hp, bani, etc" ) RegConsoleCmd( "bhop", Command_ToggleBhop ) RegConsoleCmd( "vips", Command_ShowVips ) BhopCookie = RegClientCookie( "AutoBhop", "Cookie AutoBhop", CookieAccess_Protected ) HookEvent( "player_spawn", Event_PlayerSpawn ) HookEvent( "player_death", Event_PlayerDeath ) HookEvent( "announce_phase_end", Event_PhaseEnd ) HookEvent( "bomb_planted", Event_BombPlanted ) HookEventEx( "bomb_begindefuse", Event_BeginDefuse ) HookEventEx( "bomb_beginplant", Event_BeginPlant ) HookEvent( "round_end", Event_RoundEnd, EventHookMode_PostNoCopy ) } public OnMapStart( ) { RoundID = 0 IsPistolRound = false } public OnClientCookiesCached( client ) { decl String: UserCookie[ 5 ] GetClientCookie( client, BhopCookie, UserCookie, sizeof( UserCookie ) ) if( StrEqual( UserCookie, "1" ) && IsClientVip( client ) ) { CanBhop[ client ] = true } else { CanBhop[ client ] = false SetClientCookie( client, BhopCookie, "0" ) } } public OnClientPutInServer( client ) { SDKHook( client, SDKHook_WeaponSwitchPost, WeaponSwitchPost ) } public Action: Event_PlayerSpawn( Handle: event, const String: name[ ], bool: dontBroadcast ) { if( GetConVarBool( PistolRoundRule ) && IsPistolRound ) { return Plugin_Handled } new client = GetClientOfUserId( GetEventInt( event, "userid" ) ) if( client > 0 && client < MaxClients && IsClientInGame( client ) && IsPlayerAlive( client ) && !IsFakeClient( client ) ) { if( IsClientVip( client ) ) { RemoveClientGrenades( client ) RequestFrame( GiveSpawnItems, client ) } } return Plugin_Continue } public Action: Event_PlayerDeath( Handle: event, const String: name[ ], bool: dontBroadcast ) { if( GetConVarBool( PistolRoundRule ) && IsPistolRound ) { return Plugin_Handled } new victim = GetClientOfUserId( GetEventInt( event, "userid" ) ) new attacker = GetClientOfUserId( GetEventInt( event, "attacker" ) ) if( attacker > 0 && attacker < MaxClients && IsClientInGame( attacker ) && victim > 0 && victim < MaxClients && IsClientInGame( victim ) && IsClientVip( attacker ) && attacker != victim ) { new bool:Headshot = GetEventBool( event, "headshot" ) char Arma[ 64 ] GetEventString( event, "weapon", Arma, sizeof( Arma ) ) if( Headshot ) { if( GetConVarInt( MoneyPerHeadShotKill ) > 0 ) { SetEntProp( attacker, Prop_Send, "m_iAccount", GetEntProp( attacker, Prop_Send, "m_iAccount" ) + GetConVarInt( MoneyPerHeadShotKill ) ) if( GetConVarBool( Notify ) ) { PrintToChat( attacker, " \x04[VIP]\x10 You recieved extra\x06 $%d\x10 for killing an enemy!", GetConVarInt( MoneyPerHeadShotKill ) ) } } if( GetConVarInt( HpHeadShotKill ) > 0 && GetClientHealth( attacker ) < GetConVarInt( MaxHP ) ) { new ClientHealth = GetClientHealth( attacker ) ClientHealth += GetConVarInt( HpHeadShotKill ) if( ClientHealth > GetConVarInt( MaxHP ) ) { ClientHealth = GetConVarInt( MaxHP ) } SetEntProp( attacker, Prop_Data, "m_iHealth", ClientHealth ) if( GetConVarBool( Notify ) ) { PrintToChat( attacker, " \x04[VIP]\x10 You recieved\x06 %d HP\x10 for killing an enemy!", GetConVarInt( HpHeadShotKill ) ) } } } else if( ( StrContains( Arma, "knife", false ) != -1 ) || ( StrContains( Arma, "bayonet", false ) != -1 ) ) { if( GetConVarInt( MoneyPerKnifeKill ) > 0 ) { SetEntProp( attacker, Prop_Send, "m_iAccount", GetEntProp( attacker, Prop_Send, "m_iAccount" ) + GetConVarInt( MoneyPerKnifeKill ) ) if( GetConVarBool( Notify ) ) { PrintToChat( attacker, " \x04[VIP]\x10 You recieved extra\x06 $%d\x10 for killing an enemy!", GetConVarInt( MoneyPerKnifeKill ) ) } } if( GetConVarInt( HpKnifeKill ) > 0 && GetClientHealth( attacker ) < GetConVarInt( MaxHP ) ) { new ClientHealth = GetClientHealth( attacker ) ClientHealth += GetConVarInt( HpKnifeKill ) if( ClientHealth > GetConVarInt( MaxHP ) ) { ClientHealth = GetConVarInt( MaxHP ) } SetEntProp( attacker, Prop_Data, "m_iHealth", ClientHealth ) if( GetConVarBool( Notify ) ) { PrintToChat( attacker, " \x04[VIP]\x10 You recieved\x06 %d HP\x10 for killing an enemy!", GetConVarInt( HpKnifeKill ) ) } } } else { if( GetConVarInt( MoneyPerNormalKill ) > 0 ) { SetEntProp( attacker, Prop_Send, "m_iAccount", GetEntProp( attacker, Prop_Send, "m_iAccount" ) + GetConVarInt( MoneyPerNormalKill ) ) if( GetConVarBool( Notify ) ) { PrintToChat( attacker, " \x04[VIP]\x10 You recieved extra\x06 $%d\x10 for killing an enemy!", GetConVarInt( MoneyPerNormalKill ) ) } } if( GetConVarInt( HpNormalKill ) > 0 && GetClientHealth( attacker ) < GetConVarInt( MaxHP ) ) { new ClientHealth = GetClientHealth( attacker ) ClientHealth += GetConVarInt( HpNormalKill ) if( ClientHealth > GetConVarInt( MaxHP ) ) { ClientHealth = GetConVarInt( MaxHP ) } SetEntProp( attacker, Prop_Data, "m_iHealth", ClientHealth ) if( GetConVarBool( Notify ) ) { PrintToChat( attacker, " \x04[VIP]\x10 You recieved\x06 %d HP\x10 for killing an enemy!", GetConVarInt( HpNormalKill ) ) } } } } return Plugin_Continue } public Event_PhaseEnd( Handle: event, const String: name[ ], bool: dontBroadcast ) { IsPistolRound = true } public Event_BeginDefuse( Handle: event, const String: name[ ], bool: dontBroadcast ) { if( GetConVarBool( PistolRoundRule ) && !IsPistolRound ) { new client = GetClientOfUserId( GetEventInt( event,"userid" ) ) if( client > 0 && client < MaxClients && IsPlayerAlive( client ) && IsClientVip( client ) && GetConVarBool( HalfDefuseTimeKit ) || GetConVarBool( HalfDefuseTimeNoKit ) ) { CreateTimer( 0.0, DefuseBugFix, client ) } } } public Event_BeginPlant( Handle: event, const String: name[ ], bool: dontBroadcast ) { if( GetConVarBool( PistolRoundRule ) && !IsPistolRound ) { new client = GetClientOfUserId( GetEventInt( event, "userid" ) ) if( client > 0 && client < MaxClients && IsPlayerAlive( client ) && IsClientVip( client ) && GetConVarBool( HalfPlantTime ) ) { new Bomb = GetEntPropEnt( client, Prop_Send, "m_hActiveWeapon" ) decl String: EntityName[ 20 ] GetEntityClassname( Bomb, EntityName, sizeof( EntityName ) ) if( StrEqual( EntityName, "weapon_c4", false ) ) { SetEntPropFloat( Bomb, Prop_Send, "m_fArmedTime", GetGameTime()+GetConVarFloat( HalfPlantTime ) ) } } } } public Event_BombPlanted( Handle: event, const String: name[ ], bool: dontBroadcast ) { if( GetConVarBool( PistolRoundRule ) && !IsPistolRound ) { if( GetConVarBool( ShowBombsite ) ) { new client = GetClientOfUserId( GetEventInt( event, "userid" ) ) decl String: Bombsite[ 64 ] GetEntPropString( client, Prop_Send, "m_szLastPlaceName", Bombsite, sizeof( Bombsite ) ) decl String: BombsiteBuffer[ 32 ] if( StrContains( Bombsite, "BombsiteA" ) != -1 ) { Format( BombsiteBuffer, sizeof( BombsiteBuffer ), "Bombsite A" ) } else if( StrContains( Bombsite, "BombsiteB" ) != -1 ) { Format( BombsiteBuffer, sizeof( BombsiteBuffer ), "Bombsite B" ) } for( new i = 1; i < MaxClients; i++ ) { if( IsClientInGame( i ) && IsClientVip( i ) && GetClientTeam( i ) == 3 && IsPlayerAlive( i ) ) { PrintToChat( i, " \x04[VIP]\x02 %N\x10 has planted the bomb in\x04 %s", client, BombsiteBuffer ) } } } } } public Event_RoundEnd( Handle: event, const String: name[ ], bool: dontBroadcast ) { RoundID++ if( RoundID == 1 ) { IsPistolRound = true } else { IsPistolRound = false } } public Action: OnPlayerRunCmd( client, &buttons, &impulse, Float: vel[ 3 ], Float: angles[ 3 ], &weapon ) { if( IsClientVip( client ) && GetConVarBool( Bhop ) && CanBhop[ client ] ) { if( buttons & IN_JUMP && IsPlayerAlive( client ) && !( GetEntityFlags( client ) & FL_ONGROUND ) && !( GetEntityMoveType( client ) & MOVETYPE_LADDER ) ) { buttons &= ~IN_JUMP } } } public Action: DefuseBugFix( Handle: timer, any: client ) { if( client > 0 && client < MaxClients && IsClientInGame( client ) && IsPlayerAlive( client ) ) { new Bomb = FindEntityByClassname( MaxClients+1, "planted_c4" ) if( Bomb != -1 ) { if( GetEntProp( client, Prop_Send, "m_bHasDefuser" ) ) { SetEntPropFloat( Bomb, Prop_Send, "m_flDefuseCountDown", GetGameTime( ) + GetConVarFloat( HalfDefuseTimeKit ) ) SetEntPropFloat( client, Prop_Send, "m_flProgressBarStartTime", GetGameTime( ) ) SetEntProp( client, Prop_Send, "m_iProgressBarDuration", GetConVarInt( HalfDefuseTimeKit ) ) } else { SetEntPropFloat( Bomb, Prop_Send, "m_flDefuseCountDown", GetGameTime( ) + GetConVarFloat( HalfDefuseTimeNoKit ) ) SetEntPropFloat( client, Prop_Send, "m_flProgressBarStartTime", GetGameTime( ) ) SetEntProp( client, Prop_Send, "m_iProgressBarDuration", GetConVarInt( HalfDefuseTimeNoKit ) ) } } } } public GiveSpawnItems( client ) { if( client > 0 && client < MaxClients && IsClientInGame( client ) && IsPlayerAlive( client ) && GetClientTeam( client ) > 1 ) { if( GetConVarBool( Armor ) ) { SetEntProp( client, Prop_Send, "m_ArmorValue", 100 ) } if( GetConVarBool( Helmet ) && GetEntProp( client, Prop_Send, "m_ArmorValue" ) >= 1 ) { SetEntProp( client, Prop_Send, "m_bHasHelmet", 1 ) } if( GetConVarBool( HE ) && GetEntProp( client, Prop_Send, "m_iAmmo", _, 14 ) < 1 && GetClientGrenades( client ) < GetConVarInt( FindConVar( "ammo_grenade_limit_total") ) ) { GivePlayerItem( client, "weapon_hegrenade" ) } if( GetConVarBool( Flash ) && GetEntProp( client, Prop_Send, "m_iAmmo", _, 15 ) < 1 && GetClientGrenades( client ) < GetConVarInt( FindConVar( "ammo_grenade_limit_total") ) ) { GivePlayerItem( client, "weapon_flashbang" ) } if( GetConVarBool( Smoke ) && GetEntProp( client, Prop_Send, "m_iAmmo", _, 16 ) < 1 && GetClientGrenades( client ) < GetConVarInt( FindConVar( "ammo_grenade_limit_total") ) ) { GivePlayerItem( client, "weapon_smokegrenade" ) } if( GetConVarBool( Molotov ) && GetEntProp( client, Prop_Send, "m_iAmmo", _, 17 ) < 1 && GetClientGrenades( client ) < GetConVarInt( FindConVar( "ammo_grenade_limit_total") ) ) { switch( GetClientTeam( client ) ) { case 2: { GivePlayerItem( client, "weapon_molotov" ) } case 3: { GivePlayerItem( client, "weapon_incgrenade" ) } } } if( GetConVarBool( ExtraMoneyOnSpawn ) ) { SetEntProp( client, Prop_Send, "m_iAccount", GetEntProp( client, Prop_Send, "m_iAccount" ) + GetConVarInt( ExtraMoneyOnSpawn ) ) } if( GetConVarBool( Defuser ) && GetClientTeam( client ) == 3 && GetEntProp( client, Prop_Send, "m_bHasDefuser" ) < 1 ) { SetEntProp( client, Prop_Send, "m_bHasDefuser", 1 ) } } } public Action: Command_ToggleBhop( client, args ) { if( GetConVarBool( PistolRoundRule ) && IsPistolRound ) { PrintToChat( client, " \x04[VIP]\x10 Auto-bhop cannot be used in pistol rounds!" ) return Plugin_Handled } if( GetConVarBool( Bhop ) && IsClientVip( client ) ) { if( CanBhop[ client ] ) { CanBhop[ client ] = false SetClientCookie( client, BhopCookie, "0" ) PrintToChat( client, " \x04[VIP]\x10 Auto-bhop was\x02 disabled\x10!" ) } else { CanBhop[ client ] = true SetClientCookie( client, BhopCookie, "1" ) PrintToChat( client, " \x04[VIP]\x10 Auto-bhop was\x06 enabled\x10!" ) } } else { PrintToChat( client, " \x04[VIP]\x10 You need to be\x06 VIP\x10 to use this command!" ) } return Plugin_Continue } public Action: Command_ShowVips( client, args ) { new Handle: OnlineVips = CreateMenu( OnlineVips_Handler ) SetMenuTitle( OnlineVips, "Online VIPS List" ) new OnlineVipsNum for( new i = 1; i < MaxClients; i++ ) { if( IsClientInGame( i ) && IsClientVip( i ) ) { decl String: uNameBuffer[ 32 ] Format( uNameBuffer, sizeof( uNameBuffer ), "%N", i ) AddMenuItem( OnlineVips, "OnSelect", uNameBuffer, ITEMDRAW_DISABLED ) OnlineVipsNum++ } } if( OnlineVipsNum < 1 ) { if( OnlineVips != INVALID_HANDLE ) { CloseHandle( OnlineVips ) } PrintToChat( client, " \x04[VIP]\x10 There are no vips online!" ) } else { SetMenuExitButton( OnlineVips, true ) DisplayMenu( OnlineVips, client, 30 ) } } public Action: WeaponSwitchPost( client, weapon ) { if( IsClientVip( client ) && IsPlayerAlive( client ) && GetConVarBool( VipSpeed ) ) { SetEntPropFloat( client, Prop_Send, "m_flVelocityModifier", GetConVarFloat( SpeedAmmount ) ) } } public OnlineVips_Handler( Handle: OnlineVips, MenuAction: action, client, menu ) { switch( action ) { case MenuAction_End: { if( OnlineVips != INVALID_HANDLE ) { CancelMenu( OnlineVips ) } } } } stock bool: IsClientVip( client ) { if( GetUserFlagBits( client ) & VIP_FLAG ) { return true } return false } stock GetClientGrenades( client ) { new Explosive = GetEntProp( client, Prop_Send, "m_iAmmo", _, 14 ) new Flashbang = GetEntProp( client, Prop_Send, "m_iAmmo", _, 15 ) new Smokegrenade = GetEntProp( client, Prop_Send, "m_iAmmo", _, 16 ) new Incendiary = GetEntProp( client, Prop_Send, "m_iAmmo", _, 17 ) new Decoy = GetEntProp( client, Prop_Send, "m_iAmmo", _, 18 ) return Explosive + Flashbang + Smokegrenade + Incendiary + Decoy } stock RemoveClientGrenades( client ) { if( GetEntProp( client, Prop_Send, "m_iAmmo", _, 14 ) >= 1 ) { SetEntProp( client, Prop_Send, "m_iAmmo", 0, _, 14 ) } if( GetEntProp( client, Prop_Send, "m_iAmmo", _, 15 ) >= 1 ) { SetEntProp( client, Prop_Send, "m_iAmmo", 0, _, 15 ) } if( GetEntProp( client, Prop_Send, "m_iAmmo", _, 16 ) >= 1 ) { SetEntProp( client, Prop_Send, "m_iAmmo", 0, _, 16 ) } if( GetEntProp( client, Prop_Send, "m_iAmmo", _, 17 ) >= 1 ) { SetEntProp( client, Prop_Send, "m_iAmmo", 0, _, 17 ) } if( GetEntProp( client, Prop_Send, "m_iAmmo", _, 18 ) >= 1 ) { SetEntProp( client, Prop_Send, "m_iAmmo", 0, _, 18 ) } }[/sursa] [sursa=csgo_vip 1.2]#include <sourcemod> #include <sdktools> #include <sdkhooks> #include <cstrike> #include <clientprefs> #define VIP_FLAG ADMFLAG_CUSTOM1 Handle: Armor Handle: Helmet Handle: Bhop Handle: Defuser Handle: VipSpeed Handle: SpeedAmmount Handle: Damage Handle: DamageAmount Handle: HE Handle: Flash Handle: Molotov Handle: Smoke Handle: PistolRoundRule Handle: HpNormalKill Handle: HpKnifeKill Handle: HpHeadShotKill Handle: MaxHP Handle: MoneyPerNormalKill Handle: MoneyPerKnifeKill Handle: MoneyPerHeadShotKill Handle: ExtraMoneyOnSpawn Handle: ShowBombsite Handle: HalfPlantTime Handle: HalfDefuseTimeNoKit Handle: HalfDefuseTimeKit Handle: Notify new Handle: BhopCookie = INVALID_HANDLE new MoneyOffset = -1 new RoundID = 0 bool: CanBhop[ MAXPLAYERS + 1 ] bool: IsPistolRound = false public Plugin:myinfo = { name = "CS:GO VIP", author = "tre3fla", description = "VIP pentru serverele de csgo", version = "1.2", url = "http://extreamcs.com/forum" } public OnPluginStart( ) { Armor = CreateConVar( "vip_give_armor", "1", "VIP primeste 100 armura la spawn" ) Helmet = CreateConVar( "vip_give_helmet", "1", "VIP primeste helmet daca are armura" ) Bhop = CreateConVar( "vip_autobhop", "1", "VIP poate face bhop automat cand tine apasat space" ) Defuser = CreateConVar( "vip_give_ct_defuser", "1", "VIP primeste defuser atunci cand este CT" ) VipSpeed = CreateConVar( "vip_fast_speed", "1", "VIP primeste viteza de miscare mai mare" ) SpeedAmmount = CreateConVar( "vip_speed_amount", "1.2", "Cat de rapid sa se miste VIP" ) Damage = CreateConVar( "vip_high_damage", "1", "VIP va avea damage mai mare" ) DamageAmount = CreateConVar( "vip_damage_amount", "2", "Cu cat sa fie multiplicat damage-ul vipului" ) HE = CreateConVar( "vip_give_he", "1", "VIP primeste un HE la spawn, daca nu are deja unul" ) Flash = CreateConVar( "vip_give_flash", "1", "VIP primeste un flash la spawn, daca nu are deja unul" ) Molotov = CreateConVar( "vip_give_molotov", "1", "VIP primeste molotov la spawn daca nu are deja unul" ) Smoke = CreateConVar( "vip_give_smoke", "1", "VIP primeste smoke la spawn daca nu are deja unul" ) PistolRoundRule = CreateConVar( "vip_disabled_on_pistol_round", "1", "VIP nu va rula un in rundele de pistoale pe competitive" ) ExtraMoneyOnSpawn = CreateConVar( "vip_give_money_on_spawn", "500", "VIP va primi aceea suma de bani la spawn. 0=dezactivat" ) HpNormalKill = CreateConVar( "vip_normal_kill_hp", "10", "VIP va primi HP cand face frag" ) HpKnifeKill = CreateConVar( "vip_knife_kill_hp", "30", "VIP va primi HP cand face frag cu cutitul" ) HpHeadShotKill = CreateConVar( "vip_headshot_hp", "15", "VIP va primit HP cand face frag cu headshot" ) MaxHP = CreateConVar( "vip_max_hp", "100", "HP-ul maxim pe care il poate avea un VIP" ) MoneyPerNormalKill = CreateConVar( "vip_normal_kill_money", "100", "VIP va primi acea suma de bani cand face frag" ) MoneyPerKnifeKill = CreateConVar( "vip_knife_kill_money", "1000", "VIP va primi acea suma de bani cand face frag cu cutitul" ) MoneyPerHeadShotKill = CreateConVar( "vip_headshot_kill_money", "150", "VIP va primi acea suma de bani cand face frag cu headshot" ) ShowBombsite = CreateConVar( "vip_show_bombsite", "1", "VIP de la ct vor vedea in ce bombsite au plantat teroristii bomba" ) HalfPlantTime = CreateConVar( "vip_bomb_plant_time", "2", "Timp in secunde pentru plantarea bombei de catre VIP" ) HalfDefuseTimeNoKit = CreateConVar( "vip_defuse_time_nokit", "5", "Timp necesar pentru ca VIP sa dea defuse bombei cand nu are kit" ) HalfDefuseTimeKit = CreateConVar( "vip_defuse_time_kit", "2.5", "Timp necesar pentru ca VIP sa dea defuse bombei cand are kit" ) Notify = CreateConVar( "vip_notify_on_bonus", "1", "VIP vor vedea mesaje in chat cand primesc hp, bani, etc" ) MoneyOffset = FindSendPropInfo( "CCSPlayer", "m_iAccount" ) RegConsoleCmd( "bhop", Command_ToggleBhop ) RegConsoleCmd( "vips", Command_ShowVips ) BhopCookie = RegClientCookie( "AutoBhop", "Cookie AutoBhop", CookieAccess_Protected ) HookEvent( "player_spawn", Event_PlayerSpawn ) HookEvent( "player_death", Event_PlayerDeath ) HookEvent( "announce_phase_end", Event_PhaseEnd ) HookEvent( "bomb_planted", Event_BombPlanted ) HookEventEx( "bomb_begindefuse", Event_BeginDefuse ) HookEventEx( "bomb_beginplant", Event_BeginPlant ) HookEvent( "round_end", Event_RoundEnd, EventHookMode_PostNoCopy ) } public OnMapStart( ) { RoundID = 0 IsPistolRound = false } public OnClientCookiesCached( client ) { decl String: UserCookie[ 5 ] GetClientCookie( client, BhopCookie, UserCookie, sizeof( UserCookie ) ) if( StrEqual( UserCookie, "1" ) && IsClientVip( client ) ) { CanBhop[ client ] = true } else { CanBhop[ client ] = false SetClientCookie( client, BhopCookie, "0" ) } } public OnClientPutInServer( client ) { SDKHook( client, SDKHook_WeaponSwitchPost, WeaponSwitchPost ) SDKHook( client, SDKHook_OnTakeDamage, OnTakeDamage ) } public Action: Event_PlayerSpawn( Handle: event, const String: name[ ], bool: dontBroadcast ) { if( GetConVarBool( PistolRoundRule ) && IsPistolRound ) { return Plugin_Handled } new client = GetClientOfUserId( GetEventInt( event, "userid" ) ) if( client > 0 && client < MaxClients && IsClientInGame( client ) && IsPlayerAlive( client ) && !IsFakeClient( client ) ) { if( IsClientVip( client ) ) { RemoveClientGrenades( client ) RequestFrame( GiveSpawnItems, client ) } } return Plugin_Continue } public Action: Event_PlayerDeath( Handle: event, const String: name[ ], bool: dontBroadcast ) { if( GetConVarBool( PistolRoundRule ) && IsPistolRound ) { return Plugin_Handled } new victim = GetClientOfUserId( GetEventInt( event, "userid" ) ) new attacker = GetClientOfUserId( GetEventInt( event, "attacker" ) ) if( attacker > 0 && attacker < MaxClients && IsClientInGame( attacker ) && victim > 0 && victim < MaxClients && IsClientInGame( victim ) && IsClientVip( attacker ) && attacker != victim ) { new bool:Headshot = GetEventBool( event, "headshot" ) char Arma[ 64 ] GetEventString( event, "weapon", Arma, sizeof( Arma ) ) if( Headshot ) { if( GetConVarInt( MoneyPerHeadShotKill ) > 0 && MoneyOffset != -1 ) { SetEntProp( attacker, Prop_Send, "m_iAccount", GetEntProp( attacker, Prop_Send, "m_iAccount" ) + GetConVarInt( MoneyPerHeadShotKill ) ) if( GetConVarBool( Notify ) ) { PrintToChat( attacker, " \x04[VIP]\x10 You recieved extra\x06 $%d\x10 for killing an enemy!", GetConVarInt( MoneyPerHeadShotKill ) ) } } if( GetConVarInt( HpHeadShotKill ) > 0 && GetClientHealth( attacker ) < GetConVarInt( MaxHP ) ) { new ClientHealth = GetClientHealth( attacker ) ClientHealth += GetConVarInt( HpHeadShotKill ) if( ClientHealth > GetConVarInt( MaxHP ) ) { ClientHealth = GetConVarInt( MaxHP ) } SetEntProp( attacker, Prop_Data, "m_iHealth", ClientHealth ) if( GetConVarBool( Notify ) ) { PrintToChat( attacker, " \x04[VIP]\x10 You recieved\x06 %d HP\x10 for killing an enemy!", GetConVarInt( HpHeadShotKill ) ) } } } else if( ( StrContains( Arma, "knife", false ) != -1 ) || ( StrContains( Arma, "bayonet", false ) != -1 ) ) { if( GetConVarInt( MoneyPerKnifeKill ) > 0 && MoneyOffset != -1 ) { SetEntProp( attacker, Prop_Send, "m_iAccount", GetEntProp( attacker, Prop_Send, "m_iAccount" ) + GetConVarInt( MoneyPerKnifeKill ) ) if( GetConVarBool( Notify ) ) { PrintToChat( attacker, " \x04[VIP]\x10 You recieved extra\x06 $%d\x10 for killing an enemy!", GetConVarInt( MoneyPerKnifeKill ) ) } } if( GetConVarInt( HpKnifeKill ) > 0 && GetClientHealth( attacker ) < GetConVarInt( MaxHP ) ) { new ClientHealth = GetClientHealth( attacker ) ClientHealth += GetConVarInt( HpKnifeKill ) if( ClientHealth > GetConVarInt( MaxHP ) ) { ClientHealth = GetConVarInt( MaxHP ) } SetEntProp( attacker, Prop_Data, "m_iHealth", ClientHealth ) if( GetConVarBool( Notify ) ) { PrintToChat( attacker, " \x04[VIP]\x10 You recieved\x06 %d HP\x10 for killing an enemy!", GetConVarInt( HpKnifeKill ) ) } } } else { if( GetConVarInt( MoneyPerNormalKill ) > 0 && MoneyOffset != -1 ) { SetEntProp( attacker, Prop_Send, "m_iAccount", GetEntProp( attacker, Prop_Send, "m_iAccount" ) + GetConVarInt( MoneyPerNormalKill ) ) if( GetConVarBool( Notify ) ) { PrintToChat( attacker, " \x04[VIP]\x10 You recieved extra\x06 $%d\x10 for killing an enemy!", GetConVarInt( MoneyPerNormalKill ) ) } } if( GetConVarInt( HpNormalKill ) > 0 && GetClientHealth( attacker ) < GetConVarInt( MaxHP ) ) { new ClientHealth = GetClientHealth( attacker ) ClientHealth += GetConVarInt( HpNormalKill ) if( ClientHealth > GetConVarInt( MaxHP ) ) { ClientHealth = GetConVarInt( MaxHP ) } SetEntProp( attacker, Prop_Data, "m_iHealth", ClientHealth ) if( GetConVarBool( Notify ) ) { PrintToChat( attacker, " \x04[VIP]\x10 You recieved\x06 %d HP\x10 for killing an enemy!", GetConVarInt( HpNormalKill ) ) } } } } return Plugin_Continue } public Event_PhaseEnd( Handle: event, const String: name[ ], bool: dontBroadcast ) { IsPistolRound = true } public Event_BeginDefuse( Handle: event, const String: name[ ], bool: dontBroadcast ) { if( GetConVarBool( PistolRoundRule ) && !IsPistolRound ) { new client = GetClientOfUserId( GetEventInt( event,"userid" ) ) if( client > 0 && client < MaxClients && IsPlayerAlive( client ) && IsClientVip( client ) && GetConVarBool( HalfDefuseTimeKit ) || GetConVarBool( HalfDefuseTimeNoKit ) ) { CreateTimer( 0.0, DefuseBugFix, client ) } } } public Event_BeginPlant( Handle: event, const String: name[ ], bool: dontBroadcast ) { if( GetConVarBool( PistolRoundRule ) && !IsPistolRound ) { new client = GetClientOfUserId( GetEventInt( event, "userid" ) ) if( client > 0 && client < MaxClients && IsPlayerAlive( client ) && IsClientVip( client ) && GetConVarBool( HalfPlantTime ) ) { new Bomb = GetEntPropEnt( client, Prop_Send, "m_hActiveWeapon" ) decl String: EntityName[ 20 ] GetEntityClassname( Bomb, EntityName, sizeof( EntityName ) ) if( StrEqual( EntityName, "weapon_c4", false ) ) { SetEntPropFloat( Bomb, Prop_Send, "m_fArmedTime", GetGameTime()+GetConVarFloat( HalfPlantTime ) ) } } } } public Event_BombPlanted( Handle: event, const String: name[ ], bool: dontBroadcast ) { if( GetConVarBool( PistolRoundRule ) && !IsPistolRound ) { if( GetConVarBool( ShowBombsite ) ) { new client = GetClientOfUserId( GetEventInt( event, "userid" ) ) decl String: Bombsite[ 64 ] GetEntPropString( client, Prop_Send, "m_szLastPlaceName", Bombsite, sizeof( Bombsite ) ) decl String: BombsiteBuffer[ 32 ] if( StrContains( Bombsite, "BombsiteA" ) != -1 ) { Format( BombsiteBuffer, sizeof( BombsiteBuffer ), "Bombsite A" ) } else if( StrContains( Bombsite, "BombsiteB" ) != -1 ) { Format( BombsiteBuffer, sizeof( BombsiteBuffer ), "Bombsite B" ) } for( new i = 1; i < MaxClients; i++ ) { if( IsClientInGame( i ) && IsClientVip( i ) && GetClientTeam( i ) == 3 && IsPlayerAlive( i ) ) { PrintToChat( i, " \x04[VIP]\x02 %N\x10 has planted the bomb in\x04 %s", client, BombsiteBuffer ) } } } } } public Event_RoundEnd( Handle: event, const String: name[ ], bool: dontBroadcast ) { RoundID++ if( RoundID == 1 ) { IsPistolRound = true } else { IsPistolRound = false } } public Action: OnPlayerRunCmd( client, &buttons, &impulse, Float: vel[ 3 ], Float: angles[ 3 ], &weapon ) { if( IsClientVip( client ) && GetConVarBool( Bhop ) && CanBhop[ client ] ) { if( buttons & IN_JUMP && IsPlayerAlive( client ) && !( GetEntityFlags( client ) & FL_ONGROUND ) && !( GetEntityMoveType( client ) & MOVETYPE_LADDER ) ) { buttons &= ~IN_JUMP } } } public Action: DefuseBugFix( Handle: timer, any: client ) { if( client > 0 && client < MaxClients && IsClientInGame( client ) && IsPlayerAlive( client ) ) { new Bomb = FindEntityByClassname( MaxClients+1, "planted_c4" ) if( Bomb != -1 ) { if( GetEntProp( client, Prop_Send, "m_bHasDefuser" ) ) { SetEntPropFloat( Bomb, Prop_Send, "m_flDefuseCountDown", GetGameTime( ) + GetConVarFloat( HalfDefuseTimeKit ) ) SetEntPropFloat( client, Prop_Send, "m_flProgressBarStartTime", GetGameTime( ) ) SetEntProp( client, Prop_Send, "m_iProgressBarDuration", GetConVarInt( HalfDefuseTimeKit ) ) } else { SetEntPropFloat( Bomb, Prop_Send, "m_flDefuseCountDown", GetGameTime( ) + GetConVarFloat( HalfDefuseTimeNoKit ) ) SetEntPropFloat( client, Prop_Send, "m_flProgressBarStartTime", GetGameTime( ) ) SetEntProp( client, Prop_Send, "m_iProgressBarDuration", GetConVarInt( HalfDefuseTimeNoKit ) ) } } } } public GiveSpawnItems( client ) { if( client > 0 && client < MaxClients && IsClientInGame( client ) && IsPlayerAlive( client ) && GetClientTeam( client ) > 1 ) { if( GetConVarBool( Armor ) ) { SetEntProp( client, Prop_Send, "m_ArmorValue", 100 ) } if( GetConVarBool( Helmet ) && GetEntProp( client, Prop_Send, "m_ArmorValue" ) >= 1 ) { SetEntProp( client, Prop_Send, "m_bHasHelmet", 1 ) } if( GetConVarBool( HE ) && GetEntProp( client, Prop_Send, "m_iAmmo", _, 14 ) < 1 && GetClientGrenades( client ) < GetConVarInt( FindConVar( "ammo_grenade_limit_total") ) ) { GivePlayerItem( client, "weapon_hegrenade" ) } if( GetConVarBool( Flash ) && GetEntProp( client, Prop_Send, "m_iAmmo", _, 15 ) < 1 && GetClientGrenades( client ) < GetConVarInt( FindConVar( "ammo_grenade_limit_total") ) ) { GivePlayerItem( client, "weapon_flashbang" ) } if( GetConVarBool( Smoke ) && GetEntProp( client, Prop_Send, "m_iAmmo", _, 16 ) < 1 && GetClientGrenades( client ) < GetConVarInt( FindConVar( "ammo_grenade_limit_total") ) ) { GivePlayerItem( client, "weapon_smokegrenade" ) } if( GetConVarBool( Molotov ) && GetEntProp( client, Prop_Send, "m_iAmmo", _, 17 ) < 1 && GetClientGrenades( client ) < GetConVarInt( FindConVar( "ammo_grenade_limit_total") ) ) { switch( GetClientTeam( client ) ) { case 2: { GivePlayerItem( client, "weapon_molotov" ) } case 3: { GivePlayerItem( client, "weapon_incgrenade" ) } } } if( GetConVarBool( ExtraMoneyOnSpawn ) && MoneyOffset != -1 ) { SetEntProp( client, Prop_Send, "m_iAccount", GetEntProp( client, Prop_Send, "m_iAccount" ) + GetConVarInt( ExtraMoneyOnSpawn ) ) } if( GetConVarBool( Defuser ) && GetClientTeam( client ) == 3 && GetEntProp( client, Prop_Send, "m_bHasDefuser" ) < 1 ) { SetEntProp( client, Prop_Send, "m_bHasDefuser", 1 ) } } } public Action: Command_ToggleBhop( client, args ) { if( GetConVarBool( PistolRoundRule ) && IsPistolRound ) { PrintToChat( client, " \x04[VIP]\x10 Auto-bhop cannot be used in pistol rounds!" ) return Plugin_Handled } if( GetConVarBool( Bhop ) && IsClientVip( client ) ) { if( CanBhop[ client ] ) { CanBhop[ client ] = false SetClientCookie( client, BhopCookie, "0" ) PrintToChat( client, " \x04[VIP]\x10 Auto-bhop was\x02 disabled\x10!" ) } else { CanBhop[ client ] = true SetClientCookie( client, BhopCookie, "1" ) PrintToChat( client, " \x04[VIP]\x10 Auto-bhop was\x06 enabled\x10!" ) } } else { PrintToChat( client, " \x04[VIP]\x10 You need to be\x06 VIP\x10 to use this command!" ) } return Plugin_Continue } public Action: Command_ShowVips( client, args ) { new Handle: OnlineVips = CreateMenu( OnlineVips_Handler ) SetMenuTitle( OnlineVips, "Online VIPS List" ) new OnlineVipsNum for( new i = 1; i < MaxClients; i++ ) { if( IsClientInGame( i ) && IsClientVip( i ) ) { decl String: uNameBuffer[ 32 ] Format( uNameBuffer, sizeof( uNameBuffer ), "%N", i ) AddMenuItem( OnlineVips, "OnSelect", uNameBuffer, ITEMDRAW_DISABLED ) OnlineVipsNum++ } } if( OnlineVipsNum < 1 ) { if( OnlineVips != INVALID_HANDLE ) { CloseHandle( OnlineVips ) } PrintToChat( client, " \x04[VIP]\x10 There are no vips online!" ) } else { SetMenuExitButton( OnlineVips, true ) DisplayMenu( OnlineVips, client, 30 ) } } public OnlineVips_Handler( Handle: OnlineVips, MenuAction: action, client, menu ) { switch( action ) { case MenuAction_End: { if( OnlineVips != INVALID_HANDLE ) { CancelMenu( OnlineVips ) } } } } public Action: WeaponSwitchPost( client, weapon ) { if( IsClientVip( client ) && IsPlayerAlive( client ) && GetConVarBool( VipSpeed ) ) { SetEntPropFloat( client, Prop_Send, "m_flVelocityModifier", GetConVarFloat( SpeedAmmount ) ) } } public Action: OnTakeDamage( victim, &attacker, &inflictor, &Float:damage, &damagetype ) { if( inflictor > 0 && inflictor < MaxClients && IsClientInGame( inflictor ) && GetClientTeam( inflictor ) != GetClientTeam( victim ) ) { if( IsClientVip( inflictor ) && GetConVarBool( Damage ) ) { damage = ( damage * GetConVarInt( DamageAmount ) ) return Plugin_Changed } } return Plugin_Continue } stock bool: IsClientVip( client ) { if( GetUserFlagBits( client ) & VIP_FLAG ) { return true } return false } stock GetClientGrenades( client ) { new Explosive = GetEntProp( client, Prop_Send, "m_iAmmo", _, 14 ) new Flashbang = GetEntProp( client, Prop_Send, "m_iAmmo", _, 15 ) new Smokegrenade = GetEntProp( client, Prop_Send, "m_iAmmo", _, 16 ) new Incendiary = GetEntProp( client, Prop_Send, "m_iAmmo", _, 17 ) new Decoy = GetEntProp( client, Prop_Send, "m_iAmmo", _, 18 ) return Explosive + Flashbang + Smokegrenade + Incendiary + Decoy } stock RemoveClientGrenades( client ) { if( GetEntProp( client, Prop_Send, "m_iAmmo", _, 14 ) >= 1 ) { SetEntProp( client, Prop_Send, "m_iAmmo", 0, _, 14 ) } if( GetEntProp( client, Prop_Send, "m_iAmmo", _, 15 ) >= 1 ) { SetEntProp( client, Prop_Send, "m_iAmmo", 0, _, 15 ) } if( GetEntProp( client, Prop_Send, "m_iAmmo", _, 16 ) >= 1 ) { SetEntProp( client, Prop_Send, "m_iAmmo", 0, _, 16 ) } if( GetEntProp( client, Prop_Send, "m_iAmmo", _, 17 ) >= 1 ) { SetEntProp( client, Prop_Send, "m_iAmmo", 0, _, 17 ) } if( GetEntProp( client, Prop_Send, "m_iAmmo", _, 18 ) >= 1 ) { SetEntProp( client, Prop_Send, "m_iAmmo", 0, _, 18 ) } }[/sursa] Informatii Plugin (beneficii) Cam tot ce contine acest VIP este controlabil cu ajutorul convar-urilor, fara sa fie necesare editari ale sursei! Are suport pentru rundele de pistoale, se poate seta ca pluginul sa nu ruleze in rundele de pistoale, Jucatorii VIP au auto-bhop care si-l pot dezactiva sau activa cu ajutorul unei comenzi (doar daca auto-bhop este permis prin convar), Jucatorii VIP pot primi armura mica la spawn, Jucatorii VIP pot primit casca la spawn, doar daca au deja armura pe ei, Jucatorii VIP de la CT pot primi defuse kit la spawn, Jucatorii VIP pot primit bani la spawn, Jucatorii VIP pot primi un set cu grenazi la fiecare spawn (1x HE, 1x Flash, 1x Molotov/Incendiary si 1x Smoke) Daca rulati un server casual nemodificat, unde poti avea maxim 3 grenazi jucatorii vor primi maximul de grenazi permise de server, iar surplusul nu va fi dropat pe jos, Jucatorii VIP pot primii HP atunci cand fac frag, in functie de frag-ul facut (HeadShot, kill cu lama, kill simplu), Jucatorii VIP pot primii bani in plus atunci cand fac frag, in functie de frag-ul facut (HeadShot, kill cu lama, kill simplu), Jucatorii VIP de la tero pot planta bomba mai repede decat un jucator normal, Jucatorii VIP de la CT pot da defuse bombei mai repede decat un jucator normal, Jucatorii VIP pot avea damage mai mare decat restul jucatorilor (disponibil de la versiunea 1.2), Jucatorii VIP pot avea viteza de miscare mai mare decat restul jucatorilor (disponibil de la versiunea 1.1) Jucatorii normali, cat si vipii, pot vedea ce vipi sunt online cu ajutorul comenzii !vips (disponibil de la versiunea 1.1), Jucatorii VIP de la CT pot vedea in chat in ce bombsite s-a plantat bomba, dupa ce o planteaza teroristul. Convar-uri (se adauga in autoexec.cfg) vip_give_armor - Daca este setat pe 1, jucatorii VIP vor primi 100 armura la fiecare spawn. Default: 1 vip_give_helmet - Daca este setat pe 1, jucatorii VIP vor primi casca la fiecare spawn, daca au deja armura. Default: 1 vip_autobhop - Daca este setat pe 1, jucatorii VIP pot avea auto-bhop. Default: 1 vip_give_ct_defuser - Daca este setat pe 1, jucatorii VIP de la CT vor primi defuser la fiecare spawn, daca nu au deja unul. Default: 1 vip_give_he - Daca este setat pe 1, jucatorii VIP vor primi cate un HE grenade la fiecare spawn. Default: 1 vip_give_flash - Daca este setat pe 1, jucatorii VIP vor primi cate un flash la fiecare spawn. Default: 1 vip_give_molotov - Daca este setat pe 1, jucatorii VIP vor primi cate un molotov/incendiary la fiecare spawn. Default: 1 vip_give_smoke - Daca este setat pe 1, jucatorii VIP vor primi cate un smoke la fiecare spawn. Default: 1 vip_give_money_on_spawn <suma> - Jucatorii VIP vor primi suma de bani respectiva la fiecare spawn. Default: 500 vip_normal_kill_hp - HP-ul primit de VIP atunci cand face un frag simplu. Default: 10 vip_knife_kill_hp - HP-ul primit de VIP atunci cand face un frag cu cutitul. Default: 30 vip_headshot_hp - HP-ul primit de VIP atunci cand face un frag cu headshot. Default: 15 vip_max_hp - HP-ul maxim pe care il poate avea un VIP. Default: 100 vip_normal_kill_money <suma> - Suma de bani pe care o primeste VIP cand face un frag simplu. Default: 100 vip_knife_kill_money <suma> - Suma de bani pe care o primeste VIP atunci cand face frag cu cutitul. Default: 1000 vip_headshot_kill_money <suma> - Suma de bani pe care o primeste VIP atunci cand face frag cu headshot. Default: 150 vip_bomb_plant_time <timp> - Cat timp (in secunde) sa dureze plantarea bombei la un VIP. Default: 2 (timp-ul default al jocului este 3.9 secunde) vip_defuse_time_nokit <timp> - Cat timp (in secunde) sa dureze dezamorsarea bombei de catre un VIP care nu are kit. Default 5 (timp-ul default al jocului este de 10 secunde) vip_defuse_time_kit <timp> - Cat timp (in secunde) sa dureze dezamorsarea bombei de catre un VIP care are kit. Default: 2.5 (timp-ul default al jocului este de 5 secunde) vip_disabled_on_pistol_round - Daca este setat pe 1, pluginul nu va rula in rundele de pistoale. Default: 1 vip_show_bombsite - Daca este setat pe 1, VIP in viata, de la CT, pot vedea in chat in ce bombsite au plantat teroristii bomba. Default: 1 vip_notify_on_bonus - Daca este setat pe 1, VIP va fie informat printr-un mesaj in chat atunci cand primeste un bonus specific VIP-ului (cum ar fi bani, hp). Default: 1 vip_fast_speed - Daca este setat pe 1, VIP vor avea viteza de miscare mai mare. Default: 1 vip_speed_amount - Valoarea multiplicatorului de viteza (vezi pagina 2 pentru detalii). Default 1.2 vip_high_damage - Daca este setat pe 1, VIP vor avea damage mai mare decat restul jucatorilor vip_damage_amount - Valoarea multiplicatorului de damage (vezi pagina 3 pentru detalii). Default 2 (damage dublu) Oricare dintre convar-urile de mai sus pot fi dezactivate daca sunt setate pe o valoare mai mica decat 1 (cum ar fi 0). La convar-urile de plantare si dezamorsare a bombei, daca sunt setate pe 1 va rezulta in plantarea/dezamorsarea instanta a bombei! Comenzi !bhop - poate fi folosita de catre VIP atunci cand vor sa-si activeze sau sa-si dezactiveze auto-bhop-ul, !vips - poate fi folosita de oricine. Cu ajutorul acestei comenzi poti vedea vipii online intr-un meniu. Changelog Versiunea 1.1: A fost adaugata comanda !vips ce arata vipii online intru-un meniu A fost adaugata viteza ce poate fi controlata prin convar-uri A fost adaugat convar-ul vip_fast_speed ce activeaza sau dezactiveaza viteza la vipilor A fost adaugat convar-ul vip_speed_ammount ce controleaza multiplicatorul de viteza al vipilor Versiunea 1.2 A fost adaugat damage ce poate fi controlat prin convar-uri A fost adaugat convar-ul vip_high_damage ce activeaza sau dezactiveaza damage-ul marit al vipilor A fost adaugat convar-ul vip_damage_amount ce controleaza multiplicatorul de damage al vipilor Convarul vip_speed_ammount a fost modificat in vip_speed_amount. Face acelasi lucru, doar numele a fost schimbat. Cei care faceti update, nu uitati sa modificati si numele acestui convar in autoexec.cfg Rezolvare spam din consola In cazul in care sunteti spamati in consola cu mesaje de genul: DataTable warning: player: Out-of-range value (1.20000000) in SendPropFloat 'm_flVelocityModifier', clamping. Acele mesaje nu va afecteaza cu nimic, nu sunt erori, sunt warning-uri, ceea ce inseamna ca este un simplu text si nu iti afecteaza serverul cu nimic. Daca totusi te enerveaza acel spam, pentru a scapa de el trebuie sa instalezi extensia Cleaner pe care o puteti descarca de aici: https://forums.alliedmods.net/showthread.php?t=195008 Instalare 1. Fisierul csgo_vip.sp se adauga in addons/sourcemod/scripting 2. Fisierul csgo_vip.smx se adauga in addons/sourcemod/plugins Orice modificare se cere si se ofera in acest topic, nu in PM. Raportarile de buguri se fac tot in acest topic. De preferat sa fie insotite de erorile din log-uri sau o poza / video daca nu sunt erori.
  14. Pasul 1: Intra in consola, scrie status, muta click-ul pe numele player-ului pe care vrei sa-l dai afara/sa-l banezi. Langa numele lui este scris un numar: Pasul 2: Copiaza numarul respectiv si scrie in consola alaturi de "#" si numarul respectiv: Rezultat: *Acest tutorial ajuta mai mult adminii care vor sa dea afara un player pe care nu-l poti da afara scriind-ui numele in consola.
  15. Salut. Astazi o sa va prezint toate cele 3 metode de a decompila un plugin care dau roade cu ultima versiune de AMX Mod X. O sa iau fiecare metoda pe rand, de la cea mai usoara, pana la cea mai dificila. Am pus diferite pluginuri pentru fiecare metoda pentru ca decompilerele nu sunt "universale" (exemplu: un plugin poate nu merge sa fie decompilat prin metoda 1, asa ca puteti folosi metoda 2 sau 3). Ca o paranteza, nu exista "metoda" care sa decompileze si sa arate 100% pluginul (poti doar sa-l editezi pana la un anumit punct cu metoda 2 si 3). Si bineinteles, pentru ca metoda de a decompila exista, exista si metoda de anti-decompilare, adica introducerea unui anumit cod in sursa care sa impiedice decompilarea pluginului. Hai sa incepem: 1. Lysis: Post original: Lysis Descarcare: MediaFire Pasi: 1. Intram in folderul "Lysis". 2. Avem fisierul compilat "target_info.amxx". Tinem apasat cu mouse-ul pe el si il ducem in fisierul "LysisDecompile.exe" (il deschidem cu LysisDecompile). 3. O sa va apara un fisier text cu acelasi nume al pluginului. Se va afisa o mare parte din codul sursa, dar repet, nu intreg codul sursa. Enjoy. NOTA: Nu am stat la aceasta metoda sa studiez care sunt codurile pentru anti-decompilare, dar exista coduri care blocheaza decompilarea si multe pluginuri care nu merg decompilate cu aceasta metoda. 2. AMXX UnCompress: Post original: [TOOL] AMXX UnCompress 1.0 Descarcare: MediaFire Pasi: 1. Deschidem folderul "AMXX UnCompress 1.1". 2. Avem fisierul compilat "SayBind_Blocker.amxx". Tinem apasat cu mouse-ul pe el si il ducem in fisierul "amxx_uncompress.exe" (il deschidem cu amxx_uncompress). Ne apare o fereastra in care se realizeaza procesul de decompilare care nu ar trebui sa dureze mai mult de 3 secunde. Ne vor aparea inca 2 fisiere. 3. Stergem fisierul "SayBind_Blocker.amxx". 4. Dupa ce am facut pasul anterior, vom avea doar 2 fisiere cu care vom lucra: SayBind_Blocker.memory SayBind_Blocker.raw In fisierul "SayBind_Blocker.memory" modificam ce dorim (practic este fisierul .amxx decompilat). Putem sa modificam textul de exemplu: Text original: [sursa=][/sursa] Text modificat: [sursa=][/sursa] 5. Salvam si dupa iesim. 6. Ca sa compilam noul fisier .amxx, ducem fisierul "SayBind_Blocker.raw" in "amxx_uncompress.exe". 7. Enjoy. NOTA: Pentru anti-decompilare, bagati in codul sursa urmatorul string: server_print("no_amxx_uncompress") NOTA 2: Aceasta metoda este recomandata pentru a scoate licenta dintr-un plugin (IP sau DNS). Asa multi copii de pe forum-ul asta au scos licentele din multe pluginuri pentru ca autorii pluginurilor nu au stiut de aceasta metoda. 3. amxxdump: Post original: amxxdump Descarcare: MediaFire Pasi: 1. Intram in folderul "amxxdump". 2. Mergem in folderul "bin" si vedem ca avem fisierele necesare programului si pluginul "target_info.amxx" (cel de la metoda 1). 3. Copiem tot folderul "amxxdump" in: My Computer\Local Disk (C:) Poate sa fie si alta partitie, nu este obligatoriu C:, dar eu am luat ca asa imi este mai usor. 4. Mergem in Start si deschidem programul "cmd.exe" (command.exe). 5. Mergand pe considerentul ca ati pus folderul "amxxdump" in partitia πŸ˜„ ca mine, tastam in felul urmator: cd "C:\amxxdump\bin" 6. Dupa aceea tastam comanda urmatoare care ne va arata o lista cu parametrii valabili: amxxdump -? 7. Editam pluginul. Exemplu de comanda conform parametrilor: amxxdump -x target_info.amxx 8. Enjoy. NOTA: Nu am stat la aceasta metoda sa studiez care sunt codurile pentru anti-decompilare, dar din cate am observat nu exista un cod pentru anti-decompilare in amxxdump. Update 11-03-2017: Treaba cu anti-decompilarea este lamurita in topicul lui SkillartzHD: diverse/proiect-impotriva-lysis-pentru-amxx-t331638.html
Γ—