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?
Pageidavimas[Vip menu]
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.
Š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.
-
- Gana aktyvus vartotojas
- Posts: 421
- Joined: 2011 Aug 13 11:12
- Skype: pksoldierlt
- Location: ATOSTOGOSE
Re: Pageidavimas[Vip menu]
ISVYKES
Re: Pageidavimas[Vip menu]
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.
-
- Gana aktyvus vartotojas
- Posts: 421
- Joined: 2011 Aug 13 11:12
- Skype: pksoldierlt
- Location: ATOSTOGOSE
Re: Pageidavimas[Vip menu]
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š.?
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
Re: Pageidavimas[Vip menu]
dėl map tai plugin_init kur nors apačioje įrašai:
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ų.
Code: Select all
new mapname[32]get_mapname(mapname, 31) if(equali(mapname, "de_", 3)){vipmenu = false // de_ mapuose neveiks vipmenu}
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ų.
-
- Gana aktyvus vartotojas
- Posts: 421
- Joined: 2011 Aug 13 11:12
- Skype: pksoldierlt
- Location: ATOSTOGOSE
Re: Pageidavimas[Vip menu]
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
Re: Pageidavimas[Vip menu]
nes hamspawn iškviečiamas žaidėjui atsirespawninus. riekia tikrinti ar roundų ne per mažai/
-
- Gana aktyvus vartotojas
- Posts: 421
- Joined: 2011 Aug 13 11:12
- Skype: pksoldierlt
- Location: ATOSTOGOSE
Re: Pageidavimas[Vip menu]
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() }}
Galit padaryti, kad pluginas neveiktų 35hp_ ka_ awp_ mapuose?
Taip pat noriu, kad pirmame rounde neveiktų AK47 ir M4A1 funkcijos.
- aaarnas
- Vyr. diskusijų administratorius
- Posts: 3891
- Joined: 2010 Aug 31 13:21
- Skype: fiarno
- Contact:
Re: Pageidavimas[Vip menu]
Raundus reikia skaičiuoti su HLTV eventu.
Palikau CS pasaulį ;/ . Nebepasiekiamas.
-
- Gana aktyvus vartotojas
- Posts: 421
- Joined: 2011 Aug 13 11:12
- Skype: pksoldierlt
- Location: ATOSTOGOSE
Re: Pageidavimas[Vip menu]
Jau daugmaz viska pasidariau, dekui. Forumas tikrai daug ko pamoko.
ISVYKES
Who is online
Users browsing this forum: No registered users and 1 guest