Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <amxmodx>
- #include <amxmisc>
- #include <fun>
- #include <hamsandwich>
- #include <cstrike>
- #include <engine>
- #include <fakemeta>
- #include <colorchat>
- #define PLUGIN "PaintBall_VIP"
- #define VERSION "1.0"
- #define AUTHOR "Yakavetta"
- #define Tag "[Bonus]"
- #define VIP_CHECK ADMIN_LEVEL_H
- #define ADMIN_VIP ADMIN_LEVEL_H
- #define OFFSET_CLIPAMMO 51
- #define OFFSET_LINUX_WEAPONS 4
- #define fm_cs_set_weapon_ammo(%1,%2) set_pdata_int(%1, OFFSET_CLIPAMMO, %2, OFFSET_LINUX_WEAPONS)
- // players offsets
- #define m_pActiveItem 373
- const NOCLIP_WPN_BS = ((1<<CSW_HEGRENADE)|(1<<CSW_SMOKEGRENADE)|(1<<CSW_FLASHBANG)|(1<<CSW_KNIFE)|(1<<CSW_C4))
- new const g_MaxClipAmmo[] =
- {
- 0,
- 13, //CSW_P228
- 0,
- 10, //CSW_SCOUT
- 0, //CSW_HEGRENADE
- 7, //CSW_XM1014
- 0, //CSW_C4
- 30,//CSW_MAC10
- 30, //CSW_AUG
- 0, //CSW_SMOKEGRENADE
- 15,//CSW_ELITE
- 20,//CSW_FIVESEVEN
- 25,//CSW_UMP45
- 30, //CSW_SG550
- 35, //CSW_GALIL
- 25, //CSW_FAMAS
- 12,//CSW_USP
- 20,//CSW_GLOCK18
- 10, //CSW_AWP
- 30,//CSW_MP5NAVY
- 100,//CSW_M249
- 8, //CSW_M3
- 30, //CSW_M4A1
- 30,//CSW_TMP
- 20, //CSW_G3SG1
- 0, //CSW_FLASHBANG
- 7, //CSW_DEAGLE
- 30, //CSW_SG552
- 30, //CSW_AK47
- 0, //CSW_KNIFE
- 50//CSW_P90
- }
- static const COLOR[] = "^x04" //green
- static const CONTACT[] = ""
- enum {
- SCOREATTRIB_ARG_PLAYERID = 1,
- SCOREATTRIB_ARG_FLAGS
- };
- enum ( <<= 1 ) {
- SCOREATTRIB_FLAG_NONE = 0,
- SCOREATTRIB_FLAG_DEAD = 1,
- SCOREATTRIB_FLAG_BOMB,
- SCOREATTRIB_FLAG_VIP
- };
- new pCvar_AdminVIP;
- new maxplayers
- new gmsgSayText
- new vip_bombe
- new vip_hp
- new vip_dosao
- new vip_boja_huda
- new vip_gravitacija
- new vip_brzina
- new vip_skin
- new cStatus, cMaxHealth;
- new cKill, cHeadshot;
- public plugin_init() {
- register_plugin(PLUGIN, VERSION, AUTHOR)
- RegisterHam(Ham_Spawn, "player", "Spawn", 1)
- vip_bombe = register_cvar("vip_bombe","1")
- vip_hp = register_cvar("vip_hp","50")
- vip_dosao = register_cvar("vip_dosao","1")
- vip_boja_huda = register_cvar("vip_boja_huda","1")
- pCvar_AdminVIP = register_cvar( "amx_adminvip", "1" );
- vip_gravitacija = register_cvar("vip_gravitacija","0.2")
- vip_brzina = register_cvar("vip_brzina","50.0")
- vip_skin = register_cvar("vip_skin","1")
- cStatus = register_cvar("bonus_status", "1");
- cMaxHealth = register_cvar("bonus_maxhealth", "300");
- cKill = register_cvar("bonus_kill", "40");
- cHeadshot = register_cvar("bonus_headshot", "50");
- /* Player Killed */
- register_event( "DeathMsg", "EventDeathMsg", "a", "1>0" );
- register_cvar("amx_contactinfo", CONTACT, FCVAR_SERVER)
- register_clcmd("say", "handle_say")
- maxplayers = get_maxplayers()
- register_message( get_user_msgid( "ScoreAttrib" ), "MessageScoreAttrib" );
- gmsgSayText = get_user_msgid("SayText")
- register_event("ResetHUD", "resetModel", "b")
- register_event("CurWeapon", "eCurWeapon", "be", "1=1");
- register_plugin( PLUGIN , VERSION , AUTHOR );
- register_event("CurWeapon" , "Event_CurWeapon" , "be" , "1=1" );
- register_clcmd("say", "sayee")
- maxplayers = get_maxplayers()
- }
- public plugin_precache() {
- precache_model("models/player/vipt/vipt.mdl")
- precache_model("models/player/vipct/vipct.mdl")
- }
- public resetModel(id)
- {
- if(get_pcvar_num(vip_skin) == 1)
- return PLUGIN_CONTINUE;
- if(is_user_connected(id) && is_user_alive(id) && get_user_flags(id) & ADMIN_LEVEL_H)
- {
- switch(cs_get_user_team(id))
- {
- case CS_TEAM_T:
- cs_set_user_model(id, "vipt");
- case CS_TEAM_CT:
- cs_set_user_model(id, "vipct");
- }
- }
- return PLUGIN_CONTINUE;
- }
- public Spawn(id)
- {
- if(is_user_connected(id) && is_user_alive(id) && get_user_flags(id) & ADMIN_LEVEL_H)
- {
- switch(get_pcvar_num(vip_bombe))
- {
- case 1:
- {
- give_item(id,"weapon_hegrenade")
- }
- case 0:
- return PLUGIN_CONTINUE;
- }
- set_user_health(id,get_user_health(id) + get_pcvar_num(vip_hp))
- set_user_maxspeed(id, get_user_maxspeed(id) + get_pcvar_float(vip_brzina))
- set_user_gravity(id, get_user_gravity(id) - get_pcvar_float(vip_gravitacija))
- }
- return PLUGIN_HANDLED;
- }
- public eCurWeapon(id)
- {
- CheckSpeed(id);
- return PLUGIN_CONTINUE;
- }
- public CheckSpeed(id)
- set_user_maxspeed(id, get_user_maxspeed(id) + get_pcvar_num(vip_brzina));
- public client_putinserver(id)
- {
- set_task(3.0,"vip_doso",id)
- }
- public vip_doso(id)
- {
- if(is_user_connected(id))
- {
- if(get_user_flags(id) & ADMIN_LEVEL_H)
- {
- if(is_user_connected(id))
- if(get_pcvar_num(vip_dosao) == 0)
- return PLUGIN_HANDLED
- new name[32]
- get_user_name(id, name, 31)
- if(get_pcvar_num(vip_boja_huda) == 1)
- {
- set_hudmessage(255, 0, 0, 0.06, 0.73, 0, 6.0, 12.0) //crvema
- show_hudmessage(0, "VIP %s je dosao na server",name)
- }
- if(get_pcvar_num(vip_boja_huda) == 2)
- {
- set_hudmessage(0, 255, 0, 0.06, 0.73, 0, 6.0, 12.0) //zelena
- show_hudmessage(0, "VIP %s je dosao na server",name)
- }
- if(get_pcvar_num(vip_boja_huda) == 3)
- {
- set_hudmessage(0, 255, 255, 0.06, 0.73, 0, 6.0, 12.0) //plava
- show_hudmessage(0, "VIP %s je dosao na server",name)
- }
- return PLUGIN_HANDLED
- }
- return PLUGIN_HANDLED
- }
- return PLUGIN_HANDLED
- }
- public handle_say(id) {
- new said[192]
- read_args(said,192)
- if( ( containi(said, "who") != -1 && containi(said, "vip") != -1 ) || contain(said, "/vips") != -1 )
- set_task(0.1,"print_adminlist",id)
- return PLUGIN_CONTINUE
- }
- public print_adminlist(user)
- {
- new adminnames[33][32]
- new message[256]
- new contactinfo[256], contact[112]
- new id, count, x, len
- for(id = 1 ; id <= maxplayers ; id++)
- if(is_user_connected(id))
- if(get_user_flags(id) & VIP_CHECK)
- get_user_name(id, adminnames[count++], 31)
- len = format(message, 255, "%s ONLINE VIP-ovi su: ",COLOR)
- if(count > 0) {
- for(x = 0 ; x < count ; x++) {
- len += format(message[len], 255-len, "%s%s ", adminnames[x], x < (count-1) ? ", ":"")
- if(len > 96 ) {
- print_message(user, message)
- len = format(message, 255, "%s ",COLOR)
- }
- }
- print_message(user, message)
- }
- else {
- len += format(message[len], 255-len, "Nema online VIP-ova")
- print_message(user, message)
- }
- get_cvar_string("amx_contactinfo", contact, 63)
- if(contact[0]) {
- format(contactinfo, 111, "%s Contact Server Vip -- %s", COLOR, contact)
- print_message(user, contactinfo)
- }
- }
- print_message(id, msg[]) {
- message_begin(MSG_ONE, gmsgSayText, {0,0,0}, id)
- write_byte(id)
- write_string(msg)
- message_end()
- }
- public MessageScoreAttrib( iMsgId, iDest, iReceiver ) {
- if( get_pcvar_num( pCvar_AdminVIP ) ) {
- new iPlayer = get_msg_arg_int( SCOREATTRIB_ARG_PLAYERID );
- if( access( iPlayer, ADMIN_VIP ) ) {
- set_msg_arg_int( SCOREATTRIB_ARG_FLAGS, ARG_BYTE, SCOREATTRIB_FLAG_VIP );
- }
- }
- }
- public Event_CurWeapon( id )
- {
- if(is_user_connected(id))
- {
- if(get_user_flags(id) & ADMIN_LEVEL_H)
- {
- new iWeapon = read_data(2)
- if( !( NOCLIP_WPN_BS & (1<<iWeapon) ) )
- {
- fm_cs_set_weapon_ammo( get_pdata_cbase(id, m_pActiveItem) , g_MaxClipAmmo[ iWeapon ] )
- }
- }
- return PLUGIN_HANDLED
- }
- return PLUGIN_HANDLED
- }
- public sayee(id){
- if(get_user_flags(id) & ADMIN_LEVEL_H)
- {
- new said[192], name[30]
- get_user_name(id,name,29)
- read_args(said,191)
- remove_quotes(said)
- ColorChat(0, GREEN,"[V.I.P] ^3%s ^1: %s",name,said)
- }
- return PLUGIN_HANDLED
- }
- GiveHealth(id, count)
- set_user_health(id, min( (get_user_health(id) + count), get_pcvar_num(cMaxHealth) ))
- public EventDeathMsg( id ) {
- if(get_user_flags(id) & ADMIN_LEVEL_H)
- {
- new killer = read_data(1);
- new victim = read_data(2);
- new headshot = read_data(3);
- new weapon = get_user_weapon(killer);
- new num;
- if(killer == victim || !get_pcvar_num(cStatus) || !is_user_connected(victim) || !is_user_alive(killer))
- return PLUGIN_HANDLED;
- if(headshot) {
- num = get_pcvar_num(cHeadshot)
- GiveHealth(killer, num)
- HudMessage(killer, "Healed +%ihp", num)
- } else {
- num = get_pcvar_num(cKill)
- GiveHealth(killer, num)
- HudMessage(killer, "Healed +%ihp", num)
- }
- }
- return PLUGIN_CONTINUE;
- }
- stock HudMessage(const id, const input[], any:...) {
- static msg[191];
- vformat(msg, 190, input, 3);
- set_hudmessage(127, 170, 255, 0.27, 0.14, 0, 5.0, 5.0, 0.0, 0.0, -1);
- show_hudmessage(id, "%s^n%s", Tag, msg)
- }
- /*
- CREDITS:
- Yakavetta PB VIP
- Defuser Knife Vip
- */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement