hlmod.hu

Magyar Half-Life Mód közösség!
Pontos idő: 2025.10.11. 07:32



Jelenlévő felhasználók

Jelenleg 300 felhasználó van jelen :: 1 regisztrált, 0 rejtett és 299 vendég

A legtöbb felhasználó (2883 fő) 2025.07.30. 16:00-kor tartózkodott itt.

Regisztrált felhasználók: Bing [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  [6 hozzászólás ] 
Szerző Üzenet
 Hozzászólás témája: Zombi plugin-Nem fut!
HozzászólásElküldve:2012.07.27. 00:39 
Offline
Őskövület
Avatar

Csatlakozott:2013.01.01. 17:48
Hozzászólások:2441
Megköszönt másnak: 18 alkalommal
Megköszönték neki: 21 alkalommal
Helló! Jó estét!


Ez a plugin, amikor beteszem a szerómra, elindul, bent is van a futó pluginok között, a plugins.ini ben is bennt van, de nem történik semmi! Mintha nem is létezne a plugin! Valaki okos nézze meg légyszives, nagyon kell ez a plugin.

Kód:
  1. /* amx_zombiebot */

  2.  

  3. /* Plugin by uPd4t3d Data */

  4. /* Use this plugin with my map "as_resident_evil" and Counter-Strike Condition Zero */

  5. /* This plugin is designed for as-maps only */

  6.  

  7. #include <amxmisc>

  8. #include <amxmodx>  

  9. #include <cstrike>

  10. #include <engine>

  11. #include <fakemeta>

  12. #include <fun>

  13.  

  14. #define NO_TEAM 0

  15. #define TERRORIST 1

  16. #define COUNTERTERRORIST 2

  17. #define SPECTATOR 3

  18.  

  19. #define VERSION "0.93 [2010-04-12]"

  20.  

  21. /* Use this plugin only with this map(s)... */

  22. new zombie_maps[]="as_resident_evil,as_resident_evil_siege"

  23.  

  24. new team                                /* speichert welches Team */

  25. new bot                         /* speichert ob es ein Bot ist */

  26. new dog                         /* Wie viele Hunde */

  27. new name[32]                            /* speichert den Namen eines Spielers */

  28. new zombies=0                           /* zählt die Anzahl der Zombies */

  29. new t_count=0                           /* zählt Ts ohne Bots */

  30. new ct_count=0                  /* zählt CTs ohne Bots */

  31. new player_count=1                      /* Zeiger auf Player der geprüft werden soll */

  32. new ct_model_count=1                    /* Zeiger auf das Model eines CT */

  33. new end_round_flag=1                    /* Flag, ob Rundenende ist */

  34. new first_mdl[33]                       /* Flag, ob das erste Mal ein Model gesetzt wird */

  35. new need_change[33]                     /* speichert, ob das Model gewechselt werden muß */

  36. new mapname[32]                 /* speichert den Namen der Map */

  37. new Float:spawn_delay=3.0               /* Verzögerung beim spawnen */

  38. new is_vip=0                            /* Variable um zu kucken, ob ein VIP lebt */

  39. new is_bot_vip=0                        /* falls ein Bot sich verlaufen hat */

  40. new is_bot_dog[33]                      /* Der Bot ist ein Hund */

  41. new vip_safe=-1                 /* wenn der VIP es geschafft hat */

  42. new vip_safetyzone[33]          /* befindet sich der Spieler in der Safety-Zone */

  43. new can_spawn[33]                       /* speichert ob Spieler spawnen darf! */

  44. new config=0                            /* speichert ob der Server konfiguriert wurde */

  45. new ct_level[33]                        /* Level CT */

  46. new ct_kill_count[33]           /* zählt die Kills eines CTs im Level */

  47. new t_level[33]                 /* Level T */

  48. new t_death_count[33]           /* zählt die Tode eines Ts im Level */

  49. new drop[33]                            /* Info, ob T Waffe weggeschmissen hat */

  50. new spec[33]                            /* Info, wie lange ein Spieler Spectator ist */

  51. new steam_count=0                       /* Zeiger auf die nächste zu vergebene Position in der Steam-Liste */

  52. new steam_adr[40][20]           /* Liste mit SteamIDs der Spieler */

  53. new steam_level[40]                     /* Level des Spielers zur SteamID */

  54. new steam_pos[33]                       /* Slot des Spielers, zeigt auf die Pos. der Steam-Liste */

  55. new msg_screen_fade

  56.  

  57. public plugin_init() {

  58.         register_plugin("amx_zombiebot",VERSION,"uPd4t3d Data")

  59.         register_cvar("amx_zombiebot_version",VERSION,FCVAR_SERVER)

  60.         set_cvar_string("amx_zombiebot_version",VERSION)

  61.         register_cvar("amx_zombiebot","12")                                                     /* Anzahl der Bots im T-Team */

  62.         register_cvar("amx_zombiebot_debug","0")                                                        /* Debug- Infos */

  63.         config=0                                                                                        /* Server ist noch nicht konfiguriert */

  64.         msg_screen_fade=get_user_msgid("ScreenFade")

  65.         get_mapname(mapname,31)

  66.         if (containi(zombie_maps,mapname) != -1) {                                              /* ..nur bei Zombiemap */

  67.                 register_concmd("amx_zombiebot_level","set_level",ADMIN_VOTE,"- add level for an admin")

  68.                 register_concmd("amx_zombiebot_weapon","admin_weapon",ADMIN_VOTE,"- give admin weapons")

  69.                 register_logevent("start_round",2,"0=World triggered","1=Round_Start")  /* ..wenn die Runde anfängt */

  70.                 register_logevent("end_round",2,"0=World triggered","1=Round_End")              /* ..wenn die Runde zu Ende ist */

  71.                 register_event("CurWeapon","cur_weapon","be","1=1")                             /* ..wenn jemand eine Waffe wählt */

  72.                 register_event("ResetHUD","event_hud_reset","be")                               /* Aufruf je Spieler am Rundenstart */

  73.                 register_clcmd("jointeam","join_team")                                          /* ..wenn jemand einem Team beitritt */

  74.                 register_forward(FM_ClientUserInfoChanged,"fw_info")                            /* Weiterleitung Info Changed */

  75.                 register_forward(FM_Touch,"fw_touch")                                           /* wenn ein Spieler etwas berührt */

  76.                 register_forward(FM_PlayerPostThink,"change_models")                            /* Models ändern */

  77.                 register_forward(FM_SetClientKeyValue,"fw_SetClientKeyValue" )                  /* Verhindern, dass die Engine Models zurück setzt */

  78.                 register_forward(FM_EmitSound,"fw_emitsound")                                   /* Töne abändern */

  79.                 server_cmd("bot_quota 5")                                                               /* Alle CZ-Bots vom Server schmeißen */

  80.                 set_task(10.0,"server_config")

  81.         }

  82. }

  83.  

  84. public set_level(id,level,cid){

  85.         if (!cmd_access(id,level,cid,1)){

  86.                 return PLUGIN_HANDLED

  87.         }

  88.         if (get_user_team(id) == COUNTERTERRORIST) {

  89.                 if (ct_level[id] < 9) {

  90.                         ct_level[id]++

  91.                         client_cmd(id,"spk items/suitchargeok1")

  92.                 }

  93.         }

  94.         if (get_user_team(id) == TERRORIST) {

  95.                 if (t_level[id] < 9) {

  96.                         t_level[id]++

  97.                         client_cmd(id,"spk items/suitchargeok1")

  98.                 }

  99.         }

  100.         return PLUGIN_HANDLED

  101. }

  102.  

  103. public admin_weapon(id,level,cid){

  104.         if (!cmd_access(id,level,cid,1)){

  105.                 return PLUGIN_HANDLED

  106.         }

  107.         if (is_user_alive(id) && is_user_connected(id)) {

  108.                 give_item(id,"weapon_m4a1")

  109.                 cs_set_user_bpammo(id,CSW_M4A1,250)

  110.                 give_item(id,"weapon_ak47")

  111.                 cs_set_user_bpammo(id,CSW_AK47,250)

  112.                 give_item(id,"weapon_deagle")

  113.                 cs_set_user_bpammo(id,CSW_DEAGLE,250)

  114.                 client_cmd(id,"spk items/suitchargeok1")

  115.         }

  116.         return PLUGIN_HANDLED

  117. }

  118.  

  119. public server_config() {

  120.         server_cmd("bot_difficulty 3")

  121.         server_cmd("bot_allow_grenades 0")

  122.         server_cmd("bot_allow_machine_guns 0")

  123.         server_cmd("bot_allow_pistols 0")

  124.         server_cmd("bot_allow_rifles 0")

  125.         server_cmd("bot_allow_rogues 0")

  126.         server_cmd("bot_allow_shield 0")

  127.         server_cmd("bot_allow_shotguns 0")

  128.         server_cmd("bot_allow_snipers 0")

  129.         server_cmd("bot_allow_sub_machine_guns 0")

  130.         server_cmd("bot_chatter off")

  131.         server_cmd("bot_join_team t")

  132.         server_cmd("bot_walk 0")

  133.         server_cmd("bot_zombie 0")

  134.         server_cmd("bot_stop 0")

  135.         server_cmd("bot_quota 5")

  136.         set_cvar_num("mp_forcecamera",0)

  137.         set_cvar_num("mp_forcechasecam",0)

  138.         set_cvar_num("mp_limitteams",1)

  139.         set_cvar_num("mp_autoteambalance",0)

  140.         set_cvar_num("mp_flashlight",0)

  141.         set_cvar_num("mp_freezetime",1)

  142.         set_cvar_num("allow_spectators",1)

  143.         set_cvar_num("decalfrequency",300)

  144.         set_cvar_float("mp_roundtime",3.5)

  145.         set_cvar_num("sv_allowdownload",0)

  146.         set_cvar_num("sv_timeout",20)

  147.         set_cvar_num("sv_maxspeed",400)

  148.         set_cvar_num("sv_restartround",1)

  149.         config=1                                                                                        /* Server wurde konfiguriert */

  150.         set_task(3.0,"check_death")                                                                     /* Prüfung aktivieren */

  151. }

  152.  

  153. public plugin_precache() {

  154.         get_mapname(mapname,31)

  155.         if (containi(zombie_maps,mapname) != -1) {                                              /* Precaches vermeiden, wenn keine Zombiemap */

  156.                 precache_model("models/player/zombiebot_1/zombiebot_1.mdl")

  157.                 precache_model("models/player/zombiebot_2/zombiebot_2.mdl")

  158.                 precache_model("models/player/zombiebot_3/zombiebot_3.mdl")

  159.                 precache_model("models/player/zombiebot_4/zombiebot_4.mdl")

  160.                 precache_model("models/player/zombiebot_5/zombiebot_5.mdl")

  161.                 precache_model("models/player/zombiebot_6/zombiebot_6.mdl")

  162.                 precache_model("models/player/zombiebot_7/zombiebot_7.mdl")

  163.                 precache_model("models/player/zombiebot_8/zombiebot_8.mdl")

  164.                 precache_model("models/player/zombiebot_9/zombiebot_9.mdl")

  165.                 precache_model("models/player/zombiebot_ct1/zombiebot_ct1.mdl")

  166.                 precache_model("models/player/zombiebot_ct2/zombiebot_ct2.mdl")

  167.                 precache_model("models/player/zombiebot_ct3/zombiebot_ct3.mdl")

  168.                 precache_model("models/player/zombiebot_ct4/zombiebot_ct4.mdl")

  169.                 precache_model("models/player/zombiebot_ct5/zombiebot_ct5.mdl")

  170.                 precache_model("models/player/zombiebot_ct6/zombiebot_ct6.mdl")

  171.                 precache_model("models/player/zombiebot_ct7/zombiebot_ct7.mdl")

  172.                 precache_model("models/player/zombiebot_ct8/zombiebot_ct8.mdl")

  173.                 precache_model("models/player/zombiebot_ct9/zombiebot_ct9.mdl")

  174.                 precache_model("models/player/zombiebot_ct10/zombiebot_ct10.mdl")

  175.                 precache_model("models/player/zombiebot_ct11/zombiebot_ct11.mdl")

  176.                 precache_model("models/player/zombiebot_ct12/zombiebot_ct12.mdl")

  177.                 precache_model("models/player/zombiebot_dog/zombiebot_dog.mdl")

  178.                 precache_model("models/player/zombiebot_vip/zombiebot_vip.mdl")

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

  180.                 precache_model("models/v_elite_zombiebot.mdl")

  181.                 precache_model("models/v_knife_zombiebot.mdl")

  182.                 precache_model("models/v_m249_zombiebot.mdl")

  183.                 precache_model("models/v_m3_zombiebot.mdl")

  184.                 precache_model("models/v_m4a1_zombiebot.mdl")

  185.                 precache_model("models/v_mp5_zombiebot.mdl")

  186.                 precache_model("models/v_tmp_zombiebot.mdl")

  187.                 precache_model("models/v_sg552_zombiebot.mdl")

  188.                 precache_model("models/v_usp_zombiebot.mdl")

  189.                 precache_sound("weapons/hammerback.wav")

  190.                 precache_sound("weapons/leftmagin.wav")

  191.                 precache_sound("weapons/leftmagout.wav")

  192.                 precache_sound("weapons/m249_boltpull.wav")

  193.                 precache_sound("weapons/m4a1_boltpull.wav")

  194.                 precache_sound("weapons/magbash.wav")

  195.                 precache_sound("weapons/ready.wav")

  196.                 precache_sound("weapons/rightmagin.wav")

  197.                 precache_sound("weapons/rightmagout.wav")

  198.                 precache_sound("weapons/sliderelease.wav")

  199.                 precache_sound("zombiebot/attention.wav")                                               /* - 15 Sek nach dem Betreten des Servers */

  200.                 precache_sound("zombiebot/final_level.wav")                                     /* - sofort beim Erreichen des Final Level */

  201.                 precache_sound("zombiebot/level_up.wav")

  202.                 precache_sound("zombiebot/one_level_down.wav")

  203.                 precache_sound("zombiebot/safetyzone.wav")                                      /* - ca 2-5 Sek. nach dem Spawn gegenüber dem VIP */

  204.                 precache_sound("zombiebot/two_level_up.wav")                                    /* - kurze Zeit nach dem Kill des VIP oder sofort beim Spawn für CTs wenn der VIP durchgebracht wurde */

  205.                 precache_sound("zombiebot/vip_assassinated.wav")                                        /* - kurze Zeit nach nach dem der VIP getötet würde, für alle */

  206.                 precache_sound("zombiebot/vip_escaped.wav")                                     /* - kurze Zeitnach dem der VIP gerettet wurde, für alle */

  207.                 precache_sound("zombiebot/you_lose_two_levels.wav")                             /* - kurze Zeit nach dem Tod eines CT, wenn er Level 9 hatte */

  208.                 precache_sound("zombiebot/zombie_attack1.wav")

  209.                 precache_sound("zombiebot/zombie_attack2.wav")

  210.                 precache_sound("zombiebot/zombie_die.wav")

  211.                 precache_sound("zombiebot/zombiedog_attack.wav")

  212.                 precache_sound("zombiebot/zombiedog_growl.wav")

  213.                 precache_sound("zombiebot/zombiedog_die.wav")

  214.         }

  215. }

  216.  

  217. public client_putinserver(id) {

  218.         get_mapname(mapname,31)

  219.         if (containi(zombie_maps,mapname) != -1) {

  220.                 new i,adminlogfilename[256]

  221.                 set_task(15.0,"send_client_cmd",id)

  222.                 need_change[id]=1                                                                       /* Player braucht ein Model */

  223.                 first_mdl[id]=0

  224.                 ct_level[id]=1

  225.                 ct_kill_count[id]=0

  226.                 t_level[id]=1

  227.                 t_death_count[id]=0

  228.                 spec[id]=10

  229.                 if (is_user_bot(id) == 0) {

  230.                         new steam[20]

  231.                         get_user_authid(id,steam,19)

  232.                         for (i=0; i<40; i++) {

  233.                                 if(contain(steam_adr[i],steam) != -1) {

  234.                                         steam_pos[id]=i

  235.                                         ct_level[id]=steam_level[i]

  236.                                         t_level[id]=steam_level[i]

  237.                                         get_time("L%Y%m%d.log",adminlogfilename,255)

  238.                                         log_to_file(adminlogfilename,"[amx_zombiebot] %s - Level: %d",steam_adr[i],steam_level[i])

  239.                                         return

  240.                                 }

  241.                         }

  242.                         steam_adr[steam_count]=steam

  243.                         steam_pos[id]=steam_count

  244.                         steam_level[steam_count]=1

  245.                         steam_count++

  246.                         if (steam_count > 39) {

  247.                                 steam_count=0

  248.                         }

  249.                 }

  250.                 else {

  251.                         t_level[id]=random_num(3,9)

  252.                 }

  253.         }

  254. }

  255.  

  256. public send_client_cmd(id) {

  257.         if (is_user_bot(id) == 0) {

  258.                 client_cmd(id,"cl_dlmax 80")                                                    /* Soll das svc_bad Problem verbessern */

  259.                 client_cmd(id,"cl_minmodels 0")                                                 /* damit alle die neuen Models sehen */

  260.                 client_print(id,print_chat,"[ArenaCity] Udvozollek a szerveren! Jo jatekot!",VERSION)

  261.                 client_cmd(id,"spk zombiebot/attention")

  262.         }

  263. }

  264.  

  265. public client_damage(attacker,victim,damage,wpnindex,hitplace,TA) {

  266.         if (config) {

  267.                 if (attacker != victim && TA == 0) {

  268.                         set_task(0.1,"fade",victim)

  269.                 }

  270.         }

  271. }

  272.  

  273. public fade(id) {

  274.         if (get_user_team(id) == COUNTERTERRORIST) {

  275.                 message_begin(MSG_ONE,msg_screen_fade,{0,0,0},id)

  276.                 write_short(8000)                       /* Duration */

  277.                 write_short(1000)                       /* Hold time */

  278.                 write_short(0)                  /* Fade type */

  279.                 write_byte(100)                 /* Red */

  280.                 write_byte(0)                           /* Green */

  281.                 write_byte(0)                           /* Blue */

  282.                 write_byte(248)                 /* Alpha */

  283.                 message_end()

  284.         }

  285. }

  286.  

  287. public client_death(killer,id,wpnindex,hitplace,tk) {

  288.         new is_final

  289.         if (config) {

  290.                 if (tk != 1 && killer != id) {                                                  /* Kein Teamkill oder Suicid */

  291.                         if (get_user_team(killer) == COUNTERTERRORIST) {                                /* Killer ist CT, einen Level hinzu bei 2 Kills */

  292.                                 if (cs_get_user_vip(killer) == 0 && is_bot_dog[id] == 0) {      /* VIP soll nicht belohnt werden, kein Level für Hund! */

  293.                                         ct_kill_count[killer]++

  294.                                         if (ct_kill_count[killer] > 1) {

  295.                                                 ct_kill_count[killer]=0

  296.                                                 if (ct_level[killer] < 9) {

  297.                                                         ct_level[killer]++

  298.                                                         if (is_user_bot(killer) == 0) {

  299.                                                                 steam_level[steam_pos[killer]]=ct_level[killer] /* Level in Abhängikkeit der SteamID speichern */

  300.                                                                 set_hudmessage(255,255,255,-1.0,0.60,2,0.05,2.0,0.01,2.0,-1)

  301.                                                                 if (ct_level[killer] == 9) {

  302.                                                                         show_hudmessage(killer,"Maximum Fegyver Szint")

  303.                                                                         set_task(2.0,"final_level_delay",killer)

  304.                                                                 }

  305.                                                                 else {

  306.                                                                         show_hudmessage(killer,"Fegyver Szint %d",ct_level[killer])

  307.                                                                         set_task(2.0,"level_up_delay",killer)

  308.                                                                 }

  309.                                                                 client_cmd(killer,"spk items/suitchargeok1")

  310.                                                         }

  311.                                                 }

  312.                                         }

  313.                                 }

  314.                         }

  315.                         if (get_user_team(killer) == TERRORIST) {                                       /* Killer ist T, einen Level sofort hinzu */

  316.                                 if (t_level[killer] < 9) {

  317.                                         t_level[killer]++

  318.                                         is_final=0

  319.                                         if (t_level[killer] == 9) {

  320.                                                 set_task(10.0,"final_level_delay",killer)

  321.                                                 is_final=1

  322.                                         }

  323.                                         if (cs_get_user_vip(id) == 1 && t_level[killer] < 9) {

  324.                                                 t_level[killer]++

  325.                                                 if (is_user_bot(killer) == 0) {

  326.                                                         set_task(6.0,"two_level_delay",killer)

  327.                                                 }

  328.                                         }

  329.                                         else {

  330.                                                 if (is_final == 0) {

  331.                                                         set_task(2.0,"level_up_delay",killer)

  332.                                                 }

  333.                                         }

  334.                                 }

  335.                                 t_death_count[killer]=0

  336.                                 if (is_bot_dog[killer] == 0) {

  337.                                         new hp=t_level[killer]

  338.                                         hp=hp*50

  339.                                         hp+=549

  340.                                         set_user_health(killer,hp)                                      /* HP nach Level auffrischen */

  341.                                 }

  342.                                 if (is_user_bot(killer) == 0) {

  343.                                         steam_level[steam_pos[killer]]=t_level[killer]          /* Level in Abhängikkeit der SteamID speichern */

  344.                                         set_hudmessage(255,255,255,-1.0,0.60,2,0.05,2.0,0.01,2.0,-1)

  345.                                         if (t_level[killer] == 9) {

  346.                                                 show_hudmessage(killer,"Maximum Zombi Szint")

  347.                                         }

  348.                                         else {

  349.                                                 show_hudmessage(killer,"Zombi Szint %d",t_level[killer])

  350.                                         }

  351.                                         client_cmd(killer,"spk items/suitchargeok1")

  352.                                 }

  353.                         }

  354.                         if (get_user_team(id) == TERRORIST) {                                   /* Opfer ist T, einen Level weg bei 3 Tode */

  355.                                 if (is_bot_dog[id] == 0) {

  356.                                         t_death_count[id]++

  357.                                         if (t_death_count[id] > 2) {

  358.                                                 t_death_count[id]=0

  359.                                                 if (t_level[id] > 1) {

  360.                                                         t_level[id]--

  361.                                                         if (is_user_bot(id) == 0) {

  362.                                                                 steam_level[steam_pos[id]]=t_level[id]  /* Level in Abhängikkeit der SteamID speichern */

  363.                                                                 set_hudmessage(255,255,255,-1.0,0.60,2,0.05,2.0,0.01,2.0,-1)

  364.                                                                 show_hudmessage(id,"Zombi Szint %d",t_level[id])

  365.                                                                 client_cmd(id,"spk fvox/boop")

  366.                                                                 set_task(2.0,"one_level_down_delay",id)

  367.                                                         }

  368.                                                 }

  369.                                         }

  370.                                 }

  371.                         }

  372.                         if(get_user_team(id) == COUNTERTERRORIST) {                             /* Opfer ist CT, einen Level sofort weg, außer es ist der VIP */

  373.                                 if (cs_get_user_vip(id) == 0) {

  374.                                         if (ct_level[id] > (3.5 + (t_count/2) )) {              /* CTs bleiben die Level 1-3 + (Human Zombies / 2) */

  375.                                                 if (ct_level[id] == 9) {

  376.                                                         ct_level[id]--

  377.                                                         set_task(2.0,"lose_delay",id)  

  378.                                                 }

  379.                                                 else {

  380.                                                         set_task(2.0,"one_level_down_delay",id)

  381.                                                 }

  382.                                                 ct_level[id]--

  383.                                                 if (is_user_bot(id) == 0) {

  384.                                                         steam_level[steam_pos[id]]=ct_level[id] /* Level in Abhängikkeit der SteamID speichern */

  385.                                                         set_hudmessage(255,255,255,-1.0,0.60,2,0.05,2.0,0.01,2.0,-1)

  386.                                                         show_hudmessage(id,"Fegyver Szint %d",ct_level[id])

  387.                                                         client_cmd(id,"spk fvox/boop")

  388.                                                 }

  389.                                         }

  390.                                 }

  391.                                 else {

  392.                                         set_task(2.0,"vip_assassinated_delay")

  393.                                 }

  394.                         }

  395.                 }

  396.         }

  397. }

  398.  

  399. public lose_delay(id) {

  400.         client_cmd(id,"spk zombiebot/you_lose_two_levels")

  401. }

  402.  

  403. public vip_assassinated_delay() {

  404.         client_cmd(0,"spk zombiebot/vip_assassinated")

  405. }

  406.  

  407. public two_level_delay(id) {

  408.         steam_level[steam_pos[id]]=t_level[id]                                                  /* Level in Abhängikkeit der SteamID speichern */

  409.         set_hudmessage(255,255,255,-1.0,0.65,2,0.05,2.0,0.01,2.0,-1)

  410.         show_hudmessage(id,"Megmenettetek a VIP-et! +2 szint")

  411.         client_cmd(id,"spk zombiebot/two_level_up")

  412. }

  413.  

  414. public vip_escaped_delay() {

  415.         client_cmd(0,"spk zombiebot/vip_escaped")

  416. }

  417.  

  418. public final_level_delay(id) {

  419.         client_cmd(id,"spk zombiebot/final_level")

  420. }

  421.  

  422. public level_up_delay(id) {

  423.         client_cmd(id,"spk zombiebot/level_up")

  424. }

  425.  

  426. public one_level_down_delay(id) {

  427.         client_cmd(id,"spk zombiebot/one_level_down")

  428. }

  429.  

  430. public event_hud_reset(id) {

  431.         cs_set_user_money(id,0)                                                                 /* kein Geld jede Runde */

  432.         spawn_delay=float(id)

  433.         spawn_delay=spawn_delay/20.0

  434.         spawn_delay+=1.5

  435.         set_task(spawn_delay,"event_player_spawn",id)                                           /* Spawn muß verzögert sein */

  436.         if (vip_safe == 1) {

  437.                 if (get_user_team(id) == COUNTERTERRORIST) {

  438.                         if (ct_level[id] < 7) {                                                 /* die Letzten Level muss man sich schon verdienen */

  439.                                 ct_level[id]++

  440.                                 if (is_user_bot(id) == 0) {

  441.                                         set_task(0.5,"vip_bonus",id)

  442.                                 }

  443.                         }

  444.                 }

  445.         }

  446. }

  447.  

  448. public vip_bonus(id) {

  449.         steam_level[steam_pos[id]]=ct_level[id]                                                 /* Level in Abhängikkeit der SteamID speichern */

  450.         set_hudmessage(255,255,255,-1.0,0.65,2,0.05,2.0,0.01,2.0,-1)

  451.         show_hudmessage(id,"A VIP kimenekult! +1 szint!")

  452.         client_cmd(id,"spk items/suitchargeok1")

  453. }

  454.  

  455. public event_player_spawn(id) {

  456.         if (is_user_alive(id)) {

  457.                 if (get_user_team(id) == TERRORIST) {

  458.                         drop[id]=0

  459.                         set_user_footsteps(id,1)                                                        /* Schritte nicht hörbar */

  460.                         set_user_gravity(id,0.5)                                                        /* Gravity niedriger*/

  461.                         client_cmd(0,"spk roach/rch_walk")

  462.                         if (is_user_bot(id) == 0) {

  463.                                 is_bot_dog[id]=0

  464.                                 cs_set_user_armor(id,100,CS_ARMOR_VESTHELM)                     /* Helm und Weste */

  465.                                 new hp=t_level[id]

  466.                                 hp=hp*50

  467.                                 hp+=549

  468.                                 set_user_health(id,hp)                                          /* mehr HP geben */

  469.                                 set_hudmessage(255,255,255,-1.0,0.60,2,0.05,2.0,0.01,2.0,-1)

  470.                                 if (t_level[id] == 9) {

  471.                                         show_hudmessage(id,"Maximum Zombi Szint - %d HP",hp)

  472.                                 }

  473.                                 else {

  474.                                         show_hudmessage(id,"Zombi Szint %d - %d HP",t_level[id],hp)

  475.                                 }

  476.                         }

  477.                         else {

  478.                                 if (dog > 0) {

  479.                                         set_user_health(id,100)                                 /* Hunde HPs */

  480.                                         dog--

  481.                                         set_pev(id,pev_maxspeed,400.0)

  482.                                         set_pev(id,pev_viewmodel,engfunc(EngFunc_AllocString,""))

  483.                                         is_bot_dog[id]=1

  484.                                 }

  485.                                 else {

  486.                                         cs_set_user_armor(id,100,CS_ARMOR_VESTHELM)             /* Helm und Weste */

  487.                                         new hp=t_level[id]

  488.                                         hp=hp*50

  489.                                         hp+=549

  490.                                         set_user_health(id,hp)                                  /* mehr HP geben */

  491.                                         set_pev(id,pev_maxspeed,280.0)

  492.                                         is_bot_dog[id]=0

  493.                                 }

  494.                         }

  495.                 }

  496.                 else {

  497.                         if (get_user_team(id) == COUNTERTERRORIST) {

  498.                                 is_bot_dog[id]=0

  499.                                 vip_safetyzone[id]=0

  500.                                 set_user_footsteps(id,0)                                                /* Schritte hörbar */

  501.                                 set_user_gravity(id,1.0)                                                /* Gravity normal */

  502.                                 switch(ct_level[id]) {                                          /* auch dem VIP mehr Muni geben */

  503.                                         case 1: cs_set_user_bpammo(id,CSW_USP,150)

  504.                                         case 2: cs_set_user_bpammo(id,CSW_USP,200)

  505.                                         case 3: cs_set_user_bpammo(id,CSW_USP,250)

  506.                                         case 4: cs_set_user_bpammo(id,CSW_USP,250)

  507.                                         case 5: cs_set_user_bpammo(id,CSW_USP,250)

  508.                                         case 6: cs_set_user_bpammo(id,CSW_USP,250)

  509.                                         case 7: cs_set_user_bpammo(id,CSW_USP,250)

  510.                                         case 8: cs_set_user_bpammo(id,CSW_USP,250)

  511.                                         case 9: cs_set_user_bpammo(id,CSW_USP,250)

  512.                                 }

  513.                                 set_user_health(id,100)                                         /* HP setzen */

  514.                                 set_hudmessage(255,255,255,-1.0,0.60,2,0.05,2.0,0.01,2.0,-1)

  515.                                 if (ct_level[id] == 9) {

  516.                                         show_hudmessage(id,"Maximum Fegyver Szint")

  517.                                 }

  518.                                 else {

  519.                                         show_hudmessage(id,"Fegyver Szint %d",ct_level[id])

  520.                                 }

  521.                                 if (cs_get_user_vip(id) == 0) {                                 /* wenn kein VIP, dann Waffen geben */

  522.                                         cs_set_user_armor(id,100,CS_ARMOR_VESTHELM)             /* Helm und Weste */

  523.                                         set_pev(id,pev_maxspeed,220.0)

  524.                                         if (is_user_bot(id) == 0) {

  525.                                                 set_task(0.2,"give_elite",id)

  526.                                         }

  527.                                 }

  528.                                 else {

  529.                                         set_pev(id,pev_maxspeed,220.0)

  530.                                         if (vip_safe == 0) {

  531.                                                 client_cmd(id,"spk zombiebot/safetyzone")               /* Dem VIP sagen, er soll in die Safety Zone */

  532.                                         }

  533.                                 }

  534.                         }

  535.                 }

  536.                 need_change[id]=1                                                                       /* Da der Player gerade gespawnt ist, braucht er evtl. ein neues Model */

  537.         }

  538. }

  539.  

  540. public give_elite(id) {

  541.         if (is_user_alive(id) && is_user_connected(id)) {

  542.                 switch(ct_level[id]) {

  543.                         case 1: {

  544.                                 give_item(id,"weapon_elite")

  545.                                 cs_set_user_bpammo(id,CSW_ELITE,150)                            /* 9mm */

  546.                         }

  547.                         case 2: {

  548.                                 give_item(id,"weapon_elite")

  549.                                 cs_set_user_bpammo(id,CSW_ELITE,200)                            /* 9mm */

  550.                         }

  551.                         case 3: {

  552.                                 give_item(id,"weapon_elite")

  553.                                 cs_set_user_bpammo(id,CSW_ELITE,250)                            /* 9mm */

  554.                         }

  555.                         case 4: {

  556.                                 give_item(id,"weapon_elite")

  557.                                 cs_set_user_bpammo(id,CSW_ELITE,250)                            /* 9mm */

  558.                         }

  559.                         case 5: {

  560.                                 give_item(id,"weapon_elite")

  561.                                 cs_set_user_bpammo(id,CSW_ELITE,250)                            /* 9mm */

  562.                         }

  563.                         case 6: {

  564.                                 give_item(id,"weapon_elite")

  565.                                 cs_set_user_bpammo(id,CSW_ELITE,250)                            /* 9mm */

  566.                         }

  567.                         case 7: {

  568.                                 give_item(id,"weapon_elite")

  569.                                 cs_set_user_bpammo(id,CSW_ELITE,250)                            /* 9mm */

  570.                         }

  571.                         case 8: give_item(id,"weapon_hegrenade")

  572.                         case 9: give_item(id,"weapon_hegrenade")

  573.                 }

  574.                 if (ct_level[id] > 1) {

  575.                         set_task(0.5,"give_tmp",id)

  576.                 }

  577.         }

  578. }

  579.  

  580. public give_tmp(id) {

  581.         if (is_user_alive(id) && is_user_connected(id)) {

  582.                 switch(ct_level[id]) {

  583.                         case 2: give_item(id,"weapon_tmp")                                              /* 9mm */

  584.                         case 3: give_item(id,"weapon_tmp")                                              /* 9mm */

  585.                         case 4: give_item(id,"weapon_tmp")                                              /* 9mm */

  586.                         case 5: give_item(id,"weapon_tmp")                                              /* 9mm */

  587.                         case 6: give_item(id,"weapon_tmp")                                              /* 9mm */

  588.                         case 7: give_item(id,"weapon_tmp")                                              /* 9mm */

  589.                 }

  590.                 if (ct_level[id] > 2) {

  591.                         set_task(0.5,"give_mp5",id)

  592.                 }

  593.         }

  594. }

  595.  

  596. public give_mp5(id) {

  597.         if (is_user_alive(id) && is_user_connected(id)) {

  598.                 switch(ct_level[id]) {

  599.                         case 3: give_item(id,"weapon_mp5navy")                                  /* 9mm */

  600.                         case 4: give_item(id,"weapon_mp5navy")                                  /* 9mm */

  601.                         case 5: give_item(id,"weapon_mp5navy")                                  /* 9mm */

  602.                         case 6: give_item(id,"weapon_mp5navy")                                  /* 9mm */

  603.                         case 7: give_item(id,"weapon_mp5navy")                                  /* 9mm */

  604.                 }

  605.                 if (ct_level[id] > 3) {

  606.                         set_task(0.5,"give_m4a1",id)

  607.                 }

  608.         }

  609. }

  610.  

  611. public give_m4a1(id) {

  612.         if (is_user_alive(id) && is_user_connected(id)) {

  613.                 give_item(id,"weapon_m4a1")                                                             /* 556nato */

  614.                 switch(ct_level[id]) {

  615.                         case 4: cs_set_user_bpammo(id,CSW_M4A1,150)                             /* 556nato */

  616.                         case 5: cs_set_user_bpammo(id,CSW_M4A1,200)                             /* 556nato */

  617.                         case 6: cs_set_user_bpammo(id,CSW_M4A1,250)                             /* 556nato */

  618.                         case 7: cs_set_user_bpammo(id,CSW_M4A1,250)                             /* 556nato */

  619.                         case 8: cs_set_user_bpammo(id,CSW_M4A1,250)                             /* 556nato */

  620.                         case 9: cs_set_user_bpammo(id,CSW_M4A1,250)                             /* 556nato */

  621.                 }

  622.                 if (ct_level[id] > 4) {

  623.                         set_task(0.5,"give_m3",id)

  624.                 }

  625.         }

  626. }

  627.  

  628. public give_m3(id) {

  629.         if (is_user_alive(id) && is_user_connected(id)) {

  630.                 give_item(id,"weapon_m3")

  631.                 switch(ct_level[id]) {

  632.                         case 5: cs_set_user_bpammo(id,CSW_M3,30)                                        /* 12gauge */

  633.                         case 6: cs_set_user_bpammo(id,CSW_M3,60)                                        /* 12gauge */

  634.                         case 7: cs_set_user_bpammo(id,CSW_M3,90)                                        /* 12gauge */

  635.                         case 8: cs_set_user_bpammo(id,CSW_M3,90)                                        /* 12gauge */

  636.                         case 9: cs_set_user_bpammo(id,CSW_M3,90)                                        /* 12gauge */

  637.                 }

  638.                 if (ct_level[id] > 5) {

  639.                         set_task(0.5,"give_sg552",id)

  640.                 }

  641.         }

  642. }

  643.  

  644. public give_sg552(id) {

  645.         if (is_user_alive(id) && is_user_connected(id)) {

  646.                 give_item(id,"weapon_sg552")                                                    /* 556nato */

  647.                 if (ct_level[id] > 8) {

  648.                         set_task(0.5,"give_m249",id)

  649.                 }

  650.         }

  651. }

  652.  

  653. public give_m249(id) {

  654.         if (is_user_alive(id) && is_user_connected(id)) {

  655.                 give_item(id,"weapon_m249")

  656.                 cs_set_user_bpammo(id,CSW_M249,150)

  657.         }

  658. }

  659.  

  660. public fw_touch(touched,toucher) {

  661.         if (!pev_valid(touched) || !is_user_connected(toucher)) {

  662.                 return FMRES_IGNORED

  663.         }

  664.         static classname[10]

  665.         pev(touched,pev_classname,classname,9)

  666.         if (classname[5] == 'v' && classname[6] == 'i') {

  667.                 vip_safetyzone[toucher]=1

  668.         }

  669.         if (classname[8] != 'x' && !(classname[0] == 'w' && classname[1] == 'e' && classname[2] == 'a') && !(classname[0] == 'a' && classname[1] == 'r' && classname[2] == 'm')) {

  670.                 return FMRES_IGNORED

  671.         }

  672.         static model[24]

  673.         pev(touched,pev_model,model,23)

  674.         if (get_user_team(toucher) == COUNTERTERRORIST) {

  675.                 if (model[9] == 'u') {                                                          /* usp */

  676.                         return FMRES_IGNORED

  677.                 }

  678.                 if (model[9] == 'e') {                                                          /* elite */

  679.                         return FMRES_IGNORED

  680.                 }

  681.                 if (model[9] == 't' && ct_level[toucher] > 1) {                                 /* tmp */

  682.                         return FMRES_IGNORED

  683.                 }

  684.                 if (model[10] == 'p' && ct_level[toucher] > 2) {                                        /* mp5 */

  685.                         return FMRES_IGNORED

  686.                 }

  687.                 if (model[10] == '4' && ct_level[toucher] > 3) {                                        /* m4a1 */

  688.                         return FMRES_IGNORED

  689.                 }

  690.                 if (model[10] == '3' && ct_level[toucher] > 4) {                                        /* m3 */

  691.                         return FMRES_IGNORED

  692.                 }

  693.                 if (model[9] == 's' && ct_level[toucher] > 5) {                                 /* sg552 */

  694.                         return FMRES_IGNORED

  695.                 }

  696.                 if (model[10] == '2' && ct_level[toucher] > 8) {                                        /* m249 */

  697.                         return FMRES_IGNORED

  698.                 }

  699.                 if (model[9] == 'h' && ct_level[toucher] > 7) {                                 /* he */

  700.                         return FMRES_IGNORED

  701.                 }

  702.         }

  703.         return FMRES_SUPERCEDE

  704. }

  705.  

  706. public fw_info(id,buffer) {

  707.         if (config && end_round_flag == 0) {

  708.                 return FMRES_SUPERCEDE

  709.         }

  710.         return FMRES_IGNORED

  711. }

  712.  

  713. public fw_SetClientKeyValue(id,const infobuffer[],const key[]) {

  714.         if (equal(key,"model")) {

  715.                 if (first_mdl[id] == 1) {

  716.                         return FMRES_SUPERCEDE

  717.                 }

  718.                 else {

  719.                         first_mdl[id]=1

  720.                 }

  721.         }

  722.         return FMRES_IGNORED

  723. }

  724.  

  725. public fw_emitsound(id,channel,sound[]) {

  726.         if (is_user_connected(id)) {

  727.                 if (get_user_team(id) == TERRORIST) {

  728.                         if (contain(sound,"player/die") != -1 || contain(sound,"player/death") != -1) {

  729.                                 if (is_bot_dog[id] == 1) {

  730.                                         emit_sound(id,CHAN_AUTO,"zombiebot/zombiedog_die.wav",1.0,ATTN_NORM,0,PITCH_NORM)

  731.                                         if (get_cvar_num("amx_zombiebot_debug") == 1) {         /* DEBUG-INFO */

  732.                                                 client_print(0,print_chat,"[amx_zombiebot] DEBUG: Emit sound zombiedog_die.wav")

  733.                                         }

  734.                                         return FMRES_SUPERCEDE

  735.                                 }

  736.                                 else {

  737.                                         emit_sound(id,CHAN_AUTO,"zombiebot/zombie_die.wav",1.0,ATTN_NORM,0,PITCH_NORM)

  738.                                         if (get_cvar_num("amx_zombiebot_debug") == 1) {         /* DEBUG-INFO */

  739.                                                 client_print(0,print_chat,"[amx_zombiebot] DEBUG: Emit sound zombie_die.wav")

  740.                                         }

  741.                                         return FMRES_SUPERCEDE

  742.                                 }

  743.                         }

  744.                         if (contain(sound,"weapons/knife_hit") != -1 || contain(sound,"weapons/knife_stab") != -1) {

  745.                                 if (is_bot_dog[id] == 1) {

  746.                                         new attack_snd=random_num(0,1)

  747.                                         switch(attack_snd) {

  748.                                                 case 0: emit_sound(id,CHAN_AUTO,"zombiebot/zombiedog_attack.wav",1.0,ATTN_NORM,0,PITCH_NORM)

  749.                                                 case 1: emit_sound(id,CHAN_AUTO,"zombiebot/zombiedog_growl.wav",1.0,ATTN_NORM,0,PITCH_NORM)

  750.                                         }

  751.                                         return FMRES_SUPERCEDE

  752.                                 }

  753.                                 else {

  754.                                         new attack_snd=random_num(0,1)

  755.                                         switch(attack_snd) {

  756.                                                 case 0: emit_sound(id,CHAN_AUTO,"zombiebot/zombie_attack1.wav",1.0,ATTN_NORM,0,PITCH_NORM)

  757.                                                 case 1: emit_sound(id,CHAN_AUTO,"zombiebot/zombie_attack2.wav",1.0,ATTN_NORM,0,PITCH_NORM)

  758.                                         }

  759.                                         return FMRES_SUPERCEDE

  760.                                 }

  761.                         }

  762.                 }

  763.         }

  764.         return FMRES_IGNORED

  765. }

  766.  

  767. public change_models(id) {

  768.         if (is_user_alive(id)) {

  769.                 if (need_change[id] == 1 && end_round_flag == 0) {

  770.                         need_change[id]=0                                                               /* Aenderungsanforderung ausschalten */

  771.                         client_cmd(id,"cl_minmodels 0")                                         /* damit alle die neuen Models sehen */

  772.                         new mdl_name[16]

  773.                         new cur_mdl[16]

  774.                         new bot_name[20]

  775.                         if (get_user_team(id) == TERRORIST) {                                   /* Model Zombie und Zombiehund*/

  776.                                 new info=engfunc(EngFunc_GetInfoKeyBuffer,id)

  777.                                 if (is_user_bot(id) == 1) {

  778.                                         if (is_bot_dog[id] == 1) {

  779.                                                 format(bot_name,19,"Zombi[%d] Kutya",id)

  780.                                                 info=engfunc(EngFunc_GetInfoKeyBuffer,id)

  781.                                                 engfunc(EngFunc_SetClientKeyValue,id,info,"name",bot_name)

  782.                                                 engfunc(EngFunc_InfoKeyValue,engfunc(EngFunc_GetInfoKeyBuffer,id),"model",cur_mdl,15)

  783.                                                 if (!equal(cur_mdl,"zombiebot_dog")) {

  784.                                                         engfunc(EngFunc_SetClientKeyValue,id,info,"model","zombiebot_dog")      /* Model ändern */

  785.                                                         if (get_cvar_num("amx_zombiebot_debug") == 1) {                         /* DEBUG-INFO */

  786.                                                                 client_print(0,print_chat,"[amx_zombiebot] DEBUG: Change model zombiedog for bot ID: %d",id)

  787.                                                         }

  788.                                                 }

  789.                                         }

  790.                                         else {

  791.                                                 format(bot_name,19,"Zombi[%d] Szint %d",id,t_level[id])

  792.                                                 info=engfunc(EngFunc_GetInfoKeyBuffer,id)

  793.                                                 engfunc(EngFunc_SetClientKeyValue,id,info,"name",bot_name)

  794.                                                 format(mdl_name,15,"zombiebot_%d",t_level[id])

  795.                                                 engfunc(EngFunc_InfoKeyValue,engfunc(EngFunc_GetInfoKeyBuffer,id),"model",cur_mdl,15)

  796.                                                 if (!equal(cur_mdl,mdl_name)) {

  797.                                                         engfunc(EngFunc_SetClientKeyValue,id,info,"model",mdl_name)

  798.                                                         if (get_cvar_num("amx_zombiebot_debug") == 1) { /* DEBUG-INFO */

  799.                                                                 client_print(0,print_chat,"[amx_zombiebot] DEBUG: Change model zombie for bot ID: %d",id)

  800.                                                         }

  801.                                                 }

  802.                                         }

  803.                                 }

  804.                                 else {

  805.                                         format(mdl_name,15,"zombiebot_%d",t_level[id])

  806.                                         engfunc(EngFunc_InfoKeyValue,engfunc(EngFunc_GetInfoKeyBuffer,id),"model",cur_mdl,15)

  807.                                         if (!equal(cur_mdl,mdl_name)) {

  808.                                                 engfunc(EngFunc_SetClientKeyValue,id,info,"model",mdl_name)

  809.                                                 if (get_cvar_num("amx_zombiebot_debug") == 1) { /* DEBUG-INFO */

  810.                                                         client_print(0,print_chat,"[amx_zombiebot] DEBUG: Change model zombie for player ID: %d",id)

  811.                                                 }

  812.                                         }

  813.                                 }

  814.                                 set_pev(id,pev_weaponmodel,engfunc(EngFunc_AllocString,""))     /* Das Messer am Zombie wegnehmen */

  815.                         }

  816.                         else {

  817.                                 if (get_user_team(id) == COUNTERTERRORIST) {                    /* Model VIP */

  818.                                         if (cs_get_user_vip(id) == 1) {

  819.                                                 new info=engfunc(EngFunc_GetInfoKeyBuffer,id)

  820.                                                 engfunc(EngFunc_InfoKeyValue,engfunc(EngFunc_GetInfoKeyBuffer,id),"model",cur_mdl,15)

  821.                                                 if (!equal(cur_mdl,"zombiebot_vip")) {

  822.                                                         engfunc(EngFunc_SetClientKeyValue,id,info,"model","zombiebot_vip")

  823.                                                         if (get_cvar_num("amx_zombiebot_debug") == 1) {         /* DEBUG-INFO */

  824.                                                                 client_print(0,print_chat,"[amx_zombiebot] DEBUG: Change model V.I.P. for player ID: %d",id)

  825.                                                         }

  826.                                                 }

  827.                                                 if (is_user_bot(id) == 1) {

  828.                                                         info=engfunc(EngFunc_GetInfoKeyBuffer,id)

  829.                                                         engfunc(EngFunc_SetClientKeyValue,id,info,"name","V.I.P. is a stupid BOT!!!")

  830.                                                         set_hudmessage(255,0,0,-1.0,0.45,2,0.05,30.0,0.01,2.0,-1)

  831.                                                         show_hudmessage(0,"V.I.P. is a stupid BOT - Zombiknak nincs ujraeledes - CT-knek meg kell olni az osszes Zombit!")

  832.                                                 }

  833.                                         }

  834.                                         else {                                                          /* Model Counter Zombie */

  835.                                                 new info=engfunc(EngFunc_GetInfoKeyBuffer,id)

  836.                                                 engfunc(EngFunc_InfoKeyValue,engfunc(EngFunc_GetInfoKeyBuffer,id),"model",cur_mdl,15)

  837.                                                 if (contain(cur_mdl,"zombiebot_ct") == -1) {

  838.                                                         format(mdl_name,15,"zombiebot_ct%d",ct_model_count)

  839.                                                         engfunc(EngFunc_SetClientKeyValue,id,info,"model",mdl_name)

  840.                                                         ct_model_count++

  841.                                                         if (ct_model_count == 13) {

  842.                                                                 ct_model_count=1

  843.                                                         }

  844.                                                         if (get_cvar_num("amx_zombiebot_debug") == 1) {         /* DEBUG-INFO */

  845.                                                                 client_print(0,print_chat,"[amx_zombiebot] DEBUG: Change model counter-zombie for player ID: %d",id)

  846.                                                         }

  847.                                                 }

  848.                                         }

  849.                                 }

  850.                         }

  851.                 }

  852.         }

  853.         return FMRES_IGNORED

  854. }

  855.  

  856. public join_team(id) {

  857.         if (config) {

  858.                 if (get_user_team(id) == TERRORIST) {

  859.                         can_spawn[id]=0                                                         /* frisch gejointer Spieler bekommt kein Respawn */

  860.                 }

  861.         }

  862. }

  863.  

  864. public check_death() {

  865.         new hp

  866.         if (config) {                                                                                   /* erst nach Servereinstellungen */

  867.                 if (end_round_flag == 0) {                                                              /* nicht wärend Rundenende */

  868.                         is_vip++

  869.                         if (is_user_connected(player_count)) {

  870.                                 if (get_user_team(player_count) == TERRORIST) {

  871.                                         if (is_user_alive(player_count) == 0) {

  872.                                                 if (is_vip < 33 && can_spawn[player_count] == 1) {      /* wenn es keinen VIP gibt, dann kein Respawn */

  873.                                                         set_task(1.0,"spawn_player",player_count)

  874.                                                 }

  875.                                         }

  876.                                         else {

  877.                                                 if (is_bot_dog[player_count] == 0) {

  878.                                                         hp=t_level[player_count]

  879.                                                         hp=hp*50

  880.                                                         hp+=549

  881.                                                         new tmp_hp=get_user_health(player_count)

  882.                                                         if (tmp_hp < hp) {

  883.                                                                 tmp_hp+=125

  884.                                                                 if (tmp_hp > hp) {

  885.                                                                         tmp_hp=hp

  886.                                                                 }

  887.                                                                 set_user_health(player_count,tmp_hp)    /* langsames Regenerieren des Ts */

  888.                                                                 if (is_user_bot(player_count) == 0) {

  889.                                                                         client_cmd(player_count,"spk items/medshot4")

  890.                                                                 }

  891.                                                         }

  892.                                                         if (is_user_bot(player_count) == 0) {

  893.                                                                 set_hudmessage(255,255,255,-1.0,0.55,2,0.05,2.0,0.01,2.0,-1)

  894.                                                                 show_hudmessage(player_count,"Eleted: %d HP",tmp_hp)

  895.                                                         }

  896.                                                 }

  897.                                         }

  898.                                 }

  899.                                 else {

  900.                                         if (get_user_team(player_count) == COUNTERTERRORIST && is_user_alive(player_count) == 1 && cs_get_user_vip(player_count)) {

  901.                                                 if (is_user_bot(player_count)) {

  902.                                                         is_vip=33                                       /* es gibt keinen reellen Spieler als VIP */

  903.                                                 }

  904.                                                 else {

  905.                                                         is_vip=0                                        /* es gibt einen VIP */

  906.                                                 }

  907.                                         }

  908.                                 }

  909.                         }

  910.                         player_count++

  911.                         if (player_count > 32) {

  912.                                 player_count=1

  913.                         }

  914.                         set_task(0.3,"check_death")                                                     /* nächste Prüfung in ... Sekunden */

  915.                 }

  916.                 else {

  917.                         set_task(10.0,"check_death")                                            /* nächste Prüfung in 10 Sekunden, da gerade Rundenende war */

  918.                 }

  919.         }

  920. }

  921.  

  922. public spawn_player(id) {

  923.         if (is_user_connected(id)) {

  924.                 if (get_user_team(id) == TERRORIST) {

  925.                         entity_set_int(id,EV_INT_deadflag,3)

  926.                         call_think(id)

  927.                         entity_set_int(id,EV_INT_iuser1,0)

  928.                         spawn(id)                                                                       /* toten Terror wiederbeleben */

  929.                         if (get_cvar_num("amx_zombiebot_debug") == 1) {                         /* DEBUG-INFO */

  930.                                 get_user_name(id,name,31)

  931.                                 client_print(0,print_chat,"[amx_zombiebot] DEBUG: ^"%s^" is now alive!",name)

  932.                         }

  933.                         if (is_bot_dog[id] == 0) {

  934.                                 new hp=t_level[id]

  935.                                 hp=hp*50

  936.                                 hp+=549

  937.                                 set_user_health(id,hp)                                          /* dem Auferweckten mehr HP geben */

  938.                                 if (is_user_bot(id) == 0) {                                             /* Auferstehung signalisieren */

  939.                                         client_cmd(id,"spk buttons/blip2")

  940.                                         set_hudmessage(255,255,255,-1.0,0.55,2,0.05,2.0,0.01,2.0,-1)

  941.                                         show_hudmessage(id,"Eleted: %d HP",hp)

  942.                                 }

  943.                         }

  944.                 }

  945.         }

  946. }

  947.  

  948. public end_round() {

  949.         new i

  950.         if (config) {

  951.                 end_round_flag=1                                                                        /* merken, Runde ist zu ende */

  952.                 if (get_cvar_num("amx_zombiebot_debug") == 1) {                                 /* DEBUG-INFO */

  953.                         client_print(0,print_chat,"[amx_zombiebot] DEBUG: *** ROUND END ***")

  954.                 }

  955.                 zombies=0                                                                               /* Zombies in Summe */

  956.                 t_count=0                                                                               /* ...davon reale Spieler */

  957.                 ct_count=0                                                                              /* CTs in Summe */

  958.                 for (i=1; i<33; i++) {                                                          /* Loop Statistik erstellen */

  959.                         if (is_user_connected(i)) {

  960.                                 if (get_user_team(i) == NO_TEAM || get_user_team(i) == SPECTATOR) {

  961.                                         spec[i]--

  962.                                         if (spec[i] == 0) {

  963.                                                 client_cmd(i,"disconnect")                              /* Spieler vom Server schmeißen, wenn zu lange im Spec */

  964.                                         }

  965.                                         client_print(i,print_chat,"[ArenaCity] Valasz csapatot!")

  966.                                 }

  967.                                 can_spawn[i]=1

  968.                                 team=get_user_team(i)

  969.                                 bot=is_user_bot(i)

  970.                                 if (team == TERRORIST) {

  971.                                         if (bot == 0) {

  972.                                                 t_count++

  973.                                                 zombies++

  974.                                         }

  975.                                         else {

  976.                                                 zombies++

  977.                                         }

  978.                                 }

  979.                                 else {

  980.                                         if (team == COUNTERTERRORIST && bot == 0) {

  981.                                                 if (cs_get_user_vip(i) == 1) {

  982.                                                         if (vip_safetyzone[i] == 1) {

  983.                                                                 vip_safe=1

  984.                                                                 client_print(0,print_chat,"[amx_zombiebot] VIP escaped!")

  985.                                                                 set_task(2.0,"vip_escaped_delay")

  986.                                                                 if (ct_level[i] < 9) {

  987.                                                                         ct_level[i]++                   /* Der VIP hat es geschafft */

  988.                                                                         client_cmd(i,"spk items/suitchargeok1")

  989.                                                                 }

  990.                                                         }

  991.                                                 }

  992.                                                 ct_count++

  993.                                         }

  994.                                         else {                                                          /* verlaufenen Bot zu T schieben */

  995.                                                 if (team == COUNTERTERRORIST && bot == 1) {

  996.                                                         if (cs_get_user_vip(i) == 0) {

  997.                                                                 cs_set_user_team(i,CS_TEAM_T,CS_T_TERROR)      

  998.                                                         }

  999.                                                         else {

  1000.                                                                 is_bot_vip=1                            /* wir haben einen Bot als VIP */

  1001.                                                         }

  1002.                                                 }

  1003.                                         }

  1004.                                 }

  1005.                         }

  1006.                 }

  1007.                 if (ct_count >= get_cvar_num("amx_zombiebot")) {

  1008.                         set_cvar_num("mp_limitteams",1)

  1009.                 }

  1010.                 else {

  1011.                         if (zombies > ct_count) {

  1012.                                 set_cvar_num("mp_limitteams",0)

  1013.                         }

  1014.                 }

  1015.                 for (i=1; i<33; i++) {

  1016.                         new shift=0

  1017.                         if (ct_count > zombies && ct_count > get_cvar_num("amx_zombiebot")) {   /* schiebe CTs die zu viel sind rüber, Auto-Balance erst ab x CTs */

  1018.                                 if (is_user_connected(player_count)) {

  1019.                                         if (get_user_team(player_count) == COUNTERTERRORIST && cs_get_user_vip(player_count) == 0 && is_user_alive(player_count) == 0 && is_user_admin(player_count) == 0) {

  1020.                                                 client_print(0,print_chat,"[ArenaCity] Csapatelosztas: Tul sok a CT!")

  1021.                                                 client_print(player_count,print_chat,"[ArenaCity] Csapatelosztas: Mostmar Zombi vagy!")

  1022.                                                 cs_set_user_team(player_count,CS_TEAM_T,CS_T_TERROR)

  1023.                                                 shift=1

  1024.                                                 ct_count--

  1025.                                                 t_count++

  1026.                                                 zombies++

  1027.                                                 t_level[player_count]=ct_level[player_count]

  1028.                                                 if (ct_level[player_count] > 1) {

  1029.                                                         ct_level[player_count]--

  1030.                                                 }

  1031.                                                 t_death_count[player_count]=0

  1032.                                                 ct_kill_count[player_count]=0

  1033.                                         }

  1034.                                 }

  1035.                         }

  1036.                         else {

  1037.                                 if (ct_count < t_count && ct_count > get_cvar_num("amx_zombiebot") && shift == 0) { /* schiebe Ts die zu viel sind rüber */

  1038.                                         if (is_user_connected(player_count)) {

  1039.                                                 if (get_user_team(player_count) == TERRORIST && is_user_bot(player_count) == 0 && is_user_alive(player_count) == 0 && is_user_admin(player_count) == 0) {

  1040.                                                         client_print(0,print_chat,"[ArenaCity] Csapatelosztas: Tul sok a Zombi!")

  1041.                                                         client_print(player_count,print_chat,"[ArenaCity] Csapatelosztas: Mostmar CT vagy!")

  1042.                                                         can_spawn[player_count]=0                       /* Der CT soll natürlich nicht mehr spawnen */

  1043.                                                         cs_set_user_team(player_count,CS_TEAM_CT,CS_CT_URBAN)

  1044.                                                         ct_count++

  1045.                                                         t_count--

  1046.                                                         zombies--

  1047.                                                         ct_level[player_count]=t_level[player_count]

  1048.                                                         if (t_level[player_count] > 1) {

  1049.                                                                 t_level[player_count]--

  1050.                                                         }

  1051.                                                         t_death_count[player_count]=0

  1052.                                                         ct_kill_count[player_count]=0

  1053.                                                 }

  1054.                                         }

  1055.                                 }

  1056.                                 else {

  1057.                                         i=33

  1058.                                 }

  1059.                         }

  1060.                         player_count++

  1061.                         if (player_count > 32) {

  1062.                                 player_count=1

  1063.                         }

  1064.                 }

  1065.                 if (get_cvar_num("amx_zombiebot_debug") == 1) {                                 /* DEBUG-INFO */

  1066.                         client_print(0,print_chat,"[amx_zombiebot] DEBUG: Server var. amx_zombiebot (max. amount of bot players) is set to %d",get_cvar_num("amx_zombiebot"))

  1067.                         client_print(0,print_chat,"[amx_zombiebot] DEBUG: Calculation at round end: Zombies amount: %d (Human: %d) - Counter-Zombies: %d",zombies,t_count,ct_count)

  1068.                 }

  1069.                 new bonus_bots=0

  1070.                 if (ct_count <9) {

  1071.                         bonus_bots++

  1072.                 }

  1073.                 if (ct_count <7) {

  1074.                         bonus_bots++

  1075.                 }

  1076.                 if (ct_count <5) {

  1077.                         bonus_bots++

  1078.                 }

  1079.                 if (ct_count <3) {

  1080.                         bonus_bots++

  1081.                 }

  1082.                 bot=ct_count+bonus_bots

  1083.                 if (get_cvar_num("amx_zombiebot_debug") == 1) {                                 /* DEBUG-INFO */

  1084.                         client_print(0,print_chat,"[amx_zombiebot] DEBUG: Counter-Zombis (%d) + %d = amount of new bot players (%d)",ct_count,bonus_bots,bot)

  1085.                 }

  1086.                 if (bot > get_cvar_num("amx_zombiebot")) {

  1087.                         bot=get_cvar_num("amx_zombiebot")

  1088.                         if (get_cvar_num("amx_zombiebot_debug") == 1) {                         /* DEBUG-INFO */

  1089.                                 client_print(0,print_chat,"[amx_zombiebot] DEBUG: Cut amount of new bot players to Server var. amx_zombiebot (%d)",bot)

  1090.                         }

  1091.                 }

  1092.                 bot=bot-t_count

  1093.                 if (get_cvar_num("amx_zombiebot_debug") == 1) {                                 /* DEBUG-INFO */

  1094.                         client_print(0,print_chat,"[amx_zombiebot] DEBUG: Subtract real zombie players (%d) from bots = %d",t_count,bot)

  1095.                 }

  1096.                 if (bot < 0) {

  1097.                         bot=0

  1098.                         if (get_cvar_num("amx_zombiebot_debug") == 1) {                         /* DEBUG-INFO */

  1099.                                 client_print(0,print_chat,"[amx_zombiebot] DEBUG: There are too many real zombie players, set bots to 0")

  1100.                         }

  1101.                 }

  1102.                 dog=zombies-ct_count

  1103.                 dog=dog+(t_count*2)

  1104.                 if (dog < 3) {

  1105.                         dog=3

  1106.                 }

  1107.                 if (get_cvar_num("amx_zombiebot_debug") == 1) {                                 /* DEBUG-INFO */

  1108.                         client_print(0,print_chat,"[amx_zombiebot] DEBUG: Make %d bots to zombie dogs",dog)

  1109.                 }

  1110.                 if (is_bot_vip == 0) {                                                          /* BOTS neu organisieren */

  1111.                         set_cvar_num("mp_freezetime",1)

  1112.                         server_cmd("bot_quota %d",bot)

  1113.                 }

  1114.                 else {

  1115.                         set_cvar_num("mp_freezetime",5)

  1116.                         is_bot_vip=0

  1117.                         server_cmd("bot_quota 0")

  1118.                         if (get_cvar_num("amx_zombiebot_debug") == 1) {                         /* DEBUG-INFO */

  1119.                                 client_print(0,print_chat,"[amx_zombiebot] DEBUG: Set bot_quota 0, because the V.I.P. is a bot")

  1120.                         }

  1121.                         set_task(3.0,"add_bot_t",bot)

  1122.                 }

  1123.                 set_task(20.0,"server_info")

  1124.         }

  1125. }

  1126.  

  1127. public add_bot_t(bot) {

  1128.         server_cmd("bot_quota %d",bot)

  1129.         if (get_cvar_num("amx_zombiebot_debug") == 1) {                                         /* DEBUG-INFO */

  1130.                 client_print(0,print_chat,"[amx_zombiebot] DEBUG: Add new bots to server without V.I.P. as bot")

  1131.         }

  1132. }

  1133.  

  1134. public server_info() {

  1135.         client_print(0,print_chat,"[ArenaCity] Csapatban rohangaljatok, mert a Zombik nagyon erosek!")

  1136. }

  1137.  

  1138. public start_round() {

  1139.         if (get_cvar_num("amx_zombiebot_debug") == 1) {                                         /* DEBUG-INFO */

  1140.                 client_print(0,print_chat,"[amx_zombiebot] DEBUG: *** ROUND START ***")

  1141.                 client_print(0,print_chat,"[amx_zombiebot] DEBUG: Server var. amx_zombiebot_debug is set to 1")

  1142.         }

  1143.         if (config) {

  1144.                 set_task(0.2,"set_end_round_flag")

  1145.                 is_vip=0

  1146.         }

  1147. }

  1148.  

  1149. public set_end_round_flag() {

  1150.         vip_safe=0                                                                                      /* Merker zurücksetzen */

  1151.         end_round_flag=0                                                                                /* merken, Runde fängt an */

  1152. }

  1153.  

  1154. public cur_weapon(id) {

  1155.         new clip,ammo

  1156.         new vteam=get_user_team(id)

  1157.         if(vteam == TERRORIST) {

  1158.                 if (drop[id] == 0) {

  1159.                         drop[id]=1

  1160.                         client_cmd(id,"weapon_glock18")

  1161.                         client_cmd(id,"drop")

  1162.                 }

  1163.                 client_cmd(id,"weapon_knife")

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

  1165.         }

  1166.         else {

  1167.                 if(vteam == COUNTERTERRORIST) {

  1168.                         new weapon=get_user_weapon(id,clip,ammo)

  1169.                         switch(weapon) {

  1170.                                 case CSW_ELITE: set_pev(id,pev_viewmodel,engfunc(EngFunc_AllocString,"models/v_elite_zombiebot.mdl"))

  1171.                                 case CSW_KNIFE: set_pev(id,pev_viewmodel,engfunc(EngFunc_AllocString,"models/v_knife_zombiebot.mdl"))

  1172.                                 case CSW_M249:  set_pev(id,pev_viewmodel,engfunc(EngFunc_AllocString,"models/v_m249_zombiebot.mdl"))

  1173.                                 case CSW_M3:            set_pev(id,pev_viewmodel,engfunc(EngFunc_AllocString,"models/v_m3_zombiebot.mdl"))

  1174.                                 case CSW_M4A1:  set_pev(id,pev_viewmodel,engfunc(EngFunc_AllocString,"models/v_m4a1_zombiebot.mdl"))

  1175.                                 case CSW_MP5NAVY:       set_pev(id,pev_viewmodel,engfunc(EngFunc_AllocString,"models/v_mp5_zombiebot.mdl"))

  1176.                                 case CSW_TMP:           set_pev(id,pev_viewmodel,engfunc(EngFunc_AllocString,"models/v_tmp_zombiebot.mdl"))

  1177.                                 case CSW_SG552: set_pev(id,pev_viewmodel,engfunc(EngFunc_AllocString,"models/v_sg552_zombiebot.mdl"))

  1178.                                 case CSW_USP:           set_pev(id,pev_viewmodel,engfunc(EngFunc_AllocString,"models/v_usp_zombiebot.mdl"))

  1179.                         }

  1180.                 }

  1181.         }

  1182.         return PLUGIN_HANDLED

  1183. }

  1184.  



Compilálásnál nem dob errort, de warningot.

Köszi annak aki megcsinálja!!


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Zombi plugin-Nem fut!
HozzászólásElküldve:2012.07.27. 01:04 
Offline
Tiszteletbeli
Avatar

Csatlakozott:2011.09.18. 13:01
Hozzászólások:4274
Megköszönt másnak: 55 alkalommal
Megköszönték neki: 515 alkalommal
Talan mert csak ezen a mapokan fut?
Kód:
  1. new zombie_maps[]="as_resident_evil,as_resident_evil_siege"


Amugy nagyon roszul al az a konfigos szoveg :D
Mivel nekem mar volt ilyen szerom ezert vagom a dolgokat.:D

_________________
Idk. Csak ugy funbooo.
Kép


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Zombi plugin-Nem fut!
HozzászólásElküldve:2012.07.27. 01:07 
Offline
Őskövület
Avatar

Csatlakozott:2013.01.01. 17:48
Hozzászólások:2441
Megköszönt másnak: 18 alkalommal
Megköszönték neki: 21 alkalommal
Köszi DeteCTOR, de ha ott beírom a többi mapot ott is lazán menni fog?


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Zombi plugin-Nem fut!
HozzászólásElküldve:2012.07.27. 06:21 
Offline
Veterán
Avatar

Csatlakozott:2011.06.07. 15:29
Hozzászólások:1728
Megköszönt másnak: 1 alkalommal
Megköszönték neki: 63 alkalommal
Mapos dolog kiszedve.

http://pastebin.com/CqAdHn0B


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Zombi plugin-Nem fut!
HozzászólásElküldve:2012.07.27. 11:47 
Offline
Őskövület
Avatar

Csatlakozott:2013.01.01. 17:48
Hozzászólások:2441
Megköszönt másnak: 18 alkalommal
Megköszönték neki: 21 alkalommal
/* Plugin by uPd4t3d Data */
/* Use this plugin with my map "as_resident_evil" and Counter-Strike Condition Zero */
/* This plugin is designed for as-maps only */


Ja.

**EDIT**
+3Warning


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Zombi plugin-Nem fut!
HozzászólásElküldve:2012.07.27. 16:45 
Offline
Őskövület
Avatar

Csatlakozott:2013.01.01. 17:48
Hozzászólások:2441
Megköszönt másnak: 18 alkalommal
Megköszönték neki: 21 alkalommal
De hogy kell betenni hogy 5 bot legyen T ben? Mert így most pl. az as_oilrigen nem tesz be botokat! Hogyan kell botokat betenni hozzá? Amúgymeg menne


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  [6 hozzászólás ] 


Ki van itt

Jelenlévő fórumozók: nincs regisztrált felhasználó valamint 13 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