Raised This Month: $ Target: $400
 0% 

Problem set_user_maxspeed


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
riscanuc
Member
Join Date: Apr 2012
Old 02-14-2013 , 11:52   Problem set_user_maxspeed
Reply With Quote #1

I have a problem ... When the menu appears, choose speed(4) give speed and when changing weapon speed disappears
Code:
#include <amxmodx>
#include <amxmisc>
#include <fun>
#include <hamsandwich>
#include <cstrike>
#include <fakemeta>
#include <xs>
#include <engine>

#define FLAG ADMIN_LEVEL_E

new const VIP[] = "vip_zpchile"
new const VIP_MODEL[] = "models/player/vip_zpchile/vip_zpchile.mdl"

new const MENU_POPUP[] = "misc/DeathRunVip/vip_menu_popup.wav"
new const MENU_OK[] = "misc/DeathRunVip/vip_menu_ok.wav"
new const VIP_CONNECT[] = "misc/DeathRunVip/vip_connect.wav"

#define TASKID_SHOWHUD    2931
#define TASKID_MODEL        3810 

new player_model[33][32]
new Float: g_counter
new bool: g_model[33]
new g_hudsync
new cvar_gravity
new cvar_speed
new SayTxT

new gCylinderSprite;

public plugin_precache()
{
    precache_sound(VIP_CONNECT)

    precache_sound(MENU_POPUP)
    precache_sound(MENU_OK)

    gCylinderSprite = precache_model( "sprites/shockwave.spr" );
}

public plugin_init()
{
    register_plugin("Deathrun V.I.P", "1.0", "DoviuX")

    cvar_gravity = register_cvar("dr_vip_gravity", "700")
    cvar_speed = register_cvar("amx_vip_speed", "600")
    
    RegisterHam(Ham_Spawn, "player", "bacon_spawn", 1)
    register_forward(FM_SetClientKeyValue, "fw_SetClientKeyValue")
    register_forward(FM_ClientUserInfoChanged, "fw_ClientUserInfoChanged")

    g_hudsync = CreateHudSyncObj()
    SayTxT = get_user_msgid("SayText");
}

public bacon_spawn(id)
{
    if (!is_user_alive(id))
        return;
    
    static CsTeams: team ; team = cs_get_user_team(id)
    
    if (team == CS_TEAM_T && (get_user_flags(id) & FLAG))
    {   
    set_task(0.5, "T_menu", id)

    new iOrigin[ 3 ];
    get_user_origin( id, iOrigin );

    Create_BeamCylinder( iOrigin, 120, gCylinderSprite, 0, 0, 6, 16, 0, random( 0 ), random( 255 ), random( 0 ), 100, 0 );
    Create_BeamCylinder( iOrigin, 120, gCylinderSprite, 0, 0, 6, 16, 0, random( 0 ), random( 255 ), random( 0 ), 100, 0 );
    Create_BeamCylinder( iOrigin, 120, gCylinderSprite, 0, 0, 6, 16, 0, random( 0 ), random( 255 ), random( 0 ), 100, 0 );

    copy(player_model[id], 31, VIP)
        
    new currentmodel[32];
    fm_get_user_model(id, currentmodel, sizeof currentmodel - 1);
        
    if(!equal(currentmodel, player_model[id]))
    {
        Task_Model(id + TASKID_MODEL)
        g_counter += 0.1;
    }

    if(!task_exists(TASKID_SHOWHUD + id))
    set_task(0.2, "Task_ShowHUD", TASKID_SHOWHUD + id)

    set_user_rendering(id,kRenderFxGlowShell,150,0,0,kRenderNormal,0) 
    }
    else if (team == CS_TEAM_CT && (get_user_flags(id) & FLAG))
    {
        set_task(2.0, "CT_menu", id)

        new iOrigin[ 3 ];
        get_user_origin( id, iOrigin );

        Create_BeamCylinder( iOrigin, 120, gCylinderSprite, 0, 0, 6, 16, 0, random( 0 ), random( 255 ), random( 0 ), 100, 0 );
        Create_BeamCylinder( iOrigin, 120, gCylinderSprite, 0, 0, 6, 16, 0, random( 0 ), random( 255 ), random( 0 ), 100, 0 );
        Create_BeamCylinder( iOrigin, 120, gCylinderSprite, 0, 0, 6, 16, 0, random( 0 ), random( 255 ), random( 0 ), 100, 0 );

        copy(player_model[id], 31, VIP)

        strip_user_weapons(id)
        give_item(id, "weapon_knife")
        
        new currentmodel[32];
        fm_get_user_model(id, currentmodel, sizeof currentmodel - 1);
        
        if(!equal(currentmodel, player_model[id]))
        {
            Task_Model(id + TASKID_MODEL)
            g_counter += 0.1;
        }

        if(!task_exists(TASKID_SHOWHUD + id))
        set_task(0.2, "Task_ShowHUD", TASKID_SHOWHUD + id)

        set_user_rendering(id,kRenderFxGlowShell,0,0,150,kRenderNormal,0) 
    }
}

public T_menu(id)
{
    if(cs_get_user_team(id) == CS_TEAM_T)
    {
        if(!is_user_alive(id))
            return PLUGIN_HANDLED

        client_cmd(id, "spk %s", MENU_POPUP)
        
        new gmenu = menu_create("\r~DrX.rLz.Ro~" , "Vip_Handler");
        menu_additem(gmenu ,"\yViata", "1" , 0);
        menu_additem(gmenu ,"\yArmura", "2" , 0);
        menu_additem(gmenu ,"\yGravitate", "3" , 0);
        menu_additem(gmenu ,"\yViteza", "4" , 0);
        menu_additem(gmenu ,"\yDeagle", "5" , 0);
        menu_additem(gmenu ,"\yGrenada HE", "6" , 0);
        menu_additem(gmenu ,"\yNightVision (Harti intunecate)", "7" , 0);
 
        menu_setprop(gmenu , MPROP_EXIT , MEXIT_ALL);
     
        menu_display(id , gmenu , 0);
    }
    return PLUGIN_CONTINUE
}

public CT_menu(id)
{
    if(cs_get_user_team(id) == CS_TEAM_CT)
    {
        if(!is_user_alive(id))
            return PLUGIN_HANDLED
        
        client_cmd(id, "spk %s", MENU_POPUP)
    
        new gmenu = menu_create("\r~DrX.rLz.Ro~" , "VipCt_Handler");
        menu_additem(gmenu ,"\yViata", "1" , 0);
        menu_additem(gmenu ,"\yArmura", "2" , 0);
        menu_additem(gmenu ,"\yGravitate", "3" , 0);
        menu_additem(gmenu ,"\yViteza", "4" , 0);
        menu_additem(gmenu ,"\yGrenada HE", "5" , 0);
        menu_additem(gmenu ,"\yNightVision (Harti intunecate)", "6" , 0);
        menu_additem(gmenu ,"\yInvizibilitate", "7" , 0);
     
        menu_setprop(gmenu , MPROP_EXIT , MEXIT_ALL);
     
        menu_display(id , gmenu , 0);
    }
    return PLUGIN_CONTINUE;
}

public Vip_Handler(id, gmenu, item, player)
{
    if (item == MENU_EXIT)
    {
        menu_destroy(gmenu)
        return PLUGIN_HANDLED
    }

    new data[6], iName[64]
    new access, callback
    menu_item_getinfo(gmenu, item, access, data, 5, iName, 63, callback)
   
    new key = str_to_num(data)
   
    switch(key)
    {
        case 1:
        {
            client_cmd(id, "spk %s", MENU_OK)

            set_user_health(id, 200)
        }
        case 2:
        {
            client_cmd(id, "spk %s", MENU_OK)

            set_user_armor(id, 500)
        }
        case 3:
        {
            client_cmd(id, "spk %s", MENU_OK)

            new Float: gravity
            gravity    = get_pcvar_float(cvar_gravity) / 800

            set_user_gravity(id, gravity)
        }
        case 4:
        {
            new Float:speed = get_user_maxspeed(id) + get_cvar_num("amx_vip_speed")
            client_cmd(id, "spk %s", MENU_OK)
    
            set_user_maxspeed(id , 600.0)
        }
        case 5:
        {
            give_item(id, "weapon_deagle")

            new weapon_id = find_ent_by_owner(-1, "weapon_deagle", id);
            if(weapon_id)
            {
                cs_set_weapon_ammo(weapon_id, 2);
            }

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

        }   
        case 6:
        {
            give_item(id, "weapon_hegrenade")

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

        }
        case 7:
        {
            cs_set_user_nvg(id)

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

        }
    }
    menu_destroy(gmenu)
    return PLUGIN_HANDLED;
}

public VipCt_Handler(id, gmenu, item, player)
{
    if (item == MENU_EXIT)
    {
        menu_destroy(gmenu)
        return PLUGIN_HANDLED
    }

    new data[6], iName[64]
    new access, callback
    menu_item_getinfo(gmenu, item, access, data, 5, iName, 63, callback)
   
    new key = str_to_num(data)
   
    switch(key)
    {
        case 1:
        {
            client_cmd(id, "spk %s", MENU_OK)

            set_user_health(id, 400)
        }
        case 2:
        {
            client_cmd(id, "spk %s", MENU_OK)
    
            set_user_armor(id, 500)
        }
        case 3:
        {
            client_cmd(id, "spk %s", MENU_OK)

            new Float: gravity
            gravity    = get_pcvar_float(cvar_gravity) / 800

            set_user_gravity(id, gravity)
        }
        case 4:
       {
            new Float:speed = get_user_maxspeed(id) + get_cvar_num("amx_vip_speed")
            client_cmd(id, "spk %s", MENU_OK)
    
            set_user_maxspeed(id , 600.0)
        }
        case 5:
        {
            give_item(id, "weapon_hegrenade")

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

        }
        case 6:
        {
        cs_set_user_nvg(id)

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

        }
   
         case 7:
      {
    client_cmd(id, "spk %s", MENU_OK)
    set_user_rendering(id, kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 35)
      }

    }
    menu_destroy(gmenu)
    return PLUGIN_HANDLED;
}

public Task_ShowHUD(task)
{
    new id = task - TASKID_SHOWHUD
    
    if(!is_user_alive(id))
        return PLUGIN_HANDLED
    
    static health, armour
    health = get_user_health(id)
    armour = get_user_armor(id)
    
    set_hudmessage(0, 250, 0, 0.40, 0.92, 0, 0.0, 0.3, 0.0, 0.0)
    ShowSyncHudMsg(id, g_hudsync , "..:|Viata: %d - Armura: %d|:..", health, armour)
    
    set_task(0.1, "Task_ShowHUD", TASKID_SHOWHUD + id)        
    
    return PLUGIN_CONTINUE
}

public client_PreThink(id)
{
    if(is_user_alive(id))
    {    
        if(get_user_flags(id) & FLAG)
        {
            
            new oldbuttons = get_user_oldbutton(id);
        
            
            oldbuttons &= ~IN_JUMP;
            entity_set_int(id, EV_INT_oldbuttons, oldbuttons);
        }
    }
}  

public Task_Model(task)
{
    new id = task - TASKID_MODEL 
    
    fm_set_user_model(id, player_model[id])
}

stock Create_BeamCylinder( origin[ 3 ], addrad, sprite, startfrate, framerate, life, width, amplitude, red, green, blue, brightness, speed )
{
    message_begin( MSG_PVS, SVC_TEMPENTITY, origin ); 
    write_byte( TE_BEAMCYLINDER );
    write_coord( origin[ 0 ] );
    write_coord( origin[ 1 ] );
    write_coord( origin[ 2 ] );
    write_coord( origin[ 0 ] );
    write_coord( origin[ 1 ] );
    write_coord( origin[ 2 ] + addrad );
    write_short( sprite );
    write_byte( startfrate );
    write_byte( framerate );
    write_byte(life );
    write_byte( width );
    write_byte( amplitude );
    write_byte( red );
    write_byte( green );
    write_byte( blue );
    write_byte( brightness );
    write_byte( speed );
    message_end();
}

stock te_sprite(id, Float:origin[3], sprite, scale, brightness)
{
    message_begin(MSG_ONE, SVC_TEMPENTITY, _, id)
    write_byte(TE_SPRITE)
    write_coord(floatround(origin[0]))
    write_coord(floatround(origin[1]))
    write_coord(floatround(origin[2]))
    write_short(sprite)
    write_byte(scale) 
    write_byte(brightness)
    message_end()
}

stock normalize(Float:fIn[3], Float:fOut[3], Float:fMul)
{
    new Float:fLen = xs_vec_len(fIn)
    xs_vec_copy(fIn, fOut)
    
    fOut[0] /= fLen, fOut[1] /= fLen, fOut[2] /= fLen
    fOut[0] *= fMul, fOut[1] *= fMul, fOut[2] *= fMul
}

public fw_SetClientKeyValue(id, infobuffer, key[], value[])
{   
    if (g_model[id] && equal(key, "model"))
        return FMRES_SUPERCEDE
    
    return FMRES_IGNORED
}

public fw_ClientUserInfoChanged(id, infobuffer)
{   
    if (!g_model[id])
        return FMRES_IGNORED
    
    new currentmodel[32]; 
    fm_get_user_model(id, currentmodel, sizeof currentmodel - 1);
    
    if(!equal(currentmodel, player_model[id]))
        fm_set_user_model(id, player_model[id]) 
    
    return FMRES_IGNORED
}

stock fm_set_user_model(player, modelname[])
{   
    engfunc(EngFunc_SetClientKeyValue, player, engfunc(EngFunc_GetInfoKeyBuffer, player), "model", modelname)
    
    g_model[player] = true
}

stock fm_get_user_model(player, model[], len)
{   
    engfunc(EngFunc_InfoKeyValue, engfunc(EngFunc_GetInfoKeyBuffer, player), "model", model, len)
}

stock fm_reset_user_model(player)
{         
    g_model[player] = false
    
    dllfunc(DLLFunc_ClientUserInfoChanged, player, engfunc(EngFunc_GetInfoKeyBuffer, player))
}

stock client_printcolor(const id, const input[], any:...)
{
    new count = 1, players[32];
    static msg[191];
    vformat(msg,190,input,3);
    replace_all(msg,190,"/g","^4");// green txt
    replace_all(msg,190,"/y","^1");// orange txt
    replace_all(msg,190,"/ctr","^3");// team txt
    replace_all(msg,190,"/w","^0");// team txt
    if (id) players[0] = id; else get_players(players,count,"ch");
    for (new i = 0; i < count; i++)
    if (is_user_connected(players[i]))
    {
        message_begin(MSG_ONE_UNRELIABLE, SayTxT, _, players[i]);
        write_byte(players[i]);
        write_string(msg);
        message_end();
    }
}
__________________

Last edited by riscanuc; 02-14-2013 at 11:57.
riscanuc is offline
Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 04:07.


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