I'm trying to make a flying plugin where everybody in the server can fly, derived from AssKicR's superhero, supergirl. I get like 20 errors when compiling (SEE POST#7) , can somebody please help me? Thanks.
Code:
#include <amxmodx>
#include <engine>
#include <fun>
new bool:gIsFlying[33]
new bool:roundfreeze
new Float:gVelocity[36]
public plugin_init()
{
register_plugin("I Am Flying!!", "1.0", "Velocity36")
register_cvar("flying_flybeforeftime", "0")
register_cvar("flying_flyspeed", "300")
register_srvcmd("flying_init", "flying_init")
register_event("ResetHUD", "newSpawn", "b")
register_logevent("round_start", 2, "1=Round_Start")
register_logevent("round_end", 2, "1=Round_End")
register_logevent("round_end", 2, "1&Restart_Round_")
register_srvcmd("flying_ku", "flying_ku")
register_srvcmd("flying_kd", "flying_kd")
}
public flying_init()
{
new temp[6]
read_argv(1,temp,5)
new id = str_to_num(temp)
if ( !is_user_alive(id) )
{
if ( gIsFlying[id] )
{
stop_fly(id)
}
}
}
public newSpawn(id)
{
if( gIsFlying[id] )
{
stop_fly(id)
}
}
public flying_kd()
{
new temp[6]
read_argv(1, temp, 5)
new id = str_to_num(temp)
if ( !is_user_alive(id) ) return
if ( roundfreeze && get_cvar_num("flying_flybeforeftime") == 0 )
{
client_print(id, print_chat, "[FLYING] You must wait until the round has started to fly")
return
}
make_fly(id)
}
public flying_ku()
{
new temp[6]
read_argv(1,temp,5)
new id = str_to_num(temp)
if ( !gIsFlying[id] ) return
stop_fly(id)
}
public round_end()
{
roundfreeze = true
}
public round_start()
{
roundfreeze = false
}
public make_fly(id)
{
if( !is_user_alive(id) || gIsFlying[id] ) return
client_print(id, print_center, "Up, Up and Away! - Flying Mode ON")
set_user_gravity(id, 0.001)
set_task(0.1, "user_fly", id, "", 0, "b")
gIsFlying[id] = true
}
public stop_fly(id)
{
if ( !gIsFlying[id] ) return
if ( is_user_alive(id) ) client_print(id, print_center, "Flying Mode OFF")
gIsFlying[id] = false
remove_task(id)
}
public user_fly(id)
{
new Float: xAngles[3]
new Float: xOrigin[3]
new xEnt
if ( !is_user_alive(id) ) {
stop_fly(id)
return PLUGIN_HANDLED
}
new butnprs = entity_get_int(id, EV_INT_button)
if(butnprs&IN_FORWARD && butnprs&IN_MOVERIGHT && butnprs&IN_JUMP)
{
entity_get_vector(id, EV_VEC_v_angle, xAngles)
entity_get_vector(id, EV_VEC_origin, xOrigin)
xEnt = create_entity("info_target")
if(xEnt == 0) {
return PLUGIN_HANDLED_MAIN
}
xAngles[0] = -45.0
xAngles[1] -= 45
entity_set_origin(xEnt, xOrigin)
entity_set_vector(xEnt, EV_VEC_v_angle, xAngles)
VelocityByAim(id, get_cvar_num("flying_flyspeed"), gVelocity[id])
remove_entity(xEnt)
}
else if(butnprs&IN_FORWARD && butnprs&IN_MOVERIGHT && butnprs&IN_DUCK)
{
entity_get_vector(id, EV_VEC_v_angle, xAngles)
entity_get_vector(id, EV_VEC_origin, xOrigin)
xEnt = create_entity("info_target")
if(xEnt == 0) {
return PLUGIN_HANDLED_MAIN
}
xAngles[0] = 45.0
xAngles[1] -= 45
entity_set_origin(xEnt, xOrigin)
entity_set_vector(xEnt, EV_VEC_v_angle, xAngles)
VelocityByAim(xEnt, get_cvar_num("flying_flyspeed"), gVelocity[id])
remove_entity(xEnt)
}
else if(butnprs&IN_FORWARD && butnprs&IN_MOVELEFT && butnprs&IN_JUMP)
{
entity_get_vector(id, EV_VEC_v_angle, xAngles)
entity_get_vector(id, EV_VEC_origin, xOrigin)
xEnt = create_entity("info_target")
if(xEnt == 0) {
return PLUGIN_HANDLED_MAIN
}
xAngles[0] = -45.0
xAngles[1] += 45
entity_set_origin(xEnt, xOrigin)
entity_set_vector(xEnt, EV_VEC_v_angle, xAngles)
VelocityByAim(xEnt, get_cvar_num("flying_flyspeed"), gVelocity[id])
remove_entity(xEnt)
}
else if(butnprs&IN_FORWARD && butnprs&IN_MOVELEFT && butnprs&IN_DUCK)
{
entity_get_vector(id, EV_VEC_v_angle, xAngles)
entity_get_vector(id, EV_VEC_origin, xOrigin)
xEnt = create_entity("info_target")
if(xEnt == 0) {
return PLUGIN_HANDLED_MAIN
}
xAngles[0] = 45.0
xAngles[1] += 45
entity_set_origin(xEnt, xOrigin)
entity_set_vector(xEnt, EV_VEC_v_angle, xAngles)
VelocityByAim(xEnt, get_cvar_num("flying_flyspeed"), gVelocity[id])
remove_entity(xEnt)
}
else if(butnprs&IN_JUMP && butnprs&IN_MOVERIGHT && butnprs&IN_BACK)
{
entity_get_vector(id, EV_VEC_v_angle, xAngles)
entity_get_vector(id, EV_VEC_origin, xOrigin)
xEnt = create_entity("info_target")
if(xEnt == 0) {
return PLUGIN_HANDLED_MAIN
}
xAngles[0] = -45.0
xAngles[1] -= 135
entity_set_origin(xEnt, xOrigin)
entity_set_vector(xEnt, EV_VEC_v_angle, xAngles)
VelocityByAim(xEnt, get_cvar_num("flying_flyspeed"), gVelocity[id])
remove_entity(xEnt)
}
else if(butnprs&IN_BACK && butnprs&IN_MOVERIGHT && butnprs&IN_DUCK)
{
entity_get_vector(id, EV_VEC_v_angle, xAngles)
entity_get_vector(id, EV_VEC_origin, xOrigin)
xEnt = create_entity("info_target")
if(xEnt == 0) {
return PLUGIN_HANDLED_MAIN
}
xAngles[0] = 45.0
xAngles[1] -= 135
entity_set_origin(xEnt, xOrigin)
entity_set_vector(xEnt, EV_VEC_v_angle, xAngles)
VelocityByAim(xEnt, get_cvar_num("flying_flyspeed"), gVelocity[id])
remove_entity(xEnt)
}
else if(butnprs&IN_JUMP && butnprs&IN_MOVELEFT && butnprs&IN_BACK)
{
entity_get_vector(id, EV_VEC_v_angle, xAngles)
entity_get_vector(id, EV_VEC_origin, xOrigin)
xEnt = create_entity("info_target")
if(xEnt == 0) {
return PLUGIN_HANDLED_MAIN
}
xAngles[0] = -45.0
xAngles[1] += 135
entity_set_origin(xEnt, xOrigin)
entity_set_vector(xEnt, EV_VEC_v_angle, xAngles)
VelocityByAim(xEnt, get_cvar_num("flying_flyspeed"), gVelocity[id])
remove_entity(xEnt)
}
else if(butnprs&IN_BACK && butnprs&IN_MOVELEFT && butnprs&IN_DUCK)
{
entity_get_vector(id, EV_VEC_v_angle, xAngles)
entity_get_vector(id, EV_VEC_origin, xOrigin)
xEnt = create_entity("info_target")
if(xEnt == 0) {
return PLUGIN_HANDLED_MAIN
}
xAngles[0] = 45.0
xAngles[1] += 135
entity_set_origin(xEnt, xOrigin)
entity_set_vector(xEnt, EV_VEC_v_angle, xAngles)
VelocityByAim(xEnt, get_cvar_num("flying_flyspeed"), gVelocity[id])
remove_entity(xEnt)
}
else if(butnprs&IN_MOVERIGHT && butnprs&IN_FORWARD)
{
entity_get_vector(id, EV_VEC_v_angle, xAngles)
entity_get_vector(id, EV_VEC_origin, xOrigin)
xEnt = create_entity("info_target")
if(xEnt == 0) {
return PLUGIN_HANDLED_MAIN
}
xAngles[0] = 0.0
xAngles[1] -= 45
entity_set_origin(xEnt, xOrigin)
entity_set_vector(xEnt, EV_VEC_v_angle, xAngles)
VelocityByAim(xEnt, get_cvar_num("flying_flyspeed"), gVelocity[id])
remove_entity(xEnt)
}
else if(butnprs&IN_MOVERIGHT && butnprs&IN_BACK)
{
entity_get_vector(id, EV_VEC_v_angle, xAngles)
entity_get_vector(id, EV_VEC_origin, xOrigin)
xEnt = create_entity("info_target")
if(xEnt == 0) {
return PLUGIN_HANDLED_MAIN
}
xAngles[0] = 0.0
xAngles[1] -= 135
entity_set_origin(xEnt, xOrigin)
entity_set_vector(xEnt, EV_VEC_v_angle, xAngles)
VelocityByAim(xEnt, get_cvar_num("flying_flyspeed"), gVelocity[id])
remove_entity(xEnt)
}
else if(butnprs&IN_MOVELEFT && butnprs&IN_FORWARD)
{
entity_get_vector(id, EV_VEC_v_angle, xAngles)
entity_get_vector(id, EV_VEC_origin, xOrigin)
xEnt = create_entity("info_target")
if(xEnt == 0) {
return PLUGIN_HANDLED_MAIN
}
xAngles[0] = 0.0
xAngles[1] += 45
entity_set_origin(xEnt, xOrigin)
entity_set_vector(xEnt, EV_VEC_v_angle, xAngles)
VelocityByAim(xEnt, get_cvar_num("flying_flyspeed"), gVelocity[id])
remove_entity(xEnt)
}
else if(butnprs&IN_MOVELEFT && butnprs&IN_BACK)
{
entity_get_vector(id, EV_VEC_v_angle, xAngles)
entity_get_vector(id, EV_VEC_origin, xOrigin)
xEnt = create_entity("info_target")
if(xEnt == 0) {
return PLUGIN_HANDLED_MAIN
}
xAngles[0] = 0.0
xAngles[1] += 135
entity_set_origin(xEnt, xOrigin)
entity_set_vector(xEnt, EV_VEC_v_angle, xAngles)
VelocityByAim(xEnt, get_cvar_num("flying_flyspeed"), gVelocity[id])
remove_entity(xEnt)
}
else if(butnprs&IN_FORWARD && butnprs&IN_JUMP)
{
entity_get_vector(id, EV_VEC_v_angle, xAngles)
entity_get_vector(id, EV_VEC_origin, xOrigin)
xEnt = create_entity("info_target")
if(xEnt == 0) {
return PLUGIN_HANDLED_MAIN
}
xAngles[0] = -45.0
entity_set_origin(xEnt, xOrigin)
entity_set_vector(xEnt, EV_VEC_v_angle, xAngles)
VelocityByAim(xEnt, get_cvar_num("flying_flyspeed"), gVelocity[id])
remove_entity(xEnt)
}
else if(butnprs&IN_FORWARD && butnprs&IN_DUCK)
{
entity_get_vector(id, EV_VEC_v_angle, xAngles)
entity_get_vector(id, EV_VEC_origin, xOrigin)
xEnt = create_entity("info_target")
if(xEnt == 0) {
return PLUGIN_HANDLED_MAIN
}
xAngles[0] = 45.0
entity_set_origin(xEnt, xOrigin)
entity_set_vector(xEnt, EV_VEC_v_angle, xAngles)
VelocityByAim(xEnt, get_cvar_num("flying_flyspeed"), gVelocity[id])
remove_entity(xEnt)
}
else if(butnprs&IN_BACK && butnprs&IN_JUMP)
{
entity_get_vector(id, EV_VEC_v_angle, xAngles)
entity_get_vector(id, EV_VEC_origin, xOrigin)
xEnt = create_entity("info_target")
if(xEnt == 0) {
return PLUGIN_HANDLED_MAIN
}
xAngles[0] = -45.0
xAngles[1] += 180
entity_set_origin(xEnt, xOrigin)
entity_set_vector(xEnt, EV_VEC_v_angle, xAngles)
VelocityByAim(xEnt, get_cvar_num("flying_flyspeed"), gVelocity[id])
remove_entity(xEnt)
}
else if(butnprs&IN_BACK && butnprs&IN_DUCK)
{
entity_get_vector(id, EV_VEC_v_angle, xAngles)
entity_get_vector(id, EV_VEC_origin, xOrigin)
xEnt = create_entity("info_target")
if(xEnt == 0) {
return PLUGIN_HANDLED_MAIN
}
xAngles[0] = 45.0
xAngles[1] += 180
entity_set_origin(xEnt, xOrigin)
entity_set_vector(xEnt, EV_VEC_v_angle, xAngles)
VelocityByAim(xEnt, get_cvar_num("flying_flyspeed"), gVelocity[id])
remove_entity(xEnt)
}
else if(butnprs&IN_MOVERIGHT && butnprs&IN_JUMP)
{
entity_get_vector(id, EV_VEC_v_angle, xAngles)
entity_get_vector(id, EV_VEC_origin, xOrigin)
xEnt = create_entity("info_target")
if(xEnt == 0) {
return PLUGIN_HANDLED_MAIN
}
xAngles[0] = -45.0
xAngles[1] -= 90
entity_set_origin(xEnt, xOrigin)
entity_set_vector(xEnt, EV_VEC_v_angle, xAngles)
VelocityByAim(xEnt, get_cvar_num("flying_flyspeed"), gVelocity[id])
remove_entity(xEnt)
}
else if(butnprs&IN_MOVERIGHT && butnprs&IN_DUCK)
{
entity_get_vector(id, EV_VEC_v_angle, xAngles)
entity_get_vector(id, EV_VEC_origin, xOrigin)
xEnt = create_entity("info_target")
if(xEnt == 0) {
return PLUGIN_HANDLED_MAIN
}
xAngles[0] = 45.0
xAngles[1] -= 90
entity_set_origin(xEnt, xOrigin)
entity_get_vector(xEnt, EV_VEC_v_angle, xAngles)
VelocityByAim(xEnt, get_cvar_num("flying_flyspeed"), gVelocity[id])
remove_entity(xEnt)
}
else if(butnprs&IN_MOVELEFT && butnprs&IN_JUMP)
{
entity_get_vector(id, EV_VEC_v_angle, xAngles)
entity_get_vector(id, EV_VEC_origin, xOrigin)
xEnt = create_entity("info_target")
if(xEnt == 0) {
return PLUGIN_HANDLED_MAIN
}
xAngles[0] = -45.0
xAngles[1] += 90
entity_set_origin(xEnt, xOrigin)
entity_set_vector(xEnt, EV_VEC_v_angle, xAngles)
VelocityByAim(xEnt, get_cvar_num("flying_flyspeed"), gVelocity[id])
remove_entity(xEnt)
}
else if(butnprs&IN_MOVELEFT && butnprs&IN_DUCK)
{
entity_get_vector(id, EV_VEC_v_angle, xAngles)
entity_get_vector(id, EV_VEC_origin, xOrigin)
xEnt = create_entity("info_target")
if(xEnt == 0) {
return PLUGIN_HANDLED_MAIN
}
xAngles[0] = 45.0
xAngles[1] += 90
entity_set_origin(xEnt, xOrigin)
entity_set_vector(xEnt, EV_VEC_v_angle, xAngles)
VelocityByAim(xEnt, get_cvar_num("flying_flyspeed"), gVelocity[id])
remove_entity(xEnt)
}
else if(butnprs&IN_FORWARD)
{
VelocityByAim(id, get_cvar_num("flying_flyspeed") , gVelocity[id])
}
else if(butnprs&IN_BACK)
{
VelocityByAim(id, -get_cvar_num("flying_flyspeed") , gVelocity[id])
}
else if(butnprs&IN_DUCK)
{
gVelocity[id][0] = 0.0
gVelocity[id][1] = 0.0
gVelocity[id][2] = -get_cvar_num("flying_flyspeed") * 1.0
}
else if(butnprs&IN_JUMP)
{
gVelocity[id][0] = 0.0
gVelocity[id][1] = 0.0
gVelocity[id][2] = get_cvar_num("flying_flyspeed") * 1.0
}
else if(butnprs&IN_MOVERIGHT)
{
entity_get_vector(id, EV_VEC_v_angle, xAngles)
entity_get_vector(id, EV_VEC_origin, xOrigin)
xEnt = create_entity("info_target")
if(xEnt == 0) {
return PLUGIN_HANDLED_MAIN
}
xAngles[0] = 0.0
xAngles[1] -= 90
entity_set_origin(xEnt, xOrigin)
entity_set_vector(xEnt, EV_VEC_v_angle, xAngles)
VelocityByAim(xEnt, get_cvar_num("flying_flyspeed"), gVelocity[id])
remove_entity(xEnt)
}
else if(butnprs&IN_MOVELEFT)
{
entity_get_vector(id, EV_VEC_v_angle, xAngles)
entity_get_vector(id, EV_VEC_origin, xOrigin)
xEnt = create_entity("info_target")
if(xEnt == 0) {
return PLUGIN_HANDLED_MAIN
}
xAngles[0] = 0.0
xAngles[1] += 90
entity_set_origin(xEnt, xOrigin)
entity_set_vector(xEnt, EV_VEC_v_angle, xAngles)
VelocityByAim(xEnt, get_cvar_num("flying_flyspeed"), gVelocity[id])
remove_entity(xEnt)
}
else {
gVelocity[id][0] = 0.0
gVelocity[id][1] = 0.0
gVelocity[id][2] = 0.0
}
entity_set_vector(id, EV_VEC_velocity, gVelocity[id])
new Float: pOrigin[3]
new Float: zOrigin[3]
new Float: zResult[3]
entity_get_vector(id, EV_VEC_origin, pOrigin)
zOrigin[0] = pOrigin[0]
zOrigin[1] = pOrigin[1]
zOrigin[2] = pOrigin[2] - 1000
TraceLn(id,pOrigin, zOrigin, zResult)
if(entity_get_int(id, EV_INT_sequence) != 8 && (zResult[2] + 100) < pOrigin[2] && is_user_alive(id) && (gVelocity[id][0] > 0.0 && gVelocity[id][1] > 0.0 && gVelocity[id][2] > 0.0))
entity_set_int(id, EV_INT_sequence, 8)
return PLUGIN_HANDLED
}