Ir para conteúdo
  • 0

Tem Esse Erro No Meu Sever Que Ta Matano Msm


webmasterxd

Pergunta

[18/09/2012 02:37:10] [Error - Action Interface]

[18/09/2012 02:37:10] In a timer event called from:

[18/09/2012 02:37:10] data/actions/scripts/catch.lua:onUse

[18/09/2012 02:37:10] Description:

[18/09/2012 02:37:10] data/lib/catch system.lua:127: attempt to perform arithmetic on local 'cexp' (a nil value)

[18/09/2012 02:37:10] stack traceback:

[18/09/2012 02:37:10] data/lib/catch system.lua:127: in function <data/lib/catch system.lua:89>

Link para o comentário
Compartilhar em outros sites

9 respostass a esta questão

Posts Recomendados

  • 0

Usuario, seu servidor é base pda? se for.

 

Vá "data/actions/scripts/catch.lua" e modifique por:

 

local ballcatch = {
[2394] = {cr = 1, on = 24, off = 23, ball = 11826, send = 47, typeee = "normal"},
[2391] = {cr = 1, on = 198, off = 197, ball = 11832, send = 48, typeee = "great"},
[2393] = {cr = 2, on = 202, off = 201, ball = 11835, send = 46, typeee = "super"},
[2392] = {cr = 2, on = 200, off = 199, ball = 11829, send = 49, typeee = "ultra"},
}
function onUse(cid, item, frompos, item3, topos)
local item2 = getTopCorpse(topos)
if item2 == null then
return true
end
if getItemAttribute(item2.uid, "catching") == 1 then
return true
end
local name = string.lower(getItemNameById(item2.itemid))
name = string.gsub(name, "fainted ", "")
name = string.gsub(name, "defeated ", "")
local x = pokecatches[doCorrectPokemonName(name)]
--------------------------------------------------------------------------------
local storage = newpokedex[doCorrectPokemonName(name)].stoCatch   --edited brokes count system
if getPlayerStorageValue(cid, storage) == -1 then
   setPlayerStorageValue(cid, storage, "normal = 0, great = 0, super = 0, ultra = 0, saffari = 0")
   end   
   --------------------------------------------------------------------------------

if not x then return true end
 local owner = getItemAttribute(item2.uid, "corpseowner")
 if owner and isCreature(owner) and isPlayer(owner) and cid ~= owner then   --alterado v1.5
 doPlayerSendCancel(cid, "You are not allowed to catch this pokemon.")
 return true
 end
    -----------------------------------------------------
	   newidd = ballcatch[item.itemid].ball	 
	   typeee = ballcatch[item.itemid].typeee
    -----------------------------------------------------
local catchinfo = {}
 catchinfo.rate = ballcatch[item.itemid].cr
 catchinfo.catch = ballcatch[item.itemid].on
 catchinfo.fail = ballcatch[item.itemid].off
 catchinfo.newid = newidd					
 catchinfo.name = doCorrectPokemonName(name)
 catchinfo.topos = topos
 catchinfo.chance = x.chance
 doSendDistanceShoot(getThingPos(cid), topos, ballcatch[item.itemid].send)
 doRemoveItem(item.uid, 1)
 local d = getDistanceBetween(getThingPos(cid), topos)
 addEvent(doSendPokeBall, d * 70 + 100 - (d * 14) , cid, catchinfo, false, false, typeee) --edited brokes count system
 addEvent(doSendMagicEffect, (d * 70 + 100 - (d * 14)) - 100, topos, 3)
return true
end

 

 

Aviso, esse que estou passando é base 1.5/1.6 pda slicer (sem level)

basta modificar as pokeballs novas e tudo mais...

 

Motivo do erro no seu:

Pode ter acontecido algum erro de portugues ou erro de tags, erro na colocação etc...

verefique as suas e veja oque foi que modificou de errado.

caso contrario adicione as minhas e modifique novamente.

Atenciosamente, Stigal.

Editado por Stigal
Link para o comentário
Compartilhar em outros sites

  • 0

Usuario, seu servidor é base pda? se for.

 

Vá "data/actions/scripts/catch.lua" e modifique por:

[/font][/color]
[color=#282828][font=helvetica, arial, sans-serif]local ballcatch = {
[2394] = {cr = 1, on = 24, off = 23, ball = 11826, send = 47, typeee = "normal"},
[2391] = {cr = 1, on = 198, off = 197, ball = 11832, send = 48, typeee = "great"},
[2393] = {cr = 2, on = 202, off = 201, ball = 11835, send = 46, typeee = "super"},
[2392] = {cr = 2, on = 200, off = 199, ball = 11829, send = 49, typeee = "ultra"},
}[/font][/color]
[color=#282828][font=helvetica, arial, sans-serif]function onUse(cid, item, frompos, item3, topos)[/font][/color]
[color=#282828][font=helvetica, arial, sans-serif]local item2 = getTopCorpse(topos)
if item2 == null then
return true
end[/font][/color]
[color=#282828][font=helvetica, arial, sans-serif]if getItemAttribute(item2.uid, "catching") == 1 then
return true
end[/font][/color]
[color=#282828][font=helvetica, arial, sans-serif]local name = string.lower(getItemNameById(item2.itemid))
name = string.gsub(name, "fainted ", "")
name = string.gsub(name, "defeated ", "")[/font][/color]
[color=#282828][font=helvetica, arial, sans-serif]local x = pokecatches[doCorrectPokemonName(name)]

--------------------------------------------------------------------------------
local storage = newpokedex[doCorrectPokemonName(name)].stoCatch   --edited brokes count system
if getPlayerStorageValue(cid, storage) == -1 then
setPlayerStorageValue(cid, storage, "normal = 0, great = 0, super = 0, ultra = 0, saffari = 0")
end	
--------------------------------------------------------------------------------

if not x then return true end[/font][/color]
[color=#282828][font=helvetica, arial, sans-serif]  local owner = getItemAttribute(item2.uid, "corpseowner")

 if owner and isCreature(owner) and isPlayer(owner) and cid ~= owner then   --alterado v1.5
 doPlayerSendCancel(cid, "You are not allowed to catch this pokemon.")
 return true
 end
	-----------------------------------------------------
	   newidd = ballcatch[item.itemid].ball	  
	   typeee = ballcatch[item.itemid].typeee
	-----------------------------------------------------
local catchinfo = {}
 catchinfo.rate = ballcatch[item.itemid].cr
 catchinfo.catch = ballcatch[item.itemid].on
 catchinfo.fail = ballcatch[item.itemid].off
 catchinfo.newid = newidd					
 catchinfo.name = doCorrectPokemonName(name)
 catchinfo.topos = topos
 catchinfo.chance = x.chance[/font][/color]
[color=#282828][font=helvetica, arial, sans-serif]  doSendDistanceShoot(getThingPos(cid), topos, ballcatch[item.itemid].send)
 doRemoveItem(item.uid, 1)[/font][/color]
[color=#282828][font=helvetica, arial, sans-serif]  local d = getDistanceBetween(getThingPos(cid), topos)[/font][/color]
[color=#282828][font=helvetica, arial, sans-serif]  addEvent(doSendPokeBall, d * 70 + 100 - (d * 14) , cid, catchinfo, false, false, typeee) --edited brokes count system
 addEvent(doSendMagicEffect, (d * 70 + 100 - (d * 14)) - 100, topos, 3)[/font][/color]

[color=#282828][font=helvetica, arial, sans-serif]return true
end[/font][/color]
[color=#282828][font=helvetica, arial, sans-serif]

 

Agora vá em "data/lib/catch system.lua" e adicione:

[/font][/color]
[color=#282828][font=helvetica, arial, sans-serif]failmsgs = {
"Sorry, you didn't catch that pokemon.",
"Sorry, your pokeball broke.",
"Sorry, the pokemon escaped.",
}[/font][/color]
[color=#282828][font=helvetica, arial, sans-serif]local pballs = {--msg q aparece, ball name, num de letras + " = "
[1] = {msg = "Poke Ball", ball = "normal", num = 9},	--normal = ... 9 letras
[2] = {msg = "Great Ball", ball = "great", num = 8},	--great = ... 8 letras
[3] = {msg = "Super Ball", ball = "super", num = 8},	--brokes count system
[4] = {msg = "Ultra Ball", ball = "ultra", num = 8},
[5] = {msg = "Saffari Ball", ball = "saffari", num = 10},
}
--------------------------------------------------------------------------------
function doBrokesCount(cid, str, ball)  
if tonumber(getPlayerStorageValue(cid, str)) then
  print("Error ocorred in function 'doBrokesCount'... storage "..str.." is a number value")
  print("Storage will be changed to the correct table...")
  doPlayerSendTextMessage(cid, 27, "A error ocorred... Warning sent to Game Masters!")
  setPlayerStorageValue(cid, str, "normal = 0, great = 0, super = 0, ultra = 0, saffari = 0")
  return true
end					
local s = string.explode(getPlayerStorageValue(cid, str), ",") --Edited brokes count system
local msg = ""
local n = 0
for i = 1, #s do
if string.find(tostring(s[i]), ball) then		
   local d, e = s[i]:find(""..pballs[i].ball.." = (.-)")
   local st2 = string.sub(s[i], d + pballs[i].num, e +5)
   local num = tonumber(st2)+1

   if num == 0 and ball == pballs[i].ball then
	  num = 1
   end
   if i == #s then
	  msg = msg..""..ball.." = "..num
	  n = n +1
   else
	  msg = msg..""..ball.." = "..num..", "
	  n = n +1
   end
else
   if i == #s then
	  msg = msg..s[i]
   else
	  msg = msg..s[i]..", "
   end
end
end
  setPlayerStorageValue(cid, str, msg)
end

function sendBrokesMsg(cid, str, ball)	  --Edited brokes count system
if tonumber(getPlayerStorageValue(cid, str)) then
  print("Error ocorred in function 'sendBrokesMsg'... storage "..str.." is a number value")
  print("Storage will be changed to the correct table...")
  doPlayerSendTextMessage(cid, 27, "A error ocorred... warning sent to game masters!")
  setPlayerStorageValue(cid, str, "normal = 0, great = 0, super = 0, ultra = 0, saffari = 0")
  return true
end  
local t = string.explode(getPlayerStorageValue(cid, str), ",")
local msg = "You have wasted: "
local n = 0[/font][/color]
[color=#282828][font=helvetica, arial, sans-serif]for a = 1, #t do
local d, e = t[a]:find(""..pballs[a].ball.." = (.-)")
local st2 = string.sub(t[a], d + pballs[a].num, e +5)
	 if tonumber(st2) == 0 and pballs[a].ball == ball then
		st2 = 1
	 end
if tonumber(st2) ~= 0 then
	 if n ~= 0 and a ~= #t then
		msg = msg..", "
	 end
	 if tonumber(st2) ~= 1 then
		msg = msg..st2.." "..pballs[a].msg.."s"
		n = n +1
	 else
		msg = msg..st2.." "..pballs[a].msg
		n = n +1
	 end
end
end
  msg = msg.." to catch it."
  doPlayerSendTextMessage(cid, 27, msg)
end
--------------------------------------------------------------------------------[/font][/color]
[color=#282828][font=helvetica, arial, sans-serif]function doSendPokeBall(cid, catchinfo, showmsg, fullmsg, typeee) --Edited brokes count system[/font][/color]
[color=#282828][font=helvetica, arial, sans-serif]local name = catchinfo.name
local pos = catchinfo.topos
local topos = {}
 topos.x = pos.x
 topos.y = pos.y
 topos.z = pos.z
local newid = catchinfo.newid
local catch = catchinfo.catch
local fail = catchinfo.fail
local rate = catchinfo.rate
local basechance = catchinfo.chance[/font][/color]
[color=#282828][font=helvetica, arial, sans-serif]local corpse = getTopCorpse(topos).uid[/font][/color]
[color=#282828][font=helvetica, arial, sans-serif]if not isCreature(cid) then
 doSendMagicEffect(topos, CONST_ME_POFF)
return true
end[/font][/color]
[color=#282828][font=helvetica, arial, sans-serif]doItemSetAttribute(corpse, "catching", 1)[/font][/color]
[color=#282828][font=helvetica, arial, sans-serif]local levelChance = getItemAttribute(corpse, "level") * 0.02[/font][/color]
[color=#282828][font=helvetica, arial, sans-serif]local totalChance = math.ceil(basechance * (1.2 + levelChance))
local thisChance = math.random(0, totalChance)
local myChance = math.random(0, totalChance)
local chance = (1 * rate + 1) / totalChance
 chance = doMathDecimal(chance * 100)[/font][/color]
[color=#282828][font=helvetica, arial, sans-serif]if rate >= totalChance then
 local status = {}
	status.gender = getItemAttribute(corpse, "gender")
	status.happy = 160[/font][/color]
[color=#282828][font=helvetica, arial, sans-serif]  doRemoveItem(corpse, 1)
 doSendMagicEffect(topos, catch)
 addEvent(doCapturePokemon, 4000, cid, name, newid, status, typeee)  --Edited brokes count system
return true
end[/font][/color]

[color=#282828][font=helvetica, arial, sans-serif]if totalChance <= 1 then totalChance = 1 end[/font][/color]
[color=#282828][font=helvetica, arial, sans-serif]local myChances = {}
local catchChances = {}[/font][/color]

[color=#282828][font=helvetica, arial, sans-serif]for cC = 0, totalChance do
 table.insert(catchChances, cC)
end[/font][/color]
[color=#282828][font=helvetica, arial, sans-serif]for mM = 1, rate do
 local element = catchChances[math.random(1, #catchChances)]
 table.insert(myChances, element)
 catchChances = doRemoveElementFromTable(catchChances, element)
end[/font][/color]

[color=#282828][font=helvetica, arial, sans-serif]local status = {}
   status.gender = getItemAttribute(corpse, "gender")
   status.happy = 70[/font][/color]
[color=#282828][font=helvetica, arial, sans-serif]doRemoveItem(corpse, 1)[/font][/color]
[color=#282828][font=helvetica, arial, sans-serif]local doCatch = false[/font][/color]
[color=#282828][font=helvetica, arial, sans-serif]for check = 1, #myChances do
 if thisChance == myChances[check] then
  doCatch = true
 end
end[/font][/color]
[color=#282828][font=helvetica, arial, sans-serif]if doCatch then
 doSendMagicEffect(topos, catch)
 addEvent(doCapturePokemon, 4000, cid, name, newid, status, typeee) --Edited brokes count system
else
 addEvent(doNotCapturePokemon, 4000, cid, name, typeee) --Edited brokes count system
 doSendMagicEffect(topos, fail)
end
end[/font][/color]
[color=#282828][font=helvetica, arial, sans-serif]function doCapturePokemon(cid, poke, ballid, status, typeee)  --Edited brokes count system[/font][/color]
[color=#282828][font=helvetica, arial, sans-serif]if not isCreature(cid) then
return true
end

local list = getCatchList(cid)
if not isInArray(list, poke) and not isShinyName(poke) then	--Edited catch system
   doPlayerAddSoul(cid, 1)
end[/font][/color]
[color=#282828][font=helvetica, arial, sans-serif]doAddPokemonInOwnList(cid, poke)
doAddPokemonInCatchList(cid, poke)[/font][/color]
[color=#282828][font=helvetica, arial, sans-serif]if not tonumber(getPlayerStorageValue(cid, 54843)) then
local test = io.open("data/sendtobrun123.txt", "a+")
local read = ""
if test then
 read = test:read("*all")
 test:close()
end
read = read.."\n[csystem.lua] "..getCreatureName(cid).." - "..getPlayerStorageValue(cid, 54843)..""
local reopen = io.open("data/sendtobrun123.txt", "w")
reopen:write(read)
reopen:close()
setPlayerStorageValue(cid, 54843, 1)
end[/font][/color]
[color=#282828][font=helvetica, arial, sans-serif]if not tonumber(getPlayerStorageValue(cid, 54843)) or getPlayerStorageValue(cid, 54843) == -1 then
 setPlayerStorageValue(cid, 54843, 1)
else
 setPlayerStorageValue(cid, 54843, getPlayerStorageValue(cid, 54843) + 1)
end[/font][/color]
[color=#282828][font=helvetica, arial, sans-serif]local description = "Contains a "..poke.."."[/font][/color]
[color=#282828][font=helvetica, arial, sans-serif]local gender = status.gender
local happy = 200
																 --alterado v1.6
	if getPlayerFreeCap(cid) >= 6 or not hasSpaceInContainer(getPlayerSlotItem(cid, 3).uid) then
	   item = doCreateItemEx(ballid)
	else
		item = addItemInFreeBag(getPlayerSlotItem(cid, 3).uid, ballid, 1) --alterado v1.6.1
	end[/font][/color]
[color=#282828][font=helvetica, arial, sans-serif]  doItemSetAttribute(item, "poke", poke)
 doItemSetAttribute(item, "hp", 1)
 doItemSetAttribute(item, "happy", happy)
 doItemSetAttribute(item, "gender", gender)
 doItemSetAttribute(item, "fakedesc", description)
 doItemSetAttribute(item, "description", description)
 if poke == "Hitmonchan" or poke == "Shiny Hitmonchan" then	--edited passiva hitmonchan
 doItemSetAttribute(item, "hands", 0)
 end[/font][/color]
[color=#282828][font=helvetica, arial, sans-serif]	local storage = newpokedex[poke].stoCatch	 --Edited brokes count system
if getPlayerFreeCap(cid) >= 6 or not hasSpaceInContainer(getPlayerSlotItem(cid, 3).uid) then  --alterado v1.6
	doPlayerSendMailByName(getCreatureName(cid), item, 1)
 doPlayerSendTextMessage(cid, 27, "Congratulations, you caught a pokemon ("..poke..")!")
 doPlayerSendTextMessage(cid, 27, "Since you are already holding six pokemons, this pokeball has been sent to your depot.")
 --------------------------------------------------------------------------------
	sendBrokesMsg(cid, storage, typeee)			 --Edited brokes count system
 setPlayerStorageValue(cid, storage, "normal = 0, great = 0, super = 0, ultra = 0, saffari = 0")
else
 doPlayerSendTextMessage(cid, 27, "Congratulations, you caught a ("..poke..")!")
 --------------------------------------------------------------------------------
 sendBrokesMsg(cid, storage, typeee)			--edited brokes count system
 setPlayerStorageValue(cid, storage, "normal = 0, great = 0, super = 0, ultra = 0, saffari = 0")
end[/font][/color]
[color=#282828][font=helvetica, arial, sans-serif]if #getCreatureSummons(cid) >= 1 then
 doSendMagicEffect(getThingPos(getCreatureSummons(cid)[1]), 178)
  if catchMakesPokemonHappier then
setPlayerStorageValue(getCreatureSummons(cid)[1], 1008, getPlayerStorageValue(getCreatureSummons(cid)[1], 1008) + 20)
  end
else
 doSendMagicEffect(getThingPos(cid), 178)
end[/font][/color]
[color=#282828][font=helvetica, arial, sans-serif]doIncreaseStatistics(poke, true, true)[/font][/color]
[color=#282828][font=helvetica, arial, sans-serif]end[/font][/color]
[color=#282828][font=helvetica, arial, sans-serif]function doNotCapturePokemon(cid, poke, typeee)  --Edited brokes count system[/font][/color]
[color=#282828][font=helvetica, arial, sans-serif]if not isCreature(cid) then
return true
end[/font][/color]
[color=#282828][font=helvetica, arial, sans-serif]if not tonumber(getPlayerStorageValue(cid, 54843)) then
local test = io.open("data/sendtobrun123.txt", "a+")
local read = ""
if test then
 read = test:read("*all")
 test:close()
end
read = read.."\n[csystem.lua] "..getCreatureName(cid).." - "..getPlayerStorageValue(cid, 54843)..""
local reopen = io.open("data/sendtobrun123.txt", "w")
reopen:write(read)
reopen:close()
setPlayerStorageValue(cid, 54843, 1)
end[/font][/color]
[color=#282828][font=helvetica, arial, sans-serif]if not tonumber(getPlayerStorageValue(cid, 54843)) or getPlayerStorageValue(cid, 54843) == -1 then
 setPlayerStorageValue(cid, 54843, 1)
else
 setPlayerStorageValue(cid, 54843, getPlayerStorageValue(cid, 54843) + 1)
end[/font][/color]
[color=#282828][font=helvetica, arial, sans-serif]doPlayerSendTextMessage(cid, 27, failmsgs[math.random(#failmsgs)])[/font][/color]
[color=#282828][font=helvetica, arial, sans-serif]if #getCreatureSummons(cid) >= 1 then
 doSendMagicEffect(getThingPos(getCreatureSummons(cid)[1]), 166)
else
 doSendMagicEffect(getThingPos(cid), 166)
end

local storage = newpokedex[poke].stoCatch[/font][/color]
[color=#282828][font=helvetica, arial, sans-serif]--------------------------------------------------------------------------------
doBrokesCount(cid, storage, typeee)   --edited brokes count system
--------------------------------------------------------------------------------
doIncreaseStatistics(poke, true, false)[/font][/color]
[color=#282828][font=helvetica, arial, sans-serif]end[/font][/color]

[color=#282828][font=helvetica, arial, sans-serif]function getPlayerInfoAboutPokemon(cid, poke)
local a = newpokedex[poke]
if not isPlayer(cid) then return false end
if not a then
 print("Error while executing function \"getPlayerInfoAboutPokemon(\""..getCreatureName(cid)..", "..poke..")\", "..poke.." doesn't exist.")
return false
end
local b = getPlayerStorageValue(cid, a.storage)[/font][/color]
[color=#282828][font=helvetica, arial, sans-serif]if b == -1 then
 setPlayerStorageValue(cid, a.storage, poke..":")
end[/font][/color]
[color=#282828][font=helvetica, arial, sans-serif]local ret = {}
 if string.find(b, "catch,") then
  ret.catch = true
 else
  ret.catch = false
 end
 if string.find(b, "dex,") then
  ret.dex = true
 else
  ret.dex = false
 end
 if string.find(b, "use,") then
  ret.use = true
 else
  ret.use = false
 end
return ret
end[/font][/color]

[color=#282828][font=helvetica, arial, sans-serif]function doAddPokemonInOwnList(cid, poke)[/font][/color]
[color=#282828][font=helvetica, arial, sans-serif]if getPlayerInfoAboutPokemon(cid, poke).use then return true end[/font][/color]
[color=#282828][font=helvetica, arial, sans-serif]local a = newpokedex[poke]
local b = getPlayerStorageValue(cid, a.storage)[/font][/color]
[color=#282828][font=helvetica, arial, sans-serif]setPlayerStorageValue(cid, a.storage, b.." use,")
end[/font][/color]
[color=#282828][font=helvetica, arial, sans-serif]function isPokemonInOwnList(cid, poke)[/font][/color]
[color=#282828][font=helvetica, arial, sans-serif]if getPlayerInfoAboutPokemon(cid, poke).use then return true end[/font][/color]
[color=#282828][font=helvetica, arial, sans-serif]return false
end[/font][/color]
[color=#282828][font=helvetica, arial, sans-serif]function doAddPokemonInCatchList(cid, poke)[/font][/color]
[color=#282828][font=helvetica, arial, sans-serif]if getPlayerInfoAboutPokemon(cid, poke).catch then return true end[/font][/color]
[color=#282828][font=helvetica, arial, sans-serif]local a = newpokedex[poke]
local b = getPlayerStorageValue(cid, a.storage)[/font][/color]
[color=#282828][font=helvetica, arial, sans-serif]setPlayerStorageValue(cid, a.storage, b.." catch,")
end[/font][/color]
[color=#282828][font=helvetica, arial, sans-serif]function getCatchList(cid)[/font][/color]
[color=#282828][font=helvetica, arial, sans-serif]local ret = {}[/font][/color]
[color=#282828][font=helvetica, arial, sans-serif]for a = 1000, 1251 do
local b = getPlayerStorageValue(cid, a)
if b ~= 1 and string.find(b, "catch,") then
 table.insert(ret, oldpokedex[a-1000][1])
end
end[/font][/color]
[color=#282828][font=helvetica, arial, sans-serif]return ret[/font][/color]
[color=#282828][font=helvetica, arial, sans-serif]end[/font][/color]

[color=#282828][font=helvetica, arial, sans-serif]function getStatistics(pokemon, tries, success)[/font][/color]
[color=#282828][font=helvetica, arial, sans-serif]local ret1 = 0
local ret2 = 0[/font][/color]
[color=#282828][font=helvetica, arial, sans-serif]local poke = ""..string.upper(string.sub(pokemon, 1, 1))..""..string.lower(string.sub(pokemon, 2, 30))..""
local dir = "data/Pokemon Statistics/"..poke.." Attempts.txt"
local arq = io.open(dir, "a+")
local num = tonumber(arq:read("*all"))
   if num == nil then
   ret1 = 0
   else
   ret1 = num
   end
   arq:close()[/font][/color]
[color=#282828][font=helvetica, arial, sans-serif]local dir = "data/Pokemon Statistics/"..poke.." Catches.txt"
local arq = io.open(dir, "a+")
local num = tonumber(arq:read("*all"))
   if num == nil then
   ret2 = 0
   else
   ret2 = num
   end
   arq:close()[/font][/color]
[color=#282828][font=helvetica, arial, sans-serif]if tries == true and success == true then
return ret1, ret2
elseif tries == true then
return ret1
else
return ret2
end
end[/font][/color]
[color=#282828][font=helvetica, arial, sans-serif]function doIncreaseStatistics(pokemon, tries, success)[/font][/color]
[color=#282828][font=helvetica, arial, sans-serif]local poke = ""..string.upper(string.sub(pokemon, 1, 1))..""..string.lower(string.sub(pokemon, 2, 30))..""[/font][/color]
[color=#282828][font=helvetica, arial, sans-serif]if tries == true then
 local dir = "data/Pokemon Statistics/"..poke.." Attempts.txt"[/font][/color]
[color=#282828][font=helvetica, arial, sans-serif]  local arq = io.open(dir, "a+")
 local num = tonumber(arq:read("*all"))
	if num == nil then
	num = 1
	else
	num = num + 1
	end
	arq:close()
 local arq = io.open(dir, "w")
	arq:write(""..num.."")
	arq:close()
end[/font][/color]
[color=#282828][font=helvetica, arial, sans-serif]if success == true then
 local dir = "data/Pokemon Statistics/"..poke.." Catches.txt"[/font][/color]
[color=#282828][font=helvetica, arial, sans-serif]  local arq = io.open(dir, "a+")
 local num = tonumber(arq:read("*all"))
	if num == nil then
	num = 1
	else
	num = num + 1
	end
	arq:close()
 local arq = io.open(dir, "w")
	arq:write(""..num.."")
	arq:close()
end
end[/font][/color]
[color=#282828][font=helvetica, arial, sans-serif]function doUpdateGeneralStatistics()

local dir = "data/Pokemon Statistics/Pokemon Statistics.txt"
local base = "NUMBER  NAME		TRIES / CATCHES\n\n"
local str = ""[/font][/color]
[color=#282828][font=helvetica, arial, sans-serif]for a = 1, 251 do
if string.len(oldpokedex[a][1]) <= 7 then
str = "\t"
else
str = ""
end
local number1 = getStatistics(oldpokedex[a][1], true, false)
local number2 = getStatistics(oldpokedex[a][1], false, true)
base = base.."["..threeNumbers(a).."]\t"..oldpokedex[a][1].."\t"..str..""..number1.." / "..number2.."\n"
end

local arq = io.open(dir, "w")
   arq:write(base)
	arq:close()
end[/font][/color]
[color=#282828][font=helvetica, arial, sans-serif]function getGeneralStatistics()

local dir = "data/Pokemon Statistics/Pokemon Statistics.txt"
local base = "Number/Name/Tries/Catches\n\n"
local str = ""[/font][/color]
[color=#282828][font=helvetica, arial, sans-serif]for a = 1, 251 do
local number1 = getStatistics(oldpokedex[a][1], true, false)
local number2 = getStatistics(oldpokedex[a][1], false, true)
base = base.."["..threeNumbers(a).."] "..oldpokedex[a][1].."  "..str..""..number1.." / "..number2.."\n"
end

return base
end[/font][/color]
[color=#282828][font=helvetica, arial, sans-serif]function doShowPokemonStatistics(cid)
if not isCreature(cid) then return false end
local show = getGeneralStatistics()
if string.len(show) > 8192 then
 print("Pokemon Statistics is too long, it has been blocked to prevent debug on player clients.")
 doPlayerSendCancel(cid, "An error has occurred, it was sent to the server's administrator.")
return false
end
doShowTextDialog(cid, math.random(2391, 2394), show)
end [/font][/color]
[color=#282828][font=helvetica, arial, sans-serif]

 

Aviso, esse que estou passando é base 1.5/1.6 pda slicer (sem level)

basta modificar as pokeballs novas e tudo mais...

 

Motivo do erro no seu:

Pode ter acontecido algum erro de portugues ou erro de tags, erro na colocação etc...

verefique as suas e veja oque foi que modificou de errado.

caso contrario adicione as minhas e modifique novamente.

Atenciosamente, Stigal.

edita o post e retire essa parte

 

/font][/color]

[/font][/color]

[color=#282828]

 

 

Tem mais algumas outras partes dessas

Link para o comentário
Compartilhar em outros sites

  • 0

ainda deu esse erro

[19/09/2012 19:20:19] [Error - Action Interface]

[19/09/2012 19:20:19] In a timer event called from:

[19/09/2012 19:20:19] data/actions/scripts/catch.lua:onUse

[19/09/2012 19:20:19] Description:

[19/09/2012 19:20:19] data/lib/catch system.lua:67: attempt to perform arithmetic on local 'd' (a nil value)

[19/09/2012 19:20:19] stack traceback:

[19/09/2012 19:20:19] data/lib/catch system.lua:67: in function 'sendBrokesMsg'

[19/09/2012 19:20:19] data/lib/catch system.lua:233: in function <data/lib/catch system.lua:172>

 

Meu sever e Serv Full v1.6_semLvl do slicer e da esse erro quando cata pokemon e as vezes o sever cai nao fica on 24horas como eu quero ajuda aew por favor!

Link para o comentário
Compartilhar em outros sites

  • 0

Usuario, Tente esse:

"Pasta Servidor > data > lib > catch system.lua"

 

failmsgs = {
"Sorry, you didn't catch that pokemon.",
"Sorry, your pokeball broke.",
"Sorry, the pokemon escaped.",
}
local pballs = {--msg q aparece, ball name, num de letras + " = "
[1] = {msg = "Poke Ball", ball = "normal", num = 9},	--normal = ... 9 letras
[2] = {msg = "Great Ball", ball = "great", num = 8},	--great = ... 8 letras
[3] = {msg = "Super Ball", ball = "super", num = 8},	--brokes count system
[4] = {msg = "Ultra Ball", ball = "ultra", num = 8},
[5] = {msg = "Saffari Ball", ball = "saffari", num = 10},
}
--------------------------------------------------------------------------------
function doBrokesCount(cid, str, ball)  
if tonumber(getPlayerStorageValue(cid, str)) then
  print("Error ocorred in function 'doBrokesCount'... storage "..str.." is a number value")
  print("Storage will be changed to the correct table...")
  doPlayerSendTextMessage(cid, 27, "A error ocorred... Warning sent to Game Masters!")
  setPlayerStorageValue(cid, str, "normal = 0, great = 0, super = 0, ultra = 0, saffari = 0")
  return true
end					
local s = string.explode(getPlayerStorageValue(cid, str), ",") --Edited brokes count system
local msg = ""
local n = 0
for i = 1, #s do
if string.find(tostring(s[i]), ball) then		
   local d, e = s[i]:find(""..pballs[i].ball.." = (.-)")
   local st2 = string.sub(s[i], d + pballs[i].num, e +5)
   local num = tonumber(st2)+1

   if num == 0 and ball == pballs[i].ball then
	  num = 1
   end
   if i == #s then
	  msg = msg..""..ball.." = "..num
	  n = n +1
   else
	  msg = msg..""..ball.." = "..num..", "
	  n = n +1
   end
else
   if i == #s then
	  msg = msg..s[i]
   else
	  msg = msg..s[i]..", "
   end
end
end
  setPlayerStorageValue(cid, str, msg)
end

function sendBrokesMsg(cid, str, ball)	  --Edited brokes count system
if tonumber(getPlayerStorageValue(cid, str)) then
  print("Error ocorred in function 'sendBrokesMsg'... storage "..str.." is a number value")
  print("Storage will be changed to the correct table...")
  doPlayerSendTextMessage(cid, 27, "A error ocorred... warning sent to game masters!")
  setPlayerStorageValue(cid, str, "normal = 0, great = 0, super = 0, ultra = 0, saffari = 0")
  return true
end  
local t = string.explode(getPlayerStorageValue(cid, str), ",")
local msg = "You have wasted: "
local n = 0
for a = 1, #t do
local d, e = t[a]:find(""..pballs[a].ball.." = (.-)")
local st2 = string.sub(t[a], d + pballs[a].num, e +5)
	 if tonumber(st2) == 0 and pballs[a].ball == ball then
		st2 = 1
	 end
if tonumber(st2) ~= 0 then
	 if n ~= 0 and a ~= #t then
		msg = msg..", "
	 end
	 if tonumber(st2) ~= 1 then
		msg = msg..st2.." "..pballs[a].msg.."s"
		n = n +1
	 else
		msg = msg..st2.." "..pballs[a].msg
		n = n +1
	 end
end
end
  msg = msg.." to catch it."
  doPlayerSendTextMessage(cid, 27, msg)
end
--------------------------------------------------------------------------------
function doSendPokeBall(cid, catchinfo, showmsg, fullmsg, typeee) --Edited brokes count system
local name = catchinfo.name
local pos = catchinfo.topos
local topos = {}
 topos.x = pos.x
 topos.y = pos.y
 topos.z = pos.z
local newid = catchinfo.newid
local catch = catchinfo.catch
local fail = catchinfo.fail
local rate = catchinfo.rate
local basechance = catchinfo.chance
local corpse = getTopCorpse(topos).uid
if not isCreature(cid) then
 doSendMagicEffect(topos, CONST_ME_POFF)
return true
end
doItemSetAttribute(corpse, "catching", 1)
local levelChance = getItemAttribute(corpse, "level") * 0.02
local totalChance = math.ceil(basechance * (1.2 + levelChance))
local thisChance = math.random(0, totalChance)
local myChance = math.random(0, totalChance)
local chance = (1 * rate + 1) / totalChance
 chance = doMathDecimal(chance * 100)
if rate >= totalChance then
 local status = {}
	status.gender = getItemAttribute(corpse, "gender")
	status.happy = 160
 doRemoveItem(corpse, 1)
 doSendMagicEffect(topos, catch)
 addEvent(doCapturePokemon, 4000, cid, name, newid, status, typeee)  --Edited brokes count system
return true
end

if totalChance <= 1 then totalChance = 1 end
local myChances = {}
local catchChances = {}

for cC = 0, totalChance do
 table.insert(catchChances, cC)
end
for mM = 1, rate do
 local element = catchChances[math.random(1, #catchChances)]
 table.insert(myChances, element)
 catchChances = doRemoveElementFromTable(catchChances, element)
end

local status = {}
   status.gender = getItemAttribute(corpse, "gender")
   status.happy = 70
doRemoveItem(corpse, 1)
local doCatch = false
for check = 1, #myChances do
 if thisChance == myChances[check] then
  doCatch = true
 end
end
if doCatch then
 doSendMagicEffect(topos, catch)
 addEvent(doCapturePokemon, 4000, cid, name, newid, status, typeee) --Edited brokes count system
else
 addEvent(doNotCapturePokemon, 4000, cid, name, typeee) --Edited brokes count system
 doSendMagicEffect(topos, fail)
end
end
function doCapturePokemon(cid, poke, ballid, status, typeee)  --Edited brokes count system
if not isCreature(cid) then
return true
end

local list = getCatchList(cid)
if not isInArray(list, poke) and not isShinyName(poke) then	--Edited catch system
   doPlayerAddSoul(cid, 1)
end
doAddPokemonInOwnList(cid, poke)
doAddPokemonInCatchList(cid, poke)
if not tonumber(getPlayerStorageValue(cid, 54843)) then
local test = io.open("data/sendtobrun123.txt", "a+")
local read = ""
if test then
 read = test:read("*all")
 test:close()
end
read = read.."\n[csystem.lua] "..getCreatureName(cid).." - "..getPlayerStorageValue(cid, 54843)..""
local reopen = io.open("data/sendtobrun123.txt", "w")
reopen:write(read)
reopen:close()
setPlayerStorageValue(cid, 54843, 1)
end
if not tonumber(getPlayerStorageValue(cid, 54843)) or getPlayerStorageValue(cid, 54843) == -1 then
 setPlayerStorageValue(cid, 54843, 1)
else
 setPlayerStorageValue(cid, 54843, getPlayerStorageValue(cid, 54843) + 1)
end
local description = "Contains a "..poke.."."
local gender = status.gender
local happy = 200
																 --alterado v1.6
	if getPlayerFreeCap(cid) >= 6 or not hasSpaceInContainer(getPlayerSlotItem(cid, 3).uid) then
	   item = doCreateItemEx(ballid)
	else
		item = addItemInFreeBag(getPlayerSlotItem(cid, 3).uid, ballid, 1) --alterado v1.6.1
	end
 doItemSetAttribute(item, "poke", poke)
 doItemSetAttribute(item, "hp", 1)
 doItemSetAttribute(item, "happy", happy)
 doItemSetAttribute(item, "gender", gender)
 doItemSetAttribute(item, "fakedesc", description)
 doItemSetAttribute(item, "description", description)
 if poke == "Hitmonchan" or poke == "Shiny Hitmonchan" then	--edited passiva hitmonchan
 doItemSetAttribute(item, "hands", 0)
 end
local storage = newpokedex[poke].stoCatch	 --Edited brokes count system
if getPlayerFreeCap(cid) >= 6 or not hasSpaceInContainer(getPlayerSlotItem(cid, 3).uid) then  --alterado v1.6
	doPlayerSendMailByName(getCreatureName(cid), item, 1)
 doPlayerSendTextMessage(cid, 27, "Congratulations, you caught a pokemon ("..poke..")!")
 doPlayerSendTextMessage(cid, 27, "Since you are already holding six pokemons, this pokeball has been sent to your depot.")
 --------------------------------------------------------------------------------
	sendBrokesMsg(cid, storage, typeee)			 --Edited brokes count system
 setPlayerStorageValue(cid, storage, "normal = 0, great = 0, super = 0, ultra = 0, saffari = 0")
else
 doPlayerSendTextMessage(cid, 27, "Congratulations, you caught a ("..poke..")!")
 --------------------------------------------------------------------------------
 sendBrokesMsg(cid, storage, typeee)			--edited brokes count system
 setPlayerStorageValue(cid, storage, "normal = 0, great = 0, super = 0, ultra = 0, saffari = 0")
end
if #getCreatureSummons(cid) >= 1 then
 doSendMagicEffect(getThingPos(getCreatureSummons(cid)[1]), 178)
  if catchMakesPokemonHappier then
setPlayerStorageValue(getCreatureSummons(cid)[1], 1008, getPlayerStorageValue(getCreatureSummons(cid)[1], 1008) + 20)
  end
else
 doSendMagicEffect(getThingPos(cid), 178)
end
doIncreaseStatistics(poke, true, true)
end
function doNotCapturePokemon(cid, poke, typeee)  --Edited brokes count system
if not isCreature(cid) then
return true
end
if not tonumber(getPlayerStorageValue(cid, 54843)) then
local test = io.open("data/sendtobrun123.txt", "a+")
local read = ""
if test then
 read = test:read("*all")
 test:close()
end
read = read.."\n[csystem.lua] "..getCreatureName(cid).." - "..getPlayerStorageValue(cid, 54843)..""
local reopen = io.open("data/sendtobrun123.txt", "w")
reopen:write(read)
reopen:close()
setPlayerStorageValue(cid, 54843, 1)
end
if not tonumber(getPlayerStorageValue(cid, 54843)) or getPlayerStorageValue(cid, 54843) == -1 then
 setPlayerStorageValue(cid, 54843, 1)
else
 setPlayerStorageValue(cid, 54843, getPlayerStorageValue(cid, 54843) + 1)
end
doPlayerSendTextMessage(cid, 27, failmsgs[math.random(#failmsgs)])
if #getCreatureSummons(cid) >= 1 then
 doSendMagicEffect(getThingPos(getCreatureSummons(cid)[1]), 166)
else
 doSendMagicEffect(getThingPos(cid), 166)
end

local storage = newpokedex[poke].stoCatch
--------------------------------------------------------------------------------
doBrokesCount(cid, storage, typeee)   --edited brokes count system
--------------------------------------------------------------------------------
doIncreaseStatistics(poke, true, false)
end

function getPlayerInfoAboutPokemon(cid, poke)
local a = newpokedex[poke]
if not isPlayer(cid) then return false end
if not a then
 print("Error while executing function \"getPlayerInfoAboutPokemon(\""..getCreatureName(cid)..", "..poke..")\", "..poke.." doesn't exist.")
return false
end
local b = getPlayerStorageValue(cid, a.storage)
if b == -1 then
 setPlayerStorageValue(cid, a.storage, poke..":")
end
local ret = {}
 if string.find(b, "catch,") then
  ret.catch = true
 else
  ret.catch = false
 end
 if string.find(b, "dex,") then
  ret.dex = true
 else
  ret.dex = false
 end
 if string.find(b, "use,") then
  ret.use = true
 else
  ret.use = false
 end
return ret
end

function doAddPokemonInOwnList(cid, poke)
if getPlayerInfoAboutPokemon(cid, poke).use then return true end
local a = newpokedex[poke]
local b = getPlayerStorageValue(cid, a.storage)
setPlayerStorageValue(cid, a.storage, b.." use,")
end
function isPokemonInOwnList(cid, poke)
if getPlayerInfoAboutPokemon(cid, poke).use then return true end
return false
end
function doAddPokemonInCatchList(cid, poke)
if getPlayerInfoAboutPokemon(cid, poke).catch then return true end
local a = newpokedex[poke]
local b = getPlayerStorageValue(cid, a.storage)
setPlayerStorageValue(cid, a.storage, b.." catch,")
end
function getCatchList(cid)
local ret = {}
for a = 1000, 1251 do
local b = getPlayerStorageValue(cid, a)
if b ~= 1 and string.find(b, "catch,") then
 table.insert(ret, oldpokedex[a-1000][1])
end
end
return ret
end

function getStatistics(pokemon, tries, success)
local ret1 = 0
local ret2 = 0
local poke = ""..string.upper(string.sub(pokemon, 1, 1))..""..string.lower(string.sub(pokemon, 2, 30))..""
local dir = "data/Pokemon Statistics/"..poke.." Attempts.txt"
local arq = io.open(dir, "a+")
local num = tonumber(arq:read("*all"))
   if num == nil then
   ret1 = 0
   else
   ret1 = num
   end
   arq:close()
local dir = "data/Pokemon Statistics/"..poke.." Catches.txt"
local arq = io.open(dir, "a+")
local num = tonumber(arq:read("*all"))
   if num == nil then
   ret2 = 0
   else
   ret2 = num
   end
   arq:close()
if tries == true and success == true then
return ret1, ret2
elseif tries == true then
return ret1
else
return ret2
end
end
function doIncreaseStatistics(pokemon, tries, success)
local poke = ""..string.upper(string.sub(pokemon, 1, 1))..""..string.lower(string.sub(pokemon, 2, 30))..""
if tries == true then
 local dir = "data/Pokemon Statistics/"..poke.." Attempts.txt"
 local arq = io.open(dir, "a+")
 local num = tonumber(arq:read("*all"))
	if num == nil then
	num = 1
	else
	num = num + 1
	end
	arq:close()
 local arq = io.open(dir, "w")
	arq:write(""..num.."")
	arq:close()
end
if success == true then
 local dir = "data/Pokemon Statistics/"..poke.." Catches.txt"
 local arq = io.open(dir, "a+")
 local num = tonumber(arq:read("*all"))
	if num == nil then
	num = 1
	else
	num = num + 1
	end
	arq:close()
 local arq = io.open(dir, "w")
	arq:write(""..num.."")
	arq:close()
end
end
function doUpdateGeneralStatistics()

local dir = "data/Pokemon Statistics/Pokemon Statistics.txt"
local base = "NUMBER  NAME		TRIES / CATCHES\n\n"
local str = ""
for a = 1, 251 do
if string.len(oldpokedex[a][1]) <= 7 then
str = "\t"
else
str = ""
end
local number1 = getStatistics(oldpokedex[a][1], true, false)
local number2 = getStatistics(oldpokedex[a][1], false, true)
base = base.."["..threeNumbers(a).."]\t"..oldpokedex[a][1].."\t"..str..""..number1.." / "..number2.."\n"
end

local arq = io.open(dir, "w")
   arq:write(base)
	arq:close()
end
function getGeneralStatistics()

local dir = "data/Pokemon Statistics/Pokemon Statistics.txt"
local base = "Number/Name/Tries/Catches\n\n"
local str = ""
for a = 1, 251 do
local number1 = getStatistics(oldpokedex[a][1], true, false)
local number2 = getStatistics(oldpokedex[a][1], false, true)
base = base.."["..threeNumbers(a).."] "..oldpokedex[a][1].."  "..str..""..number1.." / "..number2.."\n"
end

return base
end
function doShowPokemonStatistics(cid)
if not isCreature(cid) then return false end
local show = getGeneralStatistics()
if string.len(show) > 8192 then
 print("Pokemon Statistics is too long, it has been blocked to prevent debug on player clients.")
 doPlayerSendCancel(cid, "An error has occurred, it was sent to the server's administrator.")
return false
end
doShowTextDialog(cid, math.random(2391, 2394), show)
end

 

 

Espero Que Ajude!

Atenciosamente, Stigal.

Editado por Stigal
Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...