---------------------------------------------------------------------
-- AutoPromo - An Enemy Territory Auto Promoting Mod
----------------------------------------------------------------------
description = "AutoPromo"
version = "1.1"
----------------------------------------------------------------------
-- This script can be freely used and modified as long as the original
-- authors are mentioned.
-- Created by Perlo_0ung, edited by Dragon
-- Adapted for silEnT mod 0.5.0 and higher
----------------------------------------------------------------------
-- CONFIGURATION
----------------------------------------------------------------------
lvl15xp = 1000 -- XP needed for level 1
lvl20xp = 5000 -- XP needed for level 2
lvl25xp = 25000 -- XP needed for level 3
----------------------------------------------------------------------
-- DO NOT EDIT BELOW THIS LINE
-- UNLESS YOU KNOW WHAT YOU'RE DOING
----------------------------------------------------------------------
function et_InitGame(levelTime,randomSeed,restart)
local modname = string.format("%s v%s", description, version)
et.G_Print(string.format("%s loaded\n", modname))
et.RegisterModname(modname)
end
-- TheSilencerPL - To make it better, faster and less aggravating
-- for the game, store the XP locally and reuse it
function et_ClientSpawn(clientNum, revived, teamChange, restoreHealth)
local valXP = getXP(clientNum)
if valXP >= lvl15xp and valXP < lvl20xp then
setlevel(clientNum,15,lvl15xp)
elseif valXP >= lvl20xp and valXP < lvl25xp then
setlevel(clientNum,20,lvl20xp)
elseif valXP >= lvl25xp then
setlevel(clientNum,25,lvl25xp)
end
end
function getXP(playerID)
return et.gentity_get(playerID, "ps.persistant", 0)
end
function getlevel(playerID)
return et.G_shrubbot_level(playerID)
end
function setlevel(playerID, newlevel, xp)
local name = et.gentity_get(playerID,"pers.netname")
if isBot(playerID) or noGuid(playerID) then return end
if newlevel <= getlevel(playerID) then return end
et.trap_SendServerCommand(-1,"bp \"^nCongratulations ^7"..name.."^n, ^nyou have ^nbeen ^npromoted ^nto ^na ^nlevel ^7"..newlevel.." ^nuser!\"")
et.trap_SendConsoleCommand( et.EXEC_APPEND, "setlevel ".. playerID.." "..newlevel.."\n" )
et.trap_SendConsoleCommand( et.EXEC_APPEND, "readconfig\n" )
end
function noGuid(playerID)
local userinfo = et.trap_GetUserinfo( playerID )
local guid = et.Info_ValueForKey( userinfo, "sil_guid" )
if guid == "NO_GUID" or guid == "unknown" then
return true
end
end
function isBot(playerID)
if et.gentity_get(playerID,"ps.ping") == 0 then
return true
end
end
Just replaced this: if valXP >= lvl15xp and valXP < lvl20xp then
setlevel(clientNum,1,lvl15xp)
elseif valXP >= lvl20xp and valXP < lvl25xp then
setlevel(clientNum,2,lvl20xp)
elseif valXP >= lvl25xp then
setlevel(clientNum,5,lvl25xp)
endWith this: if valXP >= lvl15xp and valXP < lvl20xp then
setlevel(clientNum,15,lvl15xp)
elseif valXP >= lvl20xp and valXP < lvl25xp then
setlevel(clientNum,20,lvl20xp)
elseif valXP >= lvl25xp then
setlevel(clientNum,25,lvl25xp)
end