Skocz do zawartości

Nowy szablon forum

mygo.pl

Stworzyliśmy dla Was nowy wygląd forum. Z pewnością znajdziesz rzeczy, które wg Ciebie mogą zostać zmienione - wspomnij o tym w specjalnym wątku.

Czytaj więcej

Jak założyć własną sieć

serwerów CS

Zastanawiasz się nad prowadzeniem własnej sieci serwerów? Przeczytaj podstawowe informacje, na które należy zwrócić uwagę, przy takim projekcie.

Czytaj więcej

Tworzymy spis sieci

dodaj swoją

Dodaj sieć do której należysz, pozwoli to na promocję i budowę ogólnopolskiej bazy sieci CS.

Czytaj więcej

RSSUnlimited ammo to certain people


MYGO.pl
 Udostępnij

Rekomendowane odpowiedzi

  • RSSy
How can i do in order to make this plugin work only for people with inmunity flag or people saved in an .ini file.
PHP Code:

#include <amxmodx>
#include <amxmisc>
#include <engine>
#include <cstrike>
#include <fun>

#define PLUGIN    "Unlimited Ammo"
#define VERSION "0.3.1"
#define AUTHOR    "v3x"

#define HE_GRENADE    (1<<0)
#define SMOKE_GRENADE    (1<<1)
#define FLASH_GRENADE    (1<<2)

new const USAGE[] = ": amx_ammo <nick,#userid> <0|1>";

new 
gCvar_flags;

public 
plugin_init()
{
    
register_plugin(PLUGIN VERSION AUTHOR);
    
register_concmd("amx_ammo" "concmd_Ammo" ADMIN_LEVEL_A USAGE);
    
register_event("CurWeapon" "event_CurWeapon" "be" "1=1");
    
gCvar_flags register_cvar("ammo_nade_flags" "ac");
}

new 
bool:has_ammo[33];

public 
concmd_Ammo(id lvl cid)
{
    if(!
cmd_access(id lvl cid 3))
        return 
PLUGIN_HANDLED;

    static 
arg1[33] , arg2[8];
    
read_argv(arg1 32);
    
read_argv(arg2 7);

    
remove_quotes(arg2);

    static 
pid;
    
pid cmd_target(id arg1 0);

    if(!
pid)
        return 
PLUGIN_HANDLED;

    if(
equali(arg2 "ON" 2) || str_to_num(arg2) == 1)
    {
        if(!
task_exists(id))
            
set_task(0.3 "check_for_nades" id "b");
        
has_ammo[pid] = true;
    }
    else if(
equali(arg2 "OFF" 2) || !str_to_num(arg2))
    {
        if(
task_exists(id))
            
remove_task(id);
        
has_ammo[pid] = false;
    }
    else
    {
        
console_print(id "[AMXX] Usage%s" USAGE);
        return 
PLUGIN_HANDLED;
    }

    static 
pname1[33] , pname2[33];
    
get_user_name(id  pname1 32);
    
get_user_name(pid pname2 32);

    static 
s;
    
has_ammo[pid];

    switch(
get_cvar_num("amx_show_activity"))
    {
        case 
1client_print(print_chat "ADMIN: %s unlimited ammo on %s" "Set" "Unset" pname2);
        case 
2client_print(print_chat "ADMIN %s: %s unlimited ammo on %s" pname1 "Set" "Unset" pname2);
    }

    return 
PLUGIN_HANDLED;
}

public 
event_CurWeapon(id)
{
    if(!
is_user_alive(id))
        return 
PLUGIN_CONTINUE;

    if(
has_ammo[id])
    {
        static 
wpnidclip;
        
wpnid read_data(2);
        
clip read_data(3);

        
give_ammo(id wpnid clip);
    }

    return 
PLUGIN_CONTINUE;
}

public 
client_connect(id)
{
    
has_ammo[id] = false;
    if(
task_exists(id))
        
remove_task(id);
}

public 
client_disconnect(id)
{
    
has_ammo[id] = false;
    if(
task_exists(id))
        
remove_task(id);
}

public 
give_ammo(id wpnid clip)
{
    if(!
is_user_alive(id))
        return;

    if(    
wpnid==CSW_C4        ||
        
wpnid==CSW_KNIFE    ||
        
wpnid==CSW_HEGRENADE    ||
        
wpnid==CSW_SMOKEGRENADE    ||
        
wpnid==CSW_FLASHBANG    
            return;

    if(!
clip)
    {
        static 
weapname[33];
        
get_weaponname(wpnid weapname 32);

        static 
wpn
        wpn 
= -1;
        while((
wpn find_ent_by_class(wpn weapname)) != 0)
        {
            if(
id == entity_get_edict(wpn EV_ENT_owner))
            {
                
cs_set_weapon_ammo(wpn maxclip(wpnid))
                break;
            }
        }
    }
}

public 
check_for_nades(id)
{
    if(!
is_user_alive(id))
        return;

    if(
nade_flags() & HE_GRENADE)
    {
        if(!
user_has_weapon(id CSW_HEGRENADE))
            
give_item(id "weapon_hegrenade");
    }
    if(
nade_flags() & SMOKE_GRENADE)
    {
        if(!
user_has_weapon(id CSW_SMOKEGRENADE))
            
give_item(id "weapon_smokegrenade");
    }
    if(
nade_flags() & FLASH_GRENADE)
    {
        if(!
user_has_weapon(id CSW_FLASHBANG))
            
give_item(id "weapon_flashbang");
    }
}

// Taken from a superhero found on Google. Sorry, I don't know which one!
stock maxclip(wpnid
{
    static 
ca;
    
ca 0;

    switch (
wpnid
    {
        case 
CSW_P228 ca 13;
        case 
CSW_SCOUT ca 10;
        case 
CSW_HEGRENADE ca 0;
        case 
CSW_XM1014 ca 7;
        case 
CSW_C4 ca 0;
        case 
CSW_MAC10 ca 30;
        case 
CSW_AUG ca 30;
        case 
CSW_SMOKEGRENADE ca 0;
        case 
CSW_ELITE ca 15;
        case 
CSW_FIVESEVEN ca 20;
        case 
CSW_UMP45 ca 25;
        case 
CSW_SG550 ca 30;
        case 
CSW_GALI ca 35;
        case 
CSW_FAMAS ca 25;
        case 
CSW_USP ca 12;
        case 
CSW_GLOCK18 ca 20;
        case 
CSW_AWP ca 10;
        case 
CSW_MP5NAVY ca 30;
        case 
CSW_M249 ca 100;
        case 
CSW_M3 ca 8;
        case 
CSW_M4A1 ca 30;
        case 
CSW_TMP ca 30;
        case 
CSW_G3SG1 ca 20;
        case 
CSW_FLASHBANG ca 0;
        case 
CSW_DEAGLE    ca 7;
        case 
CSW_SG552 ca 30;
        case 
CSW_AK47 ca 30;
        case 
CSW_P90 ca 50;
    }
    return 
ca;
}

stock nade_flags()
{
    static 
buffer[8];
    
get_pcvar_string(gCvar_flags buffer 7);

    return 
read_flags(buffer);


Przeczytaj cały wpis

Odnośnik do komentarza
Udostępnij na innych stronach

Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
 Udostępnij

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...