Ok buddy, I made it for you (took all of 10 seconds): http://www.divshare.com/download/6810244-470
Just plop the two files in your scripts/gameplay folder and type ge_gameplay dmnoarmor and you are set!
If you are really ambitious you can pretty much do ANYTHING with our LUA commands: http://wiki.goldeneyesource.net/index.php/Category:Lua
and learning LUA isn't that hard, and could be rewarding for custom LAN games or simple modifications.
A nice trick, if you want people to START with body armor but not be able to collect it, is to add: PlayerSetArmor(player, GE_MAX_ARMOR); to the PostPlayerSpawn(...) callback.
ex.
function PostPlayerSpawn( player )
PlayerSetArmor(player, GE_MAX_ARMOR);
end
NOTE THIS IS NOT FINAL
from GamePlay import PYBaseGamePlay
import GEEntity, GEPlayer, GEUtil, GEWeapon, GEMPGameRules, GEGlobal
class DeathMatch(PYBaseGamePlay):
def __init__(self):
super(DeathMatch, self).__init__()
def GetIdent(self):
return "DeathMatch"
def GetPrintName(self):
return "#GES_GP_DEATHMATCH_NAME"
def GetHelpString(self):
return "#GES_GP_DEATHMATCH_HELP"
def GetGameDescription(self):
if GEMPGameRules.IsTeamplay():
return "Team Deathmatch"
else:
return "Deathmatch"
def GetTeamPlay(self):
return GEGlobal.TEAMPLAY_TOGGLE
def OnLoadGamePlay(self):
self.CreateCVar("dm_fraglimit", "0", "Enable frag limit for DeathMatch.")
self.LoadConfig()
def PreRoundBegin(self):
GEMPGameRules.SetAllowTeamSpawns( False )
GEMPGameRules.ResetAllPlayersScores()
def OnPlayerKilled(self, victim, killer, weapon):
#what exactly got killed?
if not victim:
return
#death by world
if not killer:
victim.IncrementScore( -1 )
return
if victim.GetId() == killer.GetId():
killer.IncrementScore( -1 )
elif GEMPGameRules.IsTeamplay() and killer.GetTeamNumber() == victim.GetTeamNumber():
killer.IncrementScore( -1 )
else:
# In DM we add TEAM and PLAYER scores on a kill
# We don't care if teamplay is enabled, if its not this will be ignored
team = GEMPGameRules.GetTeam(killer.GetTeamNumber())
team.IncrementScore( 1 )
killer.IncrementScore( 1 )
def OnThink(self):
fragLimit = int(GEUtil.GetCVarValue("dm_fraglimit"))
if fragLimit != 0:
if GEMPGameRules.IsTeamplay():
teamJ = GEMPGameRules.GetTeam(GEGlobal.TEAM_JANUS);
teamM = GEMPGameRules.GetTeam(GEGlobal.TEAM_MI6);
jScore = teamJ.GetRoundsWon() + teamJ.GetScore()
mScore = teamM.GetRoundsWon() + teamM.GetScore()
if jScore >= fragLimit or mScore >= fragLimit:
GEMPGameRules.EndMatch()
else:
for i in range(32):
if not GEUtil.IsValidPlayerIndex(i):
continue
player = GEUtil.GetMPPlayer(i)
if (player.GetMatchScore() + player.GetScore()) >= fragLimit:
GEMPGameRules.EndMatch()
And some shitty first-cut wiki documentation:
http://wiki.goldeneyesource.net/index.php/Category:Python