Member
|
11-28-2020
, 10:46
Re: how to change this (add item into a menu)
|
#10
|
Code:
#include <amxmodx>
#include <amxmisc>
#include <fakemeta>
#include <cstrike>
#include <engine>
new JETPACK_PMODEL_VIP[] = "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_HasJetpack2[33]
new g_JetpackEnt[33]
static const PLUGIN_NAME[] = "SyN Vip Jetpack"
static const PLUGIN_AUTHOR[] = "Cheap_Suit"
static const PLUGIN_VERSION[] = "1.5"
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_VIP)
}
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)
{
new iMoney = cs_get_user_money(id)
new iCost = get_pcvar_num( g_HasJetpack[id] == 2 ? cvar_cost_vip : 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] = 2
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], g_HasJetpack[id] == 2 ? JETPACK_PMODEL_VIP : 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( g_HasJetpack[id] == 2 ? cvar_minspeed_vip : 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( g_HasJetpack[id] == 2 ? cvar_thrust_vip :cvar_thrust )
fVelocity[1] += fForward[1] * get_pcvar_num( g_HasJetpack[id] == 2 ? cvar_thrust_vip :cvar_thrust )
if(get_user_speed(id) < get_pcvar_num( g_HasJetpack[id] == 2 ? cvar_maxspeed_vip : 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)
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1033\\ f0\\ fs16 \n\\ par }
*/
i edited it like this (i dont know if i thats what u meant by setting g_HasJetpack to 2)
it gives me error on line 64
this one :
Code:
g_HasJetpack[id] = 0
i edited pretty much all the things u told me to,i prechached the model too,can u tell me what's wrong here?
|
|