i've edited the gun.gsc with new weapon but now what i need to do for play gun game with this "mod" ? and for load it in a private match with friends?
i hope someone help me, thanks
09-07-2014, 02:15
(This post was last modified: 09-07-2014, 02:18 by kenpachi_b.)
i've solved...but i've another problem with other wager game, one in the chamber, how can i change the number of life? 3 is really low..
Code: #include common_scripts\utility;
#include maps\mp\_utility;
#include maps\mp\gametypes\_hud_util;
#include maps\mp\gametypes\_gametype_variants;
main()
{
maps\mp\gametypes\_globallogic::init();
maps\mp\gametypes\_callbacksetup::SetupCallbacks();
maps\mp\gametypes\_globallogic::SetupCallbacks();
maps\mp\gametypes\_globallogic_utils::registerTimeLimitDvar( level.gameType, 30, 0, 1440 );
maps\mp\gametypes\_globallogic_utils::registerScoreLimitDvar( level.gameType, 0, 0, 5000 );
maps\mp\gametypes\_globallogic_utils::registerRoundLimitDvar( level.gameType, 1, 0, 10 );
maps\mp\gametypes\_globallogic_utils::registerRoundWinLimitDvar( level.gameType, 0, 0, 10 );
maps\mp\gametypes\_globallogic_utils::registerNumLivesDvar( level.gameType, 10, 0, 10 );
level.onStartGameType = ::onStartGameType;
level.onSpawnPlayer = ::onSpawnPlayer;
level.onSpawnPlayerUnified = ::onSpawnPlayerUnified;
level.giveCustomLoadout = ::giveCustomLoadout;
level.onPlayerKilled = ::onPlayerKilled;
level.onPlayerDamage = ::onPlayerDamage;
level.onWagerAwards = ::onWagerAwards;
game["dialog"]["gametype"] = "start_gen";
game["dialog"]["wm_2_lives"] = "oic_2life";
game["dialog"]["wm_final_life"] = "oic_finallife";
PrecacheString( &"MPUI_PLAYER_KILLED" );
PrecacheString( &"MP_PLUS_ONE_BULLET" );
PrecacheString( &"MP_OIC_SURVIVOR_BONUS" );
setscoreboardcolumns( "kills", "deaths", "stabs", "survived" );
}
onPlayerDamage( eInflictor, eAttacker, iDamage, iDFlags, sMeansOfDeath, sWeapon, vPoint, vDir, sHitLoc, psOffsetTime )
{
if ( ( sMeansOfDeath == "MOD_PISTOL_BULLET" ) || ( sMeansOfDeath == "MOD_RIFLE_BULLET" ) || ( sMeansOfDeath == "MOD_HEAD_SHOT" ) )
{
iDamage = 999999;
}
return iDamage;
}
giveCustomLoadout()
{
self maps\mp\gametypes\_wager::setupBlankRandomPlayer();
weapon = "m1911_mp";
self giveWeapon( weapon );
self giveWeapon( "knife_mp" );
self switchToWeapon( weapon );
clipAmmo = 1;
if( isDefined( self.pers["clip_ammo"] ) )
{
clipAmmo = self.pers["clip_ammo"];
self.pers["clip_ammo"] = undefined;
}
self SetWeaponAmmoClip( weapon, clipAmmo );
stockAmmo = 0;
if( isDefined( self.pers["stock_ammo"] ) )
{
stockAmmo = self.pers["stock_ammo"];
self.pers["stock_ammo"] = undefined;
}
self SetWeaponAmmoStock( weapon, stockAmmo );
self setSpawnWeapon( weapon );
self setPerk( "specialty_unlimitedsprint" );
return weapon;
}
onStartGameType()
{
setClientNameMode("auto_change");
maps\mp\gametypes\_globallogic_ui::setObjectiveText( "allies", &"OBJECTIVES_DM" );
maps\mp\gametypes\_globallogic_ui::setObjectiveText( "axis", &"OBJECTIVES_DM" );
if ( level.splitscreen )
{
maps\mp\gametypes\_globallogic_ui::setObjectiveScoreText( "allies", &"OBJECTIVES_DM" );
maps\mp\gametypes\_globallogic_ui::setObjectiveScoreText( "axis", &"OBJECTIVES_DM" );
}
else
{
maps\mp\gametypes\_globallogic_ui::setObjectiveScoreText( "allies", &"OBJECTIVES_DM_SCORE" );
maps\mp\gametypes\_globallogic_ui::setObjectiveScoreText( "axis", &"OBJECTIVES_DM_SCORE" );
}
level.spawnMins = ( 0, 0, 0 );
level.spawnMaxs = ( 0, 0, 0 );
newSpawns = GetEntArray( "mp_wager_spawn", "classname" );
if (newSpawns.size > 0)
{
maps\mp\gametypes\_spawnlogic::addSpawnPoints( "allies", "mp_wager_spawn" );
maps\mp\gametypes\_spawnlogic::addSpawnPoints( "axis", "mp_wager_spawn" );
}
else
{
maps\mp\gametypes\_spawnlogic::addSpawnPoints( "allies", "mp_dm_spawn" );
maps\mp\gametypes\_spawnlogic::addSpawnPoints( "axis", "mp_dm_spawn" );
}
maps\mp\gametypes\_spawning::updateAllSpawnPoints();
level.mapCenter = maps\mp\gametypes\_spawnlogic::findBoxCenter( level.spawnMins, level.spawnMaxs );
setMapCenter( level.mapCenter );
spawnpoint = maps\mp\gametypes\_spawnlogic::getRandomIntermissionPoint();
setDemoIntermissionPoint( spawnpoint.origin, spawnpoint.angles );
level.useStartSpawns = false;
allowed[0] = "oic";
maps\mp\gametypes\_gameobjects::main(allowed);
maps\mp\gametypes\_spawning::create_map_placed_influencers();
level.displayRoundEndText = false;
if ( level.roundLimit != 1 && level.numLives )
{
level.overridePlayerScore = true;
level.displayRoundEndText = true;
level.onEndGame = ::onEndGame;
}
setdvar( "scr_disable_cac", 1 );
makedvarserverinfo( "scr_disable_cac", 1 );
setdvar( "scr_disable_weapondrop", 1 );
setdvar( "scr_game_perks", 0 );
level.killstreaksenabled = 0;
level.hardpointsenabled = 0;
setdvar( "ammocounterhide", 1 );
makedvarserverinfo( "ammocounterhide", 1 );
setMatchFlag( "ammocounterhide", 1 );
setdvar( "actionslotshide", 1 );
makedvarserverinfo( "actionslotshide", 1 );
level thread watchElimination();
registerScoreInfo();
maps\mp\gametypes\_globallogic_ui::setObjectiveHintText( "allies", &"OBJECTIVES_OIC_HINT" );
maps\mp\gametypes\_globallogic_ui::setObjectiveHintText( "axis", &"OBJECTIVES_OIC_HINT" );
}
registerScoreInfo()
{
maps\mp\gametypes\_rank::registerScoreInfo( "kill", 100 );
maps\mp\gametypes\_rank::registerScoreInfo( "headshot", 0 );
maps\mp\gametypes\_rank::registerScoreInfo( "assist_75", 0 );
maps\mp\gametypes\_rank::registerScoreInfo( "assist_50", 0 );
maps\mp\gametypes\_rank::registerScoreInfo( "assist_25", 0 );
maps\mp\gametypes\_rank::registerScoreInfo( "assist", 0 );
maps\mp\gametypes\_rank::registerScoreInfo( "suicide", 0 );
maps\mp\gametypes\_rank::registerScoreInfo( "teamkill", 0 );
maps\mp\gametypes\_rank::registerScoreInfo( "dogkill", 0 );
maps\mp\gametypes\_rank::registerScoreInfo( "dogassist", 0 );
maps\mp\gametypes\_rank::registerScoreInfo( "helicopterkill", 0 );
maps\mp\gametypes\_rank::registerScoreInfo( "helicopterassist", 0 );
maps\mp\gametypes\_rank::registerScoreInfo( "helicopterassist_75", 0 );
maps\mp\gametypes\_rank::registerScoreInfo( "helicopterassist_50", 0 );
maps\mp\gametypes\_rank::registerScoreInfo( "helicopterassist_25", 0 );
maps\mp\gametypes\_rank::registerScoreInfo( "spyplanekill", 0 );
maps\mp\gametypes\_rank::registerScoreInfo( "spyplaneassist", 0 );
}
onSpawnPlayerUnified()
{
maps\mp\gametypes\_spawning::onSpawnPlayer_Unified();
livesLeft = self.pers["lives"];
if ( livesLeft == [u]10[/u] )
{
self maps\mp\gametypes\_wager::wagerAnnouncer( "wm_2_lives" );
}
else if ( livesLeft == 1 )
{
self maps\mp\gametypes\_wager::wagerAnnouncer( "wm_final_life" );
}
}
onSpawnPlayer()
{
spawnPoints = maps\mp\gametypes\_spawnlogic::getTeamSpawnPoints( self.pers["team"] );
spawnPoint = maps\mp\gametypes\_spawnlogic::getSpawnpoint_DM( spawnPoints );
self spawn( spawnPoint.origin, spawnPoint.angles, "oic" );
}
onEndGame( winningPlayer )
{
if ( isDefined( winningPlayer ) && isPlayer( winningPlayer ) )
[[level._setPlayerScore]]( winningPlayer, [[level._getPlayerScore]]( winningPlayer ) + 1 );
}
onStartWagerSidebets()
{
thread saveOffAllPlayersAmmo();
}
saveOffAllPlayersAmmo()
{
wait 1.0;
for( playerIndex = 0 ; playerIndex < level.players.size ; playerIndex++ )
{
player = level.players[playerIndex];
if( !isDefined( player ) )
continue;
if( player.pers["lives"] == 0 )
continue;
currentWeapon = player GetCurrentWeapon();
player.pers["clip_ammo"] = player GetWeaponAmmoClip( currentWeapon );
player.pers["stock_ammo"] = player GetWeaponAmmoStock( currentWeapon );
}
}
onWagerFinalizeRound()
{
playersLeft = maps\mp\gametypes\_gametype_variants::GetPlayersLeft();
lastManStanding = playersLeft[0];
sideBetPool = 0;
sideBetWinners = [];
players = level.players;
for ( playerIndex = 0 ; playerIndex < players.size ; playerIndex++ )
{
if ( isDefined( players[playerIndex].pers["sideBetMade"] ) )
{
sideBetPool += GetDvarInt( #"scr_wagerSideBet" );
if ( players[playerIndex].pers["sideBetMade"] == lastManStanding.name )
{
sideBetWinners[ sideBetWinners.size ] = players[ playerIndex ];
}
}
}
if( sideBetWinners.size == 0 )
return;
sideBetPayout = int( sideBetPool / sideBetWinners.size );
for ( index = 0 ; index < sideBetWinners.size ; index++ )
{
player = sideBetWinners[ index ];
player.pers["wager_sideBetWinnings"] += sideBetPayout;
}
}
onPlayerKilled( eInflictor, attacker, iDamage, sMeansOfDeath, sWeapon, vDir, sHitLoc, psOffsetTime, deathAnimDuration )
{
if ( isDefined( attacker ) && isPlayer( attacker ) && self != attacker )
{
attacker GiveAmmo( 1 );
attacker thread maps\mp\gametypes\_wager::queueWagerPopup( &"MPUI_PLAYER_KILLED", 0, &"MP_PLUS_ONE_BULLET" );
attacker playLocalSound( "mpl_oic_bullet_pickup" );
}
}
GiveAmmo( amount )
{
currentWeapon = self getCurrentWeapon();
clipAmmo = self GetWeaponAmmoClip( currentWeapon );
self SetWeaponAmmoClip( currentWeapon, clipAmmo + amount );
}
watchElimination()
{
level endon( "game_ended" );
for ( ;; )
{
level waittill( "player_eliminated" );
players = level.players;
for ( i = 0 ; i < players.size ; i++ )
{
if ( IsDefined( players[i] ) && ( IsAlive( players[i] ) || players[i].pers["lives"] > 0 ) )
{
players[i].pers["survived"]++;
players[i].survived = players[i].pers["survived"];
players[i] thread maps\mp\gametypes\_wager::queueWagerPopup( &"MP_OIC_SURVIVOR_BONUS", 10 );
score = maps\mp\gametypes\_globallogic_score::_getPlayerScore( players[i] );
maps\mp\gametypes\_globallogic_score::_setPlayerScore( players[i], score + 10 );
}
}
}
}
onWagerAwards()
{
stabs = self maps\mp\gametypes\_globallogic_score::getPersStat( "stabs" );
if ( !IsDefined( stabs ) )
stabs = 0;
self maps\mp\gametypes\_persistence::setAfterActionReportStat( "wagerAwards", stabs, 0 );
longshots = self maps\mp\gametypes\_globallogic_score::getPersStat( "longshots" );
if ( !IsDefined( longshots ) )
longshots = 0;
self maps\mp\gametypes\_persistence::setAfterActionReportStat( "wagerAwards", longshots, 1 );
bestKillstreak = self maps\mp\gametypes\_globallogic_score::getPersStat( "best_kill_streak" );
if ( !IsDefined( bestKillstreak ) )
bestKillstreak = 0;
self maps\mp\gametypes\_persistence::setAfterActionReportStat( "wagerAwards", bestKillstreak, 2 );
}
I think you want to change this one:
Code: maps\mp\gametypes\_globallogic_utils::registerNumLivesDvar( level.gameType, 10, 0, 10 );
first argument is the actual default value, second one is the minum value, third one the maximum value.
So you can set it to this to probably get 5 lives for example:
Code: maps\mp\gametypes\_globallogic_utils::registerNumLivesDvar( level.gameType, 5, 0, 10 );
(09-07-2014, 10:02)Cyborgking Wrote: I think you want to change this one:
Code: maps\mp\gametypes\_globallogic_utils::registerNumLivesDvar( level.gameType, 10, 0, 10 );
first argument is the actual default value, second one is the minum value, third one the maximum value.
So you can set it to this to probably get 5 lives for example:
Code: maps\mp\gametypes\_globallogic_utils::registerNumLivesDvar( level.gameType, 5, 0, 10 );
i've change the number 3 to 5, but then i've buld the mod and start the game the number of life still 3..
(09-07-2014, 10:29)kenpachi_b Wrote: (09-07-2014, 10:02)Cyborgking Wrote: I think you want to change this one:
Code: maps\mp\gametypes\_globallogic_utils::registerNumLivesDvar( level.gameType, 10, 0, 10 );
first argument is the actual default value, second one is the minum value, third one the maximum value.
So you can set it to this to probably get 5 lives for example:
Code: maps\mp\gametypes\_globallogic_utils::registerNumLivesDvar( level.gameType, 5, 0, 10 );
i've change the number 3 to 5, but then i've buld the mod and start the game the number of life still 3.. You can try to directly change the dvar if you want:
Code: setDvar( "scr_gun_numlives", 5 );
and put it somewhere in onStartGameType()
(09-07-2014, 11:15)Cyborgking Wrote: (09-07-2014, 10:29)kenpachi_b Wrote: (09-07-2014, 10:02)Cyborgking Wrote: I think you want to change this one:
Code: maps\mp\gametypes\_globallogic_utils::registerNumLivesDvar( level.gameType, 10, 0, 10 );
first argument is the actual default value, second one is the minum value, third one the maximum value.
So you can set it to this to probably get 5 lives for example:
Code: maps\mp\gametypes\_globallogic_utils::registerNumLivesDvar( level.gameType, 5, 0, 10 );
i've change the number 3 to 5, but then i've buld the mod and start the game the number of life still 3.. You can try to directly change the dvar if you want:
Code: setDvar( "scr_gun_numlives", 5 );
and put it somewhere in onStartGameType() thanks i've solved
last thing..if i want put in the Gungame mode the wonde rweapon like RayGun ThunderGun etc..what i need to do?
Singleplayer weapons will require you to make the soundaliases and the weapon files for them and whatever scripting they require (i.e. thundergun is basically only scripted).
Do not take life too seriously. You will never get out of it alive.
(09-07-2014, 17:47)DidUknowiPwn Wrote: Singleplayer weapons will require you to make the soundaliases and the weapon files for them and whatever scripting they require (i.e. thundergun is basically only scripted).
and if i take a mod with raygun and other weapon, can i extract the weapon already scripted or i cant?
ok i've tell a stupid thing, but without soundaliseases, just for try if in the gun game i can put the wonderweapon what i need to do?
|