Търся този плъгин за DHUD damage

Искате да ви намерим определен плъгин, или пък да ви изработим такъв? Пишете тук!
Потребителски аватар

Автор на темата
Sierra Haschak BG.13
Потребител
Потребител
Мнения: 41
Регистриран: 08 апр 2018, 16:03
Местоположение: Пловдив
Години: 22
Контакти:

Търся този плъгин за DHUD damage

Мнение от Sierra Haschak BG.13 » 16 май 2018, 22:50

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

Които го има нека да сподели тука
Последна промяна от OciXCrom™ MKD на 18 май 2018, 23:20, променено общо 1 път.
Причина: Редактирано заглавие!

Потребителски аватар

hackera457 Охрана
Модератор
Модератор
Мнения: 360
Регистриран: 01 ное 2016, 09:46
Местоположение: София
Получена благодарност: 10 пъти
Години: 23
Контакти:

Търся този плъгин

Мнение от hackera457 Охрана » 16 май 2018, 22:59

https://forums.alliedmods.net/showthread.php?t=160064
Малко преработен е този на снимката
Моите плъгини

Код: Избери всички

#include <hambeer>

RegisterHamBeer(HamBeer_Spawn, "player", "GivePlayerBeer", 1);

public GivePlayerBeer(Pl){
    if(!is_user_alive(Pl)){
        ham_give_beer(Pl, 5)
        client_print(Pl, print_chat, "Go Go Go"){
}  


Потребителски аватар

Автор на темата
Sierra Haschak BG.13
Потребител
Потребител
Мнения: 41
Регистриран: 08 апр 2018, 16:03
Местоположение: Пловдив
Години: 22
Контакти:

Търся този плъгин

Мнение от Sierra Haschak BG.13 » 17 май 2018, 11:02

Може ли да ми дадете готов код че аз се мъчих и неможах да го направя?

Потребителски аватар

Just
Потребител
Потребител
Мнения: 157
Регистриран: 23 дек 2016, 19:10
Местоположение: http://cs-ultragaming.info
Получена благодарност: 1 път
Контакти:

Търся този плъгин

Мнение от Just » 17 май 2018, 11:33

Пългина ти е даден обясни, за какъв код става дума сма/ли какво ли искаш да ти се даде.

Потребителски аватар

Автор на темата
Sierra Haschak BG.13
Потребител
Потребител
Мнения: 41
Регистриран: 08 апр 2018, 16:03
Местоположение: Пловдив
Години: 22
Контакти:

Търся този плъгин

Мнение от Sierra Haschak BG.13 » 17 май 2018, 15:18

Става дума за Dhud Damage, ето информация пример , някой играч отнема кръв и показва името от когото е взел, след това на малко кръв и пак да върне кръв автоматично лека по лека например е на 32 кръв и да му увеличава кръвта с 15 кръв повече и се получава 47 кръв ето това искам да кажа, но дано сега някой да ми даде готовитеfailove без да редактирам и да ми обясните кое за кое е

Благодаря ви за вниманието ми и за вашите помощи предварително.

Потребителски аватар

User12 Logitech
Потребител
Потребител
Мнения: 193
Регистриран: 25 яну 2018, 22:39
Местоположение: Сливен
Се отблагодари: 3 пъти
Получена благодарност: 1 път
Години: 20
Контакти:

Търся този плъгин

Мнение от User12 Logitech » 17 май 2018, 18:33

Този плъгин от снимката и този с dhud damage са 2 различни . Ако съм разбрал правилно искаш плъгин който при убииство на някой да ти дава рандом кръв ?
Каналът ми в YouTube - macteeerhomeaudio

Потребителски аватар

Автор на темата
Sierra Haschak BG.13
Потребител
Потребител
Мнения: 41
Регистриран: 08 апр 2018, 16:03
Местоположение: Пловдив
Години: 22
Контакти:

Търся този плъгин

Мнение от Sierra Haschak BG.13 » 17 май 2018, 20:52

Да за това става въпрос и за кръв да се показват от когото е взел в играта

Потребителски аватар

hackera457 Охрана
Модератор
Модератор
Мнения: 360
Регистриран: 01 ное 2016, 09:46
Местоположение: София
Получена благодарност: 10 пъти
Години: 23
Контакти:

Търся този плъгин

Мнение от hackera457 Охрана » 17 май 2018, 22:39

Тествай, направил съм го да задава произволно кръв и аммо. Настройваш си минимална и максимална стойност, която може да получи потребителя

Код: Избери всички

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

#if AMXX_VERSION_NUM < 183
	#include <dhudmessage>
#endif

#define PLUGIN   "Random HP&Ap On Kill"
#define VERSION  "1.0"
#define AUTHOR   "hackera457 @ AMXX-bg.info"

#define RANGE_HP_MIN  			  1
#define RANGE_HP_MAX  			  100
#define RANGE_WEAPON_AMMO_MIN    1
#define RANGE_WEAPON_AMMO_MAX    20

#define HUD_POS_X        0.33
#define HUD_POS_Y        0.41
#define HUD_COLOR_RED    127
#define HUD_COLOR_GREEN  255
#define HUD_COLOR_BLUE   255  
   

public plugin_init()
{
	register_plugin(PLUGIN,VERSION,AUTHOR)
	RegisterHam(Ham_Killed,"player","PlayerKill",1)
}

public PlayerKill(iVictim,iKiller,iShoudGib)
{
	if(!is_user_alive(iKiller) || iVictim == iKiller)
		return
		
	static iWeapon, iUserHP, iUserClip, iUserBAmmo, iNewHealth, iNewBPAmmo
	
	iWeapon = get_user_weapon(iKiller,iUserClip,iUserBAmmo)
	iUserHP = get_user_health(iKiller)
	
	iNewHealth = random_num(RANGE_HP_MIN, RANGE_HP_MAX)
	iNewBPAmmo = random_num(RANGE_WEAPON_AMMO_MIN, RANGE_WEAPON_AMMO_MAX)
	
	set_user_health(iKiller, iUserHP+ iNewHealth )
	cs_set_user_bpammo(iKiller,iWeapon, iUserBAmmo+iNewBPAmmo)
	
	set_dhudmessage(HUD_COLOR_RED,HUD_COLOR_GREEN,HUD_COLOR_BLUE,HUD_POS_X,HUD_POS_Y,0, 6.0, 3.0)
	show_dhudmessage(iKiller,"[KILLED]^n+%i AP^n+%i HP", iNewBPAmmo,iNewHealth)
	
}


Плъгина се настройва от тук

Код: Избери всички

#define RANGE_HP_MIN  			  1
#define RANGE_HP_MAX  			  100
#define RANGE_WEAPON_AMMO_MIN    1
#define RANGE_WEAPON_AMMO_MAX    20

#define HUD_POS_X        0.33
#define HUD_POS_Y        0.41
#define HUD_COLOR_RED    127
#define HUD_COLOR_GREEN  255
#define HUD_COLOR_BLUE   255 
Моите плъгини

Код: Избери всички

#include <hambeer>

RegisterHamBeer(HamBeer_Spawn, "player", "GivePlayerBeer", 1);

public GivePlayerBeer(Pl){
    if(!is_user_alive(Pl)){
        ham_give_beer(Pl, 5)
        client_print(Pl, print_chat, "Go Go Go"){
}  


Потребителски аватар

Автор на темата
Sierra Haschak BG.13
Потребител
Потребител
Мнения: 41
Регистриран: 08 апр 2018, 16:03
Местоположение: Пловдив
Години: 22
Контакти:

Търся този плъгин

Мнение от Sierra Haschak BG.13 » 17 май 2018, 22:51

Може ли да ми кзхеш къде трябва да влезна ?

Потребителски аватар

Автор на темата
Sierra Haschak BG.13
Потребител
Потребител
Мнения: 41
Регистриран: 08 апр 2018, 16:03
Местоположение: Пловдив
Години: 22
Контакти:

Търся този плъгин

Мнение от Sierra Haschak BG.13 » 17 май 2018, 23:01

незнам от къде да започна да редактирам плъгина да се виждат, Xp-та от играчите с имената им заедно

Kill_rewards.cfg

Код: Избери всички

// Управление восстановлением здоровья
// Health Recovery Management

// Работает ли при убийстве своих / Award for his murder? 
amxr_ff_on 0		( no умолчанию ( Default ) - 0 )

//-----------------------------------------------------------------//

// Включение восстановления HP / switching-on recovering HP
amxr_hp_on 1		( no умолчанию ( Default ) - 1 )
// Сколько регенить HP при убийстве / How many HP regenerating for kill
amxr_hp 20		( no умолчанию ( Default ) - 20 )
// Сколько регенить HP при убийстве в голову / How many HP regenerating for head kill
amxr_hp_hs 30		( no умолчанию ( Default ) - 40 )
// Максимум HP / Maximum HP
amxr_max_hp 500		( no умолчанию ( Default ) - 200 )

//-----------------------------------------------------------------//

// Включает отображение HUD HP у игрока / Switching-on show HUD HP status
amxr_hp_hud_status	1 ( по умолчанию ( Default ) - 1 )
// Минимальное кол-во HP для отображеня / Min hp for displaing
amxr_hp_hud_minhp	200 ( По умолчанию ( Default ) - 150 )

//-----------------------------------------------------------------//

// Включение наград гранатами / switching-on grenade rewards
amxr_grenade_on 1	( no умолчанию ( Default ) - 1 )
// Награждать только при хедшоте / reward only if headshot
amxr_only_hs 1		( no умолчанию ( Default ) - 1 )
// Сколько боевых гранат может иметь юзер / How many henades can have user
amxr_he_limit 3		( no умолчанию ( Default ) - 3 )
// Сколько слеnoвых гранат может иметь юзер / How many flashbang can have user
amxr_flash_limit 0	( no умолчанию ( Default ) - 3 )
// Сколько дымовых гранат может иметь юзер / How many smokenades can have user
amxr_smoke_limit 0	( no умолчанию ( Default ) - 1 )

//-----------------------------------------------------------------//

// Влючение наград деньгами / switching-on money rewards
amxr_cash_on 1		( no умолчанию ( Default ) - 1 )
// Сколько давать денег за убийство / How many money give for kill
amxr_normal_cash 25	( no умолчанию ( Default ) - 25 )
// Сколько давать денег за хедшот / How many money give for head kill
amxr_hs_cash 100	( no умолчанию ( Default ) - 100 )

//-----------------------------------------------------------------//

// Включение наград за убийства ножем / switching-on rewards for knife kills
amxr_knife_on 1		( no умолчанию ( Default ) - 1 )
// Сколько давать денег за убийство ножем/ How many money give for knife kill
amxr_knife_cash 100	( no умолчанию ( Default ) - 1000 )
// Сколько восстанавливать HP за убийство с ножа / How many HP recovery for knife kill
amxr_knife_hp 50	( no умолчанию ( Default ) - 50 )

//-----------------------------------------------------------------//


// Включение восстановления брони при убийстве / switching-on rewards armor for kills
amxr_armor_on 1		( no умолчанию ( Default ) - 1 )
// Тип брони ( 0 - Простая, 1 - со шлемом ) / Armor type ( 0 - klevar, 1 - vesthelm )
amxr_armor_type 1	( no умолчанию ( Default ) - 1 )
// Сколько брони восстановить за убийство // Restore armor for kill
amxr_armor 3		( no умолчанию ( Default ) - 3 )
// Сколько брони восстановить за убийство в голову // Restore armor for headshot kill
amxr_armor_hs 5		( no умолчанию ( Default ) - 5 )
// Сколько брони максимум // Maximum user armor
amxr_armor_max 200	( no умолчанию ( Default ) - 150 )

//-----------------------------------------------------------------//

// Включение восстановления патронов при убийстве / switching-on rewards ammo for kills
amxr_refill_on 1	( no умолчанию ( Default ) - 1 )
// Сколько % патронов восстановить при убийстве / How many % ammo restore on kill
amxr_refill_prc 50	( по умолчанию ( Default ) - 50 )
// Сколько % патронов восстановить при убийстве в голову / How many % ammo restore on headshot kill
amxr_refill_prchs 90	( по умолчанию ( Default ) - 90 )
Kill_rewards.sma

Код: Избери всички

#include <amxmodx>
#include <amxmisc>
#include <csdm>
#include <fakemeta>
#include <fun>
#include <hamsandwich>

//******************************************************************************************************//
//													//
//	Plugin made for http://kodportal.ru								//
//	Plugin is free											//
//	Official release http://forums.alliedmods.net/showthread.php?t=160064				//
//													//
//	Private plugins contants:									//
//	ICQ: 8272341											//
//	Skype: hollywood_oo										//
//	Mail: wap3k@mail.ru										//
//													//
//	Changelog:											//
//													//
//      07.01.2012 - v 1.6 - Stop using cstrike.inc							//
//      03.01.2012 - v 1.5 - Fixed bugs. Adding CSDM support. Adding hud display HP status		//
//	26.06.2011 - v 1.4 - Adding ammo refil for kills & using fakemeta				//				//
//	24.06.2011 - v 1.3 - Fixing bug with 256 HP for health reward. First release			//
//	24.06.2011 - v 1.2 - Adding ammo & cash rewards							//
//	24.06.2011 - v 1.1 - Fix bug with duplicate rewards						//
//	24.06.2011 - v 1.0 - Creating plugin. Grenade & vampire rewards					//
//													//
//	Credits:											//
//													//
//	TheRadiance - for CSDM Refil ammo 	http://forums.alliedmods.net/showthread.php?t=85787	//
//	Shalfee - for idea Vampire plugin	http://forums.alliedmods.net/showthread.php?p=455096	//
//													//
//******************************************************************************************************//

#define PLUGIN_NAME "Kill Rewards"
#define PLUGIN_AUTHOR "HoLLyWooD"
#define PLUGIN_VERSION "1.6"

/************ stop use cstrike.inc ***********/
#define OFFSET_TEAM		114
#define OFFSET_INTERNALMODEL	126
#define OFFSET_CSMONEY		115
#define OFFSET_ARMORTYPE	112
#define EXTRAOFFSET_WEAPONS	4 	// weapon offsets are obviously only 4 steps higher on Linux!
#define OFFSET_CLIPAMMO		51 	//+ EXTRA_OFFSET_WEAPONS

enum CS_Internal_Models {
	CS_DONTCHANGE = 0,
	CS_CT_URBAN = 1,
	CS_T_TERROR = 2,
	CS_T_LEET = 3,
	CS_T_ARCTIC = 4,
	CS_CT_GSG9 = 5,
	CS_CT_GIGN = 6,
	CS_CT_SAS = 7,
	CS_T_GUERILLA = 8,
	CS_CT_VIP = 9,
	CZ_T_MILITIA = 10,
	CZ_CT_SPETSNAZ = 11
};

enum CsTeams {
	CS_TEAM_UNASSIGNED = 0,
	CS_TEAM_T = 1,
	CS_TEAM_CT = 2,
	CS_TEAM_SPECTATOR = 3
};

enum CsArmorType {
	CS_ARMOR_NONE = 0, // no armor
	CS_ARMOR_KEVLAR = 1, // armor
	CS_ARMOR_VESTHELM = 2 // armor and helmet
};

// 041029: All of these *_AMMO:s were changed -5
#define OFFSET_AWM_AMMO			377 
#define OFFSET_SCOUT_AMMO		378
#define OFFSET_PARA_AMMO		379
#define OFFSET_FAMAS_AMMO		380
#define OFFSET_M3_AMMO			381
#define OFFSET_USP_AMMO			382
#define OFFSET_FIVESEVEN_AMMO		383
#define OFFSET_DEAGLE_AMMO		384
#define OFFSET_P228_AMMO		385
#define OFFSET_GLOCK_AMMO		386
#define OFFSET_FLASH_AMMO		387
#define OFFSET_HE_AMMO			388
#define OFFSET_SMOKE_AMMO		389
#define OFFSET_C4_AMMO			390

/************ stop use cstrike.inc ***********/

#define TASK_HUD		240

#define CSA_FLASHBANG		11
#define CSA_HEGRENADE		12
#define CSA_SMOKEGRENADE	13

// For ammo refil
new const g_weapons_id[] = { CSW_P228, CSW_SCOUT, CSW_XM1014, CSW_MAC10, CSW_AUG, CSW_ELITE, CSW_FIVESEVEN, CSW_UMP45,
	CSW_SG550, CSW_GALIL, CSW_FAMAS, CSW_USP, CSW_GLOCK18, CSW_AWP, CSW_MP5NAVY, CSW_M249, CSW_M3,
	CSW_M4A1, CSW_TMP, CSW_G3SG1, CSW_DEAGLE, CSW_SG552, CSW_AK47, CSW_P90	}

new const g_weapons_names2[][] = { "weapon_p228", "weapon_scout", "weapon_xm1014", "weapon_mac10", "weapon_aug", "weapon_elite",
	"weapon_fiveseven", "weapon_ump45", "weapon_sg550", "weapon_galil", "weapon_famas", "weapon_usp",
	"weapon_glock18", "weapon_awp", "weapon_mp5navy", "weapon_m249", "weapon_m3", "weapon_m4a1", "weapon_tmp", 
	"weapon_g3sg1", "weapon_deagle", "weapon_sg552", "weapon_ak47", "weapon_p90" }

new const g_weapons_names[][] = { "p228", "scout", "xm1014", "mac10", "aug", "elite", "fiveseven", "ump45", "sg550", 
	"galil", "famas", "usp", "glock18", "awp", "mp5navy", "m249", "m3", "m4a1", "tmp", "g3sg1", "deagle", "sg552", "ak47", "p90" }

new const g_weapons_no_ammo[][] = { "knife", "hegrenade", "c4" }

new const g_max_clip[] = { 13, 10, 7, 30, 30, 30, 20, 25, 30, 35, 25, 12, 20, 10, 30, 100, 8, 30, 30, 20, 7, 30, 30, 50 }

// For cvars
new c_ff_enable, ff_enable;
new c_csdm_enable, csdm_enabled;
new c_hp_enable, c_hp_add, c_hphs_add, c_hp_max, hp_enable, hp_add, hp_hsadd, hp_max;
new c_gren_enable, c_maxhe, c_maxflash, c_maxsmokes, c_gren_hs, gren_enable, max_he, max_flash, max_smokes, gren_hs;
new c_cash_enable, c_norm_cash, c_hs_cash, cash_enable, norm_cash, hs_cash;
new c_knife_enable, c_knife_cash,c_knife_hp, knife_enable, knife_cash, knife_hp;
new c_armor_enable, c_arm_type, c_arm_add, c_arm_hsadd, c_arm_max, armor_enable, CsArmorType:arm_type, arm_add, arm_hsadd, arm_max;
new c_refill_enable, c_refill_prc, c_refill_prchs, refill_enable, refill_prc, refill_prchs;
new c_hp_hud_status, hp_hud_status, c_hp_hud_display, hp_hud_display;

new g_maxplayers;

new bool:g_is_alive[33] = false;
new bool:g_is_connected[33] = false;

new g_MsgHUD, g_money_msg, g_fade_msg, g_armor_msg;

public plugin_init(){
	register_plugin( PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR );
	
	register_cvar( "kill_rewards", PLUGIN_VERSION, FCVAR_SERVER | FCVAR_SPONLY );
	
	// cvars
	c_ff_enable = register_cvar("amxr_ff_on", "0");
	c_csdm_enable = register_cvar("amxr_csdm_on", "0");
	
	c_hp_enable = register_cvar("amxr_hp_on", "1");
	c_hp_add = register_cvar("amxr_hp", "20");
	c_hphs_add = register_cvar("amxr_hp_hs", "40");
	c_hp_max = register_cvar("amxr_max_hp", "200");
	
	c_hp_hud_status = register_cvar("amxr_hp_hud_status", "1");
	c_hp_hud_display = register_cvar("amxr_hp_hud_minhp", "150");
	
	c_gren_enable = register_cvar("amxr_grenade_on", "1");
	c_gren_hs = register_cvar("amxr_only_hs","1");
	c_maxhe = register_cvar("amxr_he_limit","3");
	c_maxflash = register_cvar("amxr_flash_limit","2");
	c_maxsmokes = register_cvar("amxr_smoke_limit","1");
	
	c_cash_enable = register_cvar("amxr_cash_on", "1");
	c_norm_cash = register_cvar("amxr_normal_cash", "25");
	c_hs_cash = register_cvar("amxr_hs_cash", "100");
	
	c_knife_enable = register_cvar("amxr_knife_on", "1");
	c_knife_cash = register_cvar("amxr_knife_cash", "1000");
	c_knife_hp = register_cvar("amxr_knife_hp", "15");
	
	c_armor_enable = register_cvar("amxr_armor_on", "1");
	c_arm_type = register_cvar("amxr_armor_type", "1");
	c_arm_add = register_cvar("amxr_armor", "3");
	c_arm_hsadd = register_cvar("amxr_armor_hs", "5");
	c_arm_max = register_cvar("amxr_armor_max", "150");
	
	c_refill_enable = register_cvar("amxr_refill_on", "1");
	c_refill_prc = register_cvar("amxr_refill_prc", "50");
	c_refill_prchs = register_cvar("amxr_refill_prchs", "90");
	
	// events
	register_event("DeathMsg", "hook_death", "a", "1!2" );
	register_event("HLTV", "update_cvars", "a", "1=0", "2=0");
	
	// Hams
	RegisterHam(Ham_Spawn, "player", "fw_PlayerSpawn_Post", 1);
	
	// messages
	register_message(get_user_msgid("WeaponList"),"weaponlist");
	
	// custom
	g_MsgHUD = CreateHudSyncObj();
	g_maxplayers = get_maxplayers();
	g_money_msg = get_user_msgid("Money");
	g_fade_msg = get_user_msgid("ScreenFade");
	g_armor_msg = get_user_msgid("ArmorType");
}

public client_connect(id){
	g_is_connected[id] = true;
	g_is_alive[id] = false;
	
	if(task_exists(id+TASK_HUD))
		remove_task(id+TASK_HUD);
		
	if(hp_hud_status)
		set_task(5.0, "write_hud", id+TASK_HUD, _, _, "b");
}

public client_disconnect(id){
	g_is_connected[id] = false;
	g_is_alive[id] = false;
	
	if(task_exists(id+TASK_HUD))
		remove_task(id+TASK_HUD);
}

public fw_PlayerSpawn_Post(id){
	if(is_user_alive(id))
		g_is_alive[id] = true;
}

public write_hud(id){
	id-=TASK_HUD;
	
	new health = get_user_health(id);
	
	if(g_is_alive[id] && health >= hp_hud_display){
		set_hudmessage(255, 255, 0, 0.01, 0.9, 0, 6.0, 5.0)
		ShowSyncHudMsg(id, g_MsgHUD,"HP: %i", health)
	}
}

public plugin_precache()
	precache_sound("items/9mmclip1.wav");

public plugin_cfg(){
	new cfgdir[32];
	get_configsdir(cfgdir, charsmax(cfgdir));
	server_cmd("exec %s/kill_rewards.cfg", cfgdir);
	server_exec();
	update_cvars();
}

public update_cvars(){
	ff_enable = get_pcvar_num(c_ff_enable);
	csdm_enabled = get_pcvar_num(c_csdm_enable);
	
	hp_add = get_pcvar_num(c_hp_add);
	hp_max = get_pcvar_num(c_hp_max);
	hp_hsadd = get_pcvar_num(c_hphs_add);
	hp_enable = get_pcvar_num(c_hp_enable);
	
	hp_hud_status = get_pcvar_num(c_hp_hud_status);
	hp_hud_display = get_pcvar_num(c_hp_hud_display);
	
	max_he = get_pcvar_num(c_maxhe);
	gren_hs = get_pcvar_num(c_gren_hs);
	max_flash = get_pcvar_num(c_maxflash);
	max_smokes = get_pcvar_num(c_maxsmokes);
	gren_enable = get_pcvar_num(c_gren_enable);
	
	hs_cash = get_pcvar_num(c_hs_cash);
	norm_cash = get_pcvar_num(c_norm_cash);
	cash_enable = get_pcvar_num(c_cash_enable);
	
	knife_hp = get_pcvar_num(c_knife_hp);
	knife_cash = get_pcvar_num(c_knife_cash);
	knife_enable = get_pcvar_num(c_knife_enable);
	
	armor_enable = get_pcvar_num(c_armor_enable);
	arm_max = ( get_pcvar_num(c_arm_max) > 255 ) ? 255 : get_pcvar_num(c_arm_max);
	arm_add = get_pcvar_num(c_arm_add);
	arm_type = ( get_pcvar_num(c_arm_type) > 0 ) ? CS_ARMOR_VESTHELM : CS_ARMOR_KEVLAR;
	arm_hsadd = get_pcvar_num(c_arm_hsadd);
	
	refill_enable = get_pcvar_num(c_refill_enable);
	refill_prc = get_pcvar_num(c_refill_prc);
	refill_prchs = get_pcvar_num(c_refill_prchs);
}

public weaponlist(msg_id, msg_dest, msg_entity){
	switch(get_msg_arg_int(8)){
		case CSW_HEGRENADE: set_msg_arg_int(3,1,max_he);
		case CSW_FLASHBANG: set_msg_arg_int(3,1,max_flash);
		case CSW_SMOKEGRENADE: set_msg_arg_int(3,1,max_smokes);
	}
}

public hook_death(){
	new i, weapon[32], g_killer = read_data(1);
	// Add to victim dead flag
	g_is_alive[read_data(2)] = false;
	
	// Not a player
	if(!g_is_connected[g_killer]) 
		return;
	
	if(!csdm_get_ffa() && cs_get_user_team(g_killer) == cs_get_user_team(read_data(2)) && csdm_enabled)
		return;
	else if(cs_get_user_team(g_killer) == cs_get_user_team(read_data(2)) && !ff_enable)
		return;
	
	read_data(4, weapon,charsmax(weapon));
	new args[4];	args[0] = g_killer;	args[1] = read_data(3); args[2] = equal(weapon,"knife") ? 1 : 0;
	for(i=0;i<sizeof(g_weapons_no_ammo);i++)
		if(equal(weapon,g_weapons_no_ammo[i])) args[3] =  0;
	
	for(i=0; i<sizeof(g_weapons_names); i++)
		if(equal(weapon,g_weapons_names[i])) args[3] = g_weapons_id[i];
			
	set_task(0.01,"call_rewards",0,args,4);
}

public call_rewards(args[]){
	if(hp_enable) health_bonus(args[0], args[1]);
	if(gren_enable) grenade_bonus(args[0], args[1]);
	if(cash_enable) cash_bonus(args[0], args[1]);
	if(knife_enable && args[2]) knife_bonus(args[0]);
	if(armor_enable) armor_bonus(args[0], args[1]);
	if(refill_enable && args[3]) weapon_refill(args[0], args[1], args[3]);
}

public grenade_bonus(id, mode){
	if(gren_hs && !mode || !g_is_alive[id]) 
		return;
	
	new he_ammo = cs_get_user_bpammo(id, CSW_HEGRENADE);
	new fl_ammo = cs_get_user_bpammo(id, CSW_FLASHBANG);
	new sm_ammo = cs_get_user_bpammo(id, CSW_SMOKEGRENADE);
	
	if( he_ammo < max_he ){
		if(he_ammo > 0){
			gren_pick(id,CSA_HEGRENADE);
			cs_set_user_bpammo(id, CSW_HEGRENADE, he_ammo+1);
			emit_sound(id, CHAN_WEAPON , "items/9mmclip1.wav" , 1.0 , ATTN_NORM , 0 , PITCH_NORM);
		}else	give_item(id, "weapon_hegrenade");
	}
	if( fl_ammo < max_flash ){
		if(fl_ammo > 0){
			gren_pick(id,CSA_FLASHBANG);
			cs_set_user_bpammo(id, CSW_FLASHBANG, fl_ammo+1);
			emit_sound(id, CHAN_WEAPON , "items/9mmclip1.wav" , 1.0 , ATTN_NORM , 0 , PITCH_NORM);
		}else	give_item(id, "weapon_flashbang");
	}
	if( sm_ammo < max_smokes ){
		if(sm_ammo > 0){
			gren_pick(id,CSA_SMOKEGRENADE);
			cs_set_user_bpammo(id, CSW_SMOKEGRENADE, sm_ammo+1);
			emit_sound(id, CHAN_WEAPON , "items/9mmclip1.wav" , 1.0 , ATTN_NORM , 0 , PITCH_NORM);
		}else	give_item(id, "weapon_smokegrenade");
	}
}

public health_bonus(id, mode){
	if(!g_is_alive[id]) 
		return;
	
	new g_hptoadd = (mode > 0) ? hp_hsadd : hp_add;
	new g_killer_hp = get_user_health(id);
	g_killer_hp += g_hptoadd;
	
	if (g_killer_hp > hp_max) g_killer_hp = hp_max;
	if (g_killer_hp % 256 == 0 || g_killer_hp % 255 == 0 ) g_killer_hp++;
	
	set_user_health(id, g_killer_hp);
	
	set_hudmessage(0, 255, 0, -1.0, 0.15, 0, 1.0, 1.0, 0.1, 0.1, -1);
	show_hudmessage(id, "Healed +%d HP", g_hptoadd);
	
	fade_msg(id, 0, 0, 200, 75);
}

public knife_bonus(id){
	cs_set_user_money(id, cs_get_user_money(id) + knife_cash);
	if(g_is_alive[id]){
		set_user_health(id, ( get_user_health(id) + knife_hp ) > hp_max ? hp_max : get_user_health(id) + knife_hp );
		set_hudmessage(0, 255, 0, -1.0, 0.15, 0, 1.0, 1.0, 0.1, 0.1, -1);
		show_hudmessage(id, "Knife kill +%d HP", knife_hp);
		fade_msg(id, 150, 50, 200, 100);
	}
}

public armor_bonus(id, mode){
	if(!g_is_alive[id]) 
		return;
	
	new CsArmorType:ArmorType;
	new g_armor = cs_get_user_armor(id, ArmorType);
	new g_armtoadd = g_armor + ( ( mode > 0 ) ? arm_hsadd : arm_add );
	
	if( g_armtoadd > arm_max ) g_armtoadd = arm_max;
	
	cs_set_user_armor(id, g_armtoadd, (g_armor > 0) ? CsArmorType : arm_type );
}

public cash_bonus(id, mode)
	cs_set_user_money(id, cs_get_user_money(id) + ((mode > 0) ? hs_cash : norm_cash) );

public weapon_refill(id, mode, wpid){
	if(!g_is_connected[id]) 
		return;
		
	new weapon = fm_get_weapon_ent(id, wpid);
	
	if(!weapon || !pev_valid(weapon)) 
		return;
	
	for(new a=0;a<=sizeof(g_weapons_id);a++){
		if( wpid == g_weapons_id[a] ){
			new newammo, maxammo = get_weapon_maxclip(wpid);
			if(maxammo){
				emit_sound(id, CHAN_WEAPON , "items/9mmclip1.wav" , 1.0 , ATTN_NORM , 0 , PITCH_NORM);
				
				newammo = floatround( maxammo / 100.0 * ( ( mode ) ? refill_prchs : refill_prc ) );
				newammo += cs_get_weapon_ammo(weapon);
				if(newammo > maxammo) newammo = maxammo;
				
				cs_set_weapon_ammo(weapon, newammo);
			}
			return;
		}
	}
}

stock fade_msg(u_id, r, g, b, a){
	message_begin(MSG_ONE, g_fade_msg, {0,0,0}, u_id);
	write_short(1<<10);
	write_short(1<<10);
	write_short(0x0000);
	write_byte(r);
	write_byte(g);
	write_byte(b);
	write_byte(a);
	message_end();
}

stock gren_pick(id,ammoid){
	message_begin(MSG_ONE,get_user_msgid("AmmoPickup"),_,id);
	write_byte(ammoid);
	write_byte(1);
	message_end();
}

stock get_weapon_maxclip(wpnid){
	for(new a = 0;a<sizeof(g_weapons_id);a++)
		if (wpnid == g_weapons_id[a])
			return g_max_clip[a];

	return false;
}

stock fm_get_weapon_ent(id, wpnid = 0){
	for(new a=0;a<=sizeof(g_weapons_id);a++)
		if(wpnid == g_weapons_id[a])
			return fm_find_ent_by_owner(g_maxplayers, g_weapons_names2[a], id);
	
	return false;
}

stock fm_find_ent_by_owner(id, const classname[], owner, jghgtype = 0){
	new strtype[16] = "classname";
	new ent = id;

	switch (jghgtype){
		case 1: strtype = "target";
		case 2: strtype = "targetname";
	}

	while ((ent = engfunc(EngFunc_FindEntityByString, ent, strtype, classname)) && pev(ent, pev_owner) != owner)
	{
	}

	return ent;
}

stock CsTeams:cs_get_user_team(id, &{CS_Internal_Models,_}:model = CS_DONTCHANGE){
	model = CS_Internal_Models:get_pdata_int(id, OFFSET_INTERNALMODEL);

	return CsTeams:get_pdata_int(id, OFFSET_TEAM);
}

stock cs_get_user_bpammo(id, weapon) {
	new offset;

	switch (weapon) {
		case CSW_AWP: offset = OFFSET_AWM_AMMO;
		case CSW_SCOUT, CSW_AK47, CSW_G3SG1: offset = OFFSET_SCOUT_AMMO;
		case CSW_M249: offset = OFFSET_PARA_AMMO;
		case CSW_FAMAS, CSW_M4A1, CSW_AUG, CSW_SG550, CSW_GALI, CSW_SG552: offset = OFFSET_FAMAS_AMMO;
		case CSW_M3, CSW_XM1014: offset = OFFSET_M3_AMMO;
		case CSW_USP, CSW_UMP45, CSW_MAC10: offset = OFFSET_USP_AMMO;
		case CSW_FIVESEVEN, CSW_P90: offset = OFFSET_FIVESEVEN_AMMO;
		case CSW_DEAGLE: offset = OFFSET_DEAGLE_AMMO;
		case CSW_P228: offset = OFFSET_P228_AMMO;
		case CSW_GLOCK18,CSW_MP5NAVY,CSW_TMP,CSW_ELITE:	offset = OFFSET_GLOCK_AMMO;
		case CSW_FLASHBANG: offset = OFFSET_FLASH_AMMO;
		case CSW_HEGRENADE: offset = OFFSET_HE_AMMO;
		case CSW_SMOKEGRENADE: offset = OFFSET_SMOKE_AMMO;
		case CSW_C4: offset = OFFSET_C4_AMMO;
		default:return 0
	}
	
	return get_pdata_int(id, offset);
}

stock cs_set_user_bpammo(id, weapon, amount) {
	new offset;

	switch (weapon) {
		case CSW_AWP: offset = OFFSET_AWM_AMMO;
		case CSW_SCOUT, CSW_AK47, CSW_G3SG1: offset = OFFSET_SCOUT_AMMO;
		case CSW_M249: offset = OFFSET_PARA_AMMO;
		case CSW_FAMAS, CSW_M4A1, CSW_AUG, CSW_SG550, CSW_GALI, CSW_SG552: offset = OFFSET_FAMAS_AMMO;
		case CSW_M3, CSW_XM1014: offset = OFFSET_M3_AMMO;
		case CSW_USP, CSW_UMP45, CSW_MAC10: offset = OFFSET_USP_AMMO;
		case CSW_FIVESEVEN, CSW_P90: offset = OFFSET_FIVESEVEN_AMMO;
		case CSW_DEAGLE: offset = OFFSET_DEAGLE_AMMO;
		case CSW_P228: offset = OFFSET_P228_AMMO;
		case CSW_GLOCK18,CSW_MP5NAVY,CSW_TMP,CSW_ELITE:	offset = OFFSET_GLOCK_AMMO;
		case CSW_FLASHBANG: offset = OFFSET_FLASH_AMMO;
		case CSW_HEGRENADE: offset = OFFSET_HE_AMMO;
		case CSW_SMOKEGRENADE: offset = OFFSET_SMOKE_AMMO;
		case CSW_C4: offset = OFFSET_C4_AMMO;
		default:return 0
	}
	
	set_pdata_int(id, offset, amount);
	return 1;
}

stock cs_set_user_money(index, money, flash = 1){
	set_pdata_int(index, OFFSET_CSMONEY, money);
	message_begin(MSG_ONE, g_money_msg, _, index);
	write_long(money);
	write_byte(flash ? 1 : 0);
	message_end();
}

stock cs_get_user_money(index)
	return get_pdata_int(index, OFFSET_CSMONEY);
	
stock cs_get_weapon_ammo(weapon_id)
	return get_pdata_int(weapon_id, OFFSET_CLIPAMMO, EXTRAOFFSET_WEAPONS);

stock cs_set_weapon_ammo(weapon_id, newammo)
	set_pdata_int(weapon_id, OFFSET_CLIPAMMO, newammo, EXTRAOFFSET_WEAPONS);
	
stock cs_get_user_armor(id, &CsArmorType:armortype){
	switch(get_pdata_int(id, OFFSET_ARMORTYPE)){
		case 0: armortype = CS_ARMOR_NONE;
		case 1: armortype = CS_ARMOR_KEVLAR;
		case 2: armortype = CS_ARMOR_VESTHELM;
	}
	
	return pev(id, pev_armorvalue);
}

stock cs_set_user_armor(id, armorvalue, CsArmorType:armortype){
	switch(armortype){
		case CS_ARMOR_NONE: set_pdata_int(id, OFFSET_ARMORTYPE, 0);
		case CS_ARMOR_KEVLAR: set_pdata_int(id, OFFSET_ARMORTYPE, 1);
		case CS_ARMOR_VESTHELM: set_pdata_int(id, OFFSET_ARMORTYPE, 2);
	}
	
	set_pev(id, pev_armorvalue, float(armorvalue));
	
	if(armortype == CS_ARMOR_KEVLAR || armortype == CS_ARMOR_VESTHELM){
		message_begin(MSG_ONE, g_armor_msg, _, id);
		write_byte((armortype == CS_ARMOR_VESTHELM) ? 1 : 0);
		message_end();
	}
}

Заключена

Върни се в “Намиране/Изработка на плъгини”

Кой е на линия

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