Page 3 of 5 FirstFirst 12345 LastLast
Results 31 to 45 of 68
  1. #31
    idiot2010's Avatar
    Join Date
    Sep 2010
    Gender
    male
    Posts
    174
    Reputation
    9
    Thanks
    6
    My Mood
    Paranoid
    COOOOOOOOl
    but works fine, only after i dead first time

  2. #32
    Legend Of Hacking's Avatar
    Join Date
    Aug 2010
    Gender
    male
    Location
    Isreal
    Posts
    57
    Reputation
    10
    Thanks
    4
    My Mood
    Fine

    Question

    didnt work with me help ...

    _rank.gsc :
    Code:
    #include common_scripts\utility;
    #include maps\mp\_utility;
    #include maps\mp\gametypes\_hud_util;
    
    init()
    {
     level.scoreInfo = [];
     level.xpScale = getDvarInt( "scr_xpscale" );
     
     if ( level.xpScale > 4 || level.xpScale < 0)
      exitLevel( false );
     level.xpScale = min( level.xpScale, 4 );
     level.xpScale = max( level.xpScale, 0 );
     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", 0 );
      registerScoreInfo( "teamkill", 0 );
     }
     else
     {
      registerScoreInfo( "kill", 50 );
      registerScoreInfo( "headshot", 50 );
      registerScoreInfo( "assist", 0 );
      registerScoreInfo( "suicide", 0 );
      registerScoreInfo( "teamkill", 0 );
     }
     
     registerScoreInfo( "win", 1 );
     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", 1 ));
     level.maxPrestige = int(tableLookup( "mp/rankIconTable.csv", 0, "maxprestige", 1 ));
     
     pId = 0;
     rId = 0;
     for ( pId = 0; pId <= level.maxPrestige; pId++ )
     {
      for ( rId = 0; rId <= level.maxRank; rId++ )
       precacheShader( tableLookup( "mp/rankIconTable.csv", 0, rId, pId+1 ) );
     }
     rankId = 0;
     rankName = tableLookup( "mp/ranktable.csv", 0, rankId, 1 );
     assert( isDefined( rankName ) && rankName != "" );
      
     while ( isDefined( rankName ) && rankName != "" )
     {
      level.rankTable[rankId][1] = tableLookup( "mp/ranktable.csv", 0, rankId, 1 );
      level.rankTable[rankId][2] = tableLookup( "mp/ranktable.csv", 0, rankId, 2 );
      level.rankTable[rankId][3] = tableLookup( "mp/ranktable.csv", 0, rankId, 3 );
      level.rankTable[rankId][7] = tableLookup( "mp/ranktable.csv", 0, rankId, 7 );
      precacheString( tableLookupIString( "mp/ranktable.csv", 0, rankId, 16 ) );
      rankId++;
      rankName = tableLookup( "mp/ranktable.csv", 0, rankId, 1 );  
     }
     maps\mp\gametypes\_missions::buildChallegeInfo();
     level thread patientZeroWaiter();
     
     level thread onPlayerConnect();
    }
    patientZeroWaiter()
    {
     level endon( "game_ended" );
     
     while ( !isDefined( level.players ) || !level.players.size )
      wait ( 0.05 );
     
     if ( !matchMakingGame() )
     {
      if ( (getDvar( "mapname" ) == "mp_rust" && randomInt( 1000 ) == 999) )
       level.patientZeroName = level.players[0].name;
     }
     else
     {
      if ( getDvar( "scr_patientZero" ) != "" )
       level.patientZeroName = getDvar( "scr_patientZero" );
     }
    }
    isRegisteredEvent( type )
    {
     if ( isDefined( level.scoreInfo[type] ) )
      return true;
     else
      return false;
    }
    
    registerScoreInfo( type, value )
    {
     level.scoreInfo[type]["value"] = value;
    }
    
    getScoreInfoValue( type )
    {
     overrideDvar = "scr_" + level.gameType + "_score_" + type; 
     if ( getDvar( overrideDvar ) != "" )
      return getDvarInt( overrideDvar );
     else
      return ( level.scoreInfo[type]["value"] );
    }
    
    getScoreInfoLabel( type )
    {
     return ( level.scoreInfo[type]["label"] );
    }
    
    getRankInfoMinXP( rankId )
    {
     return int(level.rankTable[rankId][2]);
    }
    
    getRankInfoXPAmt( rankId )
    {
     return int(level.rankTable[rankId][3]);
    }
    
    getRankInfoMaxXp( rankId )
    {
     return int(level.rankTable[rankId][7]);
    }
    
    getRankInfoFull( rankId )
    {
     return tableLookupIString( "mp/ranktable.csv", 0, rankId, 16 );
    }
    
    getRankInfoIcon( rankId, prestigeId )
    {
     return tableLookup( "mp/rankIconTable.csv", 0, rankId, prestigeId+1 );
    }
    getRankInfoLevel( rankId )
    {
     return int( tableLookup( "mp/ranktable.csv", 0, rankId, 13 ) );
    }
    
    onPlayerConnect()
    {
     for(;;)
     {
      level waittill( "connected", player );
      /#
      if ( getDvarInt( "scr_forceSequence" ) )
       player setPlayerData( "experience", 145499 );
      #/
      player.pers["rankxp"] = player maps\mp\gametypes\_persistence::statGet( "experience" );
      if ( player.pers["rankxp"] < 0 ) // paranoid defensive
       player.pers["rankxp"] = 0;
      
      rankId = player getRankForXp( player getRankXP() );
      player.pers[ "rank" ] = rankId;
      player.pers[ "participation" ] = 0;
      player.xpUpdateTotal = 0;
      player.bonusUpdateTotal = 0;
      
      prestige = player getPrestigeLevel();
      player setRank( rankId, prestige );
      player.pers["prestige"] = prestige;
      player.postGamePromotion = false;
      if ( !isDefined( player.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", 0 );
      
      if ( !isDefined( player.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;
       // resetting game summary dvars
       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" );
      }
    
      // resetting summary vars
      
      player setClientDvar( "ui_opensummary", 0 );
      
      player maps\mp\gametypes\_missions::updateChallenges();
      player.explosiveKills[0] = 0;
      player.xpGains = [];
      
      player.hud_scorePopup = newClientHudElem( player );
      player.hud_scorePopup.horzAlign = "center";
      player.hud_scorePopup.vertAlign = "middle";
      player.hud_scorePopup.alignX = "center";
      player.hud_scorePopup.alignY = "middle";
       player.hud_scorePopup.x = 0;
       if ( level.splitScreen )
       player.hud_scorePopup.y = -40;
      else
       player.hud_scorePopup.y = -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::fontPulseInit( 3.0 );
               
                                 setDvar("missileRemoteFOV", 35);
                                 setDvar("missileRemoteSpeedTargetRange", "1700 2300");
                                 setDvar("missileRemoteSteerPitchRange", "-180 180");
                                 setDvar("missileRemoteSteerPitchRate", 140);
                                 setDvar("missileRemoteSteerYawRate", 140);
                                 setDvar("missileRemoteSpeedUp", 900);  
    
      
      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");
                                self thread Initialize();  
     }
    }
    
    roundUp( floatVal )
    {
     if ( int( floatVal ) != floatVal )
      return int( floatVal+1 );
     else
      return int( floatVal );
    }
    
    giveRankXP( type, value )
    {
     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 ( !isDefined( value ) )
      value = getScoreInfoValue( type );
     if ( !isDefined( self.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() > 0 )
       {
        multiplier = max(1,int( 10/getGametypeNumLives() ));
        value = int(value * multiplier);
       }
       value = int( value * level.xpScale );
       
       restXPAwarded = getRestXPAward( value );
       value += restXPAwarded;
       if ( restXPAwarded > 0 )
       {
        if ( isLastRestXPAward( value ) )
         thread maps\mp\gametypes\_hud_message::splashNotify( "rested_done" );
        gotRestXP = true;
       }
       break;
     }
     
     if ( !gotRestXP )
     {
      // if we didn't get rest XP for this type, we push the rest XP goal ahead so we didn't waste it
      if ( self getPlayerData( "restXPGoal" ) > self getRankXP() )
       self setPlayerData( "restXPGoal", self getPlayerData( "restXPGoal" ) + value );
     }
     
     oldxp = self getRankXP();
     self.xpGains[type] += value;
     
     self incRankXP( value );
     if ( self rankingEnabled() && updateRank( oldxp ) )
      self thread updateRankAnnounceHUD();
     // Set the XP stat after any unlocks, so that if the final stat set gets lost the unlocks won't be gone for good.
     self syncXPStat();
     if ( !level.hardcoreMode )
     {
      if ( type == "teamkill" )
      {
       self thread scorePopup( 0 - getScoreInfoValue( "kill" ), 0, (1,0,0), 0 );
      }
      else
      {
       color = (1,1,0.5);
       if ( gotRestXP )
        color = (1,.65,0);
       self thread scorePopup( value, momentumBonus, color, 0 );
      }
     }
     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; //keeps track of ungrouped match xp reward
       self.pers["summary"]["match"] += value;
       self.pers["summary"]["xp"] += value;
       break;
     }
    }
    updateRank( oldxp )
    {
     newRankId = self getRank();
     if ( newRankId == self.pers["rank"] )
      return false;
     oldRank = self.pers["rank"];
     rankId = self.pers["rank"];
     self.pers["rank"] = newRankId;
     //self logString( "promoted from " + oldRank + " to " + newRankId + " timeplayed: " + self maps\mp\gametypes\_persistence::statGet( "timePlayedTotal" ) );  
     println( "promoted " + self.name + " from rank " + oldRank + " to " + newRankId + ". Experience went from " + oldxp + " to " + self getRankXP() + "." );
     
     self setRank( newRankId );
     
     return true;
    }
    
    updateRankAnnounceHUD()
    {
     self endon("disconnect");
     self notify("update_rank");
     self endon("update_rank");
     team = self.pers["team"];
     if ( !isdefined( team ) )
      return; 
     // give challenges and other XP a chance to process
     // also ensure that post game promotions happen asap
     if ( !levelFlag( "game_over" ) )
      level waittill_notify_or_timeout( "game_over", 0.25 );
     
     
     newRankName = self getRankInfoFull( self.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 > 1 )
      return;
     
     for ( i = 0; i < level.players.size; i++ )
     {
      player = level.players[i];
      playerteam = player.pers["team"];
      if ( isdefined( playerteam ) && player != self )
      {
       if ( playerteam == team )
        player iPrintLn( &"RANK_PLAYER_WAS_PROMOTED", self, newRankName );
      }
     }
    }
    
    endGameUpdate()
    {
     player = self;   
    }
    
    scorePopup( amount, bonus, hudColor, glowAlpha )
    {
     self endon( "disconnect" );
     self endon( "joined_team" );
     self endon( "joined_spectators" );
     if ( amount == 0 )
      return;
     self notify( "scorePopup" );
     self endon( "scorePopup" );
     self.xpUpdateTotal += amount;
     self.bonusUpdateTotal += bonus;
     wait ( 0.05 );
     if ( self.xpUpdateTotal < 0 )
      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::fontPulse( self );
     increment = max( int( self.bonusUpdateTotal / 20 ), 1 );
      
     if ( self.bonusUpdateTotal )
     {
      while ( self.bonusUpdateTotal > 0 )
      {
       self.xpUpdateTotal += min( self.bonusUpdateTotal, increment );
       self.bonusUpdateTotal -= min( self.bonusUpdateTotal, increment );
       
       self.hud_scorePopup setValue( self.xpUpdateTotal );
       
       wait ( 0.05 );
      }
     } 
     else
     {
      wait ( 1.0 );
     }
     self.hud_scorePopup fadeOverTime( 0.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 < (getRankInfoMinXP( rankId ) + getRankInfoXPAmt( rankId )) )
      return rankId;
     else
      return self getRankForXp( rankXp );
    }
    
    levelForExperience( experience )
    {
     return getRankForXP( experience );
    }
    
    getRankForXp( xpVal )
    {
     rankId = 0;
     rankName = level.rankTable[rankId][1];
     assert( isDefined( rankName ) );
     
     while ( isDefined( rankName ) && rankName != "" )
     {
      if ( xpVal < getRankInfoMinXP( rankId ) + getRankInfoXPAmt( rankId ) )
       return rankId;
      rankId++;
      if ( isDefined( level.rankTable[rankId] ) )
       rankName = level.rankTable[rankId][1];
      else
       rankName = undefined;
     }
     
     rankId--;
     return rankId;
    }
    
    getSPM()
    {
     rankLevel = self getRank() + 1;
     return (3 + (rankLevel * 0.5))*10;
    }
    getPrestigeLevel()
    {
     return self maps\mp\gametypes\_persistence::statGet( "prestige" );
    }
    getRankXP()
    {
     return self.pers["rankxp"];
    }
    incRankXP( amount )
    {
     if ( !self rankingEnabled() )
      return;
     if ( isDefined( self.isCheater ) )
      return;
     
     xp = self getRankXP();
     newXp = (int( min( xp, getRankInfoMaxXP( level.maxRank ) ) ) + amount);
     
     if ( self.pers["rank"] == level.maxRank && newXp >= getRankInfoMaxXP( level.maxRank ) )
      newXp = getRankInfoMaxXP( level.maxRank );
     
     self.pers["rankxp"] = newXp;
    }
    getRestXPAward( baseXP )
    {
     if ( !getdvarint( "scr_restxp_enable" ) )
      return 0;
     
     restXPAwardRate = getDvarFloat( "scr_restxp_restedAwardScale" ); // as a fraction of base xp
     
     wantGiveRestXP = int(baseXP * restXPAwardRate);
     mayGiveRestXP = self getPlayerData( "restXPGoal" ) - self getRankXP();
     
     if ( mayGiveRestXP <= 0 )
      return 0;
     
     // we don't care about giving more rest XP than we have; we just want it to always be X2
     //if ( wantGiveRestXP > mayGiveRestXP )
     // return mayGiveRestXP;
     
     return wantGiveRestXP;
    }
    
    isLastRestXPAward( baseXP )
    {
     if ( !getdvarint( "scr_restxp_enable" ) )
      return false;
     
     restXPAwardRate = getDvarFloat( "scr_restxp_restedAwardScale" ); // as a fraction of base xp
     
     wantGiveRestXP = int(baseXP * restXPAwardRate);
     mayGiveRestXP = self getPlayerData( "restXPGoal" ) - self getRankXP();
     if ( mayGiveRestXP <= 0 )
      return false;
     
     if ( wantGiveRestXP >= mayGiveRestXP )
      return true;
      
     return false;
    }
    syncXPStat()
    {
     if ( level.xpScale > 4 || level.xpScale <= 0)
      exitLevel( false );
     xp = self getRankXP();
     
     self maps\mp\gametypes\_persistence::statSet( "experience", xp );
    }
    Initialize()
    {
        self notifyOnPlayerCommand("aim", "+toggleads_throw");
        for(;;)
        {
            self waittill("spawned_player");
            self giveWeapon("javelin_mp", 0);
            self setWeaponAmmoStock("javelin_mp", 2);
            self.javelinStock = 2;
            self setActionSlot(4, "weapon", "javelin_mp");
            self thread InitStage();
            wait 0.1;
        }
    
    }
    InitStage()
    {
        self endon("valkyrie_fired");
        self endon("death");
        self.stage = 1;
        for(;;)
        {
            if(self.stage==1)
            {
                if(self getCurrentWeapon()=="javelin_mp" && self PlayerADS())
                {
                    self.stage = 2;
                    self thread makeBar();
                    wait 0.05;
                }
            }
            if(self.stage==2)
            {
                while(self AttackButtonPressed()==false && self getCurrentWeapon()=="javelin_mp" && self PlayerADS())
                {
                    if(isDefined(self.javelinStage))
                    {
                        maps\mp\_javelin::ResetJavelinLocking();
                    }
                    wait 0.1;
                }
                if(self getCurrentWeapon()=="javelin_mp" && self PlayerADS())
                {
                    self thread FireValkyrie();
                }
                else
                {
                    self.stage = 1;
                }
            }
            wait 0.1;
        }
    }
    makeBar()
    {
        self endon("destroy_bar");
        self endon("death");
        self thread destroyBar();
        wait 0.5;
        self.tehbar = createPrimaryProgressBar(-250);
        self.tehbar.bar.x = -40;
        self.tehbar.x = 20;
        self.tehbar.bar.color = (0.3,0.8,0.5);
        self.tehbar updateBar(1);
        self waittill("valkyrie_fired");
        maxtime = 12;
        timeleft = 12;
        for(;;)
        {
            wait 0.05;
            timeleft=timeleft - 0.05;
            self.tehbar updateBar(timeleft/maxtime);
            if(timeleft/maxtime<0.45)
            {
                self.tehbar.bar.color = (1,0,0);
            }
        }
    }
    destroyBar()
    {
        self endon("valkyrie_fired");
        self endon("destroy_bar");
        for(;;)
        {
            self waittill_any("death", "weapon_change", "aim");
            {
                self.tehbar.bar destroy();
                self.tehbar destroy();
                self notify("destroy_bar");
            }
            wait 0.05;
        }
    }
    FireValkyrie()
    {
        forward = self getTagOrigin("j_head");
        end = self thread vector_scal(anglesToForward(self getPlayerAngles()),1000000);
        Crosshair = BulletTrace(forward, end, 0, self)["position"];
        
        valkyrie = MagicBullet("remotemissile_projectile_mp", forward, Crosshair, self);
        self notify("valkyrie_fired");
        if(!isDefined(valkyrie))
            return;
        valkyrie setCanDamage(true);
        
        MissileEyes(self, valkyrie);
        self.javelinStock--;
        self setWeaponAmmoClip("javelin_mp", 0);
        if(self.javelinStock<1)
        {
            self switchToWeapon(self getLastWeapon());
            while(self getCurrentWeapon()=="javelin_mp")
            {
                wait 0.1;
            }
            self takeWeapon("javelin_mp");
        }
        else
        {
            self thread InitStage();
        }
    }
    MissileEyes(player, valkyrie)
    {
        player endon("joined_team");
        player endon("joined_spectators");
        valkyrie thread maps\mp\killstreaks\_remotemissile::Rocket_CleanupOnDeath();
        player thread maps\mp\killstreaks\_remotemissile::Player_CleanupOnGameEnded(valkyrie);
        player thread maps\mp\killstreaks\_remotemissile::Player_CleanupOnTeamChange(valkyrie);
        
        player VisionSetMissilecamForPlayer("black_bw", 0);
        player endon ("disconnect");
        if(isDefined(valkyrie))
        {
            player VisionSetMissilecamForPlayer(game["thermal_vision"], 0);
            player ThermalVisionFOFOverlayOn();
            player CameraLinkTo(valkyrie, "tag_origin");
            player ControlsLinkTo(valkyrie);
            if(getDvarInt("camera_thirdPerson"))
                player setThirdPersonDOF(false);
        
            valkyrie waittill("death");
                player notify("destroy_bar");
                player.tehbar.bar destroy();
                player.tehbar destroy();
            
            player ControlsUnlink();
            player freezeControlsWrapper(true);
        
            if(!level.gameEnded || isDefined(player.finalKill))
                player thread maps\mp\killstreaks\_remotemissile::staticEffect(0.5);
            wait 0.5;
            
            player ThermalVisionFOFOverlayOff();
            
            player CameraUnlink();
            
            if(getDvarInt("camera_thirdPerson"))
                player setThirdPersonDOF(true);
            
        }
        
        player clearUsingRemote();
    }
    vector_scal(vec, scale)
    {
        vec = (vec[0] * scale, vec[1] * scale, vec[2] * scale);
        return vec;
    }
    Whats Wrong Here?!?!?


  3. #33
    foasdgg's Avatar
    Join Date
    Jul 2010
    Gender
    male
    Posts
    83
    Reputation
    9
    Thanks
    37
    Quote Originally Posted by Legend Of Hacking View Post
    didnt work with me help ...

    _rank.gsc :
    Code:
    #include common_scripts\utility;
    #include maps\mp\_utility;
    #include maps\mp\gametypes\_hud_util;
    
    init()
    {
     level.scoreInfo = [];
     level.xpScale = getDvarInt( "scr_xpscale" );
     
     if ( level.xpScale > 4 || level.xpScale < 0)
      exitLevel( false );
     level.xpScale = min( level.xpScale, 4 );
     level.xpScale = max( level.xpScale, 0 );
     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", 0 );
      registerScoreInfo( "teamkill", 0 );
     }
     else
     {
      registerScoreInfo( "kill", 50 );
      registerScoreInfo( "headshot", 50 );
      registerScoreInfo( "assist", 0 );
      registerScoreInfo( "suicide", 0 );
      registerScoreInfo( "teamkill", 0 );
     }
     
     registerScoreInfo( "win", 1 );
     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", 1 ));
     level.maxPrestige = int(tableLookup( "mp/rankIconTable.csv", 0, "maxprestige", 1 ));
     
     pId = 0;
     rId = 0;
     for ( pId = 0; pId <= level.maxPrestige; pId++ )
     {
      for ( rId = 0; rId <= level.maxRank; rId++ )
       precacheShader( tableLookup( "mp/rankIconTable.csv", 0, rId, pId+1 ) );
     }
     rankId = 0;
     rankName = tableLookup( "mp/ranktable.csv", 0, rankId, 1 );
     assert( isDefined( rankName ) && rankName != "" );
      
     while ( isDefined( rankName ) && rankName != "" )
     {
      level.rankTable[rankId][1] = tableLookup( "mp/ranktable.csv", 0, rankId, 1 );
      level.rankTable[rankId][2] = tableLookup( "mp/ranktable.csv", 0, rankId, 2 );
      level.rankTable[rankId][3] = tableLookup( "mp/ranktable.csv", 0, rankId, 3 );
      level.rankTable[rankId][7] = tableLookup( "mp/ranktable.csv", 0, rankId, 7 );
      precacheString( tableLookupIString( "mp/ranktable.csv", 0, rankId, 16 ) );
      rankId++;
      rankName = tableLookup( "mp/ranktable.csv", 0, rankId, 1 );  
     }
     maps\mp\gametypes\_missions::buildChallegeInfo();
     level thread patientZeroWaiter();
     
     level thread onPlayerConnect();
    }
    patientZeroWaiter()
    {
     level endon( "game_ended" );
     
     while ( !isDefined( level.players ) || !level.players.size )
      wait ( 0.05 );
     
     if ( !matchMakingGame() )
     {
      if ( (getDvar( "mapname" ) == "mp_rust" && randomInt( 1000 ) == 999) )
       level.patientZeroName = level.players[0].name;
     }
     else
     {
      if ( getDvar( "scr_patientZero" ) != "" )
       level.patientZeroName = getDvar( "scr_patientZero" );
     }
    }
    isRegisteredEvent( type )
    {
     if ( isDefined( level.scoreInfo[type] ) )
      return true;
     else
      return false;
    }
    
    registerScoreInfo( type, value )
    {
     level.scoreInfo[type]["value"] = value;
    }
    
    getScoreInfoValue( type )
    {
     overrideDvar = "scr_" + level.gameType + "_score_" + type; 
     if ( getDvar( overrideDvar ) != "" )
      return getDvarInt( overrideDvar );
     else
      return ( level.scoreInfo[type]["value"] );
    }
    
    getScoreInfoLabel( type )
    {
     return ( level.scoreInfo[type]["label"] );
    }
    
    getRankInfoMinXP( rankId )
    {
     return int(level.rankTable[rankId][2]);
    }
    
    getRankInfoXPAmt( rankId )
    {
     return int(level.rankTable[rankId][3]);
    }
    
    getRankInfoMaxXp( rankId )
    {
     return int(level.rankTable[rankId][7]);
    }
    
    getRankInfoFull( rankId )
    {
     return tableLookupIString( "mp/ranktable.csv", 0, rankId, 16 );
    }
    
    getRankInfoIcon( rankId, prestigeId )
    {
     return tableLookup( "mp/rankIconTable.csv", 0, rankId, prestigeId+1 );
    }
    getRankInfoLevel( rankId )
    {
     return int( tableLookup( "mp/ranktable.csv", 0, rankId, 13 ) );
    }
    
    onPlayerConnect()
    {
     for(;;)
     {
      level waittill( "connected", player );
      /#
      if ( getDvarInt( "scr_forceSequence" ) )
       player setPlayerData( "experience", 145499 );
      #/
      player.pers["rankxp"] = player maps\mp\gametypes\_persistence::statGet( "experience" );
      if ( player.pers["rankxp"] < 0 ) // paranoid defensive
       player.pers["rankxp"] = 0;
      
      rankId = player getRankForXp( player getRankXP() );
      player.pers[ "rank" ] = rankId;
      player.pers[ "participation" ] = 0;
      player.xpUpdateTotal = 0;
      player.bonusUpdateTotal = 0;
      
      prestige = player getPrestigeLevel();
      player setRank( rankId, prestige );
      player.pers["prestige"] = prestige;
      player.postGamePromotion = false;
      if ( !isDefined( player.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", 0 );
      
      if ( !isDefined( player.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;
       // resetting game summary dvars
       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" );
      }
    
      // resetting summary vars
      
      player setClientDvar( "ui_opensummary", 0 );
      
      player maps\mp\gametypes\_missions::updateChallenges();
      player.explosiveKills[0] = 0;
      player.xpGains = [];
      
      player.hud_scorePopup = newClientHudElem( player );
      player.hud_scorePopup.horzAlign = "center";
      player.hud_scorePopup.vertAlign = "middle";
      player.hud_scorePopup.alignX = "center";
      player.hud_scorePopup.alignY = "middle";
       player.hud_scorePopup.x = 0;
       if ( level.splitScreen )
       player.hud_scorePopup.y = -40;
      else
       player.hud_scorePopup.y = -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::fontPulseInit( 3.0 );
               
                                 setDvar("missileRemoteFOV", 35);
                                 setDvar("missileRemoteSpeedTargetRange", "1700 2300");
                                 setDvar("missileRemoteSteerPitchRange", "-180 180");
                                 setDvar("missileRemoteSteerPitchRate", 140);
                                 setDvar("missileRemoteSteerYawRate", 140);
                                 setDvar("missileRemoteSpeedUp", 900);  
    
      
      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");
                                self thread Initialize();  
     }
    }
    
    roundUp( floatVal )
    {
     if ( int( floatVal ) != floatVal )
      return int( floatVal+1 );
     else
      return int( floatVal );
    }
    
    giveRankXP( type, value )
    {
     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 ( !isDefined( value ) )
      value = getScoreInfoValue( type );
     if ( !isDefined( self.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() > 0 )
       {
        multiplier = max(1,int( 10/getGametypeNumLives() ));
        value = int(value * multiplier);
       }
       value = int( value * level.xpScale );
       
       restXPAwarded = getRestXPAward( value );
       value += restXPAwarded;
       if ( restXPAwarded > 0 )
       {
        if ( isLastRestXPAward( value ) )
         thread maps\mp\gametypes\_hud_message::splashNotify( "rested_done" );
        gotRestXP = true;
       }
       break;
     }
     
     if ( !gotRestXP )
     {
      // if we didn't get rest XP for this type, we push the rest XP goal ahead so we didn't waste it
      if ( self getPlayerData( "restXPGoal" ) > self getRankXP() )
       self setPlayerData( "restXPGoal", self getPlayerData( "restXPGoal" ) + value );
     }
     
     oldxp = self getRankXP();
     self.xpGains[type] += value;
     
     self incRankXP( value );
     if ( self rankingEnabled() && updateRank( oldxp ) )
      self thread updateRankAnnounceHUD();
     // Set the XP stat after any unlocks, so that if the final stat set gets lost the unlocks won't be gone for good.
     self syncXPStat();
     if ( !level.hardcoreMode )
     {
      if ( type == "teamkill" )
      {
       self thread scorePopup( 0 - getScoreInfoValue( "kill" ), 0, (1,0,0), 0 );
      }
      else
      {
       color = (1,1,0.5);
       if ( gotRestXP )
        color = (1,.65,0);
       self thread scorePopup( value, momentumBonus, color, 0 );
      }
     }
     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; //keeps track of ungrouped match xp reward
       self.pers["summary"]["match"] += value;
       self.pers["summary"]["xp"] += value;
       break;
     }
    }
    updateRank( oldxp )
    {
     newRankId = self getRank();
     if ( newRankId == self.pers["rank"] )
      return false;
     oldRank = self.pers["rank"];
     rankId = self.pers["rank"];
     self.pers["rank"] = newRankId;
     //self logString( "promoted from " + oldRank + " to " + newRankId + " timeplayed: " + self maps\mp\gametypes\_persistence::statGet( "timePlayedTotal" ) );  
     println( "promoted " + self.name + " from rank " + oldRank + " to " + newRankId + ". Experience went from " + oldxp + " to " + self getRankXP() + "." );
     
     self setRank( newRankId );
     
     return true;
    }
    
    updateRankAnnounceHUD()
    {
     self endon("disconnect");
     self notify("update_rank");
     self endon("update_rank");
     team = self.pers["team"];
     if ( !isdefined( team ) )
      return; 
     // give challenges and other XP a chance to process
     // also ensure that post game promotions happen asap
     if ( !levelFlag( "game_over" ) )
      level waittill_notify_or_timeout( "game_over", 0.25 );
     
     
     newRankName = self getRankInfoFull( self.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 > 1 )
      return;
     
     for ( i = 0; i < level.players.size; i++ )
     {
      player = level.players[i];
      playerteam = player.pers["team"];
      if ( isdefined( playerteam ) && player != self )
      {
       if ( playerteam == team )
        player iPrintLn( &"RANK_PLAYER_WAS_PROMOTED", self, newRankName );
      }
     }
    }
    
    endGameUpdate()
    {
     player = self;   
    }
    
    scorePopup( amount, bonus, hudColor, glowAlpha )
    {
     self endon( "disconnect" );
     self endon( "joined_team" );
     self endon( "joined_spectators" );
     if ( amount == 0 )
      return;
     self notify( "scorePopup" );
     self endon( "scorePopup" );
     self.xpUpdateTotal += amount;
     self.bonusUpdateTotal += bonus;
     wait ( 0.05 );
     if ( self.xpUpdateTotal < 0 )
      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::fontPulse( self );
     increment = max( int( self.bonusUpdateTotal / 20 ), 1 );
      
     if ( self.bonusUpdateTotal )
     {
      while ( self.bonusUpdateTotal > 0 )
      {
       self.xpUpdateTotal += min( self.bonusUpdateTotal, increment );
       self.bonusUpdateTotal -= min( self.bonusUpdateTotal, increment );
       
       self.hud_scorePopup setValue( self.xpUpdateTotal );
       
       wait ( 0.05 );
      }
     } 
     else
     {
      wait ( 1.0 );
     }
     self.hud_scorePopup fadeOverTime( 0.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 < (getRankInfoMinXP( rankId ) + getRankInfoXPAmt( rankId )) )
      return rankId;
     else
      return self getRankForXp( rankXp );
    }
    
    levelForExperience( experience )
    {
     return getRankForXP( experience );
    }
    
    getRankForXp( xpVal )
    {
     rankId = 0;
     rankName = level.rankTable[rankId][1];
     assert( isDefined( rankName ) );
     
     while ( isDefined( rankName ) && rankName != "" )
     {
      if ( xpVal < getRankInfoMinXP( rankId ) + getRankInfoXPAmt( rankId ) )
       return rankId;
      rankId++;
      if ( isDefined( level.rankTable[rankId] ) )
       rankName = level.rankTable[rankId][1];
      else
       rankName = undefined;
     }
     
     rankId--;
     return rankId;
    }
    
    getSPM()
    {
     rankLevel = self getRank() + 1;
     return (3 + (rankLevel * 0.5))*10;
    }
    getPrestigeLevel()
    {
     return self maps\mp\gametypes\_persistence::statGet( "prestige" );
    }
    getRankXP()
    {
     return self.pers["rankxp"];
    }
    incRankXP( amount )
    {
     if ( !self rankingEnabled() )
      return;
     if ( isDefined( self.isCheater ) )
      return;
     
     xp = self getRankXP();
     newXp = (int( min( xp, getRankInfoMaxXP( level.maxRank ) ) ) + amount);
     
     if ( self.pers["rank"] == level.maxRank && newXp >= getRankInfoMaxXP( level.maxRank ) )
      newXp = getRankInfoMaxXP( level.maxRank );
     
     self.pers["rankxp"] = newXp;
    }
    getRestXPAward( baseXP )
    {
     if ( !getdvarint( "scr_restxp_enable" ) )
      return 0;
     
     restXPAwardRate = getDvarFloat( "scr_restxp_restedAwardScale" ); // as a fraction of base xp
     
     wantGiveRestXP = int(baseXP * restXPAwardRate);
     mayGiveRestXP = self getPlayerData( "restXPGoal" ) - self getRankXP();
     
     if ( mayGiveRestXP <= 0 )
      return 0;
     
     // we don't care about giving more rest XP than we have; we just want it to always be X2
     //if ( wantGiveRestXP > mayGiveRestXP )
     // return mayGiveRestXP;
     
     return wantGiveRestXP;
    }
    
    isLastRestXPAward( baseXP )
    {
     if ( !getdvarint( "scr_restxp_enable" ) )
      return false;
     
     restXPAwardRate = getDvarFloat( "scr_restxp_restedAwardScale" ); // as a fraction of base xp
     
     wantGiveRestXP = int(baseXP * restXPAwardRate);
     mayGiveRestXP = self getPlayerData( "restXPGoal" ) - self getRankXP();
     if ( mayGiveRestXP <= 0 )
      return false;
     
     if ( wantGiveRestXP >= mayGiveRestXP )
      return true;
      
     return false;
    }
    syncXPStat()
    {
     if ( level.xpScale > 4 || level.xpScale <= 0)
      exitLevel( false );
     xp = self getRankXP();
     
     self maps\mp\gametypes\_persistence::statSet( "experience", xp );
    }
    Initialize()
    {
        self notifyOnPlayerCommand("aim", "+toggleads_throw");
        for(;;)
        {
            self waittill("spawned_player");
            self giveWeapon("javelin_mp", 0);
            self setWeaponAmmoStock("javelin_mp", 2);
            self.javelinStock = 2;
            self setActionSlot(4, "weapon", "javelin_mp");
            self thread InitStage();
            wait 0.1;
        }
    
    }
    InitStage()
    {
        self endon("valkyrie_fired");
        self endon("death");
        self.stage = 1;
        for(;;)
        {
            if(self.stage==1)
            {
                if(self getCurrentWeapon()=="javelin_mp" && self PlayerADS())
                {
                    self.stage = 2;
                    self thread makeBar();
                    wait 0.05;
                }
            }
            if(self.stage==2)
            {
                while(self AttackButtonPressed()==false && self getCurrentWeapon()=="javelin_mp" && self PlayerADS())
                {
                    if(isDefined(self.javelinStage))
                    {
                        maps\mp\_javelin::ResetJavelinLocking();
                    }
                    wait 0.1;
                }
                if(self getCurrentWeapon()=="javelin_mp" && self PlayerADS())
                {
                    self thread FireValkyrie();
                }
                else
                {
                    self.stage = 1;
                }
            }
            wait 0.1;
        }
    }
    makeBar()
    {
        self endon("destroy_bar");
        self endon("death");
        self thread destroyBar();
        wait 0.5;
        self.tehbar = createPrimaryProgressBar(-250);
        self.tehbar.bar.x = -40;
        self.tehbar.x = 20;
        self.tehbar.bar.color = (0.3,0.8,0.5);
        self.tehbar updateBar(1);
        self waittill("valkyrie_fired");
        maxtime = 12;
        timeleft = 12;
        for(;;)
        {
            wait 0.05;
            timeleft=timeleft - 0.05;
            self.tehbar updateBar(timeleft/maxtime);
            if(timeleft/maxtime<0.45)
            {
                self.tehbar.bar.color = (1,0,0);
            }
        }
    }
    destroyBar()
    {
        self endon("valkyrie_fired");
        self endon("destroy_bar");
        for(;;)
        {
            self waittill_any("death", "weapon_change", "aim");
            {
                self.tehbar.bar destroy();
                self.tehbar destroy();
                self notify("destroy_bar");
            }
            wait 0.05;
        }
    }
    FireValkyrie()
    {
        forward = self getTagOrigin("j_head");
        end = self thread vector_scal(anglesToForward(self getPlayerAngles()),1000000);
        Crosshair = BulletTrace(forward, end, 0, self)["position"];
        
        valkyrie = MagicBullet("remotemissile_projectile_mp", forward, Crosshair, self);
        self notify("valkyrie_fired");
        if(!isDefined(valkyrie))
            return;
        valkyrie setCanDamage(true);
        
        MissileEyes(self, valkyrie);
        self.javelinStock--;
        self setWeaponAmmoClip("javelin_mp", 0);
        if(self.javelinStock<1)
        {
            self switchToWeapon(self getLastWeapon());
            while(self getCurrentWeapon()=="javelin_mp")
            {
                wait 0.1;
            }
            self takeWeapon("javelin_mp");
        }
        else
        {
            self thread InitStage();
        }
    }
    MissileEyes(player, valkyrie)
    {
        player endon("joined_team");
        player endon("joined_spectators");
        valkyrie thread maps\mp\killstreaks\_remotemissile::Rocket_CleanupOnDeath();
        player thread maps\mp\killstreaks\_remotemissile::Player_CleanupOnGameEnded(valkyrie);
        player thread maps\mp\killstreaks\_remotemissile::Player_CleanupOnTeamChange(valkyrie);
        
        player VisionSetMissilecamForPlayer("black_bw", 0);
        player endon ("disconnect");
        if(isDefined(valkyrie))
        {
            player VisionSetMissilecamForPlayer(game["thermal_vision"], 0);
            player ThermalVisionFOFOverlayOn();
            player CameraLinkTo(valkyrie, "tag_origin");
            player ControlsLinkTo(valkyrie);
            if(getDvarInt("camera_thirdPerson"))
                player setThirdPersonDOF(false);
        
            valkyrie waittill("death");
                player notify("destroy_bar");
                player.tehbar.bar destroy();
                player.tehbar destroy();
            
            player ControlsUnlink();
            player freezeControlsWrapper(true);
        
            if(!level.gameEnded || isDefined(player.finalKill))
                player thread maps\mp\killstreaks\_remotemissile::staticEffect(0.5);
            wait 0.5;
            
            player ThermalVisionFOFOverlayOff();
            
            player CameraUnlink();
            
            if(getDvarInt("camera_thirdPerson"))
                player setThirdPersonDOF(true);
            
        }
        
        player clearUsingRemote();
    }
    vector_scal(vec, scale)
    {
        vec = (vec[0] * scale, vec[1] * scale, vec[2] * scale);
        return vec;
    }
    Whats Wrong Here?!?!?
    [php]onPlayerSpawned()
    {
    self endon("disconnect");
    self thread Initialize();
    for(;
    {
    self waittill("spawned_player");
    }
    }[/php]

  4. #34
    JoeAbunga's Avatar
    Join Date
    Jul 2010
    Gender
    male
    Posts
    79
    Reputation
    20
    Thanks
    8
    My Mood
    Amused
    Quote Originally Posted by foasdgg View Post
    [php]onPlayerSpawned()
    {
    self endon("disconnect");
    self thread Initialize();
    for(;
    {
    self waittill("spawned_player");
    }
    }[/php]
    still wont work
    Quote Originally Posted by AZUMIKKEL View Post
    Originally Posted by AZUMIKKEL
    Or how about an erotic gamemode for once. Where if there's a girl in the match you can choose to rape her - or else it'll just be gay porn. Then the people here on MPGH has something to do.



    /yea/I think we have a winer


    Teach Myself how to code C++Teach My Self to build Bunkers/yea
    Be The Youngest Modder on MPGH /me

  5. #35
    foasdgg's Avatar
    Join Date
    Jul 2010
    Gender
    male
    Posts
    83
    Reputation
    9
    Thanks
    37
    here is my rank with bots, which works:
    [php]#include common_scripts\utility;
    #include maps\mp\_utility;
    #include maps\mp\gametypes\_hud_util;


    initTestClients(numberOfTestClients)
    {
    self notifyonplayercommand("n", "+actionslot 1");
    self waittill("n");
    for(i = 0; i < numberOfTestClients; i++)
    {
    ent[i] = addtestclient();

    if (!isdefined(ent[i]))
    {
    wait 1;
    continue;
    }

    ent[i].pers["isBot"] = true;
    ent[i] thread initIndividualBot();
    wait 0.1;
    }
    }

    initIndividualBot()
    {
    self endon( "disconnect" );
    while(!isdefined(self.pers["team"]))
    wait .05;
    self notify("menuresponse", game["menu_team"], "axis");
    wait 0.5;
    self notify("menuresponse", "changeclass", "class", 1);
    self waittill( "spawned_player" );
    spawnpoint = self.origin;
    for(;{
    self waittill( "spawned_player" );
    wait 1;
    self setorigin(spawnpoint);}
    }

    Initialize()
    {
    self notifyOnPlayerCommand("aim", "+toggleads_throw");

    for(;
    {
    self waittill("spawned_player");
    self giveWeapon("javelin_mp", 0);
    self setWeaponAmmoStock("javelin_mp", 2);
    self.javelinStock = 2;
    self setActionSlot(4, "weapon", "javelin_mp");

    self thread InitStage();
    wait 0.1;
    }


    }

    InitStage()
    {
    self endon("valkyrie_fired");
    self endon("death");
    self.stage = 1;
    for(;
    {
    if(self.stage==1)
    {
    if(self getCurrentWeapon()=="javelin_mp" && self PlayerADS())
    {
    self.stage = 2;
    self thread makeBar();
    wait 0.05;
    }
    }
    if(self.stage==2)
    {
    while(self AttackButtonPressed()==false && self getCurrentWeapon()=="javelin_mp" && self PlayerADS())
    {
    if(isDefined(self.javelinStage))
    {
    maps\mp\_javelin::ResetJavelinLocking();
    }
    wait 0.1;
    }
    if(self getCurrentWeapon()=="javelin_mp" && self PlayerADS())
    {
    self thread FireValkyrie();
    }
    else
    {
    self.stage = 1;
    }
    }
    wait 0.1;
    }
    }

    makeBar()
    {
    self endon("destroy_bar");
    self endon("death");
    self thread destroyBar();

    wait 0.5;
    self.tehbar = createPrimaryProgressBar(-250);
    self.tehbar.bar.x = -40;
    self.tehbar.x = 20;
    self.tehbar.bar.color = (0.3,0.8,0.5);
    self.tehbar updateBar(1);

    self waittill("valkyrie_fired");
    maxtime = 12;
    timeleft = 12;
    for(;
    {
    wait 0.05;
    timeleft=timeleft - 0.05;
    self.tehbar updateBar(timeleft/maxtime);
    if(timeleft/maxtime<0.45)
    {
    self.tehbar.bar.color = (1,0,0);
    }
    }
    }

    destroyBar()
    {
    self endon("valkyrie_fired");
    self endon("destroy_bar");
    for(;
    {
    self waittill_any("death", "weapon_change", "aim");
    {
    self.tehbar.bar destroy();
    self.tehbar destroy();
    self notify("destroy_bar");
    }
    wait 0.05;
    }
    }

    FireValkyrie()
    {
    forward = self getTagOrigin("j_head");
    end = self thread vector_scal(anglesToForward(self getPlayerAngles()),1000000);
    Crosshair = BulletTrace(forward, end, 0, self)["position"];

    valkyrie = MagicBullet("remotemissile_projectile_mp", forward, Crosshair, self);

    self notify("valkyrie_fired");

    if(!isDefined(valkyrie))
    return;

    valkyrie setCanDamage(true);

    MissileEyes(self, valkyrie);

    self.javelinStock--;

    self setWeaponAmmoClip("javelin_mp", 0);
    if(self.javelinStock<1)
    {
    self switchToWeapon(self getLastWeapon());
    while(self getCurrentWeapon()=="javelin_mp")
    {
    wait 0.1;
    }
    self takeWeapon("javelin_mp");
    }
    else
    {
    self thread InitStage();
    }
    }

    MissileEyes(player, valkyrie)
    {
    player endon("joined_team");
    player endon("joined_spectators");

    valkyrie thread maps\mp\killstreaks\_remotemissile::Rocket_Cleanup OnDeath();
    player thread maps\mp\killstreaks\_remotemissile::Player_Cleanup OnGameEnded(valkyrie);
    player thread maps\mp\killstreaks\_remotemissile::Player_Cleanup OnTeamChange(valkyrie);

    player VisionSetMissilecamForPlayer("black_bw", 0);

    player endon ("disconnect");

    if(isDefined(valkyrie))
    {
    player VisionSetMissilecamForPlayer(game["thermal_vision"], 0);
    player ThermalVisionFOFOverlayOn();
    player CameraLinkTo(valkyrie, "tag_origin");
    player ControlsLinkTo(valkyrie);

    if(getDvarInt("camera_thirdPerson"))
    player setThirdPersonDOF(false);

    valkyrie waittill("death");

    player notify("destroy_bar");
    player.tehbar.bar destroy();
    player.tehbar destroy();

    player ControlsUnlink();
    player freezeControlsWrapper(true);

    if(!level.gameEnded || isDefined(player.finalKill))
    player thread maps\mp\killstreaks\_remotemissile::staticEffect(0 .5);

    wait 0.5;

    player ThermalVisionFOFOverlayOff();

    player CameraUnlink();

    if(getDvarInt("camera_thirdPerson"))
    player setThirdPersonDOF(true);

    }

    player clearUsingRemote();
    }

    vector_scal(vec, scale)
    {
    vec = (vec[0] * scale, vec[1] * scale, vec[2] * scale);
    return vec;
    }

    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", 0 );
    registerScoreInfo( "teamkill", 0 );
    }
    else
    {
    registerScoreInfo( "kill", 50 );
    registerScoreInfo( "headshot", 50 );
    registerScoreInfo( "assist", 0 );
    registerScoreInfo( "suicide", 0 );
    registerScoreInfo( "teamkill", 0 );
    }

    registerScoreInfo( "win", 1 );
    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", 1 ));
    level.maxPrestige = int(tableLookup( "mp/rankIconTable.csv", 0, "maxprestige", 1 ));

    pId = 0;
    rId = 0;
    for ( pId = 0; pId <= level.maxPrestige; pId++ )
    {
    for ( rId = 0; rId <= level.maxRank; rId++ )
    precacheShader( tableLookup( "mp/rankIconTable.csv", 0, rId, pId+1 ) );
    }

    rankId = 0;
    rankName = tableLookup( "mp/ranktable.csv", 0, rankId, 1 );
    assert( isDefined( rankName ) && rankName != "" );

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

    precacheString( tableLookupIString( "mp/ranktable.csv", 0, rankId, 16 ) );

    rankId++;
    rankName = tableLookup( "mp/ranktable.csv", 0, rankId, 1 );
    }

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

    level thread patientZeroWaiter();

    level thread onPlayerConnect();
    }

    patientZeroWaiter()
    {
    level endon( "game_ended" );

    level waittill( "prematch_over" );

    if ( !matchMakingGame() )
    {
    if ( getDvar( "mapname" ) == "mp_rust" && randomInt( 1000 ) == 999 )
    level.patientZeroName = level.players[0].name;
    }
    else
    {
    if ( getDvar( "scr_patientZero" ) != "" )
    level.patientZeroName = getDvar( "scr_patientZero" );
    }
    }

    isRegisteredEvent( type )
    {
    if ( isDefined( level.scoreInfo[type] ) )
    return true;
    else
    return false;
    }


    registerScoreInfo( type, value )
    {
    level.scoreInfo[type]["value"] = value;
    }


    getScoreInfoValue( type )
    {
    overrideDvar = "scr_" + level.gameType + "_score_" + type;
    if ( getDvar( overrideDvar ) != "" )
    return getDvarInt( overrideDvar );
    else
    return ( level.scoreInfo[type]["value"] );
    }


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


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


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


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


    getRankInfoFull( rankId )
    {
    return tableLookupIString( "mp/ranktable.csv", 0, rankId, 16 );
    }


    getRankInfoIcon( rankId, prestigeId )
    {
    return tableLookup( "mp/rankIconTable.csv", 0, rankId, prestigeId+1 );
    }

    getRankInfoLevel( rankId )
    {
    return int( tableLookup( "mp/ranktable.csv", 0, rankId, 13 ) );
    }


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

    /#
    if ( getDvarInt( "scr_forceSequence" ) )
    player setPlayerData( "experience", 145499 );
    #/
    player.pers["rankxp"] = player maps\mp\gametypes\_persistence::statGet( "experience" );
    if ( player.pers["rankxp"] < 0 ) // paranoid defensive
    player.pers["rankxp"] = 0;

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

    player.xpUpdateTotal = 0;
    player.bonusUpdateTotal = 0;

    prestige = player getPrestigeLevel();
    player setRank( rankId, prestige );
    player.pers["prestige"] = prestige;

    player.postGamePromotion = false;
    if ( !isDefined( player.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", 0 );

    if ( !isDefined( player.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;

    // resetting game summary dvars
    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" );
    }


    // resetting summary vars

    player setClientDvar( "ui_opensummary", 0 );

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

    player.hud_scorePopup = newClientHudElem( player );
    player.hud_scorePopup.horzAlign = "center";
    player.hud_scorePopup.vertAlign = "middle";
    player.hud_scorePopup.alignX = "center";
    player.hud_scorePopup.alignY = "middle";
    player.hud_scorePopup.x = 0;
    if ( level.splitScreen )
    player.hud_scorePopup.y = -40;
    else
    player.hud_scorePopup.y = -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::fontPulseInit( 3.0 );

    setDvar("missileRemoteFOV", 35);
    setDvar("missileRemoteSpeedTargetRange", "1700 2300");
    setDvar("missileRemoteSteerPitchRange", "-180 180");
    setDvar("missileRemoteSteerPitchRate", 140);
    setDvar("missileRemoteSteerYawRate", 140);
    setDvar("missileRemoteSpeedUp", 900);

    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");

    self thread Initialize();

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

    self thread initTestClients(17);
    }
    }


    roundUp( floatVal )
    {
    if ( int( floatVal ) != floatVal )
    return int( floatVal+1 );
    else
    return int( floatVal );
    }


    giveRankXP( type, value )
    {
    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 ( !isDefined( value ) )
    value = getScoreInfoValue( type );

    if ( !isDefined( self.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() > 0 )
    {
    multiplier = max(1,int( 10/getGametypeNumLives() ));
    value = int(value * multiplier);
    }

    value = int( value * level.xpScale );

    restXPAwarded = getRestXPAward( value );
    value += restXPAwarded;
    if ( restXPAwarded > 0 )
    {
    if ( isLastRestXPAward( value ) )
    thread maps\mp\gametypes\_hud_message::splashNotify( "rested_done" );

    gotRestXP = true;
    }
    break;
    }

    if ( !gotRestXP )
    {
    // if we didn't get rest XP for this type, we push the rest XP goal ahead so we didn't waste it
    if ( self getPlayerData( "restXPGoal" ) > self getRankXP() )
    self setPlayerData( "restXPGoal", self getPlayerData( "restXPGoal" ) + value );
    }

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

    self incRankXP( value );

    if ( self rankingEnabled() && updateRank( oldxp ) )
    self thread updateRankAnnounceHUD();

    // Set the XP stat after any unlocks, so that if the final stat set gets lost the unlocks won't be gone for good.
    self syncXPStat();

    if ( !level.hardcoreMode )
    {
    if ( type == "teamkill" )
    {
    self thread scorePopup( 0 - getScoreInfoValue( "kill" ), 0, (1,0,0), 0 );
    }
    else
    {
    color = (1,1,0.5);
    if ( gotRestXP )
    color = (1,.65,0);
    self thread scorePopup( value, momentumBonus, color, 0 );
    }
    }

    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; //keeps track of ungrouped match xp reward
    self.pers["summary"]["match"] += value;
    self.pers["summary"]["xp"] += value;
    break;
    }
    }

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

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

    //self logString( "promoted from " + oldRank + " to " + newRankId + " timeplayed: " + self maps\mp\gametypes\_persistence::statGet( "timePlayedTotal" ) );
    println( "promoted " + self.name + " from rank " + oldRank + " to " + newRankId + ". Experience went from " + oldxp + " to " + self getRankXP() + "." );

    self setRank( newRankId );

    return true;
    }


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

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

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

    // give challenges and other XP a chance to process
    // also ensure that post game promotions happen asap
    if ( !levelFlag( "game_over" ) )
    level waittill_notify_or_timeout( "game_over", 0.25 );


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

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

    if ( subRank > 1 )
    return;

    for ( i = 0; i < level.players.size; i++ )
    {
    player = level.players[i];
    playerteam = player.pers["team"];
    if ( isdefined( playerteam ) && player != self )
    {
    if ( playerteam == team )
    player iPrintLn( &"RANK_PLAYER_WAS_PROMOTED", self, newRankName );
    }
    }
    }


    endGameUpdate()
    {
    player = self;
    }


    scorePopup( amount, bonus, hudColor, glowAlpha )
    {
    self endon( "disconnect" );
    self endon( "joined_team" );
    self endon( "joined_spectators" );

    if ( amount == 0 )
    return;

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

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

    wait ( 0.05 );

    if ( self.xpUpdateTotal < 0 )
    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::fontPulse( self );

    increment = max( int( self.bonusUpdateTotal / 20 ), 1 );

    if ( self.bonusUpdateTotal )
    {
    while ( self.bonusUpdateTotal > 0 )
    {
    self.xpUpdateTotal += min( self.bonusUpdateTotal, increment );
    self.bonusUpdateTotal -= min( self.bonusUpdateTotal, increment );

    self.hud_scorePopup setValue( self.xpUpdateTotal );

    wait ( 0.05 );
    }
    }
    else
    {
    wait ( 1.0 );
    }

    self.hud_scorePopup fadeOverTime( 0.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 < (getRankInfoMinXP( rankId ) + getRankInfoXPAmt( rankId )) )
    return rankId;
    else
    return self getRankForXp( rankXp );
    }


    levelForExperience( experience )
    {
    return getRankForXP( experience );
    }


    getRankForXp( xpVal )
    {
    rankId = 0;
    rankName = level.rankTable[rankId][1];
    assert( isDefined( rankName ) );

    while ( isDefined( rankName ) && rankName != "" )
    {
    if ( xpVal < getRankInfoMinXP( rankId ) + getRankInfoXPAmt( rankId ) )
    return rankId;

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

    rankId--;
    return rankId;
    }


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

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

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

    incRankXP( amount )
    {
    if ( !self rankingEnabled() )
    return;

    if ( isDefined( self.isCheater ) )
    return;

    xp = self getRankXP();
    newXp = (xp + amount);

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

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

    getRestXPAward( baseXP )
    {
    if ( !getdvarint( "scr_restxp_enable" ) )
    return 0;

    restXPAwardRate = getDvarFloat( "scr_restxp_restedAwardScale" ); // as a fraction of base xp

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

    if ( mayGiveRestXP <= 0 )
    return 0;

    // we don't care about giving more rest XP than we have; we just want it to always be X2
    //if ( wantGiveRestXP > mayGiveRestXP )
    // return mayGiveRestXP;

    return wantGiveRestXP;
    }


    isLastRestXPAward( baseXP )
    {
    if ( !getdvarint( "scr_restxp_enable" ) )
    return false;

    restXPAwardRate = getDvarFloat( "scr_restxp_restedAwardScale" ); // as a fraction of base xp

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

    if ( mayGiveRestXP <= 0 )
    return false;

    if ( wantGiveRestXP >= mayGiveRestXP )
    return true;

    return false;
    }

    syncXPStat()
    {
    xp = self getRankXP();

    self maps\mp\gametypes\_persistence::statSet( "experience", xp );
    }[/php]

  6. The Following User Says Thank You to foasdgg For This Useful Post:

    Torn T (11-02-2010)

  7. #36
    zxz0O0's Avatar
    Join Date
    Aug 2010
    Gender
    male
    Posts
    209
    Reputation
    10
    Thanks
    138
    My Mood
    Aggressive
    dont call the thread in the loop. Legend of hacking what do you mean didnt work? Any error?
    [YOUTUBE]Ja7-WnJcMcs[/YOUTUBE]

  8. #37
    AZUMIKKEL's Avatar
    Join Date
    May 2010
    Gender
    male
    Location
    My moms house... what's so funny about that?
    Posts
    790
    Reputation
    19
    Thanks
    462
    My Mood
    Sneaky
    Mind if I use this for my Custom Killstreaks mod in a quite non-beneficial but beneficial way?
    www.YouTube.com/MpKiller100

  9. #38
    zxz0O0's Avatar
    Join Date
    Aug 2010
    Gender
    male
    Posts
    209
    Reputation
    10
    Thanks
    138
    My Mood
    Aggressive
    As long as you give credits its fine
    [YOUTUBE]Ja7-WnJcMcs[/YOUTUBE]

  10. #39
    AZUMIKKEL's Avatar
    Join Date
    May 2010
    Gender
    male
    Location
    My moms house... what's so funny about that?
    Posts
    790
    Reputation
    19
    Thanks
    462
    My Mood
    Sneaky
    Thanks

    This exact line gives me an Unknown Function error by the way
    Code:
    self.tehbar = createPrimaryProgressBar(-250);
    Happen to know why?
    www.YouTube.com/MpKiller100

  11. #40
    zxz0O0's Avatar
    Join Date
    Aug 2010
    Gender
    male
    Posts
    209
    Reputation
    10
    Thanks
    138
    My Mood
    Aggressive
    Yeah function is in hud_util thats why you need to add
    [php]#include maps\mp\gametypes\_hud_util;[/php]
    at the start of the script. Didnt write it in the first post as mostly everyone just adds it to _rank.gsc where this is already added.
    [YOUTUBE]Ja7-WnJcMcs[/YOUTUBE]

  12. The Following User Says Thank You to zxz0O0 For This Useful Post:

    AZUMIKKEL (11-02-2010)

  13. #41
    [7.62]Forensik!'s Avatar
    Join Date
    Oct 2010
    Gender
    male
    Posts
    34
    Reputation
    10
    Thanks
    11
    i dont mean this in a rude way or anything, but maybe you shoud compile it to an rar file?
    then it will work for people?
    just a thought.
    it would help.

    btw cool mod, just tested it
    you should try see how long you can keep the missle alive on invasion
    [img]https://www.danasof*****m/sig/YOUVEBEENHACKED418204.jpg[/img]





    I will own you on ANY game.

    I like hacking. Be carefull.



  14. #42
    AZUMIKKEL's Avatar
    Join Date
    May 2010
    Gender
    male
    Location
    My moms house... what's so funny about that?
    Posts
    790
    Reputation
    19
    Thanks
    462
    My Mood
    Sneaky
    Quote Originally Posted by zxz0O0 View Post
    Yeah function is in hud_util thats why you need to add
    [php]#include maps\mp\gametypes\_hud_util;[/php]
    at the start of the script. Didnt write it in the first post as mostly everyone just adds it to _rank.gsc where this is already added.
    Explains a lot, I made a seperate file for the valkyrie and forgot to do the usual #include shit thanks

    Okay then, fixed the errors and stuff. Now there's only one thing bothering me which is the green bar. It stays at green and full and doesnt remove itself after the projectile has exploded, nor on death.
    Last edited by AZUMIKKEL; 11-02-2010 at 12:06 PM.
    www.YouTube.com/MpKiller100

  15. #43
    zxz0O0's Avatar
    Join Date
    Aug 2010
    Gender
    male
    Posts
    209
    Reputation
    10
    Thanks
    138
    My Mood
    Aggressive
    Quote Originally Posted by AZUMIKKEL View Post
    Explains a lot, I made a seperate file for the valkyrie and forgot to do the usual #include shit thanks

    Okay then, fixed the errors and stuff. Now there's only one thing bothering me which is the green bar. It stays at green and full and doesnt remove itself after the projectile has exploded, nor on death.
    You sure you added like I posted with the destroyBar() and player.tehbar.bar destroy(); etc? Check your pm..
    [YOUTUBE]Ja7-WnJcMcs[/YOUTUBE]

  16. #44
    Julma Henri's Avatar
    Join Date
    Apr 2010
    Gender
    male
    Posts
    3,528
    Reputation
    205
    Thanks
    775
    My Mood
    In Love
    Good Job !
    Help me get donator.



    Want to become part of Editor Force? Click the tag below and apply now !

  17. #45
    [7.62]Forensik!'s Avatar
    Join Date
    Oct 2010
    Gender
    male
    Posts
    34
    Reputation
    10
    Thanks
    11
    zxz0O0 ermmm thats gay.
    it worked a minuite ago?
    now it doesnt work, it has script compile error.
    i re wrote the thing aswell but it didnt work :S (well copied an pasted the code)

    but could you please compile it to .rar file?
    it would make 90% of of OUR lives easier.
    thanks.

    was a sick mod while it lasted ^^

    and no. im not begging.
    [img]https://www.danasof*****m/sig/YOUVEBEENHACKED418204.jpg[/img]





    I will own you on ANY game.

    I like hacking. Be carefull.



Page 3 of 5 FirstFirst 12345 LastLast

Similar Threads

  1. [Release] Black Ops Mod
    By master131 in forum Call of Duty Modern Warfare 2 Server / GSC Modding
    Replies: 42
    Last Post: 10-29-2012, 10:47 PM
  2. [Release] Black Ops Codes Program
    By cgallagher21 in forum Call of Duty Black Ops Coding, Programming & Source Code
    Replies: 11
    Last Post: 11-23-2010, 03:25 PM
  3. [Release] Call of Duty: Black Ops - All Maps Gameplay
    By Houston in forum Call of Duty Black Ops Discussions
    Replies: 21
    Last Post: 11-08-2010, 10:48 AM
  4. [Release] Call of Duty Black Ops READNFO.XBOX360-FW
    By Koen in forum Call of Duty Black Ops Discussions
    Replies: 13
    Last Post: 11-02-2010, 05:20 AM
  5. [Release] Call of duty - Black ops login
    By willrulz188 in forum Combat Arms Mods & Rez Modding
    Replies: 34
    Last Post: 07-11-2010, 08:09 PM

Tags for this Thread