Pageidavimas[Vip menu]

Šiame forume vartotojai gali prašyti jiems reikiamo plugino.
Forum rules
Šiame forume galite siūlyti idėjas ar prašyti jums reikalingų pluginų. Jei kas nors pradės jį kurti, tai pasirašys Jūsų sukurtoje temoje. Niekada nepykite, jei niekas neatsako į Jūsų prašymą. Gal tai tiesiog per sudėtinga, arba reikalauja per daug darbo.
InvIs
Gana aktyvus vartotojas
Posts: 421
Joined: 2011 Aug 13 11:12
Skype: pksoldierlt
Location: ATOSTOGOSE

Re: Pageidavimas[Vip menu]

Post by InvIs »

Aurimasko variantą ryt pabandysiu.
Dabar dar vienas klausimas:
Kaip padaryti(apsaugant nuo buginimo), kai tarkim emke padarau [ON] tai kai padarau [OFF], vel ijungti eitu tik kita rounda? Nes taip galima betkiek gun pasiimt.

-- 2011 Rgp 15 19:39 --

Taip viskas veikia, beliko problema su pastoviu ON/OFF junginejimu. Kaip rasyti, kad jei <kazkas> tai laukti naujo round?
ISVYKES

Aurimas
O taip. Jis jau surinko 50 žinučių!
Posts: 79
Joined: 2011 Jul 13 20:33

Re: Pageidavimas[Vip menu]

Post by Aurimas »

Susikurk kintamajį ir kai paspaudžia ON/OFF kintamojo reikšmė 0, naujam rounde kintamojo reikšmę pakeičia į 1. Jei kintamasis 0, tai neleisk atidaryti to meniu.

InvIs
Gana aktyvus vartotojas
Posts: 421
Joined: 2011 Aug 13 11:12
Skype: pksoldierlt
Location: ATOSTOGOSE

Re: Pageidavimas[Vip menu]

Post by InvIs »

Gerai, šitas pavyko. Dabar dar pora klausimų:

Reikia, kad per pirmą roundą neitų pasiimti ginklų. Bandžiau su event_newround, na, bet nepavyko. Yra pasiūlymų, patarimų?
Taip pat, kaip uždrausti tam tikras funkcijas, jei map'as yra toks ir toks, pvz: 35hp_ ka_ fy_ ir pnš.?
ISVYKES

User avatar
aurimasko
Flooderis arba specialistas
Posts: 736
Joined: 2010 Sep 04 08:45

Re: Pageidavimas[Vip menu]

Post by aurimasko »

dėl map tai plugin_init kur nors apačioje įrašai:

Code: Select all

 new mapname[32]get_mapname(mapname, 31) if(equali(mapname, "de_", 3)){vipmenu = false // de_ mapuose neveiks vipmenu} 
rodos taip.

ir kai tuos menu punktus darai tikrinti ar vipmenu įjungtas ar ne . taip gali su dauguma ginklų padaryti.
ir tik pradžioje plugino sukurti kintamuosius new vipmenu ir panašiai.


dėl raundų, tai darai kintamajį tarkim rounds. ir kiekvieną raundo pradžia (na su roundstart eventu) pridedi vieną raundą rounds++, o vipmenu kode tikrinti ar raundų mažiau negu reikia ar daugiau. jeigu mažiau tada neleidi, jeigu daugiau leidi. bet reikia dar restart evente padaryti, kad nuo nulio vėl skaičiuotų.

InvIs
Gana aktyvus vartotojas
Posts: 421
Joined: 2011 Aug 13 11:12
Skype: pksoldierlt
Location: ATOSTOGOSE

Re: Pageidavimas[Vip menu]

Post by InvIs »

Taip suprantu, bet pas mane kode jau yra hamspawn forwardas. O jis buvo reikalingas, nuo ON/OFF buginimo. Ir nessvarbu kiek roundų, kai žmogus prisikelia, ginklų ėmimą padaro = 1.
ISVYKES

User avatar
aurimasko
Flooderis arba specialistas
Posts: 736
Joined: 2010 Sep 04 08:45

Re: Pageidavimas[Vip menu]

Post by aurimasko »

nes hamspawn iškviečiamas žaidėjui atsirespawninus. riekia tikrinti ar roundų ne per mažai/

InvIs
Gana aktyvus vartotojas
Posts: 421
Joined: 2011 Aug 13 11:12
Skype: pksoldierlt
Location: ATOSTOGOSE

Re: Pageidavimas[Vip menu]

Post by InvIs »

Code: Select all

#include <amxmodx>#include <amxmisc>#include <engine>#include <hamsandwich>#include <fun>#include <cstrike> #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_Damage[33]new bool: Multi_Jump[33]new bool: Vampire[33] new bool:HasC4[33] new PlayerPos[MaxPlayers + 1] new JumpNUM[33] = 0 new bool: toggle_m4a1[33]new bool: toggle_ak47[33]new ginklai[33]new granatos[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", "20.0")     register_cvar("cpsm_health_kill", "5")    register_cvar("cpsm_health_hs", "10")    register_cvar("cpsm_maxjumps", "1")     RegisterHam(Ham_Spawn, "player", "player_spawn", 1)     register_clcmd("say /cp", "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")     g_MaxPlayers = get_maxplayers()} public client_connect(id){    DoJump[id] = false    JumpNUM[id] = 0} public player_spawn(id){if(!is_user_alive(id) && get_user_flags(id) & ADMIN_LEVEL_H)return HAM_IGNOREDginklai[id] = 1granatos[id] = 1if(toggle_m4a1[id] == true && cs_get_user_hasprim(id)){    cs_set_user_bpammo(id, CSW_DEAGLE, 200)    cs_set_user_bpammo(id, CSW_USP, 200)    cs_set_user_bpammo(id, CSW_GLOCK18, 200)    cs_set_user_bpammo(id, CSW_P228, 200)    cs_set_user_bpammo(id, CSW_ELITE, 200)    cs_set_user_bpammo(id, CSW_FIVESEVEN, 200)    cs_set_user_bpammo(id, CSW_FAMAS, 200)    cs_set_user_bpammo(id, CSW_SG552, 200)    cs_set_user_bpammo(id, CSW_AK47, 200)    cs_set_user_bpammo(id, CSW_M4A1, 200)    cs_set_user_bpammo(id, CSW_AUG, 200)    cs_set_user_bpammo(id, CSW_SCOUT, 200)    cs_set_user_bpammo(id, CSW_AWP, 200)    cs_set_user_bpammo(id, CSW_G3SG1, 200)    cs_set_user_bpammo(id, CSW_SG550, 200)    cs_set_user_bpammo(id, CSW_XM1014, 200)    cs_set_user_bpammo(id, CSW_M3, 200)    cs_set_user_bpammo(id, CSW_GALIL, 200)    cs_set_user_bpammo(id, CSW_TMP, 200)    cs_set_user_bpammo(id, CSW_P90, 200)    cs_set_user_bpammo(id, CSW_MP5NAVY, 200)    cs_set_user_bpammo(id, CSW_MAC10, 200)    cs_set_user_bpammo(id, CSW_UMP45, 200)    cs_set_user_bpammo(id, CSW_M249, 200)}else if(toggle_m4a1[id] == true){    if (user_has_weapon(id, CSW_C4) && get_user_team(id) == 1)        HasC4[id] = true;    else        HasC4[id] = false;    strip_user_weapons(id)    give_item(id, "weapon_knife")    give_item(id, "weapon_m4a1")    cs_set_user_bpammo(id, CSW_M4A1, 200)    give_item(id, "weapon_deagle")    cs_set_user_bpammo(id, CSW_DEAGLE, 200)    if (HasC4[id])    {        give_item(id, "weapon_c4");        cs_set_user_plant( id );    }}else if(toggle_ak47[id] == true && cs_get_user_hasprim(id)){    cs_set_user_bpammo(id, CSW_DEAGLE, 200)    cs_set_user_bpammo(id, CSW_USP, 200)    cs_set_user_bpammo(id, CSW_GLOCK18, 200)    cs_set_user_bpammo(id, CSW_P228, 200)    cs_set_user_bpammo(id, CSW_ELITE, 200)    cs_set_user_bpammo(id, CSW_FIVESEVEN, 200)    cs_set_user_bpammo(id, CSW_FAMAS, 200)    cs_set_user_bpammo(id, CSW_SG552, 200)    cs_set_user_bpammo(id, CSW_AK47, 200)    cs_set_user_bpammo(id, CSW_M4A1, 200)    cs_set_user_bpammo(id, CSW_AUG, 200)    cs_set_user_bpammo(id, CSW_SCOUT, 200)    cs_set_user_bpammo(id, CSW_AWP, 200)    cs_set_user_bpammo(id, CSW_G3SG1, 200)    cs_set_user_bpammo(id, CSW_SG550, 200)    cs_set_user_bpammo(id, CSW_XM1014, 200)    cs_set_user_bpammo(id, CSW_M3, 200)    cs_set_user_bpammo(id, CSW_GALIL, 200)    cs_set_user_bpammo(id, CSW_TMP, 200)    cs_set_user_bpammo(id, CSW_P90, 200)    cs_set_user_bpammo(id, CSW_MP5NAVY, 200)    cs_set_user_bpammo(id, CSW_MAC10, 200)    cs_set_user_bpammo(id, CSW_UMP45, 200)    cs_set_user_bpammo(id, CSW_M249, 200)}else if(toggle_ak47[id] == true){    if (user_has_weapon(id, CSW_C4) && get_user_team(id) == 1)        HasC4[id] = true;    else        HasC4[id] = false;    strip_user_weapons(id)    give_item(id, "weapon_knife")    give_item(id, "weapon_ak47")    cs_set_user_bpammo(id, CSW_AK47, 200)    give_item(id, "weapon_deagle")    cs_set_user_bpammo(id, CSW_DEAGLE, 200)    if (HasC4[id])    {        give_item(id, "weapon_c4");        cs_set_user_plant( id );    }}if(Status[id][0] == true){    give_item(id, "weapon_flashbang")    give_item(id, "weapon_flashbang")    give_item(id, "weapon_smokegrenade")    give_item(id, "weapon_hegrenade")    give_item(id, "item_assaultsuit")    give_item(id, "item_thighpack")}return HAM_IGNORED} public Ev_DeathMsg(){    new attacker = read_data(1)     new Health    new HP_Add     if (Vampire[attacker] == true)    {        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[id] == true)            {                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//ctrcp")} 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] \wGranatos/Sarvai. \yStatusas\d: \r%s.", Status[id][0] ? "\w[\yON\w]" : "\w[\rOFF\w]")        format(szMsg2, 59, "\d[\rCP\d] \wBullet Damage. \yStatusas\d: \r%s.", Status[id][1] ? "\w[\yON\w]" : "\w[\rOFF\w]")        format(szMsg3, 59, "\d[\rCP\d] \wMulti Jump. \yStatusas\d: \r%s.", Status[id][2] ? "\w[\yON\w]" : "\w[\rOFF\w]")        format(szMsg4, 59, "\d[\rCP\d] \wM4A1 + Deagle. \yStatusas\d: \r%s.", Status[id][3] ? "\w[\yON\w]" : "\w[\rOFF\w]")        format(szMsg5, 59, "\d[\rCP\d] \wAk47 + Deagle. \yStatusas\d: \r%s.", Status[id][4] ? "\w[\yON\w]" : "\w[\rOFF\w]")        format(szMsg6, 59, "\d[\rCP\d] \wHP Uz Kill. \yStatusas\d: \r%s.", Status[id][5] ? "\w[\yON\w]" : "\w[\rOFF\w]")         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            granatos[id] = 0        }        else if(granatos[id] == 0)        {            Status[id][0] = false            print_color(id, "/y[/gCP/y] Palauk kito round.")        }        else        {            Status[id][0] = true            give_item(id, "weapon_flashbang")            give_item(id, "weapon_flashbang")            give_item(id, "weapon_smokegrenade")            give_item(id, "weapon_hegrenade")            give_item(id, "item_assaultsuit")            give_item(id, "item_thighpack")        }    }        if (item == 1)    {        if (Status[id][1])        {            Status[id][1] = false            Bullet_Damage[id] = false        }        else        {            Status[id][1] = true            Bullet_Damage[id] = true            }    }        if (item == 2)    {        if (Status[id][2])        {            Status[id][2] = false            Multi_Jump[id] = false        }        else        {            Status[id][2] = true            Multi_Jump[id] = true        }    }        if (item == 3)    {        if (Status[id][3])        {            Status[id][3] = false            toggle_m4a1[id] = false            ginklai[id] = 0        }        else if(ginklai[id] == 0)        {            Status[id][3] = false            print_color(id, "/y[/gCP/y] Palauk kito round.")        }        else if (Status[id][4] == true)        {            Status[id][3] = false            toggle_m4a1[id] = false            print_color(id, "/y[/gCP/y] AK47 jau ijungta.")        }        else        {            Status[id][3] = true            toggle_m4a1[id] = true            if (user_has_weapon(id, CSW_C4) && get_user_team(id) == 1)                HasC4[id] = true;            else                HasC4[id] = false;            strip_user_weapons(id)            give_item(id, "weapon_knife")            give_item(id, "weapon_m4a1")            cs_set_user_bpammo(id, CSW_M4A1, 200)            give_item(id, "weapon_deagle")            cs_set_user_bpammo(id, CSW_DEAGLE, 200)            if (HasC4[id])            {                give_item(id, "weapon_c4");                cs_set_user_plant( id );            }        }    }        if (item == 4)    {        if (Status[id][4])        {            Status[id][4] = false            toggle_ak47[id] = false            ginklai[id] = 0        }        else if(ginklai[id] == 0)        {            Status[id][4] = false            print_color(id, "/y[/gCP/y] Palauk kito round.")        }        else if (Status[id][3] == true)        {            Status[id][4] = false            toggle_ak47[id] = false            print_color(id, "/y[/gCP/y] M4A1 jau ijungta.")        }        else        {            Status[id][4] = true            toggle_ak47[id] = true            if (user_has_weapon(id, CSW_C4) && get_user_team(id) == 1)                HasC4[id] = true;            else                HasC4[id] = false;            strip_user_weapons(id)            give_item(id, "weapon_knife")            give_item(id, "weapon_ak47")            cs_set_user_bpammo(id, CSW_AK47, 200)            give_item(id, "weapon_deagle")            cs_set_user_bpammo(id, CSW_DEAGLE, 200)            if (HasC4[id])            {                give_item(id, "weapon_c4");                cs_set_user_plant( id );            }        }    }        if (item == 5)    {        if (Status[id][5])        {            Status[id][5] = false            Vampire[id] = false        }        else        {            Status[id][5] = true            Vampire[id] = true        }    }        Main_Server_Menu(id)        return PLUGIN_HANDLED} public client_PreThink(id){    if (!is_user_alive(id))         return PLUGIN_CONTINUE     new nbut = get_user_button(id)    new obut = get_user_oldbutton(id)     if (Multi_Jump[id] == true)    {        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        }    }    return PLUGIN_CONTINUE} public client_PostThink(id){    if (!is_user_alive(id) && get_user_flags(id) & ADMIN_LEVEL_H)         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()        }}
Na, ką ankščiau padarydavau su paaiškinimu, dabar nebeišeina.
Galit padaryti, kad pluginas neveiktų 35hp_ ka_ awp_ mapuose?
Taip pat noriu, kad pirmame rounde neveiktų AK47 ir M4A1 funkcijos.

User avatar
aaarnas
Vyr. diskusijų administratorius
Posts: 3891
Joined: 2010 Aug 31 13:21
Skype: fiarno
Contact:

Re: Pageidavimas[Vip menu]

Post by aaarnas »

Raundus reikia skaičiuoti su HLTV eventu.
Palikau CS pasaulį ;/ . Nebepasiekiamas.

InvIs
Gana aktyvus vartotojas
Posts: 421
Joined: 2011 Aug 13 11:12
Skype: pksoldierlt
Location: ATOSTOGOSE

Re: Pageidavimas[Vip menu]

Post by InvIs »

Jau daugmaz viska pasidariau, dekui. Forumas tikrai daug ko pamoko.
ISVYKES

Post Reply

Who is online

Users browsing this forum: No registered users and 3 guests