Knife Menu

В този раздел можете да подавате всякакви заявки за намиране, изработка или преработка на плъгини/модове.
Аватар
aLbaShaRe
Извън линия
Потребител
Потребител
Мнения: 58
Регистриран на: 10 Окт 2016, 20:17
Се отблагодари: 1 път

Knife Menu

Мнение от aLbaShaRe » 30 Окт 2017, 19:56

Трябва ми кнайф меню работещ с този плъгин viewtopic.php?f=21&p=13348#p13348
Искам да има 5 ножа също така кварове колко да струва всеки един нож.

Аватар
JustInCase
Извън линия
Потребител
Потребител
Мнения: 582
Регистриран на: 14 Окт 2016, 23:31
Се отблагодари: 4 пъти
Получена благодарност: 15 пъти

Knife Menu

Мнение от JustInCase » 30 Окт 2017, 23:52

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

#include <amxmodx> 
#include <engine> 
#include <fakemeta>
#include <customshop>

additem ITEM_KNIFE1
#define ITEM_KNIFE1_ID "knife1"
#define ITEM_KNIFE1_NAME "Knife One"
#define ITEM_KNIFE1_PRICE 12000
#define ITEM_KNIFE1_LIMIT 1
#define ITEM_KNIFE1_SOUND ""

new VIEW_MODEL_KNIFE1[]    = "models/v_1.mdl" 
new PLAYER_MODEL_KNIFE1[]    = "models/p_1.mdl" 
new WORLD_MODEL_KNIFE1[]    = "models/w_1.mdl"

additem ITEM_KNIFE2
#define ITEM_KNIFE2_ID "knife2"
#define ITEM_KNIFE2_NAME "Knife Two"
#define ITEM_KNIFE2_PRICE 12000
#define ITEM_KNIFE2_LIMIT 1
#define ITEM_KNIFE2_SOUND ""

new VIEW_MODEL_KNIFE2[]    = "models/v_2.mdl" 
new PLAYER_MODEL_KNIFE2[]    = "models/p_2.mdl" 
new WORLD_MODEL_KNIFE2[]    = "models/w_2.mdl"


additem ITEM_KNIFE3
#define ITEM_KNIFE3_ID "knife3"
#define ITEM_KNIFE3_NAME "Knife Three"
#define ITEM_KNIFE3_PRICE 12000
#define ITEM_KNIFE3_LIMIT 1
#define ITEM_KNIFE3_SOUND ""

new VIEW_MODEL_KNIFE3[]    = "models/v_3.mdl" 
new PLAYER_MODEL_KNIFE3[]    = "models/p_3.mdl" 
new WORLD_MODEL_KNIFE3[]    = "models/w_3.mdl"


additem ITEM_KNIFE4
#define ITEM_KNIFE4_ID "knife4"
#define ITEM_KNIFE4_NAME "Knife Four"
#define ITEM_KNIFE4_PRICE 12000
#define ITEM_KNIFE4_LIMIT 1
#define ITEM_KNIFE4_SOUND ""

new VIEW_MODEL_KNIFE4[]    = "models/v_4.mdl" 
new PLAYER_MODEL_KNIFE4[]    = "models/p_4.mdl" 
new WORLD_MODEL_KNIFE4[]    = "models/w_4.mdl"

additem ITEM_KNIFE5
#define ITEM_KNIFE5_ID "knife5"
#define ITEM_KNIFE5_NAME "Knife Five"
#define ITEM_KNIFE5_PRICE 12000
#define ITEM_KNIFE5_LIMIT 1
#define ITEM_KNIFE5_SOUND ""

new VIEW_MODEL_KNIFE5[]    = "models/v_5.mdl" 
new PLAYER_MODEL_KNIFE5[]    = "models/p_5.mdl" 
new WORLD_MODEL_KNIFE5[]    = "models/w_5.mdl"

new OLDWORLD_MODEL[]    = "models/w_knife.mdl"

public plugin_init() 
{
	register_plugin("5 Knifes", "1.0", "JustInCase")     
	register_event("CurWeapon", "Event_CurWeapon", "be","1=1")
	register_forward(FM_SetModel, "fw_SetModel")
	ITEM_KNIFE1 = cshop_register_item(ITEM_KNIFE1_ID, ITEM_KNIFE1_NAME, ITEM_KNIFE1_PRICE, ITEM_KNIFE1_LIMIT, ITEM_KNIFE1_SOUND)
	ITEM_KNIFE2 = cshop_register_item(ITEM_KNIFE2_ID, ITEM_KNIFE2_NAME, ITEM_KNIFE2_PRICE, ITEM_KNIFE2_LIMIT, ITEM_KNIFE2_SOUND)
	ITEM_KNIFE3 = cshop_register_item(ITEM_KNIFE3_ID, ITEM_KNIFE3_NAME, ITEM_KNIFE3_PRICE, ITEM_KNIFE3_LIMIT, ITEM_KNIFE3_SOUND)
	ITEM_KNIFE4 = cshop_register_item(ITEM_KNIFE4_ID, ITEM_KNIFE4_NAME, ITEM_KNIFE4_PRICE, ITEM_KNIFE4_LIMIT, ITEM_KNIFE4_SOUND)
	ITEM_KNIFE5 = cshop_register_item(ITEM_KNIFE5_ID, ITEM_KNIFE5_NAME, ITEM_KNIFE5_PRICE, ITEM_KNIFE5_LIMIT, ITEM_KNIFE5_SOUND)
} 

public plugin_precache() 
{    
	precache_model(VIEW_MODEL_KNIFE1)     
	precache_model(PLAYER_MODEL_KNIFE1) 
	precache_model(WORLD_MODEL_KNIFE1)
	
	precache_model(VIEW_MODEL_KNIFE2)     
	precache_model(PLAYER_MODEL_KNIFE2) 
	precache_model(WORLD_MODEL_KNIFE2)
	
	precache_model(VIEW_MODEL_KNIFE3)     
	precache_model(PLAYER_MODEL_KNIFE3) 
	precache_model(WORLD_MODEL_KNIFE3)
	
	precache_model(VIEW_MODEL_KNIFE4)     
	precache_model(PLAYER_MODEL_KNIFE4) 
	precache_model(WORLD_MODEL_KNIFE4)
	
	precache_model(VIEW_MODEL_KNIFE5)     
	precache_model(PLAYER_MODEL_KNIFE5) 
	precache_model(WORLD_MODEL_KNIFE5)
} 

public Event_CurWeapon(id) 
{     
	new weaponID = read_data(2) 
	
	if(weaponID != CSW_KNIFE)
		return PLUGIN_CONTINUE
	if(cshopHasItem(id, ITEM_KNIFE1)) {
		set_pev(id, pev_viewmodel2, VIEW_MODEL_KNIFE1)
		if(!is_blank(PLAYER_MODEL_KNIFE1))
			set_pev(id, pev_weaponmodel2, PLAYER_MODEL_KNIFE1)
	}
	else if(cshopHasItem(id, ITEM_KNIFE2)) {
		set_pev(id, pev_viewmodel2, VIEW_MODEL_KNIFE2)
		if(!is_blank(PLAYER_MODEL_KNIFE2))
			set_pev(id, pev_weaponmodel2, PLAYER_MODEL_KNIFE2)
	}
	else if(cshopHasItem(id, ITEM_KNIFE3)) {
		set_pev(id, pev_viewmodel2, VIEW_MODEL_KNIFE3)
		if(!is_blank(PLAYER_MODEL_KNIFE3))
			set_pev(id, pev_weaponmodel2, PLAYER_MODEL_KNIFE3)
	}
	else if(cshopHasItem(id, ITEM_KNIFE4)) {
		set_pev(id, pev_viewmodel2, VIEW_MODEL_KNIFE4)
		if(!is_blank(PLAYER_MODEL_KNIFE4))
			set_pev(id, pev_weaponmodel2, PLAYER_MODEL_KNIFE4)
	}
	else if(cshopHasItem(id, ITEM_KNIFE5)) {
		set_pev(id, pev_viewmodel2, VIEW_MODEL_KNIFE5)
		if(!is_blank(PLAYER_MODEL_KNIFE5))
			set_pev(id, pev_weaponmodel2, PLAYER_MODEL_KNIFE5)
	}
	
	return PLUGIN_CONTINUE 
}

public fw_SetModel(entity, model[])
{
	if(!is_valid_ent(entity)) 
		return FMRES_IGNORED
	
	if(!equali(model, OLDWORLD_MODEL)) 
		return FMRES_IGNORED
	
	new className[33]
	entity_get_string(entity, EV_SZ_classname, className, 32)
	
	if(equal(className, "weaponbox") || equal(className, "armoury_entity") || equal(className, "grenade"))
	{
		if(cshopHasItem(entity, ITEM_KNIFE1) && !is_blank(WORLD_MODEL_KNIFE1))
			engfunc(EngFunc_SetModel, entity, WORLD_MODEL_KNIFE1)
		else if(cshopHasItem(entity, ITEM_KNIFE2) && !is_blank(WORLD_MODEL_KNIFE2))
			engfunc(EngFunc_SetModel, entity, WORLD_MODEL_KNIFE2)
		else if(cshopHasItem(entity, ITEM_KNIFE3) && !is_blank(WORLD_MODEL_KNIFE3))
			engfunc(EngFunc_SetModel, entity, WORLD_MODEL_KNIFE3)
		else if(cshopHasItem(entity, ITEM_KNIFE4) && !is_blank(WORLD_MODEL_KNIFE4))
			engfunc(EngFunc_SetModel, entity, WORLD_MODEL_KNIFE4)
		else if(cshopHasItem(entity, ITEM_KNIFE5) && !is_blank(WORLD_MODEL_KNIFE5))
			engfunc(EngFunc_SetModel, entity, WORLD_MODEL_KNIFE5)
			
		return FMRES_SUPERCEDE
	}
	return FMRES_IGNORED
}
bool:is_blank(szString[])
	return szString[0] == EOS ? true : false
Няма да се занимавам да ти правя краворе имаш си константи по които да настройваш и ако не се лъжа може да ги настройваш и от игра.

Оправи си моделите и всичко и тествай дали работи би трябвало всичко да е наред.
MANSION - HNS : 45.144.155.99:27026
ONLINE

Аватар
sianbg
Извън линия
Потребител
Потребител
Мнения: 232
Регистриран на: 13 Ное 2017, 12:18
Получена благодарност: 1 път
Обратна връзка:

Knife Menu

Мнение от sianbg » 03 Яну 2018, 12:57

Искам да попитам, ако имам само view модел как да ги сложа ? Просто да регистрирам оригиналните world и player модели ?

Edit: Защо ми дава тази грешка ?

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

//// shop_knifes.sma
//
// C:\Users\sianbg\Desktop\zm\Server\cstrike\addons\amxmodx\scripting\include\engine.inc(799) : error 017: undefined symbol "kRenderFxNone"
//
// 1 Error.
// Could not locate output file compiled\shop_knifes.amx (compile failed).
Обнових engine.inc и kRenderFxNone съществува в файла.

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

Knife Menu

Мнение от OciXCrom » 03 Яну 2018, 16:58

В кода има направено "опит" за модели без p_ или w_ модели, обаче неуспешен. Във функцията plugin_precache() преди всеки precache_model() ред трябва да се добави проверка дали стрингът е празен. Ето пример за първия ред, с другите предполагам ще се оправиш сам:

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

if(!is_blank(VIEW_MODEL_KNIFE1))
    precache_model(VIEW_MODEL_KNIFE1)
Относно грешката - не е свързана с плъгина. Имаш проблем с include файловете. Явно са стари. Предполагам ползваш AMXX 1.8.3, изтегли си последния dev build (base & cstrike) от тук и задължително обнови include файловете (библиотеките).

Аватар
sianbg
Извън линия
Потребител
Потребител
Мнения: 232
Регистриран на: 13 Ное 2017, 12:18
Получена благодарност: 1 път
Обратна връзка:

Knife Menu

Мнение от sianbg » 03 Яну 2018, 23:40

Обнових всичко, но пак същата грешка. Ако може да ми го компилираш. С най-новата версия съм за момента.

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

#include <engine> 
#include <fakemeta>
#include <customshop>

additem ITEM_KNIFE1
#define ITEM_KNIFE1_ID "knife1"
#define ITEM_KNIFE1_NAME "Knife One"
#define ITEM_KNIFE1_PRICE 12000
#define ITEM_KNIFE1_LIMIT 1
#define ITEM_KNIFE1_SOUND ""

new VIEW_MODEL_KNIFE1[]    = "models/csold/v_knife1.mdl" 
new PLAYER_MODEL_KNIFE1[]    = "models/p_knife.mdl" 
new WORLD_MODEL_KNIFE1[]    = "models/w_knife.mdl"

additem ITEM_KNIFE2
#define ITEM_KNIFE2_ID "knife2"
#define ITEM_KNIFE2_NAME "Knife Two"
#define ITEM_KNIFE2_PRICE 12000
#define ITEM_KNIFE2_LIMIT 1
#define ITEM_KNIFE2_SOUND ""

new VIEW_MODEL_KNIFE2[]    = "models/csold/v_knife2.mdl" 
new PLAYER_MODEL_KNIFE2[]    = "models/p_knife.mdl" 
new WORLD_MODEL_KNIFE2[]    = "models/w_knife.mdl"


additem ITEM_KNIFE3
#define ITEM_KNIFE3_ID "knife3"
#define ITEM_KNIFE3_NAME "Knife Three"
#define ITEM_KNIFE3_PRICE 12000
#define ITEM_KNIFE3_LIMIT 1
#define ITEM_KNIFE3_SOUND ""

new VIEW_MODEL_KNIFE3[]    = "models/csold/v_knife3.mdl" 
new PLAYER_MODEL_KNIFE3[]    = "models/p_knife.mdl" 
new WORLD_MODEL_KNIFE3[]    = "models/w_knife.mdl"


additem ITEM_KNIFE4
#define ITEM_KNIFE4_ID "knife4"
#define ITEM_KNIFE4_NAME "Knife Four"
#define ITEM_KNIFE4_PRICE 12000
#define ITEM_KNIFE4_LIMIT 1
#define ITEM_KNIFE4_SOUND ""

new VIEW_MODEL_KNIFE4[]    = "models/csold/v_knife4.mdl" 
new PLAYER_MODEL_KNIFE4[]    = "models/p_knife.mdl" 
new WORLD_MODEL_KNIFE4[]    = "models/w_knife.mdl"

additem ITEM_KNIFE5
#define ITEM_KNIFE5_ID "knife5"
#define ITEM_KNIFE5_NAME "Knife Five"
#define ITEM_KNIFE5_PRICE 12000
#define ITEM_KNIFE5_LIMIT 1
#define ITEM_KNIFE5_SOUND ""

new VIEW_MODEL_KNIFE5[]    = "models/csold/p_knife5.mdl" 
new PLAYER_MODEL_KNIFE5[]    = "models/p_knife.mdl" 
new WORLD_MODEL_KNIFE5[]    = "models/w_knife.mdl"

new OLDWORLD_MODEL[]    = "models/w_knife.mdl"

public plugin_init() 
{
	register_plugin("5 Knifes", "1.0", "JustInCase")     
	register_event("CurWeapon", "Event_CurWeapon", "be","1=1")
	register_forward(FM_SetModel, "fw_SetModel")
	ITEM_KNIFE1 = cshop_register_item(ITEM_KNIFE1_ID, ITEM_KNIFE1_NAME, ITEM_KNIFE1_PRICE, ITEM_KNIFE1_LIMIT, ITEM_KNIFE1_SOUND)
	ITEM_KNIFE2 = cshop_register_item(ITEM_KNIFE2_ID, ITEM_KNIFE2_NAME, ITEM_KNIFE2_PRICE, ITEM_KNIFE2_LIMIT, ITEM_KNIFE2_SOUND)
	ITEM_KNIFE3 = cshop_register_item(ITEM_KNIFE3_ID, ITEM_KNIFE3_NAME, ITEM_KNIFE3_PRICE, ITEM_KNIFE3_LIMIT, ITEM_KNIFE3_SOUND)
	ITEM_KNIFE4 = cshop_register_item(ITEM_KNIFE4_ID, ITEM_KNIFE4_NAME, ITEM_KNIFE4_PRICE, ITEM_KNIFE4_LIMIT, ITEM_KNIFE4_SOUND)
	ITEM_KNIFE5 = cshop_register_item(ITEM_KNIFE5_ID, ITEM_KNIFE5_NAME, ITEM_KNIFE5_PRICE, ITEM_KNIFE5_LIMIT, ITEM_KNIFE5_SOUND)
} 

public plugin_precache() 
{    
	precache_model(VIEW_MODEL_KNIFE1)     
	//precache_model(PLAYER_MODEL_KNIFE1) 
	//precache_model(WORLD_MODEL_KNIFE1)
	
	precache_model(VIEW_MODEL_KNIFE2)     
	//precache_model(PLAYER_MODEL_KNIFE2) 
	//precache_model(WORLD_MODEL_KNIFE2)
	
	precache_model(VIEW_MODEL_KNIFE3)     
	//precache_model(PLAYER_MODEL_KNIFE3) 
	//precache_model(WORLD_MODEL_KNIFE3)
	
	precache_model(VIEW_MODEL_KNIFE4)     
	//precache_model(PLAYER_MODEL_KNIFE4) 
	//precache_model(WORLD_MODEL_KNIFE4)
	
	precache_model(VIEW_MODEL_KNIFE5)     
	//precache_model(PLAYER_MODEL_KNIFE5) 
	//precache_model(WORLD_MODEL_KNIFE5)
} 

public Event_CurWeapon(id) 
{     
	new weaponID = read_data(2) 
	
	if(weaponID != CSW_KNIFE)
		return PLUGIN_CONTINUE
	if(cshopHasItem(id, ITEM_KNIFE1)) {
		set_pev(id, pev_viewmodel2, VIEW_MODEL_KNIFE1)
		if(!is_blank(PLAYER_MODEL_KNIFE1))
			set_pev(id, pev_weaponmodel2, PLAYER_MODEL_KNIFE1)
	}
	else if(cshopHasItem(id, ITEM_KNIFE2)) {
		set_pev(id, pev_viewmodel2, VIEW_MODEL_KNIFE2)
		if(!is_blank(PLAYER_MODEL_KNIFE2))
			set_pev(id, pev_weaponmodel2, PLAYER_MODEL_KNIFE2)
	}
	else if(cshopHasItem(id, ITEM_KNIFE3)) {
		set_pev(id, pev_viewmodel2, VIEW_MODEL_KNIFE3)
		if(!is_blank(PLAYER_MODEL_KNIFE3))
			set_pev(id, pev_weaponmodel2, PLAYER_MODEL_KNIFE3)
	}
	else if(cshopHasItem(id, ITEM_KNIFE4)) {
		set_pev(id, pev_viewmodel2, VIEW_MODEL_KNIFE4)
		if(!is_blank(PLAYER_MODEL_KNIFE4))
			set_pev(id, pev_weaponmodel2, PLAYER_MODEL_KNIFE4)
	}
	else if(cshopHasItem(id, ITEM_KNIFE5)) {
		set_pev(id, pev_viewmodel2, VIEW_MODEL_KNIFE5)
		if(!is_blank(PLAYER_MODEL_KNIFE5))
			set_pev(id, pev_weaponmodel2, PLAYER_MODEL_KNIFE5)
	}
	
	return PLUGIN_CONTINUE 
}

public fw_SetModel(entity, model[])
{
	if(!is_valid_ent(entity)) 
		return FMRES_IGNORED
	
	if(!equali(model, OLDWORLD_MODEL)) 
		return FMRES_IGNORED
	
	new className[33]
	entity_get_string(entity, EV_SZ_classname, className, 32)
	
	if(equal(className, "weaponbox") || equal(className, "armoury_entity") || equal(className, "grenade"))
	{
		if(cshopHasItem(entity, ITEM_KNIFE1) && !is_blank(WORLD_MODEL_KNIFE1))
			engfunc(EngFunc_SetModel, entity, WORLD_MODEL_KNIFE1)
		else if(cshopHasItem(entity, ITEM_KNIFE2) && !is_blank(WORLD_MODEL_KNIFE2))
			engfunc(EngFunc_SetModel, entity, WORLD_MODEL_KNIFE2)
		else if(cshopHasItem(entity, ITEM_KNIFE3) && !is_blank(WORLD_MODEL_KNIFE3))
			engfunc(EngFunc_SetModel, entity, WORLD_MODEL_KNIFE3)
		else if(cshopHasItem(entity, ITEM_KNIFE4) && !is_blank(WORLD_MODEL_KNIFE4))
			engfunc(EngFunc_SetModel, entity, WORLD_MODEL_KNIFE4)
		else if(cshopHasItem(entity, ITEM_KNIFE5) && !is_blank(WORLD_MODEL_KNIFE5))
			engfunc(EngFunc_SetModel, entity, WORLD_MODEL_KNIFE5)
			
		return FMRES_SUPERCEDE
	}
	return FMRES_IGNORED
}
bool:is_blank(szString[])
	return szString[0] == EOS ? true : false


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

Knife Menu

Мнение от OciXCrom » 04 Яну 2018, 17:06

Доста се помъчих да разбера какво е станало, понеже и при мен даваше същата грешка като взех кода от твоето мнение. Най-накрая забелязах, че по погрешка си премахнал първия ред от кода (#include <amxmodx>) - без него... няма как да стане.

Аватар
sianbg
Извън линия
Потребител
Потребител
Мнения: 232
Регистриран на: 13 Ное 2017, 12:18
Получена благодарност: 1 път
Обратна връзка:

Knife Menu

Мнение от sianbg » 04 Яну 2018, 17:21

OciXCrom™ написа: 04 Яну 2018, 17:06 Доста се помъчих да разбера какво е станало, понеже и при мен даваше същата грешка като взех кода от твоето мнение. Най-накрая забелязах, че по погрешка си премахнал първия ред от кода (#include <amxmodx>) - без него... няма как да стане.
Благодаря много. Понякога най-елементарните грешки те тормозят най-много.

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

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

Кой е на линия

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