VIP problema

Šiame forume rašomi vartotojų klausimai/problemos su kuriomis jie susidūrė kuriant pluginus.
Post Reply
User avatar
iFreak
Gana aktyvus vartotojas
Posts: 231
Joined: 2013 Sep 28 20:52
Skype: ifreak_1

VIP problema

Post by iFreak »

Sveiki , neįšeina padaryt , kai kas nors iš vipų pasirenka pvz gravity , rašo kitiems.

Code: Select all

#include <amxmodx>#include <amxmisc>#include <fun>#include <hamsandwich>#include <cstrike>#include <fakemeta>#include <xs>#include <engine> #define FLAG ADMIN_LEVEL_H new const VIP[] = "DeathRunVip"new const VIP_MODEL[] = "models/player/vip/vip.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_counternew bool: g_model[33]new g_hudsyncnew cvar_gravitynew cvar_speednew SayTxT new gCylinderSprite; public plugin_precache(){    precache_model(VIP_MODEL)        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", "500")    cvar_speed = register_cvar("dr_vip_speed", "500")     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 client_connect(client){    if(get_user_flags(client) & FLAG)    {        client_cmd(client, "spk %s", VIP_CONNECT)             new name[32];            get_user_name(client, name, 31);            set_hudmessage( 0, 255, 0, -1.0, 0.29, 0, 6.0, 12.0 );            show_hudmessage( 0, "VIP %s prisijunge prie serverio!.", name);    }} 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(2.0, "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 ), 255, 0 );        Create_BeamCylinder( iOrigin, 120, gCylinderSprite, 0, 0, 6, 16, 0, random( 0 ), random( 255 ), random( 0 ), 255, 0 );        Create_BeamCylinder( iOrigin, 120, gCylinderSprite, 0, 0, 6, 16, 0, random( 0 ), random( 255 ), random( 0 ), 255, 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,255,0,0,kRenderNormal,25)     }    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 ), 255, 0 );        Create_BeamCylinder( iOrigin, 120, gCylinderSprite, 0, 0, 6, 16, 0, random( 0 ), random( 255 ), random( 0 ), 255, 0 );        Create_BeamCylinder( iOrigin, 120, gCylinderSprite, 0, 0, 6, 16, 0, random( 0 ), random( 255 ), random( 0 ), 255, 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,255,0,0,kRenderNormal,25)     }} public T_menu(id){    if(!is_user_alive(id))       return PLUGIN_HANDLED     client_cmd(id, "spk %s", MENU_POPUP)                new gmenu = menu_create("\yDeathrun VIPMENU" , "Vip_Handler");        menu_additem(gmenu ,"\r255 \wGyvybes", "1" , 0);        menu_additem(gmenu ,"\r255 \wArmorai", "2" , 0);        menu_additem(gmenu ,"\wGravitacija", "3" , 0);        menu_additem(gmenu ,"\wGreitis", "4" , 0);        menu_additem(gmenu ,"\wDeagle su \r2 kulkom", "5" , 0);        menu_additem(gmenu ,"\wHE granata", "6" , 0);        menu_additem(gmenu ,"\wNightVision (\rTamsiems mapams\w)", "7" , 0);         menu_setprop(gmenu , MPROP_EXIT , MEXIT_ALL);         menu_display(id , gmenu , 0);     return PLUGIN_CONTINUE} public CT_menu(id){    if(!is_user_alive(id))       return PLUGIN_HANDLED            client_cmd(id, "spk %s", MENU_POPUP)         new gmenu = menu_create("\yDeathrun VIPMENU" , "VipCt_Handler");        menu_additem(gmenu ,"\r255 \wGyvybes", "1" , 0);        menu_additem(gmenu ,"\r255 \wArmorai", "2" , 0);        menu_additem(gmenu ,"\wGravitacija", "3" , 0);        menu_additem(gmenu ,"\wGreitis", "4" , 0);        menu_additem(gmenu ,"\wHE granata", "5" , 0);        menu_additem(gmenu ,"\wNightVision (\rTamsiems mapams\w)", "6" , 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, 255)    client_printcolor(player, "/g[V.I.P]/y: You choosed /w255 /ghealth!")      }       case 2:      {    client_cmd(id, "spk %s", MENU_OK)     set_user_armor(id, 255)    client_printcolor(player, "/g[V.I.P]/y: You choosed /w255 /garmor!")      }       case 3:      {    client_cmd(id, "spk %s", MENU_OK)     new Float: gravity    gravity = get_pcvar_float(cvar_gravity) / 800     set_user_gravity(id, gravity)    client_printcolor(player, "/g[V.I.P]/y: You choosed /ggravity!")      }            case 4:      {    new Float: speed    speed   = get_pcvar_float(cvar_speed)     client_cmd(id, "spk %s", MENU_OK)     set_user_maxspeed(id, speed)    client_printcolor(player, "/g[V.I.P]/y: You choosed /gspeed!")      }            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)     client_printcolor(player, "/g[V.I.P]/y: You choosed deagle with /g2 /ybullets!")      }            case 6:      {    give_item(id, "weapon_hegrenade")     client_cmd(id, "spk %s", MENU_OK)     client_printcolor(player, "/g[V.I.P]/y: You choosed /wexplosive /gHe /yGrenade!")      }       case 7:      {    cs_set_user_nvg(id)     client_cmd(id, "spk %s", MENU_OK)     client_printcolor(player, "/g[V.I.P]/y: You choosed nightvision!")      }   }   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, 255)    client_printcolor(player, "/g[V.I.P]/y: You choosed /w255 /ghealth!")      }       case 2:      {    client_cmd(id, "spk %s", MENU_OK)     set_user_armor(id, 255)    client_printcolor(player, "/g[V.I.P]/y: You choosed /w255 /garmor!")      }       case 3:      {    client_cmd(id, "spk %s", MENU_OK)     new Float: gravity    gravity = get_pcvar_float(cvar_gravity) / 800     set_user_gravity(id, gravity)    client_printcolor(player, "/g[V.I.P]/y: You choosed /ggravity!")      }            case 4:      {    new Float: speed    speed   = get_pcvar_float(cvar_speed)     client_cmd(id, "spk %s", MENU_OK)     set_user_maxspeed(id, speed)    client_printcolor(player, "/g[V.I.P]/y: You choosed /gspeed!")      }            case 5:      {    give_item(id, "weapon_hegrenade")     client_cmd(id, "spk %s", MENU_OK)     client_printcolor(player, "/g[V.I.P]/y: You choosed /wexplosive /gHe /yGrenade!")      }       case 6:      {    cs_set_user_nvg(id)     client_cmd(id, "spk %s", MENU_OK)     client_printcolor(player, "/g[V.I.P]/y: You choosed nightvision!")      }   }   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(150, 150, 150, 0.40, 0.92, 0, 0.0, 0.3, 0.0, 0.0)    ShowSyncHudMsg(id, g_hudsync , ".::*Health: %d -|V.I.P|- Armour: %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();        }}   
Image

DYaGesS
Flooderis arba specialistas
Posts: 875
Joined: 2013 Jan 16 01:01
Skype: usercs.com
Contact:

Re: VIP problema

Post by DYaGesS »

client_printcolor(player, "/g[V.I.P]/y: You choosed /ggravity!")

client_printcolor(player,
tas player būtent nurodo tik tam playeriui rodyt, tai player -> 0 ir visiem rodyt turėtų, tik aišku dar tekstą pasikeisk, kad jiem nerašytų, jog jie pasirinko gravity :asian:
Padėjau? +rep

Post Reply

Who is online

Users browsing this forum: No registered users and 40 guests