AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Scripting Help (https://forums.alliedmods.net/forumdisplay.php?f=11)
-   -   Surf Jetpack (https://forums.alliedmods.net/showthread.php?t=320120)

krahma9990 12-05-2019 08:29

Surf Jetpack
 
Hello guys i have this plugin of surfing jet pack
I just wanted to add Jet pack Drop + Buy jet pack once and u have it even if respown (jet pack full map)

here's the script and thanks in advance

Code:

#include <amxmodx>

#include <amxmisc>

#include <fakemeta>

#include <cstrike>

#include <engine>

#include <colorchat>



new SPRITE_MODEL[]        = "sprites/explode1.spr"

new JETPACK_PMODEL[]        = "models/TM_Surf/Jetpack/Jetpack.mdl"

new JETPACK_GOTSOUND[]        = "items/ammopickup2.wav"



new cvar_cost

new cvar_thrust

new cvar_min_speed

new cvar_max_speed



new sprite_fire



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("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()

{

        sprite_fire = precache_model(SPRITE_MODEL)

        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)

{

        new iMoney = cs_get_user_money(id)

        new iCost = get_pcvar_num(cvar_cost)

       

        if(!is_user_alive(id))

                ColorChat(id, TEAM_COLOR,"^4.::(^3Server Info^4)::. ^1: You Cant Buy A ^4Jetpack ^1When Your Dead ^1!")

        else if(g_HasJetpack[id])

                ColorChat(id, TEAM_COLOR,"^4.::(^3Server Info^4)::. ^1: You Already Own A ^4Jetpack^1.")

        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)

        ColorChat(id, TEAM_COLOR,"^4.::(^3Server Info^4)::. ^1: The ^3Admin ^4%s ^1Gave You A Surf ^4Jetpack ^1.", 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)

        ColorChat(id, TEAM_COLOR,"^4.::(^3Server Info^4)::. ^1: The ^3Admin ^4%s ^1Stripped Your Surf ^4Jetpack ^1.", Name)

       

        return PLUGIN_HANDLED

}



public _give_Jetpack(id)

{

        g_HasJetpack[id] = 1

        client_cmd(id, "spk %s", JETPACK_GOTSOUND)

        ColorChat(id, TEAM_COLOR,"^4.::(^3Server Info^4)::. ^1: You've Got A Surf ^4Jetpack^1!, Enjoy ^4:)^1.")

       

        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)

        {               

                _jetEffect(id)       

                _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

}



public _jetEffect(id)

{       

        new iOrigin[3]

        get_user_origin(id, iOrigin, 0)

       

        message_begin(MSG_BROADCAST, SVC_TEMPENTITY)

        write_byte(17)

        write_coord(iOrigin[0])

        write_coord(iOrigin[1])

        write_coord(iOrigin[2])

        write_short(sprite_fire)

        write_byte(10)

        write_byte(115)

        message_end()

       

        entity_set_int(id , EV_INT_gaitsequence , 8)

}



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 }

*/


krahma9990 12-07-2019 04:31

Re: Surf Jetpack
 
OMG... ,No One Can Help ?

OciXCrom 12-07-2019 07:19

Re: Surf Jetpack
 
OMG. Have you tried anything before posting here? It doesn't seem like it.

krahma9990 12-07-2019 09:36

Re: Surf Jetpack
 
Quote:

Originally Posted by OciXCrom (Post 2676021)
OMG. Have you tried anything before posting here? It doesn't seem like it.

Yes I Did

OciXCrom 12-07-2019 10:03

Re: Surf Jetpack
 
Explain what then. Post some code you tried so we can tell you what's wrong with it.

krahma9990 12-07-2019 12:02

Re: Surf Jetpack
 
Quote:

Originally Posted by OciXCrom (Post 2676045)
Explain what then. Post some code you tried so we can tell you what's wrong with it.

Am A Beginner To Mention

I tryed To Remove This

Code:

public Event_DeathMsg()

{

        new id = read_data(2)



        g_HasJetpack[id] = 0

        _removeJetpackEnt(id)



        return PLUGIN_CONTINUE

}

It Worked ,But When Person Didn't Buy The Jet pack When He Respown ,He Get Free Jetpack
///
And For The Jetpack Drop ,I Dont Know How To Do It


All times are GMT -4. The time now is 02:45.

Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.