Counter-Strike 1.6
CS1.BG | DUST2 NOSHTA GARMI [RANKED PLAY] #1
45.144.155.113:27015
de_dust2
Играчи: 30/32
de_dust2
Counter-Strike 1.6
Cs-PlovdiV.com - Aim Attack 93.123.16.4:27022 aim_aztec Играчи: 0/16

Преработка на Custom Shop + API + добавяне на две златни оръжия

В този раздел можете да подавате всякакви заявки за намиране, изработка или преработка на плъгини/модове.
Аватар
Zaeka321
Извън линия
Потребител
Потребител
Мнения: 52
Регистриран на: 18 Апр 2020, 21:33
Се отблагодари: 1 път
Обратна връзка:

Преработка на Custom Shop + API + добавяне на две златни оръжия

Мнение от Zaeka321 » 09 Юни 2020, 00:31

Здравейте,
Ако може шопа да се направи да се закупува с кредити.Защото в момента правя BaseBuilder by VeCo 4.3 и ми трябва за вип меню.И ако може някой да го направи или да ми обясни как се прави ще му бъда много благодарен.
А за двете златни оръжия ако може някой да ги направи.Едното е Golden M4A1 а другото е Golden Deagle и та ако може да ми ги направите отново ще съм ви благодарен. :)

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

Преработка на Custom Shop + API + добавяне на две златни оръжия

Мнение от atmax » 09 Юни 2020, 12:49

То може и да се хване някой да го направи, но защо:
1. Правиш нова тема, след като вече същестува тема за този плъгин, където OciXcrom помага при всякакви запитвания относно плъгина?
2. Не си дал sma кода за тези кредити?
Rest in peace my friend I always will remember you! 🖤👊

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

Преработка на Custom Shop + API + добавяне на две златни оръжия

Мнение от OciXCrom » 09 Юни 2020, 14:27

В самата тема е обяснено как.

Аватар
Zaeka321
Извън линия
Потребител
Потребител
Мнения: 52
Регистриран на: 18 Апр 2020, 21:33
Се отблагодари: 1 път
Обратна връзка:

Преработка на Custom Shop + API + добавяне на две златни оръжия

Мнение от Zaeka321 » 09 Юни 2020, 21:40

Oci аз разбрах как става но за credits какво се пише?
Защото само видях за AmmoPacks да е написано.

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

Преработка на Custom Shop + API + добавяне на две златни оръжия

Мнение от OciXCrom » 09 Юни 2020, 21:45

Това е дадено като пример. Сигурно няма за всеки един мод да пиша как става. С малко мозък и логика може всеки да си го редактира.
Качи .inc файла на мода който ползваш.

Аватар
Zaeka321
Извън линия
Потребител
Потребител
Мнения: 52
Регистриран на: 18 Апр 2020, 21:33
Се отблагодари: 1 път
Обратна връзка:

Преработка на Custom Shop + API + добавяне на две златни оръжия

Мнение от Zaeka321 » 09 Юни 2020, 21:52

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

/*
---------------------------------------------------------
   #  #  #    #===    ###    ##    #
  #    ##     #===   #      #  #    #
   #   #      #===    ###    ##    #
---------------------------------------------------------
vzbb_mod.inc
Library by <VeCo>

<VeCo>'s Zombie BaseBuilder Mod 4.0

If you modify the code, please DO NOT change the author!
---------------------------------------------------------
Contacts:
e-mail: [email protected]
skype: veco_kn
---------------------------------------------------------
Changes log:
 -> v 1.0 = First release!
 -> v 1.1 = Fixed double user_infect_pre. The second is
	    changed to user_infect_post.
 -> v 3.0 = Defines changed to enums.
	    Added itemteam parameter in register_shop_item
	    function and TEAM_* enum.
	    Added set_user_zombie_class native.
	    Added user_uninfect native.
	    Added grab/release block forwards.
 -> v 3.4 = Added is_user_frozen_cool native.
	    Added user_freeze_cool_* forwards.
	    Added user_freeze_cool and user_unfreeze_cool
	    natives.
 -> v 3.5 = Added get_block_fun_type and set_block_fun_type
	    natives and BLOCKS_* enum.
	    Added get_deal_discount and is_deal_offer natives.
 -> v 3.8 = Added set_user_was_zombie native.
	    Added access parameters in register_zombie_class
	    and register_shop_item natives.
	    Fixed a typo.
	    Added FORWARD_CONTINUE define for the forward
	    block ability.
	    Added set_user_can_build native.
	    Added hide_barrierent and reset_barrierent natives.
	    Added update_user_hud_data forward and set_hud_cache_*
	    natives for it.
	    Added force_user_hud_data and force_weapon_menu natives.
 -> v 3.9 = Added user_uninfect_pre and user_uninfect_post forwards.
	    Added battle_phase_begin_admin forward.
	    Added fun_block_touch_pre and fun_block_touch_post forwards.
 -> v 4.0 = Added ability to block shop_item_selected forward. (and changed
	    the way Item Buy System works)
	    Added maxbuys parameter in register_shop_item and NO_MAX_BUYS
	    define for it.
	    Added restore_user_rendering native.
---------------------------------------------------------
Don't forget to visit http://www.amxmodxbg.org :)
---------------------------------------------------------
*/

#if defined _vzbb_mod_included
	#endinput
#endif

#define _vzbb_mod_included

#if AMXX_VERSION_NUM >= 175
	#pragma reqlib vzbb_mod
	#if !defined AMXMODX_NOAUTOLOAD
		#pragma loadlib vzbb_mod
	#endif
#else
	#pragma library vzbb_mod
#endif

/*=======================================================================
                           -= Define-и =- 
========================================================================*/

#define FORWARD_CONTINUE 777 // return ... (блокира forward)

#define NO_MAX_BUYS 0 // неограничен брой пъти купуване на итем

/*=======================================================================
                           -= Enum-и =- 
========================================================================*/

// Кога може да се ползва итема?
enum
{
	USE_BATTLE = 0,
	USE_BUILD,
	USE_BOTH
}

// Кой може да ползва итема?
enum
{
	TEAM_ZOMBIES = 1,
	TEAM_HUMANS,
	TEAM_BOTH
}

// Как се движи блока?
enum
{
	BLOCK_PULL = 1,
	BLOCK_PUSH
}

// Какъв режим се игра този рунд?
enum
{
	MODE_NORMAL = 0,
	MODE_INFECTION
}

// Каква граната е хвърлена?
enum
{
	NADE_HE = 1,
	NADE_SMOKE,
	NADE_FLASH
}

// Какъв тип забавен блок е това?
enum
{
	BLOCKS_NORMAL = 0,
	BLOCKS_YELLOW,
	BLOCKS_BLACK,
	BLOCKS_BLUE,
	BLOCKS_RED
}

/*=======================================================================
                           -= Нативи =- 
========================================================================*/

/* :: Регистрира нов зомби клас

#classname -  Името на зомби класа (пример: "Test Zombie")
#classinfo - Кратка информация относно зомби класа (пример: "g+ s-")
#classmdl - Модел на зомби класа (пример: "zombie" , трябва да се намира в models/player/име/име.mdl)
#classclawmdl - Модел на ръцете на зомби класа (пример: "claw" , трябва да се намира в models/име.mdl)
#health - Кръв на зомби класа (пример: 2000)
#gravity - Гравитация на зомби класа (пример: 0.5) (1.0 = 800 гравитаця , 0.5 = 400 гравитация ...)
#speed - Скорост на зомби класа (пример: 400.0) (0.0 = нормална скорост)
#access - Админ достъп нужен за избиране на класа (ADMIN_ALL - за всички)

::::: Фунцкията връща иднекса на класа. (int)
*/

native register_zombie_class(const classname[],const classinfo[], const classmdl[],const classclawmdl[], health,Float:gravity,Float:speed, access)

/* :: Регистрира нов итем в shop менюто

#itemname - Името на итема (пример: "Test Item")
#itemcost - Цена на итема (пример: 15)
#itemuse - Кога да може да се използва итема? (USE_BATTLE - в бойната фаза , USE_BUILD - в строителната фаза , USE_BOTH - и в двете фази)
#itemteam - Кой може да купува итема? (TEAM_ZOMBIES - зомбитата , TEAM_HUMANS - хората , TEAM_BOTH - всички)
#access - Админ достъп нужен за купуване на итема (ADMIN_ALL - за всички)
#maxbuys - Колко пъти да може да се купи итемът на рунд? (NO_MAX_BUYS - неограничен брой пъти)

::::: Фунцкията връща иднекса на итема. (int)
*/

native register_shop_item(const itemname[], itemcost, itemuse, itemteam, access, maxbuys)

/* :: Връща иднекса на класа на играча (-1 ако е Classic Zombie)

#id - индекс на играча

::::: Фунцкията връща иднекса на класа на играча. (int)
*/

native get_user_zombie_class(id)

/* :: Задава иднекса на класа на играча

#id - индекс на играча
#classid - индекс на зомби класа (-1 - Classic Zombie)
*/

native set_user_zombie_class(id,classid)

/* :: Връща съответна стойност ако играчът е зомби

#id - индекс на играча

::::: Фунцкията връща true ако е зомби и false - ако не е. (bool)
*/

native is_user_zombie(id)

/* :: Връща съответна стойност ако играчът е човек

#id - индекс на играча

::::: Фунцкията връща true ако е човек и false - ако не е. (bool)
*/

native is_user_human(id)

/* :: Връща стойността на кредитите на играч

#id - индекс на играча

::::: Фунцкията връща кредитите на играч. (int)
*/

native get_user_credits(id)

/* :: Задава стойността на кредитите на играч

#id - индекс на играча
#credits - стойността на кредитите, които искаме да зададем (използвайте с get_user_credits ако искате да прибавите/премахнете кредити на играч)
*/

native set_user_credits(id,credits)

/* :: Връща стойността на разстоянието на играч между последния блок, който е движел

#id - индекс на играча

::::: Фунцкията връща разстоянието на играч между последния блок, който е движел. (float)
*/

native get_user_block_distance(id)

/* :: Задава стойността на разстоянието на играч между последния блок, който е движел

#id - индекс на играча
#dist - стойността на разстоянието на играч между последния блок, който е движел, което искаме да зададем
*/

native set_user_block_distance(id,Float:dist)

/* :: Връща общия брой зомби класове, заредени в момента

::::: Фунцкията връща общия брой зомби класове, заредени в момента. (int)
*/

native get_total_zombie_classes()

/* :: Връща общия брой shop итеми, заредени в момента

::::: Фунцкията връща общия брой shop итеми, заредени в момента. (int)
*/

native get_total_shop_items()

/* :: Връща съответна стойност ако играчът може да строи в бойната фаза

#id - индекс на играча

::::: Фунцкията връща true ако играчът може да строи в бойната фаза и false - ако не може. (bool)
*/

native get_user_can_build_battle(id)

/* :: Задава стойността на играч, за да може да мести блокове и в бойната фаза (действа до стартирането на следващата бойна фаза)

#id - индекс на играча
#set - true : за да може да строи и false : за да не може
*/

native set_user_can_build_battle(id,set)

/* :: Връща индекс на ентитито на блока, който играчът мести в момента

#id - индекс на играча

::::: Фунцкията връща индекс на ентитито на блока, който играчът мести в момента. (int)
*/

native get_user_block_ent(id)

/* :: Задава индекс на ентитито на блока, който играчът мести в момента

#id - индекс на играча
#ent - индекс на ентитито
*/

native set_user_block_ent(id,ent)

/* :: Връща сътветна стойност ако е freezetime в момента

::::: Фунцкията връща true ако е и false - ако не е. (bool)
*/

native is_freezetime()

/* :: Връща оставащото време на строителната фаза

::::: Фунцкията връща оставащото време на строителната фаза в секунди. (int)
*/

native get_build_phase_remaining_time()

/* :: Връща сътветна стойност ако играчите могат да строят (ако в момента е строителната фаза)

::::: Фунцкията връща true ако могат и false - ако не могат. (bool)
*/

native user_can_build()

/* :: Задава дали играчите могат да строят (дали в момента е строителна фаза)

#build - true - ако могат, false - ако не могат
*/

native set_user_can_build(build)

/* :: Връща сътветна стойност на режима на игра в момента

::::: Фунцкията връща сътветна стойност на режима на игра в момента (MODE_NORMAL - нормален режим (с убийства) , MODE_INFECTION - режим с инфекции) . (int)
*/

native get_roundmode()

/* :: Връща съответна стойност ако играчът е бил зомби при раждането си

#id - индекс на играча

::::: Фунцкията връща true ако е бил зомби и false - ако не е бил. (bool)
*/

native was_user_zombie(id)

/* :: Задава стойност дали играчът е бил зомби при раждането си (ако е бил накрая на рунда ще бъде човек, използва се при инфекции)

#id - индекс на играча
#true - стойността - 1 ако е бил, 0 - ако не е
*/

native set_user_was_zombie(id,true)

/* :: Връща съответна стойност ако играчът е баннат (местенето на блоковете)

#id - индекс на играча

::::: Фунцкията връща true ако е и false - ако не е. (bool)
*/

native is_user_banned(id)

/* :: Връща стойността на оставащата кръв за взимане при горене

#id - индекс на играча

::::: Фунцкията връща стойността на оставащата кръв за взимане при горене. (int)
*/

native get_user_fire_duration(id)

/* :: Задава стойността на oставащата кръв за взимане при горене

#id - индекс на играча
#dist - стойността на oставащата кръв за взимане при горене, която искаме да зададем (1 - за да спрем горенето на играч)
*/

native set_user_fire_duration(id,duration)

/* :: Връща съответна стойност ако играчът е заледен

#id - индекс на играча

::::: Фунцкията връща true ако е и false - ако не е. (bool)
*/

native is_user_frozen(id)

/* :: Връща съответна стойност ако играчът е заледен (започва да се топи)

#id - индекс на играча

::::: Фунцкията връща true ако е и false - ако не е. (bool)
*/

native is_user_frozen_cool(id)

/* :: Запалва играч

#attacker - индекс на играча нападател
#victim - индекс на играча жертва
#duration - максимална кръв за взимане при горене (0 - стойността ще се взима от CVAR-a vzbb_grenade_fire_duration)
*/

native user_burn(attacker,victim,duration)

/* :: Заледява играч

#id - индекс на играча
*/

native user_freeze(id)

/* :: Заледява играч (играчът веднага започва да се топи)

#id - индекс на играча
*/

native user_freeze_cool(id)

/* :: Премахва заледяването на играч

#id - индекс на играча
*/

native user_unfreeze(id)

/* :: Премахва топенето на играч

#id - индекс на играча
*/

native user_unfreeze_cool(id)

/* :: Инфектира играч

#victim - индекс на жертвата
#infector - индекс на инфектиращия
*/

native user_infect(victim,infector)

/* :: Деинфектира играч

#id - индекс на играча
*/

native user_uninfect(id)

/* :: Връща забавния тип на блок

#ent - индекс на ентитито на блока

::::: Фунцкията връща забавния тип на блока (int)
*/

native get_block_fun_type(ent)

/* :: Задава забавен тип на блок

#ent - индекс на ентитито на блока
#funtype - забавен тип на блока
(BLOCKS_YELLOW - бързодвижещ се блок , BLOCKS_BLACK - недвижим блок;
BLOCKS_BLUE - забавящ блок , BLOCKS_RED - запалващ блок)
*/

native set_block_fun_type(ent,funtype)

/* :: Премахва забавния тип на блок

#ent - индекс на ентитито на блока
*/

native reset_block_fun_type(ent)

/* :: Връща стойността на намалението на "Round Deal" в съответния рунд

::::: Фунцкията връща стойността на намалението. (int)
*/

native get_deal_discount()

/* :: Връща съответна стойност дали итемът е в офертите на "Round Deal" в съответния рунд

::::: Фунцкията връща true ако е и false - ако не е. (bool)
*/

native is_deal_offer(itemid)

/* :: Премахва бариерата (ако има такава) */

native hide_barrierent()

/* :: Рестартира местоположението на бариерата (ако има такава) */

native reset_barrierent()

/* :: Задава текст за HUD-a на играчите, на мястото на HUD-a за режима (използвайте при update_user_hud_data forward-a)

#text - текстът (максимална дължина - 128 символа, стрингът трябва да е предварително форматиран)
*/

native set_hud_cache_text(text[])

/* :: Задава цвят (в RGB формат) за HUD-a на играчите, на мястото на HUD-a за режима (използвайте при update_user_hud_data forward-a)

#r - червен цвят
#g - зелен цвят
#b - син цвят
*/

native set_hud_cache_colors(r,g,b)

/* :: Задава условие за показване на HUD-a на играчите, на мястото на HUD-a за режима (използвайте при update_user_hud_data forward-a)

#condition - условие (използвайте true, за да се показва винаги при всички случаи)
*/

native set_hud_cache_condition(bool:condition)

/* :: Извиква фунцкията за показване на HUD-a на играчите */

native force_user_hud_data()

/* :: Извиква функцията за менюто за оръжия

#id - индекс на играча
*/

native force_weapon_menu(id)

/* :: Възвръща rendering-а на играча (полезно за премхване на glow и възвръщане на невидимостта на играча)

#id - индекс на играча
*/

native restore_user_rendering(id)

/*=======================================================================
                           -= Forward-и =- 
========================================================================*/

/* :: Извиква се при избиране на зомби клас

#id - индекс на играча
#classid - индекс на зомби класа
*/

forward zombie_class_selected(id,classid)

/* :: Извиква се при избиране на итем от shop менюто

#id - индекс на играча
#itemid - индекс на итема

:::::: Върнете стойност FORWARD_CONTINUE, за да блокирате купуването на даден итем.
*/

forward shop_item_selected(id,itemid)

/* :: Извиква се при теглене или бутане на блок

#id - индекс на играча
#pullpush_type - тип на местенето на блока (1 - теглене , 2 - бутане)

:::::: Върнете стойност FORWARD_CONTINUE, за да спрете изпълнението на forward-a.
*/

forward block_pull_push(id,pullpush_type)

/* :: Извиква се след започването на бойната фаза */

forward battle_phase_begin()

/* :: Извиква се след принудителното започване на бойната фаза от админ (с командата /start)

#id - индекс на администраторът, написал командата
 */

forward battle_phase_begin_admin(id)

/* :: Извиква се преди хвърляне на граната

#owner - индекс на притежателя на гранатата
#ent - индекс на ентитито на гранатата
#nade_type - тип на гранатата (1 - HE grenade (FireNade) , 2 - Smoke grenade , 3 - Flashbang (FrostNade))

:::::: Върнете стойност FORWARD_CONTINUE, за да спрете изпълнението на forward-a.
*/

forward nade_throw_pre(owner,ent,nade_type)

/* :: Извиква се след хвърляне на граната

#owner - индекс на притежателя на гранатата
#ent - индекс на ентитито на гранатата
#nade_type - тип на гранатата (1 - HE grenade (FireNade) , 2 - Smoke grenade , 3 - Flashbang (FrostNade))
*/

forward nade_throw_post(owner,ent,nade_type)

/* :: Извиква се преди всяко взимане на кръв при запалване на играч

#id -  индекс на играча
*/

forward user_burn_pre(id)

/* :: Извиква се след всяко взимане на кръв при запалване на играч

#id - индекс на играча
*/

forward user_burn_post(id)

/* :: Извиква се при премахването на горенето на играч

#id - индекс на играча
*/

forward user_remove_burn(id)

/* :: Извиква се преди замразяване на играч

#id - индекс на играча
*/

forward user_freeze_pre(id)

/* :: Извиква се след замразяване на играч

#id - индекс на играча
*/

forward user_freeze_post(id)

/* :: Извиква се преди премахването на замразяването на играч

#id - индекс на играча
*/

forward user_unfreeze_pre(id)

/* :: Извиква се след премахването на замразяването на играч

#id - индекс на играча
*/

forward user_unfreeze_post(id)

/* :: Извиква се преди играч да започне да се топи

#id - индекс на играча
*/

forward user_freeze_cool_pre(id)

/* :: Извиква се след като играч започне да се топи

#id - индекс на играча
*/

forward user_freeze_cool_post(id)

/* :: Извиква се преди играч да спре да се топи

#id - индекс на играча
*/

forward user_unfreeze_cool_pre(id)

/* :: Извиква се след като играч спре да се топи

#id - индекс на играча
*/

forward user_unfreeze_cool_post(id)

/* :: Извиква се преди инфектиране на играч

#victim - индекс на жертвата
#infector - индекс на инфектиращия

:::::: Върнете стойност FORWARD_CONTINUE, за да спрете изпълнението на forward-a.
*/

forward user_infect_pre(victim,infector)

/* :: Извиква се след инфектиране на играч

#victim - индекс на жертвата
*/

forward user_infect_post(victim)

/* :: Извиква се преди деинфектиране на играч

#id - индекс на играча

:::::: Върнете стойност FORWARD_CONTINUE, за да спрете изпълнението на forward-a.
*/

forward user_uninfect_pre(id)

/* :: Извиква се след деинфектиране на играч

#id - индекс на играча
*/

forward user_uninfect_post(id)

/* :: Извиква се преди взимане на блок

#id - индекс на играча

:::::: Върнете стойност FORWARD_CONTINUE, за да спрете изпълнението на forward-a.
*/

forward grab_block_pre(id)

/* :: Извиква се след взимане на блок

#id - индекс на играча

:::::: Върнете стойност FORWARD_CONTINUE, за да спрете изпълнението на forward-a.
*/

forward grab_block_post(id)

/* :: Извиква се преди пускането на блок

#id - индекс на играча
*/

forward release_block_pre(id)

/* :: Извиква се след пускането на блок

#id - индекс на играча
*/

forward release_block_post(id)

/* :: Извиква се при всяко обновяване на HUD-а на играчите

:::::: Върнете стойност FORWARD_CONTINUE, за да оставите работещ само HUD-a без другите функции на играчите в бойната фаза.
*/

forward update_user_hud_data()

/* :: Извиква се преди докосване на играч със забавен блок

#id - индекс на играча
#ent - индекс на ентитито на блока
#funtype - забавен тип на блока
(BLOCKS_YELLOW - бързодвижещ се блок , BLOCKS_BLACK - недвижим блок;
BLOCKS_BLUE - забавящ блок , BLOCKS_RED - запалващ блок)

:::: Върнете стойност FORWARD_CONTINUE, за да блокирате ефекта на забавния блок.
*/

forward fun_block_touch_pre(id,ent,funtype)

/* :: Извиква се след докосване на играч със забавен блок

#id - индекс на играча
#ent - индекс на ентитито на блока
#funtype - забавен тип на блока
(BLOCKS_YELLOW - бързодвижещ се блок , BLOCKS_BLACK - недвижим блок;
BLOCKS_BLUE - забавящ блок , BLOCKS_RED - запалващ блок)
*/

forward fun_block_touch_post(id,ent,funtype)
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1026\\ f0\\ fs16 \n\\ par }
*/

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

Преработка на Custom Shop + API + добавяне на две златни оръжия

Мнение от atmax » 10 Юни 2020, 08:30

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

#if defined _cshop_settings_included
    #endinput
#endif

#include <cstrike>

#define _cshop_settings_included
#define DEFAULT_SOUND "items/gunpickup2.wav"
#define FLAG_ADMIN ADMIN_BAN
#define LANG_TYPE LANG_SERVER
#define MAX_ITEMS 100

/*
	* Change the lines below if you want to use a native for your money currency, e.g. Ammo Packs, BaseBuilder Credits, JBPacks, etc.
	* Example (%1 = id | %2 = amount):
		native zp_get_user_ammo_packs(id)
		native zp_set_user_ammo_packs(id, amount)
		#define get_user_money(%1) zp_get_user_ammo_packs(%1)
		#define set_user_money(%1,%2) zp_set_user_ammo_packs(%1, %2)
*/
native get_user_credits(id)
native set_user_credits(id,credits)
#define get_user_money(%1) get_user_credits(%1)
#define set_user_money(%1,%2) set_user_credits(%1, %2)

/* Don't touch this line unless you know what you're doing */
#define take_user_money(%1,%2) set_user_money(%1, get_user_money(%1) - %2)
Пробвай да заместиш в cshop_settings.inc :)
Rest in peace my friend I always will remember you! 🖤👊

Аватар
Zaeka321
Извън линия
Потребител
Потребител
Мнения: 52
Регистриран на: 18 Апр 2020, 21:33
Се отблагодари: 1 път
Обратна връзка:

Преработка на Custom Shop + API + добавяне на две златни оръжия

Мнение от Zaeka321 » 10 Юни 2020, 13:59

atmax написа: 10 Юни 2020, 08:30

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

#if defined _cshop_settings_included
    #endinput
#endif

#include <cstrike>

#define _cshop_settings_included
#define DEFAULT_SOUND "items/gunpickup2.wav"
#define FLAG_ADMIN ADMIN_BAN
#define LANG_TYPE LANG_SERVER
#define MAX_ITEMS 100

/*
	* Change the lines below if you want to use a native for your money currency, e.g. Ammo Packs, BaseBuilder Credits, JBPacks, etc.
	* Example (%1 = id | %2 = amount):
		native zp_get_user_ammo_packs(id)
		native zp_set_user_ammo_packs(id, amount)
		#define get_user_money(%1) zp_get_user_ammo_packs(%1)
		#define set_user_money(%1,%2) zp_set_user_ammo_packs(%1, %2)
*/
native get_user_credits(id)
native set_user_credits(id,credits)
#define get_user_money(%1) get_user_credits(%1)
#define set_user_money(%1,%2) set_user_credits(%1, %2)

/* Don't touch this line unless you know what you're doing */
#define take_user_money(%1,%2) set_user_money(%1, get_user_money(%1) - %2)
Пробвай да заместиш в cshop_settings.inc :)
Заместих го но пак не на "credits"

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

Преработка на Custom Shop + API + добавяне на две златни оръжия

Мнение от OciXCrom » 10 Юни 2020, 21:30

Прекомпилирай главния плъгин след направени промени...

Аватар
Zaeka321
Извън линия
Потребител
Потребител
Мнения: 52
Регистриран на: 18 Апр 2020, 21:33
Се отблагодари: 1 път
Обратна връзка:

Преработка на Custom Shop + API + добавяне на две златни оръжия

Мнение от Zaeka321 » 10 Юни 2020, 22:01

Работи!
Сега да Ви покажа код дали така се прави друго златно оръжие.

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

#define PLUGIN_VERSION "4.x"

additem ITEM_GOLDENM4A1
#define GOLDENM4A1_ID "goldenam4"
#define GOLDENM4A1_NAME "Golden M4A1"
#define GOLDENM4A1_PRICE 52
#define GOLDENM4A1_LIMIT 1
#define GOLDENM4A1_SOUND "weapons/gauss2.wav"
#define GOLDENM4A1_VMODEL "models/custom_shop/v_goldenm4.mdl"
#define GOLDENM4A1_PMODEL "models/custom_shop/p_goldenm4.mdl"
#define GOLDENM4A1_WEAPON_STR "weapon_m4a1"
#define GOLDENM4A1_WEAPON_CSW CSW_M4A1
#define GOLDENM4A1_DAMAGE 2
#define GOLDENM4A1_AMMO 500
new bool:g_blGoldenM4A1[33]

// Comment this line to disable the bullets.
#define USE_BULLETS

#if defined USE_BULLETS
	// You can add a shoot sound in this line, after you remove the comment.
	//#define BULLET_SOUND "weapons/ak47-1.wav"
	
	#define BULLET_MODEL "sprites/dot.spr"
	#define BULLET_STARTFRAME 1
	#define BULLET_FRAMERATE 5
	#define BULLET_LIFE 2
	#define BULLET_WIDTH 10
	#define BULLET_NOISE 0
	#define BULLET_COLOR_RED 255
	#define BULLET_COLOR_GREEN 215
	#define BULLET_COLOR_BLUE 0
	#define BULLET_BRIGHTNESS 200
	#define BULLET_SPEED 150
	new g_iGoldenBullet
#endif

#define DEFAULT_VMODEL "models/v_m4a1.mdl"
#define DEFAULT_PMODEL "models/p_m4a1.mdl"

public plugin_init()
{
	register_plugin("Custom Shop: Golden M4A1", PLUGIN_VERSION, "OciXCrom")
	RegisterHam(Ham_TakeDamage, "player", "eventTakeDamage")
	register_event("CurWeapon", "goldenModel", "be", "1=1")
	
	#if defined USE_BULLETS
		RegisterHam(Ham_Weapon_PrimaryAttack, GOLDENAK_WEAPON_STR, "eventPrimaryAttack", 1)
	#endif
}

public plugin_precache()
{
	ITEM_GOLDENAK = cshopRegisterItem(GOLDENM4_ID, GOLDENM4_NAME, GOLDENM4_PRICE, GOLDENM4_LIMIT)
	precache_model(GOLDENM4_VMODEL)
	precache_model(GOLDENM4_PMODEL)
	
	#if defined USE_BULLETS
		g_iGoldenBullet = precache_model(BULLET_MODEL)
	#endif
	
	#if defined BULLET_SOUND
		precache_sound(BULLET_SOUND)
	#endif
}

public cshopItemBought(id, iItem)
	if(iItem == ITEM_GOLDENM4A1) 			{ g_blGoldenM4A1[id] = true; give_item(id, GOLDENM4A1_WEAPON_STR); cs_set_user_bpammo(id, GOLDENM4A1_WEAPON_CSW, GOLDENM4A1_AMMO); goldenModel(id); }
	
public cshopItemRemoved(id, iItem)
	if(iItem == ITEM_GOLDENM4A1) 			{ g_blGoldenM4A1[id] = false; set_default_model(id); }
	
public eventTakeDamage(iVictim, iInflictor, iAttacker, Float:flDamage, iDamageBits)
	if(is_user_alive(iAttacker) && iAttacker != iVictim)
		if(g_blGoldenM4A1[iAttacker] && get_user_weapon(iAttacker) == GOLDENM4A1_WEAPON_CSW && iAttacker == iInflictor)
			SetHamParamFloat(4, flDamage * GOLDENM4A1_DAMAGE)
			
#if defined USE_BULLETS			
	public eventPrimaryAttack(iWeapon)
	{
		new id = pev(iWeapon, pev_owner)
		
		if(!g_blGoldenAK[id])
			return
			
		new iClip, iAmmo
		new iWeapon = get_user_weapon(id, iClip, iAmmo)
		
		if(!iClip || iWeapon != GOLDENM4A1_WEAPON_CSW)
			return
		
		#if defined BULLET_SOUND
			player_emitsound(id, BULLET_SOUND)
		#endif
		
		new iVec1[3], iVec2[3]
		get_user_origin(id, iVec1, 1)
		get_user_origin(id, iVec2, 3)
		message_begin(MSG_BROADCAST,SVC_TEMPENTITY)
		write_byte(TE_BEAMPOINTS)
		write_coord(iVec1[0])
		write_coord(iVec1[1])
		write_coord(iVec1[2])
		write_coord(iVec2[0])
		write_coord(iVec2[1])
		write_coord(iVec2[2])
		write_short(g_iGoldenBullet)
		write_byte(BULLET_STARTFRAME)
		write_byte(BULLET_FRAMERATE)
		write_byte(BULLET_LIFE)
		write_byte(BULLET_WIDTH)
		write_byte(BULLET_NOISE)
		write_byte(BULLET_COLOR_RED)
		write_byte(BULLET_COLOR_GREEN)
		write_byte(BULLET_COLOR_BLUE)
		write_byte(BULLET_BRIGHTNESS)
		write_byte(BULLET_SPEED)
		message_end()
	}
#endif

public goldenModel(id)
{
	if(get_user_weapon(id) == GOLDENM4A1_WEAPON_CSW && g_blGoldenM4A1[id])
	{
		set_pev(id, pev_viewmodel2, GOLDENM4A1_VMODEL)
		set_pev(id, pev_weaponmodel2, GOLDENM4A1_PMODEL)
	}
}

set_default_model(id)
{
	if(get_user_weapon(id) == GOLDENAK_WEAPON_CSW)
	{
		set_pev(id, pev_viewmodel2, DEFAULT_VMODEL)
		set_pev(id, pev_weaponmodel2, DEFAULT_PMODEL)
	}
}

#if defined BULLET_SOUND
	player_emitsound(id, szSound[])
		emit_sound(id, CHAN_WEAPON, szSound, 1.0, ATTN_NORM, 0, PITCH_HIGH)
#endif
Всичко промених на m4a1

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

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

Кой е на линия

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