Code:
#include <amxmodx>
#include <cstrike>
#include <fun>
public plugin_init() {
register_plugin("ZombieBot", "1.1", "Shino")
register_dictionary("zombiebot.txt")
register_cvar("amx_zombiebot_health","450")
register_cvar("amx_zombiebot_armor","900")
register_event("WeapPickup","SetKnife","b")
register_logevent("round_start",2,"0=World triggered","1=Round_Start")
}
public plugin_precache() {
precache_model("models/zombiebot/zombie.mdl")
}
public client_putinserver() {
if (get_playersnum() == 1) {
set_cvar_num("sv_restartround", 1)
}
}
public round_start() {
set_task(0.1,"BotNumber")
set_task(0.5,"MakeBots")
set_task(1.0,"TeamCheck")
set_task(2.5,"StartMsg")
set_task(3.0,"SetKnife")
}
public BotNumber() {
new player_num, bot_num, rplayer_num
player_num = get_playersnum()
bot_num = get_cvar_num("bot_quota")
rplayer_num = player_num - bot_num
if (rplayer_num > 0 && rplayer_num < 3) {
set_cvar_num("bot_quota", 2)
}
if (rplayer_num > 2 && rplayer_num < 5) {
set_cvar_num("bot_quota", 4)
}
if (rplayer_num > 4 && rplayer_num < 7) {
set_cvar_num("bot_quota", 6)
}
if (rplayer_num > 6 && rplayer_num < 9) {
set_cvar_num("bot_quota", 8)
}
if (rplayer_num > 8 && rplayer_num < 11) {
set_cvar_num("bot_quota", 10)
}
if (rplayer_num > 10 && rplayer_num < 13) {
set_cvar_num("bot_quota", 12)
}
if (rplayer_num > 12 && rplayer_num < 15) {
set_cvar_num("bot_quota", 14)
}
if (rplayer_num > 14 && rplayer_num < 17) {
set_cvar_num("bot_quota", 16)
}
return PLUGIN_CONTINUE
}
public MakeBots(players[]) {
new players[32],num,i,id,CsArmorType:ArmorType = CS_ARMOR_VESTHELM
get_players(players,num)
for(i = 0; i < num; i++) {
id = players[i]
if (is_user_alive(id) && is_user_bot(id)) {
set_user_health(id,get_cvar_num("amx_zombiebot_health"))
cs_set_user_armor(id,get_cvar_num("amx_zombiebot_armor"),ArmorType)
cs_set_user_model(id,"zombie")
}
}
return PLUGIN_CONTINUE
}
public TeamCheck(players[]) {
new players[32],num,i
get_players(players,num)
for(i = 0; i <= num; i++) {
new id = players[i]
if (is_user_alive(id)) {
if (is_user_bot(id) && cs_get_user_team(id) == CS_TEAM_CT) {
cs_set_user_team(id,CS_TEAM_T)
set_cvar_num("sv_restartround", 1)
} else {
cs_set_user_team(id,CS_TEAM_CT)
}
}
}
}
public StartMsg() {
client_print(0,print_chat,"%L",LANG_PLAYER,"ZOMBIEBOT_STARTMSG",get_cvar_num("amx_zombiebot_health"))
client_print(0,print_chat,"%L",LANG_PLAYER,"ZOMBIEBOT_NUMBER",get_cvar_num("bot_quota"))
return PLUGIN_CONTINUE
}
public SetKnife(players[]) {
new players[32],num,i
get_players(players,num)
for(i = 0; i <= num; i++) {
new id = players[i]
if (is_user_alive(id) && cs_get_user_team(id) == CS_TEAM_T) {
strip_user_weapons(id)
give_item(id,"weapon_knife")
}
}
}