Modificare jetpack

Categoria cu cereri de pluginuri si nu numai.

Moderators: Moderatori ajutatori, Moderatori, Echipa eXtreamCS.com

Forum rules
Accesează link-ul pentru a putea vedea regulile forumului

Daca doriti sa vi se modifice un plugin, va rugam postati aici .
Post Reply
User avatar
Gabriel963
Fost moderator
Fost moderator
Posts: 1658
Joined: 03 Feb 2013, 13:03
Detinator Steam: Da
CS Status: Retried
Reputatie: Membru Club eXtreamCS (1 luna)
Fost Moderator
Location: Bucharest, Romania.
Has thanked: 20 times
Been thanked: 85 times
Contact:

23 Dec 2013, 18:56

Salut, am si eu plugin-ul asta de surf, si e pe bani, il vreau pe credite, nativele lui askhanar + o optimizare mica daca se poate :).
Multumesc.
| Afiseaza codul
#include <amxmodx>
#include <amxmisc>
#include <fakemeta>
#include <cstrike>
#include <engine>

new JETPACK_PMODEL[] 	= "models/p_longjump.mdl"
new JETPACK_GOTSOUND[] 	= "items/ammopickup2.wav"

new cvar_cost
new cvar_thrust
new cvar_min_speed
new cvar_max_speed

new g_HasJetpack[33]
new g_JetpackEnt[33]

static const PLUGIN_NAME[] 	= "SyN Surf Jetpack"
static const PLUGIN_AUTHOR[] 	= "Cheap_Suit"
static const PLUGIN_VERSION[]	= "1.4"

public plugin_init()
{
	new mapName[33]
	get_mapname(mapName, 32)
	
	if(!equali(mapName, "surf_", 5))
	{
		new pluginName[33]
		format(pluginName, 32, "[Disabled] %s", PLUGIN_NAME)
		register_plugin(pluginName, PLUGIN_VERSION, PLUGIN_AUTHOR)
		pause("ade")
	}
	else
	{
		register_plugin(PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR)
		register_cvar(PLUGIN_NAME, PLUGIN_VERSION, FCVAR_SPONLY|FCVAR_SERVER)
		
		register_clcmd("sjp_givesj" , 		"cmd_GiveSJ", 		ADMIN_IMMUNITY, "<userid> - Gives free surf jetpack")
		register_clcmd("sjp_stripsj" , 		"cmd_StripSJ", 		ADMIN_IMMUNITY, "<userid> - Strips users surf jetpack")
		
		register_clcmd("say /buyjetpack", 	"cmd_BuySurfJetpack", 0, "Buys surf jetpack")
		register_clcmd("say buy_jetpack", 	"cmd_BuySurfJetpack", 0, "Buys surf jetpack")
		register_concmd("buy_jetpack", 		"cmd_BuySurfJetpack", 0, "Buys surf jetpack")
		register_concmd("buyjetpack", 		"cmd_BuySurfJetpack", 0, "Buys surf jetpack")
		
		cvar_cost	= register_cvar("sjp_cost", "5000")
		cvar_thrust 	= register_cvar("sjp_thrust", "10")
		cvar_min_speed 	= register_cvar("sjp_min_speed", "400")
		cvar_max_speed 	= register_cvar("sjp_max_speed", "1200")
		
		register_event("DeathMsg", 		"Event_DeathMsg", "a")
	}
}

public plugin_precache()
{
	precache_sound(JETPACK_GOTSOUND)
	precache_model(JETPACK_PMODEL)
}

public client_connect(id)
{
	g_HasJetpack[id] = 0
	_removeJetpackEnt(id)
}
	
public client_disconnect(id)
{
	g_HasJetpack[id] = 0
	_removeJetpackEnt(id)
}

public Event_DeathMsg()
{
	new id = read_data(2)

	g_HasJetpack[id] = 0
	_removeJetpackEnt(id)

	return PLUGIN_CONTINUE
}

public cmd_BuySurfJetpack(id)
{
	if( !is_user_connected( id ) || id == 0 )
		return PLUGIN_HANDLED;
		
	new iMoney = cs_get_user_money(id)
	new iCost = get_pcvar_num(cvar_cost)
	
	if(!is_user_alive(id)) 
		client_print(id, print_center, "You cant buy when your dead!")
	else if(g_HasJetpack[id])
		client_print(id, print_center, "You already own a surf jetpack.")
	else if(iMoney < iCost)
		client_print(id, print_center, "Insufficient funds! ($%d)", iCost)
	else
	{
		_give_Jetpack(id)
		cs_set_user_money(id, iMoney - iCost, 1)
  	}
	return PLUGIN_HANDLED
}

public cmd_GiveSJ(id , level , cid) 
{
	if(!cmd_access(id , level , cid , 2))
		return PLUGIN_HANDLED
		
	new arg1[33]
	read_argv(1 , arg1 , 32)

	new target = cmd_target(id , arg1 , 0)
	if(!is_user_connected(target))
	{
		console_print(id, "Player does not exist")
		return PLUGIN_HANDLED
	}

	if(g_HasJetpack[target])
	{
		console_print(id, "Player already has a surf jetpack")
		return PLUGIN_HANDLED
	}
	
	_give_Jetpack(target)

	new Name[33], Name2[33]
	get_user_name(id, Name, 32)
	get_user_name(target, Name2, 32)
	
	console_print(id, "You gave %s a surf jetpack", Name2)
	client_print(target, print_chat, "ADMIN: %s gave you a surf jetpack", Name)
	
	return PLUGIN_HANDLED
}

public cmd_StripSJ(id , level , cid) 
{
	if(!cmd_access(id , level , cid , 2))
		return PLUGIN_HANDLED
		
	new arg1[33]
	read_argv(1 , arg1 , 32)

	new target = cmd_target(id , arg1 , 0)
	if(!is_user_connected(target))
	{
		console_print(id, "Player does not exist")
		return PLUGIN_HANDLED
	}

	if(!g_HasJetpack[target])
	{
		console_print(id, "Player does not have a surf jetpack")
		return PLUGIN_HANDLED
	}
	
	g_HasJetpack[id] = 0
	_removeJetpackEnt(id)

	new Name[33], Name2[33]
	get_user_name(id, Name, 32)
	get_user_name(target, Name2, 32)
	
	console_print(id, "You stripped %s a surf jetpack", Name2)
	client_print(target, print_chat, "ADMIN: %s stripped your surf jetpack", Name)
	
	return PLUGIN_HANDLED
}

public _give_Jetpack(id)
{
	g_HasJetpack[id] = 1
	client_cmd(id, "spk %s", JETPACK_GOTSOUND)
	client_print(id, print_chat, "You've got a surf jetpack! :: HOW TO USE :: ~ Just Surf ~ ")
	
	if(g_JetpackEnt[id] < 1)
	{
		g_JetpackEnt[id] = create_entity("info_target")
		if(is_valid_ent(g_JetpackEnt[id]))
		{
			entity_set_model(g_JetpackEnt[id], JETPACK_PMODEL)
			entity_set_int(g_JetpackEnt[id], EV_INT_movetype, MOVETYPE_FOLLOW)
			entity_set_edict(g_JetpackEnt[id], EV_ENT_aiment, id)
		}
	}
}

public _removeJetpackEnt(id)
{
	if(g_JetpackEnt[id] > 0)
		remove_entity(g_JetpackEnt[id])
	g_JetpackEnt[id] = 0
}

public client_PreThink(id)
{
	if(!is_user_alive(id) || !g_HasJetpack[id])
		return PLUGIN_CONTINUE
		
	if(get_user_speed(id) < get_pcvar_num(cvar_min_speed))
		return PLUGIN_CONTINUE	
		
	new Button = get_user_button(id)
	if(Button & IN_MOVELEFT || Button & IN_MOVERIGHT)
	{		
		_jetThrust(id)
	}
	return PLUGIN_CONTINUE
}

public _jetThrust(id)
{	
	new Float:fVelocity[3]
	entity_get_vector(id, EV_VEC_velocity, fVelocity)

	new Float:fAngle[3]
	entity_get_vector(id, EV_VEC_angles, fAngle)
	engfunc(EngFunc_MakeVectors, fAngle)
				
	new Float:fForward[3]
	get_global_vector(GL_v_forward, fForward)
				
	fVelocity[0] += fForward[0] * get_pcvar_num(cvar_thrust)
	fVelocity[1] += fForward[1] * get_pcvar_num(cvar_thrust)
			
	if(get_user_speed(id) < get_pcvar_num(cvar_max_speed))
		entity_set_vector(id, EV_VEC_velocity, fVelocity)
		
	return PLUGIN_CONTINUE
}

stock get_user_speed(id)
{
	new Float:fVelocity[3]
	entity_get_vector(id, EV_VEC_velocity, fVelocity)
	
	new iVelocity[3]
	FVecIVec(fVelocity, iVelocity)
	
	new iVelocity0 = iVelocity[0] * iVelocity[0]
	new iVelocity1 = iVelocity[1] * iVelocity[1]
	
	return sqroot(iVelocity0 + iVelocity1)
}
Image
Rapidserver
User avatar
GhosT ***
Membru, skill +2
Membru, skill +2
Posts: 604
Joined: 04 Dec 2013, 21:52
Detinator Steam: Da
CS Status: Morphin . [ Retras ]
SteamID: Mutulica1428
Reputatie: Fost Moderator ajutator
Location: Dumesti.
Has thanked: 40 times
Been thanked: 99 times
Contact:

23 Dec 2013, 19:13

| Afiseaza codul
#include <amxmodx>
#include <amxmisc>
#include <fakemeta>
#include <cstrike>
#include <engine>

new JETPACK_PMODEL[] 	= "models/p_longjump.mdl"
new JETPACK_GOTSOUND[] 	= "items/ammopickup2.wav"

new cvar_cost
new cvar_thrust
new cvar_min_speed
new cvar_max_speed

new g_HasJetpack[33]
new g_JetpackEnt[33]

static const PLUGIN_NAME[] 	= "SyN Surf Jetpack"
static const PLUGIN_AUTHOR[] 	= "Cheap_Suit"
static const PLUGIN_VERSION[]	= "1.4"

public plugin_init()
{
	new mapName[33]
	get_mapname(mapName, 32)
	
	if(!equali(mapName, "surf_", 5))
	{
		new pluginName[33]
		format(pluginName, 32, "[Disabled] %s", PLUGIN_NAME)
		register_plugin(pluginName, PLUGIN_VERSION, PLUGIN_AUTHOR)
		pause("ade")
	}
	else
	{
		register_plugin(PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR)
		register_cvar(PLUGIN_NAME, PLUGIN_VERSION, FCVAR_SPONLY|FCVAR_SERVER)
		
		register_clcmd("sjp_givesj" , 		"cmd_GiveSJ", 		ADMIN_IMMUNITY, "<userid> - Gives free surf jetpack")
		register_clcmd("sjp_stripsj" , 		"cmd_StripSJ", 		ADMIN_IMMUNITY, "<userid> - Strips users surf jetpack")
		
		register_clcmd("say /buyjetpack", 	"cmd_BuySurfJetpack", 0, "Buys surf jetpack")
		register_clcmd("say buy_jetpack", 	"cmd_BuySurfJetpack", 0, "Buys surf jetpack")
		register_concmd("buy_jetpack", 		"cmd_BuySurfJetpack", 0, "Buys surf jetpack")
		register_concmd("buyjetpack", 		"cmd_BuySurfJetpack", 0, "Buys surf jetpack")
		
		cvar_cost	= register_cvar("sjp_cost", "2")
		cvar_thrust 	= register_cvar("sjp_thrust", "10")
		cvar_min_speed 	= register_cvar("sjp_min_speed", "400")
		cvar_max_speed 	= register_cvar("sjp_max_speed", "1200")
		
		register_event("DeathMsg", 		"Event_DeathMsg", "a")
	}
}

native fcs_set_user_credits(id, cantitate)
native fcs_get_user_credits(id)

public plugin_precache()
{
	precache_sound(JETPACK_GOTSOUND)
	precache_model(JETPACK_PMODEL)
}

public client_connect(id)
{
	g_HasJetpack[id] = 0
	_removeJetpackEnt(id)
}
	
public client_disconnect(id)
{
	g_HasJetpack[id] = 0
	_removeJetpackEnt(id)
}

public Event_DeathMsg()
{
	new id = read_data(2)

	g_HasJetpack[id] = 0
	_removeJetpackEnt(id)

	return PLUGIN_CONTINUE
}

public cmd_BuySurfJetpack(id)
{
	if( !is_user_connected( id ) || id == 0 )
		return PLUGIN_HANDLED;
		
	new iCredits = fcs_get_user_credits(id)
	new iCost = get_pcvar_num(cvar_cost)
	
	if(!is_user_alive(id)) 
		client_print(id, print_center, "You cant buy when your dead!")
	else if(g_HasJetpack[id])
		client_print(id, print_center, "You already own a surf jetpack.")
	else if(iCredits < iCost)
		client_print(id, print_center, "Insufficient funds! ($%d)", iCost)
	else
	{
		_give_Jetpack(id)
		fcs_set_user_credits(id, iCredits - iCost)
  	}
	return PLUGIN_HANDLED
}

public cmd_GiveSJ(id , level , cid) 
{
	if(!cmd_access(id , level , cid , 2))
		return PLUGIN_HANDLED
		
	new arg1[33]
	read_argv(1 , arg1 , 32)

	new target = cmd_target(id , arg1 , 0)
	if(!is_user_connected(target))
	{
		console_print(id, "Player does not exist")
		return PLUGIN_HANDLED
	}

	if(g_HasJetpack[target])
	{
		console_print(id, "Player already has a surf jetpack")
		return PLUGIN_HANDLED
	}
	
	_give_Jetpack(target)

	new Name[33], Name2[33]
	get_user_name(id, Name, 32)
	get_user_name(target, Name2, 32)
	
	console_print(id, "You gave %s a surf jetpack", Name2)
	client_print(target, print_chat, "ADMIN: %s gave you a surf jetpack", Name)
	
	return PLUGIN_HANDLED
}

public cmd_StripSJ(id , level , cid) 
{
	if(!cmd_access(id , level , cid , 2))
		return PLUGIN_HANDLED
		
	new arg1[33]
	read_argv(1 , arg1 , 32)

	new target = cmd_target(id , arg1 , 0)
	if(!is_user_connected(target))
	{
		console_print(id, "Player does not exist")
		return PLUGIN_HANDLED
	}

	if(!g_HasJetpack[target])
	{
		console_print(id, "Player does not have a surf jetpack")
		return PLUGIN_HANDLED
	}
	
	g_HasJetpack[id] = 0
	_removeJetpackEnt(id)

	new Name[33], Name2[33]
	get_user_name(id, Name, 32)
	get_user_name(target, Name2, 32)
	
	console_print(id, "You stripped %s a surf jetpack", Name2)
	client_print(target, print_chat, "ADMIN: %s stripped your surf jetpack", Name)
	
	return PLUGIN_HANDLED
}

public _give_Jetpack(id)
{
	g_HasJetpack[id] = 1
	client_cmd(id, "spk %s", JETPACK_GOTSOUND)
	client_print(id, print_chat, "You've got a surf jetpack! :: HOW TO USE :: ~ Just Surf ~ ")
	
	if(g_JetpackEnt[id] < 1)
	{
		g_JetpackEnt[id] = create_entity("info_target")
		if(is_valid_ent(g_JetpackEnt[id]))
		{
			entity_set_model(g_JetpackEnt[id], JETPACK_PMODEL)
			entity_set_int(g_JetpackEnt[id], EV_INT_movetype, MOVETYPE_FOLLOW)
			entity_set_edict(g_JetpackEnt[id], EV_ENT_aiment, id)
		}
	}
}

public _removeJetpackEnt(id)
{
	if(g_JetpackEnt[id] > 0)
		remove_entity(g_JetpackEnt[id])
	g_JetpackEnt[id] = 0
}

public client_PreThink(id)
{
	if(!is_user_alive(id) || !g_HasJetpack[id])
		return PLUGIN_CONTINUE
		
	if(get_user_speed(id) < get_pcvar_num(cvar_min_speed))
		return PLUGIN_CONTINUE	
		
	new Button = get_user_button(id)
	if(Button & IN_MOVELEFT || Button & IN_MOVERIGHT)
	{		
		_jetThrust(id)
	}
	return PLUGIN_CONTINUE
}

public _jetThrust(id)
{	
	new Float:fVelocity[3]
	entity_get_vector(id, EV_VEC_velocity, fVelocity)

	new Float:fAngle[3]
	entity_get_vector(id, EV_VEC_angles, fAngle)
	engfunc(EngFunc_MakeVectors, fAngle)
				
	new Float:fForward[3]
	get_global_vector(GL_v_forward, fForward)
				
	fVelocity[0] += fForward[0] * get_pcvar_num(cvar_thrust)
	fVelocity[1] += fForward[1] * get_pcvar_num(cvar_thrust)
			
	if(get_user_speed(id) < get_pcvar_num(cvar_max_speed))
		entity_set_vector(id, EV_VEC_velocity, fVelocity)
		
	return PLUGIN_CONTINUE
}

stock get_user_speed(id)
{
	new Float:fVelocity[3]
	entity_get_vector(id, EV_VEC_velocity, fVelocity)
	
	new iVelocity[3]
	FVecIVec(fVelocity, iVelocity)
	
	new iVelocity0 = iVelocity[0] * iVelocity[0]
	new iVelocity1 = iVelocity[1] * iVelocity[1]
	
	return sqroot(iVelocity0 + iVelocity1)
}
Vezi asa
Post Reply

Return to “Cereri”

  • Information