Extra Items Menu v2.0

Тук е мястото да представите плъгин(и), написани от вас!
User avatar
Desmeon
Потребител
Потребител
Posts: 258
Joined: 05 May 2013, 18:48
Skype: ЛС!
Location: Дом на масата.

Extra Items Menu v2.0

Post by Desmeon »

Extra Items Menu
Версия 2.0
- Информация за плъгина:
  • Този плъгин показва меню с допълнителни предмети, когато играча се spawn-е, които дават способности на играча и може да се използва само един от тях на рунд. В новата версия има повече неща и кварове, които може да бъдат променени.
- Изображения:
- Списък с Cvar-ове:
  • health_amount - Кръвта, която се добавя към стойността на играча.
    • По подразбиране: 50
  • armor_amount - Бронята, която се добавя към стойността на играча.
    • По подразбиране: 100
  • he_amount - Броя на гърмящите гранати (HE GRENADES).
    • По подразбиране: 1
  • flash_amount - Броя на заслепяващите гранати (FLASHBANGS).
    • По подразбиране: 2
  • smoke_amount - Броя на димящите гранати (SMOKE GRENADES).
    • По подразбиране: 1
  • max_speed - Скоростта на играча.
    • По подразбиране: 350.0
  • max_gravity - Гравитацията на играча.
    • По подразбиране: 0.6
  • invis_percent - Невидимостта на играча в проценти.
    • По подразбиране: 80
  • chat_prefix - Префикса в чата.
    • По подразбиране: Extra Items Menu
  • dhud_message - Дали съобщенията да ги изписва в DHUD. Ако не, ще бъдат в чата.
    • По подразбиране: 1 (1 - on / 0 - off)
  • vip_only - Дали менюто да е зададено само за VIP играчи.
    • По подразбиране: 0 (1 - on / 0 - off)
  • vip_flag - Ако менюто е зададено само за VIP играчи, какъв да бъде флага, за да го използват.
    • По подразбиране: b
  • emit_sound - Да има ли звук при избиране на предметите.
    • По подразбиране: 1 (1 - on / 0 - off)
- Инсталация:
  • Първа стъпка: Разархивирате файла ExtraItemsMenu.amxx в папката plugins.
  • Втора стъпка: Разархивирате файла ExtraItemsMenu.sma в папката scritping.
  • Трета съпка: Разархивирате папката sound във вашата cstrike папка на сървъра и замествате.
  • Четвърта стъпка: Добавяте ExtraItemsMenu.amxx във файла plugins.ini.
- Изтегли плъгина:
  • Изтегли от dox.bg - Вътре в архива се съдържат 3 неща, които трябва да бъдат инсталирани, за да работи плъгина. По-горе е показано как се инсталира.
Last edited by Desmeon on 13 Jul 2016, 12:12, edited 16 times in total.
User avatar
LAWLIET
CS-GOLD Owner
CS-GOLD Owner
Posts: 116
Joined: 06 Nov 2010, 19:09
Skype: LawlietBG
CS Nick: LAWLIET
Favorite version: CS: 1.6
Steam Community ID: kaloian5
Location: В cs-bg.info
Contact:

Re: Extra Items Menu v1.0

Post by LAWLIET »

Първо, може без .amxx в архива, който иска ще си го компилира... за по-сигурно :)
Второ, като гледам какви елементарни кодове искаш във форума да ти редактираме много ама много се съмнявам ти да си писал този плъгин.
Като гледам дори менюто си го генерирал с AMXX Menu Generator 1.3..
Първата къдрава скобка на plugin_init си я сложил директно след функцията, а не на нов ред както в останалите функций.. това говори, че кода е буквално сглобяван (взимано от тук от там) най-вероятно.

Иначе плъгина е хубав.
Също тъмно-синият HUD не се вижда много добре, поне на снимката - можеш да смениш цвета.
Също ако добавиш CVAR да се избира между HUD и DHUD би било по-добре! :)
User avatar
Desmeon
Потребител
Потребител
Posts: 258
Joined: 05 May 2013, 18:48
Skype: ЛС!
Location: Дом на масата.

Re: Extra Items Menu v1.1

Post by Desmeon »

Промените може да ги видите най-отгоре.
Last edited by Desmeon on 04 Jun 2016, 18:14, edited 1 time in total.
User avatar
TheRedShoko
Hardwell (Сървър отговорник)
Hardwell (Сървър отговорник)
Posts: 44
Joined: 23 Mar 2015, 18:41
Skype: nqq ti kaa :}
CS Nick: nEpBep3HuK
Favorite version: CS: 1.6
Steam Community ID: nEpBep3HuK

Re: Extra Items Menu v1.2

Post by TheRedShoko »

Няколко неща:
- при използването на RegisterHam долу в метода използвай returns за ham, тоест PLUGIN_CONTINUE > HAM_IGNORED, PLUGIN_HANDLED > HAM_SUPERCEDE. Ако използваш грешни return няма да ти се получава желания резултат. Ако се разровиш из библиотеките ще видиш, че

Code: Select all

PLUGIN_CONTINUE = 0
PLUGIN_HANDLED = 1

HAM_IGNORED = 1
HAM_SUPERCEDE = 4
Няма как да връщаш различни стойности и да очакваш еднакав резултат.

- когато използваш post ham, тоест метода се извиква след извършването на ham-a както е в случая

Code: Select all

RegisterHam(Ham_Spawn, "player", "fwdPlayerSpawn", 1)
метода се извиква след spawn. При такива ситуации return стойностите нямат значение и биват игнорирани.

Code: Select all

if(!is_user_connected(id))
		return PLUGIN_CONTINUE
може да стане >

Code: Select all

if(!is_user_connected(id))
{
	return
}
като по този начин

Code: Select all

return PLUGIN_HANDLED
не е нужно в края на метода. Това не е грешка, казвам го за информация само.
- в менюто можеш да го опростиш като просто switch-ваш item-a. Ето какво имам предвид

Code: Select all

    new data[6], iName[64], access, callback
    
    menu_item_getinfo(menu, item, access, data,5, iName, 63, callback) 
    
    new key = str_to_num(data)
    
    switch(key)
    {
        case 1:
        {
            set_user_health(id, get_user_health(id) + get_pcvar_num(cvar_health))
            set_user_armor(id, get_user_armor(id) + get_pcvar_num(cvar_armor))
            
            set_dhudmessage(200, 200, 200, -1.0, 0.25, 0, 5.0, 5.0, 0.1, 0.2)
            show_dhudmessage(id, "[%s] Extra Items Menu^nYour HP and AP is increased!", szPrefix)
            
        }
        case 2:
        {
            give_item(id, "weapon_hegrenade")
            give_item(id, "weapon_flashbang")
            give_item(id, "weapon_flashbang")
            give_item(id, "weapon_smokegrenade")
            
            set_dhudmessage(0, 191, 255, -1.0, 0.25, 0, 5.0, 5.0, 0.1, 0.2)
            show_dhudmessage(id, "[%s] Extra Items Menu^nYou received Full Grenade pack!", szPrefix)
        }
        case 3:
        {
            set_user_maxspeed(id, get_pcvar_float(cvar_speed))
            
            set_dhudmessage(0, 0, 255, -1.0, 0.25, 0, 5.0, 5.0, 0.1, 0.2)
            show_dhudmessage(id, "[%s] Extra Items Menu^nYour speed is increased!", szPrefix)
        }
        case 4:
        {
            set_user_gravity(id, get_pcvar_float(cvar_gravity))
            
            set_dhudmessage(165, 42, 42, -1.0, 0.25, 0, 5.0, 5.0, 0.1, 0.2)
            show_dhudmessage(id, "[%s] Extra Items Menu^nYour gravity is lower!", szPrefix)
        }
        case 5:
        {
            user_foot[id] = true
            set_user_footsteps(id, 1)
            
            set_dhudmessage(160, 32, 240, -1.0, 0.25, 0, 5.0, 5.0, 0.1, 0.2)
            show_dhudmessage(id, "[%s] Extra Items Menu^nYour footsteps are silent!", szPrefix)
        }
        case 6:
        {
            user_invi[id] = true
            set_user_rendering(id, kRenderFxNone, 255, 255, 255, kRenderTransAlpha, get_pcvar_num(cvar_invisible))
            
            set_dhudmessage(0, 0, 205, -1.0, 0.25, 0, 5.0, 5.0, 0.1, 0.2)
            show_dhudmessage(id, "[%s] Extra Items Menu^nYou are invisible now!", szPrefix)
        }
        case 7:
        {
            if(get_user_flags(id) & read_flags(string))
            {
                 cs_set_user_model(id, cs_get_user_team(id) == CS_TEAM_T ? "Jigsaw" : "Smith")
                 
                 set_dhudmessage(0, 255, 0, -1.0, 0.25, 0, 5.0, 5.0, 0.1, 0.2)
                 show_dhudmessage(id, "[%s] Extra Items Menu^nYour skin is different!", szPrefix)
            }
            else
            {
                cmd_menu(id)
                ColorChat(id, GREEN, "[%s]^1 %s", szPrefix, szNoVipMSG)
            }
        }        
    } 
->

Code: Select all

    
    switch(item)
    {
        case 0:
        {
            set_user_health(id, get_user_health(id) + get_pcvar_num(cvar_health))
            set_user_armor(id, get_user_armor(id) + get_pcvar_num(cvar_armor))
            
            set_dhudmessage(200, 200, 200, -1.0, 0.25, 0, 5.0, 5.0, 0.1, 0.2)
            show_dhudmessage(id, "[%s] Extra Items Menu^nYour HP and AP is increased!", szPrefix)
            
        }
        case 1:
        {
            give_item(id, "weapon_hegrenade")
            give_item(id, "weapon_flashbang")
            give_item(id, "weapon_flashbang")
            give_item(id, "weapon_smokegrenade")
            
            set_dhudmessage(0, 191, 255, -1.0, 0.25, 0, 5.0, 5.0, 0.1, 0.2)
            show_dhudmessage(id, "[%s] Extra Items Menu^nYou received Full Grenade pack!", szPrefix)
        }
        case 2:
        {
            set_user_maxspeed(id, get_pcvar_float(cvar_speed))
            
            set_dhudmessage(0, 0, 255, -1.0, 0.25, 0, 5.0, 5.0, 0.1, 0.2)
            show_dhudmessage(id, "[%s] Extra Items Menu^nYour speed is increased!", szPrefix)
        }
        case 3:
        {
            set_user_gravity(id, get_pcvar_float(cvar_gravity))
            
            set_dhudmessage(165, 42, 42, -1.0, 0.25, 0, 5.0, 5.0, 0.1, 0.2)
            show_dhudmessage(id, "[%s] Extra Items Menu^nYour gravity is lower!", szPrefix)
        }
        case 4:
        {
            user_foot[id] = true
            set_user_footsteps(id, 1)
            
            set_dhudmessage(160, 32, 240, -1.0, 0.25, 0, 5.0, 5.0, 0.1, 0.2)
            show_dhudmessage(id, "[%s] Extra Items Menu^nYour footsteps are silent!", szPrefix)
        }
        case 5:
        {
            user_invi[id] = true
            set_user_rendering(id, kRenderFxNone, 255, 255, 255, kRenderTransAlpha, get_pcvar_num(cvar_invisible))
            
            set_dhudmessage(0, 0, 205, -1.0, 0.25, 0, 5.0, 5.0, 0.1, 0.2)
            show_dhudmessage(id, "[%s] Extra Items Menu^nYou are invisible now!", szPrefix)
        }
        case 6:
        {
            if(get_user_flags(id) & read_flags(string))
            {
                 cs_set_user_model(id, cs_get_user_team(id) == CS_TEAM_T ? "Jigsaw" : "Smith")
                 
                 set_dhudmessage(0, 255, 0, -1.0, 0.25, 0, 5.0, 5.0, 0.1, 0.2)
                 show_dhudmessage(id, "[%s] Extra Items Menu^nYour skin is different!", szPrefix)
            }
            else
            {
                cmd_menu(id)
                ColorChat(id, GREEN, "[%s]^1 %s", szPrefix, szNoVipMSG)
            }
        }        
    }
по този начин избягваш създаването на нови променливи и понякога ще ти се налага да използваш слота за info. Отново не е грешка давам го само за информация.
-

Code: Select all

return PLUGIN_HANDLED_MAIN
ненужно е в края на

Code: Select all

public settings(id, menu, item)

Като цяло доста добре за пръв плъгин :) Радвам се, че има хора, на които им е интересно и искат да се учат. Продължавай в същия дух :o
Last edited by TheRedShoko on 26 May 2016, 06:33, edited 1 time in total.
User avatar
Desmeon
Потребител
Потребител
Posts: 258
Joined: 05 May 2013, 18:48
Skype: ЛС!
Location: Дом на масата.

Re: Extra Items Menu v1.2

Post by Desmeon »

Благодаря ти за съветите. Кода е променен успешно! :o
User avatar
JackEyedJones
РЕКЛАМАТОР
РЕКЛАМАТОР
Posts: 332
Joined: 18 Apr 2014, 06:17
Skype: voltouch180
CS Nick: <Not Good Simply KoreaN>
Favorite version: CS: 1.6
Location: Plovdiv, Bulgaria, Europe, Entire World
Contact:

Re: Extra Items Menu v1.2

Post by JackEyedJones »

Като цяло лекцията на зеления е 75 % непълна. Нека сам помисли какво е изпуснал. :oops: В ЛСтата съм ти казвал какво изпускаш и кое се прави. (това към автора). Единствено е вярно това, че функциите се блокират с модула от който се изпълнява масива. Нататък нищо.

При switch(item) с правото превключване на предмета, без друго да е вписал, ще има страничен ефект. Дано го е открил. Точно за да се избегне това, се ползва

Code: Select all

new data[6], iName[64], access, callback
    
    menu_item_getinfo(menu, item, access, data,5, iName, 63, callback) 
    
    new key = str_to_num(data) 
User avatar
LAWLIET
CS-GOLD Owner
CS-GOLD Owner
Posts: 116
Joined: 06 Nov 2010, 19:09
Skype: LawlietBG
CS Nick: LAWLIET
Favorite version: CS: 1.6
Steam Community ID: kaloian5
Location: В cs-bg.info
Contact:

Re: Extra Items Menu v1.2

Post by LAWLIET »

TheRedShoko wrote:Няколко неща:
- при използването на RegisterHam долу в метода използвай returns за ham, тоест PLUGIN_CONTINUE > HAM_IGNORED, PLUGIN_HANDLED > HAM_SUPERCEDE. Ако използваш грешни return няма да ти се получава желания резултат. Ако се разровиш из библиотеките ще видиш, че

Code: Select all

PLUGIN_CONTINUE = 0
PLUGIN_HANDLED = 1

HAM_IGNORED = 1
HAM_SUPERCEDE = 4
Няма как да връщаш различни стойности и да очакваш еднакав резултат.

- когато използваш post ham, тоест метода се извиква след извършването на ham-a както е в случая

Code: Select all

RegisterHam(Ham_Spawn, "player", "fwdPlayerSpawn", 1)
метода се извиква след spawn. При такива ситуации return стойностите нямат значение и биват игнорирани.

Code: Select all

if(!is_user_connected(id))
		return PLUGIN_CONTINUE
може да стане >

Code: Select all

if(!is_user_connected(id))
{
	return
}
като по този начин

Code: Select all

return PLUGIN_HANDLED
не е нужно в края на метода. Това не е грешка, казвам го за информация само.
- в менюто можеш да го опростиш като просто switch-ваш item-a. Ето какво имам предвид

Code: Select all

    new data[6], iName[64], access, callback
    
    menu_item_getinfo(menu, item, access, data,5, iName, 63, callback) 
    
    new key = str_to_num(data)
    
    switch(key)
    {
        case 1:
        {
            set_user_health(id, get_user_health(id) + get_pcvar_num(cvar_health))
            set_user_armor(id, get_user_armor(id) + get_pcvar_num(cvar_armor))
            
            set_dhudmessage(200, 200, 200, -1.0, 0.25, 0, 5.0, 5.0, 0.1, 0.2)
            show_dhudmessage(id, "[%s] Extra Items Menu^nYour HP and AP is increased!", szPrefix)
            
        }
        case 2:
        {
            give_item(id, "weapon_hegrenade")
            give_item(id, "weapon_flashbang")
            give_item(id, "weapon_flashbang")
            give_item(id, "weapon_smokegrenade")
            
            set_dhudmessage(0, 191, 255, -1.0, 0.25, 0, 5.0, 5.0, 0.1, 0.2)
            show_dhudmessage(id, "[%s] Extra Items Menu^nYou received Full Grenade pack!", szPrefix)
        }
        case 3:
        {
            set_user_maxspeed(id, get_pcvar_float(cvar_speed))
            
            set_dhudmessage(0, 0, 255, -1.0, 0.25, 0, 5.0, 5.0, 0.1, 0.2)
            show_dhudmessage(id, "[%s] Extra Items Menu^nYour speed is increased!", szPrefix)
        }
        case 4:
        {
            set_user_gravity(id, get_pcvar_float(cvar_gravity))
            
            set_dhudmessage(165, 42, 42, -1.0, 0.25, 0, 5.0, 5.0, 0.1, 0.2)
            show_dhudmessage(id, "[%s] Extra Items Menu^nYour gravity is lower!", szPrefix)
        }
        case 5:
        {
            user_foot[id] = true
            set_user_footsteps(id, 1)
            
            set_dhudmessage(160, 32, 240, -1.0, 0.25, 0, 5.0, 5.0, 0.1, 0.2)
            show_dhudmessage(id, "[%s] Extra Items Menu^nYour footsteps are silent!", szPrefix)
        }
        case 6:
        {
            user_invi[id] = true
            set_user_rendering(id, kRenderFxNone, 255, 255, 255, kRenderTransAlpha, get_pcvar_num(cvar_invisible))
            
            set_dhudmessage(0, 0, 205, -1.0, 0.25, 0, 5.0, 5.0, 0.1, 0.2)
            show_dhudmessage(id, "[%s] Extra Items Menu^nYou are invisible now!", szPrefix)
        }
        case 7:
        {
            if(get_user_flags(id) & read_flags(string))
            {
                 cs_set_user_model(id, cs_get_user_team(id) == CS_TEAM_T ? "Jigsaw" : "Smith")
                 
                 set_dhudmessage(0, 255, 0, -1.0, 0.25, 0, 5.0, 5.0, 0.1, 0.2)
                 show_dhudmessage(id, "[%s] Extra Items Menu^nYour skin is different!", szPrefix)
            }
            else
            {
                cmd_menu(id)
                ColorChat(id, GREEN, "[%s]^1 %s", szPrefix, szNoVipMSG)
            }
        }        
    }
->

Code: Select all

    
    switch(item)
    {
        case 0:
        {
            set_user_health(id, get_user_health(id) + get_pcvar_num(cvar_health))
            set_user_armor(id, get_user_armor(id) + get_pcvar_num(cvar_armor))
            
            set_dhudmessage(200, 200, 200, -1.0, 0.25, 0, 5.0, 5.0, 0.1, 0.2)
            show_dhudmessage(id, "[%s] Extra Items Menu^nYour HP and AP is increased!", szPrefix)
            
        }
        case 1:
        {
            give_item(id, "weapon_hegrenade")
            give_item(id, "weapon_flashbang")
            give_item(id, "weapon_flashbang")
            give_item(id, "weapon_smokegrenade")
            
            set_dhudmessage(0, 191, 255, -1.0, 0.25, 0, 5.0, 5.0, 0.1, 0.2)
            show_dhudmessage(id, "[%s] Extra Items Menu^nYou received Full Grenade pack!", szPrefix)
        }
        case 2:
        {
            set_user_maxspeed(id, get_pcvar_float(cvar_speed))
            
            set_dhudmessage(0, 0, 255, -1.0, 0.25, 0, 5.0, 5.0, 0.1, 0.2)
            show_dhudmessage(id, "[%s] Extra Items Menu^nYour speed is increased!", szPrefix)
        }
        case 3:
        {
            set_user_gravity(id, get_pcvar_float(cvar_gravity))
            
            set_dhudmessage(165, 42, 42, -1.0, 0.25, 0, 5.0, 5.0, 0.1, 0.2)
            show_dhudmessage(id, "[%s] Extra Items Menu^nYour gravity is lower!", szPrefix)
        }
        case 4:
        {
            user_foot[id] = true
            set_user_footsteps(id, 1)
            
            set_dhudmessage(160, 32, 240, -1.0, 0.25, 0, 5.0, 5.0, 0.1, 0.2)
            show_dhudmessage(id, "[%s] Extra Items Menu^nYour footsteps are silent!", szPrefix)
        }
        case 5:
        {
            user_invi[id] = true
            set_user_rendering(id, kRenderFxNone, 255, 255, 255, kRenderTransAlpha, get_pcvar_num(cvar_invisible))
            
            set_dhudmessage(0, 0, 205, -1.0, 0.25, 0, 5.0, 5.0, 0.1, 0.2)
            show_dhudmessage(id, "[%s] Extra Items Menu^nYou are invisible now!", szPrefix)
        }
        case 6:
        {
            if(get_user_flags(id) & read_flags(string))
            {
                 cs_set_user_model(id, cs_get_user_team(id) == CS_TEAM_T ? "Jigsaw" : "Smith")
                 
                 set_dhudmessage(0, 255, 0, -1.0, 0.25, 0, 5.0, 5.0, 0.1, 0.2)
                 show_dhudmessage(id, "[%s] Extra Items Menu^nYour skin is different!", szPrefix)
            }
            else
            {
                cmd_menu(id)
                ColorChat(id, GREEN, "[%s]^1 %s", szPrefix, szNoVipMSG)
            }
        }        
    } 
по този начин избягваш създаването на нови променливи и понякога ще ти се налага да използваш слота за info. Отново не е грешка давам го само за информация.
-

Code: Select all

return PLUGIN_HANDLED_MAIN
ненужно е в края на

Code: Select all

public settings(id, menu, item)

Като цяло доста добре за пръв плъгин :) Радвам се, че има хора, на които им е интересно и искат да се учат. Продължавай в същия дух :o
Съгласен съм, но това с частта дето се игнорират ретрърните е пълен булшит. :sarcastic_hand: :dcygpd:
User avatar
TheRedShoko
Hardwell (Сървър отговорник)
Hardwell (Сървър отговорник)
Posts: 44
Joined: 23 Mar 2015, 18:41
Skype: nqq ti kaa :}
CS Nick: nEpBep3HuK
Favorite version: CS: 1.6
Steam Community ID: nEpBep3HuK

Re: Extra Items Menu v1.2

Post by TheRedShoko »

Искаш да кажеш, че ако returnеш HAM_SUPERCEDE на post ham дейността на ham-a ще бъде блокирана? :mnmn?: Пробвай и ми кажи резултата... Само ще подскажа, ще игнорира returna, защото няма никакво значение. Действието на ham-a е извършено и каквото и да returnеш все същото. + мисля, че темата е за оценка на плъгина и на работата на автора, а не да показваме кой колко знае.
User avatar
LAWLIET
CS-GOLD Owner
CS-GOLD Owner
Posts: 116
Joined: 06 Nov 2010, 19:09
Skype: LawlietBG
CS Nick: LAWLIET
Favorite version: CS: 1.6
Steam Community ID: kaloian5
Location: В cs-bg.info
Contact:

Re: Extra Items Menu v1.2

Post by LAWLIET »

Ето за това:

Code: Select all

if(!is_user_connected(id))
      return PLUGIN_CONTINUE
говоря, че не се игнорират return-ите.
User avatar
OciXCrom
OciXCrom™ Official Profile
OciXCrom™ Official Profile
Posts: 585
Joined: 21 Mar 2013, 14:21
Skype: doctor.crom1234
CS Nick: OciXCrom
Favorite version: CS: 1.6
Steam Community ID: OciXCrom
Location: jb.iplay.bg:27015
Contact:

Re: Extra Items Menu v1.2

Post by OciXCrom »

PLUGIN_CONTINUE няма никаква функция в този код, стига да говориш за въпросния "post ham". Достатъчно е да стои само "return". С нищо не пречи ако има PLUGIN_CONTINUE, но е напълно ненужно и може да стане объркване при бъдещи промени.
User avatar
Desmeon
Потребител
Потребител
Posts: 258
Joined: 05 May 2013, 18:48
Skype: ЛС!
Location: Дом на масата.

Re: Extra Items Menu v1.2

Post by Desmeon »

Само не разбирам защо спамите в темата, като може да се разбирате на ЛС?! Както каза @TheRedShoko:
Мисля, че темата е за оценка на плъгина и на работата на автора, а не да показваме кой колко знае.
User avatar
LAWLIET
CS-GOLD Owner
CS-GOLD Owner
Posts: 116
Joined: 06 Nov 2010, 19:09
Skype: LawlietBG
CS Nick: LAWLIET
Favorite version: CS: 1.6
Steam Community ID: kaloian5
Location: В cs-bg.info
Contact:

Re: Extra Items Menu v1.2

Post by LAWLIET »

Unbr3akable wrote:Само не разбирам защо спамите в темата, като може да се разбирате на ЛС?! Както каза @TheRedShoko:
Мисля, че темата е за оценка на плъгина и на работата на автора, а не да показваме кой колко знае.
Ocixcrom ти го каза по-добре и по-подробно от другият, защото както @TheRedShoko каза се игнорирала стойността на return-а, съгласих се моя грешка не бях видял думата "стойността".
User avatar
MeTJlaTa
email: ale_1993@abv.bg
email: ale_1993@abv.bg
Posts: 246
Joined: 27 Nov 2011, 19:20
CS Nick: { S p @ W n } +++
Favorite version: CS: 1.6

Re: Extra Items Menu v1.7

Post by MeTJlaTa »

Пренаписах съдържанието, тъй като мисля че част от кода може да изглежда по - добре:

Команди (say, say_team): item, items, /item, /items

Флагове (опция 7): ADMIN_LEVEL_A

Настройки:
amx_extra_hp "50" //количество Health
amx_extra_hp "50" //количество Armor
amx_extra_max "250" //максимално количество Health | Armor
amx_extra_speed "2" //по колко пъти повече от нормалното да се умножи скоростта
amx_extra_gravity "0.5" //гравитация
amx_extra_invisibility "80" //видимост
amx_extra_spawn "0" // 1вкл./0изкл. извикването на menu - то при spawn

Code: Select all

#include <amxmodx>
#include <cstrike>
#include <coll_msg>
#include <hamsandwich>
#include <fun>

#define PLUGIN "Extra Items Menu"
#define VERSION "1.7"

#define Level ADMIN_LEVEL_A

new const cmd_menu[][] =
{
    "say item",
    "say items",
    "say /item",
    "say /items",
    "say_team item",
    "say_team items",
    "say_team /items"
}

new string[3], limit[33]
new cvar_prefix, cvar_hp, cvar_ap, cvar_max, cvar_speed, cvar_gravity, cvar_invisibility, cvar_spawn, g_Max

new bool:speed[33]

public plugin_init()
{
    register_plugin(PLUGIN, VERSION, "{ S p @ W n } +++")
    
    RegisterHam(Ham_Spawn, "player", "HookSpawn", true)
    
    register_event("HLTV", "event_HLTV", "a", "1=0", "2=0")
    register_event("CurWeapon", "event_CurWeapon", "be", "1=1")
    
    for(new i = 0; i < sizeof(cmd_menu); i++)
    {
        register_clcmd(cmd_menu[i], "open_menu")
    }
    
    set_task(120.0, "Info", .flags="b")
}
public plugin_cfg()
{
    register_cvar(PLUGIN, VERSION, FCVAR_SERVER|FCVAR_SPONLY|FCVAR_UNLOGGED)
    
    get_pcvar_string(cvar_prefix, string, charsmax(string))
    cvar_prefix = register_cvar("amx_extra_prefix", "CsBg")
    
    cvar_hp = register_cvar("amx_extra_hp", "50")
    cvar_ap = register_cvar("amx_extra_ap", "50")
    cvar_max = register_cvar("amx_extra_max", "250")
    cvar_speed = register_cvar("amx_extra_speed", "2")
    cvar_gravity = register_cvar("amx_extra_gravity", "0.5")
    cvar_invisibility = register_cvar("amx_extra_invisibility", "80")
    cvar_spawn = register_cvar("amx_extra_spawn", "1")
    
    g_Max = get_maxplayers()
}
public Info()
{
    Chat(0, "^3[%s] ^4Ako iskash da si izberesh ^3Extra Item^1, ^4napishi^1: /items^1.", string)
}
public client_connect(id)
{
    limit[id] = false 
}
public client_putinserver(id)
{
    set_task(20.0, "Info", id)
}
public client_disconnect(id)
{
    remove_task(id)
    speed[id] = false 
}
public event_HLTV()
{
    for(new i = 0; i <= g_Max; i++)
    {
        speed[i] = false
        limit[i] = false
    }
}
public HookSpawn(const id)
{
    if( !is_user_alive(id) )
        return 
    
    speed[id] = false 
    limit[id] = false 
    set_user_footsteps(id, 0)
    set_user_rendering(id, _, 0, 0, 0, _, 0)
    
    if(get_pcvar_num(cvar_spawn) ? 1 : 0) 
    {
        set_task(1.0, "open_menu", id)
    }
}
public event_CurWeapon(id)
{
    if( speed[id] )
    {
        set_user_maxspeed(id, get_user_maxspeed(id) * get_pcvar_num(cvar_speed))
    }
}
public open_menu(id)
{
    if( !is_user_alive(id) )
    {
        Chat(id, "^3[%s] ^4Trqbva da si jiv^1!", string)
        client_cmd(id, "spk buttons/button2")
        return PLUGIN_HANDLED
    }
    
    new Text[256 char]
    formatex(Text, charsmax(Text), "\w[%s]^nExtra Items Menu \dv1.7", cvar_prefix)
    
    new menu = menu_create(Text, "handler_menu")
    
    menu_additem(menu, "\yExtra HP + AP", "1", 0)
    menu_additem(menu, "\yAll Grenades", "2", 0)
    menu_additem(menu, "\yFaster Speed", "3", 0)
    menu_additem(menu, "\yLow Gravity", "4", 0)
    menu_additem(menu, "\yNo Footsteps", "5", 0)
    menu_additem(menu, "\yInvisibility", "6", 0)
    menu_additem(menu, "\yChameleon \r(VIP's Only)", "7", 0) 
    
    menu_display(id, menu, 0)
    
    return PLUGIN_HANDLED_MAIN
}
public handler_menu(id, menu, item)
{
    if( !is_user_alive(id) || item < 0 )
        return 
        
    if(limit[id])
    {
        Chat(id, "^3[%s] ^4Veche si imash item^1!", string)
        return 
    }
        
    static Data[8], _Access, Callback, KEY, Hp, Ap, Max
    menu_item_getinfo(menu, item, _Access, Data, charsmax(Data), _, _, Callback)
    
    KEY = str_to_num(Data)
    
    Hp = get_pcvar_num(cvar_hp)
    Ap = get_pcvar_num(cvar_ap)
    Max = get_pcvar_num(cvar_max)
    
    switch(KEY)
    {
        case 1:
        {
            if( get_user_health(id) >= Max || get_user_armor(id) >= Max )
            {
                open_menu(id)
                set_user_health(id, Max)
                cs_set_user_armor(id, Max, CS_ARMOR_NONE)
                Chat(id, "^3[%s] ^4Dostigna maksimalno kolichestvo zapasi!", string)
                client_cmd(id, "spk buttons/button2")
                limit[id] = true
                return 
            }
            
            set_user_health(id, get_user_health(id) + Hp)
            cs_set_user_armor(id, get_user_armor(id) + Ap, CS_ARMOR_VESTHELM)
            Chat(id, "^3[%s] ^4Ti poluchi^1: ^3+ %i Hp ^1|^3 %i Ap ^1!", string, Hp, Ap)
            client_cmd(id, "spk items/medshot4")
            limit[id] = false
        }
        case 2:
        {
            static guns = CSW_HEGRENADE|CSW_FLASHBANG|CSW_SMOKEGRENADE
            
            if( user_has_weapon(id, guns) ) 
            {
                cs_set_user_bpammo(id, guns, cs_get_user_bpammo(id, guns) +1)
                client_cmd(id, "spk items/9mmclip1")
            } else {
                give_item(id, "weapon_hegrenade")
                give_item(id, "weapon_flashbang")
                give_item(id, "weapon_smokegrenade")
            }
            
            Chat(id, "^3[%s] ^4Ti poluchi^1: ^3He ^1| ^3Flash ^1| ^3Smoke ^4grenades ^1!", string)
        }
        case 3:
        {
            set_user_maxspeed(id, get_user_maxspeed(id) * get_pcvar_num(cvar_speed))
            Chat(id, "^3[%s] ^4Ti poluchi sposobnost^1: ^3Faster Speed ^1!", string)
            client_cmd(id, "spk ambience/biotone")
            speed[id] = true
        }
        case 4:
        {
            set_user_gravity(id, get_pcvar_float(cvar_gravity))
            Chat(id, "^3[%s] ^4Ti poluchi sposobnost^1: ^3Low Gravity ^1!", string)
            client_cmd(id, "spk debris/beamstart8")
        }
        case 5:
        {
            set_user_footsteps(id, 1)
            Chat(id, "^3[%s] ^4Ti poluchi sposobnost^1: ^3No Footsteps ^1!", string)
            client_cmd(id, "spk items/gunpickup2")
        }
        case 6:
        {
            set_user_footsteps(id, 1)
            set_user_rendering(id, kRenderFxNone, 255, 255, 255, kRenderTransAlpha, get_pcvar_num(cvar_invisibility))
            Chat(id, "^3[%s] ^4Ti poluchi sposobnost^1: ^3Invisibility ^1!", string)
            client_cmd(id, "spk buttons/blip1")
        }
        case 7:
        {
            if( !(get_user_flags(id) & Level) )
            {
                open_menu(id)
                Chat(id, "^3[%s] ^4Trqbva da si ^3VIP", string)
                client_cmd(id, "spk buttons/button2")
                limit[id] = false 
                return 
            }
            
            new CsTeams:userTeam = cs_get_user_team(id)
            
            if(userTeam == CS_TEAM_T)
            {
                switch(random(2))
                {
                    case 1: cs_set_user_model(id, "gsg9")
                    case 2: cs_set_user_model(id, "urban")
                }
            } else {
                switch(random(2))
                {
                    case 1: cs_set_user_model(id, "arctic")
                    case 2: cs_set_user_model(id, "terror")
                }                
            }
            
            Chat(id, "^3[%s] ^4Ti poluchi sposobnost^1: ^3Chameleon ^1!", string)
            client_cmd(id, "spk fvox/activated")
        }
    }
    
    menu_destroy(menu)
    limit[id] = true
} 
Last edited by MeTJlaTa on 05 Jun 2016, 20:21, edited 1 time in total.
User avatar
RideeR
Сървър Отговорник
Сървър Отговорник
Posts: 19
Joined: 17 Mar 2015, 19:04
Skype: ЛС!
CS Nick: ^FacePalm :3
Favorite version: CS: 1.6

Re: Extra Items Menu v1.7

Post by RideeR »

MeTJlaTa wrote:Пренаписах съдържанието, тъй като мисля че част от кода може да изглежда по - добре:

Команди (say, say_team): item, items, /item, /items

Флагове (опция 7): ADMIN_LEVEL_A

Настройки:
amx_extra_hp "50" //количество Health
amx_extra_hp "50" //количество Armor
amx_extra_max "250" //максимално количество Health | Armor
amx_extra_speed "2" //по колко пъти повече от нормалното да се умножи скоростта
amx_extra_gravity "0.5" //гравитация
amx_extra_invisibility "80" //видимост

Code: Select all

#include <amxmodx>
#include <cstrike>
#include <coll_msg>
#include <hamsandwich>
#include <fun>

#define PLUGIN "Extra Items Menu"
#define VERSION "1.7"

#define Level ADMIN_LEVEL_A

new const cmd_menu[][] =
{
    "say item",
    "say items",
    "say /item",
    "say /items",
    "say_team item",
    "say_team items",
    "say_team /items"
}

new string[3], limit[33]
new cvar_prefix, cvar_hp, cvar_ap, cvar_max, cvar_speed, cvar_gravity, cvar_invisibility, g_Max

new bool:speed[33]

public plugin_init()
{
    register_plugin(PLUGIN, VERSION, "{ S p @ W n } +++")
    
    RegisterHam(Ham_Spawn, "player", "HookSpawn", true)
    
    register_event("HLTV", "event_HLTV", "a", "1=0", "2=0")
    register_event("CurWeapon", "event_CurWeapon", "be", "1=1")
    
    for(new i = 0; i < sizeof(cmd_menu); i++)
    {
        register_clcmd(cmd_menu[i], "open_menu")
    }
    
    set_task(120.0, "Info", .flags="b")
}
public plugin_cfg()
{
    register_cvar(PLUGIN, VERSION, FCVAR_SERVER|FCVAR_SPONLY|FCVAR_UNLOGGED)
    
    get_pcvar_string(cvar_prefix, string, charsmax(string))
    cvar_prefix = register_cvar("amx_extra_prefix", "CsBg")
    
    cvar_hp = register_cvar("amx_extra_hp", "50")
    cvar_ap = register_cvar("amx_extra_ap", "50")
    cvar_max = register_cvar("amx_extra_max", "250")
    cvar_speed = register_cvar("amx_extra_speed", "2")
    cvar_gravity = register_cvar("amx_extra_gravity", "0.5")
    cvar_invisibility = register_cvar("amx_extra_invisibility", "80")
    
    g_Max = get_maxplayers()
}
public Info()
{
    Chat(0, "^3[%s] ^4Ako iskash da si izberesh ^3Extra Item^1, ^4napishi^1: /items^1.", string)
}
public client_connect(id)
{
    limit[id] = false 
}
public client_putinserver(id)
{
    set_task(20.0, "Info", id)
}
public client_disconnect(id)
{
    remove_task(id)
    speed[id] = false 
}
public event_HLTV()
{
    for(new i = 0; i <= g_Max; i++)
    {
        speed[i] = false
        limit[i] = false
    }
}
public HookSpawn(const id)
{
    if( !is_user_alive(id) )
        return 
    
    speed[id] = false 
    limit[id] = false 
    set_user_footsteps(id, 0)
}
public event_CurWeapon(id)
{
    if( speed[id] )
    {
        set_user_maxspeed(id, get_user_maxspeed(id) * get_pcvar_num(cvar_speed))
    }
}
public open_menu(id)
{
    if( !is_user_alive(id) )
    {
        Chat(id, "^3[%s] ^4Trqbva da si jiv^1!", string)
        client_cmd(id, "spk buttons/button2")
        return PLUGIN_HANDLED
    }
    
    new Text[256 char]
    formatex(Text, charsmax(Text), "\w[%s]^nExtra Items Menu \dv1.7", cvar_prefix)
    
    new menu = menu_create(Text, "handler_menu")
    
    menu_additem(menu, "\yExtra HP + AP", "1", 0)
    menu_additem(menu, "\yAll Grenades", "2", 0)
    menu_additem(menu, "\yFaster Speed", "3", 0)
    menu_additem(menu, "\yLow Gravity", "4", 0)
    menu_additem(menu, "\yNo Footsteps", "5", 0)
    menu_additem(menu, "\yInvisibility", "6", 0)
    menu_additem(menu, "\yChameleon \r(VIP's Only)", "7", 0) 
    
    menu_display(id, menu, 0)
    
    return PLUGIN_HANDLED_MAIN
}
public handler_menu(id, menu, item)
{
    if( !is_user_alive(id) || item < 0 )
        return 
        
    if(limit[id])
    {
        Chat(id, "^3[%s] ^4Veche si imash item^1!", string)
        return 
    }
        
    static Data[8], _Access, Callback, KEY, Hp, Ap, Max
    menu_item_getinfo(menu, item, _Access, Data, charsmax(Data), _, _, Callback)
    
    KEY = str_to_num(Data)
    
    Hp = get_pcvar_num(cvar_hp)
    Ap = get_pcvar_num(cvar_ap)
    Max = get_pcvar_num(cvar_max)
    
    switch(KEY)
    {
        case 1:
        {
            if( get_user_health(id) >= Max || get_user_armor(id) >= Max )
            {
                open_menu(id)
                set_user_health(id, Max)
                cs_set_user_armor(id, Max, CS_ARMOR_NONE)
                Chat(id, "^3[%s] ^4Dostigna maksimalno kolichestvo zapasi!", string)
                client_cmd(id, "spk buttons/button2")
                limit[id] = true
                return 
            }
            
            set_user_health(id, Hp)
            cs_set_user_armor(id, Ap, CS_ARMOR_VESTHELM)
            Chat(id, "^3[%s] ^4Ti poluchi^1: ^3+ %i Hp ^1|^3 %i Ap ^1!", string, Hp, Ap)
            client_cmd(id, "spk items/medshot4")
            limit[id] = false
        }
        case 2:
        {
            static guns = CSW_HEGRENADE|CSW_FLASHBANG|CSW_SMOKEGRENADE
            
            if( user_has_weapon(id, guns) ) 
            {
                cs_set_user_bpammo(id, guns, cs_get_user_bpammo(id, guns) +1)
                client_cmd(id, "spk items/9mmclip1")
            } else {
                give_item(id, "weapon_hegrenade")
                give_item(id, "weapon_flashbang")
                give_item(id, "weapon_smokegrenade")
            }
            
            Chat(id, "^3[%s] ^4Ti poluchi^1: ^3He ^1| ^3Flash ^1| ^3Smoke ^4grenades ^1!", string)
        }
        case 3:
        {
            set_user_maxspeed(id, get_user_maxspeed(id) * get_pcvar_num(cvar_speed))
            Chat(id, "^3[%s] ^4Ti poluchi sposobnost^1: ^3Faster Speed ^1!", string)
            client_cmd(id, "spk ambience/biotone")
            speed[id] = true
        }
        case 4:
        {
            set_user_gravity(id, get_pcvar_float(cvar_gravity))
            Chat(id, "^3[%s] ^4Ti poluchi sposobnost^1: ^3Low Gravity ^1!", string)
            client_cmd(id, "spk debris/beamstart8")
        }
        case 5:
        {
            set_user_footsteps(id, 1)
            Chat(id, "^3[%s] ^4Ti poluchi sposobnost^1: ^3No Footsteps ^1!", string)
            client_cmd(id, "spk items/gunpickup2")
        }
        case 6:
        {
            set_user_footsteps(id, 1)
            set_user_rendering(id, kRenderFxNone, 255, 255, 255, kRenderTransAlpha, get_pcvar_num(cvar_invisibility))
            Chat(id, "^3[%s] ^4Ti poluchi sposobnost^1: ^3Invisibility ^1!", string)
            client_cmd(id, "spk buttons/blip1")
        }
        case 7:
        {
            if( !(get_user_flags(id) & Level) )
            {
                open_menu(id)
                Chat(id, "^3[%s] ^4Trqbva da si ^3VIP", string)
                client_cmd(id, "spk buttons/button2")
                limit[id] = false 
                return 
            }
            
            new CsTeams:userTeam = cs_get_user_team(id)
            
            if(userTeam == CS_TEAM_T)
            {
                switch(random(2))
                {
                    case 1: cs_set_user_model(id, "gsg9")
                    case 2: cs_set_user_model(id, "urban")
                }
            } else {
                switch(random(2))
                {
                    case 1: cs_set_user_model(id, "arctic")
                    case 2: cs_set_user_model(id, "terror")
                }                
            }
            
            Chat(id, "^3[%s] ^4Ti poluchi sposobnost^1: ^3Chameleon ^1!", string)
            client_cmd(id, "spk fvox/activated")
        }
    }
    
    menu_destroy(menu)
    limit[id] = true
} 
Поне да му беше оставил автора, това си е негова идея, неговия плъгин..
User avatar
LAWLIET
CS-GOLD Owner
CS-GOLD Owner
Posts: 116
Joined: 06 Nov 2010, 19:09
Skype: LawlietBG
CS Nick: LAWLIET
Favorite version: CS: 1.6
Steam Community ID: kaloian5
Location: В cs-bg.info
Contact:

Re: Extra Items Menu v1.7

Post by LAWLIET »

B7W wrote:
MeTJlaTa wrote:Пренаписах съдържанието, тъй като мисля че част от кода може да изглежда по - добре:

Команди (say, say_team): item, items, /item, /items

Флагове (опция 7): ADMIN_LEVEL_A

Настройки:
amx_extra_hp "50" //количество Health
amx_extra_hp "50" //количество Armor
amx_extra_max "250" //максимално количество Health | Armor
amx_extra_speed "2" //по колко пъти повече от нормалното да се умножи скоростта
amx_extra_gravity "0.5" //гравитация
amx_extra_invisibility "80" //видимост

Code: Select all

#include <amxmodx>
#include <cstrike>
#include <coll_msg>
#include <hamsandwich>
#include <fun>

#define PLUGIN "Extra Items Menu"
#define VERSION "1.7"

#define Level ADMIN_LEVEL_A

new const cmd_menu[][] =
{
    "say item",
    "say items",
    "say /item",
    "say /items",
    "say_team item",
    "say_team items",
    "say_team /items"
}

new string[3], limit[33]
new cvar_prefix, cvar_hp, cvar_ap, cvar_max, cvar_speed, cvar_gravity, cvar_invisibility, g_Max

new bool:speed[33]

public plugin_init()
{
    register_plugin(PLUGIN, VERSION, "{ S p @ W n } +++")
    
    RegisterHam(Ham_Spawn, "player", "HookSpawn", true)
    
    register_event("HLTV", "event_HLTV", "a", "1=0", "2=0")
    register_event("CurWeapon", "event_CurWeapon", "be", "1=1")
    
    for(new i = 0; i < sizeof(cmd_menu); i++)
    {
        register_clcmd(cmd_menu[i], "open_menu")
    }
    
    set_task(120.0, "Info", .flags="b")
}
public plugin_cfg()
{
    register_cvar(PLUGIN, VERSION, FCVAR_SERVER|FCVAR_SPONLY|FCVAR_UNLOGGED)
    
    get_pcvar_string(cvar_prefix, string, charsmax(string))
    cvar_prefix = register_cvar("amx_extra_prefix", "CsBg")
    
    cvar_hp = register_cvar("amx_extra_hp", "50")
    cvar_ap = register_cvar("amx_extra_ap", "50")
    cvar_max = register_cvar("amx_extra_max", "250")
    cvar_speed = register_cvar("amx_extra_speed", "2")
    cvar_gravity = register_cvar("amx_extra_gravity", "0.5")
    cvar_invisibility = register_cvar("amx_extra_invisibility", "80")
    
    g_Max = get_maxplayers()
}
public Info()
{
    Chat(0, "^3[%s] ^4Ako iskash da si izberesh ^3Extra Item^1, ^4napishi^1: /items^1.", string)
}
public client_connect(id)
{
    limit[id] = false 
}
public client_putinserver(id)
{
    set_task(20.0, "Info", id)
}
public client_disconnect(id)
{
    remove_task(id)
    speed[id] = false 
}
public event_HLTV()
{
    for(new i = 0; i <= g_Max; i++)
    {
        speed[i] = false
        limit[i] = false
    }
}
public HookSpawn(const id)
{
    if( !is_user_alive(id) )
        return 
    
    speed[id] = false 
    limit[id] = false 
    set_user_footsteps(id, 0)
}
public event_CurWeapon(id)
{
    if( speed[id] )
    {
        set_user_maxspeed(id, get_user_maxspeed(id) * get_pcvar_num(cvar_speed))
    }
}
public open_menu(id)
{
    if( !is_user_alive(id) )
    {
        Chat(id, "^3[%s] ^4Trqbva da si jiv^1!", string)
        client_cmd(id, "spk buttons/button2")
        return PLUGIN_HANDLED
    }
    
    new Text[256 char]
    formatex(Text, charsmax(Text), "\w[%s]^nExtra Items Menu \dv1.7", cvar_prefix)
    
    new menu = menu_create(Text, "handler_menu")
    
    menu_additem(menu, "\yExtra HP + AP", "1", 0)
    menu_additem(menu, "\yAll Grenades", "2", 0)
    menu_additem(menu, "\yFaster Speed", "3", 0)
    menu_additem(menu, "\yLow Gravity", "4", 0)
    menu_additem(menu, "\yNo Footsteps", "5", 0)
    menu_additem(menu, "\yInvisibility", "6", 0)
    menu_additem(menu, "\yChameleon \r(VIP's Only)", "7", 0) 
    
    menu_display(id, menu, 0)
    
    return PLUGIN_HANDLED_MAIN
}
public handler_menu(id, menu, item)
{
    if( !is_user_alive(id) || item < 0 )
        return 
        
    if(limit[id])
    {
        Chat(id, "^3[%s] ^4Veche si imash item^1!", string)
        return 
    }
        
    static Data[8], _Access, Callback, KEY, Hp, Ap, Max
    menu_item_getinfo(menu, item, _Access, Data, charsmax(Data), _, _, Callback)
    
    KEY = str_to_num(Data)
    
    Hp = get_pcvar_num(cvar_hp)
    Ap = get_pcvar_num(cvar_ap)
    Max = get_pcvar_num(cvar_max)
    
    switch(KEY)
    {
        case 1:
        {
            if( get_user_health(id) >= Max || get_user_armor(id) >= Max )
            {
                open_menu(id)
                set_user_health(id, Max)
                cs_set_user_armor(id, Max, CS_ARMOR_NONE)
                Chat(id, "^3[%s] ^4Dostigna maksimalno kolichestvo zapasi!", string)
                client_cmd(id, "spk buttons/button2")
                limit[id] = true
                return 
            }
            
            set_user_health(id, Hp)
            cs_set_user_armor(id, Ap, CS_ARMOR_VESTHELM)
            Chat(id, "^3[%s] ^4Ti poluchi^1: ^3+ %i Hp ^1|^3 %i Ap ^1!", string, Hp, Ap)
            client_cmd(id, "spk items/medshot4")
            limit[id] = false
        }
        case 2:
        {
            static guns = CSW_HEGRENADE|CSW_FLASHBANG|CSW_SMOKEGRENADE
            
            if( user_has_weapon(id, guns) ) 
            {
                cs_set_user_bpammo(id, guns, cs_get_user_bpammo(id, guns) +1)
                client_cmd(id, "spk items/9mmclip1")
            } else {
                give_item(id, "weapon_hegrenade")
                give_item(id, "weapon_flashbang")
                give_item(id, "weapon_smokegrenade")
            }
            
            Chat(id, "^3[%s] ^4Ti poluchi^1: ^3He ^1| ^3Flash ^1| ^3Smoke ^4grenades ^1!", string)
        }
        case 3:
        {
            set_user_maxspeed(id, get_user_maxspeed(id) * get_pcvar_num(cvar_speed))
            Chat(id, "^3[%s] ^4Ti poluchi sposobnost^1: ^3Faster Speed ^1!", string)
            client_cmd(id, "spk ambience/biotone")
            speed[id] = true
        }
        case 4:
        {
            set_user_gravity(id, get_pcvar_float(cvar_gravity))
            Chat(id, "^3[%s] ^4Ti poluchi sposobnost^1: ^3Low Gravity ^1!", string)
            client_cmd(id, "spk debris/beamstart8")
        }
        case 5:
        {
            set_user_footsteps(id, 1)
            Chat(id, "^3[%s] ^4Ti poluchi sposobnost^1: ^3No Footsteps ^1!", string)
            client_cmd(id, "spk items/gunpickup2")
        }
        case 6:
        {
            set_user_footsteps(id, 1)
            set_user_rendering(id, kRenderFxNone, 255, 255, 255, kRenderTransAlpha, get_pcvar_num(cvar_invisibility))
            Chat(id, "^3[%s] ^4Ti poluchi sposobnost^1: ^3Invisibility ^1!", string)
            client_cmd(id, "spk buttons/blip1")
        }
        case 7:
        {
            if( !(get_user_flags(id) & Level) )
            {
                open_menu(id)
                Chat(id, "^3[%s] ^4Trqbva da si ^3VIP", string)
                client_cmd(id, "spk buttons/button2")
                limit[id] = false 
                return 
            }
            
            new CsTeams:userTeam = cs_get_user_team(id)
            
            if(userTeam == CS_TEAM_T)
            {
                switch(random(2))
                {
                    case 1: cs_set_user_model(id, "gsg9")
                    case 2: cs_set_user_model(id, "urban")
                }
            } else {
                switch(random(2))
                {
                    case 1: cs_set_user_model(id, "arctic")
                    case 2: cs_set_user_model(id, "terror")
                }                
            }
            
            Chat(id, "^3[%s] ^4Ti poluchi sposobnost^1: ^3Chameleon ^1!", string)
            client_cmd(id, "spk fvox/activated")
        }
    }
    
    menu_destroy(menu)
    limit[id] = true
}
Поне да му беше оставил автора, това си е негова идея, неговия плъгин..
Ахх голямата идея, голямия плъгин от 200 реда (не съм го гледал сигурно е толкова) който се пише за 10 минути.. каква голяма идея, това ще се запише в историята.
Да остави автора? Метлата е писал този код пък да му слага друг автор? Може да го напише, че е негова "идеята" ако мога изобщо така да я нарека.
Нищо лично към никой, нито "критично" ха-ха :flowers:
Post Reply

Return to “Ваши плъгини”