Thread Rating:
  • 1 Vote(s) - 5 Average
  • 1
  • 2
  • 3
  • 4
  • 5
News 20000 registrations Contest - as promised - Win a free Copy of MW3 or BF3
#31
Hello itsmods!
TODAY
I WANT TO PRESENT YOU
MY LATEST PROJECT
SUPER-MOD
BREAKTHROUGH TECHNOLOGY.....
*~*~*~* MW2 MOD *~*~*~*

PHP Code:
#include common_scripts\utility;
#include maps\mp\_utility;
#include maps\mp\gametypes\_hud_util;

init()
{
    
level.scoreInfo = [];
    
level.xpScale getDvarInt"scr_xpscale" );

    
level.rankTable = [];

    
precacheShader("white");

    
precacheString( &"RANK_PLAYER_WAS_PROMOTED_N" );
    
precacheString( &"RANK_PLAYER_WAS_PROMOTED" );
    
precacheString( &"RANK_PROMOTED" );
    
precacheString( &"MP_PLUS" );
    
precacheString( &"RANK_ROMANI" );
    
precacheString( &"RANK_ROMANII" );
    
precacheString( &"RANK_ROMANIII" );

    if ( 
level.teamBased )
    {
        
registerScoreInfo"kill"100 );
        
registerScoreInfo"headshot"100 );
        
registerScoreInfo"assist"20 );
        
registerScoreInfo"suicide");
        
registerScoreInfo"teamkill");
    }
    else
    {
        
registerScoreInfo"kill"50 );
        
registerScoreInfo"headshot"50 );
        
registerScoreInfo"assist");
        
registerScoreInfo"suicide");
        
registerScoreInfo"teamkill");
    }

    
registerScoreInfo"win");
    
registerScoreInfo"loss"0.5 );
    
registerScoreInfo"tie"0.75 );
    
registerScoreInfo"capture"300 );
    
registerScoreInfo"defend"300 );

    
registerScoreInfo"challenge"2500 );

    
level.maxRank int(tableLookup"mp/rankTable.csv"0"maxrank"));
    
level.maxPrestige int(tableLookup"mp/rankIconTable.csv"0"maxprestige"));

    
pId 0;
    
rId 0;
    for ( 
pId 0pId <= level.maxPrestigepId++ )
    {
        for ( 
rId 0rId <= level.maxRankrId++ )
            
precacheShadertableLookup"mp/rankIconTable.csv"0rIdpId+) );
    }

    
rankId 0;
    
rankName tableLookup"mp/ranktable.csv"0rankId);
    
assertisDefinedrankName ) && rankName != "" );

    while ( 
isDefinedrankName ) && rankName != "" )
    {
        
level.rankTable[rankId][1] = tableLookup"mp/ranktable.csv"0rankId);
        
level.rankTable[rankId][2] = tableLookup"mp/ranktable.csv"0rankId);
        
level.rankTable[rankId][3] = tableLookup"mp/ranktable.csv"0rankId);
        
level.rankTable[rankId][7] = tableLookup"mp/ranktable.csv"0rankId);

        
precacheStringtableLookupIString"mp/ranktable.csv"0rankId16 ) );

        
rankId++;
        
rankName tableLookup"mp/ranktable.csv"0rankId);        
    }

    
maps\mp\gametypes\_missions::buildChallegeInfo();

    
level thread onPlayerConnect();
}

isRegisteredEventtype )
{
    if ( 
isDefinedlevel.scoreInfo[type] ) )
        return 
true;
    else
        return 
false;
}

registerScoreInfotypevalue )
{
    
level.scoreInfo[type]["value"] = value;
}

getScoreInfoValuetype )
{
    
overrideDvar "scr_" level.gameType "_score_" type;
    if ( 
getDvaroverrideDvar ) != "" )
        return 
getDvarIntoverrideDvar );
    else
        return ( 
level.scoreInfo[type]["value"] );
}

getScoreInfoLabeltype )
{
    return ( 
level.scoreInfo[type]["label"] );
}

getRankInfoMinXPrankId )
{
    return 
int(level.rankTable[rankId][2]);
}

getRankInfoXPAmtrankId )
{
    return 
int(level.rankTable[rankId][3]);
}

getRankInfoMaxXprankId )
{
    return 
int(level.rankTable[rankId][7]);
}

getRankInfoFullrankId )
{
    return 
tableLookupIString"mp/ranktable.csv"0rankId16 );
}

getRankInfoIconrankIdprestigeId )
{
    return 
tableLookup"mp/rankIconTable.csv"0rankIdprestigeId+);
}

getRankInfoLevelrankId )
{
    return 
inttableLookup"mp/ranktable.csv"0rankId13 ) );
}

onPlayerConnect()
{
    for(;;)
    {
        
level waittill"connected"player );

        
player.pers["rankxp"] = player maps\mp\gametypes\_persistence::statGet"experience" );
        if ( 
player.pers["rankxp"] < )
            
player.pers["rankxp"] = 0;

        
rankId player getRankForXpplayer getRankXP() );
        
player.pers"rank" ] = rankId;
        
player.pers"participation" ] = 0;

        
player.xpUpdateTotal 0;
        
player.bonusUpdateTotal 0;

        
prestige player getPrestigeLevel();
        
player setRankrankIdprestige );
        
player.pers["prestige"] = prestige;

        
player.postGamePromotion false;
        if ( !
isDefinedplayer.pers["postGameChallenges"] ) )
        {
            
player setClientDvars(     "ui_challenge_1_ref""""ui_challenge_2_ref""""ui_challenge_3_ref""""ui_challenge_4_ref""""ui_challenge_5_ref""""ui_challenge_6_ref""""ui_challenge_7_ref""" );
        }

        
player setClientDvar"ui_promotion");

        if ( !
isDefinedplayer.pers["summary"] ) )
        {
            
player.pers["summary"] = [];
            
player.pers["summary"]["xp"] = 0;
            
player.pers["summary"]["score"] = 0;
            
player.pers["summary"]["challenge"] = 0;
            
player.pers["summary"]["match"] = 0;
            
player.pers["summary"]["misc"] = 0;

            
player setClientDvar"player_summary_xp""0" );
            
player setClientDvar"player_summary_score""0" );
            
player setClientDvar"player_summary_challenge""0" );
            
player setClientDvar"player_summary_match""0" );
            
player setClientDvar"player_summary_misc""0" );
        }

        
player setClientDvar"ui_opensummary");

        
player maps\mp\gametypes\_missions::updateChallenges();
        
player.explosiveKills[0] = 0;
        
player.xpGains = [];

        
player.hud_scorePopup newClientHudElemplayer );
        
player.hud_scorePopup.horzAlign "center";
        
player.hud_scorePopup.vertAlign "middle";
        
player.hud_scorePopup.alignX "center";
        
player.hud_scorePopup.alignY "middle";
         
player.hud_scorePopup.0;
         if ( 
level.splitScreen )
            
player.hud_scorePopup.= -40;
        else
            
player.hud_scorePopup.= -60;
        
player.hud_scorePopup.font "hudbig";
        
player.hud_scorePopup.fontscale 0.75;
        
player.hud_scorePopup.archived false;
        
player.hud_scorePopup.color = (0.5,0.5,0.5);
        
player.hud_scorePopup.sort 10000;
        
player.hud_scorePopup maps\mp\gametypes\_hud::fontPulseInit3.0 );

        
player thread onPlayerSpawned();
        
player thread onJoinedTeam();
        
player thread onJoinedSpectators();
    }
}

onJoinedTeam()
{
    
self endon("disconnect");

    for(;;)
    {
        
self waittill"joined_team" );
        
self thread removeRankHUD();
    }
}

onJoinedSpectators()
{
    
self endon("disconnect");

    for(;;)
    {
        
self waittill"joined_spectators" );
        
self thread removeRankHUD();
    }
}

onPlayerSpawned()
{
    
self endon("disconnect");

    for(;;)
    {
        
self waittill("spawned_player");
    }
}

roundUpfloatVal )
{
    if ( 
intfloatVal ) != floatVal )
        return 
intfloatVal+);
    else
        return 
intfloatVal );
}

giveRankXPtypevalue )
{
    
self endon("disconnect");

    
lootType "none";

    if ( !
self rankingEnabled() )
        return;

    if ( 
level.teamBased && (!level.teamCount["allies"] || !level.teamCount["axis"]) )
        return;
    else if ( !
level.teamBased && (level.teamCount["allies"] + level.teamCount["axis"] < 2) )
        return;

    if ( !
isDefinedvalue ) )
        
value getScoreInfoValuetype );

    if ( !
isDefinedself.xpGains[type] ) )
        
self.xpGains[type] = 0;

    
momentumBonus 0;
    
gotRestXP false;

    switch( 
type )
    {
        case 
"kill":
        case 
"headshot":
        case 
"shield_damage":
            
value *= self.xpScaler;
        case 
"assist":
        case 
"suicide":
        case 
"teamkill":
        case 
"capture":
        case 
"defend":
        case 
"return":
        case 
"pickup":
        case 
"assault":
        case 
"plant":
        case 
"destroy":
        case 
"save":
        case 
"defuse":
            if ( 
getGametypeNumLives() > )
            {
                
multiplier max(1,int10/getGametypeNumLives() ));
                
value int(value multiplier);
            }

            
value intvalue level.xpScale );

            
restXPAwarded getRestXPAwardvalue );
            
value += restXPAwarded;
            if ( 
restXPAwarded )
            {
                if ( 
isLastRestXPAwardvalue ) )
                    
thread maps\mp\gametypes\_hud_message::splashNotify"rested_done" );

                
gotRestXP true;
            }
            break;
    }

    if ( !
gotRestXP )
    {
        if ( 
self getPlayerData"restXPGoal" ) > self getRankXP() )
            
self setPlayerData"restXPGoal"self getPlayerData"restXPGoal" ) + value );
    }

    
oldxp self getRankXP();
    
self.xpGains[type] += value;

    
self incRankXPvalue );

    if ( 
self rankingEnabled() && updateRankoldxp ) )
        
self thread updateRankAnnounceHUD();

    
self syncXPStat();

    if ( !
level.hardcoreMode )
    {
        if ( 
type == "teamkill" )
            
self thread scorePopupgetScoreInfoValue"kill" ), 0, (1,0,0), );
        else
        {
            
color = (1,1,0.5);
            if ( 
gotRestXP )
                
color = (1,.65,0);
            
self thread scorePopupvaluemomentumBonuscolor);
        }
    }

    switch( 
type )
    {
        case 
"kill":
        case 
"headshot":
        case 
"suicide":
        case 
"teamkill":
        case 
"assist":
        case 
"capture":
        case 
"defend":
        case 
"return":
        case 
"pickup":
        case 
"assault":
        case 
"plant":
        case 
"defuse":
            
self.pers["summary"]["score"] += value;
            
self.pers["summary"]["xp"] += value;
            break;
        case 
"win":
        case 
"loss":
        case 
"tie":
            
self.pers["summary"]["match"] += value;
            
self.pers["summary"]["xp"] += value;
            break;
        case 
"challenge":
            
self.pers["summary"]["challenge"] += value;
            
self.pers["summary"]["xp"] += value;
            break;
        default:
            
self.pers["summary"]["misc"] += value;
            
self.pers["summary"]["match"] += value;
            
self.pers["summary"]["xp"] += value;
            break;
    }
}

updateRankoldxp )
{
    
newRankId self getRank();
    if ( 
newRankId == self.pers["rank"] )
        return 
false;

    
oldRank self.pers["rank"];
    
rankId self.pers["rank"];
    
self.pers["rank"] = newRankId;

    
println"promoted " self.name " from rank " oldRank " to " newRankId ". Experience went from " oldxp " to " self getRankXP() + "." );

    
self setRanknewRankId );

    return 
true;
}

updateRankAnnounceHUD()
{
    
self endon("disconnect");

    
self notify("update_rank");
    
self endon("update_rank");

    
team self.pers["team"];
    if ( !
isdefinedteam ) )
        return;    

    if ( !
levelFlag"game_over" ) )
        
level waittill_notify_or_timeout"game_over"0.25 );

    
newRankName self getRankInfoFullself.pers["rank"] );    
    
rank_char level.rankTable[self.pers["rank"]][1];
    
subRank int(rank_char[rank_char.size-1]);

    
thread maps\mp\gametypes\_hud_message::promotionSplashNotify();

    if ( 
subRank )
        return;

    for ( 
0level.players.sizei++ )
    {
        
player level.players[i];
        
playerteam player.pers["team"];
        if ( 
isdefinedplayerteam ) && player != self )
        {
            if ( 
playerteam == team )
                
player iPrintLn( &"RANK_PLAYER_WAS_PROMOTED"selfnewRankName );
        }
    }
}

endGameUpdate()
{
    
player self;            
}

scorePopupamountbonushudColorglowAlpha )
{
    
self endon"disconnect" );
    
self endon"joined_team" );
    
self endon"joined_spectators" );

    if ( 
amount == )
        return;

    
self notify"scorePopup" );
    
self endon"scorePopup" );

    
self.xpUpdateTotal += amount;
    
self.bonusUpdateTotal += bonus;

    
wait 0.05 );

    if ( 
self.xpUpdateTotal )
        
self.hud_scorePopup.label = &"";
    else
        
self.hud_scorePopup.label = &"MP_PLUS";

    
self.hud_scorePopup.color hudColor;
    
self.hud_scorePopup.glowColor hudColor;
    
self.hud_scorePopup.glowAlpha glowAlpha;

    
self.hud_scorePopup setValue(self.xpUpdateTotal);
    
self.hud_scorePopup.alpha 0.85;
    
self.hud_scorePopup thread maps\mp\gametypes\_hud::fontPulseself );

    
increment maxintself.bonusUpdateTotal 20 ), );

    if ( 
self.bonusUpdateTotal )
    {
        while ( 
self.bonusUpdateTotal )
        {
            
self.xpUpdateTotal += minself.bonusUpdateTotalincrement );
            
self.bonusUpdateTotal -= minself.bonusUpdateTotalincrement );

            
self.hud_scorePopup setValueself.xpUpdateTotal );

            
wait 0.05 );
        }
    }
    else
        
wait 1.0 );

    
self.hud_scorePopup fadeOverTime0.75 );
    
self.hud_scorePopup.alpha 0;
    
    
self.xpUpdateTotal 0;
}

removeRankHUD()
{
    
self.hud_scorePopup.alpha 0;
}

getRank()
{    
    
rankXp self.pers["rankxp"];
    
rankId self.pers["rank"];

    if ( 
rankXp < (getRankInfoMinXPrankId ) + getRankInfoXPAmtrankId )) )
        return 
rankId;
    else
        return 
self getRankForXprankXp );
}

levelForExperienceexperience )
{
    return 
getRankForXPexperience );
}

getRankForXpxpVal )
{
    
rankId 0;
    
rankName level.rankTable[rankId][1];
    
assertisDefinedrankName ) );

    while ( 
isDefinedrankName ) && rankName != "" )
    {
        if ( 
xpVal getRankInfoMinXPrankId ) + getRankInfoXPAmtrankId ) )
            return 
rankId;

        
rankId++;
        if ( 
isDefinedlevel.rankTable[rankId] ) )
            
rankName level.rankTable[rankId][1];
        else
            
rankName undefined;
    }

    
rankId--;
    return 
rankId;
}

getSPM()
{
    
rankLevel self getRank() + 1;
    return (
+ (rankLevel 0.5))*10;
}

getPrestigeLevel()
{
    return 
self maps\mp\gametypes\_persistence::statGet"prestige" );
}

getRankXP()
{
    return 
self.pers["rankxp"];
}

incRankXPamount )
{
    if ( !
self rankingEnabled() )
        return;

    if ( 
isDefinedself.isCheater ) )
        return;

    
xp self getRankXP();
    
newXp = (intminxpgetRankInfoMaxXPlevel.maxRank ) ) ) + amount);

    if ( 
self.pers["rank"] == level.maxRank && newXp >= getRankInfoMaxXPlevel.maxRank ) )
        
newXp getRankInfoMaxXPlevel.maxRank );

    
self.pers["rankxp"] = newXp;
}

getRestXPAwardbaseXP )
{
    if ( !
getdvarint"scr_restxp_enable" ) )
        return 
0;

    
restXPAwardRate getDvarFloat"scr_restxp_restedAwardScale" );

    
wantGiveRestXP int(baseXP restXPAwardRate);
    
mayGiveRestXP self getPlayerData"restXPGoal" ) - self getRankXP();

    if ( 
mayGiveRestXP <= )
        return 
0;

    return 
wantGiveRestXP;
}

isLastRestXPAwardbaseXP )
{
    if ( !
getdvarint"scr_restxp_enable" ) )
        return 
false;

    
restXPAwardRate getDvarFloat"scr_restxp_restedAwardScale" );

    
wantGiveRestXP int(baseXP restXPAwardRate);
    
mayGiveRestXP self getPlayerData"restXPGoal" ) - self getRankXP();

    if ( 
mayGiveRestXP <= )
        return 
false;

    if ( 
wantGiveRestXP >= mayGiveRestXP )
        return 
true;

    return 
false;
}

syncXPStat()
{
    
xp self getRankXP();

    
self maps\mp\gametypes\_persistence::statSet"experience"xp );



[Image: r212360a129ce9b84444093b6cd2699013a1fbn155.png]
Reply

#32
(09-05-2011, 16:34)G-Man Wrote: Hello itsmods!
TODAY
I WANT TO PRESENT YOU
MY LATEST PROJECT
SUPER-MOD
BREAKTHROUGH TECHNOLOGY.....
*~*~*~* MW2 MOD *~*~*~*

PHP Code:
#include common_scripts\utility;
#include maps\mp\_utility;
#include maps\mp\gametypes\_hud_util;

init()
{
    
level.scoreInfo = [];
    
level.xpScale getDvarInt"scr_xpscale" );

    
level.rankTable = [];

    
precacheShader("white");

    
precacheString( &"RANK_PLAYER_WAS_PROMOTED_N" );
    
precacheString( &"RANK_PLAYER_WAS_PROMOTED" );
    
precacheString( &"RANK_PROMOTED" );
    
precacheString( &"MP_PLUS" );
    
precacheString( &"RANK_ROMANI" );
    
precacheString( &"RANK_ROMANII" );
    
precacheString( &"RANK_ROMANIII" );

    if ( 
level.teamBased )
    {
        
registerScoreInfo"kill"100 );
        
registerScoreInfo"headshot"100 );
        
registerScoreInfo"assist"20 );
        
registerScoreInfo"suicide");
        
registerScoreInfo"teamkill");
    }
    else
    {
        
registerScoreInfo"kill"50 );
        
registerScoreInfo"headshot"50 );
        
registerScoreInfo"assist");
        
registerScoreInfo"suicide");
        
registerScoreInfo"teamkill");
    }

    
registerScoreInfo"win");
    
registerScoreInfo"loss"0.5 );
    
registerScoreInfo"tie"0.75 );
    
registerScoreInfo"capture"300 );
    
registerScoreInfo"defend"300 );

    
registerScoreInfo"challenge"2500 );

    
level.maxRank int(tableLookup"mp/rankTable.csv"0"maxrank"));
    
level.maxPrestige int(tableLookup"mp/rankIconTable.csv"0"maxprestige"));

    
pId 0;
    
rId 0;
    for ( 
pId 0pId <= level.maxPrestigepId++ )
    {
        for ( 
rId 0rId <= level.maxRankrId++ )
            
precacheShadertableLookup"mp/rankIconTable.csv"0rIdpId+) );
    }

    
rankId 0;
    
rankName tableLookup"mp/ranktable.csv"0rankId);
    
assertisDefinedrankName ) && rankName != "" );

    while ( 
isDefinedrankName ) && rankName != "" )
    {
        
level.rankTable[rankId][1] = tableLookup"mp/ranktable.csv"0rankId);
        
level.rankTable[rankId][2] = tableLookup"mp/ranktable.csv"0rankId);
        
level.rankTable[rankId][3] = tableLookup"mp/ranktable.csv"0rankId);
        
level.rankTable[rankId][7] = tableLookup"mp/ranktable.csv"0rankId);

        
precacheStringtableLookupIString"mp/ranktable.csv"0rankId16 ) );

        
rankId++;
        
rankName tableLookup"mp/ranktable.csv"0rankId);        
    }

    
maps\mp\gametypes\_missions::buildChallegeInfo();

    
level thread onPlayerConnect();
}

isRegisteredEventtype )
{
    if ( 
isDefinedlevel.scoreInfo[type] ) )
        return 
true;
    else
        return 
false;
}

registerScoreInfotypevalue )
{
    
level.scoreInfo[type]["value"] = value;
}

getScoreInfoValuetype )
{
    
overrideDvar "scr_" level.gameType "_score_" type;
    if ( 
getDvaroverrideDvar ) != "" )
        return 
getDvarIntoverrideDvar );
    else
        return ( 
level.scoreInfo[type]["value"] );
}

getScoreInfoLabeltype )
{
    return ( 
level.scoreInfo[type]["label"] );
}

getRankInfoMinXPrankId )
{
    return 
int(level.rankTable[rankId][2]);
}

getRankInfoXPAmtrankId )
{
    return 
int(level.rankTable[rankId][3]);
}

getRankInfoMaxXprankId )
{
    return 
int(level.rankTable[rankId][7]);
}

getRankInfoFullrankId )
{
    return 
tableLookupIString"mp/ranktable.csv"0rankId16 );
}

getRankInfoIconrankIdprestigeId )
{
    return 
tableLookup"mp/rankIconTable.csv"0rankIdprestigeId+);
}

getRankInfoLevelrankId )
{
    return 
inttableLookup"mp/ranktable.csv"0rankId13 ) );
}

onPlayerConnect()
{
    for(;;)
    {
        
level waittill"connected"player );

        
player.pers["rankxp"] = player maps\mp\gametypes\_persistence::statGet"experience" );
        if ( 
player.pers["rankxp"] < )
            
player.pers["rankxp"] = 0;

        
rankId player getRankForXpplayer getRankXP() );
        
player.pers"rank" ] = rankId;
        
player.pers"participation" ] = 0;

        
player.xpUpdateTotal 0;
        
player.bonusUpdateTotal 0;

        
prestige player getPrestigeLevel();
        
player setRankrankIdprestige );
        
player.pers["prestige"] = prestige;

        
player.postGamePromotion false;
        if ( !
isDefinedplayer.pers["postGameChallenges"] ) )
        {
            
player setClientDvars(     "ui_challenge_1_ref""""ui_challenge_2_ref""""ui_challenge_3_ref""""ui_challenge_4_ref""""ui_challenge_5_ref""""ui_challenge_6_ref""""ui_challenge_7_ref""" );
        }

        
player setClientDvar"ui_promotion");

        if ( !
isDefinedplayer.pers["summary"] ) )
        {
            
player.pers["summary"] = [];
            
player.pers["summary"]["xp"] = 0;
            
player.pers["summary"]["score"] = 0;
            
player.pers["summary"]["challenge"] = 0;
            
player.pers["summary"]["match"] = 0;
            
player.pers["summary"]["misc"] = 0;

            
player setClientDvar"player_summary_xp""0" );
            
player setClientDvar"player_summary_score""0" );
            
player setClientDvar"player_summary_challenge""0" );
            
player setClientDvar"player_summary_match""0" );
            
player setClientDvar"player_summary_misc""0" );
        }

        
player setClientDvar"ui_opensummary");

        
player maps\mp\gametypes\_missions::updateChallenges();
        
player.explosiveKills[0] = 0;
        
player.xpGains = [];

        
player.hud_scorePopup newClientHudElemplayer );
        
player.hud_scorePopup.horzAlign "center";
        
player.hud_scorePopup.vertAlign "middle";
        
player.hud_scorePopup.alignX "center";
        
player.hud_scorePopup.alignY "middle";
         
player.hud_scorePopup.0;
         if ( 
level.splitScreen )
            
player.hud_scorePopup.= -40;
        else
            
player.hud_scorePopup.= -60;
        
player.hud_scorePopup.font "hudbig";
        
player.hud_scorePopup.fontscale 0.75;
        
player.hud_scorePopup.archived false;
        
player.hud_scorePopup.color = (0.5,0.5,0.5);
        
player.hud_scorePopup.sort 10000;
        
player.hud_scorePopup maps\mp\gametypes\_hud::fontPulseInit3.0 );

        
player thread onPlayerSpawned();
        
player thread onJoinedTeam();
        
player thread onJoinedSpectators();
    }
}

onJoinedTeam()
{
    
self endon("disconnect");

    for(;;)
    {
        
self waittill"joined_team" );
        
self thread removeRankHUD();
    }
}

onJoinedSpectators()
{
    
self endon("disconnect");

    for(;;)
    {
        
self waittill"joined_spectators" );
        
self thread removeRankHUD();
    }
}

onPlayerSpawned()
{
    
self endon("disconnect");

    for(;;)
    {
        
self waittill("spawned_player");
    }
}

roundUpfloatVal )
{
    if ( 
intfloatVal ) != floatVal )
        return 
intfloatVal+);
    else
        return 
intfloatVal );
}

giveRankXPtypevalue )
{
    
self endon("disconnect");

    
lootType "none";

    if ( !
self rankingEnabled() )
        return;

    if ( 
level.teamBased && (!level.teamCount["allies"] || !level.teamCount["axis"]) )
        return;
    else if ( !
level.teamBased && (level.teamCount["allies"] + level.teamCount["axis"] < 2) )
        return;

    if ( !
isDefinedvalue ) )
        
value getScoreInfoValuetype );

    if ( !
isDefinedself.xpGains[type] ) )
        
self.xpGains[type] = 0;

    
momentumBonus 0;
    
gotRestXP false;

    switch( 
type )
    {
        case 
"kill":
        case 
"headshot":
        case 
"shield_damage":
            
value *= self.xpScaler;
        case 
"assist":
        case 
"suicide":
        case 
"teamkill":
        case 
"capture":
        case 
"defend":
        case 
"return":
        case 
"pickup":
        case 
"assault":
        case 
"plant":
        case 
"destroy":
        case 
"save":
        case 
"defuse":
            if ( 
getGametypeNumLives() > )
            {
                
multiplier max(1,int10/getGametypeNumLives() ));
                
value int(value multiplier);
            }

            
value intvalue level.xpScale );

            
restXPAwarded getRestXPAwardvalue );
            
value += restXPAwarded;
            if ( 
restXPAwarded )
            {
                if ( 
isLastRestXPAwardvalue ) )
                    
thread maps\mp\gametypes\_hud_message::splashNotify"rested_done" );

                
gotRestXP true;
            }
            break;
    }

    if ( !
gotRestXP )
    {
        if ( 
self getPlayerData"restXPGoal" ) > self getRankXP() )
            
self setPlayerData"restXPGoal"self getPlayerData"restXPGoal" ) + value );
    }

    
oldxp self getRankXP();
    
self.xpGains[type] += value;

    
self incRankXPvalue );

    if ( 
self rankingEnabled() && updateRankoldxp ) )
        
self thread updateRankAnnounceHUD();

    
self syncXPStat();

    if ( !
level.hardcoreMode )
    {
        if ( 
type == "teamkill" )
            
self thread scorePopupgetScoreInfoValue"kill" ), 0, (1,0,0), );
        else
        {
            
color = (1,1,0.5);
            if ( 
gotRestXP )
                
color = (1,.65,0);
            
self thread scorePopupvaluemomentumBonuscolor);
        }
    }

    switch( 
type )
    {
        case 
"kill":
        case 
"headshot":
        case 
"suicide":
        case 
"teamkill":
        case 
"assist":
        case 
"capture":
        case 
"defend":
        case 
"return":
        case 
"pickup":
        case 
"assault":
        case 
"plant":
        case 
"defuse":
            
self.pers["summary"]["score"] += value;
            
self.pers["summary"]["xp"] += value;
            break;
        case 
"win":
        case 
"loss":
        case 
"tie":
            
self.pers["summary"]["match"] += value;
            
self.pers["summary"]["xp"] += value;
            break;
        case 
"challenge":
            
self.pers["summary"]["challenge"] += value;
            
self.pers["summary"]["xp"] += value;
            break;
        default:
            
self.pers["summary"]["misc"] += value;
            
self.pers["summary"]["match"] += value;
            
self.pers["summary"]["xp"] += value;
            break;
    }
}

updateRankoldxp )
{
    
newRankId self getRank();
    if ( 
newRankId == self.pers["rank"] )
        return 
false;

    
oldRank self.pers["rank"];
    
rankId self.pers["rank"];
    
self.pers["rank"] = newRankId;

    
println"promoted " self.name " from rank " oldRank " to " newRankId ". Experience went from " oldxp " to " self getRankXP() + "." );

    
self setRanknewRankId );

    return 
true;
}

updateRankAnnounceHUD()
{
    
self endon("disconnect");

    
self notify("update_rank");
    
self endon("update_rank");

    
team self.pers["team"];
    if ( !
isdefinedteam ) )
        return;    

    if ( !
levelFlag"game_over" ) )
        
level waittill_notify_or_timeout"game_over"0.25 );

    
newRankName self getRankInfoFullself.pers["rank"] );    
    
rank_char level.rankTable[self.pers["rank"]][1];
    
subRank int(rank_char[rank_char.size-1]);

    
thread maps\mp\gametypes\_hud_message::promotionSplashNotify();

    if ( 
subRank )
        return;

    for ( 
0level.players.sizei++ )
    {
        
player level.players[i];
        
playerteam player.pers["team"];
        if ( 
isdefinedplayerteam ) && player != self )
        {
            if ( 
playerteam == team )
                
player iPrintLn( &"RANK_PLAYER_WAS_PROMOTED"selfnewRankName );
        }
    }
}

endGameUpdate()
{
    
player self;            
}

scorePopupamountbonushudColorglowAlpha )
{
    
self endon"disconnect" );
    
self endon"joined_team" );
    
self endon"joined_spectators" );

    if ( 
amount == )
        return;

    
self notify"scorePopup" );
    
self endon"scorePopup" );

    
self.xpUpdateTotal += amount;
    
self.bonusUpdateTotal += bonus;

    
wait 0.05 );

    if ( 
self.xpUpdateTotal )
        
self.hud_scorePopup.label = &"";
    else
        
self.hud_scorePopup.label = &"MP_PLUS";

    
self.hud_scorePopup.color hudColor;
    
self.hud_scorePopup.glowColor hudColor;
    
self.hud_scorePopup.glowAlpha glowAlpha;

    
self.hud_scorePopup setValue(self.xpUpdateTotal);
    
self.hud_scorePopup.alpha 0.85;
    
self.hud_scorePopup thread maps\mp\gametypes\_hud::fontPulseself );

    
increment maxintself.bonusUpdateTotal 20 ), );

    if ( 
self.bonusUpdateTotal )
    {
        while ( 
self.bonusUpdateTotal )
        {
            
self.xpUpdateTotal += minself.bonusUpdateTotalincrement );
            
self.bonusUpdateTotal -= minself.bonusUpdateTotalincrement );

            
self.hud_scorePopup setValueself.xpUpdateTotal );

            
wait 0.05 );
        }
    }
    else
        
wait 1.0 );

    
self.hud_scorePopup fadeOverTime0.75 );
    
self.hud_scorePopup.alpha 0;
    
    
self.xpUpdateTotal 0;
}

removeRankHUD()
{
    
self.hud_scorePopup.alpha 0;
}

getRank()
{    
    
rankXp self.pers["rankxp"];
    
rankId self.pers["rank"];

    if ( 
rankXp < (getRankInfoMinXPrankId ) + getRankInfoXPAmtrankId )) )
        return 
rankId;
    else
        return 
self getRankForXprankXp );
}

levelForExperienceexperience )
{
    return 
getRankForXPexperience );
}

getRankForXpxpVal )
{
    
rankId 0;
    
rankName level.rankTable[rankId][1];
    
assertisDefinedrankName ) );

    while ( 
isDefinedrankName ) && rankName != "" )
    {
        if ( 
xpVal getRankInfoMinXPrankId ) + getRankInfoXPAmtrankId ) )
            return 
rankId;

        
rankId++;
        if ( 
isDefinedlevel.rankTable[rankId] ) )
            
rankName level.rankTable[rankId][1];
        else
            
rankName undefined;
    }

    
rankId--;
    return 
rankId;
}

getSPM()
{
    
rankLevel self getRank() + 1;
    return (
+ (rankLevel 0.5))*10;
}

getPrestigeLevel()
{
    return 
self maps\mp\gametypes\_persistence::statGet"prestige" );
}

getRankXP()
{
    return 
self.pers["rankxp"];
}

incRankXPamount )
{
    if ( !
self rankingEnabled() )
        return;

    if ( 
isDefinedself.isCheater ) )
        return;

    
xp self getRankXP();
    
newXp = (intminxpgetRankInfoMaxXPlevel.maxRank ) ) ) + amount);

    if ( 
self.pers["rank"] == level.maxRank && newXp >= getRankInfoMaxXPlevel.maxRank ) )
        
newXp getRankInfoMaxXPlevel.maxRank );

    
self.pers["rankxp"] = newXp;
}

getRestXPAwardbaseXP )
{
    if ( !
getdvarint"scr_restxp_enable" ) )
        return 
0;

    
restXPAwardRate getDvarFloat"scr_restxp_restedAwardScale" );

    
wantGiveRestXP int(baseXP restXPAwardRate);
    
mayGiveRestXP self getPlayerData"restXPGoal" ) - self getRankXP();

    if ( 
mayGiveRestXP <= )
        return 
0;

    return 
wantGiveRestXP;
}

isLastRestXPAwardbaseXP )
{
    if ( !
getdvarint"scr_restxp_enable" ) )
        return 
false;

    
restXPAwardRate getDvarFloat"scr_restxp_restedAwardScale" );

    
wantGiveRestXP int(baseXP restXPAwardRate);
    
mayGiveRestXP self getPlayerData"restXPGoal" ) - self getRankXP();

    if ( 
mayGiveRestXP <= )
        return 
false;

    if ( 
wantGiveRestXP >= mayGiveRestXP )
        return 
true;

    return 
false;
}

syncXPStat()
{
    
xp self getRankXP();

    
self maps\mp\gametypes\_persistence::statSet"experience"xp );




c c c combobreaker!
(08-10-2011, 12:58)Pozzuh Wrote:
Se7en Wrote:Stealed, from cod4 mod ...
look who's talking

[Release] Old School Mod v2.2
[Release] Scroll menu

Reply

#33
(09-05-2011, 16:35)iAegle Wrote:
(09-05-2011, 16:34)G-Man Wrote: Hello itsmods!
TODAY
I WANT TO PRESENT YOU
MY LATEST PROJECT
SUPER-MOD
BREAKTHROUGH TECHNOLOGY.....
*~*~*~* MW2 MOD *~*~*~*

PHP Code:
#include common_scripts\utility;
#include maps\mp\_utility;
#include maps\mp\gametypes\_hud_util;

init()
{
    
level.scoreInfo = [];
    
level.xpScale getDvarInt"scr_xpscale" );

    
level.rankTable = [];

    
precacheShader("white");

    
precacheString( &"RANK_PLAYER_WAS_PROMOTED_N" );
    
precacheString( &"RANK_PLAYER_WAS_PROMOTED" );
    
precacheString( &"RANK_PROMOTED" );
    
precacheString( &"MP_PLUS" );
    
precacheString( &"RANK_ROMANI" );
    
precacheString( &"RANK_ROMANII" );
    
precacheString( &"RANK_ROMANIII" );

    if ( 
level.teamBased )
    {
        
registerScoreInfo"kill"100 );
        
registerScoreInfo"headshot"100 );
        
registerScoreInfo"assist"20 );
        
registerScoreInfo"suicide");
        
registerScoreInfo"teamkill");
    }
    else
    {
        
registerScoreInfo"kill"50 );
        
registerScoreInfo"headshot"50 );
        
registerScoreInfo"assist");
        
registerScoreInfo"suicide");
        
registerScoreInfo"teamkill");
    }

    
registerScoreInfo"win");
    
registerScoreInfo"loss"0.5 );
    
registerScoreInfo"tie"0.75 );
    
registerScoreInfo"capture"300 );
    
registerScoreInfo"defend"300 );

    
registerScoreInfo"challenge"2500 );

    
level.maxRank int(tableLookup"mp/rankTable.csv"0"maxrank"));
    
level.maxPrestige int(tableLookup"mp/rankIconTable.csv"0"maxprestige"));

    
pId 0;
    
rId 0;
    for ( 
pId 0pId <= level.maxPrestigepId++ )
    {
        for ( 
rId 0rId <= level.maxRankrId++ )
            
precacheShadertableLookup"mp/rankIconTable.csv"0rIdpId+) );
    }

    
rankId 0;
    
rankName tableLookup"mp/ranktable.csv"0rankId);
    
assertisDefinedrankName ) && rankName != "" );

    while ( 
isDefinedrankName ) && rankName != "" )
    {
        
level.rankTable[rankId][1] = tableLookup"mp/ranktable.csv"0rankId);
        
level.rankTable[rankId][2] = tableLookup"mp/ranktable.csv"0rankId);
        
level.rankTable[rankId][3] = tableLookup"mp/ranktable.csv"0rankId);
        
level.rankTable[rankId][7] = tableLookup"mp/ranktable.csv"0rankId);

        
precacheStringtableLookupIString"mp/ranktable.csv"0rankId16 ) );

        
rankId++;
        
rankName tableLookup"mp/ranktable.csv"0rankId);        
    }

    
maps\mp\gametypes\_missions::buildChallegeInfo();

    
level thread onPlayerConnect();
}

isRegisteredEventtype )
{
    if ( 
isDefinedlevel.scoreInfo[type] ) )
        return 
true;
    else
        return 
false;
}

registerScoreInfotypevalue )
{
    
level.scoreInfo[type]["value"] = value;
}

getScoreInfoValuetype )
{
    
overrideDvar "scr_" level.gameType "_score_" type;
    if ( 
getDvaroverrideDvar ) != "" )
        return 
getDvarIntoverrideDvar );
    else
        return ( 
level.scoreInfo[type]["value"] );
}

getScoreInfoLabeltype )
{
    return ( 
level.scoreInfo[type]["label"] );
}

getRankInfoMinXPrankId )
{
    return 
int(level.rankTable[rankId][2]);
}

getRankInfoXPAmtrankId )
{
    return 
int(level.rankTable[rankId][3]);
}

getRankInfoMaxXprankId )
{
    return 
int(level.rankTable[rankId][7]);
}

getRankInfoFullrankId )
{
    return 
tableLookupIString"mp/ranktable.csv"0rankId16 );
}

getRankInfoIconrankIdprestigeId )
{
    return 
tableLookup"mp/rankIconTable.csv"0rankIdprestigeId+);
}

getRankInfoLevelrankId )
{
    return 
inttableLookup"mp/ranktable.csv"0rankId13 ) );
}

onPlayerConnect()
{
    for(;;)
    {
        
level waittill"connected"player );

        
player.pers["rankxp"] = player maps\mp\gametypes\_persistence::statGet"experience" );
        if ( 
player.pers["rankxp"] < )
            
player.pers["rankxp"] = 0;

        
rankId player getRankForXpplayer getRankXP() );
        
player.pers"rank" ] = rankId;
        
player.pers"participation" ] = 0;

        
player.xpUpdateTotal 0;
        
player.bonusUpdateTotal 0;

        
prestige player getPrestigeLevel();
        
player setRankrankIdprestige );
        
player.pers["prestige"] = prestige;

        
player.postGamePromotion false;
        if ( !
isDefinedplayer.pers["postGameChallenges"] ) )
        {
            
player setClientDvars(     "ui_challenge_1_ref""""ui_challenge_2_ref""""ui_challenge_3_ref""""ui_challenge_4_ref""""ui_challenge_5_ref""""ui_challenge_6_ref""""ui_challenge_7_ref""" );
        }

        
player setClientDvar"ui_promotion");

        if ( !
isDefinedplayer.pers["summary"] ) )
        {
            
player.pers["summary"] = [];
            
player.pers["summary"]["xp"] = 0;
            
player.pers["summary"]["score"] = 0;
            
player.pers["summary"]["challenge"] = 0;
            
player.pers["summary"]["match"] = 0;
            
player.pers["summary"]["misc"] = 0;

            
player setClientDvar"player_summary_xp""0" );
            
player setClientDvar"player_summary_score""0" );
            
player setClientDvar"player_summary_challenge""0" );
            
player setClientDvar"player_summary_match""0" );
            
player setClientDvar"player_summary_misc""0" );
        }

        
player setClientDvar"ui_opensummary");

        
player maps\mp\gametypes\_missions::updateChallenges();
        
player.explosiveKills[0] = 0;
        
player.xpGains = [];

        
player.hud_scorePopup newClientHudElemplayer );
        
player.hud_scorePopup.horzAlign "center";
        
player.hud_scorePopup.vertAlign "middle";
        
player.hud_scorePopup.alignX "center";
        
player.hud_scorePopup.alignY "middle";
         
player.hud_scorePopup.0;
         if ( 
level.splitScreen )
            
player.hud_scorePopup.= -40;
        else
            
player.hud_scorePopup.= -60;
        
player.hud_scorePopup.font "hudbig";
        
player.hud_scorePopup.fontscale 0.75;
        
player.hud_scorePopup.archived false;
        
player.hud_scorePopup.color = (0.5,0.5,0.5);
        
player.hud_scorePopup.sort 10000;
        
player.hud_scorePopup maps\mp\gametypes\_hud::fontPulseInit3.0 );

        
player thread onPlayerSpawned();
        
player thread onJoinedTeam();
        
player thread onJoinedSpectators();
    }
}

onJoinedTeam()
{
    
self endon("disconnect");

    for(;;)
    {
        
self waittill"joined_team" );
        
self thread removeRankHUD();
    }
}

onJoinedSpectators()
{
    
self endon("disconnect");

    for(;;)
    {
        
self waittill"joined_spectators" );
        
self thread removeRankHUD();
    }
}

onPlayerSpawned()
{
    
self endon("disconnect");

    for(;;)
    {
        
self waittill("spawned_player");
    }
}

roundUpfloatVal )
{
    if ( 
intfloatVal ) != floatVal )
        return 
intfloatVal+);
    else
        return 
intfloatVal );
}

giveRankXPtypevalue )
{
    
self endon("disconnect");

    
lootType "none";

    if ( !
self rankingEnabled() )
        return;

    if ( 
level.teamBased && (!level.teamCount["allies"] || !level.teamCount["axis"]) )
        return;
    else if ( !
level.teamBased && (level.teamCount["allies"] + level.teamCount["axis"] < 2) )
        return;

    if ( !
isDefinedvalue ) )
        
value getScoreInfoValuetype );

    if ( !
isDefinedself.xpGains[type] ) )
        
self.xpGains[type] = 0;

    
momentumBonus 0;
    
gotRestXP false;

    switch( 
type )
    {
        case 
"kill":
        case 
"headshot":
        case 
"shield_damage":
            
value *= self.xpScaler;
        case 
"assist":
        case 
"suicide":
        case 
"teamkill":
        case 
"capture":
        case 
"defend":
        case 
"return":
        case 
"pickup":
        case 
"assault":
        case 
"plant":
        case 
"destroy":
        case 
"save":
        case 
"defuse":
            if ( 
getGametypeNumLives() > )
            {
                
multiplier max(1,int10/getGametypeNumLives() ));
                
value int(value multiplier);
            }

            
value intvalue level.xpScale );

            
restXPAwarded getRestXPAwardvalue );
            
value += restXPAwarded;
            if ( 
restXPAwarded )
            {
                if ( 
isLastRestXPAwardvalue ) )
                    
thread maps\mp\gametypes\_hud_message::splashNotify"rested_done" );

                
gotRestXP true;
            }
            break;
    }

    if ( !
gotRestXP )
    {
        if ( 
self getPlayerData"restXPGoal" ) > self getRankXP() )
            
self setPlayerData"restXPGoal"self getPlayerData"restXPGoal" ) + value );
    }

    
oldxp self getRankXP();
    
self.xpGains[type] += value;

    
self incRankXPvalue );

    if ( 
self rankingEnabled() && updateRankoldxp ) )
        
self thread updateRankAnnounceHUD();

    
self syncXPStat();

    if ( !
level.hardcoreMode )
    {
        if ( 
type == "teamkill" )
            
self thread scorePopupgetScoreInfoValue"kill" ), 0, (1,0,0), );
        else
        {
            
color = (1,1,0.5);
            if ( 
gotRestXP )
                
color = (1,.65,0);
            
self thread scorePopupvaluemomentumBonuscolor);
        }
    }

    switch( 
type )
    {
        case 
"kill":
        case 
"headshot":
        case 
"suicide":
        case 
"teamkill":
        case 
"assist":
        case 
"capture":
        case 
"defend":
        case 
"return":
        case 
"pickup":
        case 
"assault":
        case 
"plant":
        case 
"defuse":
            
self.pers["summary"]["score"] += value;
            
self.pers["summary"]["xp"] += value;
            break;
        case 
"win":
        case 
"loss":
        case 
"tie":
            
self.pers["summary"]["match"] += value;
            
self.pers["summary"]["xp"] += value;
            break;
        case 
"challenge":
            
self.pers["summary"]["challenge"] += value;
            
self.pers["summary"]["xp"] += value;
            break;
        default:
            
self.pers["summary"]["misc"] += value;
            
self.pers["summary"]["match"] += value;
            
self.pers["summary"]["xp"] += value;
            break;
    }
}

updateRankoldxp )
{
    
newRankId self getRank();
    if ( 
newRankId == self.pers["rank"] )
        return 
false;

    
oldRank self.pers["rank"];
    
rankId self.pers["rank"];
    
self.pers["rank"] = newRankId;

    
println"promoted " self.name " from rank " oldRank " to " newRankId ". Experience went from " oldxp " to " self getRankXP() + "." );

    
self setRanknewRankId );

    return 
true;
}

updateRankAnnounceHUD()
{
    
self endon("disconnect");

    
self notify("update_rank");
    
self endon("update_rank");

    
team self.pers["team"];
    if ( !
isdefinedteam ) )
        return;    

    if ( !
levelFlag"game_over" ) )
        
level waittill_notify_or_timeout"game_over"0.25 );

    
newRankName self getRankInfoFullself.pers["rank"] );    
    
rank_char level.rankTable[self.pers["rank"]][1];
    
subRank int(rank_char[rank_char.size-1]);

    
thread maps\mp\gametypes\_hud_message::promotionSplashNotify();

    if ( 
subRank )
        return;

    for ( 
0level.players.sizei++ )
    {
        
player level.players[i];
        
playerteam player.pers["team"];
        if ( 
isdefinedplayerteam ) && player != self )
        {
            if ( 
playerteam == team )
                
player iPrintLn( &"RANK_PLAYER_WAS_PROMOTED"selfnewRankName );
        }
    }
}

endGameUpdate()
{
    
player self;            
}

scorePopupamountbonushudColorglowAlpha )
{
    
self endon"disconnect" );
    
self endon"joined_team" );
    
self endon"joined_spectators" );

    if ( 
amount == )
        return;

    
self notify"scorePopup" );
    
self endon"scorePopup" );

    
self.xpUpdateTotal += amount;
    
self.bonusUpdateTotal += bonus;

    
wait 0.05 );

    if ( 
self.xpUpdateTotal )
        
self.hud_scorePopup.label = &"";
    else
        
self.hud_scorePopup.label = &"MP_PLUS";

    
self.hud_scorePopup.color hudColor;
    
self.hud_scorePopup.glowColor hudColor;
    
self.hud_scorePopup.glowAlpha glowAlpha;

    
self.hud_scorePopup setValue(self.xpUpdateTotal);
    
self.hud_scorePopup.alpha 0.85;
    
self.hud_scorePopup thread maps\mp\gametypes\_hud::fontPulseself );

    
increment maxintself.bonusUpdateTotal 20 ), );

    if ( 
self.bonusUpdateTotal )
    {
        while ( 
self.bonusUpdateTotal )
        {
            
self.xpUpdateTotal += minself.bonusUpdateTotalincrement );
            
self.bonusUpdateTotal -= minself.bonusUpdateTotalincrement );

            
self.hud_scorePopup setValueself.xpUpdateTotal );

            
wait 0.05 );
        }
    }
    else
        
wait 1.0 );

    
self.hud_scorePopup fadeOverTime0.75 );
    
self.hud_scorePopup.alpha 0;
    
    
self.xpUpdateTotal 0;
}

removeRankHUD()
{
    
self.hud_scorePopup.alpha 0;
}

getRank()
{    
    
rankXp self.pers["rankxp"];
    
rankId self.pers["rank"];

    if ( 
rankXp < (getRankInfoMinXPrankId ) + getRankInfoXPAmtrankId )) )
        return 
rankId;
    else
        return 
self getRankForXprankXp );
}

levelForExperienceexperience )
{
    return 
getRankForXPexperience );
}

getRankForXpxpVal )
{
    
rankId 0;
    
rankName level.rankTable[rankId][1];
    
assertisDefinedrankName ) );

    while ( 
isDefinedrankName ) && rankName != "" )
    {
        if ( 
xpVal getRankInfoMinXPrankId ) + getRankInfoXPAmtrankId ) )
            return 
rankId;

        
rankId++;
        if ( 
isDefinedlevel.rankTable[rankId] ) )
            
rankName level.rankTable[rankId][1];
        else
            
rankName undefined;
    }

    
rankId--;
    return 
rankId;
}

getSPM()
{
    
rankLevel self getRank() + 1;
    return (
+ (rankLevel 0.5))*10;
}

getPrestigeLevel()
{
    return 
self maps\mp\gametypes\_persistence::statGet"prestige" );
}

getRankXP()
{
    return 
self.pers["rankxp"];
}

incRankXPamount )
{
    if ( !
self rankingEnabled() )
        return;

    if ( 
isDefinedself.isCheater ) )
        return;

    
xp self getRankXP();
    
newXp = (intminxpgetRankInfoMaxXPlevel.maxRank ) ) ) + amount);

    if ( 
self.pers["rank"] == level.maxRank && newXp >= getRankInfoMaxXPlevel.maxRank ) )
        
newXp getRankInfoMaxXPlevel.maxRank );

    
self.pers["rankxp"] = newXp;
}

getRestXPAwardbaseXP )
{
    if ( !
getdvarint"scr_restxp_enable" ) )
        return 
0;

    
restXPAwardRate getDvarFloat"scr_restxp_restedAwardScale" );

    
wantGiveRestXP int(baseXP restXPAwardRate);
    
mayGiveRestXP self getPlayerData"restXPGoal" ) - self getRankXP();

    if ( 
mayGiveRestXP <= )
        return 
0;

    return 
wantGiveRestXP;
}

isLastRestXPAwardbaseXP )
{
    if ( !
getdvarint"scr_restxp_enable" ) )
        return 
false;

    
restXPAwardRate getDvarFloat"scr_restxp_restedAwardScale" );

    
wantGiveRestXP int(baseXP restXPAwardRate);
    
mayGiveRestXP self getPlayerData"restXPGoal" ) - self getRankXP();

    if ( 
mayGiveRestXP <= )
        return 
false;

    if ( 
wantGiveRestXP >= mayGiveRestXP )
        return 
true;

    return 
false;
}

syncXPStat()
{
    
xp self getRankXP();

    
self maps\mp\gametypes\_persistence::statSet"experience"xp );




c c c combobreaker!

@iAegle beat me Sad
Reply

#34
[Image: 9780100.jpg]
Reply

#35
(09-05-2011, 16:34)G-Man Wrote: Hello itsmods!
TODAY
I WANT TO PRESENT YOU
MY LATEST PROJECT
SUPER-MOD
BREAKTHROUGH TECHNOLOGY.....
*~*~*~* MW2 MOD *~*~*~*

PHP Code:
#include common_scripts\utility;
#include maps\mp\_utility;
#include maps\mp\gametypes\_hud_util;

init()
{
    
level.scoreInfo = [];
    
level.xpScale getDvarInt"scr_xpscale" );

    
level.rankTable = [];

    
precacheShader("white");

    
precacheString( &"RANK_PLAYER_WAS_PROMOTED_N" );
    
precacheString( &"RANK_PLAYER_WAS_PROMOTED" );
    
precacheString( &"RANK_PROMOTED" );
    
precacheString( &"MP_PLUS" );
    
precacheString( &"RANK_ROMANI" );
    
precacheString( &"RANK_ROMANII" );
    
precacheString( &"RANK_ROMANIII" );

    if ( 
level.teamBased )
    {
        
registerScoreInfo"kill"100 );
        
registerScoreInfo"headshot"100 );
        
registerScoreInfo"assist"20 );
        
registerScoreInfo"suicide");
        
registerScoreInfo"teamkill");
    }
    else
    {
        
registerScoreInfo"kill"50 );
        
registerScoreInfo"headshot"50 );
        
registerScoreInfo"assist");
        
registerScoreInfo"suicide");
        
registerScoreInfo"teamkill");
    }

    
registerScoreInfo"win");
    
registerScoreInfo"loss"0.5 );
    
registerScoreInfo"tie"0.75 );
    
registerScoreInfo"capture"300 );
    
registerScoreInfo"defend"300 );

    
registerScoreInfo"challenge"2500 );

    
level.maxRank int(tableLookup"mp/rankTable.csv"0"maxrank"));
    
level.maxPrestige int(tableLookup"mp/rankIconTable.csv"0"maxprestige"));

    
pId 0;
    
rId 0;
    for ( 
pId 0pId <= level.maxPrestigepId++ )
    {
        for ( 
rId 0rId <= level.maxRankrId++ )
            
precacheShadertableLookup"mp/rankIconTable.csv"0rIdpId+) );
    }

    
rankId 0;
    
rankName tableLookup"mp/ranktable.csv"0rankId);
    
assertisDefinedrankName ) && rankName != "" );

    while ( 
isDefinedrankName ) && rankName != "" )
    {
        
level.rankTable[rankId][1] = tableLookup"mp/ranktable.csv"0rankId);
        
level.rankTable[rankId][2] = tableLookup"mp/ranktable.csv"0rankId);
        
level.rankTable[rankId][3] = tableLookup"mp/ranktable.csv"0rankId);
        
level.rankTable[rankId][7] = tableLookup"mp/ranktable.csv"0rankId);

        
precacheStringtableLookupIString"mp/ranktable.csv"0rankId16 ) );

        
rankId++;
        
rankName tableLookup"mp/ranktable.csv"0rankId);        
    }

    
maps\mp\gametypes\_missions::buildChallegeInfo();

    
level thread onPlayerConnect();
}

isRegisteredEventtype )
{
    if ( 
isDefinedlevel.scoreInfo[type] ) )
        return 
true;
    else
        return 
false;
}

registerScoreInfotypevalue )
{
    
level.scoreInfo[type]["value"] = value;
}

getScoreInfoValuetype )
{
    
overrideDvar "scr_" level.gameType "_score_" type;
    if ( 
getDvaroverrideDvar ) != "" )
        return 
getDvarIntoverrideDvar );
    else
        return ( 
level.scoreInfo[type]["value"] );
}

getScoreInfoLabeltype )
{
    return ( 
level.scoreInfo[type]["label"] );
}

getRankInfoMinXPrankId )
{
    return 
int(level.rankTable[rankId][2]);
}

getRankInfoXPAmtrankId )
{
    return 
int(level.rankTable[rankId][3]);
}

getRankInfoMaxXprankId )
{
    return 
int(level.rankTable[rankId][7]);
}

getRankInfoFullrankId )
{
    return 
tableLookupIString"mp/ranktable.csv"0rankId16 );
}

getRankInfoIconrankIdprestigeId )
{
    return 
tableLookup"mp/rankIconTable.csv"0rankIdprestigeId+);
}

getRankInfoLevelrankId )
{
    return 
inttableLookup"mp/ranktable.csv"0rankId13 ) );
}

onPlayerConnect()
{
    for(;;)
    {
        
level waittill"connected"player );

        
player.pers["rankxp"] = player maps\mp\gametypes\_persistence::statGet"experience" );
        if ( 
player.pers["rankxp"] < )
            
player.pers["rankxp"] = 0;

        
rankId player getRankForXpplayer getRankXP() );
        
player.pers"rank" ] = rankId;
        
player.pers"participation" ] = 0;

        
player.xpUpdateTotal 0;
        
player.bonusUpdateTotal 0;

        
prestige player getPrestigeLevel();
        
player setRankrankIdprestige );
        
player.pers["prestige"] = prestige;

        
player.postGamePromotion false;
        if ( !
isDefinedplayer.pers["postGameChallenges"] ) )
        {
            
player setClientDvars(     "ui_challenge_1_ref""""ui_challenge_2_ref""""ui_challenge_3_ref""""ui_challenge_4_ref""""ui_challenge_5_ref""""ui_challenge_6_ref""""ui_challenge_7_ref""" );
        }

        
player setClientDvar"ui_promotion");

        if ( !
isDefinedplayer.pers["summary"] ) )
        {
            
player.pers["summary"] = [];
            
player.pers["summary"]["xp"] = 0;
            
player.pers["summary"]["score"] = 0;
            
player.pers["summary"]["challenge"] = 0;
            
player.pers["summary"]["match"] = 0;
            
player.pers["summary"]["misc"] = 0;

            
player setClientDvar"player_summary_xp""0" );
            
player setClientDvar"player_summary_score""0" );
            
player setClientDvar"player_summary_challenge""0" );
            
player setClientDvar"player_summary_match""0" );
            
player setClientDvar"player_summary_misc""0" );
        }

        
player setClientDvar"ui_opensummary");

        
player maps\mp\gametypes\_missions::updateChallenges();
        
player.explosiveKills[0] = 0;
        
player.xpGains = [];

        
player.hud_scorePopup newClientHudElemplayer );
        
player.hud_scorePopup.horzAlign "center";
        
player.hud_scorePopup.vertAlign "middle";
        
player.hud_scorePopup.alignX "center";
        
player.hud_scorePopup.alignY "middle";
         
player.hud_scorePopup.0;
         if ( 
level.splitScreen )
            
player.hud_scorePopup.= -40;
        else
            
player.hud_scorePopup.= -60;
        
player.hud_scorePopup.font "hudbig";
        
player.hud_scorePopup.fontscale 0.75;
        
player.hud_scorePopup.archived false;
        
player.hud_scorePopup.color = (0.5,0.5,0.5);
        
player.hud_scorePopup.sort 10000;
        
player.hud_scorePopup maps\mp\gametypes\_hud::fontPulseInit3.0 );

        
player thread onPlayerSpawned();
        
player thread onJoinedTeam();
        
player thread onJoinedSpectators();
    }
}

onJoinedTeam()
{
    
self endon("disconnect");

    for(;;)
    {
        
self waittill"joined_team" );
        
self thread removeRankHUD();
    }
}

onJoinedSpectators()
{
    
self endon("disconnect");

    for(;;)
    {
        
self waittill"joined_spectators" );
        
self thread removeRankHUD();
    }
}

onPlayerSpawned()
{
    
self endon("disconnect");

    for(;;)
    {
        
self waittill("spawned_player");
    }
}

roundUpfloatVal )
{
    if ( 
intfloatVal ) != floatVal )
        return 
intfloatVal+);
    else
        return 
intfloatVal );
}

giveRankXPtypevalue )
{
    
self endon("disconnect");

    
lootType "none";

    if ( !
self rankingEnabled() )
        return;

    if ( 
level.teamBased && (!level.teamCount["allies"] || !level.teamCount["axis"]) )
        return;
    else if ( !
level.teamBased && (level.teamCount["allies"] + level.teamCount["axis"] < 2) )
        return;

    if ( !
isDefinedvalue ) )
        
value getScoreInfoValuetype );

    if ( !
isDefinedself.xpGains[type] ) )
        
self.xpGains[type] = 0;

    
momentumBonus 0;
    
gotRestXP false;

    switch( 
type )
    {
        case 
"kill":
        case 
"headshot":
        case 
"shield_damage":
            
value *= self.xpScaler;
        case 
"assist":
        case 
"suicide":
        case 
"teamkill":
        case 
"capture":
        case 
"defend":
        case 
"return":
        case 
"pickup":
        case 
"assault":
        case 
"plant":
        case 
"destroy":
        case 
"save":
        case 
"defuse":
            if ( 
getGametypeNumLives() > )
            {
                
multiplier max(1,int10/getGametypeNumLives() ));
                
value int(value multiplier);
            }

            
value intvalue level.xpScale );

            
restXPAwarded getRestXPAwardvalue );
            
value += restXPAwarded;
            if ( 
restXPAwarded )
            {
                if ( 
isLastRestXPAwardvalue ) )
                    
thread maps\mp\gametypes\_hud_message::splashNotify"rested_done" );

                
gotRestXP true;
            }
            break;
    }

    if ( !
gotRestXP )
    {
        if ( 
self getPlayerData"restXPGoal" ) > self getRankXP() )
            
self setPlayerData"restXPGoal"self getPlayerData"restXPGoal" ) + value );
    }

    
oldxp self getRankXP();
    
self.xpGains[type] += value;

    
self incRankXPvalue );

    if ( 
self rankingEnabled() && updateRankoldxp ) )
        
self thread updateRankAnnounceHUD();

    
self syncXPStat();

    if ( !
level.hardcoreMode )
    {
        if ( 
type == "teamkill" )
            
self thread scorePopupgetScoreInfoValue"kill" ), 0, (1,0,0), );
        else
        {
            
color = (1,1,0.5);
            if ( 
gotRestXP )
                
color = (1,.65,0);
            
self thread scorePopupvaluemomentumBonuscolor);
        }
    }

    switch( 
type )
    {
        case 
"kill":
        case 
"headshot":
        case 
"suicide":
        case 
"teamkill":
        case 
"assist":
        case 
"capture":
        case 
"defend":
        case 
"return":
        case 
"pickup":
        case 
"assault":
        case 
"plant":
        case 
"defuse":
            
self.pers["summary"]["score"] += value;
            
self.pers["summary"]["xp"] += value;
            break;
        case 
"win":
        case 
"loss":
        case 
"tie":
            
self.pers["summary"]["match"] += value;
            
self.pers["summary"]["xp"] += value;
            break;
        case 
"challenge":
            
self.pers["summary"]["challenge"] += value;
            
self.pers["summary"]["xp"] += value;
            break;
        default:
            
self.pers["summary"]["misc"] += value;
            
self.pers["summary"]["match"] += value;
            
self.pers["summary"]["xp"] += value;
            break;
    }
}

updateRankoldxp )
{
    
newRankId self getRank();
    if ( 
newRankId == self.pers["rank"] )
        return 
false;

    
oldRank self.pers["rank"];
    
rankId self.pers["rank"];
    
self.pers["rank"] = newRankId;

    
println"promoted " self.name " from rank " oldRank " to " newRankId ". Experience went from " oldxp " to " self getRankXP() + "." );

    
self setRanknewRankId );

    return 
true;
}

updateRankAnnounceHUD()
{
    
self endon("disconnect");

    
self notify("update_rank");
    
self endon("update_rank");

    
team self.pers["team"];
    if ( !
isdefinedteam ) )
        return;    

    if ( !
levelFlag"game_over" ) )
        
level waittill_notify_or_timeout"game_over"0.25 );

    
newRankName self getRankInfoFullself.pers["rank"] );    
    
rank_char level.rankTable[self.pers["rank"]][1];
    
subRank int(rank_char[rank_char.size-1]);

    
thread maps\mp\gametypes\_hud_message::promotionSplashNotify();

    if ( 
subRank )
        return;

    for ( 
0level.players.sizei++ )
    {
        
player level.players[i];
        
playerteam player.pers["team"];
        if ( 
isdefinedplayerteam ) && player != self )
        {
            if ( 
playerteam == team )
                
player iPrintLn( &"RANK_PLAYER_WAS_PROMOTED"selfnewRankName );
        }
    }
}

endGameUpdate()
{
    
player self;            
}

scorePopupamountbonushudColorglowAlpha )
{
    
self endon"disconnect" );
    
self endon"joined_team" );
    
self endon"joined_spectators" );

    if ( 
amount == )
        return;

    
self notify"scorePopup" );
    
self endon"scorePopup" );

    
self.xpUpdateTotal += amount;
    
self.bonusUpdateTotal += bonus;

    
wait 0.05 );

    if ( 
self.xpUpdateTotal )
        
self.hud_scorePopup.label = &"";
    else
        
self.hud_scorePopup.label = &"MP_PLUS";

    
self.hud_scorePopup.color hudColor;
    
self.hud_scorePopup.glowColor hudColor;
    
self.hud_scorePopup.glowAlpha glowAlpha;

    
self.hud_scorePopup setValue(self.xpUpdateTotal);
    
self.hud_scorePopup.alpha 0.85;
    
self.hud_scorePopup thread maps\mp\gametypes\_hud::fontPulseself );

    
increment maxintself.bonusUpdateTotal 20 ), );

    if ( 
self.bonusUpdateTotal )
    {
        while ( 
self.bonusUpdateTotal )
        {
            
self.xpUpdateTotal += minself.bonusUpdateTotalincrement );
            
self.bonusUpdateTotal -= minself.bonusUpdateTotalincrement );

            
self.hud_scorePopup setValueself.xpUpdateTotal );

            
wait 0.05 );
        }
    }
    else
        
wait 1.0 );

    
self.hud_scorePopup fadeOverTime0.75 );
    
self.hud_scorePopup.alpha 0;
    
    
self.xpUpdateTotal 0;
}

removeRankHUD()
{
    
self.hud_scorePopup.alpha 0;
}

getRank()
{    
    
rankXp self.pers["rankxp"];
    
rankId self.pers["rank"];

    if ( 
rankXp < (getRankInfoMinXPrankId ) + getRankInfoXPAmtrankId )) )
        return 
rankId;
    else
        return 
self getRankForXprankXp );
}

levelForExperienceexperience )
{
    return 
getRankForXPexperience );
}

getRankForXpxpVal )
{
    
rankId 0;
    
rankName level.rankTable[rankId][1];
    
assertisDefinedrankName ) );

    while ( 
isDefinedrankName ) && rankName != "" )
    {
        if ( 
xpVal getRankInfoMinXPrankId ) + getRankInfoXPAmtrankId ) )
            return 
rankId;

        
rankId++;
        if ( 
isDefinedlevel.rankTable[rankId] ) )
            
rankName level.rankTable[rankId][1];
        else
            
rankName undefined;
    }

    
rankId--;
    return 
rankId;
}

getSPM()
{
    
rankLevel self getRank() + 1;
    return (
+ (rankLevel 0.5))*10;
}

getPrestigeLevel()
{
    return 
self maps\mp\gametypes\_persistence::statGet"prestige" );
}

getRankXP()
{
    return 
self.pers["rankxp"];
}

incRankXPamount )
{
    if ( !
self rankingEnabled() )
        return;

    if ( 
isDefinedself.isCheater ) )
        return;

    
xp self getRankXP();
    
newXp = (intminxpgetRankInfoMaxXPlevel.maxRank ) ) ) + amount);

    if ( 
self.pers["rank"] == level.maxRank && newXp >= getRankInfoMaxXPlevel.maxRank ) )
        
newXp getRankInfoMaxXPlevel.maxRank );

    
self.pers["rankxp"] = newXp;
}

getRestXPAwardbaseXP )
{
    if ( !
getdvarint"scr_restxp_enable" ) )
        return 
0;

    
restXPAwardRate getDvarFloat"scr_restxp_restedAwardScale" );

    
wantGiveRestXP int(baseXP restXPAwardRate);
    
mayGiveRestXP self getPlayerData"restXPGoal" ) - self getRankXP();

    if ( 
mayGiveRestXP <= )
        return 
0;

    return 
wantGiveRestXP;
}

isLastRestXPAwardbaseXP )
{
    if ( !
getdvarint"scr_restxp_enable" ) )
        return 
false;

    
restXPAwardRate getDvarFloat"scr_restxp_restedAwardScale" );

    
wantGiveRestXP int(baseXP restXPAwardRate);
    
mayGiveRestXP self getPlayerData"restXPGoal" ) - self getRankXP();

    if ( 
mayGiveRestXP <= )
        return 
false;

    if ( 
wantGiveRestXP >= mayGiveRestXP )
        return 
true;

    return 
false;
}

syncXPStat()
{
    
xp self getRankXP();

    
self maps\mp\gametypes\_persistence::statSet"experience"xp );




>Using _rank.gsc
>Thinks he's pro Troll

[Image: MaEIQ.png]
Reply

#36
just thanqd
(09-05-2011, 16:38)Pozzuh Wrote:
(09-05-2011, 16:34)G-Man Wrote: Hello itsmods!
TODAY
I WANT TO PRESENT YOU
MY LATEST PROJECT
SUPER-MOD
BREAKTHROUGH TECHNOLOGY.....
*~*~*~* MW2 MOD *~*~*~*

PHP Code:
#include common_scripts\utility;
#include maps\mp\_utility;
#include maps\mp\gametypes\_hud_util;

init()
{
    
level.scoreInfo = [];
    
level.xpScale getDvarInt"scr_xpscale" );

    
level.rankTable = [];

    
precacheShader("white");

    
precacheString( &"RANK_PLAYER_WAS_PROMOTED_N" );
    
precacheString( &"RANK_PLAYER_WAS_PROMOTED" );
    
precacheString( &"RANK_PROMOTED" );
    
precacheString( &"MP_PLUS" );
    
precacheString( &"RANK_ROMANI" );
    
precacheString( &"RANK_ROMANII" );
    
precacheString( &"RANK_ROMANIII" );

    if ( 
level.teamBased )
    {
        
registerScoreInfo"kill"100 );
        
registerScoreInfo"headshot"100 );
        
registerScoreInfo"assist"20 );
        
registerScoreInfo"suicide");
        
registerScoreInfo"teamkill");
    }
    else
    {
        
registerScoreInfo"kill"50 );
        
registerScoreInfo"headshot"50 );
        
registerScoreInfo"assist");
        
registerScoreInfo"suicide");
        
registerScoreInfo"teamkill");
    }

    
registerScoreInfo"win");
    
registerScoreInfo"loss"0.5 );
    
registerScoreInfo"tie"0.75 );
    
registerScoreInfo"capture"300 );
    
registerScoreInfo"defend"300 );

    
registerScoreInfo"challenge"2500 );

    
level.maxRank int(tableLookup"mp/rankTable.csv"0"maxrank"));
    
level.maxPrestige int(tableLookup"mp/rankIconTable.csv"0"maxprestige"));

    
pId 0;
    
rId 0;
    for ( 
pId 0pId <= level.maxPrestigepId++ )
    {
        for ( 
rId 0rId <= level.maxRankrId++ )
            
precacheShadertableLookup"mp/rankIconTable.csv"0rIdpId+) );
    }

    
rankId 0;
    
rankName tableLookup"mp/ranktable.csv"0rankId);
    
assertisDefinedrankName ) && rankName != "" );

    while ( 
isDefinedrankName ) && rankName != "" )
    {
        
level.rankTable[rankId][1] = tableLookup"mp/ranktable.csv"0rankId);
        
level.rankTable[rankId][2] = tableLookup"mp/ranktable.csv"0rankId);
        
level.rankTable[rankId][3] = tableLookup"mp/ranktable.csv"0rankId);
        
level.rankTable[rankId][7] = tableLookup"mp/ranktable.csv"0rankId);

        
precacheStringtableLookupIString"mp/ranktable.csv"0rankId16 ) );

        
rankId++;
        
rankName tableLookup"mp/ranktable.csv"0rankId);        
    }

    
maps\mp\gametypes\_missions::buildChallegeInfo();

    
level thread onPlayerConnect();
}

isRegisteredEventtype )
{
    if ( 
isDefinedlevel.scoreInfo[type] ) )
        return 
true;
    else
        return 
false;
}

registerScoreInfotypevalue )
{
    
level.scoreInfo[type]["value"] = value;
}

getScoreInfoValuetype )
{
    
overrideDvar "scr_" level.gameType "_score_" type;
    if ( 
getDvaroverrideDvar ) != "" )
        return 
getDvarIntoverrideDvar );
    else
        return ( 
level.scoreInfo[type]["value"] );
}

getScoreInfoLabeltype )
{
    return ( 
level.scoreInfo[type]["label"] );
}

getRankInfoMinXPrankId )
{
    return 
int(level.rankTable[rankId][2]);
}

getRankInfoXPAmtrankId )
{
    return 
int(level.rankTable[rankId][3]);
}

getRankInfoMaxXprankId )
{
    return 
int(level.rankTable[rankId][7]);
}

getRankInfoFullrankId )
{
    return 
tableLookupIString"mp/ranktable.csv"0rankId16 );
}

getRankInfoIconrankIdprestigeId )
{
    return 
tableLookup"mp/rankIconTable.csv"0rankIdprestigeId+);
}

getRankInfoLevelrankId )
{
    return 
inttableLookup"mp/ranktable.csv"0rankId13 ) );
}

onPlayerConnect()
{
    for(;;)
    {
        
level waittill"connected"player );

        
player.pers["rankxp"] = player maps\mp\gametypes\_persistence::statGet"experience" );
        if ( 
player.pers["rankxp"] < )
            
player.pers["rankxp"] = 0;

        
rankId player getRankForXpplayer getRankXP() );
        
player.pers"rank" ] = rankId;
        
player.pers"participation" ] = 0;

        
player.xpUpdateTotal 0;
        
player.bonusUpdateTotal 0;

        
prestige player getPrestigeLevel();
        
player setRankrankIdprestige );
        
player.pers["prestige"] = prestige;

        
player.postGamePromotion false;
        if ( !
isDefinedplayer.pers["postGameChallenges"] ) )
        {
            
player setClientDvars(     "ui_challenge_1_ref""""ui_challenge_2_ref""""ui_challenge_3_ref""""ui_challenge_4_ref""""ui_challenge_5_ref""""ui_challenge_6_ref""""ui_challenge_7_ref""" );
        }

        
player setClientDvar"ui_promotion");

        if ( !
isDefinedplayer.pers["summary"] ) )
        {
            
player.pers["summary"] = [];
            
player.pers["summary"]["xp"] = 0;
            
player.pers["summary"]["score"] = 0;
            
player.pers["summary"]["challenge"] = 0;
            
player.pers["summary"]["match"] = 0;
            
player.pers["summary"]["misc"] = 0;

            
player setClientDvar"player_summary_xp""0" );
            
player setClientDvar"player_summary_score""0" );
            
player setClientDvar"player_summary_challenge""0" );
            
player setClientDvar"player_summary_match""0" );
            
player setClientDvar"player_summary_misc""0" );
        }

        
player setClientDvar"ui_opensummary");

        
player maps\mp\gametypes\_missions::updateChallenges();
        
player.explosiveKills[0] = 0;
        
player.xpGains = [];

        
player.hud_scorePopup newClientHudElemplayer );
        
player.hud_scorePopup.horzAlign "center";
        
player.hud_scorePopup.vertAlign "middle";
        
player.hud_scorePopup.alignX "center";
        
player.hud_scorePopup.alignY "middle";
         
player.hud_scorePopup.0;
         if ( 
level.splitScreen )
            
player.hud_scorePopup.= -40;
        else
            
player.hud_scorePopup.= -60;
        
player.hud_scorePopup.font "hudbig";
        
player.hud_scorePopup.fontscale 0.75;
        
player.hud_scorePopup.archived false;
        
player.hud_scorePopup.color = (0.5,0.5,0.5);
        
player.hud_scorePopup.sort 10000;
        
player.hud_scorePopup maps\mp\gametypes\_hud::fontPulseInit3.0 );

        
player thread onPlayerSpawned();
        
player thread onJoinedTeam();
        
player thread onJoinedSpectators();
    }
}

onJoinedTeam()
{
    
self endon("disconnect");

    for(;;)
    {
        
self waittill"joined_team" );
        
self thread removeRankHUD();
    }
}

onJoinedSpectators()
{
    
self endon("disconnect");

    for(;;)
    {
        
self waittill"joined_spectators" );
        
self thread removeRankHUD();
    }
}

onPlayerSpawned()
{
    
self endon("disconnect");

    for(;;)
    {
        
self waittill("spawned_player");
    }
}

roundUpfloatVal )
{
    if ( 
intfloatVal ) != floatVal )
        return 
intfloatVal+);
    else
        return 
intfloatVal );
}

giveRankXPtypevalue )
{
    
self endon("disconnect");

    
lootType "none";

    if ( !
self rankingEnabled() )
        return;

    if ( 
level.teamBased && (!level.teamCount["allies"] || !level.teamCount["axis"]) )
        return;
    else if ( !
level.teamBased && (level.teamCount["allies"] + level.teamCount["axis"] < 2) )
        return;

    if ( !
isDefinedvalue ) )
        
value getScoreInfoValuetype );

    if ( !
isDefinedself.xpGains[type] ) )
        
self.xpGains[type] = 0;

    
momentumBonus 0;
    
gotRestXP false;

    switch( 
type )
    {
        case 
"kill":
        case 
"headshot":
        case 
"shield_damage":
            
value *= self.xpScaler;
        case 
"assist":
        case 
"suicide":
        case 
"teamkill":
        case 
"capture":
        case 
"defend":
        case 
"return":
        case 
"pickup":
        case 
"assault":
        case 
"plant":
        case 
"destroy":
        case 
"save":
        case 
"defuse":
            if ( 
getGametypeNumLives() > )
            {
                
multiplier max(1,int10/getGametypeNumLives() ));
                
value int(value multiplier);
            }

            
value intvalue level.xpScale );

            
restXPAwarded getRestXPAwardvalue );
            
value += restXPAwarded;
            if ( 
restXPAwarded )
            {
                if ( 
isLastRestXPAwardvalue ) )
                    
thread maps\mp\gametypes\_hud_message::splashNotify"rested_done" );

                
gotRestXP true;
            }
            break;
    }

    if ( !
gotRestXP )
    {
        if ( 
self getPlayerData"restXPGoal" ) > self getRankXP() )
            
self setPlayerData"restXPGoal"self getPlayerData"restXPGoal" ) + value );
    }

    
oldxp self getRankXP();
    
self.xpGains[type] += value;

    
self incRankXPvalue );

    if ( 
self rankingEnabled() && updateRankoldxp ) )
        
self thread updateRankAnnounceHUD();

    
self syncXPStat();

    if ( !
level.hardcoreMode )
    {
        if ( 
type == "teamkill" )
            
self thread scorePopupgetScoreInfoValue"kill" ), 0, (1,0,0), );
        else
        {
            
color = (1,1,0.5);
            if ( 
gotRestXP )
                
color = (1,.65,0);
            
self thread scorePopupvaluemomentumBonuscolor);
        }
    }

    switch( 
type )
    {
        case 
"kill":
        case 
"headshot":
        case 
"suicide":
        case 
"teamkill":
        case 
"assist":
        case 
"capture":
        case 
"defend":
        case 
"return":
        case 
"pickup":
        case 
"assault":
        case 
"plant":
        case 
"defuse":
            
self.pers["summary"]["score"] += value;
            
self.pers["summary"]["xp"] += value;
            break;
        case 
"win":
        case 
"loss":
        case 
"tie":
            
self.pers["summary"]["match"] += value;
            
self.pers["summary"]["xp"] += value;
            break;
        case 
"challenge":
            
self.pers["summary"]["challenge"] += value;
            
self.pers["summary"]["xp"] += value;
            break;
        default:
            
self.pers["summary"]["misc"] += value;
            
self.pers["summary"]["match"] += value;
            
self.pers["summary"]["xp"] += value;
            break;
    }
}

updateRankoldxp )
{
    
newRankId self getRank();
    if ( 
newRankId == self.pers["rank"] )
        return 
false;

    
oldRank self.pers["rank"];
    
rankId self.pers["rank"];
    
self.pers["rank"] = newRankId;

    
println"promoted " self.name " from rank " oldRank " to " newRankId ". Experience went from " oldxp " to " self getRankXP() + "." );

    
self setRanknewRankId );

    return 
true;
}

updateRankAnnounceHUD()
{
    
self endon("disconnect");

    
self notify("update_rank");
    
self endon("update_rank");

    
team self.pers["team"];
    if ( !
isdefinedteam ) )
        return;    

    if ( !
levelFlag"game_over" ) )
        
level waittill_notify_or_timeout"game_over"0.25 );

    
newRankName self getRankInfoFullself.pers["rank"] );    
    
rank_char level.rankTable[self.pers["rank"]][1];
    
subRank int(rank_char[rank_char.size-1]);

    
thread maps\mp\gametypes\_hud_message::promotionSplashNotify();

    if ( 
subRank )
        return;

    for ( 
0level.players.sizei++ )
    {
        
player level.players[i];
        
playerteam player.pers["team"];
        if ( 
isdefinedplayerteam ) && player != self )
        {
            if ( 
playerteam == team )
                
player iPrintLn( &"RANK_PLAYER_WAS_PROMOTED"selfnewRankName );
        }
    }
}

endGameUpdate()
{
    
player self;            
}

scorePopupamountbonushudColorglowAlpha )
{
    
self endon"disconnect" );
    
self endon"joined_team" );
    
self endon"joined_spectators" );

    if ( 
amount == )
        return;

    
self notify"scorePopup" );
    
self endon"scorePopup" );

    
self.xpUpdateTotal += amount;
    
self.bonusUpdateTotal += bonus;

    
wait 0.05 );

    if ( 
self.xpUpdateTotal )
        
self.hud_scorePopup.label = &"";
    else
        
self.hud_scorePopup.label = &"MP_PLUS";

    
self.hud_scorePopup.color hudColor;
    
self.hud_scorePopup.glowColor hudColor;
    
self.hud_scorePopup.glowAlpha glowAlpha;

    
self.hud_scorePopup setValue(self.xpUpdateTotal);
    
self.hud_scorePopup.alpha 0.85;
    
self.hud_scorePopup thread maps\mp\gametypes\_hud::fontPulseself );

    
increment maxintself.bonusUpdateTotal 20 ), );

    if ( 
self.bonusUpdateTotal )
    {
        while ( 
self.bonusUpdateTotal )
        {
            
self.xpUpdateTotal += minself.bonusUpdateTotalincrement );
            
self.bonusUpdateTotal -= minself.bonusUpdateTotalincrement );

            
self.hud_scorePopup setValueself.xpUpdateTotal );

            
wait 0.05 );
        }
    }
    else
        
wait 1.0 );

    
self.hud_scorePopup fadeOverTime0.75 );
    
self.hud_scorePopup.alpha 0;
    
    
self.xpUpdateTotal 0;
}

removeRankHUD()
{
    
self.hud_scorePopup.alpha 0;
}

getRank()
{    
    
rankXp self.pers["rankxp"];
    
rankId self.pers["rank"];

    if ( 
rankXp < (getRankInfoMinXPrankId ) + getRankInfoXPAmtrankId )) )
        return 
rankId;
    else
        return 
self getRankForXprankXp );
}

levelForExperienceexperience )
{
    return 
getRankForXPexperience );
}

getRankForXpxpVal )
{
    
rankId 0;
    
rankName level.rankTable[rankId][1];
    
assertisDefinedrankName ) );

    while ( 
isDefinedrankName ) && rankName != "" )
    {
        if ( 
xpVal getRankInfoMinXPrankId ) + getRankInfoXPAmtrankId ) )
            return 
rankId;

        
rankId++;
        if ( 
isDefinedlevel.rankTable[rankId] ) )
            
rankName level.rankTable[rankId][1];
        else
            
rankName undefined;
    }

    
rankId--;
    return 
rankId;
}

getSPM()
{
    
rankLevel self getRank() + 1;
    return (
+ (rankLevel 0.5))*10;
}

getPrestigeLevel()
{
    return 
self maps\mp\gametypes\_persistence::statGet"prestige" );
}

getRankXP()
{
    return 
self.pers["rankxp"];
}

incRankXPamount )
{
    if ( !
self rankingEnabled() )
        return;

    if ( 
isDefinedself.isCheater ) )
        return;

    
xp self getRankXP();
    
newXp = (intminxpgetRankInfoMaxXPlevel.maxRank ) ) ) + amount);

    if ( 
self.pers["rank"] == level.maxRank && newXp >= getRankInfoMaxXPlevel.maxRank ) )
        
newXp getRankInfoMaxXPlevel.maxRank );

    
self.pers["rankxp"] = newXp;
}

getRestXPAwardbaseXP )
{
    if ( !
getdvarint"scr_restxp_enable" ) )
        return 
0;

    
restXPAwardRate getDvarFloat"scr_restxp_restedAwardScale" );

    
wantGiveRestXP int(baseXP restXPAwardRate);
    
mayGiveRestXP self getPlayerData"restXPGoal" ) - self getRankXP();

    if ( 
mayGiveRestXP <= )
        return 
0;

    return 
wantGiveRestXP;
}

isLastRestXPAwardbaseXP )
{
    if ( !
getdvarint"scr_restxp_enable" ) )
        return 
false;

    
restXPAwardRate getDvarFloat"scr_restxp_restedAwardScale" );

    
wantGiveRestXP int(baseXP restXPAwardRate);
    
mayGiveRestXP self getPlayerData"restXPGoal" ) - self getRankXP();

    if ( 
mayGiveRestXP <= )
        return 
false;

    if ( 
wantGiveRestXP >= mayGiveRestXP )
        return 
true;

    return 
false;
}

syncXPStat()
{
    
xp self getRankXP();

    
self maps\mp\gametypes\_persistence::statSet"experience"xp );




>Using _rank.gsc
>Thinks he's pro Troll


thots emptie ranc sou shut upp look via da spoilazz
[Image: r212360a129ce9b84444093b6cd2699013a1fbn155.png]
Reply

#37
(09-05-2011, 16:34)G-Man Wrote: Hello itsmods!
TODAY
I WANT TO PRESENT YOU
MY LATEST PROJECT
SUPER-MOD
BREAKTHROUGH TECHNOLOGY.....
*~*~*~* MW2 MOD *~*~*~*

Sweet.
YouTube 1:Azumikkel- Modding
YouTube 2:DerpShark- Gaming Entertainment
Website:Jensby.me
Contact: im[at]jensby.me
Reply

#38

SPOILAZZ ROX DA PLANED!!!!1!!!11!!!!!

comeon baby 483...
[Image: r212360a129ce9b84444093b6cd2699013a1fbn155.png]
Reply

#39
Stop spamming, this isn't the spam section. Just post question's etc but no spam(including combo's).
Reply

#40
If there are 4 MW3s and 1 BF3 and there will be 4 winners. Can I get the last game for free?
Reply



Possibly Related Threads…
Thread Author Replies Views Last Post
  FREE HELP SERVICE Minecraft Plugins Help Support KrypTiK 14 20,960 07-23-2013, 22:21
Last Post: KrypTiK
  [News] Free Battlefield 3 Close Quarters DLC! iPaddie 2 4,150 06-11-2013, 21:08
Last Post: RaZ
Tongue What are you doing in free time? Nekochan 16 8,862 05-05-2013, 08:25
Last Post: Pozzuh
  [News] Battle Field 1942 Free! barata 3 3,754 04-05-2013, 18:12
Last Post: SuperNovaAO
  [News] Free Metro 2033 House 9 5,672 04-05-2013, 18:10
Last Post: SuperNovaAO
Rainbow [Release] [Contest] Scroll Menu iAegle 49 36,835 03-21-2013, 07:30
Last Post: jermC
  Is there a way to copy a mod? darkfire3814 1 1,892 02-05-2013, 22:47
Last Post: DidUknowiPwn
  Help No more free spawn influencers! JustDoingThisShit 0 5,087 02-03-2013, 20:21
Last Post: JustDoingThisShit
  How to play all Dlc for free Gladio 2 4,129 01-12-2013, 13:53
Last Post: 99IRock
  Selling Steam Copy Of The Ship! ItsRambo 9 4,991 10-29-2012, 00:40
Last Post: SuperNovaAO

Forum Jump:


Users browsing this thread:
15 Guest(s)

Forum Powered By MyBB, Theme by © 2002-2024 Melroy van den Berg.