• 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!

Problem mod

zednem

New Member
Joined
Nov 15, 2008
Messages
108
Reaction score
0
I am trying to convert some of my scripts, it's doing well, but one script get a strange error

PHP:
[12/08/2009 05:25:07] Loading Calcular Skill.xml...[Error - ScriptingManager::loadFromXml] Cannot load mod mods/Calcular Skill.xml
[12/08/2009 05:25:07] Line: 9, Info: Input is not proper UTF-8, indicate encoding !
[12/08/2009 05:25:07] Bytes: 0xEA 0x20 0x70 0x72

What's the problem?

PHP:
<?xml version="1.0" encoding="UTF-8"?>
<mod name="Calcular Skill" version="1.0" author="" contact="" enabled="yes">

<talkaction words="!next" event="buffer"><![CDATA[
if param == "fist" then
skill = 0
local nextxp = getPlayerRequiredSkillTries(cid, skill, getPlayerSkillLevel(cid, skill)+1) - getPlayerSkillTries(cid, skill)
local recalcular = math.floor(nextxp / getConfigInfo('rateSkill') + 1)
doPlayerSendTextMessage(cid,24,'Você precisa dar ' ..recalcular.. ' ataques para avançar em ' ..param.. '.')
elseif param == "club" then
skill = 1
local nextxp = getPlayerRequiredSkillTries(cid, skill, getPlayerSkillLevel(cid, skill)+1) - getPlayerSkillTries(cid, skill)
local recalcular = math.floor(nextxp / getConfigInfo('rateSkill') + 1)
doPlayerSendTextMessage(cid,24,'Você precisa dar ' ..recalcular.. ' ataques para avançar em ' ..param.. '.')
elseif param == "sword" then
skill = 2
local nextxp = getPlayerRequiredSkillTries(cid, skill, getPlayerSkillLevel(cid, skill)+1) - getPlayerSkillTries(cid, skill)
local recalcular = math.floor(nextxp / getConfigInfo('rateSkill') + 1)
doPlayerSendTextMessage(cid,24,'Você precisa dar ' ..recalcular.. ' ataques para avançar em ' ..param.. '.')
elseif param == "axe" then
skill = 3
local nextxp = getPlayerRequiredSkillTries(cid, skill, getPlayerSkillLevel(cid, skill)+1) - getPlayerSkillTries(cid, skill)
local recalcular = math.floor(nextxp / getConfigInfo('rateSkill') + 1)
doPlayerSendTextMessage(cid,24,'Você precisa dar ' ..recalcular.. ' ataques para avançar em ' ..param.. '.')
elseif param == "distance" then
skill = 4
local nextxp = getPlayerRequiredSkillTries(cid, skill, getPlayerSkillLevel(cid, skill)+1) - getPlayerSkillTries(cid, skill)
local recalcular = math.floor(nextxp / getConfigInfo('rateSkill') + 1)
doPlayerSendTextMessage(cid,24,'Você precisa dar ' ..recalcular.. ' ataques para avançar em ' ..param.. '.')
elseif param == "shield" then
skill = 5
local nextxp = getPlayerRequiredSkillTries(cid, skill, getPlayerSkillLevel(cid, skill)+1) - getPlayerSkillTries(cid, skill)
local recalcular = math.floor(nextxp / getConfigInfo('rateSkill') + 1)
doPlayerSendTextMessage(cid,24,'Você precisa dar ' ..recalcular.. ' ataques para avançar em ' ..param.. '.')
elseif param == "fishing" then
skill = 6
local nextxp = getPlayerRequiredSkillTries(cid, skill, getPlayerSkillLevel(cid, skill)+1) - getPlayerSkillTries(cid, skill)
local recalcular = math.floor(nextxp / getConfigInfo('rateSkill') + 1)
doPlayerSendTextMessage(cid,24,'Você pescar ' ..recalcular.. ' vezes para avançar em ' ..param.. '.')
elseif param == "ml" then
local nextxp = getPlayerRequiredMana(cid, getPlayerMagLevel(cid)+1) - getPlayerSpentMana(cid)
local recalcular = math.floor(nextxp / getConfigInfo('rateMagic') + 1)
doPlayerSendTextMessage(cid,24,'Você precisa gastar ' ..recalcular.. ' de mana para upar seu ml.')
else
doPlayerSendCancel(cid, 'Invalid param, use \'fist\', \'club\', \'sword\', \'axe\', \'distance\', \'shield\' ,\'fishing\' or \'ml\'.')
end
	]]></talkaction>
</mod>
 
You have a problem with your (). I am not real sure what your script is trying to do because the msgs arn't english and I don't understand the getConfigInfo() function.

But... Try this

Code:
<?xml version="1.0" encoding="UTF-8"?>
<mod name="Calcular Skill" version="1.0" author="" contact="" enabled="yes">
<talkaction words="!next" event="buffer"><![CDATA[
if param == "fist" then
	local skill = 0
	local nextxp = getPlayerRequiredSkillTries(cid, skill, (getPlayerSkillLevel(cid, skill)+1) - getPlayerSkillTries(cid, skill))
	local recalcular = math.floor(nextxp / getConfigInfo('rateSkill') + 1)
	doPlayerSendTextMessage(cid,24,'Você precisa dar ' ..recalcular.. ' ataques para avançar em ' ..param.. '.')
elseif param == "club" then
	local skill = 1
	local nextxp = getPlayerRequiredSkillTries(cid, skill, (getPlayerSkillLevel(cid, skill)+1) - getPlayerSkillTries(cid, skill))
	local recalcular = math.floor(nextxp / getConfigInfo('rateSkill') + 1)
	doPlayerSendTextMessage(cid,24,'Você precisa dar ' ..recalcular.. ' ataques para avançar em ' ..param.. '.')
elseif param == "sword" then
	local skill = 2
	local nextxp = getPlayerRequiredSkillTries(cid, skill, getPlayerSkillLevel(cid, skill)+1) - getPlayerSkillTries(cid, skill)
	local recalcular = math.floor(nextxp / getConfigInfo('rateSkill') + 1)
	doPlayerSendTextMessage(cid,24,'Você precisa dar ' ..recalcular.. ' ataques para avançar em ' ..param.. '.')
elseif param == "axe" then
	local skill = 3
	local nextxp = getPlayerRequiredSkillTries(cid, skill, (getPlayerSkillLevel(cid, skill)+1) - getPlayerSkillTries(cid, skill))
	local recalcular = math.floor(nextxp / getConfigInfo('rateSkill') + 1)
	doPlayerSendTextMessage(cid,24,'Você precisa dar ' ..recalcular.. ' ataques para avançar em ' ..param.. '.')
elseif param == "distance" then
	local skill = 4
	local nextxp = getPlayerRequiredSkillTries(cid, skill, (getPlayerSkillLevel(cid, skill)+1) - getPlayerSkillTries(cid, skill))
	local recalcular = math.floor(nextxp / getConfigInfo('rateSkill') + 1)
	doPlayerSendTextMessage(cid,24,'Você precisa dar ' ..recalcular.. ' ataques para avançar em ' ..param.. '.')
elseif param == "shield" then
	local skill = 5
	local nextxp = getPlayerRequiredSkillTries(cid, skill, (getPlayerSkillLevel(cid, skill)+1) - getPlayerSkillTries(cid, skill))
	local recalcular = math.floor(nextxp / getConfigInfo('rateSkill') + 1)
	doPlayerSendTextMessage(cid,24,'Você precisa dar ' ..recalcular.. ' ataques para avançar em ' ..param.. '.')
elseif param == "fishing" then
	local skill = 6
	local nextxp = getPlayerRequiredSkillTries(cid, skill, getPlayerSkillLevel(cid, skill)+1) - getPlayerSkillTries(cid, skill)
	local recalcular = math.floor(nextxp / getConfigInfo('rateSkill') + 1)
	doPlayerSendTextMessage(cid,24,'Você pescar ' ..recalcular.. ' vezes para avançar em ' ..param.. '.')
elseif param == "ml" then
	local nextxp = getPlayerRequiredMana(cid, getPlayerMagLevel(cid)+1) - getPlayerSpentMana(cid)
	local recalcular = math.floor(nextxp / getConfigInfo('rateMagic') + 1)
	doPlayerSendTextMessage(cid,24,'Você precisa gastar ' ..recalcular.. ' de mana para upar seu ml.')
else
	doPlayerSendCancel(cid, 'Invalid param, use \'fist\', \'club\', \'sword\', \'axe\', \'distance\', \'shield\' ,\'fishing\' or \'ml\'.')
end
    ]]></talkaction>
</mod>
 
Enjoying this thread, can someone give a example of globalevent mod?

And if a convert login.lua to mod there is gonna be a problem?
 
Back
Top