Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <amxmodx>
- #include <fakemeta_util>
- #include <cstrike>
- #include <hamsandwich>
- new keys = MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4|MENU_KEY_5|MENU_KEY_6|MENU_KEY_7|MENU_KEY_0;
- static szPdamag[33],szGjump[33],szInvis[33],PLUGIN[][]={"Gifts For New Year","1.0","Seroff"};
- new szMenu[][]={
- "\yМеню \wподарков \yк \rНовыму году^n^n",
- "\y[\r1\y] \wДополнительный прыжок^n",
- "\y[\r2\y] \wНевидимость^n",
- "\y[\r3\y] \wЗаражение^n",
- "\y[\r4\y] \rГраната боевая и заморозку^n",
- "\y[\r5\y] \wАнти-дот^n",
- "\y[\r6\y] \wДвойной урон^n",
- "\y[\r7\y] \wAmmo^n"};
- public plugin_init(){
- register_plugin(PLUGIN[0], PLUGIN[1], PLUGIN[2]);
- RegisterHam(Ham_Player_Jump, "player", "fwd_PlayerJump", false);
- register_menu("case_menu", keys, "func_m");
- register_clcmd("menu_gifts", "menu_gifts");
- RegisterHam(Ham_TakeDamage, "player", "TakeDamage", 0);
- }
- public TakeDamage(victim, inflictor, attacker, Float:damage, damage_type){
- if (victim == attacker || !is_user_connected(attacker)) return HAM_IGNORED;
- if(szPdamag[attacker]){
- SetHamParamFloat(4, damage * 2);
- }
- return HAM_IGNORED
- }
- public menu_gifts(id){
- static menu[650], iLen;
- iLen = 0;
- for(new i;i<sizeof(szMenu);i++){
- iLen += formatex(menu[iLen], charsmax(menu) - iLen, "%s", szMenu[i]);
- }
- iLen += formatex(menu[iLen], charsmax(menu) - iLen, "^n\y[\r0\y] \wВыход^n");
- show_menu(id, keys, menu, -1, "case_menu");
- return PLUGIN_HANDLED
- }
- public func_m(id, key){
- switch(key){
- case 0:{
- if(!szGjump[id]){ szGjump[id]=1; } else szGjump[id]=0;
- }
- case 1:{
- if(!szInvis[id]){
- fm_set_user_rendering(id,kRenderFxNone, 0,0,0, kRenderTransTexture,0);
- szInvis[id]=1;
- }else{
- fm_set_user_rendering(id,kRenderFxNone, 0,0,0, kRenderTransTexture,255);
- szInvis[id]=0;
- }
- }
- case 2:{
- zm_infe(id);
- }
- case 3:{
- fm_give_item(id,"weapon_hegrenade");
- fm_give_item(id,"weapon_smokegrenade");
- }
- case 4:{
- zm_adot(id);
- }
- case 5:{
- if(!szPdamag[id]){ szPdamag[id]=1; } else szPdamag[id]=0;
- }
- case 6:{
- get_ammo(id);
- }
- }
- }
- new Weapon[]={
- CSW_P228,
- CSW_ELITE,
- CSW_FIVESEVEN,
- CSW_USP,
- CSW_GLOCK18,
- CSW_DEAGLE,
- CSW_SCOUT,
- CSW_XM1014,
- CSW_MAC10,
- CSW_AUG,
- CSW_UMP45,
- CSW_SG550,
- CSW_GALIL,
- CSW_AK47,
- CSW_AWP,
- CSW_MP5NAVY,
- CSW_M249,
- CSW_M3,
- CSW_M4A1,
- CSW_TMP,
- CSW_G3SG1,
- CSW_SG552,
- CSW_P90
- }
- new WeaponAmmo[]={
- 52,
- 120,
- 100,
- 100,
- 120,
- 35,
- 90,
- 32,
- 100,
- 90,
- 100,
- 90,
- 90,
- 90,
- 30,
- 120,
- 200,
- 32,
- 90,
- 120,
- 90,
- 90,
- 100
- }
- public get_ammo(id){
- for(new i;i<sizeof(Weapon);i++){
- if(user_has_weapon(id,Weapon[i])) cs_set_user_bpammo(id, Weapon[i], WeaponAmmo[i]);
- }
- }
- public zm_infe(id){
- new i_Menu = menu_create("\rВыберите игрока которого:", "menu_infected");
- new s_Players[32], i_Num, i_Player;
- new s_Name[32], s_Player[10];
- get_players(s_Players, i_Num);
- for (new i; i < i_Num; i++){
- i_Player = s_Players[i];
- get_user_name(i_Player, s_Name, charsmax(s_Name));
- num_to_str(i_Player, s_Player, charsmax(s_Player));
- menu_additem(i_Menu, s_Name, s_Player, 0);
- }
- menu_display(id, i_Menu, 0);
- }
- public menu_infected(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 i_Player = str_to_num(s_Data);
- if (is_user_alive(i_Player)){
- // заражение!
- }
- menu_destroy(menu)
- return PLUGIN_HANDLED
- }
- public zm_adot(id){
- new i_Menu = menu_create("\rВыберите игрока кому дать анти-дот:", "menu_antid");
- new s_Players[32], i_Num, i_Player;
- new s_Name[32], s_Player[10];
- get_players(s_Players, i_Num);
- for (new i; i < i_Num; i++){
- i_Player = s_Players[i];
- get_user_name(i_Player, s_Name, charsmax(s_Name));
- num_to_str(i_Player, s_Player, charsmax(s_Player));
- menu_additem(i_Menu, s_Name, s_Player, 0);
- }
- menu_display(id, i_Menu, 0);
- }
- public menu_antid(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 i_Player = str_to_num(s_Data);
- if (is_user_alive(i_Player)){
- // анти-дот!
- }
- menu_destroy(menu)
- return PLUGIN_HANDLED
- }
- public client_putinserver(id){
- szInvis[id]=0;
- szGjump[id]=0;
- szPdamag[id]=0;
- }
- public client_disconnect(id){
- szInvis[id]=0;
- szGjump[id]=0;
- szPdamag[id]=0;
- }
- stock register_menu(const title[],keys,const function[],outside=0) register_menucmd(register_menuid(title,outside),keys,function);
- public fwd_PlayerJump(id){
- if(!szGjump[id]) return;
- if(pev(id, pev_oldbuttons) & IN_JUMP) return; // нужно
- static iJump[33];
- new Float:velocity[3]; pev(id, pev_velocity, velocity);
- if(iJump[id] >= 2){
- if(pev(id, pev_flags) & FL_ONGROUND){
- iJump[id] = 1;
- velocity[2] = random_float(295.0, 305.0);
- }
- }else{
- iJump[id]++;
- velocity[2] = random_float(295.0, 305.0);
- }
- set_pev(id, pev_velocity, velocity);
- set_pev(id, pev_gaitsequence, 6);
- }
Advertisement
Add Comment
Please, Sign In to add comment