increased bail, decreased bc chance if there are >15 players + <20% cops
This commit is contained in:
parent
755f9c7307
commit
4dc801ac0a
@ -5361,7 +5361,9 @@ function Untaze( playerid )
|
|||||||
if ( ! IsPlayerTied( playerid ) )
|
if ( ! IsPlayerTied( playerid ) )
|
||||||
TogglePlayerControllable( playerid, 1 );
|
TogglePlayerControllable( playerid, 1 );
|
||||||
|
|
||||||
|
if ( GetPlayerSpecialAction( playerid ) != SPECIAL_ACTION_CUFFED )
|
||||||
SetPlayerSpecialAction( playerid, SPECIAL_ACTION_NONE );
|
SetPlayerSpecialAction( playerid, SPECIAL_ACTION_NONE );
|
||||||
|
|
||||||
ClearAnimations( playerid );
|
ClearAnimations( playerid );
|
||||||
p_BulletInvulnerbility[ playerid ] = g_iTime + 3;
|
p_BulletInvulnerbility[ playerid ] = g_iTime + 3;
|
||||||
p_TazingImmunity[ playerid ] = g_iTime + 6;
|
p_TazingImmunity[ playerid ] = g_iTime + 6;
|
||||||
@ -6702,22 +6704,25 @@ CMD:request( playerid, params[ ] )
|
|||||||
CMD:cnr( playerid, params[ ] )
|
CMD:cnr( playerid, params[ ] )
|
||||||
{
|
{
|
||||||
new
|
new
|
||||||
Float: iClass[ 2 ];
|
Float: cops, Float: robbers;
|
||||||
|
|
||||||
for( new i = 0; i < MAX_PLAYERS; i++ ) if ( IsPlayerConnected( i ) ) {
|
GetServerPoliceRatio( cops, robbers );
|
||||||
#if defined __cnr__chuffsec
|
SendClientMessageFormatted( playerid, -1, ""COL_GREY"[SERVER]"COL_WHITE" The server is made up of %0.2f%s robbers and %0.2f%s cops.", robbers, "%%", cops, "%%" );
|
||||||
if ( i == g_secureTruckDriver ) continue;
|
return 1;
|
||||||
#endif
|
|
||||||
iClass[ ( p_Class[ i ] == CLASS_POLICE ? CLASS_POLICE : CLASS_CIVILIAN ) ] ++;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
stock GetServerPoliceRatio( &Float: police, &Float: robbers = 0.0, &total_online = 0 )
|
||||||
|
{
|
||||||
new
|
new
|
||||||
Float: iCivilians = ( iClass[ CLASS_CIVILIAN ] / ( iClass[ CLASS_CIVILIAN ] + iClass[ CLASS_POLICE ] ) ) * 100.0,
|
Float: class_count[ 2 ];
|
||||||
Float: iPolice = ( iClass[ CLASS_POLICE ] / ( iClass[ CLASS_CIVILIAN ] + iClass[ CLASS_POLICE ] ) ) * 100.0
|
|
||||||
;
|
|
||||||
|
|
||||||
SendClientMessageFormatted( playerid, -1, ""COL_GREY"[SERVER]"COL_WHITE" The server is made up of %0.2f%s robbers and %0.2f%s cops.", iCivilians, "%%", iPolice, "%%" );
|
for( new i = 0; i < MAX_PLAYERS; i++ ) if ( IsPlayerConnected( i ) && ! IsPlayerNPC( i ) ) {
|
||||||
return 1;
|
class_count[ ( p_Class[ i ] == CLASS_POLICE ? CLASS_POLICE : CLASS_CIVILIAN ) ] ++;
|
||||||
|
total_online ++;
|
||||||
|
}
|
||||||
|
|
||||||
|
robbers = ( class_count[ CLASS_CIVILIAN ] / ( class_count[ CLASS_CIVILIAN ] + class_count[ CLASS_POLICE ] ) ) * 100.0;
|
||||||
|
police = ( class_count[ CLASS_POLICE ] / ( class_count[ CLASS_CIVILIAN ] + class_count[ CLASS_POLICE ] ) ) * 100.0;
|
||||||
}
|
}
|
||||||
|
|
||||||
CMD:eventbank( playerid, params[ ] )
|
CMD:eventbank( playerid, params[ ] )
|
||||||
@ -8928,7 +8933,7 @@ CMD:bail( playerid, params[ ] )
|
|||||||
else if ( GetPVarInt( pID, "bail_antispam" ) > g_iTime ) return SendError( playerid, "You must wait 10 seconds before offering a bail to this player." );
|
else if ( GetPVarInt( pID, "bail_antispam" ) > g_iTime ) return SendError( playerid, "You must wait 10 seconds before offering a bail to this player." );
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
equa = 30 * p_JailTime[ pID ];
|
equa = 50 * p_JailTime[ pID ];
|
||||||
if ( p_JailTime[ pID ] >= ALCATRAZ_TIME_WANTED ) equa *= 2;
|
if ( p_JailTime[ pID ] >= ALCATRAZ_TIME_WANTED ) equa *= 2;
|
||||||
p_BailOfferer[ pID ] = playerid;
|
p_BailOfferer[ pID ] = playerid;
|
||||||
p_BailTimestamp[ pID ] = g_iTime + 120;
|
p_BailTimestamp[ pID ] = g_iTime + 120;
|
||||||
@ -8942,7 +8947,7 @@ CMD:bail( playerid, params[ ] )
|
|||||||
CMD:acceptbail( playerid, params[ ] )
|
CMD:acceptbail( playerid, params[ ] )
|
||||||
{
|
{
|
||||||
new
|
new
|
||||||
equa = 30 * p_JailTime[ playerid ];
|
equa = 50 * p_JailTime[ playerid ];
|
||||||
|
|
||||||
if ( p_JailTime[ playerid ] >= ALCATRAZ_TIME_WANTED )
|
if ( p_JailTime[ playerid ] >= ALCATRAZ_TIME_WANTED )
|
||||||
equa *= 2;
|
equa *= 2;
|
||||||
@ -25677,12 +25682,19 @@ stock BreakPlayerCuffs( playerid, &attempts = 0 )
|
|||||||
if ( p_BobbyPins[ playerid ] < 1 )
|
if ( p_BobbyPins[ playerid ] < 1 )
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
new
|
new Float: police_percentage, total_online;
|
||||||
bool: success = false;
|
new bool: success = false;
|
||||||
|
|
||||||
|
// get current police percentage
|
||||||
|
GetServerPoliceRatio( police_percentage, .total_online = total_online );
|
||||||
|
|
||||||
|
// probability based off some factors
|
||||||
|
new probability = police_percentage < 20.0 && total_online > 15 ? 10 : 35; // over 15 players, but less than 20% cops? make breakcuff the worst
|
||||||
|
|
||||||
|
// attempt to uncuff
|
||||||
for ( attempts = 1; attempts < p_BobbyPins[ playerid ]; attempts ++ )
|
for ( attempts = 1; attempts < p_BobbyPins[ playerid ]; attempts ++ )
|
||||||
{
|
{
|
||||||
if ( random( 101 ) < 35 ) { // 35% success rate RIP!
|
if ( random( 101 ) <= probability ) { // 35% success rate RIP!
|
||||||
success = true;
|
success = true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user