Editare knife menu [Rezolvat]

Modificari necesare ale pluginurilor

Moderators: Moderatori ajutatori, Moderatori, Echipa eXtreamCS.com

Post Reply
Puyol
Membru, skill 0
Membru, skill 0
Posts: 76
Joined: 08 May 2018, 14:46
Detinator Steam: Nu
CS Status: Citesc forumul eXtreamCS.com...!
Fond eXtream: 0
Contact:

18 Jan 2019, 18:39

| Afiseaza codul
#include <amxmodx>

#include <amxmisc>

#include <engine> 

#include <vault>

#include <fun>



#define PLUGIN "Knife Mod"

#define VERSION "1.0" 

#define AUTHOR "spunko"



#define TASK_INTERVAL 4.0  

#define MAX_HEALTH 255  



new knife_model[33] 

new g_Menu



new CVAR_HIGHSPEED

new CVAR_LOWSPEED

new CVAR_LOWGRAV

new CVAR_NORMGRAV

new CVAR_HEALTH_ADD

new CVAR_HEALTH_MAX

new CVAR_DAMAGE 



public plugin_init() { 

	

	register_plugin(PLUGIN, VERSION, AUTHOR) 

	

	register_event( "Damage", "event_damage", "be" )

	register_event("CurWeapon","CurWeapon","be","1=1") 

	

	g_Menu = register_menuid("Knife Mod")

	register_menucmd(g_Menu, 1023, "knifemenu")

	

	register_clcmd("say /cutit", "display_knife")

	register_clcmd("say /knife", "display_knife")



	CVAR_HIGHSPEED = register_cvar("km_highspeed","340")

	CVAR_LOWSPEED = register_cvar("km_lowspeed","170")

	CVAR_HEALTH_ADD = register_cvar("km_addhealth", "3")

	CVAR_HEALTH_MAX = register_cvar("km_maxhealth", "75")

	CVAR_DAMAGE = register_cvar("km_damage", "2")

	CVAR_LOWGRAV = register_cvar("km_lowgravity" , "400")

	CVAR_NORMGRAV = get_cvar_pointer("sv_gravity")

	

	set_task(480.0, "kmodmsg", 0, _, _, "b")

}



public plugin_precache() { 

	precache_model("models/knife-mod/v_knife_new.mdl") 

	precache_model("models/knife-mod/p_knife_new.mdl") 

	precache_model("models/knife-mod/v_machete.mdl")

	precache_model("models/knife-mod/p_machete.mdl")

	precache_model("models/knife-mod/v_bak.mdl")

	precache_model("models/knife-mod/p_bak.mdl")

	precache_model("models/knife-mod/v_pocket.mdl")

	precache_model("models/knife-mod/p_pocket.mdl")

	precache_model("models/knife-mod/v_knife_2016.mdl") 

	precache_model("models/knife-mod/p_knife_2016.mdl")

} 



public display_knife(id) {

	new menuBody[512]

	add(menuBody, 511, "\rKnife Mod \yDr.Freakz.Ro\w^n^n")

	add(menuBody, 511, "\w[Dr] \yMachete \r(Damage mare)\w^n")

	add(menuBody, 511, "\w[Dr] \yBak Knife \r(Nu se aud pasii)\w^n")

	add(menuBody, 511, "\w[Dr] \yPocket Knife \r(Viteza mare)\w^n")

	add(menuBody, 511, "\w[Dr] \yButcher Knife \r(Low Gravity)\w^n")

	add(menuBody, 511, "\w[Dr] \yDefaut Knife \r(Regenerare HP)\w^n^n")

	add(menuBody, 511, "\w0. \rIesire^n")

	

	new keys = ( 1<<0 | 1<<1 | 1<<2 | 1<<3 | 1<<4 | 1<<9 )

	show_menu(id, keys, menuBody, -1, "Knife Mod")

}



public knifemenu(id, key) {

	switch(key) 

	{

		case 0: SetKnife(id , 4)

		case 1: SetKnife(id , 2)

		case 2: SetKnife(id , 3)

		case 3: SetKnife(id , 1)

		case 4: SetKnife(id , 0)

		default: return PLUGIN_HANDLED

	}

	SaveData(id)

	return PLUGIN_HANDLED

} 



public SetKnife(id , Knife) {

	knife_model[id] = Knife

	

	new Clip, Ammo, Weapon = get_user_weapon(id, Clip, Ammo) 

	if ( Weapon != CSW_KNIFE )

		return PLUGIN_HANDLED

	

	new vModel[56],pModel[56]

	

	switch(Knife)

	{

		case 0: {

			format(vModel,55,"models/knife-mod/v_knife_2016.mdl")

			format(pModel,55,"models/knife-mod/p_knife_2016.mdl")

		}

		case 1: {

			format(vModel,55,"models/knife-mod/v_knife_new.mdl")

			format(pModel,55,"models/knife-mod/p_knife_new.mdl")

		}

		case 2: {

			format(vModel,55,"models/knife-mod/v_bak.mdl")

			format(pModel,55,"models/knife-mod/p_bak.mdl")

		}

		case 3: {

			format(vModel,55,"models/knife-mod/v_pocket.mdl")

			format(pModel,55,"models/knife-mod/p_pocket.mdl")

		}

		case 4: {

			format(vModel,55,"models/knife-mod/v_machete.mdl")

			format(pModel,55,"models/knife-mod/p_machete.mdl")

		}

	} 

	

	entity_set_string(id, EV_SZ_viewmodel, vModel)

	entity_set_string(id, EV_SZ_weaponmodel, pModel)

	

	return PLUGIN_HANDLED;  

}



public event_damage( id ) {

	

	new victim_id = id;

	if( !is_user_connected( victim_id ) ) return PLUGIN_CONTINUE

	new dmg_take = read_data( 2 );

	new dmgtype = read_data( 3 );

	new Float:multiplier = get_pcvar_float(CVAR_DAMAGE);

	new Float:damage = dmg_take * multiplier;

	new health = get_user_health( victim_id );

	

	new iWeapID, attacker_id = get_user_attacker( victim_id, iWeapID );

	

	if( !is_user_connected( attacker_id ) || !is_user_alive( victim_id ) ) {

		return PLUGIN_HANDLED

	}

	

	if( iWeapID == CSW_KNIFE && knife_model[attacker_id] == 4 ) {

		

		if( floatround(damage) >= health ) {

			if( victim_id == attacker_id ) {

				return PLUGIN_CONTINUE

				}else{

				log_kill( attacker_id, victim_id, "knife", 0 );

			}

			

			return PLUGIN_CONTINUE

			}else {

			if( victim_id == attacker_id ) return PLUGIN_CONTINUE

			

			fakedamage( victim_id, "weapon_knife", damage, dmgtype );

		}

	}

	return PLUGIN_CONTINUE

}



public CurWeapon(id)

	{

	new Weapon = read_data(2)

	

	// Set Knife Model

	SetKnife(id, knife_model[id])   

	

	// Task Options

	

	if(knife_model[id] == 0 && !task_exists(id) && Weapon == CSW_KNIFE)

		set_task(TASK_INTERVAL , "task_healing",id,_,_,"b")

	else if(task_exists(id))

		remove_task(id)

	

	// Abilities

	set_user_footsteps(id , ( (knife_model[id] == 2 && Weapon == CSW_KNIFE) ? 1 : 0) )

	

	new Float:Gravity = ((knife_model[id] == 1 && Weapon == CSW_KNIFE)? get_pcvar_float(CVAR_LOWGRAV) : get_pcvar_float(CVAR_NORMGRAV)) / 800.0

	set_user_gravity(id , Gravity)

	

	// Speed

	new Float:Speed

	if(Weapon != CSW_KNIFE || knife_model[id] < 3)

		return PLUGIN_CONTINUE

	else if(knife_model[id] == 3)

		Speed = get_pcvar_float(CVAR_HIGHSPEED)

	else if(knife_model[id] == 4)

		Speed = get_pcvar_float(CVAR_LOWSPEED)

	

	set_user_maxspeed(id, Speed)

	

	return PLUGIN_HANDLED   

	

}



stock log_kill(killer, victim, weapon[],headshot) {

	user_silentkill( victim );

	

	message_begin( MSG_ALL, get_user_msgid( "DeathMsg" ), {0,0,0}, 0 );

	write_byte( killer );

	write_byte( victim );

	write_byte( headshot );

	write_string( weapon );

	message_end();

	

	new kfrags = get_user_frags( killer );

	set_user_frags( killer, kfrags++ );

	new vfrags = get_user_frags( victim );

	set_user_frags( victim, vfrags++ );

	

	return  PLUGIN_CONTINUE

} 





public task_healing(id) {  

	new addhealth = get_pcvar_num(CVAR_HEALTH_ADD)  

	if (!addhealth)

		return  

	

	new maxhealth = get_pcvar_num(CVAR_HEALTH_MAX)  

	if (maxhealth > MAX_HEALTH) { 

		set_pcvar_num(CVAR_HEALTH_MAX, MAX_HEALTH)  

		maxhealth = MAX_HEALTH 

	}  

	

	new health = get_user_health(id)   

	

	if (is_user_alive(id) && (health < maxhealth)) { 

		set_user_health(id, health + addhealth)

		set_hudmessage(0, 255, 0, -1.0, 0.25, 0, 1.0, 2.0, 0.1, 0.1, 4)

		show_hudmessage(id,"<< !!HEAL IN PROGRESS!! >>")

		message_begin(MSG_ONE, get_user_msgid("ScreenFade"), {0,0,0}, id)

		write_short(1<<10)

		write_short(1<<10)

		write_short(0x0000)

		write_byte(0)

		write_byte(200)

		write_byte(0)

		write_byte(75)

		message_end()

	}

	

	else {

		if (is_user_alive(id) && (health > maxhealth))

			remove_task(id)

	}

}  



public client_disconnect(id) {  

	if(task_exists(id)) remove_task(id)  

}  





public kmodmsg() { 

	

	client_print(0,print_chat,"")

}  



public client_authorized(id)

	{

	LoadData(id)

}



SaveData(id)

{ 

	

	new authid[32]

	get_user_authid(id, authid, 31)

	

	new vaultkey[64]

	new vaultdata[64]

	

	format(vaultkey, 63, "KMOD_%s", authid)

	format(vaultdata, 63, "%d", knife_model[id])

	set_vaultdata(vaultkey, vaultdata)

}



LoadData(id) 

{ 

	new authid[32] 

	get_user_authid(id,authid,31)

	

	new vaultkey[64], vaultdata[64]

	

	format(vaultkey, 63, "KMOD_%s", authid)

	get_vaultdata(vaultkey, vaultdata, 63)

	knife_model[id] = str_to_num(vaultdata)

	

} 

/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE

*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1033\\ f0\\ fs16 \n\\ par }

*/
As vrea sa se adauge inca un cutit pentru vip. Doar vip ul sa aibe acces. [ Flag t ]
Sa aiba asa :
Mai mare gravitatie ca la celelalte
Mai mare viteza ca la celelalte
Damage mai mare ca celelalte
Skin special [ nume la skin " Karambit [ Only VIP ]
Last edited by WHOAMI? on 19 Jan 2019, 18:31, edited 1 time in total.
Reason: Marcat ca "Rezolvat"
RoyalServer 2
User avatar
levin
Scripter eXtreamCS
Scripter eXtreamCS
Posts: 3850
Joined: 24 Aug 2011, 12:24
Detinator Steam: Da
CS Status:
Detinator server CS: ☯∴
SteamID: 76561198063679589
Reputatie: Scripter eXtreamCS
Nume anterior: Adryyy
Location: ҳ̸Ҳ̸ҳ
Discord: devilclass
Has thanked: 36 times
Been thanked: 595 times
Contact:

18 Jan 2019, 21:11

| Afiseaza codul
[code]
#include <amxmodx>
#include <amxmisc>
#include <engine> 
#include <vault>
#include <fun>

#pragma tabsize 0

#define PLUGIN "Knife Mod"
#define VERSION "1.0"
#define AUTHOR "spunko"

#define TASK_INTERVAL 4.0

#define MAX_HEALTH 255

#define SPECIAL_FLAG	ADMIN_LEVEL_H	//flag T
#define is_special(%0)	(get_user_flags(%0)&SPECIAL_FLAG)

new knife_model[33] 
new g_Menu
new CVAR_HIGHSPEED
new CVAR_LOWSPEED
new CVAR_LOWGRAV
new CVAR_NORMGRAV
new CVAR_HEALTH_ADD
new CVAR_HEALTH_MAX
new CVAR_DAMAGE

public plugin_init() { 
	register_plugin(PLUGIN, VERSION, AUTHOR)

	register_event( "Damage", "event_damage", "be" )
	register_event("CurWeapon","CurWeapon","be","1=1")


	g_Menu = register_menuid("Knife Mod")
	register_menucmd(g_Menu, 1023, "knifemenu")

	register_clcmd("say /cutit", "display_knife")
	register_clcmd("say /knife", "display_knife")

	CVAR_HIGHSPEED = register_cvar("km_highspeed","340")
	CVAR_LOWSPEED = register_cvar("km_lowspeed","170")

	CVAR_HEALTH_ADD = register_cvar("km_addhealth", "3")
	CVAR_HEALTH_MAX = register_cvar("km_maxhealth", "75")

	CVAR_DAMAGE = register_cvar("km_damage", "2")

	CVAR_LOWGRAV = register_cvar("km_lowgravity" , "400")

	CVAR_NORMGRAV = get_cvar_pointer("sv_gravity")
}
public plugin_precache() { 
	precache_model("models/knife-mod/v_knife_new.mdl")
	precache_model("models/knife-mod/p_knife_new.mdl")

	precache_model("models/knife-mod/v_machete.mdl")
	precache_model("models/knife-mod/p_machete.mdl")

	precache_model("models/knife-mod/v_bak.mdl")
	precache_model("models/knife-mod/p_bak.mdl")

	precache_model("models/knife-mod/v_pocket.mdl")
	precache_model("models/knife-mod/p_pocket.mdl")

	precache_model("models/knife-mod/v_knife_2016.mdl")
	precache_model("models/knife-mod/p_knife_2016.mdl")


	precache_model("models/knife-mod/v_knife_vip.mdl") 
	precache_model("models/knife-mod/p_knife_vip.mdl")
}

public display_knife(id) {
	new menuBody[512]
	add(menuBody, 511, "\rKnife Mod \yDr.Freakz.Ro\w^n^n")

	add(menuBody, 511, "\w[Dr] \yMachete \r(Damage mare)\w^n")
	add(menuBody, 511, "\w[Dr] \yBak Knife \r(Nu se aud pasii)\w^n")
	add(menuBody, 511, "\w[Dr] \yPocket Knife \r(Viteza mare)\w^n")
	add(menuBody, 511, "\w[Dr] \yButcher Knife \r(Low Gravity)\w^n")
	add(menuBody, 511, "\w[Dr] \yDefaut Knife \r(Regenerare HP)\w^n^n")

	if(is_special(id))		add(menuBody, 511, "\w[Dr] \yKarambit \r[Only VIP]\w^n^n")

	add(menuBody, 511, "\w0. \rIesire")

	new keys = ( 1<<0 | 1<<1 | 1<<2 | 1<<3 | 1<<4 | 1<<5 | 1<<9 )
	show_menu(id, keys, menuBody, -1, "Knife Mod")
}
public knifemenu(id, key) {
	switch(key) 
	{
		case 0: SetKnife(id , 4)
		case 1: SetKnife(id , 2)
		case 2: SetKnife(id , 3)
		case 3: SetKnife(id , 1)
		case 4: SetKnife(id , 0)

		case 5: SetKnife(id , 5)

		default: return PLUGIN_HANDLED
	}
	SaveData(id)
	return PLUGIN_HANDLED
}
public SetKnife(id , Knife) {
	knife_model[id] = Knife
	new Clip, Ammo, Weapon = get_user_weapon(id, Clip, Ammo) 
	if ( Weapon != CSW_KNIFE )
		return PLUGIN_HANDLED

	new vModel[56],pModel[56]
	switch(Knife)
	{
		case 0: {
			format(vModel,55,"models/knife-mod/v_knife_2016.mdl")
			format(pModel,55,"models/knife-mod/p_knife_2016.mdl")
		}
		case 1: {
			format(vModel,55,"models/knife-mod/v_knife_new.mdl")
			format(pModel,55,"models/knife-mod/p_knife_new.mdl")
		}
		case 2: {
			format(vModel,55,"models/knife-mod/v_bak.mdl")
			format(pModel,55,"models/knife-mod/p_bak.mdl")
		}
		case 3: {
			format(vModel,55,"models/knife-mod/v_pocket.mdl")
			format(pModel,55,"models/knife-mod/p_pocket.mdl")
		}
		case 4: {
			format(vModel,55,"models/knife-mod/v_machete.mdl")
			format(pModel,55,"models/knife-mod/p_machete.mdl")
		}

		case 5: {
			format(vModel,55,"models/knife-mod/v_knife_vip.mdl")
			format(pModel,55,"models/knife-mod/p_knife_vip.mdl")
		}

	} 
	entity_set_string(id, EV_SZ_viewmodel, vModel)
	entity_set_string(id, EV_SZ_weaponmodel, pModel)

	return PLUGIN_HANDLED;  
}

public event_damage( id ) {
	new victim_id = id;
	if( !is_user_connected( victim_id ) ) return PLUGIN_CONTINUE

	new dmg_take = read_data( 2 );
	new dmgtype = read_data( 3 );
	new Float:multiplier = get_pcvar_float(CVAR_DAMAGE);
	new Float:damage = dmg_take * multiplier;
	new health = get_user_health( victim_id );
	new iWeapID, attacker_id = get_user_attacker( victim_id, iWeapID );
	if( !is_user_connected( attacker_id ) || !is_user_alive( victim_id ) ) {
		return PLUGIN_HANDLED
	}

	if( iWeapID == CSW_KNIFE && (knife_model[attacker_id] == 4||knife_model[attacker_id] == 5) ) {
		if( floatround(damage) >= health ) {
			if( victim_id == attacker_id ) {
				return PLUGIN_CONTINUE
				}else{
				log_kill( attacker_id, victim_id, "knife", 0 );
			}
			return PLUGIN_CONTINUE
			}else {
			if( victim_id == attacker_id ) return PLUGIN_CONTINUE
			fakedamage( victim_id, "weapon_knife", damage, dmgtype );
		}
	}
	return PLUGIN_CONTINUE
}

public CurWeapon(id)
	{
	new Weapon = read_data(2)

	// Set Knife Model
	SetKnife(id, knife_model[id])

	// Task Options
	if((knife_model[id] == 0||knife_model[id] ==5) && !task_exists(id) && Weapon == CSW_KNIFE)
		set_task(TASK_INTERVAL , "task_healing",id,_,_,"b")
	else if(task_exists(id))
		remove_task(id)

	// Abilities
	set_user_footsteps(id , ( ((knife_model[id] == 2||knife_model[id] ==5) && Weapon == CSW_KNIFE) ? 1 : 0) )

	new Float:Gravity = (((knife_model[id] == 1||knife_model[id] ==5) && Weapon == CSW_KNIFE)? get_pcvar_float(CVAR_LOWGRAV) : get_pcvar_float(CVAR_NORMGRAV)) / 800.0
	set_user_gravity(id , Gravity)

	// Speed
	new Float:Speed
	if(Weapon != CSW_KNIFE || knife_model[id] < 3)
		return PLUGIN_CONTINUE
	else if(knife_model[id] == 3||knife_model[id] ==5)
		Speed = get_pcvar_float(CVAR_HIGHSPEED)+30.0
	else if(knife_model[id] == 4)
		Speed = get_pcvar_float(CVAR_LOWSPEED)
	set_user_maxspeed(id, Speed)

	return PLUGIN_HANDLED   
}

stock log_kill(killer, victim, weapon[],headshot) {
	user_silentkill( victim );
	message_begin( MSG_ALL, get_user_msgid( "DeathMsg" ), {0,0,0}, 0 );
	write_byte( killer );
	write_byte( victim );
	write_byte( headshot );
	write_string( weapon );
	message_end();
	new kfrags = get_user_frags( killer );
	set_user_frags( killer, kfrags++ );
	new vfrags = get_user_frags( victim );
	set_user_frags( victim, vfrags++ );
	return  PLUGIN_CONTINUE
}

public task_healing(id) {  
	new addhealth = get_pcvar_num(CVAR_HEALTH_ADD)  
	if (!addhealth)
		return  
	new maxhealth = get_pcvar_num(CVAR_HEALTH_MAX)  
	if (maxhealth > MAX_HEALTH) { 
		set_pcvar_num(CVAR_HEALTH_MAX, MAX_HEALTH)  
		maxhealth = MAX_HEALTH 
	}  
	new health = get_user_health(id)   
	if (is_user_alive(id) && (health < maxhealth)) { 
		set_user_health(id, health + addhealth)
		set_hudmessage(0, 255, 0, -1.0, 0.25, 0, 1.0, 2.0, 0.1, 0.1, 4)
		show_hudmessage(id,"<< !!HEAL IN PROGRESS!! >>")
		message_begin(MSG_ONE, get_user_msgid("ScreenFade"), {0,0,0}, id)
		write_short(1<<10)
		write_short(1<<10)
		write_short(0x0000)
		write_byte(0)
		write_byte(200)
		write_byte(0)
		write_byte(75)
		message_end()
	}
	else {
		if (is_user_alive(id) && (health > maxhealth))
			remove_task(id)
	}
}

public client_disconnect(id) {  
	if(task_exists(id)) remove_task(id)  
}

public client_authorized(id)
	{
	LoadData(id)
}

SaveData(id)
{ 
	new authid[32]
	get_user_authid(id, authid, 31)
	new vaultkey[64]
	new vaultdata[64]
	format(vaultkey, 63, "KMOD_%s", authid)
	format(vaultdata, 63, "%d", knife_model[id])
	set_vaultdata(vaultkey, vaultdata)
}
LoadData(id) 
{ 
	new authid[32] 
	get_user_authid(id,authid,31)
	new vaultkey[64], vaultdata[64]
	format(vaultkey, 63, "KMOD_%s", authid)
	get_vaultdata(vaultkey, vaultdata, 63)
	knife_model[id] = str_to_num(vaultdata)
} 
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1033\\ f0\\ fs16 \n\\ par }
*/[/code]
Nu îmi mai trimiteți PM pe forum! Nu merge să răspund
Pentru ajutor, faceți cerere bine detaliată, completând și respectând modelul corespunzător.
Nu-mi mai dați cereri doar pentru a mă avea în lista de prieteni.
Dacă te ajut, și mă ignori/etc > te adaug în „foe”.
Aveți grijă la cei ce încearcă să mă copieze sau să dea drept mine..Puteți lua legătura cu mine prin STEAM dacă aveți o problemă/nelămurire în acest caz! Cont de forum am doar aici.
În cazul în care utilizați ceva din ce am postat(ex: aici), e bine să fiți la curent cu modificările aduse și de aici, iar dacă sunt ceva probleme nu ezitați să luați legătura cu mine. Actualizarea unor coduri nu se vor afișa public, doar dacă se găsește ceva critic/urgent de remediat, unele fiind coduri vechi iar unele refăcute chiar recent dar private.
* Nume pe cs1.6: eVoLuTiOn \ Nume vechi: eVo
* Atelierul meu - post2819572.html#p2819572 (închis, click link ca să vedeți de ce)
Puyol
Membru, skill 0
Membru, skill 0
Posts: 76
Joined: 08 May 2018, 14:46
Detinator Steam: Nu
CS Status: Citesc forumul eXtreamCS.com...!
Fond eXtream: 0
Contact:

18 Jan 2019, 22:15

Adryyy wrote:
| Afiseaza codul
[code]
#include <amxmodx>
#include <amxmisc>
#include <engine> 
#include <vault>
#include <fun>

#pragma tabsize 0

#define PLUGIN "Knife Mod"
#define VERSION "1.0"
#define AUTHOR "spunko"

#define TASK_INTERVAL 4.0

#define MAX_HEALTH 255

#define SPECIAL_FLAG	ADMIN_LEVEL_H	//flag T
#define is_special(%0)	(get_user_flags(%0)&SPECIAL_FLAG)

new knife_model[33] 
new g_Menu
new CVAR_HIGHSPEED
new CVAR_LOWSPEED
new CVAR_LOWGRAV
new CVAR_NORMGRAV
new CVAR_HEALTH_ADD
new CVAR_HEALTH_MAX
new CVAR_DAMAGE

public plugin_init() { 
	register_plugin(PLUGIN, VERSION, AUTHOR)

	register_event( "Damage", "event_damage", "be" )
	register_event("CurWeapon","CurWeapon","be","1=1")


	g_Menu = register_menuid("Knife Mod")
	register_menucmd(g_Menu, 1023, "knifemenu")

	register_clcmd("say /cutit", "display_knife")
	register_clcmd("say /knife", "display_knife")

	CVAR_HIGHSPEED = register_cvar("km_highspeed","340")
	CVAR_LOWSPEED = register_cvar("km_lowspeed","170")

	CVAR_HEALTH_ADD = register_cvar("km_addhealth", "3")
	CVAR_HEALTH_MAX = register_cvar("km_maxhealth", "75")

	CVAR_DAMAGE = register_cvar("km_damage", "2")

	CVAR_LOWGRAV = register_cvar("km_lowgravity" , "400")

	CVAR_NORMGRAV = get_cvar_pointer("sv_gravity")
}
public plugin_precache() { 
	precache_model("models/knife-mod/v_knife_new.mdl")
	precache_model("models/knife-mod/p_knife_new.mdl")

	precache_model("models/knife-mod/v_machete.mdl")
	precache_model("models/knife-mod/p_machete.mdl")

	precache_model("models/knife-mod/v_bak.mdl")
	precache_model("models/knife-mod/p_bak.mdl")

	precache_model("models/knife-mod/v_pocket.mdl")
	precache_model("models/knife-mod/p_pocket.mdl")

	precache_model("models/knife-mod/v_knife_2016.mdl")
	precache_model("models/knife-mod/p_knife_2016.mdl")


	precache_model("models/knife-mod/v_knife_vip.mdl") 
	precache_model("models/knife-mod/p_knife_vip.mdl")
}

public display_knife(id) {
	new menuBody[512]
	add(menuBody, 511, "\rKnife Mod \yDr.Freakz.Ro\w^n^n")

	add(menuBody, 511, "\w[Dr] \yMachete \r(Damage mare)\w^n")
	add(menuBody, 511, "\w[Dr] \yBak Knife \r(Nu se aud pasii)\w^n")
	add(menuBody, 511, "\w[Dr] \yPocket Knife \r(Viteza mare)\w^n")
	add(menuBody, 511, "\w[Dr] \yButcher Knife \r(Low Gravity)\w^n")
	add(menuBody, 511, "\w[Dr] \yDefaut Knife \r(Regenerare HP)\w^n^n")

	if(is_special(id))		add(menuBody, 511, "\w[Dr] \yKarambit \r[Only VIP]\w^n^n")

	add(menuBody, 511, "\w0. \rIesire")

	new keys = ( 1<<0 | 1<<1 | 1<<2 | 1<<3 | 1<<4 | 1<<5 | 1<<9 )
	show_menu(id, keys, menuBody, -1, "Knife Mod")
}
public knifemenu(id, key) {
	switch(key) 
	{
		case 0: SetKnife(id , 4)
		case 1: SetKnife(id , 2)
		case 2: SetKnife(id , 3)
		case 3: SetKnife(id , 1)
		case 4: SetKnife(id , 0)

		case 5: SetKnife(id , 5)

		default: return PLUGIN_HANDLED
	}
	SaveData(id)
	return PLUGIN_HANDLED
}
public SetKnife(id , Knife) {
	knife_model[id] = Knife
	new Clip, Ammo, Weapon = get_user_weapon(id, Clip, Ammo) 
	if ( Weapon != CSW_KNIFE )
		return PLUGIN_HANDLED

	new vModel[56],pModel[56]
	switch(Knife)
	{
		case 0: {
			format(vModel,55,"models/knife-mod/v_knife_2016.mdl")
			format(pModel,55,"models/knife-mod/p_knife_2016.mdl")
		}
		case 1: {
			format(vModel,55,"models/knife-mod/v_knife_new.mdl")
			format(pModel,55,"models/knife-mod/p_knife_new.mdl")
		}
		case 2: {
			format(vModel,55,"models/knife-mod/v_bak.mdl")
			format(pModel,55,"models/knife-mod/p_bak.mdl")
		}
		case 3: {
			format(vModel,55,"models/knife-mod/v_pocket.mdl")
			format(pModel,55,"models/knife-mod/p_pocket.mdl")
		}
		case 4: {
			format(vModel,55,"models/knife-mod/v_machete.mdl")
			format(pModel,55,"models/knife-mod/p_machete.mdl")
		}

		case 5: {
			format(vModel,55,"models/knife-mod/v_knife_vip.mdl")
			format(pModel,55,"models/knife-mod/p_knife_vip.mdl")
		}

	} 
	entity_set_string(id, EV_SZ_viewmodel, vModel)
	entity_set_string(id, EV_SZ_weaponmodel, pModel)

	return PLUGIN_HANDLED;  
}

public event_damage( id ) {
	new victim_id = id;
	if( !is_user_connected( victim_id ) ) return PLUGIN_CONTINUE

	new dmg_take = read_data( 2 );
	new dmgtype = read_data( 3 );
	new Float:multiplier = get_pcvar_float(CVAR_DAMAGE);
	new Float:damage = dmg_take * multiplier;
	new health = get_user_health( victim_id );
	new iWeapID, attacker_id = get_user_attacker( victim_id, iWeapID );
	if( !is_user_connected( attacker_id ) || !is_user_alive( victim_id ) ) {
		return PLUGIN_HANDLED
	}

	if( iWeapID == CSW_KNIFE && (knife_model[attacker_id] == 4||knife_model[attacker_id] == 5) ) {
		if( floatround(damage) >= health ) {
			if( victim_id == attacker_id ) {
				return PLUGIN_CONTINUE
				}else{
				log_kill( attacker_id, victim_id, "knife", 0 );
			}
			return PLUGIN_CONTINUE
			}else {
			if( victim_id == attacker_id ) return PLUGIN_CONTINUE
			fakedamage( victim_id, "weapon_knife", damage, dmgtype );
		}
	}
	return PLUGIN_CONTINUE
}

public CurWeapon(id)
	{
	new Weapon = read_data(2)

	// Set Knife Model
	SetKnife(id, knife_model[id])

	// Task Options
	if((knife_model[id] == 0||knife_model[id] ==5) && !task_exists(id) && Weapon == CSW_KNIFE)
		set_task(TASK_INTERVAL , "task_healing",id,_,_,"b")
	else if(task_exists(id))
		remove_task(id)

	// Abilities
	set_user_footsteps(id , ( ((knife_model[id] == 2||knife_model[id] ==5) && Weapon == CSW_KNIFE) ? 1 : 0) )

	new Float:Gravity = (((knife_model[id] == 1||knife_model[id] ==5) && Weapon == CSW_KNIFE)? get_pcvar_float(CVAR_LOWGRAV) : get_pcvar_float(CVAR_NORMGRAV)) / 800.0
	set_user_gravity(id , Gravity)

	// Speed
	new Float:Speed
	if(Weapon != CSW_KNIFE || knife_model[id] < 3)
		return PLUGIN_CONTINUE
	else if(knife_model[id] == 3||knife_model[id] ==5)
		Speed = get_pcvar_float(CVAR_HIGHSPEED)+30.0
	else if(knife_model[id] == 4)
		Speed = get_pcvar_float(CVAR_LOWSPEED)
	set_user_maxspeed(id, Speed)

	return PLUGIN_HANDLED   
}

stock log_kill(killer, victim, weapon[],headshot) {
	user_silentkill( victim );
	message_begin( MSG_ALL, get_user_msgid( "DeathMsg" ), {0,0,0}, 0 );
	write_byte( killer );
	write_byte( victim );
	write_byte( headshot );
	write_string( weapon );
	message_end();
	new kfrags = get_user_frags( killer );
	set_user_frags( killer, kfrags++ );
	new vfrags = get_user_frags( victim );
	set_user_frags( victim, vfrags++ );
	return  PLUGIN_CONTINUE
}

public task_healing(id) {  
	new addhealth = get_pcvar_num(CVAR_HEALTH_ADD)  
	if (!addhealth)
		return  
	new maxhealth = get_pcvar_num(CVAR_HEALTH_MAX)  
	if (maxhealth > MAX_HEALTH) { 
		set_pcvar_num(CVAR_HEALTH_MAX, MAX_HEALTH)  
		maxhealth = MAX_HEALTH 
	}  
	new health = get_user_health(id)   
	if (is_user_alive(id) && (health < maxhealth)) { 
		set_user_health(id, health + addhealth)
		set_hudmessage(0, 255, 0, -1.0, 0.25, 0, 1.0, 2.0, 0.1, 0.1, 4)
		show_hudmessage(id,"<< !!HEAL IN PROGRESS!! >>")
		message_begin(MSG_ONE, get_user_msgid("ScreenFade"), {0,0,0}, id)
		write_short(1<<10)
		write_short(1<<10)
		write_short(0x0000)
		write_byte(0)
		write_byte(200)
		write_byte(0)
		write_byte(75)
		message_end()
	}
	else {
		if (is_user_alive(id) && (health > maxhealth))
			remove_task(id)
	}
}

public client_disconnect(id) {  
	if(task_exists(id)) remove_task(id)  
}

public client_authorized(id)
	{
	LoadData(id)
}

SaveData(id)
{ 
	new authid[32]
	get_user_authid(id, authid, 31)
	new vaultkey[64]
	new vaultdata[64]
	format(vaultkey, 63, "KMOD_%s", authid)
	format(vaultdata, 63, "%d", knife_model[id])
	set_vaultdata(vaultkey, vaultdata)
}
LoadData(id) 
{ 
	new authid[32] 
	get_user_authid(id,authid,31)
	new vaultkey[64], vaultdata[64]
	format(vaultkey, 63, "KMOD_%s", authid)
	get_vaultdata(vaultkey, vaultdata, 63)
	knife_model[id] = str_to_num(vaultdata)
} 
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1033\\ f0\\ fs16 \n\\ par }
*/[/code]
Se poate reduce putin viteza? E putin cam mare. Multumesc.
In rest e perfect.
User avatar
WHOAMI?
eXtream Mod
eXtream Mod
Posts: 999
Joined: 17 Dec 2013, 19:51
Detinator Steam: Da
Reputatie: eXtream Mod
Fost Membru Club eXtreamCS (o luna)
Location: US
Has thanked: 30 times
Been thanked: 20 times

18 Jan 2019, 22:19

Code: Select all

CVAR_HIGHSPEED = register_cvar("km_highspeed","340")
   CVAR_LOWSPEED = register_cvar("km_lowspeed","170")
Din cvar modifici.
User avatar
levin
Scripter eXtreamCS
Scripter eXtreamCS
Posts: 3850
Joined: 24 Aug 2011, 12:24
Detinator Steam: Da
CS Status:
Detinator server CS: ☯∴
SteamID: 76561198063679589
Reputatie: Scripter eXtreamCS
Nume anterior: Adryyy
Location: ҳ̸Ҳ̸ҳ
Discord: devilclass
Has thanked: 36 times
Been thanked: 595 times
Contact:

18 Jan 2019, 23:51

Code: Select all

   else if(knife_model[id] == 3||knife_model[id] ==5)
      Speed = get_pcvar_float(CVAR_HIGHSPEED)+30.0
-->

Code: Select all

   else if(knife_model[id] == 3||knife_model[id] ==5)
      Speed = get_pcvar_float(CVAR_HIGHSPEED)
dacă vrei doar ca knife special să aibă ceva viteză mai mare(cvar+)
>

Code: Select all

   else if(knife_model[id] == 3)
      Speed = get_pcvar_float(CVAR_HIGHSPEED)
   else if(knife_model[id] ==5)
      Speed = get_pcvar_float(CVAR_HIGHSPEED)+10.0
->unde +10.0 este valoarea adăugată în plus
Nu îmi mai trimiteți PM pe forum! Nu merge să răspund
Pentru ajutor, faceți cerere bine detaliată, completând și respectând modelul corespunzător.
Nu-mi mai dați cereri doar pentru a mă avea în lista de prieteni.
Dacă te ajut, și mă ignori/etc > te adaug în „foe”.
Aveți grijă la cei ce încearcă să mă copieze sau să dea drept mine..Puteți lua legătura cu mine prin STEAM dacă aveți o problemă/nelămurire în acest caz! Cont de forum am doar aici.
În cazul în care utilizați ceva din ce am postat(ex: aici), e bine să fiți la curent cu modificările aduse și de aici, iar dacă sunt ceva probleme nu ezitați să luați legătura cu mine. Actualizarea unor coduri nu se vor afișa public, doar dacă se găsește ceva critic/urgent de remediat, unele fiind coduri vechi iar unele refăcute chiar recent dar private.
* Nume pe cs1.6: eVoLuTiOn \ Nume vechi: eVo
* Atelierul meu - post2819572.html#p2819572 (închis, click link ca să vedeți de ce)
Puyol
Membru, skill 0
Membru, skill 0
Posts: 76
Joined: 08 May 2018, 14:46
Detinator Steam: Nu
CS Status: Citesc forumul eXtreamCS.com...!
Fond eXtream: 0
Contact:

19 Jan 2019, 09:25

Multumesc.
Rezolvat.
Se poate rezolva si asta? cereri-pluginuri/plugin-deathrun-t361254.html
Post Reply

Return to “Modificari pluginuri”

  • Information
  • Who is online

    Users browsing this forum: No registered users and 10 guests