View Single Post
Author Message
Franso
New Member
Join Date: Apr 2022
Old 04-22-2022 , 12:37   speed = super jump?
Reply With Quote #1

Hi, I got a problem with 2 plugins.

First one:
Code:
#include amxmodx
#include cstrike
#include fun
#include hamsandwich
#include fakemeta_util

#define p. "VIP Deathrun"
#define v. "1.0"
#define a. "Jică Măcelaru'"

new g_Cvar[5],
	bool:Speed[33],
	bool:Speedx[33],
	bool:Gravity[33];

enum
{
	Primary = 1,
	Secondary,
	Knife,
	Grenades,
	C4
};

public plugin_init() 
{
	register_plugin p., v., a.;

	register_clcmd "say /vmenu", "vipMenu";
	
	register_event "CurWeapon", "CurrWeapon", "be", "1=1";
	register_event "DeathMsg", "Death", "a";
	
	g_Cvar[0] = register_cvar("vip_hp", "800");
	g_Cvar[1] = register_cvar("vip_speed", "1200.0");
	g_Cvar[2] = register_cvar("vip_gravity", "0.3125");
	g_Cvar[3] = register_cvar("vip_ap", "800");
	g_Cvar[4] = register_cvar("vip_invis", "150");
}

public vipMenu(id)
{
	if(!is_user_alive(id)) return 1;
	if(!(get_user_flags(id) & ADMIN_LEVEL_H))
	{
		client_print_color id, print_team_default, "^3[Hyper.GlobalElite.Ro] ^1Pentru a putea deschide meniul ai nevoie de ^4VIP^1.";
		return 1;
	}
    
	new menu = menu_create("\r[Hyper.GlobalElite.Ro] \dChoose your VIP item:", "menuItem");
    
	menu_additem(menu, "\r[Hyper] \yViață", "1");
	menu_additem(menu, "\r[Hyper] \yViteză", "2");
	menu_additem(menu, "\r[Hyper] \yGravitație", "3");
	menu_additem(menu, "\r[Hyper] \yAk47 \d+ \yM4a1 \d+ \yDeagle", "4");
	menu_additem(menu, "\r[Hyper] \yRifles \r[Strong Weapons]", "5");
	menu_additem(menu, "\r[Hyper] \yShield", "6");
	menu_additem(menu, "\r[Hyper] \yPachet grenade", "7");
	menu_additem(menu, "\r[Hyper] \yMachine Guns \r[5.9]", "8");
	menu_additem(menu, "\r[Hyper] \yViteză normală", "9");
	menu_additem(menu, "\r[Hyper] \yArmură" , "10");
	menu_additem(menu, "\r[Hyper] \yInvizibilitate" , "11");

	menu_display id, menu, 0;   
	return 1;   
}

public menuItem(id, menu, item, player)
{
	if(!is_user_alive(id)) return 1;
	if(item == MENU_EXIT) return 1;

	new data[6], iName[64], access, callback;
	menu_item_getinfo(menu, item, access, data, 5, iName, 63, callback);

	new key = str_to_num(data)

	switch(key)
	{
        case 1: set_user_health id, get_pcvar_num(g_Cvar[0]);

        case 2: 
		{
			Speed[id] = true;
			CurrWeapon(id);
		}

        case 3:
		{
			Gravity[id] = true;
			CurrWeapon(id);
		}

        case 4:
        {
			give_item id, "weapon_ak47";
			give_item id, "weapon_m4a1";
			give_item id, "weapon_deagle";
			cs_set_user_bpammo id, CSW_AK47, 250;
			cs_set_user_bpammo id, CSW_M4A1, 250;
			cs_set_user_bpammo id, CSW_DEAGLE, 250;
        }

        case 5:
        {
			give_item id, "weapon_ak47";
			give_item id, "weapon_m4a1";
			give_item id, "weapon_deagle";
			give_item id, "weapon_famas";
			give_item id, "weapon_awp";
			give_item id, "weapon_mp5navy";
			give_item id, "weapon_ump45";
			give_item id, "weapon_galil";
			give_item id, "weapon_scout";
			give_item id, "weapon_aug";
			give_item id, "weapon_sg550";
			give_item id, "weapon_m3";
			give_item id, "weapon_xm1014";
			give_item id, "weapon_g3sg1";
			
			cs_set_user_bpammo id, CSW_AK47, 250;
			cs_set_user_bpammo id, CSW_M4A1, 250; 
			cs_set_user_bpammo id, CSW_DEAGLE, 250;
			cs_set_user_bpammo id, CSW_FAMAS, 250;
			cs_set_user_bpammo id, CSW_AWP, 250;
			cs_set_user_bpammo id, CSW_MP5NAVY, 250;
			cs_set_user_bpammo id, CSW_UMP45, 250;
			cs_set_user_bpammo id, CSW_GALIL, 250;
			cs_set_user_bpammo id, CSW_SCOUT, 250;
			cs_set_user_bpammo id, CSW_AUG, 250;
			cs_set_user_bpammo id, CSW_SG550, 250;
			cs_set_user_bpammo id, CSW_M3, 250;
			cs_set_user_bpammo id, CSW_XM1014, 250;
			cs_set_user_bpammo id, CSW_G3SG1, 250;
        }

        case 6:
        {
			StripWeapons id, Primary;
			give_item id, "weapon_shield";
        }

        case 7:
        {
			give_item id, "weapon_hegrenade";
			cs_set_user_bpammo id, CSW_HEGRENADE, 8;
        }

        case 8:
        {
			give_item id, "weapon_m249";
			cs_set_user_bpammo id, CSW_M249, 300;
        }

        case 9:
        {
			Speedx[id] = true;
			CurrWeapon(id);
        }

        case 10: set_user_armor id, set_user_armor id, get_pcvar_num(g_Cvar[3]);
		
		case 11: set_user_rendering id, kRenderFxNone, 0, 0, 0, kRenderTransAlpha, get_pcvar_num(g_Cvar[4]);
    }

	return 1;
}

public CurrWeapon(id)
{
	if(Speed[id] == true)
		set_user_maxspeed id, float(get_pcvar_num(g_Cvar[1]));

	if(Speedx[id] == true)
		set_user_maxspeed id, 260.0;
	
	if(Gravity[id] == true)
		set_pev id, pev_gravity, 0.3125;
}

public client_connected(id)
{
	Gravity[id] = false;
	Speed[id] = false;
	Speedx[id] = false; 
}

public Death()
{
	new id = read_data(2);
	
	Gravity[id] = false;
	Speed[id] = false; 

	set_user_rendering id, kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 255;
	
	return 1;
}

stock StripWeapons(id, Type, bool: bSwitchIfActive = true)
{
	new iReturn;
	
	if(is_user_alive(id))
	{
		new iEntity, iWeapon;
		while((iWeapon = GetWeaponFromSlot(id, Type, iEntity)) > 0)
			iReturn = ham_strip_user_weapon(id, iWeapon, Type, bSwitchIfActive);
	}
	
	return iReturn;
}

stock GetWeaponFromSlot( id , iSlot , &iEntity )
{
	if ( !( 1 <= iSlot <= 5 ) )
		return 0;
	
	iEntity = 0;
	const m_rgpPlayerItems_Slot0 = 367;
	const m_iId = 43;
	const XO_WEAPONS = 4;
	const XO_PLAYER = 5;
		
	iEntity = get_pdata_cbase( id , m_rgpPlayerItems_Slot0 + iSlot , XO_PLAYER );
	
	return ( iEntity > 0 ) ? get_pdata_int( iEntity , m_iId , XO_WEAPONS ) : 0;
}  

stock ham_strip_user_weapon(id, iCswId, iSlot = 0, bool:bSwitchIfActive = true)
{
	new iWeapon
	if( !iSlot )
	{
		static const iWeaponsSlots[] = {
			-1,
			2, //CSW_P228
			-1,
			1, //CSW_SCOUT
			4, //CSW_HEGRENADE
			1, //CSW_XM1014
			5, //CSW_C4
			1, //CSW_MAC10
			1, //CSW_AUG
			2, //CSW_ELITE
			2, //CSW_FIVESEVEN
			1, //CSW_UMP45
			1, //CSW_SG550
			1, //CSW_GALIL
			1, //CSW_FAMAS
			2, //CSW_USP
			2, //CSW_GLOCK18
			1, //CSW_AWP
			1, //CSW_MP5NAVY
			1, //CSW_M249
			1, //CSW_M3
			1, //CSW_M4A1
			1, //CSW_TMP
			1, //CSW_G3SG1
			2, //CSW_DEAGLE
			1, //CSW_SG552
			1, //CSW_AK47
			3, //CSW_KNIFE
			1, //CSW_P90
                        1  //CSW_SHIELD
		}
		iSlot = iWeaponsSlots[iCswId]
	}

	const XTRA_OFS_PLAYER = 5
	const m_rgpPlayerItems_Slot0 = 367

	iWeapon = get_pdata_cbase(id, m_rgpPlayerItems_Slot0 + iSlot, XTRA_OFS_PLAYER)

	const XTRA_OFS_WEAPON = 4
	const m_pNext = 42
	const m_iId = 43

	while( iWeapon > 0 )
	{
		if( get_pdata_int(iWeapon, m_iId, XTRA_OFS_WEAPON) == iCswId )
		{
			break
		}
		iWeapon = get_pdata_cbase(iWeapon, m_pNext, XTRA_OFS_WEAPON)
	}

	if( iWeapon > 0 )
	{
		const m_pActiveItem = 373
		if( bSwitchIfActive && get_pdata_cbase(id, m_pActiveItem, XTRA_OFS_PLAYER) == iWeapon )
		{
			ExecuteHamB(Ham_Weapon_RetireWeapon, iWeapon)
		}

		if( ExecuteHamB(Ham_RemovePlayerItem, id, iWeapon) )
		{
			user_has_weapon(id, iCswId, 0)
			ExecuteHamB(Ham_Item_Kill, iWeapon)
			return 1
		}
	}

	return 0
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1033\\ f0\\ fs16 \n\\ par }
*/
and the second one:
Code:
#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 /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/ac/kein1.mdl") 

	precache_model("models/ac/p_butcher.mdl") 

	precache_model("models/ac/v_ruyi-stick.mdl")

	precache_model("models/ac/p_ruyi-stick.mdl")

	precache_model("models/ac/hie.mdl")

	precache_model("models/ac/p_bak.mdl")

	precache_model("models/ac/drag.mdl")

	precache_model("models/ac/p_pocket.mdl")

	precache_model("models/v_knife.mdl") 

	precache_model("models/p_knife.mdl")

} 



public display_knife(id) {

	new menuBody[512]

	add(menuBody, 511, "\r[Hyper.GlobalElite.Ro] \ySelect Knife Mod^n^n")

	add(menuBody, 511, "\d[1] \yDamage mare^n")

	add(menuBody, 511, "\d[2] \yNu se aud pasii^n")

	add(menuBody, 511, "\d[3] \yViteza mare^n")

	add(menuBody, 511, "\d[4] \yGravitatie mica^n")

	add(menuBody, 511, "\d[5] \yRegenerare HP")

	

	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/v_knife.mdl")

			format(pModel,55,"models/p_knife.mdl")

		}

		case 1: {

			format(vModel,55,"models/ac/kein1.mdl")

			format(pModel,55,"models/ac/p_butcher.mdl")

		}

		case 2: {

			format(vModel,55,"models/ac/hie.mdl")

			format(pModel,55,"models/ac/p_bak.mdl")

		}

		case 3: {

			format(vModel,55,"models/ac/drag.mdl")

			format(pModel,55,"models/ac/p_pocket.mdl")

		}

		case 4: {

			format(vModel,55,"models/ac/v_ruyi-stick.mdl")

			format(pModel,55,"models/ac/p_ruyi-stick.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,"[AMXX] Type /knife to change your knife skins")

}*/ 



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 }

*/
the problem is whenever I select Viteza (speed) from the vip menu or the speed knife from /knife it gives me super jump and I don't know how to solve it.
Franso is offline