hlmod.hu

Magyar Half-Life Mód közösség!
Pontos idő: 2025.06.17. 15:24



Jelenlévő felhasználók

Jelenleg 373 felhasználó van jelen :: 2 regisztrált, 0 rejtett és 371 vendég

A legtöbb felhasználó (2761 fő) 2025.01.09. 20:06-kor tartózkodott itt.

Regisztrált felhasználók: Bing [Bot], Google [Bot]az elmúlt 5 percben aktív felhasználók alapján

Utoljára aktív
Ahhoz hogy lásd ki volt utoljára aktív, be kell jelentkezned.



Az oldal teljeskörű
használatához regisztrálj.

Regisztráció

Kereső


Új téma nyitása Hozzászólás a témához  [1 hozzászólás ] 
Szerző Üzenet
 Hozzászólás témája: Zombie Raj 2.4
HozzászólásElküldve:2012.06.22. 09:27 
Offline
Nagyúr
Avatar

Csatlakozott:2011.09.07. 18:41
Hozzászólások:642
Megköszönt másnak: 15 alkalommal
Megköszönték neki: 6 alkalommal
Az lenne a problémám, hogy csak simán botokkal szeretném ezt a modot játszani csak sajnos ha botok beállnak CT-be akkor auto restart, meghalnak és átkerülnek T-be.Azt szeretném kérni hogy valaki megtudná nekem csinálni, hogy ne legyenek killelve és áthelyezve?

Kód:
  1. #include <amxmodx>

  2.     #include <amxmisc>

  3.     #include <cstrike>

  4.     #include <fun>

  5.     #include <engine>

  6.     #include <fakemeta>

  7.      

  8.     //Sets the sky you want for your server

  9.     #define SKYNAME "space"

  10.      

  11.     //The time before zombies have leap at round start. Has to be a float/decimal

  12.     #define LEAP_CD 15.0

  13.      

  14.      

  15.     #define MAX_PLAYERS 32

  16.     new bool:g_restart_attempt[MAX_PLAYERS + 1]

  17.      

  18.     #define ZOMBIE_MISS 2

  19.     new miss_zombie[ZOMBIE_MISS][] = {"zombie/claw_miss1.wav", "zombie/claw_miss2.wav" }

  20.      

  21.     #define ZOMBIE_HIT 3

  22.     new hit_zombie[ZOMBIE_HIT][] = {"zombie/claw_strike1.wav", "zombie/claw_strike2.wav","zombie/claw_strike3.wav" }

  23.      

  24.     #define ZOMBIE_PAIN 2

  25.     new pain_zombie[ZOMBIE_PAIN][] = {"zombie_swarm/zombie_pain1.wav", "zombie_swarm/zombie_pain2.wav" }

  26.      

  27.     #define HUMAN_PAIN 2

  28.     new pain_human[HUMAN_PAIN][] = {"zombie_swarm/human_pain1.wav", "zombie_swarm/human_pain2.wav" }

  29.      

  30.     #define Keysmenu_1 (1<<0)|(1<<1)|(1<<2)|(1<<3)|(1<<4)|(1<<5)|(1<<9)

  31.     #define fm_find_ent_by_class(%1,%2) engfunc(EngFunc_FindEntityByString, %1, "classname", %2)

  32.      

  33.     #define SLOT_PRIMARY 1

  34.     #define SLOT_SECONDARY 2

  35.     #define SLOT_KNIFE 3

  36.     #define SLOT_GRENADE 4

  37.     #define SLOT_C4 5

  38.      

  39.     #define PRIMARY_WEAPONS_BIT_SUM ((1<<CSW_SCOUT)|(1<<CSW_XM1014)|(1<<CSW_MAC10)|(1<<CSW_AUG)|(1<<CSW_UMP45)|(1<<CSW_SG550)|(1<<CSW_GALIL)|(1<<CSW_FAMAS)|(1<<CSW_AWP)|(1<<CSW_MP5NAVY)|(1<<CSW_M249)|(1<<CSW_M3)|(1<<CSW_M4A1)|(1<<CSW_TMP)|(1<<CSW_G3SG1)|(1<<CSW_SG552)|(1<<CSW_AK47)|(1<<CSW_P90))

  40.     #define SECONDARY_WEAPONS_BIT_SUM ((2<<CSW_P228)|(2<<CSW_ELITE)|(2<<CSW_FIVESEVEN)|(CSW_USP)|(1<<CSW_GLOCK18)|(1<<CSW_DEAGLE))

  41.     stock g_WeaponSlots[] = { 0, 2, 0, 1, 4, 1, 5, 1, 1, 4, 2, 2, 1, 1, 1, 1, 2, 2, 1, 1, 1, 1, 1, 1 ,1, 4, 2, 1, 1, 3, 1 }

  42.     stock g_MaxBPAmmo[] = { 0, 52, 0, 90, 1, 32, 1, 100, 90, 1, 120, 100, 100, 90, 90, 90, 100, 120, 30, 120, 200, 21, 90, 120, 90, 2, 35, 90, 90, 0, 100 }

  43.      

  44.     new bool:g_zombie[33]

  45.     new bool:buying

  46.     new bool:g_speed

  47.      

  48.     new mod_name[32] = "HUN Zombi Raj"

  49.      

  50.     //Pcvars...

  51.     new zomb_switch, zomb_hp,zomb_ap,zomb_speed,zomb_lightning,

  52.     zomb_leap,zomb_money,zomb_zdmg, zomb_hdmg,zomb_ammo, zomb_nvg, zomb_obj

  53.      

  54.     new MODEL[256], zomb_model, use_model

  55.     new bombMap = 0

  56.     new hostageMap = 0

  57.      

  58.     //The old commands

  59.     new g_autoteam, g_limitteams, g_flashlight

  60.      

  61.     new hudsync

  62.      

  63.     #define PLUGIN "Zombie Swarm"

  64.     #define VERSION "2.4"

  65.     #define AUTHOR "Mini_Midget"

  66.      

  67.     public plugin_init()

  68.     {

  69.     register_plugin(PLUGIN, VERSION, AUTHOR)

  70.      

  71.     register_cvar(PLUGIN,VERSION,FCVAR_SERVER)

  72.      

  73.     register_dictionary("zombie_swarm.txt")

  74.      

  75.     register_logevent("logevent_round_start",2, "1=Round_Start")

  76.     register_logevent("logevent_round_end", 2, "1=Round_End")

  77.      

  78.     register_event("ResetHUD","event_hud_reset", "be")

  79.     register_event("TextMsg","event_restart_attempt", "a", "2=#Game_will_restart_in")

  80.     register_event("CurWeapon","event_cur_weapon","be", "1=1")

  81.     register_event("Damage","event_damage_scream","be","2!0","3=0")

  82.     register_event("Damage", "event_damage", "be", "2!0","3=0","4!0")

  83.     register_event("StatusIcon", "event_status_icon", "be", "1=1", "1=2", "2=c4")

  84.     register_event("HLTV", "event_new_round", "a", "1=0", "2=0")

  85.      

  86.     register_forward(FM_ClientUserInfoChanged,"fw_info")

  87.     register_forward(FM_PlayerPostThink,"fw_postthink")

  88.     register_forward(FM_Touch,"fw_Touch");

  89.     register_forward( FM_EmitSound, "fw_EmitSound" )

  90.     register_forward(FM_CmdStart, "fw_Cmd")

  91.     register_forward(FM_GetGameDescription,"GameDesc")

  92.      

  93.     register_message(get_user_msgid("Scenario"),"message_scenario");

  94.     register_message(get_user_msgid("BombDrop"),"message_bombdrop");

  95.     register_message(get_user_msgid("AmmoPickup"),"message_ammopickup");

  96.     register_message(get_user_msgid("TextMsg"),"message_textmsg");

  97.     register_message(get_user_msgid("HostagePos"),"message_hostagepos");

  98.      

  99.     register_clcmd("say","clcmd_say")

  100.      

  101.     register_menucmd(register_menuid("Buy Menu"), Keysmenu_1, "buy_menu")

  102.      

  103.     register_clcmd("fullupdate","clcmd_fullupdate")

  104.      

  105.     register_concmd("zombie_swarm", "zsonoff", ADMIN_BAN, "<0/1> Disable/Enable Zombie Swarm")

  106.      

  107.     zomb_switch = register_cvar("zs_enabled","1")

  108.     zomb_hp = register_cvar("zs_health","5000")

  109.     zomb_ap = register_cvar("zs_armour","500")

  110.     zomb_speed = register_cvar("zs_speed","300")

  111.     zomb_lightning = register_cvar("zs_lightning","1")

  112.     zomb_leap = register_cvar("zs_leap","1")

  113.     zomb_money = register_cvar("zs_money","10000")

  114.     zomb_zdmg = register_cvar("zs_zdmg","55")

  115.     zomb_hdmg = register_cvar("zs_hdmg","150")

  116.     zomb_ammo = register_cvar("zs_ammo","2")

  117.     zomb_nvg = register_cvar("zs_nvg","1")

  118.     zomb_obj = register_cvar("zs_objectives","1")

  119.      

  120.     zomb_model = register_cvar("zs_model","zombie_swarm")

  121.     use_model = register_cvar("zs_use","1")

  122.      

  123.     if(fm_find_ent_by_class(1, "info_bomb_target") || fm_find_ent_by_class(1, "func_bomb_target"))

  124.     bombMap = 1;

  125.      

  126.     if(fm_find_ent_by_class(1,"hostage_entity"))

  127.     hostageMap = 1

  128.      

  129.     g_autoteam = get_cvar_num("mp_autoteambalance")

  130.     g_limitteams = get_cvar_num("mp_limitteams")

  131.     g_flashlight = get_cvar_num("mp_flashlight")

  132.      

  133.     server_cmd("sv_skyname %s", SKYNAME)

  134.     server_cmd("sv_maxspeed 1000")

  135.      

  136.     set_cvar_num("mp_autoteambalance",0)

  137.     set_cvar_num("mp_limitteams", 1)

  138.     set_cvar_num("mp_flashlight", 1)

  139.      

  140.     set_task(1.0, "lightning_effects")

  141.     set_task(1.0, "ambience_loop")

  142.      

  143.     format(mod_name, 31, "Zombie Swarm %s", VERSION)

  144.     hudsync = CreateHudSyncObj()

  145.      

  146.     }

  147.      

  148.     public plugin_precache()

  149.     {

  150.     precache_model("models/player/zombie_swarm/zombie_swarm.mdl")

  151.     precache_model("models/v_knife_zombie.mdl")

  152.     precache_sound("zombie_swarm/ambience.wav")

  153.      

  154.     new i

  155.      

  156.     for (i = 0; i < ZOMBIE_MISS; i++)

  157.     precache_sound(miss_zombie[i])

  158.      

  159.     for (i = 0; i < ZOMBIE_HIT; i++)

  160.     precache_sound(hit_zombie[i])

  161.      

  162.     for (i = 0; i < ZOMBIE_PAIN; i++)

  163.     precache_sound(pain_zombie[i])

  164.      

  165.     for (i = 0; i < HUMAN_PAIN; i++)

  166.     precache_sound(pain_human[i])

  167.     }

  168.      

  169.     public client_putinserver(id)

  170.     {

  171.     g_zombie[id] = false

  172.     g_restart_attempt[id] = false

  173.     g_speed = false

  174.     client_cmd(id, "stopsound")

  175.     }

  176.      

  177.     public zsonoff(id,level,cid)

  178.     {

  179.     if (!cmd_access(id,level,cid,1))

  180.     return PLUGIN_HANDLED

  181.      

  182.     new szArg[5]

  183.     read_argv(1, szArg, 4)

  184.      

  185.     if (equali(szArg,"1") || equali(szArg,"on"))

  186.     {

  187.     if (get_cvar_num("zombie_swarm") == 1)

  188.     {

  189.     console_print(id, "%s is already on!", PLUGIN)

  190.     return PLUGIN_HANDLED

  191.     }

  192.      

  193.     zs_on()

  194.      

  195.     set_hudmessage(255, 255, 255, -1.0, 0.25, 0, 1.0, 5.0, 0.1, 0.2, -1)

  196.     show_hudmessage(0, "%s is now ON!", PLUGIN)

  197.      

  198.     console_print(0, "%s has been turned ON!", PLUGIN)

  199.     client_print(0, print_chat, "%s has been turned ON!", PLUGIN)

  200.      

  201.     return PLUGIN_HANDLED

  202.     }

  203.      

  204.     if (equali(szArg,"0") || equali(szArg,"off"))

  205.     {

  206.     if (get_cvar_num("zs_enabled") == 0)

  207.     {

  208.     console_print(id, "%s is already off!", PLUGIN)

  209.     return PLUGIN_HANDLED

  210.     }

  211.      

  212.     zs_off()

  213.      

  214.     set_hudmessage(255, 255, 255, -1.0, 0.25, 0, 1.0, 5.0, 0.1, 0.2, -1)

  215.     show_hudmessage(0, "%s has been turned OFF!", PLUGIN)

  216.      

  217.     console_print(0, "%s has been turned OFF!", PLUGIN)

  218.     client_print(0, print_chat, "%s has been turned OFF!", PLUGIN)

  219.      

  220.     return PLUGIN_HANDLED

  221.     }

  222.      

  223.     console_print(id, "Invalid argument!")

  224.     client_print(id, print_chat, "Invalid argument!")

  225.      

  226.     return PLUGIN_HANDLED

  227.     }

  228.      

  229.     public zs_on()

  230.     {  

  231.     new maxplayers = get_maxplayers()

  232.     for (new i = 1; i <= maxplayers; i++)

  233.     {

  234.     g_zombie[i] = false

  235.     g_restart_attempt[i] = false

  236.     }

  237.      

  238.     set_cvar_num("zs_enabled", 1)

  239.      

  240.     set_task(1.0, "lightning_effects")

  241.     set_task(1.0, "ambience_loop")

  242.      

  243.     set_cvar_num("mp_autoteambalance",0)

  244.     set_cvar_num("mp_limitteams", 1)

  245.     set_cvar_num("mp_flashlight", 1)

  246.      

  247.     set_cvar_num("sv_restartround", 3)

  248.     }

  249.      

  250.     public zs_off()

  251.     {

  252.     new maxplayers = get_maxplayers()

  253.     for (new i = 1; i <= maxplayers; i++)

  254.     {

  255.     g_zombie[i] = false

  256.     g_restart_attempt[i] = false

  257.     client_cmd(i, "stopsound")

  258.     }

  259.      

  260.     set_cvar_num("zs_enabled", 0)

  261.      

  262.     set_lights("#OFF")

  263.     remove_task(12175)

  264.      

  265.     set_cvar_num("mp_autoteambalance",g_autoteam)

  266.     set_cvar_num("mp_limitteams", g_limitteams)

  267.     set_cvar_num("mp_flashlight", g_flashlight)

  268.      

  269.     set_cvar_num("sv_restartround", 3)

  270.     }

  271.     public GameDesc()

  272.     {

  273.     forward_return(FMV_STRING, mod_name)

  274.      

  275.     return FMRES_SUPERCEDE

  276.     }

  277.      

  278.     public event_new_round(id)

  279.     {

  280.     if(hostageMap && get_pcvar_num(zomb_obj))

  281.     set_task(0.1,"move_hostages")

  282.      

  283.     buying = true

  284.     new Float:buy_time = get_cvar_float("mp_buytime") * 60

  285.     set_task(buy_time, "buy_false", 7294)

  286.      

  287.     g_speed = false

  288.     new freeze = get_cvar_num("mp_freezetime")

  289.     set_task(float(freeze),"allow_speed")

  290.     }

  291.      

  292.     public allow_speed()

  293.     {

  294.     g_speed = true

  295.      

  296.     new players[32], num, i

  297.     get_players(players, num)

  298.     for (i = 0 ; i < num; i++)

  299.     if (g_zombie[players[i]])

  300.     set_user_maxspeed(players[i], (get_pcvar_float(zomb_speed)))

  301.     }

  302.      

  303.     public logevent_round_start(id)

  304.     {

  305.     if(!get_pcvar_num(zomb_switch))

  306.     return PLUGIN_HANDLED

  307.      

  308.     if (get_pcvar_num(zomb_nvg))

  309.     server_cmd("amx_restrict on nvgs")

  310.     else

  311.     server_cmd("amx_restrict off nvgs")

  312.      

  313.     set_task (0.5 , "team_check")

  314.     set_task (5.0 , "StartMsg")

  315.      

  316.     if (g_zombie[id]) set_user_maxspeed(id,(get_pcvar_float(zomb_speed)))

  317.      

  318.     return PLUGIN_CONTINUE

  319.     }

  320.      

  321.     public logevent_round_end()

  322.     {

  323.     if (task_exists(7294))

  324.     remove_task(7294)

  325.     }

  326.      

  327.     public buy_false() buying = false

  328.      

  329.     public clcmd_fullupdate() return PLUGIN_HANDLED

  330.      

  331.     public event_restart_attempt()

  332.     {

  333.     if(!get_pcvar_num(zomb_switch))

  334.     return PLUGIN_HANDLED

  335.      

  336.     new players[32], num

  337.     get_players(players, num, "a")

  338.     for (new i; i < num; i++)

  339.     g_restart_attempt[players[i]] = true

  340.      

  341.     return PLUGIN_CONTINUE

  342.     }

  343.      

  344.     public event_hud_reset(id)

  345.     {

  346.     if(!get_pcvar_num(zomb_switch))

  347.     return PLUGIN_HANDLED

  348.      

  349.     if (g_restart_attempt[id])

  350.     g_restart_attempt[id] = false

  351.      

  352.     set_task(0.2,"event_player_spawn",id)

  353.      

  354.     return PLUGIN_CONTINUE

  355.     }

  356.      

  357.     public event_player_spawn(id)

  358.     {  

  359.     if(!is_user_alive(id))

  360.     return PLUGIN_HANDLED

  361.      

  362.     new CsTeams:team = cs_get_user_team(id)

  363.     new CsArmorType:ArmorType = CS_ARMOR_VESTHELM

  364.      

  365.     if(team == CS_TEAM_T)

  366.     {

  367.     g_zombie[id] = true

  368.     set_task(random_float(0.1,0.5), "Reset_Weapons", id) //Strips zombies if they do have guns

  369.     set_user_health(id,get_pcvar_num(zomb_hp))

  370.     cs_set_user_armor(id,get_pcvar_num(zomb_ap),ArmorType)

  371.     set_user_footsteps(id, 1)

  372.     set_user_gravity(id,0.875)

  373.     cs_set_user_money(id,0)

  374.      

  375.     if (g_speed)

  376.     set_user_maxspeed(id,(get_pcvar_float(zomb_speed)))

  377.      

  378.     if (!cs_get_user_nvg(id))

  379.     {

  380.     cs_set_user_nvg(id,1)

  381.      

  382.     engclient_cmd(id, "nightvision")

  383.     }

  384.     }

  385.     else if(team == CS_TEAM_CT)

  386.     {

  387.     g_zombie[id] = false

  388.     set_user_footsteps(id, 0)

  389.     cs_set_user_money(id, cs_get_user_money(id) + get_pcvar_num(zomb_money))

  390.      

  391.     if (get_pcvar_num(use_model))

  392.     cs_reset_user_model(id)

  393.     }

  394.      

  395.     ShowHUD(id)

  396.      

  397.     return PLUGIN_CONTINUE

  398.     }

  399.      

  400.     public fw_info(id,buffer)

  401.     {

  402.     if (g_zombie[id])

  403.     return FMRES_SUPERCEDE

  404.      

  405.     return FMRES_IGNORED

  406.     }

  407.      

  408.     public fw_postthink(id)

  409.     {

  410.     if (!is_user_alive(id) || !get_pcvar_num(use_model))

  411.     return FMRES_IGNORED

  412.      

  413.     if (g_zombie[id])

  414.     {

  415.     new szModel[33]

  416.     get_pcvar_string(zomb_model, MODEL, 255)

  417.     cs_get_user_model(id, szModel, 32)

  418.      

  419.     if (containi(szModel, MODEL) !=-1 )

  420.     return FMRES_IGNORED

  421.      

  422.     new info = engfunc(EngFunc_GetInfoKeyBuffer, id)

  423.     engfunc(EngFunc_SetClientKeyValue, id, info, "model", MODEL)

  424.      

  425.     return FMRES_IGNORED

  426.     }

  427.      

  428.     return FMRES_IGNORED

  429.     }

  430.      

  431.     public ShowHUD(id)

  432.     {  

  433.     if(!is_user_alive(id))

  434.     return PLUGIN_HANDLED

  435.      

  436.     if(g_zombie[id])

  437.     {

  438.     new hp = get_user_health(id)

  439.     new ap = get_user_armor(id)

  440.     set_hudmessage(255, 180, 0, 0.02, 0.90, 0, 0.0, 0.3, 0.0, 0.0)

  441.     ShowSyncHudMsg(id, hudsync , "HP: %d |AP : %d", hp, ap)

  442.     }

  443.      

  444.     set_task(0.1 , "ShowHUD" , id)

  445.      

  446.     return PLUGIN_CONTINUE

  447.     }

  448.      

  449.     public event_cur_weapon(id)

  450.     {

  451.     if(!get_pcvar_num(zomb_switch))

  452.     return PLUGIN_HANDLED

  453.      

  454.     if(!is_user_alive(id))

  455.     return PLUGIN_HANDLED

  456.      

  457.     new weapon = read_data(2)

  458.     new clip = read_data(3)

  459.      

  460.     if (g_WeaponSlots[weapon] == SLOT_PRIMARY || g_WeaponSlots[weapon] == SLOT_SECONDARY)

  461.     {

  462.     switch (get_pcvar_num(zomb_ammo))

  463.     {  

  464.     case 1:

  465.     {

  466.     new ammo = cs_get_user_bpammo(id, weapon)

  467.      

  468.     if (ammo < g_MaxBPAmmo[weapon])

  469.     {

  470.     cs_set_user_bpammo(id, weapon, g_MaxBPAmmo[weapon])

  471.     }

  472.     }

  473.      

  474.     case 2:

  475.     {

  476.     give_ammo(id , weapon , clip)

  477.     }

  478.     }

  479.     }

  480.      

  481.     if ( g_zombie[id] && g_speed )

  482.     set_user_maxspeed(id,(get_pcvar_float(zomb_speed)))

  483.      

  484.     if (g_zombie[id] && g_WeaponSlots[weapon] == SLOT_KNIFE)

  485.     set_pev(id, pev_viewmodel, engfunc(EngFunc_AllocString, "models/v_knife_zombie.mdl"))

  486.     return PLUGIN_CONTINUE

  487.     }

  488.      

  489.     public give_ammo(id , weapon , clip)

  490.     {

  491.     if (!is_user_alive(id))

  492.     return PLUGIN_HANDLED

  493.      

  494.     if (!clip)

  495.     {

  496.     new weapname[33]

  497.     get_weaponname(weapon , weapname , 32)

  498.     new wpn = -1

  499.     while((wpn = fm_find_ent_by_class(wpn , weapname)) != 0)

  500.     {

  501.     if(id == pev(wpn,pev_owner))

  502.     {

  503.     cs_set_weapon_ammo(wpn , maxclip(weapon))

  504.     break;

  505.     }

  506.     }

  507.     }

  508.     return PLUGIN_CONTINUE

  509.     }

  510.      

  511.     public event_status_icon(id)

  512.     {

  513.     if(!get_pcvar_num(zomb_switch))

  514.     return PLUGIN_HANDLED

  515.      

  516.     engclient_cmd(id, "drop", "weapon_c4")

  517.     set_task(0.1, "delete_c4")

  518.      

  519.     return PLUGIN_CONTINUE

  520.     }

  521.      

  522.     public delete_c4()

  523.     {

  524.     new ent = find_ent_by_class(-1, "weaponbox")

  525.     while (ent > 0)

  526.     {

  527.     new model[33]

  528.     entity_get_string(ent, EV_SZ_model, model, 32)

  529.     if (equali(model, "models/w_backpack.mdl"))

  530.     {

  531.     remove_entity(ent)

  532.     return PLUGIN_CONTINUE

  533.     }

  534.     ent = find_ent_by_class(ent, "weaponbox")

  535.     }

  536.     return PLUGIN_CONTINUE

  537.     }

  538.      

  539.     public Reset_Weapons(id)

  540.     {

  541.     if(!is_user_alive(id))

  542.     return PLUGIN_HANDLED

  543.      

  544.     if(g_zombie[id])

  545.     {

  546.     strip_user_weapons(id)

  547.     give_item(id,"weapon_knife")

  548.      

  549.     if (is_user_bot(id))

  550.     {

  551.     return PLUGIN_HANDLED

  552.     }

  553.      

  554.     else if (get_pcvar_num(zomb_leap))

  555.     {

  556.     set_task(LEAP_CD,"cooldown_begin",id)

  557.     set_hudmessage(255, 255, 255, -1.0, 0.40, 0, 6.0, 14.0)

  558.     show_hudmessage(id, "%L",LANG_PLAYER,"LEAP_WAIT",floatround(LEAP_CD))

  559.     }

  560.     }

  561.      

  562.     return PLUGIN_CONTINUE

  563.     }

  564.      

  565.     public cooldown_begin(id)

  566.     {

  567.     if (!is_user_alive(id))

  568.     return PLUGIN_HANDLED

  569.      

  570.     if (g_zombie[id])

  571.     {

  572.     set_hudmessage(255, 255, 255, -1.0, 0.40, 0, 6.0, 5.0)

  573.     show_hudmessage(id, "%L",LANG_PLAYER,"LEAP_READY")

  574.     give_item(id, "item_longjump")

  575.     }

  576.      

  577.     return PLUGIN_CONTINUE

  578.     }

  579.      

  580.     public team_check()

  581.     {

  582.     new players[32],num,i,id

  583.     get_players(players,num,"d")

  584.     for(i = 0; i < num; i++)

  585.     {

  586.     id = players[i]

  587.     if (!g_zombie[id])

  588.     {

  589.     user_silentkill(id)

  590.     cs_set_user_team(id,CS_TEAM_T)

  591.     }

  592.     }

  593.     return PLUGIN_HANDLED

  594.     }

  595.      

  596.     public StartMsg(id)

  597.     {

  598.     client_print(0,print_chat,"%L",LANG_PLAYER,"WELCOME_MSG", VERSION)

  599.     client_print(0,print_chat,"%L",LANG_PLAYER,"ZOMBIE_MSG", get_pcvar_num(zomb_hp), get_pcvar_num(zomb_ap), get_pcvar_num(zomb_speed))

  600.     client_print(0,print_chat,"%L",LANG_PLAYER,"HELP_MSG")

  601.     }

  602.      

  603.     public lightning_effects()

  604.     {

  605.     if(!get_pcvar_num(zomb_switch))

  606.     return PLUGIN_HANDLED

  607.      

  608.     if (get_pcvar_num(zomb_lightning) == 0)

  609.     {  

  610.     set_lights("#OFF")

  611.     remove_task(12175)

  612.     set_task(20.0,"lightning_effects")

  613.     }

  614.     else if (get_pcvar_num(zomb_lightning) == 1)

  615.     {

  616.     set_lights("a")

  617.     set_task(random_float(10.0,17.0),"thunder_clap",12175)

  618.     }

  619.     else if (get_pcvar_num(zomb_lightning) == 2)

  620.     {  

  621.     set_lights("b")

  622.     remove_task(12175)

  623.     set_task(20.0,"lightning_effects")

  624.     }

  625.     return PLUGIN_CONTINUE

  626.     }

  627.      

  628.     public thunder_clap()

  629.     {

  630.     if(!get_pcvar_num(zomb_switch))

  631.     return PLUGIN_HANDLED

  632.      

  633.     set_lights("p")

  634.     client_cmd(0,"speak ambience/thunder_clap.wav")

  635.      

  636.     set_task(1.25,"lightning_effects",12175)

  637.      

  638.     return PLUGIN_CONTINUE

  639.     }

  640.      

  641.     public ambience_loop()

  642.     {

  643.     if(!get_pcvar_num(zomb_switch))

  644.     return PLUGIN_HANDLED

  645.      

  646.     client_cmd(0,"spk zombie_swarm/ambience.wav")

  647.      

  648.     set_task(17.0,"ambience_loop")

  649.      

  650.     return PLUGIN_CONTINUE

  651.     }

  652.      

  653.     public fw_Touch(pToucher, pTouched)

  654.     {

  655.     if(!get_pcvar_num(zomb_switch))

  656.     return FMRES_IGNORED

  657.      

  658.     if ( !pev_valid(pToucher) || !pev_valid(pTouched) )

  659.     return FMRES_IGNORED

  660.      

  661.     if ( !is_user_connected(pTouched) )

  662.     return FMRES_IGNORED

  663.      

  664.     if ( !g_zombie[pTouched] )

  665.     return FMRES_IGNORED

  666.      

  667.     new className[32]

  668.     pev(pToucher, pev_classname, className, 31)

  669.      

  670.     if ( equal(className, "weaponbox") || equal(className, "armoury_entity" ) || equal(className, "weapon_shield" ) )

  671.     return FMRES_SUPERCEDE

  672.      

  673.     return FMRES_IGNORED

  674.     }

  675.      

  676.     public fw_EmitSound(id, channel, sample[])

  677.     {

  678.     if(!get_pcvar_num(zomb_switch))

  679.     return FMRES_IGNORED

  680.      

  681.     if ( !is_user_alive(id) || !g_zombie[id] )

  682.     return FMRES_IGNORED

  683.      

  684.     if ( sample[0] == 'w' && sample[1] == 'e' && sample[8] == 'k' && sample[9] == 'n' )

  685.     {

  686.     switch(sample[17])

  687.     {

  688.     case 'l': return FMRES_SUPERCEDE

  689.      

  690.     case 's', 'w':

  691.     {  

  692.     emit_sound(id, CHAN_WEAPON, miss_zombie[random_num(0, ZOMBIE_MISS - 1)], VOL_NORM, ATTN_NORM, 0, PITCH_NORM)       

  693.     return FMRES_SUPERCEDE

  694.     }

  695.      

  696.     case 'b', '1', '2', '3', '4':

  697.     {

  698.     emit_sound(id, CHAN_WEAPON, hit_zombie[random_num(0, ZOMBIE_HIT - 1)], VOL_NORM, ATTN_NORM, 0, PITCH_NORM)

  699.     return FMRES_SUPERCEDE

  700.     }

  701.     }

  702.     }

  703.     else if (equal(sample,"items/nvg_on.wav") || (equal(sample,"items/nvg_off.wav")))

  704.     return FMRES_SUPERCEDE

  705.      

  706.     return FMRES_IGNORED

  707.     }

  708.      

  709.     public fw_Cmd(id, handle, seed)

  710.     {

  711.     new impulse = get_uc(handle, UC_Impulse)

  712.     if (impulse == 100 && g_zombie[id])

  713.     {

  714.     set_uc(handle, UC_Impulse, 0)

  715.     }

  716.     return FMRES_HANDLED

  717.     }

  718.      

  719.     public event_damage_scream(id)

  720.     {

  721.     if(!get_pcvar_num(zomb_switch))

  722.     return PLUGIN_HANDLED

  723.      

  724.     if(!is_user_alive(id))

  725.     return PLUGIN_HANDLED

  726.      

  727.     if ( g_zombie[id] )

  728.     {

  729.     emit_sound(id, CHAN_VOICE, pain_zombie[random_num(0, ZOMBIE_PAIN - 1)], 1.0, ATTN_NORM, 0, PITCH_NORM)

  730.     } else {

  731.     emit_sound(id, CHAN_VOICE, pain_human[random_num(0, HUMAN_PAIN - 1)], 1.0, ATTN_NORM, 0, PITCH_NORM)

  732.     }

  733.     return PLUGIN_HANDLED

  734.     }

  735.      

  736.     public event_damage(id)

  737.     {

  738.     if(!get_pcvar_num(zomb_switch))

  739.     return PLUGIN_HANDLED

  740.      

  741.     if(!is_user_alive(id))

  742.     return PLUGIN_HANDLED

  743.      

  744.     new damage = read_data(2)

  745.     new weapon, hitzone

  746.     new attacker = get_user_attacker(id, weapon, hitzone)

  747.      

  748.     new Float:Random_Float[3]

  749.     for(new i = 0; i < 3; i++) Random_Float[i] = random_float(100.0, 125.0)

  750.      

  751.     new current_hp = get_user_health(attacker)

  752.     new max_hp = get_pcvar_num(zomb_hp)

  753.     new zdmg = get_pcvar_num(zomb_zdmg)

  754.     new hdmg = get_pcvar_num(zomb_hdmg)

  755.      

  756.     current_hp += damage

  757.      

  758.     if (attacker > sizeof g_zombie)

  759.     return PLUGIN_CONTINUE

  760.      

  761.     if ( g_zombie[attacker] && weapon == CSW_KNIFE )

  762.     {

  763.     if (zdmg <= 0)

  764.     return PLUGIN_CONTINUE

  765.     else if (damage >= zdmg)

  766.     Punch_View(id, Random_Float)

  767.      

  768.     if ( current_hp >= max_hp )

  769.     {

  770.     set_user_health(attacker, max_hp)

  771.     } else {

  772.     set_user_health(attacker, current_hp)      

  773.     }

  774.     }

  775.     else if ( !g_zombie[attacker] && hitzone == HIT_HEAD)

  776.     {

  777.     if (hdmg <= 0)

  778.     return PLUGIN_CONTINUE

  779.     else if (damage >= hdmg)

  780.     Punch_View(id, Random_Float)

  781.     }

  782.      

  783.     return PLUGIN_HANDLED

  784.     }

  785.      

  786.     public clcmd_say(id)

  787.     {

  788.     if(!get_pcvar_num(zomb_switch))

  789.     return PLUGIN_HANDLED

  790.      

  791.     static ARGS[15]

  792.     read_args(ARGS,14)

  793.      

  794.     remove_quotes(ARGS)

  795.      

  796.     if(equali(ARGS,"/help"))

  797.     {

  798.     zombie_help(id)

  799.     }

  800.     else if (equali(ARGS,"/bm"))

  801.     {

  802.     if ( !is_user_alive(id) )

  803.     {

  804.     client_print(id, print_center, "%L", id, "BUY_ALIVE")

  805.     return PLUGIN_HANDLED

  806.     }

  807.     else if ( g_zombie[id] )

  808.     {

  809.     client_print(id, print_center, "%L", id, "BUY_HUMAN")

  810.     return PLUGIN_HANDLED

  811.     }

  812.     else if ( !cs_get_user_buyzone(id) )

  813.     {

  814.     client_print(id, print_center, "%L", id, "BUY_BUYZONE")

  815.     return PLUGIN_HANDLED

  816.     }

  817.     else if (!buying)

  818.     {

  819.     new Float:time_buy = get_cvar_float("mp_buytime") * 60

  820.     client_print(id, print_center, "%L", id, "BUY_TIME", floatround(time_buy))

  821.     return PLUGIN_HANDLED

  822.     }

  823.     else

  824.     {

  825.     show_menu(id, Keysmenu_1, "\yBuy Menu\w^n^n1. .40 Dual Elites \y($800)\w^n2. INGRAM MAC-10 \y($1400)\w^n3. IDF Defender \y($2000)\w^n4. CV-47 \y($2500)\w^n5. KREIG 552 \y($3500)\w^n6. D3/AU-1 \y($5000)\w^n^n0. Exit")

  826.     }

  827.     return PLUGIN_HANDLED

  828.     }

  829.      

  830.     return PLUGIN_CONTINUE

  831.     }

  832.      

  833.     public zombie_help(id)

  834.     {

  835.     new help_title[64], len

  836.     static msg[2047]

  837.     format(help_title,63,"%L",id,"HELP_HEADER")

  838.     len = format(msg,2046,"<body bgcolor=#f5f5f5><font color=#000000><br>")

  839.     len += format(msg[len],2046-len,"<center><h2>%L</h2><br><table><tr><td><p><b><font color=#000000>",id,"HELP_TITLE")

  840.     len += format(msg[len],2046-len,"<h2>%L</h2>",id,"HELP_OBJECTIVE")

  841.     len += format(msg[len],2046-len,"%L<br>",id,"HELP_ZOMBIE")

  842.      

  843.     len += format(msg[len],2046-len,"%L<br>",id,"HELP_ZOMBIE_KNIFE")

  844.     len += format(msg[len],2046-len,"%L<br>",id,"HELP_ZOMBIE_NVG")

  845.     if (get_pcvar_num(zomb_leap))

  846.     len += format(msg[len],2046-len,"%L<br>",id,"HELP_ZOMBIE_LEAP")

  847.     if (get_pcvar_num(zomb_zdmg) >= 1)

  848.     len += format(msg[len],2046-len,"%L<br>",id,"HELP_ZOMBIE_HIT",get_pcvar_num(zomb_zdmg))

  849.      

  850.     len += format(msg[len],2046-len,"<h2>%L</h2>",id,"HELP_HUMAN")

  851.     len += format(msg[len],2046-len,"%L<br>",id,"HELP_HUMAN_GUNS")

  852.     if (get_pcvar_num(zomb_nvg))

  853.     len += format(msg[len],2046-len,"%L<br>",id,"HELP_HUMAN_NVG")

  854.     if (get_pcvar_num(zomb_hdmg) >= 1)

  855.     len += format(msg[len],2046-len,"%L<br>",id,"HELP_HUMAN_HIT",get_pcvar_num(zomb_hdmg))

  856.      

  857.     len += format(msg[len],2046-len,"<h2>%L</h2>",id,"HELP_TIPS")

  858.     len += format(msg[len],2046-len,"%L<br>",id,"HELP_TIPS_ONE")

  859.     len += format(msg[len],2046-len,"%L<br>",id,"HELP_TIPS_TWO")

  860.      

  861.     len += format(msg[len],2046-len,"%L<br>",id,"HELP_ENJOY")

  862.     len += format(msg[len],2046-len,"</b><br></td></tr></table><br>Mini_Midget</center>")

  863.     show_motd(id,msg,help_title)

  864.     }

  865.      

  866.     public buy_menu(id, key)

  867.     {

  868.     new money = cs_get_user_money(id)

  869.      

  870.     new dualcost = 800

  871.     new mac10cost = 1400

  872.     new idfcost = 2000

  873.     new akcost = 2500

  874.     new kreigcost = 3500

  875.     new D3cost = 5000

  876.      

  877.     switch (key)

  878.     {

  879.     case 0:

  880.     {

  881.     if(money < dualcost)

  882.     {

  883.     client_print(id, print_center, "%L",id, "BUY_MONEY", dualcost)

  884.     }

  885.     else

  886.     {

  887.     drop_sec(id)

  888.     cs_set_user_money(id, money - dualcost)

  889.     give_item(id,"weapon_elite")

  890.     }

  891.     }

  892.     case 1:

  893.     {

  894.     if(money < mac10cost)

  895.     {

  896.     client_print(id, print_center, "%L",id, "BUY_MONEY", mac10cost)

  897.     }

  898.     else

  899.     {

  900.     drop_prim(id)

  901.     cs_set_user_money(id, money - mac10cost)

  902.     give_item(id,"weapon_mac10")

  903.     }

  904.     }

  905.     case 2:

  906.     {

  907.     if(money < idfcost)

  908.     {

  909.     client_print(id, print_center, "%L",id, "BUY_MONEY", idfcost)

  910.     }

  911.     else

  912.     {

  913.     drop_prim(id)

  914.     cs_set_user_money(id, money - idfcost)

  915.     give_item(id,"weapon_galil")

  916.     }

  917.     }

  918.     case 3:

  919.     {

  920.     if(money < akcost)

  921.     {

  922.     client_print(id, print_center, "%L",id, "BUY_MONEY", akcost)

  923.     }

  924.     else

  925.     {

  926.     drop_prim(id)

  927.     cs_set_user_money(id, money - akcost)

  928.     give_item(id,"weapon_ak47")

  929.     }

  930.     }

  931.     case 4:

  932.     {

  933.     if(money < kreigcost)

  934.     {

  935.     client_print(id, print_center, "%L",id, "BUY_MONEY", kreigcost)

  936.     }

  937.     else

  938.     {

  939.     drop_prim(id)

  940.     cs_set_user_money(id, money - kreigcost)

  941.     give_item(id,"weapon_sg552")

  942.     }

  943.     }

  944.     case 5:

  945.     {

  946.     if(money < D3cost)

  947.     {

  948.     client_print(id, print_center, "%L",id, "BUY_MONEY", D3cost)

  949.     }

  950.     else

  951.     {

  952.     drop_prim(id)

  953.     cs_set_user_money(id, money - D3cost)

  954.     give_item(id,"weapon_g3sg1")

  955.     }

  956.     }

  957.     case 9:

  958.     return PLUGIN_HANDLED

  959.     }

  960.      

  961.     return PLUGIN_HANDLED

  962.     }

  963.      

  964.     public message_hostagepos(msg_id,msg_dest,msg_entity)

  965.     {

  966.     if(!get_pcvar_num(zomb_obj))

  967.     return PLUGIN_CONTINUE

  968.      

  969.     return PLUGIN_HANDLED;

  970.     }

  971.      

  972.     public message_textmsg(msg_id,msg_dest,msg_entity)

  973.     {

  974.     if(!bombMap || !get_pcvar_num(zomb_obj))

  975.     return PLUGIN_CONTINUE;

  976.      

  977.     static message[16];

  978.     get_msg_arg_string(2, message, 15);

  979.      

  980.     if(equal(message,"#Game_bomb_drop"))

  981.     return PLUGIN_HANDLED;

  982.      

  983.     return PLUGIN_CONTINUE;

  984.     }

  985.      

  986.     public message_ammopickup(msg_id,msg_dest,msg_entity)

  987.     {

  988.     if(!bombMap || !get_pcvar_num(zomb_obj))

  989.     return PLUGIN_CONTINUE;

  990.      

  991.     if(get_msg_arg_int(1) == 14) // C4

  992.     return PLUGIN_HANDLED;

  993.      

  994.     return PLUGIN_CONTINUE;

  995.     }

  996.      

  997.     public message_bombdrop(msg_id,msg_dest,msg_entity)

  998.     {

  999.     if(!get_pcvar_num(zomb_obj))

  1000.     return PLUGIN_HANDLED;

  1001.      

  1002.     return PLUGIN_CONTINUE;

  1003.     }

  1004.      

  1005.     public message_scenario(msg_id,msg_dest,msg_entity)

  1006.     {

  1007.     if(get_msg_args() > 1 && get_pcvar_num(zomb_obj))

  1008.     {

  1009.     new sprite[8];

  1010.     get_msg_arg_string(2, sprite, 7);

  1011.      

  1012.     if(equal(sprite,"hostage"))

  1013.     return PLUGIN_HANDLED;

  1014.     }

  1015.      

  1016.     return PLUGIN_CONTINUE;

  1017.     }

  1018.      

  1019.     public move_hostages()

  1020.     {

  1021.     new ent;

  1022.     while((ent = fm_find_ent_by_class(ent,"hostage_entity")) != 0)

  1023.     set_pev(ent, pev_origin, Float:{8192.0,8192.0,8192.0});

  1024.     }

  1025.      

  1026.     //Stocks by VEN

  1027.     stock drop_prim(id)

  1028.     {

  1029.     new weapons[32], num

  1030.     get_user_weapons(id, weapons, num)

  1031.     for (new i = 0; i < num; i++) {

  1032.     if (PRIMARY_WEAPONS_BIT_SUM & (1<<weapons[i]))

  1033.     {

  1034.     static wname[32]

  1035.     get_weaponname(weapons[i], wname, sizeof wname - 1)

  1036.     engclient_cmd(id, "drop", wname)

  1037.     }

  1038.     }

  1039.     }

  1040.      

  1041.     stock drop_sec(id)

  1042.     {

  1043.     new weapons[32], num

  1044.     get_user_weapons(id, weapons, num)

  1045.     for (new i = 0; i < num; i++)

  1046.     {

  1047.     if (SECONDARY_WEAPONS_BIT_SUM & (2<<weapons[i]))

  1048.     {

  1049.     static wname[32]

  1050.     get_weaponname(weapons[i], wname, sizeof wname - 1)

  1051.     engclient_cmd(id, "drop", wname)

  1052.     }

  1053.     }

  1054.     }

  1055.     //Stock by Cheap_Suit

  1056.     stock Punch_View(id, Float:ViewAngle[3])

  1057.     {

  1058.     entity_set_vector(id, EV_VEC_punchangle, ViewAngle)

  1059.     }

  1060.     //Stock by v3x

  1061.     stock maxclip(weapon)

  1062.     {

  1063.     new ca = 0

  1064.     switch (weapon)

  1065.     {

  1066.     case CSW_P228 : ca = 13

  1067.     case CSW_SCOUT : ca = 10

  1068.     case CSW_HEGRENADE : ca = 0

  1069.     case CSW_XM1014 : ca = 7

  1070.     case CSW_C4 : ca = 0

  1071.     case CSW_MAC10 : ca = 30

  1072.     case CSW_AUG : ca = 30

  1073.     case CSW_SMOKEGRENADE : ca = 0

  1074.     case CSW_ELITE : ca = 30

  1075.     case CSW_FIVESEVEN : ca = 20

  1076.     case CSW_UMP45 : ca = 25

  1077.     case CSW_SG550 : ca = 30

  1078.     case CSW_GALI : ca = 35

  1079.     case CSW_FAMAS : ca = 25

  1080.     case CSW_USP : ca = 12

  1081.     case CSW_GLOCK18 : ca = 20

  1082.     case CSW_AWP : ca = 10

  1083.     case CSW_MP5NAVY : ca = 30

  1084.     case CSW_M249 : ca = 100

  1085.     case CSW_M3 : ca = 8

  1086.     case CSW_M4A1 : ca = 30

  1087.     case CSW_TMP : ca = 30

  1088.     case CSW_G3SG1 : ca = 20

  1089.     case CSW_FLASHBANG : ca = 0;

  1090.     case CSW_DEAGLE : ca = 7

  1091.     case CSW_SG552 : ca = 30

  1092.     case CSW_AK47 : ca = 30

  1093.     case CSW_P90 : ca = 50

  1094.     }

  1095.     return ca;

  1096.     }

  1097.     /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE

  1098.     *{\\ rtf1\\ ansi\\ ansicpg1252\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang5129\\ f0\\ fs16 \n\\ par }

  1099.     */

  1100.      

_________________
Kép
Kép
Kép


Hozzászólás jelentése
Vissza a tetejére
   
Hozzászólások megjelenítése: Rendezés 
Új téma nyitása Hozzászólás a témához  [1 hozzászólás ] 


Ki van itt

Jelenlévő fórumozók: nincs regisztrált felhasználó valamint 4 vendég


Nyithatsz új témákat ebben a fórumban.
Válaszolhatsz egy témára ebben a fórumban.
Nem szerkesztheted a hozzászólásaidat ebben a fórumban.
Nem törölheted a hozzászólásaidat ebben a fórumban.
Nem küldhetsz csatolmányokat ebben a fórumban.

Keresés:
Ugrás:  
Powered by phpBB® Forum Software © phpBB Limited
Magyar fordítás © Magyar phpBB Közösség
Portal: Kiss Portal Extension © Michael O'Toole