AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Scripting Help (https://forums.alliedmods.net/forumdisplay.php?f=11)
-   -   Server Crashes with this script. (https://forums.alliedmods.net/showthread.php?t=29411)

redcoyote7 06-05-2006 11:44

Server Crashes with this script.
 
This is a custom script a friend of mine created. Could anyone tell me if they can see why it would cause a server crash?

Here are the plugins I have running:

runemod_base.amxx
admin.amxx
;admin_sql.amxx
admincmd.amxx
adminhelp.amxx
adminslots.amxx
multilingual.amxx
menufront.amxx
cmdmenu.amxx
plmenu.amxx
telemenu.amxx
mapsmenu.amxx
adminchat.amxx
antiflood.amxx
scrollmsg.amxx
imessage.amxx
adminvote.amxx
nextmap.amxx
mapchooser.amxx
timeleft.amxx
pausecfg.amxx
statscfg.amxx
restmenu.amxx
statsx.amxx
miscstats.amxx
;stats_logging.amxx
;servermanager.amxx
admin_spec_esp.amxx
uaio_admin.amxx
amx_ejl_nukem.amxx
;NoBlock.amxx
runemod_control.amxx
runemod_ninja.amxx
runemod_dismay.amxx
runemod_fear.amxx
runemod_frenzy.amxx
runemod_protection.amxx
runemod_hunter.amxx
runemod_invisibility.amxx
runemod_phantom.amxx
runemod_pistoleer.amxx
runemod_poison.amxx
runemod_resistance.amxx
runemod_seer.amxx
runemod_soul.amxx
runemod_strength.amxx
runemod_theif.amxx
runemod_unlimitedammo.amxx
runemod_vampirism.amxx
runemod_kinetics.amxx
runemod_spy.amxx
runemod_feather.amxx
runemod_kamikaze.amxx
runemod_lowrecoil.amxx
runemod_armor.amxx
runemod_longjump.amxx
runemod_regeneration.amxx
runemod_medkit.amxx
runemod_treasure.amxx

Code:

#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fun>

#pragma dynamic 6144

#define PLUGIN "Server Manager"
#define AUTHOR "Fusion"

new playerJoinTeam
new BotMode = 0
new BotNum = 0
new g_MyMsgSync

// team ids
#define UNASSIGNED                0
#define TS                        1
#define CTS                        2
#define AUTO_TEAM                5

public plugin_init()
        {
        register_plugin(PLUGIN, AMXX_VERSION_STR, AUTHOR)
        register_event("SendAudio","round_end","a","2=%!MRAD_terwin","2=%!MRAD_ctwin","2=%!MRAD_rounddraw") // Round End
        register_cvar("sv_manager","1")
        g_MyMsgSync = CreateHudSyncObj()
        BotMode = 0
        set_cvar_num("bot_difficulty",1)
        new map[32]
        get_mapname(map, 31)
       
        if(!contain(map, "cs_"))
                {
                playerJoinTeam = CTS
                set_cvar_string("bot_join_team","T")
        }
        else
                {
                playerJoinTeam = TS
                set_cvar_string("bot_join_team","CT")
        }       
        if(containi(map, "awp_") > -1 || containi(map, "scout") > -1) 
                {
                set_cvar_string("bot_allow_snipers","1")
        }
        else
                {
                set_cvar_string("bot_allow_snipers","0")
        }       
}
public CountHumans()
        {
        new Players[32]
        new playerCount, i,humans
        get_players(Players, playerCount, "c")
        for (i=0;i<playerCount;i++)
                {
                if(cs_get_user_team(Players[i]) != CS_TEAM_SPECTATOR)
                        {
                        humans++
                }
        }
        return humans
}
public doTypesay(string[], duration, r, g, b)
        {
        set_hudmessage(r, g, b, 0.02, 0.40, 0, 6.0, float(duration) , 0.5, 0.15)
        ShowSyncHudMsg(0, g_MyMsgSync, string )
}
public BotDiff(diff_level)
        {
        new bot_diff = get_cvar_num("bot_difficulty")
        if(bot_diff != diff_level)
                {
                set_cvar_num("bot_difficulty",diff_level)
                ResetBots()
        }
}

public ResetBots()
        {
        KickAllBots()
        set_task(1.0, "AddBots")
}

public AddBots()
        {
        if(BotNum == 1)
                {
                set_cvar_num("bot_quota", 6)
        }
        else if(BotNum == 2)
                {
                set_cvar_num("bot_quota", 8)
        }
        else if(BotNum == 3)
                {
                set_cvar_num("bot_quota", 10)
        }
}
public KickAllBots()
        {
        server_cmd("bot_kick all")
}
public Humans()
        {
        if(BotMode != 0)
                {
                BotMode = 0
                set_cvar_num("sv_alltalk", 1)
                set_cvar_num("bot_quota", 0)
                set_cvar_num("mp_autoteambalance",1)
                set_cvar_num("mp_limitteams",2)
        }
}
public Bots()
        {
        if(BotMode != 1)
                {
                BotMode = 1
                set_cvar_num("sv_alltalk", 0)
                set_cvar_num("bot_auto_vacate",1)
                set_cvar_num("mp_autoteambalance",0)
                set_cvar_num("mp_limitteams",0)
                set_cvar_num("bot_allow_shield",0)
                set_cvar_num("bot_allow_shotguns", 0)
                set_cvar_num("bot_allow_machine_guns", 0)
                set_cvar_num("bot_join_after_player",0)
                set_cvar_num("bot_allow_grenades", 0)
                set_cvar_string("bot_chatter","off")
        }
}
public round_end()
        {
        new text[256]
        new manager
        manager = get_cvar_num("sv_manager")
        if(manager == 1)
                {
                copy(text,255, "Round over: Checking Teams")
                doTypesay(text, 5, 0, 255, 0)
                DoTeams()
                set_task(4.0,"ConfigureServer")
        }
        else
                {
                copy(text, 255, "Round over: Checking Teams")
                doTypesay(text, 5, 0, 255, 0)
                KickAllBots()
                Humans()
                set_task(6.0, "DoUpgrades")               
        }               
        new param[12]
        read_data(2,param,8)
        if (param[7]=='c')
                { //%!MRAD_ctwin
                param[0] = CTS
                param[1] = TS
        }
        else if (param[7]=='t')
                {  //%!MRAD_terwin
                param[0] = TS
                param[1] = CTS
        }
        else
                {
                return // %!MRAD_rounddraw (both teams have left the game)
        }       
}
public DoTeams()
        {
        if(BotMode == 1)
                {
                new text[255]
                new Players[32]
                new playerCount, i
                get_players(Players, playerCount, "c")
                for (i=0; i<playerCount; i++)
                        {
                        if(is_user_bot(Players[i]) == 0)
                                {
                                if(playerJoinTeam == TS)
                                        {
                                        if(get_user_team(Players[i]) == CTS)
                                                {
                                                cs_set_user_team(Players[i],CS_TEAM_T,CS_T_TERROR)
                                                format(text,255,"Moving People to the Terrorist Team.")
                                                doTypesay(text, 5, 0, 255, 0)
                                        }
                                }
                                else
                                        {
                                        if(get_user_team(Players[i]) == TS)
                                                {
                                                cs_set_user_team(Players[i],CS_TEAM_CT,CS_CT_URBAN )
                                                format(text,255,"Moving People to the Counter-Terrorist Team.")
                                                doTypesay(text, 5, 0, 255, 0)
                                        }
                                }
                        }
                }
        }
}
public DoUpgrades()
        {
        if(BotMode == 1)
                {
                new text[255], Players[32], playerCount, i
                new map[32], cash
                get_mapname(map, 31)
                copy(text,255, "Bot Mode: Giving Players Upgrades.")
                doTypesay(text, 5, 0, 255, 0)
                new bot_diff
                bot_diff = get_cvar_num("bot_difficulty")
                if(bot_diff == 4)
                        {
                        copy(text,255, "Extreme Bot Mode: Giving Players Upgrades.")
                        doTypesay(text, 5, 0, 255, 0)
                }
                get_players(Players, playerCount, "a")
                for (i=0; i<playerCount; i++)
                        {
                        if(is_user_bot(Players[i]) == 0)
                                {
                                cs_set_user_armor(Players[i],255,CS_ARMOR_VESTHELM)
                                set_user_health(Players[i],255)
                                if(containi(map, "de_")  > -1 || containi(map, "cs_") > -1)
                                        {
                                        give_item(Players[i],"weapon_m4a1")
                                        cs_set_user_bpammo(Players[i], CSW_M4A1, 90)
                                        give_item(Players[i],"weapon_ak47")
                                        cs_set_user_bpammo(Players[i], CSW_AK47, 90)
                                        give_item(Players[i],"weapon_deagle")
                                        cs_set_user_bpammo(Players[i], CSW_DEAGLE, 35)
                                }
                                else if(containi(map, "scout") >  -1)
                                        {
                                        cs_set_user_bpammo(Players[i], CSW_SCOUT, 30)
                                        give_item(Players[i], "weapon_hegrenade")
                                }
                                else if(containi(map, "fy_") > -1 || containi(map, "awp") > -1)
                                        {
                                        give_item(Players[i], "weapon_hegrenade")
                                }
                                cash = cs_get_user_money(Players[i])
                                if(cash > 8000)
                                        {
                                        cs_set_user_money(Players[i], 8000, 0)
                                }
                                else if(cash < 8000)
                                        {
                                        cs_set_user_money(Players[i], 8000, 0)
                                }                               
                        }
                        else
                                {
                                if(bot_diff == 2)
                                        {
                                        cs_set_user_armor(Players[i], 100,CS_ARMOR_VESTHELM)
                                        set_user_health(Players[i], 100)
                                }
                                else if(bot_diff == 3)
                                        {
                                        cs_set_user_armor(Players[i],100,CS_ARMOR_VESTHELM)
                                        set_user_health(Players[i],100)
                                }
                                else if(bot_diff == 4)
                                        {
                                        copy(text,255, "Extreme Bot Mode: Giving Bots Upgrades.")
                                        doTypesay(text, 5, 0, 255, 0)
                                        cs_set_user_armor(Players[i],100,CS_ARMOR_VESTHELM)
                                        set_user_health(Players[i],100)
                                        if(containi(map, "de_") > -1 || containi(map, "cs_") > -1)
                                                {
                                                give_item(Players[i],"weapon_m4a1")
                                                cs_set_user_bpammo(Players[i], CSW_M4A1, 90)
                                                give_item(Players[i],"weapon_ak47")
                                                cs_set_user_bpammo(Players[i], CSW_AK47, 90)
                                                give_item(Players[i],"weapon_deagle")
                                                cs_set_user_bpammo(Players[i], CSW_DEAGLE, 35)
                                        }
                                        else if(containi(map, "scout") > -1)
                                                {
                                                cs_set_user_bpammo(Players[i], CSW_SCOUT, 30)       
                                                give_item(Players[i], "weapon_hegrenade")
                                        }
                                }
                        }
                }
        }
        else
                {
                new text[255], Players[32], playerCount, i
                new map[32], cash
                get_mapname(map, 31)
                copy(text,255, "Humans Only")
                doTypesay(text, 5, 0, 255, 0)
                get_players(Players, playerCount, "c")
                for (i=0; i<playerCount; i++)
                        {
                        cs_set_user_armor(Players[i],100,CS_ARMOR_VESTHELM)
                        if(containi(map, "de_") > -1 || containi(map, "cs_") > -1)
                                {
                                if(get_user_team(Players[i]) == CTS)
                                        {
                                        cs_set_user_armor(Players[i],100,CS_ARMOR_VESTHELM)
                                        give_item(Players[i],"weapon_m4a1")
                                        cs_set_user_bpammo(Players[i], CSW_M4A1, 90)
                                        give_item(Players[i],"weapon_ak47")
                                        cs_set_user_bpammo(Players[i], CSW_AK47, 90)
                                        give_item(Players[i],"weapon_deagle")
                                        cs_set_user_bpammo(Players[i], CSW_DEAGLE, 35)
                                }
                                else if(get_user_team(Players[i]) == TS)
                                        {
                                        cs_set_user_armor(Players[i],100,CS_ARMOR_VESTHELM)
                                        give_item(Players[i],"weapon_ak47")
                                        cs_set_user_bpammo(Players[i], CSW_AK47, 90)
                                        give_item(Players[i],"weapon_m4a1")
                                        cs_set_user_bpammo(Players[i], CSW_M4A1, 90)
                                        give_item(Players[i],"weapon_deagle")
                                        cs_set_user_bpammo(Players[i], CSW_DEAGLE, 35)
                                }                               
                        }
                        else if(containi(map, "scout") > -1)
                                {
                                cs_set_user_armor(Players[i], 100, CS_ARMOR_VESTHELM)
                                cs_set_user_bpammo(Players[i], CSW_SCOUT, 30)
                                give_item(Players[i], "weapon_hegrenade")
                        }
                        else if(containi(map, "fy_") > -1 || containi(map, "awp") > -1)
                                {
                                cs_set_user_armor(Players[i], 100, CS_ARMOR_VESTHELM)
                                give_item(Players[i], "weapon_hegrenade")
                        }
                        cash = cs_get_user_money(Players[i])
                        if(cash > 8000)
                                {
                                cs_set_user_money(Players[i], 10000, 0)
                        }
                        else if(cash < 8000)
                                {
                                cs_set_user_money(Players[i], 10000, 0)
                        }                               
                }
        }
}

public ConfigureServer()
        {
        new pnum = CountHumans()
        new bot_diff = get_cvar_num("bot_difficulty")
        new text[256]
        if(pnum > 0 && pnum <= 3)
                {
                if(BotMode != 1)
                        {
                        copy(text,255, "Bot Difficulty: 2")
                        doTypesay(text, 5, 0, 255, 0)
                }
                else
                        {
                        if(bot_diff != 2)
                                {
                                copy(text,255, "Bot Difficulty: 2")
                                doTypesay(text, 5, 0, 255, 0)
                        }
                }
                BotNum = 1
                Bots()
                BotDiff(2)               
                set_task(2.0, "DoUpgrades")
        }
        else if(pnum > 3 && pnum <= 5)
                {
                if(BotMode != 1)
                        {
                        copy(text,255, "Bot Difficulty: 3")
                        doTypesay(text, 5, 0, 255, 0)
                }
                else
                        {
                        if(bot_diff != 3)
                                {
                                copy(text,255, "Bot Difficulty: 3")
                                doTypesay(text, 5, 0, 255, 0)
                        }
                }
                BotNum = 2
                Bots()
                BotDiff(3)
                set_task(2.0, "DoUpgrades")
        }
        else if(pnum > 5 && pnum <= 7)
                {
                if(BotMode != 0)
                        {
                        if(bot_diff != 4)
                                {
                                copy(text, 255, "Bot Difficulty: 4")               
                                doTypesay(text, 5, 0, 255, 0)
                                BotDiff(4)
                        }
                        BotNum = 3
                        Bots()
                }
                else
                        {
                        KickAllBots()
                        Humans()
                }
                set_task(2.0, "DoUpgrades")
        }
        else if(pnum > 7)
                {
                if(BotMode != 0)
                        {
                        copy(text,255, "Humans Only: Getting Rid of the Bots.")
                        doTypesay(text, 5, 0, 255, 0)
                        KickAllBots()
                        Humans()
                }
                else
                        {
                        KickAllBots()
                        Humans()
                }
                set_task(2.0, "DoUpgrades")
        }
        return PLUGIN_CONTINUE
}



All times are GMT -4. The time now is 16:23.

Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.