Помощ с редакция на плъгин

Въпроси и проблеми свързани с AMXModX.
Аватар
ElitePower
Извън линия
Потребител
Потребител
Мнения: 547
Регистриран на: 13 Окт 2016, 14:20
Се отблагодари: 7 пъти
Получена благодарност: 13 пъти

Помощ с редакция на плъгин

Мнение от ElitePower » 19 Фев 2018, 19:46

Така, имам едно плъгинче, което дава вип екстри на хора с даден флаг на всеки рунд. Като мине рунда и си жив, на следващия отново можеш да избереш оръжие. Искам да го направя като избереш новото оръжие старото да се изхвърля.

Код за потвърждение: Избери целия код

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

#define PLUGIN_NAME "AMXX Extras"
#define PLUGIN_VERSION "1.0"
#define PLUGIN_AUTHOR "Desmeon"

#define VIPFLAG "p"
#define ARMOR 100

#define MENU_TITLE "\yChoose your FREE weapons:"
#define MENU_ITEM1 "Free M4A1 + Deagle"
#define MENU_ITEM2 "Free AK47 + Deagle"
#define MENU_EXITNAME "Exit"

#define AK47_BPAMMO 90
#define M4A1_BPAMMO 90
#define DEAGLE_BPAMMO 35

new flag

public plugin_init()
{
    register_plugin(PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR)
    RegisterHam(Ham_Spawn, "player", "eventPlayerSpawn", 1)
    
    flag = read_flags(VIPFLAG)
}

public eventPlayerSpawn(id)
{
    if(is_user_alive(id))
    {
        if(get_user_flags(id) & flag)
        {
            cs_set_user_armor(id, ARMOR, CS_ARMOR_VESTHELM)
            
            give_item(id, "weapon_hegrenade")
            give_item(id, "weapon_flashbang")
            give_item(id, "weapon_flashbang")
            
            freeWeaponsMenu(id)
        }
    }
}

public freeWeaponsMenu(id)
{
    new menu = menu_create(MENU_TITLE, "giveWeapons")
    
    menu_additem(menu, MENU_ITEM1, "1", 0)
    menu_additem(menu, MENU_ITEM2, "2", 0)
    menu_addblank(menu, 0)
    menu_additem(menu, MENU_EXITNAME, "3", 0)
    
    menu_setprop(menu, MPROP_EXIT, MEXIT_NEVER)
    menu_display(id, menu, 0)
}

public giveWeapons(id, menu, item)
{
    new data[6], name[64], access, callback
    
    menu_item_getinfo(menu, item, access, data, charsmax(data), name, charsmax(name), callback)
    
    new key = str_to_num(data)
    
    switch(key)
    {
        case 1:
        {
            give_item(id, "weapon_ak47")
            give_item(id, "weapon_deagle")
            cs_set_user_bpammo(id, CSW_AK47, AK47_BPAMMO)
            cs_set_user_bpammo(id, CSW_DEAGLE, DEAGLE_BPAMMO)

       return PLUGIN_HANDLED;
        }
        case 2:
        {
            give_item(id, "weapon_m4a1")
            give_item(id, "weapon_deagle")
            cs_set_user_bpammo(id, CSW_M4A1, M4A1_BPAMMO)
            cs_set_user_bpammo(id, CSW_DEAGLE, DEAGLE_BPAMMO)
       
         return PLUGIN_HANDLED;
        }
        case 3: return PLUGIN_CONTINUE;
    }
    
    menu_destroy(menu)
    return PLUGIN_HANDLED;
}
Последно промяна от ElitePower на 21 Фев 2018, 21:48, променено общо 1 път.

Аватар
OciXCrom
Извън линия
Администратор
Администратор
Мнения: 7206
Регистриран на: 06 Окт 2016, 19:20
Местоположение: /resetscore
Се отблагодари: 117 пъти
Получена благодарност: 1295 пъти
Обратна връзка:

Въпрос за плъгин

Мнение от OciXCrom » 19 Фев 2018, 20:35

Оправи заглавието на темата - не описва нищо.

Код за потвърждение: Избери целия код

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

#define PLUGIN_NAME "AMXX Extras"
#define PLUGIN_VERSION "1.0"
#define PLUGIN_AUTHOR "Desmeon"

#define VIPFLAG "p"
#define ARMOR 100

#define MENU_TITLE "\yChoose your FREE weapons:"
#define MENU_ITEM1 "Free M4A1 + Deagle"
#define MENU_ITEM2 "Free AK47 + Deagle"
#define MENU_EXITNAME "Exit"

#define AK47_BPAMMO 90
#define M4A1_BPAMMO 90
#define DEAGLE_BPAMMO 35

new flag

public plugin_init()
{
	register_plugin(PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR)
	RegisterHam(Ham_Spawn, "player", "eventPlayerSpawn", 1)
	
	flag = read_flags(VIPFLAG)
}

public eventPlayerSpawn(id)
{
	if(is_user_alive(id))
	{
		if(get_user_flags(id) & flag)
		{
			cs_set_user_armor(id, ARMOR, CS_ARMOR_VESTHELM)
			
			give_item(id, "weapon_hegrenade")
			give_item(id, "weapon_flashbang")
			give_item(id, "weapon_flashbang")
			
			freeWeaponsMenu(id)
		}
	}
}

public freeWeaponsMenu(id)
{
	new menu = menu_create(MENU_TITLE, "giveWeapons")
	
	menu_additem(menu, MENU_ITEM1, "1", 0)
	menu_additem(menu, MENU_ITEM2, "2", 0)
	menu_addblank(menu, 0)
	menu_additem(menu, MENU_EXITNAME, "3", 0)
	
	menu_setprop(menu, MPROP_EXIT, MEXIT_NEVER)
	menu_display(id, menu, 0)
}

public giveWeapons(id, menu, item)
{
	new data[6], name[64], access, callback
	
	menu_item_getinfo(menu, item, access, data, charsmax(data), name, charsmax(name), callback)
	
	new key = str_to_num(data)
	
	switch(key)
	{
		case 1:
		{
			strip_and_give_knife(id)
			give_item(id, "weapon_ak47")
			give_item(id, "weapon_deagle")
			cs_set_user_bpammo(id, CSW_AK47, AK47_BPAMMO)
			cs_set_user_bpammo(id, CSW_DEAGLE, DEAGLE_BPAMMO)
		}
		case 2:
		{
			strip_and_give_knife(id)
			give_item(id, "weapon_m4a1")
			give_item(id, "weapon_deagle")
			cs_set_user_bpammo(id, CSW_M4A1, M4A1_BPAMMO)
			cs_set_user_bpammo(id, CSW_DEAGLE, DEAGLE_BPAMMO)
		}
	}
	
	menu_destroy(menu)
	return PLUGIN_HANDLED;
}

strip_and_give_knife(const id)
{
	strip_user_weapons(id)
	give_item(id, "weapon_knife")
}

Аватар
ElitePower
Извън линия
Потребител
Потребител
Мнения: 547
Регистриран на: 13 Окт 2016, 14:20
Се отблагодари: 7 пъти
Получена благодарност: 13 пъти

Помощ с редакция на плъгин

Мнение от ElitePower » 21 Фев 2018, 21:50

Ако може ми обясни как да направя същото нещо, което поисках на друг плъгин. Виждам, че си добавил няколко неща, които ги пробвах.

strip_and_give_knife(id)

menu_destroy(menu)
return PLUGIN_HANDLED;
}

strip_and_give_knife(const id)
{
strip_user_weapons(id)
give_item(id, "weapon_knife")
}

Аватар
OciXCrom
Извън линия
Администратор
Администратор
Мнения: 7206
Регистриран на: 06 Окт 2016, 19:20
Местоположение: /resetscore
Се отблагодари: 117 пъти
Получена благодарност: 1295 пъти
Обратна връзка:

Помощ с редакция на плъгин

Мнение от OciXCrom » 21 Фев 2018, 22:41

strip_user_weapons(id) -- премахва всички оръжия
give_item(id, "weapon_knife") -- дава нож

Само това ти трябва, предполагам ще се досетиш къде да ги сложиш.

Публикувай отговор
  • Подобни теми
    Отговори
    Преглеждания
     Последно мнение

Обратно към “Поддръжка / Помощ”

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 7 госта