Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <amxmodx>
- #include <engine>
- #include <fakemeta>
- #include <hamsandwich>
- #include <fakemeta_util>
- #define FLAG_ADMIN ADMIN_RESERVATION
- #define FLAG_VIP ADMIN_LEVEL_H
- #define FL_WATERJUMP (1<<11)
- #define FL_ONGROUND (1<<9)
- new FastSpeed[33], Bunny_Hop[33], depbhop[33], bool:freeaccele
- new Speed[33], Gravity[33], Render[33], NoSpeed[33]
- new Twojump[33], jumpnum[33], bool:dojump[33] = false
- public plugin_init()
- {
- register_plugin("NightTime_Menu", "1.0", "StudenT")
- RegisterHam(Ham_Spawn, "player", "SpawnPlayer", 1)
- register_event("CurWeapon", "WeaponChange", "be", "1=1")
- register_forward(FM_PlayerPostThink, "PostThink")
- register_forward(FM_PlayerPreThink, "PreThink")
- register_cvar("night_menu", "1")
- register_clcmd("say /night", "NightMenu")
- }
- public WeaponChange(id)
- {
- if(get_cvar_num("night_menu"))
- {
- if(NoSpeed[id])
- fm_set_user_maxspeed(id, 400.0)
- }
- }
- public SpawnPlayer(id)
- {
- if(is_user_connected(id) && is_user_alive(id))
- {
- if(Speed[id])
- {
- fm_set_user_maxspeed(id, 400.0)
- NoSpeed[id] = true
- }
- if(Gravity[id])
- fm_set_user_gravity(id, 0.4)
- if(Render[id])
- fm_set_user_rendering(id,kRenderFxGlowShell, random_num(0, 255), random_num(0, 255), random_num(0, 255),kRenderNormal,25)
- }
- }
- public NightMenu(id)
- {
- if(!get_cvar_num("night_menu"))
- return PLUGIN_CONTINUE
- new Hours[3], HourWork[18] = {23, 00, 1, 2, 3, 4, 5, 6, 7, 8, 9}
- get_time("%H", Hours, sizeof(Hours)-1)
- freeaccele = false
- depbhop[id] = false
- for(new i = 0; i <= 17; i++)
- {
- if(str_to_num(Hours) == HourWork[i])
- freeaccele = true
- }
- if(!Bunny_Hop[id] && freeaccele)
- depbhop[id] = true
- new menu, text[128], Time[32]
- get_time("%H:%M", Time, charsmax(Time))
- if(get_user_flags(id) & FLAG_VIP)
- formatex(text, charsmax(text), "\yНочное меню^n\dВремя сервера: \r%s^n\dТы: \rVIP^n\dМеню доступно", Time)
- else
- formatex(text, charsmax(text), "\yНочное меню^n\dВремя сервера: \r%s^n\dВсе функции работют с \r23:00 \dдо \r10:00", Time)
- menu = menu_create(text, "NightMenu_Func")
- formatex(text, charsmax(text), "Распрыг: %s", Bunny_Hop[id] ? "\yВкл" : "\rВыкл")
- menu_additem(menu, text, "1", 0)
- if(get_user_flags(id) & FLAG_VIP)
- {
- formatex(text, charsmax(text), "Скорость: %s", Speed[id] ? "\yВкл" : "\rВыкл")
- menu_additem(menu, text, "2", 0)
- formatex(text, charsmax(text), "Гравитация: %s", Gravity[id] ? "\yВкл" : "\rВыкл")
- menu_additem(menu, text, "3", 0)
- formatex(text, charsmax(text), "Свечение: %s", Render[id] ? "\yВкл" : "\rВыкл")
- menu_additem(menu, text, "4", 0)
- if(!Bunny_Hop[id])
- menu_additem(menu, "Ускоритель: \rВключите распрыг", "5", ADMIN_ADMIN)
- else
- {
- formatex(text, charsmax(text), "Ускоритель: %s", FastSpeed[id] ? "\yВкл" : "\rВыкл")
- menu_additem(menu, text, "5", 0)
- }
- formatex(text, charsmax(text), "Дв.прыжок: %s", Twojump[id] ? "\yВкл" : "\rВыкл")
- menu_additem(menu, text, "6", 0)
- }
- else if(get_user_flags(id) & FLAG_ADMIN)
- {
- menu_additem(menu, "Скорость: \rНедоступна", "2", ADMIN_ADMIN)
- menu_additem(menu, "Гравитация: \rНедоступна", "3", ADMIN_ADMIN)
- menu_additem(menu, "Свечение: \rНедоступно", "4", ADMIN_ADMIN)
- if(!Bunny_Hop[id])
- menu_additem(menu, "Ускоритель: \rВключите распрыг", "5", ADMIN_ADMIN)
- else
- {
- formatex(text, charsmax(text), "Ускоритель: %s", FastSpeed[id] ? "\yВкл" : "\rВыкл")
- menu_additem(menu, text, "5", 0)
- }
- menu_additem(menu, "Дв.прыжок: \rНедоступен", "6", ADMIN_ADMIN)
- }
- else
- {
- if(freeaccele)
- {
- formatex(text, charsmax(text), "Скорость: %s", Speed[id] ? "\yВкл" : "\rВыкл")
- menu_additem(menu, text, "2", 0)
- formatex(text, charsmax(text), "Гравитация: %s", Gravity[id] ? "\yВкл" : "\rВыкл")
- menu_additem(menu, text, "3", 0)
- formatex(text, charsmax(text), "Свечение: %s", Render[id] ? "\yВкл" : "\rВыкл")
- menu_additem(menu, text, "4", 0)
- if(!Bunny_Hop[id])
- menu_additem(menu, "Ускоритель: \rВключите распрыг", "5", ADMIN_ADMIN)
- else
- {
- formatex(text, charsmax(text), "Ускоритель: %s", FastSpeed[id] ? "\yВкл" : "\rВыкл")
- menu_additem(menu, text, "5", 0)
- }
- formatex(text, charsmax(text), "Дв.прыжок: %s", Twojump[id] ? "\yВкл" : "\rВыкл")
- menu_additem(menu, text, "6", 0)
- }
- else
- {
- menu_additem(menu, "Скорость: \rНедоступна", "2", ADMIN_ADMIN)
- menu_additem(menu, "Гравитация: \rНедоступна", "3", ADMIN_ADMIN)
- menu_additem(menu, "Свечение: \rНедоступно", "4", ADMIN_ADMIN)
- menu_additem(menu, "Ускоритель: \rНедоступен", "5", ADMIN_ADMIN)
- menu_additem(menu, "Дв.прыжок: \rНедоступен", "6", ADMIN_ADMIN)
- }
- }
- menu_setprop(menu, MPROP_EXITNAME, "Выход")
- menu_display(id, menu, 0)
- return PLUGIN_HANDLED
- }
- public NightMenu_Func(id, menu, item)
- {
- if(item == MENU_EXIT)
- {
- menu_destroy(menu)
- return PLUGIN_HANDLED
- }
- new s_Data[6], s_Name[64], i_Access, i_Callback
- menu_item_getinfo(menu, item, i_Access, s_Data, charsmax(s_Data), s_Name, charsmax(s_Name), i_Callback)
- new key = str_to_num(s_Data)
- switch(key)
- {
- case 1:
- {
- switch(Bunny_Hop[id])
- {
- case false:
- {
- Bunny_Hop[id] = true
- }
- case true:
- {
- depbhop[id] = true
- FastSpeed[id] = false
- Bunny_Hop[id] = false
- }
- }
- }
- case 2:
- {
- switch(Speed[id])
- {
- case false:
- {
- fm_set_user_maxspeed(id, 400.0)
- Speed[id] = true
- NoSpeed[id] = true
- }
- case true:
- {
- fm_set_user_maxspeed(id, 250.0)
- Speed[id] = false
- NoSpeed[id] = false
- }
- }
- }
- case 3:
- {
- switch(Gravity[id])
- {
- case false:
- {
- fm_set_user_gravity(id, 0.5)
- Gravity[id] = true
- }
- case true:
- {
- fm_set_user_gravity(id, 0.0)
- Gravity[id] = false
- }
- }
- }
- case 4:
- {
- switch(Render[id])
- {
- case false:
- {
- fm_set_user_rendering(id,kRenderFxGlowShell, random_num(0, 255), random_num(0, 255), random_num(0, 255),kRenderNormal,25)
- Render[id] = true
- }
- case true:
- {
- fm_set_user_rendering(id)
- Render[id] = false
- }
- }
- }
- case 5: FastSpeed[id] = FastSpeed[id] ? false : true
- case 6: Twojump[id] = Twojump[id] ? false : true
- }
- NightMenu(id)
- return PLUGIN_HANDLED
- }
- public client_PreThink(id)
- {
- if(!get_cvar_num("night_menu"))
- return PLUGIN_CONTINUE
- entity_set_float(id, EV_FL_fuser2, 0.0)
- if(entity_get_int(id, EV_INT_button) & 2)
- {
- new flags = entity_get_int(id, EV_INT_flags)
- if(flags & FL_WATERJUMP)
- return PLUGIN_CONTINUE
- if(entity_get_int(id, EV_INT_waterlevel) >= 2)
- return PLUGIN_CONTINUE
- if(!(flags & FL_ONGROUND))
- return PLUGIN_CONTINUE
- new Float:vecVelocity[3]
- entity_get_vector(id, EV_VEC_velocity, vecVelocity)
- if(FastSpeed[id])
- {
- vecVelocity[0] *= 1.20
- vecVelocity[1] *= 1.20
- }
- if(Bunny_Hop[id])
- vecVelocity[2] += 250.0
- entity_set_vector(id, EV_VEC_velocity, vecVelocity)
- entity_set_int(id, EV_INT_gaitsequence, 6)
- }
- return PLUGIN_CONTINUE
- }
- public PostThink(id)
- {
- if(get_cvar_num("night_menu"))
- {
- if(Twojump[id])
- {
- if(!is_user_alive(id)) return PLUGIN_CONTINUE
- if(dojump[id] == true)
- {
- new Float:velocity[3]
- pev(id, pev_velocity, velocity)
- velocity[2] = random_float(295.0,305.0)
- set_pev(id, pev_velocity, velocity)
- dojump[id] = false
- return PLUGIN_CONTINUE
- }
- }
- }
- return PLUGIN_CONTINUE
- }
- public PreThink(id)
- {
- if(get_cvar_num("night_menu"))
- {
- if(Twojump[id])
- {
- if(!is_user_alive(id)) return PLUGIN_CONTINUE
- new nbut = pev(id, pev_button)
- new obut = pev(id, pev_oldbuttons)
- if((nbut & IN_JUMP) && !(pev(id, pev_flags) & FL_ONGROUND) && !(obut & IN_JUMP))
- {
- if(jumpnum[id] < 1)
- {
- dojump[id] = true
- jumpnum[id]++
- return PLUGIN_CONTINUE
- }
- }
- if((nbut & IN_JUMP) && (pev(id, pev_flags) & FL_ONGROUND))
- {
- jumpnum[id] = 0
- return PLUGIN_CONTINUE
- }
- }
- }
- return PLUGIN_CONTINUE
- }
- public client_connect(id)
- {
- Bunny_Hop[id] = false
- FastSpeed[id] = false
- Speed[id] = false
- Gravity[id] = false
- Render[id] = false
- Twojump[id] = false
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement