Page 1 of 1

AWP LIMIT

Posted: 2015 Jun 28 07:38
by Terror
Plugins unikalus sunku buvo rask :)

AWP limitas galim nustatyt per awp_limit 2 Pakeisk i limit 3 tada bus galim paimk awp 3 kartus o kas turi immunity gali naudotis nors ir 200 :D :D

Code: Select all

#include <amxmodx>#include <fakemeta> #define AWP_LIMIT 2         // Кол-во AWP на одну команду :)#define ACCESS_IMMUNITY ADMIN_RCON  // Иммунитет к функциям плагина. Для отключения Пропишите ADMIN_ALL new bool:g_bUseAwp[33];new awp_count[3]; public plugin_init(){    #define VERSION "1.09"    register_plugin("Lite AwpLimit", VERSION, "neygomon")    register_cvar("lite_awplimit", VERSION, FCVAR_SERVER | FCVAR_SPONLY);        new sPref[][] = {"awp_", "aim_", "35hp", "fy_"};    new map[32]; get_mapname(map, charsmax(map));    for(new i; i < sizeof sPref; i++)    {        if(containi(map, sPref[i]) != -1)        {            pause("ad");            return;        }    }        register_menucmd(register_menuid("BuyRifle", true), MENU_KEY_5, "OldMenusHookTt");    register_menucmd(register_menuid("BuyRifle", true), MENU_KEY_6, "OldMenusHookCt");    register_clcmd("menuselect", "ClCmdMenuSelect");    register_clcmd("drop", "ClCmdDrop");    register_clcmd("awp", "cmdawp");    register_clcmd("magnum", "cmdawp");     register_event("WeapPickup", "eWeapPickup", "b");    register_event("DeathMsg", "eDeathMsg", "a");    register_logevent("LeRoundStart", 2, "1=Round_Start");} public cmdawp(id, team){#if ACCESS_IMMUNITY != ADMIN_ALL    if(get_user_flags(id) & ACCESS_IMMUNITY)        return PLUGIN_CONTINUE;#endif      if(!team) team = get_user_team(id);    if(awp_count[team] >= AWP_LIMIT)    {        ChatColor(id, "^1[^4AWP Limit^1] ^4Достигнуто максимальное количество AWP на команду ^1[^3%d ^4/ ^3%d^1]", awp_count[team], AWP_LIMIT);        return PLUGIN_HANDLED;    }    return PLUGIN_CONTINUE;} public OldMenusHookTt(id, iKey){    if(iKey != 5)        return PLUGIN_CONTINUE;#if ACCESS_IMMUNITY != ADMIN_ALL    if(get_user_flags(id) & ACCESS_IMMUNITY)        return PLUGIN_CONTINUE;#endif      return cmdawp(id, 1);}public OldMenusHookCt(id, iKey){    if(iKey != 6)        return PLUGIN_CONTINUE;#if ACCESS_IMMUNITY != ADMIN_ALL    if(get_user_flags(id) & ACCESS_IMMUNITY)        return PLUGIN_CONTINUE;#endif      return cmdawp(id, 2);} public ClCmdMenuSelect(id){#if ACCESS_IMMUNITY != ADMIN_ALL    if(get_user_flags(id) & ACCESS_IMMUNITY)        return PLUGIN_CONTINUE;#endif    if(!is_user_alive(id) || get_pdata_int(id, 205) != 6)        return PLUGIN_CONTINUE;     new sSlot[3];     if(read_argv(1, sSlot, charsmax(sSlot)))    {        new team = get_user_team(id);        switch(str_to_num(sSlot))        {            case 5: if(team == 1) return cmdawp(id, 1);            case 6: if(team == 2) return cmdawp(id, 2);        }    }       return PLUGIN_CONTINUE; } public ClCmdDrop(id){    if(~pev(id, pev_weapons) & (1 << CSW_AWP) || !g_bUseAwp[id]) return;        new team = get_user_team(id);    if(awp_count[team])        awp_count[team]--;    g_bUseAwp[id] = false;}  public eWeapPickup(id){    new team = get_user_team(id);    new IsUseAwp = (pev(id, pev_weapons) & (1 << CSW_AWP)) ? 1 : 0;    switch(IsUseAwp)    {        case 0:        {            if(g_bUseAwp[id])            {                if(awp_count[team])                    awp_count[team]--;                g_bUseAwp[id] = false;            }        }        case 1:        {            if(g_bUseAwp[id]) return;#if ACCESS_IMMUNITY != ADMIN_ALL                        if(~get_user_flags(id) & ACCESS_IMMUNITY && awp_count[team] >= AWP_LIMIT)#else            if(awp_count[team] >= AWP_LIMIT)#endif                      {                ChatColor(id, "^1[^4AWP Limit^1] ^4Достигнуто максимальное количество AWP на команду ^1[^3%d ^4/ ^3%d^1]", awp_count[team], AWP_LIMIT);                set_task(0.1, "drop_awp", id);            }            else            {                awp_count[team]++;                g_bUseAwp[id] = true;            }           }            }} public eDeathMsg()     FuncDiscDeath(read_data(2)); public client_disconnect(id)    FuncDiscDeath(id); FuncDiscDeath(id){    if(!g_bUseAwp[id]) return;        new team = get_user_team(id);    if(awp_count[team])        awp_count[team]--;    g_bUseAwp[id] = false;} public drop_awp(id)    engclient_cmd(id, "drop", "weapon_awp"); public LeRoundStart(){    new players[32], pnum, i;    arrayset(awp_count, 0, 3);     get_players(players, pnum, "ae", "TERRORIST");    for(i = 0; i < pnum; i++)    {        if(pev(players[i], pev_weapons) & (1 << CSW_AWP))        {            g_bUseAwp[players[i]] = true;            awp_count[1]++;        } else g_bUseAwp[players[i]] = false;    }    get_players(players, pnum, "ae", "CT");    for(i = 0; i < pnum; i++)    {        if(pev(players[i], pev_weapons) & (1 << CSW_AWP))        {            g_bUseAwp[players[i]] = true;            awp_count[2]++;        } else g_bUseAwp[players[i]] = false;    }  } stock ChatColor(const id, const szMessage[], any:...){    static szMsg[190], IdMsg;     vformat(szMsg, charsmax(szMsg), szMessage, 3);        if(!IdMsg) IdMsg = get_user_msgid("SayText");        message_begin(MSG_ONE, IdMsg, .player = id);    write_byte(id);    write_string(szMsg);    message_end();}

Re: AWP LIMIT

Posted: 2015 Jun 28 08:41
by ArtHa123
Kad būtų bent aprašymas, o dabar tik plugino įmetimas be jokios informacijos. :ban:

Re: AWP LIMIT

Posted: 2015 Jun 28 08:47
by Terror
Tai ja tau dabar bus geriau tai trumpa aprasyma idejau....

Re: AWP LIMIT

Posted: 2015 Jul 03 02:06
by eurostrike
Bet aprasymas tais superinis nieko nesupratau :DDD
Matos kad is rusu web siuntesi tiesiog tingejo turbut versti aprasyma.

bent isverstum

Code: Select all

#define AWP_LIMIT 2         // Кол-во AWP на одну команду :)#define ACCESS_IMMUNITY ADMIN_RCON  // Иммунитет к функциям плагина. Для отключения Пропишите ADMIN_ALLChatColor(id, "^1[^4AWP Limit^1] ^4Достигнуто максимальное количество AWP на команду ^1[^3%d ^4/ ^3%d^1]", awp_count[team], AWP_LIMIT);
nes ne visi moka rusu kalba :)