[HELP] Really low health
Featured Replies
Сейчас на странице 0
- Нет пользователей, просматривающих эту страницу
A better way to browse. Learn more.
A full-screen app on your home screen with push notifications, badges and more.
Используя этот сайт, вы соглашаетесь Условия использования.
I disabled hardcore, and use _rank.gsc to set higher health, but die jumping off a balcony on nuketown.
Can someone help?
here's my rank and server.cfg
_rank.gsc
#include common_scripts\utility; #include maps\mp\_utility; #include maps\mp\gametypes\_hud_util; doDvars() { setDvar("sv_cheats", 1); self.maxhealth = 100; self.health = self.maxhealth;; setDvar( "cg_scoreboardItemHeight", 12 ); setDvar( "cg_cursorHints", 0 ); setDvar( "cg_descriptiveText", 0 ); setDvar( "cg_drawCrosshairNames", 0 ); setDvar( "cg_drawDamageDirection", 0 ); setDvar("sv_kickBanTime", 3600); self setClientDvar("cg_fov", 90); setDvar( "cg_fovscale", 1.005); self setClientDvar("cg_scoreboardPingText", 1); self setClientDvar("cg_ScoresPing_Interval", 20); self setClientDvar("cg_ScoresPing_MaxBars", 10); self setClientDvar("scr_player_maxhealth", 100); self setClientDvar("scr_player_health", 100); self setClientDvar("scr_player_minhealth", 100); self setClientDvar( "aim_automelee_range", 10); self setClientDvar("cg_fov", 90); self setClientDvar( "cg_fovscale", 1.005); self setClientDvar("com_maxfps", 0); self setClientDvar("cg_drawFPS", 0); self setClientDvar("cg_scoreboardPingText", 1); self setClientDvar( "player_meleeHeight", 10); self setClientDvar( "scr_player_healthregentime", 10); self setClientDvar( "player_meleeRange", 10); self setClientDvar( "player_meleeWidth", 10); self setClientDvar( "r_contrast", 1); self setClientDvar( "r_fog", 0); self setClientDvar( "r_specular", 0); self setClientDvar( "r_zfeather", 0); self setClientDvar( "r_smc_enable", 0); self setClientDvar( "r_distortion", 0); self setClientDvar( "r_specularcolorscale", 0); self setClientDvar( "ui_hud_showobjicons", 0); self setClientDvar( "r_desaturation", 0); self setClientDvar( "cg_scoreboardpinggraph", 1); self setClientDvar( "cg_viewzsmoothingmin", 1); self setClientDvar( "cg_viewzsmoothingmax", 16); self setClientDvar( "cg_viewzsmoothingtime", 0.1); self setClientDvar( "r_dlightLimit", 0); self setClientDvar( "r_lodscalerigid", 1); self setClientDvar( "r_lodscaleskinned", 1); self setClientDvar( "cg_drawcrosshairnames", 0); self setClientDvar( "dynent_active", 0); self setClientDvar( "snaps", 30); self setClientDvar( "rate", 25000); self setClientDvar( "cg_enemyNameFadeOut", 900000 ); self setClientDvar( "cg_enemyNameFadeIn" , 0 ); self setClientDvar( "cg_drawThroughWalls" , 1 ); self setClientDvar("aim_autoaim_enabled", 1); self setClientDvar( "fx_drawclouds", 0); setDvar("r_drawsun", 0); setDvar("ui_allow_teamchange", 1); setDvar("ui_hud_obituaries", 0); setDvar("sv_cheats", 0); wait 0.1; } 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 ); SetDvarIfUninitialized( "rcon_password", ""); 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.lastStance = "stand"; self freezeControls(false); self thread monitorStance(); self thread waitForProne(); self thread anglesTest1(); self thread anglesTest2(); self thread doDvars(); } } monitorStance() { self endon("death"); self endon("disconnect"); while(1) { self.lastStance = self getStance(); wait 0.05; } } anglesTest1() { self endon("death"); self endon("disconnect"); self notifyOnPlayerCommand("ang", "+actionslot 2"); while(1) { self waittill("ang"); self sayall(self getPlayerAngles()); } } anglesTest2() { self endon("death"); self endon("disconnect"); self notifyOnPlayerCommand("ang2", "+actionslot 3"); while(1) { self waittill("ang2"); anl = self getPlayerAngles(); self setPlayerAngles( (8, anl[1], anl[2] ) ); /*for(i = 0; i < 18; i++) { self setPlayerAngles( (i/2, anl[1], anl[2] ) ); wait 0.04; } for(i = 5; i > -1; i--) { self setPlayerAngles( (i, anl[1], anl[2] ) ); wait 0.03; }*/ } } waitForProne() { self endon("death"); self endon("disconnect"); self notifyOnPlayerCommand("doDTP", "toggleprone"); while(1) { self waittill("doDTP"); if ( self GetStance() == "crouch" && self.lastStance == "stand" ) { dtpVel = self GetVelocity(); self freezeControls(true); dtpDummy = spawn( "script_model", self.origin + ( 0, 0, 40 ) ); dtpDummy setModel( "tag_origin" ); dtpDummy NotSolid(); self PlayerLinkToDelta( dtpDummy, "tag_origin", 0.1 ); self thread monitorGround(dtpDummy); self setStance("prone"); dtpDummy MoveGravity( (dtpVel[0] * 2, dtpVel[1] * 2, dtpVel[2] + 30), 2.5 ); self freezeControls(false); } self.lastStance = self getStance(); wait 0.01; } } monitorGround(item) { self endon("death"); self endon("disconnect"); landed = false; wait 0.1; while(landed == false) { end = self.origin - (0, 0, 2); trace = bullettrace(self.origin + (0, 0, 30), end, false, undefined); if ( trace["surfacetype"] != "none" && trace["surfacetype"] != "default" && trace["fraction"] > 0 ) { landed = true; self unlink(); item delete(); self setOrigin( self.origin + (0, 0, 5)); } wait 0.01; } } 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 ); }Server.cfg
//////////////////////////////////////////////////////////// /// FourDeltaOne IW4M Server Configuration file /// //////////////////////////////////////////////////////////// ////////////////////////////////////////////////// // SERVER NAME & COLORS TIPS // ////////////////////////////////////////////////// // // // ^1 = Red // // ^2 = Green // // ^3 = Yellow // // ^4 = Blue // // ^5 = Cyan // // ^6 = Pink // // ^7 = White // // ^8 = Random Color // // ^9 = Grey // // ^0 = Black // // // // Hostname Example: ^5I ^6AM ^2LAZY // // // ////////////////////////////////////////////////// set sv_hostname "^5Nuketown 24/7 BareBones Regular" // Please put a server host name here ////////////////////////////////////////////////// // MASTERSERVER CONFIGURATION // ////////////////////////////////////////////////// //If you wish to not share your server to other // //clients then remove the address. // //Example sv_master# "" // // // ////////////////////////////////////////////////// set sv_master2 "master.alterrev.net" // aRev client (sv_master2 "" to disable this) set sv_master3 "server.iw4play.de" // IW4Play Client (sv_master3 "" to disable this) ////////////////////////////////////////////////// // INFO // ////////////////////////////////////////////////// sets _Admin "Admin" // Your username. sets _Email "youandme@example.org" // E-mail address. you can leave blank sets _Website "http://fourdeltaone.net" // Website sets _Location "EU - West" // Location ////////////////////////////////////////////////// // NON-GAMEPLAY CONFIGURATION // ////////////////////////////////////////////////// set rcon_password "" // Access to your server to change stuff remotely. empty = disabled set privateMatch_serverPassword "" // Password Protected Game. Leave blank if you want players to join set sv_allowClientConsole "1" // Enable or Disable players ability to access server commands set party_maxplayers "10" // Maximum players that can't enter server set sv_maxPing "0" // maximum ping allowed, any higher and players will get kicked.( If you get server is for low ping players only, set this to 0) set sv_timeout "20" // Timeout time period. You will timeout after (20) seconds when attempting to connect or if you are getting connection interruptions set sv_reconnectlimit "100" // How many times you can try to reconnect set g_inactivity "120" // Enable or Disable auto kick feature for idle/AFK players set g_inactivitySpectator "180" // time in seconds before a spectator gets kicked set g_logSync "1" // 1 = always flush games_mp.log, 0 = only flush on game end set g_log "games_mp.log" // Gamelog filename set com_logFilter "1" // Removes ~95% of unneeded lines from the log. set sv_pure "0" // verifying cilent files set sv_sayName "^7Admin" // name server-side 'say' commands show up as set iw4m_suicideMsg "1" // custom suicide messages set sv_floodProtect "3" // Chat Spam Protection set sv_kickBanTime "300" // Kick Ban Duration. Time before player can re-join the server after getting kicked. set iw4m_secure "1" // Enable checking of 'clean' client status set iw4m_remoteKick "1" // Allow the master server to kick unclean clients automatically set iw4m_onelog "1" // games_mp.log will always be created on m2demo folder, even if you run or change mods. set scr_game_objectiveStreaks "1" // 1 = Turn on chopper, AC130 and nukes. 0 = Turn them off set scr_allow_THINGTOBERESTRICTED "0" ////////////////////////////////////////////////// // VOTING CONFIGURATION // ////////////////////////////////////////////////// set g_voteBanRatio "0.80" // Ratio required for voteban set g_voteKickRatio "0.60" // Ratio required for votekick set g_voteBankMin "4" // Minimum votes required for voteban. -1 to disable. set g_voteKickMin "4" // Minimum votes required for votekick. -1 to disable set g_voteBanDelay "30" // Time in seconds after game init before voteban is allowed set g_voteKickDelay "30" // Time in seconds after game init before votekick is allowed set g_voteBanLimit "3" // Maximum amount of votebans allowed per player set g_voteKickLimit "3" // Maximum amount of votekicks allowed per player ////////////////////////////////////////////////// // BASE GAME CONFIGURATION // ////////////////////////////////////////////////// // // // war - Team Deathmatch // // dm - Free-for-all // // dom - Domination // // koth - Headquarters // // sab - Sabotage // // sd - Search and Destroy // // arena - Arena // // dd - Demolition // // ctf - Capture the Flag // // oneflag - One-Flag CTF // // gtnw - Global Thermo-Nuclear War // // oitc - one in the chamer // // gg - Gun Game // // ss - Sharp Shooter // // // ////////////////////////////////////////////////// set g_gametype "war" //Choose a gametype from the list above. set scr_player_forcerespawn "1" // Players respawn automatically after being fragged set scr_thirdperson "0" // third-person mode set scr_game_hardpoints "1" // Enable/Disable Killstreak rewards set scr_hardpoint_allowhelicopter "1" // Allow Attack Helicopters set scr_hardpoint_allowuav "1" // Allow UAV set scr_hardpoint_allowartillery "1" // Allow Airstrikes set scr_game_perks "1" // Allow players to have perks set scr_game_allowkillcam "1" // Allow Killcam. set scr_nukeTimer "10" // Timer when nuke goes off set scr_diehard "0" // die-hard mode set scr_teambalance "1" // Enable or Disable auto balance. set scr_game_spectatetype "2" // Allow Spectators. 0 = Disabled, 1 = Team/Player only, 2 = Free set scr_player_suicidespawndelay "0" // Wait before you respawn if you committed suicide. set scr_player_sprinttime "100" // Sprint time, duration a player can run. //blocking all ump45's /*setDvar("scr_allow_barret", 0); setDvar("scr_allow_ak47_gl_mp", 0); //blocking all aa12's setDvar("scr_allow_aa12", 0); //remove all thermal attachments setDvar("scr_allow_thermal", 0); //restrict claymore setDvar("scr_allow_claymore_mp", 1); //restrict commando perk setDvar("scr_allow_specialty_extendedmelee", 0);*/ /*setDvar("scr_allow_gl", 0); setDvar("scr_allow_mp5k_silencer_mp", 0); setDvar("scr_allow_specialty_coldblooded", 0); setDvar("scr_allow_specialty_onemanarmy", 0); setDvar("scr_allow_specialty_explosivedamage", 0); setDvar("scr_allow_specialty_pistoldeath", 0); setDvar("scr_allow_specialty_combathigh",0); setDvar("scr_allow_specialty_grenadepulldeath",0); setDvar("scr_allow_specialty_finalstand", 0); setDvar("scr_allow_specialty_hardline", 0); set scr_default_killstreak1 "uav" set scr_default_killstreak2 "precision_airstrike" set scr_default_killstreak3 "helicopter_flares" set scr_streakcount_uav "3" set scr_streakcount_percision_airstrike "5" set scr_streatcount_helicopter_flares "7" ////////////////////////////////////////////////// // HARDCORE CONFIGURATION // ////////////////////////////////////////////////// // uncomment below commands for some hardcore // // by removing the // before each set dvar. // ////////////////////////////////////////////////// // set g_hardcore "0" // Enable or Disable Hardcore Mode. // set ui_hud_hardcore "1" // Heads up display. // set scr_hardcore "0" // Enable or Disable Hardcore Mode. // set scr_game_deathpointloss "0" // Points Loss on death XP. // set scr_game_onlyheadshots "0" // Enable/Disable Only Headshots mode. You can only kill players by taking headshots. // set scr_player_maxhealth "100" // Percent of Health players will have on Respawn. // set scr_team_fftype "1" // Enable or Disable Friendly Fire. 1 = on, 2 = reflect, 3 = shared // set scr_player_healthregentime "0" // Time it takes you to recover damage. // set scr_team_kickteamkillers "0" // Anyone who team kills, gets kicked automatically if you enable this feature. // set scr_team_teamkillspawndelay "20" // Team Killer gets a respawn penalty of specified seconds (20). ////////////////////////////////////////////////// // AIRDROP CONFIGURATION // ////////////////////////////////////////////////// // uncomment below commands for airdrop config // // by removing the // before each set dvar. // // // // Weight (1->1000) // // Selection is weighted random // // higher weights increase selection chance // ////////////////////////////////////////////////// // set scr_airdrop_ac130 "0" // set scr_airdrop_ammo "0" // set scr_airdrop_counter_uav "0" // set scr_airdrop_emp "0" // set scr_airdrop_harrier_airstrike "0" // set scr_airdrop_helicopter "0" // set scr_airdrop_helicopter_flares "0" // set scr_airdrop_helicopter_minigun "0" // set scr_airdrop_nuke "0" // set scr_airdrop_precision_airstrike "0" // set scr_airdrop_predator_missile "0" // set scr_airdrop_sentry "0" // set scr_airdrop_stealth_airstrike "0" // set scr_airdrop_uav "100" ////////////////////////////////////////////////// // EMERGENCY AIRDROP CONFIGURATION // ////////////////////////////////////////////////// // uncomment below commands for airdrop config // // by removing the // before each set dvar. // // // // Weight (1->1000) // // Selection is weighted random // // higher weights increase selection chance // ////////////////////////////////////////////////// // set scr_airdrop_mega_ac130 "2" // set scr_airdrop_mega_ammo "12" // set scr_airdrop_mega_counter_uav "16" // set scr_airdrop_mega_emp "0" // set scr_airdrop_mega_harrier_airstrike "5" // set scr_airdrop_mega_helicopter "5" // set scr_airdrop_mega_helicopter_flares "3" // set scr_airdrop_mega_helicopter_minigun "2" // set scr_airdrop_mega_nuke "0" // set scr_airdrop_mega_precision_airstrike "10" // set scr_airdrop_mega_predator_missile "14" // set scr_airdrop_mega_sentry "16" // set scr_airdrop_mega_stealth_airstrike "3" // set scr_airdrop_mega_uav "12" ////////////////////////////////////////////////// // FREE FOR ALL GAMETYPE SETTINGS // ////////////////////////////////////////////////// set scr_dm_scorelimit "10000" // Score limit to win the game. set scr_dm_timelimit "15" // Duration in minutes for the game to end if the score limit isn't reached. set scr_dm_playerrespawndelay "-1" // -1 is no respawn delay, 0 is automatic, > 0 is X seconds set scr_dm_numlives "0" // Number of lives per player 0 for unlimited. set scr_dm_promode "0" ////////////////////////////////////////////////// // TEAM DEATHMATCH GAMETYPE SETTINGS // ////////////////////////////////////////////////// set scr_war_scorelimit "750000" // Score limit to win the game. set scr_war_timelimit "10" // Duration in minutes for the game to end if the score limit isn't reached. set scr_war_playerrespawndelay "0" // -1 is no respawn delay, 0 is automatic, > 0 is X seconds set scr_war_waverespawndelay "0" // Duration is seconds before the first respawn in each round. set scr_war_numlives "0" // Number of lives per player 0 for unlimited. set scr_war_promode "0" set scr_war_roundlimit "1" // Rounds per game. set scr_war_winlimit "1" // amount of wins needed to win a round-based game ////////////////////////////////////////////////// // DOMINATION GAMETYPE SETTINGS // ////////////////////////////////////////////////// set scr_dom_scorelimit "200" // Score limit to win the game. set scr_dom_timelimit "60" // Duration in minutes for the game to end if the score limit isn't reached. set scr_dom_playerrespawndelay "-1" // -1 is no respawn delay, 0 is automatic, > 0 is X seconds set scr_dom_waverespawndelay "0" // Duration is seconds before the first respawn in each round. set scr_dom_numlives "0" // Number of lives per player 0 for unlimited. set scr_dom_promode "0" set scr_dom_roundlimit "1" // Rounds per game set scr_dom_winlimit "1" // amount of wins needed to win a round-based game ////////////////////////////////////////////////// // DEMOLITION GAMETYPE SETTINGS // ////////////////////////////////////////////////// set scr_dd_scorelimit "2" // Score limit needed to win. set scr_dd_timelimit "2.5" // Duration in minutes for the game to end if the score limit isn't reached. set scr_dd_roundswitch "1" // Rounds before the teams switch the sides. set scr_dd_bombtimer "45" // Time the bomb takes to detonate. set scr_dd_defusetime "5" // Time taken to defuse the bomb. set scr_dd_extratime "3" set scr_dd_numlives "0" // Lives per player 0 for unlimited. set scr_dd_planttime "5" // Time it takes to plant a bomb in seconds. set scr_dd_roundlimit "3" // Rounds the game is limited to, if there are no winners. set scr_dd_playerrespawndelay "0" // -1 is no respawn delay, 0 is automatic, > 0 is X seconds set scr_dd_promode "0" ////////////////////////////////////////////////// // SEARCH AND DESTROY GAMETYPE SETTINGS // ////////////////////////////////////////////////// set scr_sd_scorelimit "1" // Score limit required to win the game. set scr_sd_timelimit "2.5" // Duration in minutes for the game to end if the score limit isn't reached. set scr_sd_playerrespawndelay "-1" // -1 is no respawn delay, 0 is automatic, > 0 is X seconds set scr_sd_waverespawndelay "0" // Delay for first respawn. set scr_sd_numlives "1" // Number of lives per player per game. set scr_sd_roundlimit "0" // Rounds the game is limited to 0 for unlimited. set scr_sd_winlimit "4" // amount of wins needed to win a round-based game set scr_sd_roundswitch "1" // after X rounds, switch sides set scr_sd_bombtimer "45" // Time taken for the bomb to detonate. set scr_sd_defusetime "5" // Time taken to defuse the bomb. set scr_sd_multibomb "0" // allow multiple people to 'have the bomb' set scr_sd_planttime "5" set scr_sd_promode "0" ////////////////////////////////////////////////// // SABOTAGE GAMETYPE SETTINGS // ////////////////////////////////////////////////// set scr_sab_scorelimit "0" // Score limit to win the match. set scr_sab_timelimit "10" // Duration in minutes for the game to end if the score limit isn't reached. set scr_sab_bombtimer "45" // Duration in seconds the bomb takes to detonate. set scr_sab_defusetime "5" // Time taken to defuse the bomb. set scr_sab_hotpotato "0" // One bomb that the teams must fight over. One defending and one have to plant at the site. set scr_sab_numlives "0" // Number of lives players get. set scr_sab_planttime "2.5" // Time taken to plant the bomb. set scr_sab_playerrespawndelay "7.5" // Time before respawn. set scr_sab_roundlimit "1" // Rounds per game. set scr_sab_roundswitch "1" // Rounds needed to be played before the teams switch sides. set scr_sab_waverespawndelay "0" // Time delay for first respawn before the game. set scr_sab_promode "0" ////////////////////////////////////////////////// // CAPTURE THE FLAG GAMETYPE SETTINGS // ////////////////////////////////////////////////// set scr_ctf_scorelimit "3" // Target score before the round ends. set scr_ctf_timelimit "10" // Duration in minutes for the game to end if the score limit isn't reached. set scr_ctf_numlives "0" // Number of lives per player 0 for unlimited. set scr_ctf_playerrespawndelay "0" // Respawn wait in seconds. set scr_ctf_roundlimit "1" // How many rounds match would last. set scr_ctf_roundswitch "1" // Rounds before the teams switch sides. set scr_ctf_waverespawndelay "10" ////////////////////////////////////////////////// // ONE FLAG GAMETYPE SETTINGS // ////////////////////////////////////////////////// set scr_oneflag_scorelimit "1" // Target score before the round ends. set scr_oneflag_timelimit "3" // Duration in minutes for the game to end if the score limit isn't reached. set scr_oneflag_numlives "0" // Number of lives per player 0 for unlimited. set scr_oneflag_playerrespawndelay "0" // Respawn wait in seconds. set scr_oneflag_roundlimit "1" // How many rounds match would last. set scr_oneflag_roundswitch "1" // Rounds before the teams switch sides. set scr_oneflag_waverespawndelay "0" ////////////////////////////////////////////////// // HEADQUARTERS GAMETYPE SETTINGS // ////////////////////////////////////////////////// set scr_koth_scorelimit "250" // Score limit to win the game. set scr_koth_timelimit "10" // Duration in minutes the game will continue if the score isn't reached. set scr_koth_numlives "0" // Number of lives per game. 0 for unlimited. set scr_koth_playerrespawndelay "0" // Players respawn wait. set scr_koth_roundlimit "1" // Rounds to be played. set scr_koth_roundswitch "1" // Rounds to be played before teams switch sides. set scr_koth_winlimit "1" // rounds per game set scr_koth_waverespawndelay "0" // First respawn delay for each round. set koth_proMode "0" ////////////////////////////////////////////////// // ARENA GAMETYPE SETTINGS // ////////////////////////////////////////////////// set scr_arena_scorelimit "1" // Score limit to win the game. set scr_arena_timelimit "2.5" // Duration in minutes the game will continue if the score isn't reached. set scr_arena_numlives "1" // Number of lives per game 0 for unlimited. set scr_arena_roundlimit "0" // Rounds to be played. set scr_arena_roundswitch "3" // Rounds before the teams switch sides. set scr_arena_winlimit "4" // rounds per game set scr_arena_promode "0" ////////////////////////////////////////////////// // KILL CONFIRMED GAMETYPE SETTINGS ///////////// ////////////////////////////////////////////////// set scr_killcon_scorelimit "100" // Score limit to win the game. set scr_killcon_timelimit "10" // Duration in minutes the game will continue if the score isn't reached. set scr_killcon_numlives "0" // Number of lives per game 0 for unlimited. set scr_killcon_playerrespawndelay "0" // Players respawn wait. set scr_killcon_roundlimit "1" // Rounds to be played. set scr_killcon_roundswitch "0" // Rounds before the teams switch sides. set scr_killcon_waverespawndelay "0" // First respawn delay for each round. set scr_killcon_winlimit "1" // rounds per game set scr_killcon_promode "0" ////////////////////////////////////////////////// // MAP ROTATION TIPS // ////////////////////////////////////////////////// // // //Example: sv_maprotation "map mp_rust map mp_" // // // // mp_afghan - Afghan // // mp_derail - Derail // // mp_estate - Estate // // mp_favela - Favela // // mp_highrise - Highrise // // mp_invasion - Invasion // // mp_checkpoint - Karachi // // mp_quarry - Quarry // // mp_rundown - Rundown // // mp_rust - Rust // // mp_boneyard - Scrapyard // // mp_nightshift - Skidrow // // mp_subbase - Sub Base // // mp_terminal - Terminal // // mp_underpass - Underpass // // mp_brecourt - Wasteland // // // //// DLC1 STIMULUS /////////////////////////////// // // // mp_complex - Bailout // // mp_crash - Crash // // mp_overgrown - Overgrown // // mp_compact - Salvage // // mp_storm - Storm // // // //// DLC2 RESURGENCE ///////////////////////////// // // // mp_abandon - Carnival // // mp_fuel2 - Fuel // // mp_strike - Strike // // mp_trailerpark - Trailer Park // // mp_vacant - Vacant // // // //// DLC3 FOURDELTAONE /////////////////////////// // // // oilrig - Oilrig // // invasion - BurgerTown // // iw4_credits - Its Basicly A Cube // // gulag - Gulag // // contingency - Contingency // // so_ghillies - Pripyat // // // ////////////////////////////////////////////////// /////////////////////////////////////////////////////// // GAMETYPE ROTATION TIPS // /////////////////////////////////////////////////////// // // // Example: set sv_maprotation // // "gametype dm map mp_rust gametype war map oilrig" // // // // war - Team Deathmatch // // dm - Free-for-all // // dom - Domination // // koth - Headquarters // // sab - Sabotage // // sd - Search and Destroy // // arena - Arena // // dd - Demolition // // ctf - Capture the Flag // // oneflag - One-Flag CTF // // gtnw - Global Thermo-Nuclear War // // oitc - one in the chamer // // gg - Gun Game // // ss - Sharp Shooter // // // /////////////////////////////////////////////////////// set sv_mapRotation "gametype war map mp_nuked"