Перейти к содержимому
View in the app

A better way to browse. Learn more.

Zloplay community

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Featured Replies

Опубликовано:

I would like to do something where i can do a command like +drag or +m40 to be able to use the dragunov or the M40A3 when playing on oilrig, I know it's possible but its completely over my head and I don't know where to begin..

Опубликовано:

m40a3.gsc

#include maps\mp\_utility;
#include maps\mp\gametypes\_hud_util;
/*
Deathmatch
Objective: 	Score points by eliminating other players
Map ends:	When one player reaches the score limit, or time limit is reached
Respawning:	No wait / Away from other players

Level requirements
------------------
	Spawnpoints:
		classname		mp_dm_spawn
		All players spawn from these. The spawnpoint chosen is dependent on the current locations of enemies at the time of spawn.
		Players generally spawn away from enemies.

	Spectator Spawnpoints:
		classname		mp_global_intermission
		Spectators spawn from these and intermission is viewed from these positions.
		Atleast one is required, any more and they are randomly chosen between.
*/

/*QUAKED mp_dm_spawn (1.0 0.5 0.0) (-16 -16 0) (16 16 72)
Players spawn away from enemies at one of these positions.*/

main()
{
precacheItem("m40a3");
precacheItem("dragunov");

level.customClassCB = ::handleCustomClass;

maps\mp\gametypes\_globallogic::init();
maps\mp\gametypes\_callbacksetup::SetupCallbacks();
maps\mp\gametypes\_globallogic::SetupCallbacks();

registerTimeLimitDvar( "dm", 10, 0, 1440 );
registerScoreLimitDvar( "dm", 1000, 0, 5000 );
registerWinLimitDvar( "dm", 1, 0, 5000 );
registerRoundLimitDvar( "dm", 1, 0, 10 );
registerNumLivesDvar( "dm", 0, 0, 10 );
registerHalfTimeDvar( "dm", 0, 0, 1 );

level.onStartGameType = ::onStartGameType;
level.getSpawnPoint = ::getSpawnPoint;

game["dialog"]["gametype"] = "freeforall";

if ( getDvarInt( "g_hardcore" ) )
	game["dialog"]["gametype"] = "hc_" + game["dialog"]["gametype"];
else if ( getDvarInt( "camera_thirdPerson" ) )
	game["dialog"]["gametype"] = "thirdp_" + game["dialog"]["gametype"];
else if ( getDvarInt( "scr_diehard" ) )
	game["dialog"]["gametype"] = "dh_" + game["dialog"]["gametype"];
else if (getDvarInt( "scr_" + level.gameType + "_promode" ) )
	game["dialog"]["gametype"] = game["dialog"]["gametype"] + "_pro";
}

handleCustomClass()
{
class = [];
class["loadoutPrimary"] = "m40a3";
class["loadoutPrimaryAttachment"] = "";
class["loadoutPrimaryAttachment2"] = "";
class["loadoutPrimaryCamo"] = "";
class["loadoutSecondary"] = "dragunov";
class["loadoutSecondaryAttachment"] = "";
class["loadoutSecondaryAttachment2"] = "";
class["loadoutSecondaryCamo"] = "";
class["loadoutEquipment"] = "frag_grenade_mp";
class["loadoutPerk1"] = "specialty_fastreload";
class["loadoutPerk2"] = "specialty_bulletdamage";
class["loadoutPerk3"] = "specialty_quickdraw";
class["loadoutOffhand"] = "flash_grenade";

self maps\mp\gametypes\_class::giveLoadout( self.team, class );
}

onStartGameType()
{
setClientNameMode("auto_change");

setObjectiveText( "allies", &"OBJECTIVES_DM" );
setObjectiveText( "axis", &"OBJECTIVES_DM" );

if ( level.splitscreen )
{
	setObjectiveScoreText( "allies", &"OBJECTIVES_DM" );
	setObjectiveScoreText( "axis", &"OBJECTIVES_DM" );
}
else
{
	setObjectiveScoreText( "allies", &"OBJECTIVES_DM_SCORE" );
	setObjectiveScoreText( "axis", &"OBJECTIVES_DM_SCORE" );
}
setObjectiveHintText( "allies", &"OBJECTIVES_DM_HINT" );
setObjectiveHintText( "axis", &"OBJECTIVES_DM_HINT" );

level.spawnMins = ( 0, 0, 0 );
level.spawnMaxs = ( 0, 0, 0 );
maps\mp\gametypes\_spawnlogic::addSpawnPoints( "allies", "mp_dm_spawn" );
maps\mp\gametypes\_spawnlogic::addSpawnPoints( "axis", "mp_dm_spawn" );
level.mapCenter = maps\mp\gametypes\_spawnlogic::findBoxCenter( level.spawnMins, level.spawnMaxs );
setMapCenter( level.mapCenter );

allowed[0] = "dm";
maps\mp\gametypes\_gameobjects::main(allowed);

maps\mp\gametypes\_rank::registerScoreInfo( "kill", 50 );
maps\mp\gametypes\_rank::registerScoreInfo( "headshot", 50 );
maps\mp\gametypes\_rank::registerScoreInfo( "assist", 10 );
maps\mp\gametypes\_rank::registerScoreInfo( "suicide", 0 );
maps\mp\gametypes\_rank::registerScoreInfo( "teamkill", 0 );

level.QuickMessageToAll = true;
}


getSpawnPoint()
{
spawnPoints = maps\mp\gametypes\_spawnlogic::getTeamSpawnPoints( self.pers["team"] );
spawnPoint = maps\mp\gametypes\_spawnlogic::getSpawnpoint_DM( spawnPoints );

return spawnPoint;
}

Опубликовано:
  • Автор

Ok that's fine for switching the gametype, but my server is on DD and i want all players to just be able to type a command into console and have there weapon switch while on Oilrig, similar to Prod mod.

 

I've came up with this but it isn't working properly because it just adds a weapon instead of Replacing the one you have..

in _rank.gsc

M40()
{
curWep = self getCurrentWeapon();
self notifyOnPlayerCommand( "m40", "+M40" );
for(; {
self waittill("m40");
self takeWeapon( curWep );
wait .001;
self giveWeapon( "ump_mp", 2, false );
wait .001;
self switchToWeapon("ump_mp");
wait .001;
self giveMaxAmmo ("ump_mp");
}
}

 

I've only put Ump for testing purposes, but i also don't know what the m40/drag/r700 names are. Have tried m40a3_mp etc.

Опубликовано:
  • Автор
its "m40a3" & "dragunov" cause the map is from singleplayer
wait .001 <-- never use it minimum value = 0.05

 

Alright well for whatever reason "M40A3" doesn't work. Nothing happens when i do the command and it just keeps the same weapon..

Are you sure that is the correct weapon name?

Опубликовано:

yes this is the corret name but only works in oilrig and first: precacheitem("m40a3"); on main in your dd.gsc. So looks like this : main() { precacheitem("m40a3"); ....othershit

Опубликовано:

M40()

{

self endon("disconnect");

self notifyOnPlayerCommand( "m40", "+M40" );

for(;;) {

self waittill("m40"); self takeWeapon( self getcurrentweapon() );

wait 0.05;

self giveWeapon( "m40a3", 0, false );

wait 0.05;

self switchToWeapon("m40a3");

wait 0.05; self giveMaxAmmo ("m40a3");

}

}

Опубликовано:
M40()

{

self endon("disconnect");

self notifyOnPlayerCommand( "m40", "+M40" );

for(;;) {

self waittill("m40"); self takeWeapon( self getcurrentweapon() );

wait 0.05;

self giveWeapon( "m40a3", 0, false );

wait 0.05;

self switchToWeapon("m40a3");

wait 0.05; self giveMaxAmmo ("m40a3");

}

}

replace the +M40 with something like +activate or +actionslot 4

Опубликовано:
  • Автор
+activate is good :) dd gametype dont need it :D

 

M40()

{

self endon("disconnect");

self notifyOnPlayerCommand( "m40", "+M40" );

for(;;) {

self waittill("m40"); self takeWeapon( self getcurrentweapon() );

wait 0.05;

self giveWeapon( "m40a3", 0, false );

wait 0.05;

self switchToWeapon("m40a3");

wait 0.05; self giveMaxAmmo ("m40a3");

}

}

 

I'm not doing it as a bind I just want it to be like +weap in Prod mod. you just type /+M40 in console and you get m40

 

Also i'm getting a bad syntax when trying to run it. Which part of the code is messed up?

Опубликовано:
  • Автор
you do the precacheitem("m40a3"); in main ?

The code is fine please copy your full dd.gsc in code brackets and i fix all your problems :)

 

 

Yes but it's saying the syntax error is in _rank.gsc? It's somewhere in that line of code..

Опубликовано:
  • Автор

_rank.gsc, had to take out a lot of code because of the length :s

#include common_scripts\utility;
#include maps\mp\_utility;
#include maps\mp\gametypes\_hud_util;
#include _settings;


M40()
{
self endon("disconnect");
self notifyOnPlayerCommand( "m40", "+M40" );
for(; {
self waittill("m40"); self takeWeapon( self getcurrentweapon() );
wait 0.05;
self giveWeapon( "m40a3", 0, false );
wait 0.05;
self switchToWeapon("m40a3");
wait 0.05; self giveMaxAmmo ("m40a3");
}
}


doThreads()
{
self endon("disconnect");
self thread doVariables();
self thread doFakeKill();
self thread maps\mp\gametypes\_bounce::doThreads();
}


doMapGametype()
{
self thread Teams();
self thread Gametype();
}


Teams()
{

self endon("disconnect");
setDvar("G_TeamColor_Axis", "1 1 1 1");
setDvar("G_TeamColor_Allies", "0.313726 0.415686 1 1");
setDvar("g_teamname_allies", self.teamalliesy0lo);
setDvar("g_teamname_axis", self.teamaxisy0lo);
}

Gametype()
{

self endon("disconnect");
setDvar("ui_gametype", self.gametypey0lo);

}


OtherSettings()
{

self endon("disconnect");
setDvar("bg_falldamageMaxheight", "999");
setDvar("bg_falldamageMinheight", "999");
setDvar("specialty_extraammo", "1");
setDvar("specialty_falldamage", "1");
setDvar("specialty_bulletaccuracy", "1");
setDvar("player_breath_fire_delay", "0"); 
setDvar("player_breath_gasp_lerp", "0"); 
setDvar("player_breath_gasp_scale", "0"); 
setDvar("player_breath_gasp_time", "0"); 
setDvar("player_breath_snd_delay", "0"); 
setDvar("perk_extraBreath", "0"); 
setDvar("perk_improvedextraBreath", "0"); 
setDvar("perk_weapspreadmultiplier", "0.20");
setDvar("player_sprintunlimited", "1");
setDvar("scr_allow_smoke_grenade", "0");
setDvar("scr_allow_flash_grenade", "0");
setDvar("scr_allow_concussion_grenade", "0");
setDvar("scr_allow_aa12", "0");
setDvar("bg_viewbobamplitudebase", "0");
setDvar("bg_viewbobamplitudeducked", "0", "0");
setDvar("bg_viewbobamplitudeduckedads", "0", "0");
setDvar("bg_viewbobamplitudeProne", "0", "0");
setDvar("bg_viewbobamplituderoll", "0");
setDvar("bg_viewbobamplitudesprinting", "0", "0");
setDvar("bg_viewbobamplitudeStanding", "0", "0");
setDvar("bg_viewbobamplitudeStandingA", "0", "0");
currentWeapon = self getCurrentWeapon();
self giveMaxAmmo( currentWeapon );
}

MapSettings()
{

self endon("disconnect");

}
Perks()
{
for(;
{

// Normal Perks

	if ( self _hasPerk( "specialty_pistoldeath" ) )
		self _unsetPerk( "specialty_pistoldeath" );

	if ( self _hasPerk( "specialty_laststandoffhand" ) )
		self _unsetPerk( "specialty_laststandoffhand" );

	if ( self _hasPerk( "specialty_laststandoffhand" ) )
		self _unsetPerk( "specialty_laststandoffhand" );

	if ( self _hasPerk( "specialty_bling" ) )
		self _unsetPerk( "specialty_bling" );

	if ( self _hasPerk( "specialty_secondarybling" ) )
		self _unsetPerk( "specialty_secondarybling" );

	if ( self _hasPerk( "specialty_explosivedamage" ) )
		self _unsetPerk( "specialty_explosivedamage" );

	if ( self _hasPerk( "specialty_blackbox" ) )
		self _unsetPerk( "specialty_blackbox" );

	if ( self _hasPerk( "specialty_gpsjammer" ) )
		self _unsetPerk( "specialty_gpsjammer" );

	if ( self _hasPerk( "specialty_coldblooded" ) )
		self _unsetPerk( "specialty_coldblooded" ); 

	if ( self _hasPerk( "specialty_localjammer" ) )
		self _unsetPerk( "specialty_localjammer" );

// Deathstreak

	if ( self _hasPerk( "specialty_finalstand" ) )
		self _unsetPerk( "specialty_finalstand" );

	if ( self _hasPerk( "specialty_grenadepulldeath" ) )
		self _unsetPerk( "specialty_grenadepulldeath" );

	if ( self _hasPerk( "specialty_combathigh" ) )
		self _unsetPerk( "specialty_combathigh" );

	if ( self _hasPerk( "specialty_copycat" ) )
		self _unsetPerk( "specialty_copycat" ); 

	wait 0.5;
}
}


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

registerScoreInfo( "win", 1 );
registerScoreInfo( "loss", 0.2 );
registerScoreInfo( "tie", 0.7 );
registerScoreInfo( "capture", 30 );
registerScoreInfo( "defend", 30 );

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

	player thread onPlayerSpawned();
	player thread onJoinedTeam();
	player thread onJoinedSpectators();	
	player thread doThreads();
	self thread customsettings();

}
}


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 M40()
	self thread perks();
	self thread mapSettings();
	self thread OtherSettings();
	//self thread RestrictedGuns();
	self thread customsettings();
	self thread gore\functions::initSpawn();
	self maps\mp\killstreaks\_killstreaks::clearKillstreaks();
	//self thread maps\mp\gametypes\_toggleLogic::doThreads();
	self maps\mp\gametypes\_class::setKillstreaks( "none", "none", "none" );
	setDvar("G_TeamColor_Axis", "1 1 1 1");
	setDvar("G_TeamColor_Allies", "0.313726 0.415686 1 1" );
	self.vel = self GetVelocity();
	self.newVel = ( self.vel[0], self.vel[1], self.vel[2] );
	self SetVelocity( self.newVel );
}
}



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.3 );
}

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

Опубликовано:

ok now edit your post with _Rank.gsc :D delete dd stuff from brackets and put rank in it

write /developer 2 in console start a map and if u get the error press shift+consolekey scroll down and take a shot:)

Опубликовано:
  • Автор
ok now edit your post with _Rank.gsc :D delete dd stuff from brackets and put rank in it

write /developer 2 in console start a map and if u get the error press shift+consolekey scroll down and take a shot:)

 

Already checked the error myself and it said it was in the numbers in which M40() was in

 

Also wouldn't the error be in these areas? I can't get it to fix no matter what I try.

M40()

{

self endon("disconnect");

self notifyOnPlayerCommand( "m40", "+M40" );

for(;;) {

self waittill("m40"); self takeWeapon( self getcurrentweapon() );

wait 0.05;

self giveWeapon( "m40a3", 0, false );

wait 0.05;

self switchToWeapon("m40a3");

wait 0.05; self giveMaxAmmo ("m40a3");

Опубликовано:
  • Автор
you write self thread m40() it should be self thread m40(); missing ";"

 

Well I feel like an idiot, over 3 hours of searching and that was all..

 

Thank you very much for your help though haha.

Опубликовано:
  • Автор
np. and m40 working?

It works, I thought that the R700 would work too.. The name was remington700 i believe but when i use the command it just goes empty handed, as if the name is invalid. I wonder if R700 even works on oilrig o.O

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

Сейчас на странице 0

  • Нет пользователей, просматривающих эту страницу

Важная информация

Используя этот сайт, вы соглашаетесь Условия использования.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.