Simple Weapons Menu

Тук е мястото да представите плъгин(и), написани от вас!
Post Reply
User avatar
Mr.Nikolov
Потребител
Потребител
Posts: 56
Joined: 16 Jan 2011, 01:49

Simple Weapons Menu

Post by Mr.Nikolov »

Simple Weapons Menu
Версия: 0.1 + 0.2
Автор: Nikolow (Mr.Nikolov - Nicky)

Image
Плъгинът е доста простичък и бе направен по "поръчка", понеже историята е, че плъгинът бил PRIVATE и никой не може да го направи, а който го има яде FLOOD. Малко се отплеснах от темата. Самият плъгин прави следното:
При всяко раждане на играча излиза меню с 3 оръжия: M4A1, AK47 и AWP. Според това как са настроени квар командите дава и гранати, дийгъл и defuse kit (ако на картата може да се залага бомба). Също така има и опция още при раждането на играча да му вземе оръжията (USP [CT] и Glock [TT]). Има и опция, която при включването и да изкарва специално меню за оръжията на админите, където оръжията са 5: M4A1, AK47, AWP, M249 (тежката) и M3 (ShotGun). Също така плъгинът притежава рунд система, при която ако е активирана може да се нагласи през колко рунда се показва меню-то на играчите.


Image

Искам да променя заглавията на меню-тата
Отваряте сорс кода (.sma файла) и на ред 111-ти променяте текста "\yWeapons Menu:", където \y е жълтият цвят, \r е червеният цвят, \d е сивият цвят и \w е белият цвят.
Пример:
Преди wrote:new menu = menu_create("\yWeapons Menu:", "weapons_func")
Сега wrote:new menu = menu_create("\yMy \rEdited \dWeapons \wMenu:", "weapons_func")
По същият начин е и за 179-ти ред.


Image

strip_startup_weapons 1/0 - Дали да премахне началните оръжия при раждане на играча
weapons_he 1/0 - Дали да даде HE граната при раждане на играча
weapons_flash 1/2/0 - Дали да даде Флаш при раждане на играча (1 - един флаш, 2 - два флаша, 0 - спряно)
weapons_smoke 1/0 - Дали да даде Смоук при раждане на играча
weapons_kit 1/0 - Дали да даде на двойките клещи за обезвреждане, ако на картата може да се залага бомба
weapons_armor 1/0 - Дали да даде 100 армор при раждане на играча
weapons_deagle 1/0 - Дали да даде дийгъл при раждане на играча
weapons_ammo 1/0 - Дали да даде пълни патрони на оръжията
vip_weapons_menu 1/0 - Дали да е включено специалното меню за админите
weapons_round_system 1/0 - Дали рунд системата да работи
weapons_x_rounds X - През колко рунда да се показва меню-то



Image

Версия 0.1 - Dox.bg
Версия 0.1 - MediaFire.com

Версия 0.2 - Dox.bg
Версия 0.2 - MediaFire.com

Ако имате някакви идеи кажете, може да ги добавя.
Last edited by Mr.Nikolov on 22 Mar 2014, 19:15, edited 1 time in total.
User avatar
ma6inata
Потребител
Потребител
Posts: 67
Joined: 07 Aug 2011, 09:41
CS Nick: lqlq ;]
Favorite version: CS: 1.6
Location: Still in Liberty City

Re: Simple Weapons Menu

Post by ma6inata »

Много добър плъгин, поздравления! Но не може ли да се сложе един ограничител на него?
Смисъл тези оръжия да могат да се взимат само веднъж на 3 рунда? :mmm?:
User avatar
SpeeDeeR
Потребител
Потребител
Posts: 41
Joined: 13 Feb 2011, 22:07
CS Nick: SpeeD
Favorite version: CS: 1.6
Steam Community ID: 76561198045340386
Location: Русе
Contact:

Re: Simple Weapons Menu

Post by SpeeDeeR »

Декларацията на offset-овете е ненужна.
Използвай fun и engine вместо fakemeta.
User avatar
KiLLeR.
Потребител
Потребител
Posts: 173
Joined: 06 Mar 2011, 22:46
Skype: ЛС
CS Nick: KiLLeR ;]]
Favorite version: CS: Global Offensive
Steam Community ID: killer__________
Location: Тук-там!?!

Re: Simple Weapons Menu

Post by KiLLeR. »

Code: Select all

if( get_pcvar_num( vip ) ) 
    {
        if(is_user_admin(id)) Weapons_VIP(id);
        else Weapons(id);
    }
    else Weapons(id);
>>

Code: Select all

if( get_pcvar_num( vip ) && is_user_admin(id)) Weapons_VIP(id);
            else Weapons(id);
User avatar
Mr.Nikolov
Потребител
Потребител
Posts: 56
Joined: 16 Jan 2011, 01:49

Re: Simple Weapons Menu

Post by Mr.Nikolov »

Нова версия - 0.2


Промени:
Декларацията на offset-овете е премахната.
Използвани са fun и engine вместо fakemeta.
Добавена е рунд система.
Благодарности към:
SpeeDeeR - За изказването си относно offset-овете и fun & engine вместо fakemeta
KiLLeR. - За леката поправка (оптимизация бих казал)
ma6inata - Идеята за рунд системата
Важно:
Рунд системата не е тествана !
User avatar
ma6inata
Потребител
Потребител
Posts: 67
Joined: 07 Aug 2011, 09:41
CS Nick: lqlq ;]
Favorite version: CS: 1.6
Location: Still in Liberty City

Re: Simple Weapons Menu

Post by ma6inata »

Искам да попитам ако искам да направя плъгина да се използва само от админи, то кода така ли би трябвало да ми изглежда:

Code: Select all

#define PLUGIN_NAME "Simple Weapons Menu"
#define PLUGIN_VERSION "0.2"
#define PLUGIN_AUTHOR "Nikolow"

#include <amxmodx>
#include <amxmisc> // is_user_admin
#include <cstrike>
#include <fun>
#include <engine>
#include <hamsandwich>

new he, flash, smoke, kit, armor, deagle, vip, strip, ammo, round_sys, x_rounds
new bool:bomb_target
new Count[ 33 ];

public plugin_init()
{
    register_plugin(PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR)
    
    RegisterHam(Ham_Spawn, "player", "fwdPlayerSpawn", 1);
    register_logevent("logevent_round_start", 2, "1=Round_Start")  
    
    /* 
        ================== Plugin Cvars ====================
        weapons_*type* | 1 - ON // 0 - OFF |
        Weapon Types - he, flash, smoke, kit, armor, deagle
        Examples: weapons_he 1 [ON], weapons_flash 0 [OFF]
    */
    strip =     register_cvar( "strip_startup_weapons", "1" )
    he =         register_cvar( "weapons_he", "1" )
    flash =     register_cvar( "weapons_flash", "1" ) // 0 - OFF | 1 - 1 Flash | 2 - 2 Flashes
    smoke =     register_cvar( "weapons_smoke", "1" )
    kit =         register_cvar( "weapons_kit", "1" )
    armor =     register_cvar( "weapons_armor", "1" )
    deagle =     register_cvar( "weapons_deagle", "1" )
    ammo =         register_cvar( "weapons_ammo", "1" )
    vip =         register_cvar( "vip_weapons_menu", "1" )
    round_sys =     register_cvar( "weapons_round_system", "1" )
    x_rounds =    register_cvar( "weapons_x_rounds", "3" )
    
    if (find_ent_by_class(-1, "func_bomb_target") || find_ent_by_class(-1, "info_bomb_target")) //Checks for bombsites
        bomb_target = true;
} 

public logevent_round_start(id)
{
    if( get_pcvar_num( round_sys ) ) 
    {
        if(Count[ id ] == get_pcvar_num( x_rounds ))
        {
            if( get_pcvar_num( vip ) && is_user_admin(id)) Weapons_VIP(id);
            Count[ id ] = 0;
        }
        else ++Count[ id ];
    }
}

public fwdPlayerSpawn(id)
{    
    if( !get_pcvar_num( round_sys ) ) 
    {
        if( get_pcvar_num( vip ) && is_user_admin(id)) Weapons_VIP(id)
    }
    
    if( get_pcvar_num( strip ) ) 
    {
        strip_user_weapons(id);
        give_item(id, "weapon_knife");
    }
    
    return PLUGIN_HANDLED;
}

public Weapons_VIP(id)
{
    new menu = menu_create("\yWeapons Menu \r[ADMIN]\y:", "weapons_func_vip")
    
    if( get_pcvar_num( deagle ) )
    {
        menu_additem(menu, "\wAK47 \r+ \wDeagle", "1", 0)
        menu_additem(menu, "\wM4A1 \r+ \wDeagle", "2", 0)
        menu_additem(menu, "\wAWP \r+ \wDeagle", "3", 0)
        menu_additem(menu, "\wM249 \r+ \wDeagle", "4", 0)
        menu_additem(menu, "\wSHOTGUN \r+ \wDeagle", "5", 0)
    }
    else
    {
        menu_additem(menu, "\wAK47", "1", 0)
        menu_additem(menu, "\wM4A1", "2", 0)
        menu_additem(menu, "\wAWP", "3", 0)
        menu_additem(menu, "\wM249", "4", 0)
        menu_additem(menu, "\wSHOTGUN", "5", 0)
    }
    
    menu_setprop(menu, MPROP_EXIT, MEXIT_NEVER)
    menu_display(id, menu, 0)
}

public weapons_func_vip(id, menu, item)
{    
    if(!is_user_alive(id))
        return PLUGIN_HANDLED;
        
    new data[6], iName[64], access, callback
    menu_item_getinfo(menu, item, access, data,5, iName, 63, callback) 
    new key = str_to_num(data)
    
    if( get_pcvar_num( he ) ) give_item(id, "weapon_hegrenade");
    if( get_pcvar_num( flash ) ) 
    {
        give_item(id, "weapon_flashbang");
        cs_set_user_bpammo( id, CSW_FLASHBANG, get_pcvar_num( flash ) );
    }
    if( get_pcvar_num( smoke ) ) give_item(id, "weapon_smokegrenade");
    if( bomb_target && get_pcvar_num( kit ) ) if(get_user_team(id) == 2) cs_set_user_defuse(id, 1)
    if( get_pcvar_num( armor ) ) cs_set_user_armor(id, 100, CS_ARMOR_VESTHELM);
    if( get_pcvar_num( deagle ) )
    {
        give_item(id, "weapon_deagle");
        if( get_pcvar_num( ammo ) ) cs_set_user_bpammo(id, CSW_DEAGLE, 999);
    }
    
    switch(key)
    {
        case 1:
        {
            give_item(id, "weapon_ak47")
            if( get_pcvar_num( ammo ) ) cs_set_user_bpammo(id, CSW_AK47, 999)
        }
        case 2:
        {
            give_item(id, "weapon_m4a1")
            if( get_pcvar_num( ammo ) ) cs_set_user_bpammo(id, CSW_M4A1, 999)
        }
        case 3:
        {
            give_item(id, "weapon_awp")
            if( get_pcvar_num( ammo ) ) cs_set_user_bpammo(id, CSW_AWP, 999)
        }
        case 4:
        {
            give_item(id, "weapon_m249")
            if( get_pcvar_num( ammo ) ) cs_set_user_bpammo(id, CSW_M249, 999)
        }
        case 5:
        {
            give_item(id, "weapon_m3")
            if( get_pcvar_num( ammo ) ) cs_set_user_bpammo(id, CSW_M3, 999)
        }
    }
    
    menu_destroy(menu)
    return PLUGIN_HANDLED_MAIN;
} 
User avatar
Mr.Nikolov
Потребител
Потребител
Posts: 56
Joined: 16 Jan 2011, 01:49

Re: Simple Weapons Menu

Post by Mr.Nikolov »

Да, но ако stripваш оръжията, ще ги маха и на нормалните играчи.

Пробвай това:

Code: Select all

#define PLUGIN_NAME "Simple Weapons Menu - Admin Version"
#define PLUGIN_VERSION "0.2.1"
#define PLUGIN_AUTHOR "Nikolow"

#include <amxmodx>
#include <amxmisc> // is_user_admin
#include <cstrike>
#include <fun>
#include <engine>
#include <hamsandwich>

new he, flash, smoke, kit, armor, deagle, strip, ammo, round_sys, x_rounds
new bool:bomb_target
new Count[ 33 ];

public plugin_init()
{
    register_plugin(PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR)
    
    RegisterHam(Ham_Spawn, "player", "fwdPlayerSpawn", 1);
    register_logevent("logevent_round_start", 2, "1=Round_Start")  

    strip =     register_cvar( "strip_startup_weapons", "1" )
    he =         register_cvar( "weapons_he", "1" )
    flash =     register_cvar( "weapons_flash", "1" ) // 0 - OFF | 1 - 1 Flash | 2 - 2 Flashes
    smoke =     register_cvar( "weapons_smoke", "1" )
    kit =         register_cvar( "weapons_kit", "1" )
    armor =     register_cvar( "weapons_armor", "1" )
    deagle =     register_cvar( "weapons_deagle", "1" )
    ammo =         register_cvar( "weapons_ammo", "1" )
    round_sys =     register_cvar( "weapons_round_system", "1" )
    x_rounds =    register_cvar( "weapons_x_rounds", "3" )
    
    if (find_ent_by_class(-1, "func_bomb_target") || find_ent_by_class(-1, "info_bomb_target")) //Checks for bombsites
        bomb_target = true;
} 

public logevent_round_start(id)
{
    if(!is_user_alive(id) && !is_user_admin(id))
        return PLUGIN_HANDLED;

    if( get_pcvar_num( round_sys ) ) 
    {
        if(Count[ id ] == get_pcvar_num( x_rounds ))
        {
            Weapons_VIP(id);
            Count[ id ] = 0;
        }
        else ++Count[ id ];
    }
    
    return PLUGIN_HANDLED;
}

public fwdPlayerSpawn(id)
{
    if(!is_user_alive(id) && !is_user_admin(id))
        return PLUGIN_HANDLED;
        
    if( !get_pcvar_num( round_sys ) ) Weapons_VIP(id);

    if( get_pcvar_num( strip )) 
    {
        strip_user_weapons(id);
        give_item(id, "weapon_knife");
    }
    
    return PLUGIN_HANDLED;
}

public Weapons_VIP(id)
{
    new menu = menu_create("\yWeapons Menu \r[ADMIN]\y:", "weapons_func_vip")
    
    if( get_pcvar_num( deagle ) )
    {
        menu_additem(menu, "\wAK47 \r+ \wDeagle", "1", 0)
        menu_additem(menu, "\wM4A1 \r+ \wDeagle", "2", 0)
        menu_additem(menu, "\wAWP \r+ \wDeagle", "3", 0)
        menu_additem(menu, "\wM249 \r+ \wDeagle", "4", 0)
        menu_additem(menu, "\wSHOTGUN \r+ \wDeagle", "5", 0)
    }
    else
    {
        menu_additem(menu, "\wAK47", "1", 0)
        menu_additem(menu, "\wM4A1", "2", 0)
        menu_additem(menu, "\wAWP", "3", 0)
        menu_additem(menu, "\wM249", "4", 0)
        menu_additem(menu, "\wSHOTGUN", "5", 0)
    }
    
    menu_setprop(menu, MPROP_EXIT, MEXIT_NEVER)
    menu_display(id, menu, 0)
}

public weapons_func_vip(id, menu, item)
{    
    if(!is_user_alive(id))
        return PLUGIN_HANDLED;
        
    new data[6], iName[64], access, callback
    menu_item_getinfo(menu, item, access, data,5, iName, 63, callback) 
    new key = str_to_num(data)
    
    if( get_pcvar_num( he ) ) give_item(id, "weapon_hegrenade");
    if( get_pcvar_num( flash ) ) 
    {
        give_item(id, "weapon_flashbang");
        cs_set_user_bpammo( id, CSW_FLASHBANG, get_pcvar_num( flash ) );
    }
    if( get_pcvar_num( smoke ) ) give_item(id, "weapon_smokegrenade");
    if( bomb_target && get_pcvar_num( kit ) ) if(get_user_team(id) == 2) cs_set_user_defuse(id, 1)
    if( get_pcvar_num( armor ) ) cs_set_user_armor(id, 100, CS_ARMOR_VESTHELM);
    if( get_pcvar_num( deagle ) )
    {
        give_item(id, "weapon_deagle");
        if( get_pcvar_num( ammo ) ) cs_set_user_bpammo(id, CSW_DEAGLE, 999);
    }
    
    switch(key)
    {
        case 1:
        {
            give_item(id, "weapon_ak47")
            if( get_pcvar_num( ammo ) ) cs_set_user_bpammo(id, CSW_AK47, 999)
        }
        case 2:
        {
            give_item(id, "weapon_m4a1")
            if( get_pcvar_num( ammo ) ) cs_set_user_bpammo(id, CSW_M4A1, 999)
        }
        case 3:
        {
            give_item(id, "weapon_awp")
            if( get_pcvar_num( ammo ) ) cs_set_user_bpammo(id, CSW_AWP, 999)
        }
        case 4:
        {
            give_item(id, "weapon_m249")
            if( get_pcvar_num( ammo ) ) cs_set_user_bpammo(id, CSW_M249, 999)
        }
        case 5:
        {
            give_item(id, "weapon_m3")
            if( get_pcvar_num( ammo ) ) cs_set_user_bpammo(id, CSW_M3, 999)
        }
    }
    
    menu_destroy(menu)
    return PLUGIN_HANDLED_MAIN;
}

Не е тествано !
User avatar
Impressive.
VIP
VIP
Posts: 93
Joined: 26 May 2013, 09:19
Skype: sexdrugshause
CS Nick: Impressive.
Favorite version: CS: 1.6
Steam Community ID: impressivemadeit
Location: Стара Загора
Contact:

Re: Simple Weapons Menu

Post by Impressive. »

Супер плъгин браво 10/10
Last edited by Reflex on 23 May 2014, 17:21, edited 1 time in total.
Reason: Неаргументиран коментар.
Post Reply

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