Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

VIP Plugin

syslik
сообщение 6.11.2010, 0:06
Сообщение #1
Стаж: 18 лет

Сообщений: 468
Благодарностей: 388
Полезность: 0

Нужно сделать:

- чтобы при заходе VIP-а писалось
Цитата
[!!ВНИМАНИЕ!!] VIP-Игрок $nick$ заходит на сервер

- Бесплатная бронь каждый раунд и каждый раунд 500$ на счёт
- Возможность писать зелёным цветом в чате
- Возможность использовать админ-чат (say @ ....)
- Собственая модель
- Только VIP могут использовать https://c-s.net.ua/forum/topic8723.html

Стоимость за работу: 20 грн. / 90 руб

Плагин не должен быть в паблике.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   Цитировать сообщение
Статус пользователя STR@TEG
сообщение 6.11.2010, 1:00
Сообщение #2
Стаж: 16 лет

Сообщений: 4186
Благодарностей: 1763
Полезность: 837

Цитата(sysJlik @ 6.11.2010, 1:06) *
Плагин не должен быть в паблике.
Уже...
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя basket
сообщение 6.11.2010, 3:11
Сообщение #3


Стаж: 15 лет

Сообщений: 165
Благодарностей: 43
Полезность: 72

:biggrin:

Плагин добавляет на сервер пользователей с VIP-статусом и естественно с VIP-привилегиями.


Привилегии VIP пользователя:
1. Бесплатные гранаты на каждый раунд (полный комплект).
2. Бесплатная броня (Kevlar vest + helmet).
3. За каждое убийство +500 $, за каждое убийство в голову +800$.
4. За каждое убийство +15 HP, за каждое убийство в голову +30 HP.
5. Вы сможете видеть сколько вы нанесли урона врагу.
6. Только у VIP пользователей будет возможность приобрести AWP.
7. Напишите /vips и вы сможете увидеть сколько игроков с VIP статусом на сервере.
8. VIP пользователи смогут использовать чат администрации.
9. Зарезервированый слот.
Спустя 3 раунда пользователи VIP смогут бесплатно приобрести:
1. Бесплатные M4A1, Deagle и HE гранату.
2. Бесплатные AK-47, Deagle и HE гранату.

Требуемые модули:
CStrike
Fun

Квары:
bullet_damage 1 (1/0 разрешает/запрещает просмотр нанесенного урона).
amx_vip_hp 15 (количество дополнительного здоровья за убийство).
amx_vip_hp_hs 30 (количество дополнительного здоровья за убийство в голову).
amx_vip_max_hp 100 (максимальное здоровье).
money_per_damage 3 (получаемые деньги за урон).
money_hs_bonus 200 (получаемые деньги за убийство).
money_kill_bonus 500 (получаемые деньги за убийство в голову).
menu_active 1 (1/0 разрешает/запрещает меню с бесплатным оружием).
awp_active 1 (1/0 разрешает/запрещает покупку AWP только VIP игрокам).

Как дать VIP?:
"nick" "password" "bit" "ab"
или
"ip" "password" "bit" "de"

Файл VIP.txt переместите в папку /cstrike/

Изменения в версиях ( на английском )
Updates on 2.05version
Was not working /wantvip , /vips command it got fixed. Was removed "pickup_active 1" cvar (couse was to much commands in registrations. Was removed some useless commands. Now changed that Only VIPS can buy awp weapons but normal players can pick up awp if VIPS drop it.

Updates on 2.04version
Menu Fixed now it always shows only from 3rd round. Nades , armor will give when u spawn not from round start. Some small fixes on Event_curweapons.
Add cvar pickup_active 1 so now if u write pickup_active 0 not vips will can pick up AWP weapons just wont be able to buy.

Updated at 2.03version
Repaired C4 bug now u can plant it

Updated at 2.02version
Repaired C4 bug

UPDATE's at 2.01version
Well i add'ed 2 new cvar's becouse people was asking it
First is "menu_active 1" so now u can turn off menu when u will one.
Second is "awp_active 1" well if u will do it 0 all people will can buy awp.

Inside will be VIP.txt add it to cstrike/ folder and edit in there your contacts.[/spoiler]

*.sma
Код
#define DAMAGE_RECIEVED
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fun>
#include <hamsandwich>

static const COLOR[] = "^x04" //green
static const CONTACT[] = ""
new maxplayers
new gmsgSayText
new mpd, mkb, mhb
new g_MsgSync
new health_add
new health_hs_add
new health_max
new nKiller
new nKiller_hp
new nHp_add
new nHp_max
new g_awp_active
new g_menu_active
new round;
new bool:HasC4[33]
#define Keysrod (1<<0)|(1<<1)|(1<<9) // Keys: 1234567890
#if defined DAMAGE_RECIEVED
    new g_MsgSync2
#endif

public plugin_init()
{
    register_plugin("VIP Eng Version", "2.05", "Dunno")
    mpd = register_cvar("money_per_damage","3")
    mkb = register_cvar("money_kill_bonus","200")
    mhb = register_cvar("money_hs_bonus","500")
    health_add = register_cvar("amx_vip_hp", "15")
    health_hs_add = register_cvar("amx_vip_hp_hs", "30")
    health_max = register_cvar("amx_vip_max_hp", "100")
    g_awp_active = register_cvar("awp_active", "1")
    g_menu_active = register_cvar("menu_active", "1")
    register_event("Damage","Damage","b")
    register_event("DeathMsg","death_msg","a")
    register_menucmd(register_menuid("rod"), Keysrod, "Pressedrod")
    register_clcmd("awp","HandleCmd")
        register_clcmd("sg550","HandleCmd")
        register_clcmd("g3sg1","HandleCmd")
        register_event("CurWeapon", "event_CurWeapon", "be", "1=1")
        register_event("CurWeapon", "event_CurWeaponn", "be", "1=1")
        register_event("CurWeapon", "event_CurWeaponnn", "be", "1=1")
    register_clcmd("say /wantvip","ShowMotd")
    maxplayers = get_maxplayers()
    gmsgSayText = get_user_msgid("SayText")
    register_clcmd("say", "handle_say")
    register_cvar("amx_contactinfo", CONTACT, FCVAR_SERVER)
    RegisterHam(Ham_Spawn, "player", "fwHamPlayerSpawnPost", 1)
    register_event("HLTV", "event_new_round", "a", "1=0", "2=0")
    register_event("TextMsg","Event_RoundRestart","a","2&#Game_w")
    register_event("DeathMsg", "hook_death", "a", "1>0")
    register_event("Damage", "on_damage", "b", "2!0", "3=0", "4!0")
    g_MsgSync = CreateHudSyncObj()
#if defined DAMAGE_RECIEVED
    g_MsgSync2 = CreateHudSyncObj()
#endif    
}

public on_damage(id)
{
    new attacker = get_user_attacker(id)

#if defined DAMAGE_RECIEVED
    // id should be connected if this message is sent, but lets check anyway
    if ( is_user_connected(id) && is_user_connected(attacker) )
    if (get_user_flags(attacker) & ADMIN_LEVEL_H)
    {
        new damage = read_data(2)

        set_hudmessage(255, 0, 0, 0.45, 0.50, 2, 0.1, 4.0, 0.1, 0.1, -1)
        ShowSyncHudMsg(id, g_MsgSync2, "%i^n", damage)
#else
    if ( is_user_connected(attacker) && if (get_user_flags(attacker) & ADMIN_LEVEL_H) )
    {
        new damage = read_data(2)
#endif
        set_hudmessage(0, 100, 200, -1.0, 0.55, 2, 0.1, 4.0, 0.02, 0.02, -1)
        ShowSyncHudMsg(attacker, g_MsgSync, "%i^n", damage)
    }
}

public Damage(id)
{
    new weapon, hitpoint, attacker = get_user_attacker(id,weapon,hitpoint)
    if(attacker<=maxplayers && is_user_alive(attacker) && attacker!=id)
    if (get_user_flags(attacker) & ADMIN_LEVEL_H)
    {
        new money = read_data(2) * get_pcvar_num(mpd)
        if(hitpoint==1) money += get_pcvar_num(mhb)
        cs_set_user_money(attacker,cs_get_user_money(attacker) + money)
    }
}

public death_msg()
{
    if(read_data(1)<=maxplayers && read_data(1) && read_data(1)!=read_data(2)) cs_set_user_money(read_data(1),cs_get_user_money(read_data(1)) + get_pcvar_num(mkb) - 300)
}


public fwHamPlayerSpawnPost() {

    new players[32], player, pnum;
    get_players(players, pnum, "a");
    for(new i = 0; i < pnum; i++)
    {
        player = players[i];
        if(is_user_alive(player) && get_user_flags(player) & ADMIN_LEVEL_H)
        {
        give_item(player, "weapon_hegrenade");
        give_item(player, "weapon_flashbang");
        give_item(player, "weapon_flashbang");
        give_item(player, "weapon_smokegrenade");
        give_item(player, "item_assaultsuit");
        give_item(player, "item_thighpack");
        }
    }
    return PLUGIN_HANDLED
}

public event_new_round()
{
    round++;
    new players[32], player, pnum;
    get_players(players, pnum, "a");
    for(new i = 0; i < pnum; i++)
    {
        player = players[i];
        if(get_user_flags(player) & ADMIN_LEVEL_H)
        {
        if (!get_pcvar_num(g_menu_active))
            return PLUGIN_CONTINUE
        if(round > 2)
        {
            Showrod(player);
        }
        }
    }
    return PLUGIN_HANDLED
}

public Event_RoundRestart(id)
{
    round=0;
}

public hook_death()
{
   // Killer id
   nKiller = read_data(1)
  
   if ( (read_data(3) == 1) && (read_data(5) == 0) )
   {
      nHp_add = get_pcvar_num (health_hs_add)
   }
   else
      nHp_add = get_pcvar_num (health_add)
   nHp_max = get_pcvar_num (health_max)
   // Updating Killer HP
   if(!(get_user_flags(nKiller) & ADMIN_LEVEL_H))
   return;

   nKiller_hp = get_user_health(nKiller)
   nKiller_hp += nHp_add
   // Maximum HP check
   if (nKiller_hp > nHp_max) nKiller_hp = nHp_max
   set_user_health(nKiller, nKiller_hp)
   // Hud message "Healed +15/+30 hp"
   set_hudmessage(0, 255, 0, -1.0, 0.15, 0, 1.0, 1.0, 0.1, 0.1, -1)
   show_hudmessage(nKiller, "Healed +%d hp", nHp_add)
   // Screen fading
   message_begin(MSG_ONE, get_user_msgid("ScreenFade"), {0,0,0}, nKiller)
   write_short(1<<10)
   write_short(1<<10)
   write_short(0x0000)
   write_byte(0)
   write_byte(0)
   write_byte(200)
   write_byte(75)
   message_end()

}

public Showrod(id) {
    show_menu(id, Keysrod, "Free VIP Guns^n\w1. Get M4A1+Deagle ^n\w2. Get AK47+Deagle^n0. Exit^n", -1, "rod") // Display menu
}
public Pressedrod(id, key) {
    /* Menu:
    * VIP Menu
    * 1. Get M4A1+Deagle
    * 2. Get AK47+Deagle
    * 0. Exit
    */
    switch (key) {
        case 0: {
            if (user_has_weapon(id, CSW_C4) && get_user_team(id) == 1)
                HasC4[id] = true;
            else
                HasC4[id] = false;
            
            strip_user_weapons (id)
            give_item(id,"weapon_m4a1")
            give_item(id,"ammo_556nato")
            give_item(id,"ammo_556nato")
            give_item(id,"ammo_556nato")
            give_item(id,"weapon_deagle")
            give_item(id,"ammo_50ae")
            give_item(id,"ammo_50ae")
            give_item(id,"ammo_50ae")
            give_item(id,"ammo_50ae")
            give_item(id,"ammo_50ae")
            give_item(id,"ammo_50ae")
            give_item(id,"ammo_50ae")
            give_item(id,"weapon_knife")
            give_item(id,"weapon_hegrenade")
            give_item(id, "weapon_flashbang");
            give_item(id, "weapon_flashbang");
            give_item(id, "weapon_smokegrenade");
            give_item(id, "item_assaultsuit");
            give_item(id, "item_thighpack");
            client_print(id, print_center, "You Taked Free M4A1 and Deagle")
            
            if (HasC4[id])
            {
                give_item(id, "weapon_c4");
                cs_set_user_plant( id );
            }
            }
        case 1: {
            if (user_has_weapon(id, CSW_C4) && get_user_team(id) == 1)
                HasC4[id] = true;
            else
                HasC4[id] = false;
            
            strip_user_weapons (id)
            give_item(id,"weapon_ak47")
            give_item(id,"ammo_762nato")
            give_item(id,"ammo_762nato")
            give_item(id,"ammo_762nato")
            give_item(id,"weapon_deagle")
            give_item(id,"ammo_50ae")
            give_item(id,"ammo_50ae")
            give_item(id,"ammo_50ae")
            give_item(id,"ammo_50ae")
            give_item(id,"ammo_50ae")
            give_item(id,"ammo_50ae")
            give_item(id,"ammo_50ae")
            give_item(id,"weapon_knife")
            give_item(id,"weapon_hegrenade")
            give_item(id, "weapon_flashbang");
            give_item(id, "weapon_flashbang");
            give_item(id, "weapon_smokegrenade");
            give_item(id, "item_assaultsuit");
            give_item(id, "item_thighpack");
            client_print(id, print_center, "You Taked Free AK47 and Deagle")
            
            if (HasC4[id])
            {
                give_item(id, "weapon_c4");
                cs_set_user_plant( id );
            }
            }
        case 9: {             
        }
    }
    return PLUGIN_CONTINUE
}

public HandleCmd(id){
    if (!get_pcvar_num(g_awp_active))
      return PLUGIN_CONTINUE
    if(get_user_flags(id) & ADMIN_LEVEL_H)
        return PLUGIN_CONTINUE
    client_print(id, print_center, "Sniper's Only For VIP's")
    return PLUGIN_HANDLED
}


public event_CurWeapon(id)
    {
    if(read_data(2) == CSW_AWP)
        {
        if(!(get_user_flags(id) & ADMIN_LEVEL_H))
            {
            client_print(id, print_center, "Sniper's Only For VIP's")
            client_cmd(id, "drop")
            }
        }
    return PLUGIN_HANDLED
}

public event_CurWeaponn(id)
    {
    if(read_data(2) == CSW_SG550)
        {
        if(!(get_user_flags(id) & ADMIN_LEVEL_H))
            {
            client_print(id, print_center, "Sniper's Only For VIP's")
            client_cmd(id, "drop")
            }
        }
    return PLUGIN_HANDLED
}

public event_CurWeaponnn(id)
    {
    if(read_data(2) == CSW_G3SG1)
        {
        if(!(get_user_flags(id) & ADMIN_LEVEL_H))
            {
            client_print(id, print_center, "Sniper's Only For VIP's")
            client_cmd(id, "drop")
            }
        }
    return PLUGIN_HANDLED
}

public ShowMotd(id)
{
show_motd(id, "vip.txt")
}
public client_authorized(id)
{
set_task(30.0, "PrintText" ,id)
}
public PrintText(id)
{
client_print(id, print_chat, "[VIP] write /wantvip and u will see how get VIP and VIP privilegies.")
}

public handle_say(id) {
    new said[192]
    read_args(said,192)
    if( ( containi(said, "who") != -1 && containi(said, "admin") != -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) & ADMIN_LEVEL_H)
                get_user_name(id, adminnames[count++], 31)

    len = format(message, 255, "%s VIP ONLINE: ",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, "No VIP online.")
        print_message(user, message)
    }
    
    get_cvar_string("amx_contactinfo", contact, 63)
    if(contact[0])  {
        format(contactinfo, 111, "%s Contact Server Admin -- %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()
}

Сам плагин не провирял!
Прикрепленные файлы:
Прикрепленный файл  vip.rar ( 18,33 килобайт ) Кол-во скачиваний: 43
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
syslik
сообщение 6.11.2010, 17:50
Сообщение #4
Стаж: 18 лет

Сообщений: 468
Благодарностей: 388
Полезность: 0

basket,
тему внимательней прочитай :|
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя basket
сообщение 7.11.2010, 1:55
Сообщение #5


Стаж: 15 лет

Сообщений: 165
Благодарностей: 43
Полезность: 72

Цитата(sysJlik @ 6.11.2010, 17:50) *
basket,
тему внимательней прочитай :|


Не нравится не качай!, плати деньги!!! или полазь в этом плагине в настройкаХ!!!!!!!!!!
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
syslik
сообщение 7.11.2010, 22:08
Сообщение #6
Стаж: 18 лет

Сообщений: 468
Благодарностей: 388
Полезность: 0

тему можно закрывать
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Тема закрытаНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: