Modificare plugin [rezolvat]

Modificari necesare ale pluginurilor

Moderators: Moderatori ajutatori, Moderatori, Echipa eXtreamCS.com

Locked
User avatar
Stai..Ce?
Membru, skill +1
Membru, skill +1
Posts: 366
Joined: 03 Jun 2017, 18:56
Detinator Steam: Da
CS Status: N/A
Detinator server CS: FUN.LALEAGANE.RO
SteamID: jetski_fun
Fond eXtream: 0
Location: str. îngustă, nr. sub fustă.

20 Mar 2018, 18:37

Salut. Am nevoie de urmatoarele modificari la pluginul de vip:
- De adaugat sa dea hp si pe headshot (+25 hp) si la kill normal sa fie +15 hp.
- De adaugat sa dea 250 $ pe kill normal si 350 $ pe headshot
P.s: Nu imi apare damage-ul facut (imi apare doar daca trag in alt vip), daca se poate fixa si asta.
Sursa:
Aici | Afiseaza codul
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <engine>
#include <hamsandwich>
#include <fun>

#define PLUGIN "VipCs"
#define VERSION "1.5"
#define AUTHOR "Alexandru"
#define RUNDA_ARME 4

new const g_szFileName [] = "vip_list.ini";
new g_szFile[128];
new Trie: g_tVipList;
new bool: g_bIsVip[33]; // = false
new g_type, g_enabled, g_recieved, bool:g_showrecieved, g_hudmsg1, g_hudmsg2;
new jumpnum[33] = 0;
new bool:dojump[33] = false;
new RoundCheck

public plugin_init()
{
    register_plugin(PLUGIN, VERSION, AUTHOR);
    RegisterHam(Ham_Spawn, "player", "HAM_Spawn_Post", 1);
    
    register_event("Damage", "on_damage", "b", "2!0", "3=0", "4!0");
    register_event("HLTV", "event_new_round", "a", "1=0", "2=0")
    
    g_type = register_cvar("amx_bulletdamage","1");
    g_recieved = register_cvar("amx_bulletdamage_recieved","1");
    register_cvar("amx_maxjumps","1");
    
    g_hudmsg1 = CreateHudSyncObj();
    g_hudmsg2 = CreateHudSyncObj();
    
    register_clcmd("say /vips","cmdVips");
    register_clcmd("say_team /vips","cmdVips");
}

public plugin_precache()
{
    g_tVipList = TrieCreate();
}


public plugin_cfg()
{
    new szDir[128];
    get_configsdir(szDir, charsmax(szDir));
    
    formatex(g_szFile, charsmax(g_szFile), "%s/%s", szDir, g_szFileName);
    
    if(!file_exists(g_szFile)) 
    {
        new fp = fopen(g_szFile, "a+");
        if(fp)
        {
            fputs(fp, "; ===========================================================^n");
            fputs(fp, "; --------------------- VIP LIST ----------------------------^n");
            fputs(fp, "; ===========================================================^n");
            fputs(fp, "; Nota: Incepe randul cu ^";^" pentru a dezactiva un VIP^n" );
            //fputs( fp, "^b" );
        }
        
        fclose(fp);
    }
    
    ReadIniFile();
}

public plugin_end()
{
    TrieDestroy(g_tVipList);
}

public event_new_round(){
	RoundCheck++
}

ReadIniFile()
{
    new fp = fopen(g_szFile , "rt");
    if(!fp)
    {
        return 0;
    }
    
    new szData[256], i;
    
    while(!feof(fp))
    {
        fgets(fp, szData, charsmax(szData));
        trim(szData);
        
        if(!szData[0] || szData[0] == ';' || szData[0] == '#' || (szData[0] == '/' && szData[1] == '/'))
        {
            continue;
        }
        
        TrieSetCell(g_tVipList, szData, i);
        i ++;
    }
    
    return 0;
}

public client_putinserver(id)
{
    new szName[32]; get_user_name(id, szName, charsmax(szName))
    new szSteamID[32]; get_user_authid(id, szSteamID, charsmax(szSteamID))
    if(TrieKeyExists(g_tVipList, szName) || TrieKeyExists(g_tVipList, szSteamID))
    {
        g_bIsVip[id] = true;
    }


    if(g_bIsVip[id])
    {
        jumpnum[id] = 0;
        dojump[id] = false;
    }
}

public client_disconnect(id)
{
    if(g_bIsVip[id])
    {
        g_bIsVip[id] = false;
        jumpnum[id] = 0;
        dojump[id] = false;
    }
}


public HAM_Spawn_Post(id)
{
    if(is_user_alive(id) && g_bIsVip[id])
    {
        give_item(id, "weapon_deagle");
        cs_set_user_bpammo(id, CSW_DEAGLE, 35);
        give_item(id, "weapon_hegrenade");
        give_item(id, "weapon_flashbang");
        cs_set_user_bpammo(id, CSW_FLASHBANG, 2);
        cs_set_user_armor(id, 100, CS_ARMOR_VESTHELM);
        g_enabled = get_pcvar_num(g_type);
        //new CM[32]
        //get_mapname(CM,charsmax(CM))
        //if((containi(CM,"de_")))
        //{
        if(cs_get_user_team(id)==CS_TEAM_CT)
        {
                /*if(cs_get_user_defuse(id)==1)
                    cs_set_user_defuse(id, 1, 255, 255, 0, "defuser", 0)
                else cs_set_user_defuse(id, 1, 255, 255, 0, "defuser", 0)*/
                cs_set_user_defuse(id, 1, 255, 255, 0, _, 0)
        }
        if(get_pcvar_num(g_recieved))
            g_showrecieved = true;
        if(RoundCheck >= RUNDA_ARME)
	show_menuX(id);
    }
}


public on_damage(id)
{
    if(g_enabled && g_bIsVip[id])
    {
        static attacker; attacker = get_user_attacker(id);
        static damage; damage = read_data(2);
        if(g_showrecieved)
        {
            set_hudmessage(255, 0, 0, 0.45, 0.50, 2, 0.1, 4.0, 0.1, 0.1, -1);
            ShowSyncHudMsg(id, g_hudmsg2, "%i^n", damage);
        }
        if(is_user_connected(attacker))
        {
            if(g_bIsVip[attacker])
            {
                set_hudmessage(0, 100, 200, -1.0, 0.55, 2, 0.1, 4.0, 0.02, 0.02, -1);
                ShowSyncHudMsg(attacker, g_hudmsg1, "%i^n", damage);
            }
        }
    }
}


public cmdVips(id) {
    new iPlayers[32],iNum,len,name[32],buffer[256],player,i,count = 0;
    get_players(iPlayers,iNum);
    for(i = 0;i < iNum; i++)
    {
        player = iPlayers;
        if(g_bIsVip[player])
        {
            count++;
            get_user_name(player,name,charsmax(name));
            
            len = len+= formatex(buffer[len],charsmax(buffer),"%s ,",name);
        }
    }
    if(count > 0)
    client_print(id,print_chat,"[Cs] Membrii VIP online: %s",buffer);
    else
    client_print(id,print_chat,"[Cs] Nu este niciun membru VIP online.");
}


public show_menuX(id)
{
    new menu = menu_create("\r MENIU VIP CS :", "v_handler");
    menu_additem(menu, "\y M4A1", "1");
    menu_additem(menu, "\y AK47", "2");
    menu_additem(menu, "\y AWP", "3");
    //menu_setprop(menu, MPROP_EXIT, MEXIT_ALL)
    menu_display(id, menu);
}

public v_handler(id, menu, item) // de modificat...
{
    if(!g_bIsVip[id])
    {
        menu_destroy(menu);
        return PLUGIN_HANDLED;
    }
    
    if(!is_user_alive(id))
    {
        menu_destroy(menu);
        return PLUGIN_HANDLED;
    }
    
    /*
    if(item < 0)
    {
        return 0
    }
    
    new Key[3]
    new Access, CallBack
    
    menu_item_getinfo(menu, item, Access, Key, 2, _, _, CallBack)
    
    new isKey = str_to_num(Key)
    */
    
    switch(item) // switch(isKey)
    {
        case 0:
        {
            give_item(id, "weapon_m4a1");
            cs_set_user_bpammo(id, CSW_M4A1, 90);
        }
        case 1:
        {
            give_item(id, "weapon_ak47");
            cs_set_user_bpammo(id, CSW_AK47, 90);
        }
        case 2:
        {
            give_item(id, "weapon_awp");
            cs_set_user_bpammo(id, CSW_AWP, 30);
        }
    }
    menu_destroy(menu);
    return PLUGIN_HANDLED;
}

public client_death(killer, victim, wpnindex, hitplace, TK) // de modficat
{
    if(wpnindex == CSW_C4 || killer == victim || !is_user_connected(killer) || !is_user_connected(victim) || !g_bIsVip[killer])
    {
        return PLUGIN_HANDLED;
    }
    
    if(hitplace == HIT_HEAD)
    {
        set_user_health(killer, min(100, get_user_health(killer) + 25));
        //cs_set_user_money(killer, cs_get_user_money(killer) + 250);
    }
    
    if(hitplace != HIT_HEAD) // else
    {
        set_user_health(killer, min(100, get_user_health(killer) + 25));
        //cs_set_user_money(killer, cs_get_user_money(killer) + 150);
    }
    
    //set_user_health(killer, get_user_health(killer) + 25)
    
    return PLUGIN_HANDLED;
}

public client_PreThink(id)
{
    if(!is_user_alive(id) || !g_bIsVip[id]) return PLUGIN_CONTINUE;
    new nbut = get_user_button(id);
    new obut = get_user_oldbutton(id);
    if((nbut & IN_JUMP) && !(get_entity_flags(id) & FL_ONGROUND) && !(obut & IN_JUMP))
    {
        if(jumpnum[id] < get_cvar_num("amx_maxjumps"))
        {
            dojump[id] = true;
            jumpnum[id]++;
            return PLUGIN_CONTINUE;
        }
    }
    if((nbut & IN_JUMP) && (get_entity_flags(id) & FL_ONGROUND))
    {
        jumpnum[id] = 0;
        return PLUGIN_CONTINUE;
    }
    return PLUGIN_CONTINUE;
}


public client_PostThink(id)
{
    if(!is_user_alive(id) || !g_bIsVip[id]) return PLUGIN_CONTINUE;
    if(dojump[id] == true)
    {
        new Float:velocity[3];
        entity_get_vector(id,EV_VEC_velocity,velocity);
        velocity[2] = random_float(265.0,285.0);
        entity_set_vector(id,EV_VEC_velocity,velocity);
        dojump[id] = false;
        return PLUGIN_CONTINUE;
    }
    return PLUGIN_CONTINUE;
}
Last edited by Stai..Ce? on 23 Mar 2018, 10:49, edited 1 time in total.
RoyalServer 2
N.A.S.A.
Membru, skill 0
Membru, skill 0
Posts: 95
Joined: 14 Feb 2018, 15:56
Detinator Steam: Nu
CS Status: Citesc forumul eXtreamCS.com...!
Fond eXtream: 0
Contact:

21 Mar 2018, 14:57

| Afiseaza codul
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <engine>
#include <hamsandwich>
#include <fun>

#define PLUGIN "VipCs"
#define VERSION "1.5"
#define AUTHOR "Alexandru"
#define RUNDA_ARME 4

new const g_szFileName [] = "vip_list.ini";
new g_szFile[128];
new Trie: g_tVipList;
new bool: g_bIsVip[33]; // = false
new g_type, g_enabled, g_recieved, bool:g_showrecieved, g_hudmsg1, g_hudmsg2;
new jumpnum[33] = 0;
new bool:dojump[33] = false;
new RoundCheck

public plugin_init()
{
    register_plugin(PLUGIN, VERSION, AUTHOR);
    RegisterHam(Ham_Spawn, "player", "HAM_Spawn_Post", 1);
    
    register_event("Damage", "on_damage", "b", "2!0", "3=0", "4!0");
    register_event("HLTV", "event_new_round", "a", "1=0", "2=0")
    
    g_type = register_cvar("amx_bulletdamage","1");
    g_recieved = register_cvar("amx_bulletdamage_recieved","1");
    register_cvar("amx_maxjumps","1");
    
    g_hudmsg1 = CreateHudSyncObj();
    g_hudmsg2 = CreateHudSyncObj();
    
    register_clcmd("say /vips","cmdVips");
    register_clcmd("say_team /vips","cmdVips");
}

public plugin_precache()
{
    g_tVipList = TrieCreate();
}


public plugin_cfg()
{
    new szDir[128];
    get_configsdir(szDir, charsmax(szDir));
    
    formatex(g_szFile, charsmax(g_szFile), "%s/%s", szDir, g_szFileName);
    
    if(!file_exists(g_szFile)) 
    {
        new fp = fopen(g_szFile, "a+");
        if(fp)
        {
            fputs(fp, "; ===========================================================^n");
            fputs(fp, "; --------------------- VIP LIST ----------------------------^n");
            fputs(fp, "; ===========================================================^n");
            fputs(fp, "; Nota: Incepe randul cu ^";^" pentru a dezactiva un VIP^n" );
            //fputs( fp, "^b" );
        }
        
        fclose(fp);
    }
    
    ReadIniFile();
}

public plugin_end()
{
    TrieDestroy(g_tVipList);
}

public event_new_round(){
	RoundCheck++
}

ReadIniFile()
{
    new fp = fopen(g_szFile , "rt");
    if(!fp)
    {
        return 0;
    }
    
    new szData[256], i;
    
    while(!feof(fp))
    {
        fgets(fp, szData, charsmax(szData));
        trim(szData);
        
        if(!szData[0] || szData[0] == ';' || szData[0] == '#' || (szData[0] == '/' && szData[1] == '/'))
        {
            continue;
        }
        
        TrieSetCell(g_tVipList, szData, i);
        i ++;
    }
    
    return 0;
}

public client_putinserver(id)
{
    new szName[32]; get_user_name(id, szName, charsmax(szName))
    new szSteamID[32]; get_user_authid(id, szSteamID, charsmax(szSteamID))
    if(TrieKeyExists(g_tVipList, szName) || TrieKeyExists(g_tVipList, szSteamID))
    {
        g_bIsVip[id] = true;
    }


    if(g_bIsVip[id])
    {
        jumpnum[id] = 0;
        dojump[id] = false;
    }
}

public client_disconnect(id)
{
    if(g_bIsVip[id])
    {
        g_bIsVip[id] = false;
        jumpnum[id] = 0;
        dojump[id] = false;
    }
}


public HAM_Spawn_Post(id)
{
    if(is_user_alive(id) && g_bIsVip[id])
    {
        give_item(id, "weapon_deagle");
        cs_set_user_bpammo(id, CSW_DEAGLE, 35);
        give_item(id, "weapon_hegrenade");
        give_item(id, "weapon_flashbang");
        cs_set_user_bpammo(id, CSW_FLASHBANG, 2);
        cs_set_user_armor(id, 100, CS_ARMOR_VESTHELM);
        g_enabled = get_pcvar_num(g_type);
        //new CM[32]
        //get_mapname(CM,charsmax(CM))
        //if((containi(CM,"de_")))
        //{
        if(cs_get_user_team(id)==CS_TEAM_CT)
        {
                /*if(cs_get_user_defuse(id)==1)
                    cs_set_user_defuse(id, 1, 255, 255, 0, "defuser", 0)
                else cs_set_user_defuse(id, 1, 255, 255, 0, "defuser", 0)*/
                cs_set_user_defuse(id, 1, 255, 255, 0, _, 0)
        }
        if(get_pcvar_num(g_recieved))
            g_showrecieved = true;
        if(RoundCheck >= RUNDA_ARME)
	show_menuX(id);
    }
}


public on_damage(id)
{
    if(g_enabled && g_bIsVip[id])
    {
        static attacker; attacker = get_user_attacker(id);
        static damage; damage = read_data(2);
        if(g_showrecieved)
        {
            set_hudmessage(255, 0, 0, 0.45, 0.50, 2, 0.1, 4.0, 0.1, 0.1, -1);
            ShowSyncHudMsg(id, g_hudmsg2, "%i^n", damage);
        }
        if(is_user_connected(attacker))
        {
            if(g_bIsVip[attacker])
            {
                set_hudmessage(0, 100, 200, -1.0, 0.55, 2, 0.1, 4.0, 0.02, 0.02, -1);
                ShowSyncHudMsg(attacker, g_hudmsg1, "%i^n", damage);
            }
        }
    }
}


public cmdVips(id) {
    new iPlayers[32],iNum,len,name[32],buffer[256],player,i,count = 0;
    get_players(iPlayers,iNum);
    for(i = 0;i < iNum; i++)
    {
        player = iPlayers;
        if(g_bIsVip[player])
        {
            count++;
            get_user_name(player,name,charsmax(name));
            
            len = len+= formatex(buffer[len],charsmax(buffer),"%s ,",name);
        }
    }
    if(count > 0)
    client_print(id,print_chat,"[Cs] Membrii VIP online: %s",buffer);
    else
    client_print(id,print_chat,"[Cs] Nu este niciun membru VIP online.");
}


public show_menuX(id)
{
    new menu = menu_create("\r MENIU VIP CS :", "v_handler");
    menu_additem(menu, "\y M4A1", "1");
    menu_additem(menu, "\y AK47", "2");
    menu_additem(menu, "\y AWP", "3");
    //menu_setprop(menu, MPROP_EXIT, MEXIT_ALL)
    menu_display(id, menu);
}

public v_handler(id, menu, item) // de modificat...
{
    if(!g_bIsVip[id])
    {
        menu_destroy(menu);
        return PLUGIN_HANDLED;
    }
    
    if(!is_user_alive(id))
    {
        menu_destroy(menu);
        return PLUGIN_HANDLED;
    }
    
    /*
    if(item < 0)
    {
        return 0
    }
    
    new Key[3]
    new Access, CallBack
    
    menu_item_getinfo(menu, item, Access, Key, 2, _, _, CallBack)
    
    new isKey = str_to_num(Key)
    */
    
    switch(item) // switch(isKey)
    {
        case 0:
        {
            give_item(id, "weapon_m4a1");
            cs_set_user_bpammo(id, CSW_M4A1, 90);
        }
        case 1:
        {
            give_item(id, "weapon_ak47");
            cs_set_user_bpammo(id, CSW_AK47, 90);
        }
        case 2:
        {
            give_item(id, "weapon_awp");
            cs_set_user_bpammo(id, CSW_AWP, 30);
        }
    }
    menu_destroy(menu);
    return PLUGIN_HANDLED;
}

public client_death(killer, victim, wpnindex, hitplace, TK) // de modficat
{
    if(wpnindex == CSW_C4 || killer == victim || !is_user_connected(killer) || !is_user_connected(victim) || !g_bIsVip[killer])
    {
        return PLUGIN_HANDLED;
    }
    
    if(hitplace == HIT_HEAD)
    {
        set_user_health(killer, min(100, get_user_health(killer) + 25));
        //cs_set_user_money(killer, cs_get_user_money(killer) + 350);
    }
    
    if(hitplace != HIT_HEAD) // else
    {
        set_user_health(killer, min(100, get_user_health(killer) + 15));
        //cs_set_user_money(killer, cs_get_user_money(killer) + 250);
    }
    
    //set_user_health(killer, get_user_health(killer) + 25)
    
    return PLUGIN_HANDLED;
}

public client_PreThink(id)
{
    if(!is_user_alive(id) || !g_bIsVip[id]) return PLUGIN_CONTINUE;
    new nbut = get_user_button(id);
    new obut = get_user_oldbutton(id);
    if((nbut & IN_JUMP) && !(get_entity_flags(id) & FL_ONGROUND) && !(obut & IN_JUMP))
    {
        if(jumpnum[id] < get_cvar_num("amx_maxjumps"))
        {
            dojump[id] = true;
            jumpnum[id]++;
            return PLUGIN_CONTINUE;
        }
    }
    if((nbut & IN_JUMP) && (get_entity_flags(id) & FL_ONGROUND))
    {
        jumpnum[id] = 0;
        return PLUGIN_CONTINUE;
    }
    return PLUGIN_CONTINUE;
}


public client_PostThink(id)
{
    if(!is_user_alive(id) || !g_bIsVip[id]) return PLUGIN_CONTINUE;
    if(dojump[id] == true)
    {
        new Float:velocity[3];
        entity_get_vector(id,EV_VEC_velocity,velocity);
        velocity[2] = random_float(265.0,285.0);
        entity_set_vector(id,EV_VEC_velocity,velocity);
        dojump[id] = false;
        return PLUGIN_CONTINUE;
    }
    return PLUGIN_CONTINUE;
}


Afiseaza Bullet Damage doar celor care au vip.
daca vrei sa afiseza tuturor poftim pluginul acesta.

| Afiseaza codul
/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>
#include <fakemeta_util>

#define PLUGIN "Advanced Bullet Damage"
#define VERSION "1.0"
#define AUTHOR "Sn!ff3r"

new g_type, g_enabled, g_recieved, bool:g_showrecieved, g_hudmsg1, g_hudmsg2

public plugin_init() 
{
	register_plugin(PLUGIN, VERSION, AUTHOR)
	
	register_event("Damage", "on_damage", "b", "2!0", "3=0", "4!0")	
	register_event("HLTV", "on_new_round", "a", "1=0", "2=0")
	
	g_type = register_cvar("amx_bulletdamage","1")
	g_recieved = register_cvar("amx_bulletdamage_recieved","1")	
	
	g_hudmsg1 = CreateHudSyncObj()	
	g_hudmsg2 = CreateHudSyncObj()
}

public on_new_round()
{
	g_enabled = get_pcvar_num(g_type)
	if(get_pcvar_num(g_recieved)) g_showrecieved = true	
}

public on_damage(id)
{
	if(g_enabled)
	{		
		static attacker; attacker = get_user_attacker(id)
		static damage; damage = read_data(2)		
		if(g_showrecieved)
		{			
			set_hudmessage(255, 0, 0, 0.45, 0.50, 2, 0.1, 4.0, 0.1, 0.1, -1)
			ShowSyncHudMsg(id, g_hudmsg2, "%i^n", damage)		
		}
		if(is_user_connected(attacker))
		{
			switch(g_enabled)
			{
				case 1: {
					set_hudmessage(0, 100, 200, -1.0, 0.55, 2, 0.1, 4.0, 0.02, 0.02, -1)
					ShowSyncHudMsg(attacker, g_hudmsg1, "%i^n", damage)				
				}
				case 2: {
					if(fm_is_ent_visible(attacker,id))
					{
						set_hudmessage(0, 100, 200, -1.0, 0.55, 2, 0.1, 4.0, 0.02, 0.02, -1)
						ShowSyncHudMsg(attacker, g_hudmsg1, "%i^n", damage)				
					}
				}
			}
		}
	}
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1045\\ f0\\ fs16 \n\\ par }
*/
User avatar
Stai..Ce?
Membru, skill +1
Membru, skill +1
Posts: 366
Joined: 03 Jun 2017, 18:56
Detinator Steam: Da
CS Status: N/A
Detinator server CS: FUN.LALEAGANE.RO
SteamID: jetski_fun
Fond eXtream: 0
Location: str. îngustă, nr. sub fustă.

21 Mar 2018, 17:30

N.A.S.A. wrote:
| Afiseaza codul
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <engine>
#include <hamsandwich>
#include <fun>

#define PLUGIN "VipCs"
#define VERSION "1.5"
#define AUTHOR "Alexandru"
#define RUNDA_ARME 4

new const g_szFileName [] = "vip_list.ini";
new g_szFile[128];
new Trie: g_tVipList;
new bool: g_bIsVip[33]; // = false
new g_type, g_enabled, g_recieved, bool:g_showrecieved, g_hudmsg1, g_hudmsg2;
new jumpnum[33] = 0;
new bool:dojump[33] = false;
new RoundCheck

public plugin_init()
{
    register_plugin(PLUGIN, VERSION, AUTHOR);
    RegisterHam(Ham_Spawn, "player", "HAM_Spawn_Post", 1);
    
    register_event("Damage", "on_damage", "b", "2!0", "3=0", "4!0");
    register_event("HLTV", "event_new_round", "a", "1=0", "2=0")
    
    g_type = register_cvar("amx_bulletdamage","1");
    g_recieved = register_cvar("amx_bulletdamage_recieved","1");
    register_cvar("amx_maxjumps","1");
    
    g_hudmsg1 = CreateHudSyncObj();
    g_hudmsg2 = CreateHudSyncObj();
    
    register_clcmd("say /vips","cmdVips");
    register_clcmd("say_team /vips","cmdVips");
}

public plugin_precache()
{
    g_tVipList = TrieCreate();
}


public plugin_cfg()
{
    new szDir[128];
    get_configsdir(szDir, charsmax(szDir));
    
    formatex(g_szFile, charsmax(g_szFile), "%s/%s", szDir, g_szFileName);
    
    if(!file_exists(g_szFile)) 
    {
        new fp = fopen(g_szFile, "a+");
        if(fp)
        {
            fputs(fp, "; ===========================================================^n");
            fputs(fp, "; --------------------- VIP LIST ----------------------------^n");
            fputs(fp, "; ===========================================================^n");
            fputs(fp, "; Nota: Incepe randul cu ^";^" pentru a dezactiva un VIP^n" );
            //fputs( fp, "^b" );
        }
        
        fclose(fp);
    }
    
    ReadIniFile();
}

public plugin_end()
{
    TrieDestroy(g_tVipList);
}

public event_new_round(){
	RoundCheck++
}

ReadIniFile()
{
    new fp = fopen(g_szFile , "rt");
    if(!fp)
    {
        return 0;
    }
    
    new szData[256], i;
    
    while(!feof(fp))
    {
        fgets(fp, szData, charsmax(szData));
        trim(szData);
        
        if(!szData[0] || szData[0] == ';' || szData[0] == '#' || (szData[0] == '/' && szData[1] == '/'))
        {
            continue;
        }
        
        TrieSetCell(g_tVipList, szData, i);
        i ++;
    }
    
    return 0;
}

public client_putinserver(id)
{
    new szName[32]; get_user_name(id, szName, charsmax(szName))
    new szSteamID[32]; get_user_authid(id, szSteamID, charsmax(szSteamID))
    if(TrieKeyExists(g_tVipList, szName) || TrieKeyExists(g_tVipList, szSteamID))
    {
        g_bIsVip[id] = true;
    }


    if(g_bIsVip[id])
    {
        jumpnum[id] = 0;
        dojump[id] = false;
    }
}

public client_disconnect(id)
{
    if(g_bIsVip[id])
    {
        g_bIsVip[id] = false;
        jumpnum[id] = 0;
        dojump[id] = false;
    }
}


public HAM_Spawn_Post(id)
{
    if(is_user_alive(id) && g_bIsVip[id])
    {
        give_item(id, "weapon_deagle");
        cs_set_user_bpammo(id, CSW_DEAGLE, 35);
        give_item(id, "weapon_hegrenade");
        give_item(id, "weapon_flashbang");
        cs_set_user_bpammo(id, CSW_FLASHBANG, 2);
        cs_set_user_armor(id, 100, CS_ARMOR_VESTHELM);
        g_enabled = get_pcvar_num(g_type);
        //new CM[32]
        //get_mapname(CM,charsmax(CM))
        //if((containi(CM,"de_")))
        //{
        if(cs_get_user_team(id)==CS_TEAM_CT)
        {
                /*if(cs_get_user_defuse(id)==1)
                    cs_set_user_defuse(id, 1, 255, 255, 0, "defuser", 0)
                else cs_set_user_defuse(id, 1, 255, 255, 0, "defuser", 0)*/
                cs_set_user_defuse(id, 1, 255, 255, 0, _, 0)
        }
        if(get_pcvar_num(g_recieved))
            g_showrecieved = true;
        if(RoundCheck >= RUNDA_ARME)
	show_menuX(id);
    }
}


public on_damage(id)
{
    if(g_enabled && g_bIsVip[id])
    {
        static attacker; attacker = get_user_attacker(id);
        static damage; damage = read_data(2);
        if(g_showrecieved)
        {
            set_hudmessage(255, 0, 0, 0.45, 0.50, 2, 0.1, 4.0, 0.1, 0.1, -1);
            ShowSyncHudMsg(id, g_hudmsg2, "%i^n", damage);
        }
        if(is_user_connected(attacker))
        {
            if(g_bIsVip[attacker])
            {
                set_hudmessage(0, 100, 200, -1.0, 0.55, 2, 0.1, 4.0, 0.02, 0.02, -1);
                ShowSyncHudMsg(attacker, g_hudmsg1, "%i^n", damage);
            }
        }
    }
}


public cmdVips(id) {
    new iPlayers[32],iNum,len,name[32],buffer[256],player,i,count = 0;
    get_players(iPlayers,iNum);
    for(i = 0;i < iNum; i++)
    {
        player = iPlayers;
        if(g_bIsVip[player])
        {
            count++;
            get_user_name(player,name,charsmax(name));
            
            len = len+= formatex(buffer[len],charsmax(buffer),"%s ,",name);
        }
    }
    if(count > 0)
    client_print(id,print_chat,"[Cs] Membrii VIP online: %s",buffer);
    else
    client_print(id,print_chat,"[Cs] Nu este niciun membru VIP online.");
}


public show_menuX(id)
{
    new menu = menu_create("\r MENIU VIP CS :", "v_handler");
    menu_additem(menu, "\y M4A1", "1");
    menu_additem(menu, "\y AK47", "2");
    menu_additem(menu, "\y AWP", "3");
    //menu_setprop(menu, MPROP_EXIT, MEXIT_ALL)
    menu_display(id, menu);
}

public v_handler(id, menu, item) // de modificat...
{
    if(!g_bIsVip[id])
    {
        menu_destroy(menu);
        return PLUGIN_HANDLED;
    }
    
    if(!is_user_alive(id))
    {
        menu_destroy(menu);
        return PLUGIN_HANDLED;
    }
    
    /*
    if(item < 0)
    {
        return 0
    }
    
    new Key[3]
    new Access, CallBack
    
    menu_item_getinfo(menu, item, Access, Key, 2, _, _, CallBack)
    
    new isKey = str_to_num(Key)
    */
    
    switch(item) // switch(isKey)
    {
        case 0:
        {
            give_item(id, "weapon_m4a1");
            cs_set_user_bpammo(id, CSW_M4A1, 90);
        }
        case 1:
        {
            give_item(id, "weapon_ak47");
            cs_set_user_bpammo(id, CSW_AK47, 90);
        }
        case 2:
        {
            give_item(id, "weapon_awp");
            cs_set_user_bpammo(id, CSW_AWP, 30);
        }
    }
    menu_destroy(menu);
    return PLUGIN_HANDLED;
}

public client_death(killer, victim, wpnindex, hitplace, TK) // de modficat
{
    if(wpnindex == CSW_C4 || killer == victim || !is_user_connected(killer) || !is_user_connected(victim) || !g_bIsVip[killer])
    {
        return PLUGIN_HANDLED;
    }
    
    if(hitplace == HIT_HEAD)
    {
        set_user_health(killer, min(100, get_user_health(killer) + 25));
        //cs_set_user_money(killer, cs_get_user_money(killer) + 350);
    }
    
    if(hitplace != HIT_HEAD) // else
    {
        set_user_health(killer, min(100, get_user_health(killer) + 15));
        //cs_set_user_money(killer, cs_get_user_money(killer) + 250);
    }
    
    //set_user_health(killer, get_user_health(killer) + 25)
    
    return PLUGIN_HANDLED;
}

public client_PreThink(id)
{
    if(!is_user_alive(id) || !g_bIsVip[id]) return PLUGIN_CONTINUE;
    new nbut = get_user_button(id);
    new obut = get_user_oldbutton(id);
    if((nbut & IN_JUMP) && !(get_entity_flags(id) & FL_ONGROUND) && !(obut & IN_JUMP))
    {
        if(jumpnum[id] < get_cvar_num("amx_maxjumps"))
        {
            dojump[id] = true;
            jumpnum[id]++;
            return PLUGIN_CONTINUE;
        }
    }
    if((nbut & IN_JUMP) && (get_entity_flags(id) & FL_ONGROUND))
    {
        jumpnum[id] = 0;
        return PLUGIN_CONTINUE;
    }
    return PLUGIN_CONTINUE;
}


public client_PostThink(id)
{
    if(!is_user_alive(id) || !g_bIsVip[id]) return PLUGIN_CONTINUE;
    if(dojump[id] == true)
    {
        new Float:velocity[3];
        entity_get_vector(id,EV_VEC_velocity,velocity);
        velocity[2] = random_float(265.0,285.0);
        entity_set_vector(id,EV_VEC_velocity,velocity);
        dojump[id] = false;
        return PLUGIN_CONTINUE;
    }
    return PLUGIN_CONTINUE;
}


Afiseaza Bullet Damage doar celor care au vip.
daca vrei sa afiseza tuturor poftim pluginul acesta.

| Afiseaza codul
/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>
#include <fakemeta_util>

#define PLUGIN "Advanced Bullet Damage"
#define VERSION "1.0"
#define AUTHOR "Sn!ff3r"

new g_type, g_enabled, g_recieved, bool:g_showrecieved, g_hudmsg1, g_hudmsg2

public plugin_init() 
{
	register_plugin(PLUGIN, VERSION, AUTHOR)
	
	register_event("Damage", "on_damage", "b", "2!0", "3=0", "4!0")	
	register_event("HLTV", "on_new_round", "a", "1=0", "2=0")
	
	g_type = register_cvar("amx_bulletdamage","1")
	g_recieved = register_cvar("amx_bulletdamage_recieved","1")	
	
	g_hudmsg1 = CreateHudSyncObj()	
	g_hudmsg2 = CreateHudSyncObj()
}

public on_new_round()
{
	g_enabled = get_pcvar_num(g_type)
	if(get_pcvar_num(g_recieved)) g_showrecieved = true	
}

public on_damage(id)
{
	if(g_enabled)
	{		
		static attacker; attacker = get_user_attacker(id)
		static damage; damage = read_data(2)		
		if(g_showrecieved)
		{			
			set_hudmessage(255, 0, 0, 0.45, 0.50, 2, 0.1, 4.0, 0.1, 0.1, -1)
			ShowSyncHudMsg(id, g_hudmsg2, "%i^n", damage)		
		}
		if(is_user_connected(attacker))
		{
			switch(g_enabled)
			{
				case 1: {
					set_hudmessage(0, 100, 200, -1.0, 0.55, 2, 0.1, 4.0, 0.02, 0.02, -1)
					ShowSyncHudMsg(attacker, g_hudmsg1, "%i^n", damage)				
				}
				case 2: {
					if(fm_is_ent_visible(attacker,id))
					{
						set_hudmessage(0, 100, 200, -1.0, 0.55, 2, 0.1, 4.0, 0.02, 0.02, -1)
						ShowSyncHudMsg(attacker, g_hudmsg1, "%i^n", damage)				
					}
				}
			}
		}
	}
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1045\\ f0\\ fs16 \n\\ par }
*/

Cred ca nu ma intelegi, vreau fixarea pluginului in asa fel in cat sa apara damge-ul facut chiar daca trag in player, in momentul de fata apare doar daca trag in alt vip. NU vreau plugin de abd separat, ca asta puteam sa fac si eu. :)
User avatar
LOLpgl
Membru, skill +3
Membru, skill +3
Posts: 1127
Joined: 16 Dec 2013, 21:01
Detinator Steam: Da
SteamID: ionutcruso
Location: Rm.Valcea
Has thanked: 19 times
Been thanked: 15 times

22 Mar 2018, 01:06

| Afiseaza codul
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <engine>
#include <hamsandwich>
#include <fun>

#define PLUGIN "VipCs"
#define VERSION "1.5"
#define AUTHOR "Alexandru"
#define RUNDA_ARME 4

#pragma tabsize 0

new const g_szFileName [] = "vip_list.ini";
new g_szFile[128];
new Trie: g_tVipList;
new bool: g_bIsVip[33]; // = false
new g_type, g_enabled, g_recieved, bool:g_showrecieved, g_hudmsg1, g_hudmsg2;
new jumpnum[33] = 0;
new bool:dojump[33] = false;
new RoundCheck

public plugin_init()
{
	register_plugin(PLUGIN, VERSION, AUTHOR);
	RegisterHam(Ham_Spawn, "player", "HAM_Spawn_Post", 1);
	
	register_event("Damage", "on_damage", "b", "2!0", "3=0", "4!0");
	register_event("HLTV", "event_new_round", "a", "1=0", "2=0")
	
	g_type = register_cvar("amx_bulletdamage","1");
	g_recieved = register_cvar("amx_bulletdamage_recieved","1");
	register_cvar("amx_maxjumps","1");
	
	g_hudmsg1 = CreateHudSyncObj();
	g_hudmsg2 = CreateHudSyncObj();
	
	register_clcmd("say /vips","cmdVips");
	register_clcmd("say_team /vips","cmdVips");
}

public plugin_precache()
{
	g_tVipList = TrieCreate();
}


public plugin_cfg()
{
	new szDir[128];
	get_configsdir(szDir, charsmax(szDir));
	
	formatex(g_szFile, charsmax(g_szFile), "%s/%s", szDir, g_szFileName);
	
	if(!file_exists(g_szFile)) 
	{
		new fp = fopen(g_szFile, "a+");
		if(fp)
		{
			fputs(fp, "; ===========================================================^n");
			fputs(fp, "; --------------------- VIP LIST ----------------------------^n");
			fputs(fp, "; ===========================================================^n");
			fputs(fp, "; Nota: Incepe randul cu ^";^" pentru a dezactiva un VIP^n" );
			//fputs( fp, "^b" );
		}
		
		fclose(fp);
	}
	
	ReadIniFile();
}

public plugin_end()
{
	TrieDestroy(g_tVipList);
}

public event_new_round(){
	RoundCheck++
}

ReadIniFile()
{
new fp = fopen(g_szFile , "rt");
if(!fp)
{
	return 0;
}

new szData[256], i;

while(!feof(fp))
{
	fgets(fp, szData, charsmax(szData));
	trim(szData);
	
	if(!szData[0] || szData[0] == ';' || szData[0] == '#' || (szData[0] == '/' && szData[1] == '/'))
	{
		continue;
	}
	
	TrieSetCell(g_tVipList, szData, i);
	i ++;
}

return 0;
}

public client_putinserver(id)
{
new szName[32]; get_user_name(id, szName, charsmax(szName))
new szSteamID[32]; get_user_authid(id, szSteamID, charsmax(szSteamID))
if(TrieKeyExists(g_tVipList, szName) || TrieKeyExists(g_tVipList, szSteamID))
{
	g_bIsVip[id] = true;
}


if(g_bIsVip[id])
{
	jumpnum[id] = 0;
	dojump[id] = false;
}
}

public client_disconnect(id)
{
if(g_bIsVip[id])
{
	g_bIsVip[id] = false;
	jumpnum[id] = 0;
	dojump[id] = false;
}
}


public HAM_Spawn_Post(id)
{
if(is_user_alive(id) && g_bIsVip[id])
{
	give_item(id, "weapon_deagle");
	cs_set_user_bpammo(id, CSW_DEAGLE, 35);
	give_item(id, "weapon_hegrenade");
	give_item(id, "weapon_flashbang");
	cs_set_user_bpammo(id, CSW_FLASHBANG, 2);
	cs_set_user_armor(id, 100, CS_ARMOR_VESTHELM);
	g_enabled = get_pcvar_num(g_type);
	//new CM[32]
	//get_mapname(CM,charsmax(CM))
	//if((containi(CM,"de_")))
	//{
	if(cs_get_user_team(id)==CS_TEAM_CT)
	{
		/*if(cs_get_user_defuse(id)==1)
		cs_set_user_defuse(id, 1, 255, 255, 0, "defuser", 0)
		else cs_set_user_defuse(id, 1, 255, 255, 0, "defuser", 0)*/
		cs_set_user_defuse(id, 1, 255, 255, 0, _, 0)
	}
	if(get_pcvar_num(g_recieved))
		g_showrecieved = true;
		if(RoundCheck >= RUNDA_ARME)
			show_menuX(id);
	}
}


public on_damage(id)
{
	if(g_enabled)
	{
		static attacker; attacker = get_user_attacker(id);
		static damage; damage = read_data(2);
		if(g_showrecieved)
		{
			if(g_bIsVip[id]){
				set_hudmessage(255, 0, 0, 0.45, 0.50, 2, 0.1, 4.0, 0.1, 0.1, -1);
				ShowSyncHudMsg(id, g_hudmsg2, "%i^n", damage);
			}
		}
		if(is_user_connected(attacker))
		{
			if(g_bIsVip[attacker])
			{
				set_hudmessage(0, 100, 200, -1.0, 0.55, 2, 0.1, 4.0, 0.02, 0.02, -1);
				ShowSyncHudMsg(attacker, g_hudmsg1, "%i^n", damage);
			}
		}
	}
}


public cmdVips(id) {
	new iPlayers[32],iNum,len,name[32],buffer[256],player,i,count = 0;
	get_players(iPlayers,iNum);
	for(i = 0;i < iNum; i++)
	{
		player = iPlayers;
		if(g_bIsVip[player])
		{
			count++;
			get_user_name(player,name,charsmax(name));
			
			len = len+= formatex(buffer[len],charsmax(buffer),"%s ,",name);
		}
	}
	if(count > 0)
		client_print(id,print_chat,"[Cs] Membrii VIP online: %s",buffer);
	else
		client_print(id,print_chat,"[Cs] Nu este niciun membru VIP online.");
}


public show_menuX(id)
{
	new menu = menu_create("\r MENIU VIP CS :", "v_handler");
	menu_additem(menu, "\y M4A1", "1");
	menu_additem(menu, "\y AK47", "2");
	menu_additem(menu, "\y AWP", "3");
	//menu_setprop(menu, MPROP_EXIT, MEXIT_ALL)
	menu_display(id, menu);
}

public v_handler(id, menu, item) // de modificat...
{
	if(!g_bIsVip[id])
	{
		menu_destroy(menu);
		return PLUGIN_HANDLED;
	}
	
	if(!is_user_alive(id))
	{
		menu_destroy(menu);
		return PLUGIN_HANDLED;
	}
	
	/*
	if(item < 0)
	{
		return 0
	}
	
	new Key[3]
	new Access, CallBack
	
	menu_item_getinfo(menu, item, Access, Key, 2, _, _, CallBack)
	
	new isKey = str_to_num(Key)
	*/
	
	switch(item) // switch(isKey)
	{
		case 0:
		{
			give_item(id, "weapon_m4a1");
			cs_set_user_bpammo(id, CSW_M4A1, 90);
		}
		case 1:
		{
			give_item(id, "weapon_ak47");
			cs_set_user_bpammo(id, CSW_AK47, 90);
		}
		case 2:
		{
			give_item(id, "weapon_awp");
			cs_set_user_bpammo(id, CSW_AWP, 30);
		}
	}
	menu_destroy(menu);
	return PLUGIN_HANDLED;
}

public client_death(killer, victim, wpnindex, hitplace, TK) // de modficat
{
	if(wpnindex == CSW_C4 || killer == victim || !is_user_connected(killer) || !is_user_connected(victim) || !g_bIsVip[killer])
	{
		return PLUGIN_HANDLED;
	}
	
	if(hitplace == HIT_HEAD)
	{
		set_user_health(killer, min(100, get_user_health(killer) + 25));
		//cs_set_user_money(killer, cs_get_user_money(killer) + 350);
	}
	
	if(hitplace != HIT_HEAD) // else
	{
		set_user_health(killer, min(100, get_user_health(killer) + 15));
		//cs_set_user_money(killer, cs_get_user_money(killer) + 250);
	}
	
	//set_user_health(killer, get_user_health(killer) + 25)
	
	return PLUGIN_HANDLED;
}

public client_PreThink(id)
{
	if(!is_user_alive(id) || !g_bIsVip[id]) return PLUGIN_CONTINUE;
	new nbut = get_user_button(id);
	new obut = get_user_oldbutton(id);
	if((nbut & IN_JUMP) && !(get_entity_flags(id) & FL_ONGROUND) && !(obut & IN_JUMP))
	{
		if(jumpnum[id] < get_cvar_num("amx_maxjumps"))
		{
			dojump[id] = true;
			jumpnum[id]++;
			return PLUGIN_CONTINUE;
		}
	}
	if((nbut & IN_JUMP) && (get_entity_flags(id) & FL_ONGROUND))
	{
		jumpnum[id] = 0;
		return PLUGIN_CONTINUE;
	}
	return PLUGIN_CONTINUE;
}


public client_PostThink(id)
{
	if(!is_user_alive(id) || !g_bIsVip[id]) return PLUGIN_CONTINUE;
	if(dojump[id] == true)
	{
		new Float:velocity[3];
		entity_get_vector(id,EV_VEC_velocity,velocity);
		velocity[2] = random_float(265.0,285.0);
		entity_set_vector(id,EV_VEC_velocity,velocity);
		dojump[id] = false;
		return PLUGIN_CONTINUE;
	}
	return PLUGIN_CONTINUE;
}
User avatar
Stai..Ce?
Membru, skill +1
Membru, skill +1
Posts: 366
Joined: 03 Jun 2017, 18:56
Detinator Steam: Da
CS Status: N/A
Detinator server CS: FUN.LALEAGANE.RO
SteamID: jetski_fun
Fond eXtream: 0
Location: str. îngustă, nr. sub fustă.

23 Mar 2018, 10:48

LOLpgl wrote:
| Afiseaza codul
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <engine>
#include <hamsandwich>
#include <fun>

#define PLUGIN "VipCs"
#define VERSION "1.5"
#define AUTHOR "Alexandru"
#define RUNDA_ARME 4

#pragma tabsize 0

new const g_szFileName [] = "vip_list.ini";
new g_szFile[128];
new Trie: g_tVipList;
new bool: g_bIsVip[33]; // = false
new g_type, g_enabled, g_recieved, bool:g_showrecieved, g_hudmsg1, g_hudmsg2;
new jumpnum[33] = 0;
new bool:dojump[33] = false;
new RoundCheck

public plugin_init()
{
	register_plugin(PLUGIN, VERSION, AUTHOR);
	RegisterHam(Ham_Spawn, "player", "HAM_Spawn_Post", 1);
	
	register_event("Damage", "on_damage", "b", "2!0", "3=0", "4!0");
	register_event("HLTV", "event_new_round", "a", "1=0", "2=0")
	
	g_type = register_cvar("amx_bulletdamage","1");
	g_recieved = register_cvar("amx_bulletdamage_recieved","1");
	register_cvar("amx_maxjumps","1");
	
	g_hudmsg1 = CreateHudSyncObj();
	g_hudmsg2 = CreateHudSyncObj();
	
	register_clcmd("say /vips","cmdVips");
	register_clcmd("say_team /vips","cmdVips");
}

public plugin_precache()
{
	g_tVipList = TrieCreate();
}


public plugin_cfg()
{
	new szDir[128];
	get_configsdir(szDir, charsmax(szDir));
	
	formatex(g_szFile, charsmax(g_szFile), "%s/%s", szDir, g_szFileName);
	
	if(!file_exists(g_szFile)) 
	{
		new fp = fopen(g_szFile, "a+");
		if(fp)
		{
			fputs(fp, "; ===========================================================^n");
			fputs(fp, "; --------------------- VIP LIST ----------------------------^n");
			fputs(fp, "; ===========================================================^n");
			fputs(fp, "; Nota: Incepe randul cu ^";^" pentru a dezactiva un VIP^n" );
			//fputs( fp, "^b" );
		}
		
		fclose(fp);
	}
	
	ReadIniFile();
}

public plugin_end()
{
	TrieDestroy(g_tVipList);
}

public event_new_round(){
	RoundCheck++
}

ReadIniFile()
{
new fp = fopen(g_szFile , "rt");
if(!fp)
{
	return 0;
}

new szData[256], i;

while(!feof(fp))
{
	fgets(fp, szData, charsmax(szData));
	trim(szData);
	
	if(!szData[0] || szData[0] == ';' || szData[0] == '#' || (szData[0] == '/' && szData[1] == '/'))
	{
		continue;
	}
	
	TrieSetCell(g_tVipList, szData, i);
	i ++;
}

return 0;
}

public client_putinserver(id)
{
new szName[32]; get_user_name(id, szName, charsmax(szName))
new szSteamID[32]; get_user_authid(id, szSteamID, charsmax(szSteamID))
if(TrieKeyExists(g_tVipList, szName) || TrieKeyExists(g_tVipList, szSteamID))
{
	g_bIsVip[id] = true;
}


if(g_bIsVip[id])
{
	jumpnum[id] = 0;
	dojump[id] = false;
}
}

public client_disconnect(id)
{
if(g_bIsVip[id])
{
	g_bIsVip[id] = false;
	jumpnum[id] = 0;
	dojump[id] = false;
}
}


public HAM_Spawn_Post(id)
{
if(is_user_alive(id) && g_bIsVip[id])
{
	give_item(id, "weapon_deagle");
	cs_set_user_bpammo(id, CSW_DEAGLE, 35);
	give_item(id, "weapon_hegrenade");
	give_item(id, "weapon_flashbang");
	cs_set_user_bpammo(id, CSW_FLASHBANG, 2);
	cs_set_user_armor(id, 100, CS_ARMOR_VESTHELM);
	g_enabled = get_pcvar_num(g_type);
	//new CM[32]
	//get_mapname(CM,charsmax(CM))
	//if((containi(CM,"de_")))
	//{
	if(cs_get_user_team(id)==CS_TEAM_CT)
	{
		/*if(cs_get_user_defuse(id)==1)
		cs_set_user_defuse(id, 1, 255, 255, 0, "defuser", 0)
		else cs_set_user_defuse(id, 1, 255, 255, 0, "defuser", 0)*/
		cs_set_user_defuse(id, 1, 255, 255, 0, _, 0)
	}
	if(get_pcvar_num(g_recieved))
		g_showrecieved = true;
		if(RoundCheck >= RUNDA_ARME)
			show_menuX(id);
	}
}


public on_damage(id)
{
	if(g_enabled)
	{
		static attacker; attacker = get_user_attacker(id);
		static damage; damage = read_data(2);
		if(g_showrecieved)
		{
			if(g_bIsVip[id]){
				set_hudmessage(255, 0, 0, 0.45, 0.50, 2, 0.1, 4.0, 0.1, 0.1, -1);
				ShowSyncHudMsg(id, g_hudmsg2, "%i^n", damage);
			}
		}
		if(is_user_connected(attacker))
		{
			if(g_bIsVip[attacker])
			{
				set_hudmessage(0, 100, 200, -1.0, 0.55, 2, 0.1, 4.0, 0.02, 0.02, -1);
				ShowSyncHudMsg(attacker, g_hudmsg1, "%i^n", damage);
			}
		}
	}
}


public cmdVips(id) {
	new iPlayers[32],iNum,len,name[32],buffer[256],player,i,count = 0;
	get_players(iPlayers,iNum);
	for(i = 0;i < iNum; i++)
	{
		player = iPlayers;
		if(g_bIsVip[player])
		{
			count++;
			get_user_name(player,name,charsmax(name));
			
			len = len+= formatex(buffer[len],charsmax(buffer),"%s ,",name);
		}
	}
	if(count > 0)
		client_print(id,print_chat,"[Cs] Membrii VIP online: %s",buffer);
	else
		client_print(id,print_chat,"[Cs] Nu este niciun membru VIP online.");
}


public show_menuX(id)
{
	new menu = menu_create("\r MENIU VIP CS :", "v_handler");
	menu_additem(menu, "\y M4A1", "1");
	menu_additem(menu, "\y AK47", "2");
	menu_additem(menu, "\y AWP", "3");
	//menu_setprop(menu, MPROP_EXIT, MEXIT_ALL)
	menu_display(id, menu);
}

public v_handler(id, menu, item) // de modificat...
{
	if(!g_bIsVip[id])
	{
		menu_destroy(menu);
		return PLUGIN_HANDLED;
	}
	
	if(!is_user_alive(id))
	{
		menu_destroy(menu);
		return PLUGIN_HANDLED;
	}
	
	/*
	if(item < 0)
	{
		return 0
	}
	
	new Key[3]
	new Access, CallBack
	
	menu_item_getinfo(menu, item, Access, Key, 2, _, _, CallBack)
	
	new isKey = str_to_num(Key)
	*/
	
	switch(item) // switch(isKey)
	{
		case 0:
		{
			give_item(id, "weapon_m4a1");
			cs_set_user_bpammo(id, CSW_M4A1, 90);
		}
		case 1:
		{
			give_item(id, "weapon_ak47");
			cs_set_user_bpammo(id, CSW_AK47, 90);
		}
		case 2:
		{
			give_item(id, "weapon_awp");
			cs_set_user_bpammo(id, CSW_AWP, 30);
		}
	}
	menu_destroy(menu);
	return PLUGIN_HANDLED;
}

public client_death(killer, victim, wpnindex, hitplace, TK) // de modficat
{
	if(wpnindex == CSW_C4 || killer == victim || !is_user_connected(killer) || !is_user_connected(victim) || !g_bIsVip[killer])
	{
		return PLUGIN_HANDLED;
	}
	
	if(hitplace == HIT_HEAD)
	{
		set_user_health(killer, min(100, get_user_health(killer) + 25));
		//cs_set_user_money(killer, cs_get_user_money(killer) + 350);
	}
	
	if(hitplace != HIT_HEAD) // else
	{
		set_user_health(killer, min(100, get_user_health(killer) + 15));
		//cs_set_user_money(killer, cs_get_user_money(killer) + 250);
	}
	
	//set_user_health(killer, get_user_health(killer) + 25)
	
	return PLUGIN_HANDLED;
}

public client_PreThink(id)
{
	if(!is_user_alive(id) || !g_bIsVip[id]) return PLUGIN_CONTINUE;
	new nbut = get_user_button(id);
	new obut = get_user_oldbutton(id);
	if((nbut & IN_JUMP) && !(get_entity_flags(id) & FL_ONGROUND) && !(obut & IN_JUMP))
	{
		if(jumpnum[id] < get_cvar_num("amx_maxjumps"))
		{
			dojump[id] = true;
			jumpnum[id]++;
			return PLUGIN_CONTINUE;
		}
	}
	if((nbut & IN_JUMP) && (get_entity_flags(id) & FL_ONGROUND))
	{
		jumpnum[id] = 0;
		return PLUGIN_CONTINUE;
	}
	return PLUGIN_CONTINUE;
}


public client_PostThink(id)
{
	if(!is_user_alive(id) || !g_bIsVip[id]) return PLUGIN_CONTINUE;
	if(dojump[id] == true)
	{
		new Float:velocity[3];
		entity_get_vector(id,EV_VEC_velocity,velocity);
		velocity[2] = random_float(265.0,285.0);
		entity_set_vector(id,EV_VEC_velocity,velocity);
		dojump[id] = false;
		return PLUGIN_CONTINUE;
	}
	return PLUGIN_CONTINUE;
}

Thx.
Locked

Return to “Modificari pluginuri”

  • Information