• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

Exp HIT..

laccc2413

New Member
Joined
May 10, 2009
Messages
10
Reaction score
0
:p
good night

I have a script to gain exp before killing the monster, but with this error:

I use The Forgotten Server 0.3.6 (Crying Damson) V5

This error is:

[03/08/2012 20:19:37] [Error - CreatureScript Interface]
[03/08/2012 20:19:37] data/creaturescripts/scripts/exphit.lua:eek:nStatsChange
[03/08/2012 20:19:37] Description:
[03/08/2012 20:19:37] data/creaturescripts/scripts/exphit.lua:44: attempt to call global 'getMonsterExperience' (a nil value)
[03/08/2012 20:19:37] stack traceback:
[03/08/2012 20:19:37] data/creaturescripts/scripts/exphit.lua:44: in function <data/creaturescripts/scripts/exphit.lua:22>


script:

rateExp = 100 -- 0 a 20
rateExp1 = 50 -- 21 a 50
rateExp2 = 25 -- 51 a 100
rateExp3 = 10 -- 101 a 200
rateExp4 = 5 -- 201 a 300
rateExp5 = 3 -- 301 a 350
rateExp6 = 1 -- 351 em diante
rateExp7 = 0.5 --
bonus = 1 -- Bonus por estar com exp ring
expringid = 148 -- Id do exp ring

function CalculeExp(monsterhp, exptotal, hit)
local x = hit <= monsterhp and math.ceil(exptotal * hit / monsterhp) or 0
local x2 = x - 20 + math.random(20)
return x2 > 0 and x2 or 0
end

function isSummon(uid)
return uid ~= getCreatureMaster(uid) or false
end

function onStatsChange(cid, attacker, type, combat, value)
if type == STATSCHANGE_HEALTHLOSS then
if isMonster(cid) then
if isCreature(attacker) then
local sid = isSummon(attacker) == true and getCreatureMaster(attacker) or attacker
if isPlayer(sid) and getPlayerLevel(sid) <= 20 then
local expg = CalculeExp(getCreatureMaxHealth(cid), getMonsterExperience(getCreatureName(cid)) * rateExp, value)
doPlayerSendTextMessage(sid, 23, "Você Ganhou "..expg.." exp.")
doPlayerAddExp(sid, expg)
elseif isPlayer(sid) and getPlayerLevel(sid) <= 50 then
local expg1 = CalculeExp(getCreatureMaxHealth(cid), getMonsterExperience(getCreatureName(cid)) * rateExp1, value)
doPlayerSendTextMessage(sid, 23, "Você Ganhou "..expg1.." exp.")
doPlayerAddExp(sid, expg1)
elseif isPlayer(sid) and getPlayerLevel(sid) <= 100 then
local expg2 = CalculeExp(getCreatureMaxHealth(cid), getMonsterExperience(getCreatureName(cid)) * rateExp2, value)
doPlayerSendTextMessage(sid, 23, "Você Ganhou "..expg2.." exp.")
doPlayerAddExp(sid, expg2)
elseif isPlayer(sid) and getPlayerLevel(sid) <= 200 then
local expg3 = CalculeExp(getCreatureMaxHealth(cid), getMonsterExperience(getCreatureName(cid)) * rateExp3, value)
doPlayerSendTextMessage(sid, 23, "Você Ganhou "..expg3.." exp.")
doPlayerAddExp(sid, expg3)
elseif isPlayer(sid) and getPlayerLevel(sid) <= 300 then
local expg4 = CalculeExp(getCreatureMaxHealth(cid), getMonsterExperience(getCreatureName(cid)) * rateExp4, value)
doPlayerSendTextMessage(sid, 23, "Você Ganhou "..expg4.." exp.")
doPlayerAddExp(sid, expg4)
elseif isPlayer(sid) and getPlayerLevel(sid) <= 350 then
local expg5 = CalculeExp(getCreatureMaxHealth(cid), getMonsterExperience(getCreatureName(cid)) * rateExp5, value)
doPlayerSendTextMessage(sid, 23, "Você Ganhou "..expg5.." exp.")
doPlayerAddExp(sid, expg5)
elseif isPlayer(sid) and getPlayerLevel(sid) <= 400 then
local expg6 = CalculeExp(getCreatureMaxHealth(cid), getMonsterExperience(getCreatureName(cid)) * rateExp6, value)
doPlayerSendTextMessage(sid, 23, "Você Ganhou "..expg6.." exp.")
doPlayerAddExp(sid, expg6)
elseif isPlayer(sid) and getPlayerLevel(sid) <= 600 then
local expg7 = CalculeExp(getCreatureMaxHealth(cid), getMonsterExperience(getCreatureName(cid)) * rateExp7, value)
doPlayerSendTextMessage(sid, 23, "Você Ganhou "..expg7.." exp.")
doPlayerAddExp(sid, expg7)
elseif isPlayer(sid) and itemid == expringid then
local expbonus = CalculeExp(getCreatureMaxHealth(cid), getMonsterExperience(getCreatureName(cid)) * bonus, value)
doPlayerSendTextMessage(sid, 23, "You gain "..expbonus.." bonus exp.")
doPlayerAddExp(sid, expbonus)
end
end
end
elseif type == STATSCHANGE_HEALTHGAIN then
return false
end
return true
end

function onCombat(cid, target)
if isMonster(target) and not isSummon(target) and not isPlayer(target) then
registerCreatureEvent(target, "ExpGain")
end
return true
end
 
Last edited:
Here is the onStatsChange script. The onCombat script seems to be okay.
Lua:
local rateExp = 100 -- 0 a 20
local rateExp1 = 50 -- 21 a 50
local rateExp2 = 25 -- 51 a 100
local rateExp3 = 10 -- 101 a 200
local rateExp4 = 5 -- 201 a 300
local rateExp5 = 3 -- 301 a 350
local rateExp6 = 1 -- 351 em diante
local rateExp7 = 0.5 --
local bonus = 1 -- Bonus por estar com exp ring
local expringid = 148 -- Id do exp ring

function CalculeExp(monsterhp, exptotal, hit)
	local x = hit <= monsterhp and math.ceil(exptotal * hit / monsterhp) or 0
	local x2 = x - 20 + math.random(20)
	return x2 > 0 and x2 or 0
end

function isSummon(uid)
	return uid ~= getCreatureMaster(uid) or false
end

function onStatsChange(cid, attacker, type, combat, value)
	if type == STATSCHANGE_HEALTHLOSS then
		if isMonster(cid) then
			if isCreature(attacker) then
				local sid = isSummon(attacker) == true and getCreatureMaster(attacker) or attacker
				if isPlayer(sid) and getPlayerLevel(sid) <= 20 then
					local expg = CalculeExp(getCreatureMaxHealth(cid), getMonsterInfo(getCreatureName(cid)).experience * rateExp, value)
					doPlayerSendTextMessage(sid, 23, "Você Ganhou "..expg.." exp.")
					doPlayerAddExp(sid, expg)
				elseif isPlayer(sid) and getPlayerLevel(sid) <= 50 then
					local expg1 = CalculeExp(getCreatureMaxHealth(cid), getMonsterInfo(getCreatureName(cid)).experience * rateExp1, value)
					doPlayerSendTextMessage(sid, 23, "Você Ganhou "..expg1.." exp.")
					doPlayerAddExp(sid, expg1)
				elseif isPlayer(sid) and getPlayerLevel(sid) <= 100 then
					local expg2 = CalculeExp(getCreatureMaxHealth(cid), getMonsterInfo(getCreatureName(cid)).experience * rateExp2, value)
					doPlayerSendTextMessage(sid, 23, "Você Ganhou "..expg2.." exp.")
					doPlayerAddExp(sid, expg2)
				elseif isPlayer(sid) and getPlayerLevel(sid) <= 200 then
					local expg3 = CalculeExp(getCreatureMaxHealth(cid), getMonsterInfo(getCreatureName(cid)).experience * rateExp3, value)
					doPlayerSendTextMessage(sid, 23, "Você Ganhou "..expg3.." exp.")
					doPlayerAddExp(sid, expg3)
				elseif isPlayer(sid) and getPlayerLevel(sid) <= 300 then
					local expg4 = CalculeExp(getCreatureMaxHealth(cid), getMonsterInfo(getCreatureName(cid)).experience * rateExp4, value)
					doPlayerSendTextMessage(sid, 23, "Você Ganhou "..expg4.." exp.")
					doPlayerAddExp(sid, expg4)
				elseif isPlayer(sid) and getPlayerLevel(sid) <= 350 then
					local expg5 = CalculeExp(getCreatureMaxHealth(cid), getMonsterInfo(getCreatureName(cid)).experience * rateExp5, value)
					doPlayerSendTextMessage(sid, 23, "Você Ganhou "..expg5.." exp.")
					doPlayerAddExp(sid, expg5)
				elseif isPlayer(sid) and getPlayerLevel(sid) <= 400 then
					local expg6 = CalculeExp(getCreatureMaxHealth(cid), getMonsterInfo(getCreatureName(cid)).experience * rateExp6, value)
					doPlayerSendTextMessage(sid, 23, "Você Ganhou "..expg6.." exp.")
					doPlayerAddExp(sid, expg6)
				elseif isPlayer(sid) and getPlayerLevel(sid) <= 600 then
					local expg7 = CalculeExp(getCreatureMaxHealth(cid), getMonsterInfo(getCreatureName(cid)).experience * rateExp7, value)
					doPlayerSendTextMessage(sid, 23, "Você Ganhou "..expg7.." exp.")
					doPlayerAddExp(sid, expg7)
				elseif isPlayer(sid) and itemid == expringid then
					local expbonus = CalculeExp(getCreatureMaxHealth(cid), getMonsterInfo(getCreatureName(cid)).experience * bonus, value)
					doPlayerSendTextMessage(sid, 23, "You gain "..expbonus.." bonus exp.")
					doPlayerAddExp(sid, expbonus)
				end
			end
		end
	elseif type == STATSCHANGE_HEALTHGAIN then
		return false
	end
return true
end
 
Lua:
	<event type="statschange" name="ExpHit" event="script" value="exphit.lua"/>
	<event type="combat" name="ExpHitCombat" event="script" value="exphitcombat.lua"/>

This should be in creaturescripts.xml

And this:
Lua:
	registerCreatureEvent(cid, "ExpHitCombat")
should be put in login.lua, before
"return true
end"
 
[04/08/2012 16:59:59] [Error - LuaScriptInterface::loadFile] cannot open data/creaturescripts/scripts/exphitcombat.lua: No such file or directory
[04/08/2012 16:59:59] [Warning - Event::loadScript] Cannot load script (data/creaturescripts/scripts/exphitcombat.lua)
[04/08/2012 16:59:59] cannot open data/creaturescripts/scripts/exphitcombat.lua: No such file or directory
 
Lua:
function onCombat(cid, target)
if isMonster(target) and not isSummon(target) and not isPlayer(target) then
registerCreatureEvent(target, "ExpGain")
end
return true
end

that is your combat file.

But you should replace the creaturescripts.xml code this with this:
XML:
 <event type="statschange" name="ExpGain" event="script" value="exphit.lua"/>
	<event type="combat" name="ExpHitCombat" event="script" value="exphitcombat.lua"/>
 
goto data\lib than open file 050-function.lua

put there this function than use your script

Lua:
function getMonsterExperience(Name)
	return getMonsterInfo(monster).experience
end


idk if it work or no
 
Last edited:
Lua:
-- The Forgotten Server Config

	-- Account manager
	accountManager = true
	namelockManager = true
	newPlayerChooseVoc = true
	newPlayerSpawnPosX = 1050
	newPlayerSpawnPosY = 1002
	newPlayerSpawnPosZ = 7
	newPlayerTownId = 1
	newPlayerLevel = 8
	newPlayerMagicLevel = 1
	generateAccountNumber = false
	generateAccountSalt = false

	-- Unjustified kills
	-- NOTE: *Banishment and *BlackSkull variables are >summed up<
	-- (dailyFragsToRedSkull + dailyFragsToBanishment) with their
	-- *RedSkull equivalents.
	-- Auto banishing works only if useBlackSkull set to negative.
	-- advancedFragList is not advised if you use huge frags
	-- requirements.
	useFragHandler = true
	redSkullLength = 1 * 24 * 60 * 60
	blackSkullLength = 2 * 24 * 60 * 60
	dailyFragsToRedSkull = 10
	weeklyFragsToRedSkull = 30
	monthlyFragsToRedSkull = 50
	dailyFragsToBlackSkull = dailyFragsToRedSkull
	weeklyFragsToBlackSkull = weeklyFragsToRedSkull
	monthlyFragsToBlackSkull = monthlyFragsToRedSkull
	dailyFragsToBanishment = dailyFragsToRedSkull
	weeklyFragsToBanishment = weeklyFragsToRedSkull
	monthlyFragsToBanishment = monthlyFragsToRedSkull
	blackSkulledDeathHealth = 40
	blackSkulledDeathMana = 0
	useBlackSkull = true
	advancedFragList = false

	-- Banishments
	-- violationNameReportActionType 1 = just a report, 2 = name lock, 3 = player banishment
	-- killsBanLength works only if useBlackSkull option is disabled.
	notationsToBan = 3
	warningsToFinalBan = 3
	warningsToDeletion = 4
	banLength = 7 * 24 * 60 * 60
	killsBanLength = 7 * 24 * 60 * 60
	finalBanLength = 30 * 24 * 60 * 60
	ipBanishmentLength = 1 * 24 * 60 * 60
	broadcastBanishments = true
	maxViolationCommentSize = 200
	violationNameReportActionType = 2
	autoBanishUnknownBytes = false

	-- Battle
	-- NOTE: showHealingDamageForMonsters inheritates from showHealingDamage.
	-- loginProtectionPeriod is the famous Tibia anti-magebomb system.
	-- deathLostPercent set to nil enables manual mode.
	worldType = "open"
	protectionLevel = 20
	pvpTileIgnoreLevelAndVocationProtection = true
	pzLocked = 45 * 1000
	huntingDuration = 60 * 1000
	criticalHitChance = 7
	criticalHitMultiplier = 1
	displayCriticalHitNotify = true
	removeWeaponAmmunition = false
	removeWeaponCharges = true
	removeRuneCharges = false
	whiteSkullTime = 5 * 60 * 1000
	noDamageToSameLookfeet = false
	showHealingDamage = true
	showHealingDamageForMonsters = true
	fieldOwnershipDuration = 5 * 1000
	stopAttackingAtExit = false
	loginProtectionPeriod = 10 * 1000
	deathLostPercent = 10
	stairhopDelay = 2 * 1000
	pushCreatureDelay = 2 * 1000
	deathContainerId = 5926
	gainExperienceColor = 215
	addManaSpentInPvPZone = true
	squareColor = 0
	allowFightback = true
	fistBaseAttack = 7

	-- Connection config
	worldId = 0
	ip = "177.106.72.189"
	bindOnlyGlobalAddress = false
	loginPort = 7171
	gamePort = 7172
	loginTries = 10
	retryTimeout = 5 * 1000
	loginTimeout = 60 * 1000
	maxPlayers = 1000
	motd = "Welcome to the Absolut Server! Enjoy"
	displayOnOrOffAtCharlist = false
	onePlayerOnlinePerAccount = true
	allowClones = false
	serverName = "AbsolutSeRv"
	loginMessage = "Bem Vindo Ao AbsolutServer Para Mais Informação !notice..Novas Magias : !spells e Chame Seus Amigos!"
	statusTimeout = 5 * 60 * 1000
	replaceKickOnLogin = true
	forceSlowConnectionsToDisconnect = false
	loginOnlyWithLoginServer = false
	premiumPlayerSkipWaitList = false

	-- RSA
	-- NOTE: These should not be changed unless you know what your doing!
	-- Prime1 - known as p; Prime2 - known as q; Public - known as e;
	-- Modulus - known as n; Private - known as d.
	rsaPrime1 = "14299623962416399520070177382898895550795403345466153217470516082934737582776038882967213386204600674145392845853859217990626450972452084065728686565928113"
	rsaPrime2 = "7630979195970404721891201847792002125535401292779123937207447574596692788513647179235335529307251350570728407373705564708871762033017096809910315212884101"
	rsaPublic = "65537"
	rsaModulus = "109120132967399429278860960508995541528237502902798129123468757937266291492576446330739696001110603907230888610072655818825358503429057592827629436413108566029093628212635953836686562675849720620786279431090218017681061521755056710823876476444260558147179707119674283982419152118103759076030616683978566631413"
	rsaPrivate = "46730330223584118622160180015036832148732986808519344675210555262940258739805766860224610646919605860206328024326703361630109888417839241959507572247284807035235569619173792292786907845791904955103601652822519121908367187885509270025388641700821735345222087940578381210879116823013776808975766851829020659073"

	-- Database
	-- NOTE: sqlFile is used only by sqlite database, and sqlKeepAlive by mysql database.
	-- To disable sqlKeepAlive such as mysqlReadTimeout use 0 value.
	-- encryptionType can be plain, md5, sha1, sha256, sha512 or vahash.
	sqlType = "sqlite"
	sqlHost = "localhost"
	sqlPort = 3306
	sqlUser = "root"
	sqlPass = "ismokeweedplease"
	sqlDatabase = "rl"
	sqlFile = "theforgottenserver.s3db"
	sqlKeepAlive = 0
	mysqlReadTimeout = 10
	mysqlWriteTimeout = 10
	encryptionType = "sha1"

	-- Deathlist
	deathListEnabled = true
	deathListRequiredTime = 1 * 60 * 1000
	deathAssistCount = 19
	maxDeathRecords = 5

	-- Guilds
	ingameGuildManagement = true
	levelToFormGuild = 100
	premiumDaysToFormGuild = 0
	guildNameMinLength = 4
	guildNameMaxLength = 30

	-- Highscores
	highscoreDisplayPlayers = 20
	updateHighscoresAfterMinutes = 2

	-- Houses
	buyableAndSellableHouses = true
	houseNeedPremium = true
	bedsRequirePremium = true
	levelToBuyHouse = 150
	housesPerAccount = 1
	houseRentAsPrice = true
	housePriceAsRent = true
	housePriceEachSquare = 5000
	houseRentPeriod = "weekly"
	houseCleanOld = 1
	guildHalls = true

	-- Item usage
	timeBetweenActions = 200
	timeBetweenExActions = 1000
	hotkeyAimbotEnabled = true

	-- Map
	-- NOTE: storeTrash costs more memory, but will perform alot faster cleaning.
	mapName = "World.otbm"
	mapAuthor = "Leo"
	randomizeTiles = true
	storeTrash = true
	cleanProtectedZones = true
	mailboxDisabledTowns = ""

	-- Process
	-- NOTE: defaultPriority works only on Windows and niceLevel on *nix
	-- niceLevel works only on *nix systems
	-- coresUsed are seperated by comma cores ids used by server process,
	-- default is -1, so it stays untouched (automaticaly assigned by OS).
	defaultPriority = "high"
	niceLevel = 5
	coresUsed = "-1"

	-- Startup
	startupDatabaseOptimization = true
	updatePremiumStateAtStartup = true
	confirmOutdatedVersion = false

	-- Spells
	formulaLevel = 5.0
	formulaMagic = 1.0
	bufferMutedOnSpellFailure = false
	spellNameInsteadOfWords = false
	emoteSpells = true
	unifiedSpells = true

	-- Outfits
	allowChangeOutfit = true
	allowChangeColors = true
	allowChangeAddons = true
	disableOutfitsForPrivilegedPlayers = false
	addonsOnlyPremium = true

	-- Miscellaneous
	-- NOTE: promptExceptionTracerErrorBox works only with precompiled support feature,
	-- called "exception tracer" (__EXCEPTION_TRACER__ flag).
	dataDirectory = "data/"
	logsDirectory = "data/logs/"
	bankSystem = true
	displaySkillLevelOnAdvance = false
	promptExceptionTracerErrorBox = true
	maximumDoorLevel = 500
	maxMessageBuffer = 4
	tradeLimit = 100

	-- VIP list
	separateVipListPerCharacter = false
	vipListDefaultLimit = 20
	vipListDefaultPremiumLimit = 100

	-- Saving-related
	-- useHouseDataStorage usage may be found at README.
	saveGlobalStorage = true
	useHouseDataStorage = true
	storePlayerDirection = false

	-- Loot
	-- monsterLootMessage 0 to disable, 1 - only party, 2 - only player, 3 - party or player (like Tibia's)
	checkCorpseOwner = true
	monsterLootMessage = 3
	monsterLootMessageType = 25

	-- Ghost mode
	ghostModeInvisibleEffect = true
	ghostModeSpellEffects = true

	-- Limits
	idleWarningTime = 14 * 60 * 1000
	idleKickTime = 15 * 60 * 1000
	reportsExpirationAfterReads = 1
	playerQueryDeepness = 2
	tileLimit = 0
	protectionTileLimit = 0
	houseTileLimit = 0

	-- Premium-related
	freePremium = false
	premiumForPromotion = false

	-- Blessings
	-- NOTE: blessingReduction* regards items/containers loss.
	-- eachBlessReduction is how much each bless reduces the experience/magic/skills loss.
	blessings = true
	blessingOnlyPremium = false
	blessingReductionBase = 30
	blessingReductionDecrement = 5
	eachBlessReduction = 8

	-- Rates
	-- NOTE: experienceStages configuration is located in data/XML/stages.xml.
	-- rateExperienceFromPlayers 0 to disable.
	experienceStages = true
	rateExperience = 150
	rateExperienceFromPlayers = 0
	rateSkill = 200.0
	rateMagic = 90.0
	rateLoot = 3.0
	rateSpawn = 2

	-- Monster rates
	rateMonsterHealth = 1.0
	rateMonsterMana = 1.0
	rateMonsterAttack = 1.0
	rateMonsterDefense = 1.0

	-- Experience from players
	-- NOTE: min~Threshold* set to 0 will disable the minimum threshold:
	-- player will gain experience from every lower leveled player.
	-- max~Threshold* set to 0 will disable the maximum threshold:
	-- player will gain experience from every higher leveled player.
	minLevelThresholdForKilledPlayer = 0.9
	maxLevelThresholdForKilledPlayer = 1.1

	-- Stamina
	-- NOTE: Stamina is stored in miliseconds, so seconds are multiplied by 1000.
	-- rateStaminaHits multiplies every hit done a creature, which are later
	-- multiplied by player attack speed.
	-- rateStaminaGain is multiplying every second of logged out time, eg:
	-- 60 * 1000 / 3 = 20 seconds, what gives 1 stamina minute for 3 being logged off.
	-- rateStaminaThresholdGain is dividing in case the normal gain (that is
	-- multiplied by rateStaminaGain, btw.) passed above threshold, eg:
	-- 60 * 1000 / 3 = 20 / 4 = 5 seconds (3 * 4 = 12 minutes for 1 stamina minute).
	-- staminaRatingLimit* is in minutes.
	rateStaminaLoss = 1
	rateStaminaGain = 3
	rateStaminaThresholdGain = 12
	staminaRatingLimitTop = 40 * 60
	staminaRatingLimitBottom = 14 * 60
	staminaLootLimit = 14 * 60
	rateStaminaAboveNormal = 1.5
	rateStaminaUnderNormal = 0.5
	staminaThresholdOnlyPremium = true

	-- Party
	-- NOTE: experienceShareLevelDifference is float number.
	-- experienceShareLevelDifference is highestLevel * value
	experienceShareRadiusX = 30
	experienceShareRadiusY = 30
	experienceShareRadiusZ = 1
	experienceShareLevelDifference = 2 / 3
	extraPartyExperienceLimit = 20
	extraPartyExperiencePercent = 5
	experienceShareActivity = 2 * 60 * 1000

	-- Global save
	-- NOTE: globalSaveHour means like 03:00, not that it will save every 3 hours,
	-- if you want such a system please check out data/globalevents/globalevents.xml.
	globalSaveEnabled = false
	globalSaveHour = 8
	globalSaveMinute = 0
	shutdownAtGlobalSave = true
	cleanMapAtGlobalSave = false

	-- Spawns
	deSpawnRange = 2
	deSpawnRadius = 50

	-- Summons
	maxPlayerSummons = 2
	teleportAllSummons = false
	teleportPlayerSummons = false

	-- Status
	statusPort = 7171
	ownerName = "Leo"
	ownerEmail = "[email protected]"
	url = ""
	location = "Brazil"
	displayGamemastersWithOnlineCommand = false

	-- Logs
	-- NOTE: This kind of logging does not work in GUI version.
	-- For such, please compile the software with __GUI_LOGS__ flag.
	displayPlayersLogging = false
	prefixChannelLogs = ""
	runFile = ""
	outputLog = "output.log"
	truncateLogOnStartup = true

	-- Manager
	-- NOTE: managerPassword left blank disables manager.
	managerPort = 7171
	managerLogs = true
	managerPassword = ""
	managerLocalhostOnly = true
	managerConnectionsLimit = 1

	-- Admin
	-- NOTE: adminPassword left blank disables manager.
	-- Set to anything if you set adminRequireLogin to false.
	-- adminEncryption available options: rsa1024xtea;
	-- remember to set correct data!
	adminPort = 7171
	adminLogs = true
	adminPassword = ""
	adminLocalhostOnly = true
	adminConnectionsLimit = 1
	adminRequireLogin = true
	adminEncryption = ""
	adminEncryptionData = ""

- - - Updated - - -

Lua:
<?xml version="1.0" encoding="UTF-8"?>
<stages>
	<world id="0" multiplier="1">
		<stage minlevel="1" maxlevel="80" multiplier="150"/>
		<stage minlevel="81" maxlevel="200" multiplier="60"/>
		<stage minlevel="200" maxlevel="250" multiplier="30"/>
		<stage minlevel="250" maxlevel="300" multiplier="20"/>
		<stage minlevel="300" maxlevel="350" multiplier="10"/>	
		<stage minlevel="350" maxlevel="400" multiplier="8"/>		
		<stage minlevel="400" maxlevel="900" multiplier="3"/>	
	</world>
</stages>

al is the stages and config.lua, but not gain exp every hit

- - - Updated - - -

help ?
 
Back
Top