Server Menu [CP]

Šiame forume rašomi vartotojų klausimai/problemos su kuriomis jie susidūrė kuriant pluginus.
Post Reply
PaWn
Parašęs kelias žinutes
Posts: 5
Joined: 2011 Sep 24 21:09
Skype: allternativ-exp

Server Menu [CP]

Post by PaWn »

Please I would like to give to the menu and VIP models that switch on / off can you help me?
Sorry for my English

Code: Select all

#include <amxmodx>#include <amxmisc>#include <engine>#include <hamsandwich>#include <fun> #define MaxPlayers 32 new const Float: g_flCoords[][] = {    {0.50, 0.40},    {0.56, 0.44},    {0.60, 0.50},    {0.56, 0.56},    {0.50, 0.60},    {0.44, 0.56},    {0.40, 0.50},    {0.44, 0.44}} new bool: DoJump[33] = false new bool: Status[33][6] new bool: Bullet_Damagenew bool: Multi_Jumpnew bool: Parachutenew bool: Respawnnew bool: Vampire new PlayerPos[MaxPlayers + 1] new RespawnDelay[33]new JumpNUM[33] = 0new ParaENT[33] new g_MaxPlayers public plugin_init(){    register_plugin("[CP] Server Menu", "1.0", "xS The Moon")     register_cvar("cpsm_advert", "1")    register_cvar("cpsm_advert_time", "70.0")     register_cvar("cpsm_resp_delay", "5")    register_cvar("cpsm_health_kill", "10")    register_cvar("cpsm_health_hs", "15")    register_cvar("cpsm_maxjumps", "1")    register_cvar("cpsm_parachute_fallspeed", "80")     register_clcmd("say cpserver", "Main_Server_Menu")    register_clcmd("say /cpserver", "Main_Server_Menu")     if (get_cvar_num("cpsm_advert"))    {        set_task(get_cvar_float("cpsm_advert_time"), "CPSM_Adv_Message", 0, _, _, "b")    }     register_event("DeathMsg", "Ev_DeathMsg", "a")    register_event("Damage", "Ev_Damage", "b", "2>0", "3=0")     RegisterHam(Ham_Killed, "player", "Ham_KilledSpawn", 1)     g_MaxPlayers = get_maxplayers()} public plugin_precache(){    precache_model("models/parachute.mdl")} public client_connect(id){    Parachute = false    DoJump[id] = false    ParaENT[id] = 0    JumpNUM[id] = 0} public Ev_DeathMsg(){    new attacker = read_data(1)     new Health    new HP_Add     if (Vampire)    {        if ((read_data(3) == 1) && (read_data(5) == 0))        {            HP_Add = get_cvar_num("cpsm_health_hs")        }        else        {            HP_Add = get_cvar_num("cpsm_health_kill")        }         Health = get_user_health(attacker)        Health += HP_Add         set_user_health(attacker, Health)            set_hudmessage(0, 255, 0, -1.0, 0.15, 0, 1.0, 1.0, 0.1, 0.1, -1)        show_hudmessage(attacker, "Healed +%d HP", HP_Add)         message_begin(MSG_ONE, get_user_msgid("ScreenFade"), {0,0,0}, attacker)        write_short(1<<10)        write_short(1<<10)        write_short(0x0000)        write_byte(0)        write_byte(0)        write_byte(200)        write_byte(75)        message_end()    }} public Ev_Damage(victim){    if (read_data(4) || read_data(5) || read_data(6))    {        new id = get_user_attacker(victim)        if ((1 <= id <= g_MaxPlayers) && is_user_connected(id))        {            if (Bullet_Damage)            {                new iPos = ++PlayerPos[id]                if (iPos == sizeof(g_flCoords))                {                    iPos = PlayerPos[id] = 0                }                set_hudmessage(0, 100, 200, Float:g_flCoords[iPos][0], Float:g_flCoords[iPos][1], 0, 0.1, 2.5, 0.02, 0.02, -1)                show_hudmessage(id, "%d", read_data(2))            }        }    }} public CPSM_Adv_Message(id){           print_color(id, "/y[/gCP/y] /ctrServerio Meniu/y: /gNoredamas atidaryti rasyk /y//ctrcpserver")} public Main_Server_Menu(id){    if (get_user_flags(id) & ADMIN_LEVEL_H)    {            new menu = menu_create("\d[\rCP\d] \yServerio Meniu\d:", "Server_Menu")         new szMsg1[60]        new szMsg2[60]        new szMsg3[60]        new szMsg4[60]        new szMsg5[60]        new szMsg6[60]         format(szMsg1, 59, "\d[\rCP\d] \w3rd Person View. \yStatusas\d: \r%s.", Status[id][0] ? "On" : "Off")        format(szMsg2, 59, "\d[\rCP\d] \wBullet Damage. \yStatusas\d: \r%s.", Status[id][1] ? "On" : "Off")        format(szMsg3, 59, "\d[\rCP\d] \wMulti Jump. \yStatusas\d: \r%s.", Status[id][2] ? "On" : "Off")        format(szMsg4, 59, "\d[\rCP\d] \wParachute. \yStatusas\d: \r%s.", Status[id][3] ? "On" : "Off")        format(szMsg5, 59, "\d[\rCP\d] \wRespawn. \yStatusas\d: \r%s.", Status[id][4] ? "On" : "Off")        format(szMsg6, 59, "\d[\rCP\d] \wVampire. \yStatusas\d: \r%s.", Status[id][5] ? "On" : "Off")         menu_additem(menu, szMsg1, "1", 0)        menu_additem(menu, szMsg2, "2", 0)        menu_additem(menu, szMsg3, "3", 0)        menu_additem(menu, szMsg4, "4", 0)        menu_additem(menu, szMsg5, "5", 0)        menu_additem(menu, szMsg6, "6", 0)             menu_setprop(menu, MPROP_EXIT, MEXIT_ALL)        menu_display(id, menu, 0)    }    else    {        print_color(id, "/y[/gCP/y] /ctrControl Panel /gtik V.I.P'ams ir ADMIN'ams.")        return    }}public Server_Menu(id, menu, item){    if (item == MENU_EXIT)        {        menu_destroy(menu)        return PLUGIN_HANDLED        }         if (item == 0)    {        if (Status[id][0])        {            Status[id][0] = false            set_view(id, CAMERA_NONE)        }        else        {            Status[id][0] = true            set_view(id, CAMERA_3RDPERSON)          }    }        if (item == 1)    {        if (Status[id][1])        {            Status[id][1] = false            Bullet_Damage = false        }        else        {            Status[id][1] = true            Bullet_Damage = true            }    }        if (item == 2)    {        if (Status[id][2])        {            Status[id][2] = false            Multi_Jump = false        }        else        {            Status[id][2] = true            Multi_Jump = true        }    }        if (item == 3)    {        if (Status[id][3])        {            Status[id][3] = false            Parachute = false        }        else        {            Status[id][3] = true            Parachute = true        }    }        if (item == 4)    {        if (Status[id][4])        {            Status[id][4] = false            Respawn = false        }        else        {            Status[id][4] = true            Respawn = true          }    }        if (item == 5)    {        if (Status[id][5])        {            Status[id][5] = false            Vampire = false        }        else        {            Status[id][5] = true            Vampire = true        }    }        Main_Server_Menu(id)        return PLUGIN_HANDLED} public Ham_KilledSpawn(id){    if (Respawn)    {        RespawnDelay[id] = get_cvar_num("cpsm_resp_delay")        RespawnPlayer(id)    }} public RespawnPlayer(id){    if (is_user_alive(id) || !is_user_connected(id))        return PLUGIN_CONTINUE        if (RespawnDelay[id] > 0)    {        print_color(id, "/y[/ctrCP/y] /gYou'll Spawned in %d Seconds/y.", RespawnDelay[id])        RespawnDelay[id]--        set_task(1.0, "RespawnPlayer", id)    }    else    {        ExecuteHamB(Ham_CS_RoundRespawn, id)        set_task(0.1, "SpawnProtection_On", id)    }    return PLUGIN_CONTINUE} public SpawnProtection_On(id){    print_color(id, "/y[/ctrCP/y] /gSpawn Protection On/y.")    set_user_godmode(id, 1)        if (get_user_team(id) == 1)    {            set_user_rendering(id, kRenderFxGlowShell, 255, 0, 0, kRenderNormal, 25)    }    if (get_user_team(id) == 2)    {            set_user_rendering(id, kRenderFxGlowShell, 0, 0, 255, kRenderNormal, 25)    }    set_task(5.0, "SpawnProtection_Off", id)} public SpawnProtection_Off(id){    if (!is_user_connected(id))    {            return PLUGIN_HANDLED    }    else    {        print_color(id, "/y[/ctrCP/y] /gSpawn Protection Off/y.")            set_user_rendering(id, kRenderFxGlowShell, 0, 0,0, kRenderNormal, 25)        set_user_godmode(id, 0)    }    return PLUGIN_CONTINUE} public client_PreThink(id){    if (!is_user_alive(id))         return PLUGIN_CONTINUE     new nbut = get_user_button(id)    new obut = get_user_oldbutton(id)     new Float: fallspeed = get_cvar_float("cpsm_parachute_fallspeed") * -1.0     if (Multi_Jump)    {        if ((nbut & IN_JUMP) && !(get_entity_flags(id) & FL_ONGROUND) && !(obut & IN_JUMP))        {            if (JumpNUM[id] < get_cvar_num("cpsm_maxjumps"))            {                DoJump[id] = true                JumpNUM[id]++                return PLUGIN_CONTINUE            }        }            if ((nbut & IN_JUMP) && (get_entity_flags(id) & FL_ONGROUND))        {            JumpNUM[id] = 0            return PLUGIN_CONTINUE        }    }     if (Parachute)    {        if (get_user_button(id) & IN_USE)        {            if (!(get_user_oldbutton(id) & IN_USE))            {                ParaENT[id] = create_entity("info_target")                if (ParaENT[id] > 0)                {                    entity_set_model(ParaENT[id], "models/parachute.mdl")                }            }            if (!(get_entity_flags(id) & FL_ONGROUND))            {                new Float:velocity[3]                entity_get_vector(id, EV_VEC_velocity, velocity)                 if (velocity[2] < 0)                {                    velocity[2] = (velocity[2] + 40.0 < fallspeed) ? velocity[2] + 40.0 : fallspeed                    entity_set_vector(id, EV_VEC_velocity, velocity)                    if (ParaENT[id] > 0)                    {                        if (entity_get_float(ParaENT[id], EV_FL_frame) < 0.0 || entity_get_float(ParaENT[id], EV_FL_frame) > 254)                        {                            if (entity_get_int(ParaENT[id], EV_INT_sequence) == 0)                            {                                entity_set_int(ParaENT[id], EV_INT_sequence, 1)                            }                            entity_set_float(ParaENT[id], EV_FL_frame, 0.0)                        }                        else                         {                            entity_set_float(ParaENT[id], EV_FL_frame, entity_get_float(ParaENT[id], EV_FL_frame) + 1.0)                        }                        new Float: origin[3]                        entity_get_vector(id, EV_VEC_origin, origin)                        origin[2] -= 46.0                        entity_set_vector(ParaENT[id], EV_VEC_origin, origin)                    }                }                else                {                    if (ParaENT[id] > 0)                    {                        remove_entity(ParaENT[id])                        ParaENT[id] = 0                    }                }            }            else            {                if (ParaENT[id] > 0)                {                    remove_entity(ParaENT[id])                    ParaENT[id] = 0                }            }        }        else        {            if (ParaENT[id] > 0)            {                remove_entity(ParaENT[id])                ParaENT[id] = 0            }        }    }    return PLUGIN_CONTINUE} public client_PostThink(id){    if (!is_user_alive(id))         return PLUGIN_CONTINUE     if (DoJump[id] == true)    {        new Float: velocity[3]          entity_get_vector(id, EV_VEC_velocity, velocity)        velocity[2] = random_float(265.0, 285.0)        entity_set_vector(id, EV_VEC_velocity, velocity)        DoJump[id] = false         return PLUGIN_CONTINUE    }    return PLUGIN_CONTINUE} stock print_color(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","^2");// 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, get_user_msgid("SayText"), _, players[i])            write_byte(players[i])            write_string(msg)            message_end()        }}

Post Reply

Who is online

Users browsing this forum: Semrush [Bot] and 14 guests