mirror of
https://github.com/ineedbots/t5_bot_warfare.git
synced 2025-04-20 08:45:42 +00:00
bots_loadout_rank bots_loadout_codpoints
This commit is contained in:
parent
8701417d9a
commit
54c2925599
@ -985,29 +985,41 @@ bot_get_cod_points()
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
players = get_players();
|
cp_dvar = getDvarInt("bots_loadout_codpoints");
|
||||||
total_points = [];
|
if (cp_dvar == -1)
|
||||||
|
|
||||||
for ( i = 0; i < players.size; i++ )
|
|
||||||
{
|
{
|
||||||
if ( players[i] is_bot() )
|
players = get_players();
|
||||||
|
total_points = [];
|
||||||
|
|
||||||
|
for ( i = 0; i < players.size; i++ )
|
||||||
{
|
{
|
||||||
continue;
|
if ( players[i] is_bot() )
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(!isDefined(players[i].pers["currencyspent"]) || !isDefined(players[i].pers["codpoints"]))
|
||||||
|
continue;
|
||||||
|
|
||||||
|
total_points[ total_points.size ] = players[i].pers["currencyspent"] + players[i].pers["codpoints"];
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!isDefined(players[i].pers["currencyspent"]) || !isDefined(players[i].pers["codpoints"]))
|
if( !total_points.size )
|
||||||
continue;
|
{
|
||||||
|
total_points[ total_points.size ] = Round( random_normal_distribution( 50000, 15000, 0, 100000 ) );
|
||||||
|
}
|
||||||
|
|
||||||
total_points[ total_points.size ] = players[i].pers["currencyspent"] + players[i].pers["codpoints"];
|
point_average = array_average( total_points );
|
||||||
|
self.pers["bot"][ "cod_points" ] = Int( point_average * RandomFloatRange( 0.6, 0.8 ) );
|
||||||
}
|
}
|
||||||
|
else if(cp_dvar == 0)
|
||||||
if( !total_points.size )
|
|
||||||
{
|
{
|
||||||
total_points[ total_points.size ] = Round( random_normal_distribution( 50000, 15000, 0, 100000 ) );
|
self.pers["bot"][ "cod_points" ] = Round( random_normal_distribution( 50000, 15000, 0, 100000 ) );
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
self.pers["bot"][ "cod_points" ] = Round( random_normal_distribution( cp_dvar, 1500, 0, 100000 ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
point_average = array_average( total_points );
|
|
||||||
self.pers["bot"][ "cod_points" ] = Int( point_average * RandomFloatRange( 0.6, 0.8 ) );
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -1015,51 +1027,65 @@ bot_get_cod_points()
|
|||||||
*/
|
*/
|
||||||
bot_get_rank()
|
bot_get_rank()
|
||||||
{
|
{
|
||||||
players = get_players();
|
rank = 1;
|
||||||
|
rank_dvar = getDvarInt("bots_loadout_rank");
|
||||||
|
|
||||||
ranks = [];
|
if (rank_dvar == -1)
|
||||||
bot_ranks = [];
|
|
||||||
human_ranks = [];
|
|
||||||
|
|
||||||
for ( i = 0; i < players.size; i++ )
|
|
||||||
{
|
{
|
||||||
if ( players[i] == self )
|
players = get_players();
|
||||||
continue;
|
|
||||||
|
|
||||||
if ( !IsDefined( players[i].pers[ "rank" ] ) )
|
ranks = [];
|
||||||
continue;
|
bot_ranks = [];
|
||||||
|
human_ranks = [];
|
||||||
|
|
||||||
if ( players[i] is_bot() )
|
for ( i = 0; i < players.size; i++ )
|
||||||
{
|
{
|
||||||
bot_ranks[ bot_ranks.size ] = players[i].pers[ "rank" ];
|
if ( players[i] == self )
|
||||||
|
continue;
|
||||||
|
|
||||||
|
if ( !IsDefined( players[i].pers[ "rank" ] ) )
|
||||||
|
continue;
|
||||||
|
|
||||||
|
if ( players[i] is_bot() )
|
||||||
|
{
|
||||||
|
bot_ranks[ bot_ranks.size ] = players[i].pers[ "rank" ];
|
||||||
|
}
|
||||||
|
else if ( !players[i] isdemoclient() )
|
||||||
|
{
|
||||||
|
human_ranks[ human_ranks.size ] = players[i].pers[ "rank" ];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else if ( !players[i] isdemoclient() )
|
|
||||||
|
if( !human_ranks.size )
|
||||||
{
|
{
|
||||||
human_ranks[ human_ranks.size ] = players[i].pers[ "rank" ];
|
human_ranks[ human_ranks.size ] = Round( random_normal_distribution( 35, 20, 0, level.maxRank ) );
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
if( !human_ranks.size )
|
human_avg = array_average( human_ranks );
|
||||||
|
|
||||||
|
while ( bot_ranks.size + human_ranks.size < 5 )
|
||||||
|
{
|
||||||
|
// add some random ranks for better random number distribution
|
||||||
|
rank = human_avg + RandomIntRange( -10, 10 );
|
||||||
|
human_ranks[ human_ranks.size ] = rank;
|
||||||
|
}
|
||||||
|
|
||||||
|
ranks = array_combine( human_ranks, bot_ranks );
|
||||||
|
|
||||||
|
avg = array_average( ranks );
|
||||||
|
s = array_std_deviation( ranks, avg );
|
||||||
|
|
||||||
|
rank = Round( random_normal_distribution( avg, s, 0, level.maxRank ) );
|
||||||
|
}
|
||||||
|
else if (rank_dvar == 0)
|
||||||
{
|
{
|
||||||
human_ranks[ human_ranks.size ] = Round( random_normal_distribution( 35, 20, 0, level.maxRank ) );
|
rank = Round( random_normal_distribution( 35, 20, 0, level.maxRank ) );
|
||||||
}
|
}
|
||||||
|
else
|
||||||
human_avg = array_average( human_ranks );
|
|
||||||
|
|
||||||
while ( bot_ranks.size + human_ranks.size < 5 )
|
|
||||||
{
|
{
|
||||||
// add some random ranks for better random number distribution
|
rank = Round( random_normal_distribution( rank_dvar, 5, 0, level.maxRank ) );
|
||||||
rank = human_avg + RandomIntRange( -10, 10 );
|
|
||||||
human_ranks[ human_ranks.size ] = rank;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
ranks = array_combine( human_ranks, bot_ranks );
|
|
||||||
|
|
||||||
avg = array_average( ranks );
|
|
||||||
s = array_std_deviation( ranks, avg );
|
|
||||||
|
|
||||||
rank = Int( random_normal_distribution( avg, s, 0, level.maxRank ) );
|
|
||||||
|
|
||||||
self.pers["bot"]["rankxp"] = maps\mp\gametypes\_rank::getRankInfoMinXP( rank );
|
self.pers["bot"]["rankxp"] = maps\mp\gametypes\_rank::getRankInfoMinXP( rank );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -47,6 +47,10 @@ init()
|
|||||||
setDvar("bots_loadout_reasonable", false);
|
setDvar("bots_loadout_reasonable", false);
|
||||||
if(getDvar("bots_loadout_allow_op") == "")//allows jug, marty and laststand
|
if(getDvar("bots_loadout_allow_op") == "")//allows jug, marty and laststand
|
||||||
setDvar("bots_loadout_allow_op", true);
|
setDvar("bots_loadout_allow_op", true);
|
||||||
|
if(getDvar("bots_loadout_rank") == "")// what rank the bots should be around, -1 is around the players, 0 is all random
|
||||||
|
setDvar("bots_loadout_rank", -1);
|
||||||
|
if(getDvar("bots_loadout_codpoints") == "")// how much cod points a bot should have, -1 is around the players, 0 is all random
|
||||||
|
setDvar("bots_loadout_codpoints", -1);
|
||||||
|
|
||||||
level.bots = [];
|
level.bots = [];
|
||||||
level.bot_decoys = [];
|
level.bot_decoys = [];
|
||||||
|
Loading…
x
Reference in New Issue
Block a user