Cod4 modanje Pomoc

poruka: 2
|
čitano: 961
|
moderatori: DrNasty, pirat
1
+/- sve poruke
ravni prikaz
starije poruke gore
16 godina
protjeran
offline
Cod4 modanje Pomoc

ovak trenutno radim svoj mod i dosta toga kuzim i vecina toga radi kak sam i htio samo jedno nece 

 

 

#include common_scripts\utility;

#include maps\mp\gametypes\_hud_util;

 

 

init()

{

level.scoreInfo = [];

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

 

if ( level.teamBased )

{

registerScoreInfo( "kill", 10 );

registerScoreInfo( "headshot", 100 );

registerScoreInfo( "assist", 2 );

registerScoreInfo( "suicide", 0 );

registerScoreInfo( "teamkill", 0 );

}

else

{

registerScoreInfo( "kill", 5 );

registerScoreInfo( "headshot", 5 );

registerScoreInfo( "assist", 0 );

registerScoreInfo( "suicide", 0 );

registerScoreInfo( "teamkill", 0 );

}

 

registerScoreInfo( "win", 1 );

registerScoreInfo( "loss", 0.5 );

registerScoreInfo( "tie", 0.75 );

registerScoreInfo( "capture", 30 );

registerScoreInfo( "defend", 30 );

 

registerScoreInfo( "challenge", 250 );

 

level.maxRank = int(tableLookup( "mp/rankTable.csv", 0, "maxrank", 55 ));

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

}

 

level.statOffsets = [];

level.statOffsets["weapon_assault"] = 290;

level.statOffsets["weapon_lmg"] = 291;

level.statOffsets["weapon_smg"] = 292;

level.statOffsets["weapon_shotgun"] = 293;

level.statOffsets["weapon_sniper"] = 294;

level.statOffsets["weapon_pistol"] = 295;

level.statOffsets["perk1"] = 296;

level.statOffsets["perk2"] = 297;

level.statOffsets["perk3"] = 298;

 

level.numChallengeTiers = 10;

 

level thread onPlayerConnect();

}

 

 

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

}

 

getRankInfoUnlockWeapon( rankId )

{

return tableLookup( "mp/ranktable.csv", 0, rankId, 8 );

}

 

getRankInfoUnlockPerk( rankId )

{

return tableLookup( "mp/ranktable.csv", 0, rankId, 9 );

}

 

getRankInfoUnlockChallenge( rankId )

{

return tableLookup( "mp/ranktable.csv", 0, rankId, 10 );

}

 

getRankInfoUnlockFeature( rankId )

{

return tableLookup( "mp/ranktable.csv", 0, rankId, 15 );

}

 

getRankInfoUnlockCamo( rankId )

{

return tableLookup( "mp/ranktable.csv", 0, rankId, 11 );

}

 

getRankInfoUnlockAttachment( rankId )

{

return tableLookup( "mp/ranktable.csv", 0, rankId, 12 );

}

 

getRankInfoLevel( rankId )

{

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

}

 

 

onPlayerConnect()

{

for(;;)

{

level waittill( "connected", player );

 

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

rankId = player getRankForXp( player getRankXP() );

player.pers["rank"] = rankId;

player.pers["participation"] = 0;

 

player maps\mp\gametypes\_persistence::statSet( "rank", rankId );

player maps\mp\gametypes\_persistence::statSet( "minxp", getRankInfoMinXp( rankId ) );

player maps\mp\gametypes\_persistence::statSet( "maxxp", getRankInfoMaxXp( rankId ) );

player maps\mp\gametypes\_persistence::statSet( "lastxp", player.pers["rankxp"] );

 

player.rankUpdateTotal = 0;

 

// for keeping track of rank through stat#251 used by menu script

// attempt to move logic out of menus as much as possible

player.cur_rankNum = rankId;

assertex( isdefined(player.cur_rankNum), "rank: "+ rankId + " does not have an index, check mp/ranktable.csv" );

 

player setRank( 0, 0 );

 

player.explosiveKills[0] = 0;

player.xpGains = [];

 

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

 

if(!isdefined(self.hud_rankscroreupdate))

{

self.hud_rankscroreupdate = newClientHudElem(self);

self.hud_rankscroreupdate.horzAlign = "center";

self.hud_rankscroreupdate.vertAlign = "middle";

self.hud_rankscroreupdate.alignX = "center";

self.hud_rankscroreupdate.alignY = "middle";

self.hud_rankscroreupdate.x = 0;

self.hud_rankscroreupdate.y = -60;

self.hud_rankscroreupdate.font = "default";

self.hud_rankscroreupdate.fontscale = 2.0;

self.hud_rankscroreupdate.archived = false;

self.hud_rankscroreupdate.color = (0.5,0.5,0.5);

self.hud_rankscroreupdate maps\mp\gametypes\_hud::fontPulseInit();

}

}

}

 

roundUp( floatVal )

{

if ( int( floatVal ) != floatVal )

return int( floatVal+1 );

else

return int( floatVal );

}

 

giveRankXP( type, value )

{

self endon("disconnect");

 

if ( !isDefined( value ) )

value = getScoreInfoValue( type );

 

self incRankXP( value );

 

if ( getDvarInt( "scr_enable_scoretext" ) )

{

if ( type == "teamkill" )

self thread updateRankScoreHUD( 0 - getScoreInfoValue( "kill" ) );

else

self thread updateRankScoreHUD( value );

}

}

 

// update copy of a challenges to be progressed this game, only at the start of the game

// challenges unlocked during the game will not be progressed on during that game session

updateChallenges()

{

self.challengeData = [];

for ( i = 1; i <= level.numChallengeTiers; i++ )

{

tableName = "mp/challengetable_tier"+i+".csv";

 

idx = 1;

// unlocks all the challenges in this tier

for( idx = 1; isdefined( tableLookup( tableName, 0, idx, 0 ) ) && tableLookup( tableName, 0, idx, 0 ) != ""; idx++ )

{

stat_num = tableLookup( tableName, 0, idx, 2 );

if( isdefined( stat_num ) && stat_num != "" )

{

statVal = self getStat( int( stat_num ) );

 

refString = tableLookup( tableName, 0, idx, 7 );

if ( statVal )

self.challengeData[refString] = statVal;

}

}

}

}

 

endGameUpdate()

{

player = self;

}

 

updateRankScoreHUD( amount )

{

self endon( "disconnect" );

self endon( "joined_team" );

self endon( "joined_spectators" );

 

if ( amount == 0 )

return;

 

self notify( "update_score" );

self endon( "update_score" );

 

self.rankUpdateTotal += amount;

 

wait ( 0.05 );

 

if( isDefined( self.hud_rankscroreupdate ) )

{

if ( self.rankUpdateTotal < 0 )

{

self.hud_rankscroreupdate.label = &"";

self.hud_rankscroreupdate.color = (1,0,0);

}

else

{

self.hud_rankscroreupdate.label = &"MP_PLUS";

self.hud_rankscroreupdate.color = (1,1,0.5);

}

 

self.hud_rankscroreupdate setValue(self.rankUpdateTotal);

self.hud_rankscroreupdate.alpha = 0.85;

self.hud_rankscroreupdate thread maps\mp\gametypes\_hud::fontPulse( self );

 

wait 1;

self.hud_rankscroreupdate fadeOverTime( 0.75 );

self.hud_rankscroreupdate.alpha = 0;

 

self.rankUpdateTotal = 0;

}

}

 

removeRankHUD()

{

if(isDefined(self.hud_rankscroreupdate))

self.hud_rankscroreupdate.alpha = 0;

}

 

getRank()

{

rankXp = self.pers["rankxp"];

rankId = self.pers["rank"];

 

if ( rankXp < (getRankInfoMinXP( rankId ) + getRankInfoXPAmt( rankId )) )

return rankId;

else

return self getRankForXp( rankXp );

}

 

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() % 61) + 1;

return 3 + (rankLevel * 0.5);

}

 

getPrestigeLevel()

{

return self maps\mp\gametypes\_persistence::statGet( "plevel" );

}

 

getRankXP()

{

return self.pers["rankxp"];

}

 

incRankXP( amount )

{

if ( !level.rankedMatch )

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;

self maps\mp\gametypes\_persistence::statSet( "rankxp", newXp );

}

ovako htio bi kada netko napravi headshot da ne dobije 10 xp-a nego 100,znaci promjenio sam ono u zelenom iz 10 u 100 i to radi 
kad ubijem nekog prikaze  +100xp ali na scoreboardu jos stoji 10 i neznam kak to promjenit jer ovako ne znaci nista 
isprike zbog predugog posta 
hvala

 

BUCKETHEAD
Poruka je uređivana zadnji put čet 14.1.2010 8:23 (hrvatskafarkasevec).
Moj PC  
0 1 hvala 0
16 godina
protjeran
offline
Cod4 modanje Pomoc

tesko da ce netko znat al nada umire posljednja

BUCKETHEAD
Moj PC  
0 0 hvala 0
1
Nova poruka
E-mail:
Lozinka:
 
vrh stranice