AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Suggestions / Requests (https://forums.alliedmods.net/forumdisplay.php?f=12)
-   -   speed = super jump? (https://forums.alliedmods.net/showthread.php?t=337453)

Franso 04-22-2022 12:37

speed = super jump?
 
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.

OciXCrom 04-25-2022 06:19

Re: speed = super jump?
 
Why still use hardcoded plugins in 2022?
https://forums.alliedmods.net/showthread.php?t=314299


All times are GMT -4. The time now is 12:18.

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