Guns Menu

В този раздел можете да подавате всякакви заявки за намиране, изработка или преработка на плъгини/модове.
Аватар
L.O.F.I
Извън линия
Foreigner
Foreigner
Мнения: 36
Регистриран на: 03 Фев 2020, 19:01
Местоположение: Algeria
Се отблагодари: 2 пъти
Обратна връзка:

Guns Menu

Мнение от L.O.F.I » 09 Сеп 2020, 21:31

hello I would like to add models for these weapons. and this VIP menu is only available for CT

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

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


public plugin_init() {
    register_plugin("VIP weapon Menu", "1.0", "L.O.F.I");
    register_clcmd("say /vmenu", "VipMenu");

    RegisterHam(Ham_TakeDamage, "player", "PreTakeDamage", 0);
    RegisterHam(Ham_TakeDamage, "player", "PreTakeDamage1", 0);
    RegisterHam(Ham_TakeDamage, "player", "PreTakeDamage2", 0);
    RegisterHam(Ham_TakeDamage, "player", "PreTakeDamage3", 0);
    
    
}


public VipMenu(id)
{
	if (get_user_flags(id) & ADMIN_LEVEL_H)
		{
			guns_menu(id)
		}
		else
        {
               CC_SendMessage(id, "&x01[&x04FURIEN&x01]&x03These models are just for &x04immunity admins")
        }
	
}

public PreTakeDamage(iVictim, iInflictor, iAttacker, Float:fDamage, iDamageBits)
{
	if(iAttacker == iInflictor)
	{
		if(get_user_weapon(iAttacker) == CSW_XM1014)
		{
			SetHamParamFloat(4, fDamage * 2.0);
		}
	}
}

public PreTakeDamage1(iVictim, iInflictor, iAttacker, Float:fDamage, iDamageBits)
{
	if(iAttacker == iInflictor)
	{
		if(get_user_weapon(iAttacker) == CSW_AK47)
		{
			SetHamParamFloat(4, fDamage * 2.0);
		}
	}
}

public PreTakeDamage2(iVictim, iInflictor, iAttacker, Float:fDamage, iDamageBits)
{
	if(iAttacker == iInflictor)
	{
		if(get_user_weapon(iAttacker) == CSW_M4A1)
		{
			SetHamParamFloat(4, fDamage * 2.0);
		}
	}
}

public PreTakeDamage3(iVictim, iInflictor, iAttacker, Float:fDamage, iDamageBits)
{
	if(iAttacker == iInflictor)
	{
		if(get_user_weapon(iAttacker) == CSW_DEAGLE)
		{
			SetHamParamFloat(4, fDamage * 2.0);
		}
	}
}

public guns_menu(id)
{
    if(is_user_alive(id) && get_user_team(id) == TEAM_ANTIFURIEN) {
    return
   
    new guns_menu = menu_create("\rVIP \wMenu", "CmdWeaponsHandler");
   
    menu_additem(guns_menu, "\r[\yM4A1 \w+ \yDeagle\r]", "", ADMIN_RCON);
    menu_additem(guns_menu, "\r[\yAK47 \w+ \yDeagle\r]", "", ADMIN_RCON);
    menu_additem(guns_menu, "\r[\yXM1014 \w+ \yDeagle\r]", "", ADMIN_RCON);
   
    menu_display(id, guns_menu, 0);
}
 
public CmdWeaponsHandler(id, EXIT, item)
{
    if(is_user_alive(id) && get_user_team(id) == TEAM_ANTIFURIEN) {
    return PLUGIN_HANDLED
   
    if(item == MENU_EXIT)
    {
        menu_destroy(EXIT);
        return PLUGIN_HANDLED;
    }
   
    switch(item)
    {
        case 0: { 
                

            strip_user_weapons(id); // drop all weapons
           
            give_item(id, "weapon_m4a1");
            cs_set_user_bpammo(id, CSW_M4A1, 254);
            give_item(id, "weapon_deagle");
            cs_set_user_bpammo(id, CSW_DEAGLE, 254);
	    give_item(id, "weapon_knife");
           

            {

            }
            }
        case 1: { // gives AK47 + Deagle

           
            strip_user_weapons(id); // drop all weapons
           
            give_item(id, "weapon_ak47");
            cs_set_user_bpammo(id, CSW_AK47, 254);
            give_item(id, "weapon_deagle");
            cs_set_user_bpammo(id, CSW_DEAGLE, 254);
	    give_item(id, "weapon_knife");
            {

            }
            } 
        case 2: { // gives XM1014 + Deagle
           
            strip_user_weapons(id); // drop all weapons
           
            give_item(id, "weapon_xm1014");
            cs_set_user_bpammo(id, CSW_XM1014, 254);
            give_item(id, "weapon_deagle");
            cs_set_user_bpammo(id, CSW_DEAGLE, 254);
	    give_item(id, "weapon_knife");

            {
	    	
            }
        }
    }
   
    return PLUGIN_HANDLED
}

𝕊𝕖𝕣𝕧𝕖𝕣 𝕄𝕠𝕕 : 𝔽𝕌ℝ𝕀𝔼ℕ ℂ𝕝𝕒𝕤𝕤𝕚𝕔
ℂ.𝔼.𝕆 : 𝕐𝕦𝕤𝕠ℂ𝕙𝕒𝕟-
𝕀ℙ : 𝟡𝟛.𝟙𝟙𝟝.𝟝𝟛.𝟙𝟞𝟠:𝟚𝟟𝟘𝟙𝟟

Аватар
atmax
Извън линия
Потребител
Потребител
Мнения: 492
Регистриран на: 22 Мар 2018, 15:06
Се отблагодари: 37 пъти
Получена благодарност: 43 пъти

Guns Menu

Мнение от atmax » 10 Сеп 2020, 12:45

Your code is awful. And I think mine is too :D..But give it a try!

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

#include <amxmodx>
#include <amxmisc>
#include <fun>
#include <fakemeta>
#include <cstrike>
#include <hamsandwich>
#include <cromchat>
 
enum _:Weapons
{
	ID[20],
	V_Model[64],
	P_Model[64]
}

enum _:WeaponN
{
	WName[20]
}

new const g_szWeapons[][Weapons] =
{
	{ "weapon_xm1014", "models/my_folder/v_xm1014", "models/my_folder/p_xm1014" },
	{ "weapon_ak47", "models/my_folder/v_ak47.mdl", "models/my_folder/p_ak47.mdl" },
	{ "weapon_m4a1", "models/my_folder/v_m4a1.mdl", "models/my_folder/p_m4a1.mdl" },
	{ "weapon_deagle", "models/my_folder/v_deagle.mdl", "models/my_folder/p_deagle.mdl" }
}

new const g_szWeaponNames[][WeaponN] = { "CSW_XM1014", "CSW_AK47", "CSW_M4A1", "CSW_DEAGLE" }

new Trie:g_tVModels, Trie:g_tPModels

public plugin_init() {
	register_plugin("VIP weapon Menu", "1.0", "L.O.F.I");
	register_clcmd("say /vmenu", "VipMenu");
	register_event("CurWeapon", "OnChangeWeapon", "be", "1=1");
	RegisterHam(Ham_TakeDamage, "player", "PreTakeDamage", 0);
	
	g_tVModels = TrieCreate()
	g_tPModels = TrieCreate() 
}

public plugin_precache()
{
	for(new i; i < sizeof(g_szWeapons); i++)
	{
		if(g_szWeapons[i][V_Model][0])
		{
			TrieSetString(g_tVModels, g_szWeapons[i][ID], g_szWeapons[i][V_Model])
			precache_model(g_szWeapons[i][V_Model])
		}

		if(g_szWeapons[i][P_Model][0])
		{
			TrieSetString(g_tPModels, g_szWeapons[i][ID], g_szWeapons[i][P_Model])
			precache_model(g_szWeapons[i][P_Model])
		}
	}
}

public plugin_end()
{
	TrieDestroy(g_tVModels)
	TrieDestroy(g_tPModels)
}

public VipMenu(id)
{
	if (get_user_flags(id) & ADMIN_LEVEL_H)
		{
			guns_menu(id)
		}
		else
		{
			CC_SendMessage(id, "&x01[&x04FURIEN&x01]&x03These models are just for &x04immunity admins")
		}
}

public PreTakeDamage(iVictim, iInflictor, iAttacker, Float:fDamage, iDamageBits)
{
	if(iAttacker == iInflictor)
	{
		for (new i = 0; i < sizeof g_szWeaponNames[][WeaponN]; i++)
		{
			if(get_user_weapon(iAttacker) == g_szWeaponNames[i][WName])
			{
				SetHamParamFloat(4, fDamage * 2.0);
			}
		}
	}
}

public OnChangeWeapon(id)
{
	if(!(get_user_flags(id) & ADMIN_LEVEL_H))
		return

	new szModel[64], szWeapon[20]
	get_weaponname(read_data(2), szWeapon, charsmax(szWeapon))

	if(TrieGetString(g_tVModels, szWeapon, szModel, charsmax(szModel)))
		set_pev(id, pev_viewmodel2, szModel)

	if(TrieGetString(g_tPModels, szWeapon, szModel, charsmax(szModel)))
		set_pev(id, pev_weaponmodel2, szModel)
}

public guns_menu(id)
{
	if(is_user_alive(id) && get_user_team(id) == TEAM_ANTIFURIEN)
	{
		return
	}
	
	new guns_menu = menu_create("\rVIP \wMenu", "CmdWeaponsHandler");
   
	menu_additem(guns_menu, "\r[\yM4A1 \w+ \yDeagle\r]", "", ADMIN_RCON);
	menu_additem(guns_menu, "\r[\yAK47 \w+ \yDeagle\r]", "", ADMIN_RCON);
	menu_additem(guns_menu, "\r[\yXM1014 \w+ \yDeagle\r]", "", ADMIN_RCON);
   
	menu_display(id, guns_menu, 0);
}
 
public CmdWeaponsHandler(id, guns_menu, item)
{
	if(is_user_alive(id) && get_user_team(id) == TEAM_ANTIFURIEN)
	{
		return PLUGIN_HANDLED
	}
	
	if(item == MENU_EXIT)
	{
		menu_destroy(guns_menu);
		return PLUGIN_HANDLED;
	}
   
	switch(item)
	{
		case 0:
		{
			strip_user_weapons(id); // drop all weapons 
			give_item(id, "weapon_m4a1");
			cs_set_user_bpammo(id, CSW_M4A1, 254);
			give_item(id, "weapon_deagle");
			cs_set_user_bpammo(id, CSW_DEAGLE, 254);
			give_item(id, "weapon_knife");
		}
        case 1:
		{
			strip_user_weapons(id); // drop all weapons
			give_item(id, "weapon_ak47");
			cs_set_user_bpammo(id, CSW_AK47, 254);
			give_item(id, "weapon_deagle");
			cs_set_user_bpammo(id, CSW_DEAGLE, 254);
			give_item(id, "weapon_knife");
		} 
        case 2:
		{
			strip_user_weapons(id); // drop all weapons
			give_item(id, "weapon_xm1014");
			cs_set_user_bpammo(id, CSW_XM1014, 254);
			give_item(id, "weapon_deagle");
			cs_set_user_bpammo(id, CSW_DEAGLE, 254);
			give_item(id, "weapon_knife");
        }
    }
   
	return PLUGIN_HANDLED
}
You dont have to use so many Ham_TakeDamage events, one is enough + It wont compile because of TEAM_ANTIFURIEN, you have to include the library for this team. And lastly learn more about menu's. Maybe you have to start with something more easier!
You can setup your models and weapons from new const g_szWeapons. The p_ models are not mandatory if you dont have one then leave it blank.
Rest in peace my friend I always will remember you! 🖤👊

Аватар
L.O.F.I
Извън линия
Foreigner
Foreigner
Мнения: 36
Регистриран на: 03 Фев 2020, 19:01
Местоположение: Algeria
Се отблагодари: 2 пъти
Обратна връзка:

Guns Menu

Мнение от L.O.F.I » 10 Сеп 2020, 20:52

Yes thank you, but it shows me two errors can you fix that ?

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

#include <amxmodx>
#include <amxmisc>
#include <fun>
#include <fakemeta>
#include <cstrike>
#include <hamsandwich>
#include <cromchat>
 
enum _:Weapons
{
	ID[20],
	V_Model[64],
	P_Model[64]
}

enum _:WeaponN
{
	WName[20]
}

new const g_szWeapons[][Weapons] =
{
	{ "weapon_xm1014", "models/vmenu/v_gold_xm1014", "models/vmenu/p_gold_xm1014" },
	{ "weapon_ak47", "models/vmenu/v_gold_ak47.mdl", "models/vmenu/p_gold_ak47.mdl" },
	{ "weapon_m4a1", "models/vmenu/v_gold_m4a1.mdl", "models/vmenu/p_gold_m4a1.mdl" },
	{ "weapon_deagle", "models/vmenu/v_gold_deagle.mdl", "models/vmenu/p_gold_deagle.mdl" }
}

new const g_szWeaponNames[][WeaponN] = { "CSW_XM1014", "CSW_AK47", "CSW_M4A1", "CSW_DEAGLE" }

new Trie:g_tVModels, Trie:g_tPModels

public plugin_init() {
	register_plugin("VIP weapon Menu", "1.0", "L.O.F.I");
	register_clcmd("say /vmenu", "VipMenu");
	register_event("CurWeapon", "OnChangeWeapon", "be", "1=1");
	RegisterHam(Ham_TakeDamage, "player", "PreTakeDamage", 0);
	
	g_tVModels = TrieCreate()
	g_tPModels = TrieCreate() 
}

public plugin_precache()
{
	for(new i; i < sizeof(g_szWeapons); i++)
	{
		if(g_szWeapons[i][V_Model][0])
		{
			TrieSetString(g_tVModels, g_szWeapons[i][ID], g_szWeapons[i][V_Model])
			precache_model(g_szWeapons[i][V_Model])
		}

		if(g_szWeapons[i][P_Model][0])
		{
			TrieSetString(g_tPModels, g_szWeapons[i][ID], g_szWeapons[i][P_Model])
			precache_model(g_szWeapons[i][P_Model])
		}
	}
}

public plugin_end()
{
	TrieDestroy(g_tVModels)
	TrieDestroy(g_tPModels)
}

public VipMenu(id)
{
	if (get_user_flags(id) & ADMIN_RCON)
		{
			guns_menu(id)
		}
		else
		{
			CC_SendMessage(id, "&x01[&x04FURIEN&x01]&x03These models are just for &x04immunity admins")
		}
}

public PreTakeDamage(iVictim, iInflictor, iAttacker, Float:fDamage, iDamageBits)
{
	if(iAttacker == iInflictor)
	{
		for (new i = 0; i < sizeof g_szWeaponNames[][WeaponN]; i++)
		{
			if(get_user_weapon(iAttacker) == g_szWeaponNames[i][WName])
			{
				SetHamParamFloat(4, fDamage * 2.0);
			}
		}
	}
}

public OnChangeWeapon(id)
{
	if(!(get_user_flags(id) & ADMIN_RCON))
		return

	new szModel[64], szWeapon[20]
	get_weaponname(read_data(2), szWeapon, charsmax(szWeapon))

	if(TrieGetString(g_tVModels, szWeapon, szModel, charsmax(szModel)))
		set_pev(id, pev_viewmodel2, szModel)

	if(TrieGetString(g_tPModels, szWeapon, szModel, charsmax(szModel)))
		set_pev(id, pev_weaponmodel2, szModel)
}

public guns_menu(id)
{
	if(is_user_alive(id) && get_user_team(id) == CS_TEAM_CT)
	{
		return
	}
	
	new guns_menu = menu_create("\rVIP \wMenu", "CmdWeaponsHandler");
   
	menu_additem(guns_menu, "\r[\yM4A1 \w+ \yDeagle\r]", "", ADMIN_RCON);
	menu_additem(guns_menu, "\r[\yAK47 \w+ \yDeagle\r]", "", ADMIN_RCON);
	menu_additem(guns_menu, "\r[\yXM1014 \w+ \yDeagle\r]", "", ADMIN_RCON);
   
	menu_display(id, guns_menu, 0);
}
 
public CmdWeaponsHandler(id, guns_menu, item)
{
	if(is_user_alive(id) && get_user_team(id) == CS_TEAM_CT)
	{
		return PLUGIN_HANDLED
	}
	
	if(item == MENU_EXIT)
	{
		menu_destroy(guns_menu);
		return PLUGIN_HANDLED;
	}
   
	switch(item)
	{
		case 0:
		{
			strip_user_weapons(id); // drop all weapons 
			give_item(id, "weapon_m4a1");
			cs_set_user_bpammo(id, CSW_M4A1, 254);
			give_item(id, "weapon_deagle");
			cs_set_user_bpammo(id, CSW_DEAGLE, 254);
			give_item(id, "weapon_knife");
		}
        case 1:
		{
			strip_user_weapons(id); // drop all weapons
			give_item(id, "weapon_ak47");
			cs_set_user_bpammo(id, CSW_AK47, 254);
			give_item(id, "weapon_deagle");
			cs_set_user_bpammo(id, CSW_DEAGLE, 254);
			give_item(id, "weapon_knife");
		} 
        case 2:
		{
			strip_user_weapons(id); // drop all weapons
			give_item(id, "weapon_xm1014");
			cs_set_user_bpammo(id, CSW_XM1014, 254);
			give_item(id, "weapon_deagle");
			cs_set_user_bpammo(id, CSW_DEAGLE, 254);
			give_item(id, "weapon_knife");
        }
    }
   
	return PLUGIN_HANDLED
}
𝕊𝕖𝕣𝕧𝕖𝕣 𝕄𝕠𝕕 : 𝔽𝕌ℝ𝕀𝔼ℕ ℂ𝕝𝕒𝕤𝕤𝕚𝕔
ℂ.𝔼.𝕆 : 𝕐𝕦𝕤𝕠ℂ𝕙𝕒𝕟-
𝕀ℙ : 𝟡𝟛.𝟙𝟙𝟝.𝟝𝟛.𝟙𝟞𝟠:𝟚𝟟𝟘𝟙𝟟

Аватар
atmax
Извън линия
Потребител
Потребител
Мнения: 492
Регистриран на: 22 Мар 2018, 15:06
Се отблагодари: 37 пъти
Получена благодарност: 43 пъти

Guns Menu

Мнение от atmax » 10 Сеп 2020, 21:10

Well..It's compiling for me. I can't read people's mind, so tell me what errors you got?
Rest in peace my friend I always will remember you! 🖤👊

Аватар
L.O.F.I
Извън линия
Foreigner
Foreigner
Мнения: 36
Регистриран на: 03 Фев 2020, 19:01
Местоположение: Algeria
Се отблагодари: 2 пъти
Обратна връзка:

Guns Menu

Мнение от L.O.F.I » 10 Сеп 2020, 22:23

it shows me two errors.

Warnings
𝕊𝕖𝕣𝕧𝕖𝕣 𝕄𝕠𝕕 : 𝔽𝕌ℝ𝕀𝔼ℕ ℂ𝕝𝕒𝕤𝕤𝕚𝕔
ℂ.𝔼.𝕆 : 𝕐𝕦𝕤𝕠ℂ𝕙𝕒𝕟-
𝕀ℙ : 𝟡𝟛.𝟙𝟙𝟝.𝟝𝟛.𝟙𝟞𝟠:𝟚𝟟𝟘𝟙𝟟

Аватар
atmax
Извън линия
Потребител
Потребител
Мнения: 492
Регистриран на: 22 Мар 2018, 15:06
Се отблагодари: 37 пъти
Получена благодарност: 43 пъти

Guns Menu

Мнение от atmax » 10 Сеп 2020, 22:47

And what kind of scripter are you?! I mean.. Even a normal person without any knowledge about amxx will take a picture at thoose warnings they are not even errors these are warnings and they don't effect to the plugin.. It's because of your amx mod x version. Or anyone will just copy and paste those "errors".. Look at your picture do you see any "errors"?!
Rest in peace my friend I always will remember you! 🖤👊

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

Обратно към “Заявки за плъгини”

Кой е на линия

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