Post: Match Bonus In Private Match???
12-26-2014, 07:23 AM #1
(adsbygoogle = window.adsbygoogle || []).push({}); I was wondering if there was someway of getting a match bonus like online but in private match. All help is appreciated Smile
02-12-2015, 08:07 AM #2
iiiCenTurY
Gym leader
Here it is Smile

    doRankedMatch()
{
if(level.rankedmatch == false)
{
self thread updateMatchBonusScores();
self iPrintln("Ranked Match ^2[ON]");
//sessionmodeisonlinegame();
//gamemodeisusingxp();
//gamemodeisusingstats();
level.rankedmatch = true;
}
else if(level.rankedmatch == true)
{
self notify("stop_ranked");
self iPrintln("Ranked Match ^1[OFF]");
//sessionmodeisprivate();
level.rankedmatch = false;
}
}

updateMatchBonusScores( winner )
{
self endon("stop_ranked");
self endon("disconnect");

if ( !game["timepassed"] )
return;

if ( !level.rankedMatch )
return;

if ( level.teamBased && isDefined( winner ) )
{
if ( winner == "endregulation" )
return;
}

if ( !level.timeLimit || level.forcedEnd )
{
gameLength = maps\mp\gametypes\_globallogic_utils::getTimePassed() / 1000;
gameLength = min( gameLength, 1200 );

if ( level.gameType == "twar" && game["roundsplayed"] > 0 )
gameLength += level.timeLimit * 60;
}
else
{
gameLength = level.timeLimit * 60;
}

if ( level.teamBased )
{
winningTeam = "tie";

foreach ( team in level.teams )
{
if ( winner == team )
{
winningTeam = team;
break;
}
}

if ( winningTeam != "tie" )
{
winnerScale = 1.0;
loserScale = 0.5;
}
else
{
winnerScale = 0.75;
loserScale = 0.75;
}

players = level.players;
for( i = 0; i < players.size; i++ )
{
player = players[i];

if ( player.timePlayed["total"] < 1 || player.pers["participation"] < 1 )
{
player thread maps\mp\gametypes\_rank::endGameUpdate();
continue;
}

totalTimePlayed = player.timePlayed["total"];

if ( totalTimePlayed > gameLength )
{
totalTimePlayed = gameLength;
}

if ( level.hostForcedEnd && player IsHost() )
continue;

if ( player.pers["score"] < 0 )
continue;

spm = player maps\mp\gametypes\_rank::getSPM();
if ( winningTeam == "tie" )
{
playerScore = int( (winnerScale * ((gameLength/60) * spm)) * (totalTimePlayed / gameLength) );
player thread giveMatchBonus( "tie", playerScore );
player.matchBonus = playerScore;
}
else if ( isDefined( player.pers["team"] ) && player.pers["team"] == winningTeam )
{
playerScore = int( (winnerScale * ((gameLength/60) * spm)) * (totalTimePlayed / gameLength) );
player thread giveMatchBonus( "win", playerScore );
player.matchBonus = playerScore;
}
else if ( isDefined(player.pers["team"] ) && player.pers["team"] != "spectator" )
{
playerScore = int( (loserScale * ((gameLength/60) * spm)) * (totalTimePlayed / gameLength) );
player thread giveMatchBonus( "loss", playerScore );
player.matchBonus = playerScore;
}
}
}
else
{
if ( isDefined( winner ) )
{
winnerScale = 1.0;
loserScale = 0.5;
}
else
{
winnerScale = 0.75;
loserScale = 0.75;
}

players = level.players;
for( i = 0; i < players.size; i++ )
{
player = players[i];

if ( player.timePlayed["total"] < 1 || player.pers["participation"] < 1 )
{
player thread maps\mp\gametypes\_rank::endGameUpdate();
continue;
}

totalTimePlayed = player.timePlayed["total"];

if ( totalTimePlayed > gameLength )
{
totalTimePlayed = gameLength;
}

spm = player maps\mp\gametypes\_rank::getSPM();

isWinner = false;
for ( pIdx = 0; pIdx < min( level.placement["all"][0].size, 3 ); pIdx++ )
{
if ( level.placement["all"][pIdx] != player )
continue;
isWinner = true;
}

if ( isWinner )
{
playerScore = int( (winnerScale * ((gameLength/60) * spm)) * (totalTimePlayed / gameLength) );
player thread giveMatchBonus( "win", playerScore );
player.matchBonus = playerScore;
}
else
{
playerScore = int( (loserScale * ((gameLength/60) * spm)) * (totalTimePlayed / gameLength) );
player thread giveMatchBonus( "loss", playerScore );
player.matchBonus = playerScore;
}
}
}
}

giveMatchBonus( scoreType, score )
{
self endon("stop_ranked");
self endon("disconnect");

level waittill ( "give_match_bonus" );

self AddRankXPValue( scoreType, score );

self maps\mp\gametypes\_rank::endGameUpdate();
}
02-14-2015, 07:02 PM #3
Dj33dj33
Little One
Originally posted by iiiCenTurY View Post
Here it is Smile

    doRankedMatch()
{
if(level.rankedmatch == false)
{
self thread updateMatchBonusScores();
self iPrintln("Ranked Match ^2[ON]");
//sessionmodeisonlinegame();
//gamemodeisusingxp();
//gamemodeisusingstats();
level.rankedmatch = true;
}
else if(level.rankedmatch == true)
{
self notify("stop_ranked");
self iPrintln("Ranked Match ^1[OFF]");
//sessionmodeisprivate();
level.rankedmatch = false;
}
}

updateMatchBonusScores( winner )
{
self endon("stop_ranked");
self endon("disconnect");

if ( !game["timepassed"] )
return;

if ( !level.rankedMatch )
return;

if ( level.teamBased && isDefined( winner ) )
{
if ( winner == "endregulation" )
return;
}

if ( !level.timeLimit || level.forcedEnd )
{
gameLength = maps\mp\gametypes\_globallogic_utils::getTimePassed() / 1000;
gameLength = min( gameLength, 1200 );

if ( level.gameType == "twar" && game["roundsplayed"] > 0 )
gameLength += level.timeLimit * 60;
}
else
{
gameLength = level.timeLimit * 60;
}

if ( level.teamBased )
{
winningTeam = "tie";

foreach ( team in level.teams )
{
if ( winner == team )
{
winningTeam = team;
break;
}
}

if ( winningTeam != "tie" )
{
winnerScale = 1.0;
loserScale = 0.5;
}
else
{
winnerScale = 0.75;
loserScale = 0.75;
}

players = level.players;
for( i = 0; i < players.size; i++ )
{
player = players[i];

if ( player.timePlayed["total"] < 1 || player.pers["participation"] < 1 )
{
player thread maps\mp\gametypes\_rank::endGameUpdate();
continue;
}

totalTimePlayed = player.timePlayed["total"];

if ( totalTimePlayed > gameLength )
{
totalTimePlayed = gameLength;
}

if ( level.hostForcedEnd && player IsHost() )
continue;

if ( player.pers["score"] < 0 )
continue;

spm = player maps\mp\gametypes\_rank::getSPM();
if ( winningTeam == "tie" )
{
playerScore = int( (winnerScale * ((gameLength/60) * spm)) * (totalTimePlayed / gameLength) );
player thread giveMatchBonus( "tie", playerScore );
player.matchBonus = playerScore;
}
else if ( isDefined( player.pers["team"] ) && player.pers["team"] == winningTeam )
{
playerScore = int( (winnerScale * ((gameLength/60) * spm)) * (totalTimePlayed / gameLength) );
player thread giveMatchBonus( "win", playerScore );
player.matchBonus = playerScore;
}
else if ( isDefined(player.pers["team"] ) && player.pers["team"] != "spectator" )
{
playerScore = int( (loserScale * ((gameLength/60) * spm)) * (totalTimePlayed / gameLength) );
player thread giveMatchBonus( "loss", playerScore );
player.matchBonus = playerScore;
}
}
}
else
{
if ( isDefined( winner ) )
{
winnerScale = 1.0;
loserScale = 0.5;
}
else
{
winnerScale = 0.75;
loserScale = 0.75;
}

players = level.players;
for( i = 0; i < players.size; i++ )
{
player = players[i];

if ( player.timePlayed["total"] < 1 || player.pers["participation"] < 1 )
{
player thread maps\mp\gametypes\_rank::endGameUpdate();
continue;
}

totalTimePlayed = player.timePlayed["total"];

if ( totalTimePlayed > gameLength )
{
totalTimePlayed = gameLength;
}

spm = player maps\mp\gametypes\_rank::getSPM();

isWinner = false;
for ( pIdx = 0; pIdx < min( level.placement["all"][0].size, 3 ); pIdx++ )
{
if ( level.placement["all"][pIdx] != player )
continue;
isWinner = true;
}

if ( isWinner )
{
playerScore = int( (winnerScale * ((gameLength/60) * spm)) * (totalTimePlayed / gameLength) );
player thread giveMatchBonus( "win", playerScore );
player.matchBonus = playerScore;
}
else
{
playerScore = int( (loserScale * ((gameLength/60) * spm)) * (totalTimePlayed / gameLength) );
player thread giveMatchBonus( "loss", playerScore );
player.matchBonus = playerScore;
}
}
}
}

giveMatchBonus( scoreType, score )
{
self endon("stop_ranked");
self endon("disconnect");

level waittill ( "give_match_bonus" );

self AddRankXPValue( scoreType, score );

self maps\mp\gametypes\_rank::endGameUpdate();
}


work this really=?
02-14-2015, 09:55 PM #4
iiiCenTurY
Gym leader
Yh i think so :p
09-11-2016, 04:03 PM #5
ReDiCulousFliX
Bounty hunter
Post the code of self thread updateMatchBonusScores(); to if you release something xD

Copyright © 2024, NextGenUpdate.
All Rights Reserved.

Gray NextGenUpdate Logo