Ir para conteúdo

[Encerrado] Sistema de Catch


jonatasjho

Posts Recomendados

 

Amigo creio que seja o catch.lua

 

use esse catch.lua aqui e veja se o erro continua.

 

Catch.lua:

Spoiler
Bom que eu me lembre o meu centurion tambem estava dando esse erro e eu mudei o catch.lua e deu certo, enfim caso não de certo e não tenha erro no distro ao jogar a ball fica dificil lhe ajudar, enfim teste ai e me mande resposta!

Bhoris tentei, mas agora nem aparece mais a ball quando coloco-a no corpo do pokemon, anteriormete a ball ia, mas não fazia nada, porem agora não da nem pra tacar a ball)...

Obs.: Os ID's das Balls estão todos batendo!

Caracas coisinha complicada eim kkk'

Link para o comentário
Compartilhar em outros sites

local ballcatch = {
[2394] = {cr = 5, on = 24, off = 23, ball = 11826, send = 47},
[2391] = {cr = 10, on = 198, off = 197, ball = 11832, send = 48},
[2393] = {cr = 15, on = 202, off = 201, ball = 11835, send = 46},
[2392] = {cr = 20, on = 200, off = 199, ball = 11829, send = 49},
[556] = {cr = 40, on = 187, off = 176, ball = 554, send = 45},
}

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)]

	if not x then return true end

		local owner = getItemAttribute(item2.uid, "corpseowner")
	
		if owner and isCreature(owner) and isPlayer(owner) and cid ~= owner and isInArray({1,9}, getPlayerGroupId(cid)) then
		doPlayerSendCancel(cid, "You are not allowed to catch this pokemon.")
		return true
		end

	local catchinfo = {}
		catchinfo.rate = ballcatch[item.itemid].cr
		catchinfo.catch = ballcatch[item.itemid].on
		catchinfo.fail = ballcatch[item.itemid].off
		catchinfo.newid = ballcatch[item.itemid].ball
		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)
		addEvent(doSendMagicEffect, (d * 70 + 100 - (d * 14)) - 100, topos, 3)

return true
end

Segue ai Bhoris, desde ja Obrigado pela atenção!

Link para o comentário
Compartilhar em outros sites

Amigo, tente esse:

 

 

 

local ballcatch = {
[2394] = {cr = 5, on = 24, off = 23, ball = 11826, send = 47},
[2391] = {cr = 10, on = 198, off = 197, ball = 11832, send = 48},
[2393] = {cr = 15, on = 202, off = 201, ball = 11835, send = 46},
[2392] = {cr = 20, on = 200, off = 199, ball = 11829, send = 49},
[556] = {cr = 40, on = 187, off = 176, ball = 554, send = 45},
}
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
if getItemAttribute(item2.uid, "golden") and getItemAttribute(item2.uid, "golden") == 1 then
return doPlayerSendCancel(cid, "You can't try to catch a pokemon in the Golden Arena!")
end
local lendarios = {"Kyogre"}
if isInArray(lendarios, name) then
return true
end
local name = string.lower(getItemNameById(item2.itemid))
name = string.gsub(name, "fainted ", "")
name = string.gsub(name, "defeated ", "")
name = doCorrectPokemonName(name)
local x = pokecatches[name]
local storage = newpokedex[doCorrectPokemonName(name)].stoCatch
if getPlayerStorageValue(cid, storage) == -1 or not string.find(getPlayerStorageValue(cid, storage), ";") 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
doPlayerSendCancel(cid, "You are not allowed to catch this pokemon.")
return true
end
local newidd = isShinyName(name) and ballcatch[item.itemid].ball[2] or ballcatch[item.itemid].ball[1]
local 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)
if getPlayerStorageValue(cid, 98796) >= 1 and getPlayerItemCount(cid, 12617) <= 0 then
setPlayerStorageValue(cid, 98796, -1)
setPlayerStorageValue(cid, 98797, -1)
doTeleportThing(cid, SafariOut, false)
doSendMagicEffect(getThingPos(cid), 21)
doPlayerSendTextMessage(cid, 27, "You spend all your 'saffari balls', good luck in the next time...")
end
addEvent(doSendPokeBall, d * 70 + 100 - (d * 14) , cid, catchinfo, false, false, typeee)
addEvent(doSendMagicEffect, (d * 70 + 100 - (d * 14)) - 100, topos, 3)
return true
end

Link para o comentário
Compartilhar em outros sites

 

Amigo, tente esse:

 

 

 

local ballcatch = {
[2394] = {cr = 5, on = 24, off = 23, ball = 11826, send = 47},
[2391] = {cr = 10, on = 198, off = 197, ball = 11832, send = 48},
[2393] = {cr = 15, on = 202, off = 201, ball = 11835, send = 46},
[2392] = {cr = 20, on = 200, off = 199, ball = 11829, send = 49},
[556] = {cr = 40, on = 187, off = 176, ball = 554, send = 45},
}
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
if getItemAttribute(item2.uid, "golden") and getItemAttribute(item2.uid, "golden") == 1 then
return doPlayerSendCancel(cid, "You can't try to catch a pokemon in the Golden Arena!")
end
local lendarios = {"Kyogre"}
if isInArray(lendarios, name) then
return true
end
local name = string.lower(getItemNameById(item2.itemid))
name = string.gsub(name, "fainted ", "")
name = string.gsub(name, "defeated ", "")
name = doCorrectPokemonName(name)
local x = pokecatches[name]
local storage = newpokedex[doCorrectPokemonName(name)].stoCatch
if getPlayerStorageValue(cid, storage) == -1 or not string.find(getPlayerStorageValue(cid, storage), ";") 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
doPlayerSendCancel(cid, "You are not allowed to catch this pokemon.")
return true
end
local newidd = isShinyName(name) and ballcatch[item.itemid].ball[2] or ballcatch[item.itemid].ball[1]
local 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)
if getPlayerStorageValue(cid, 98796) >= 1 and getPlayerItemCount(cid, 12617) <= 0 then
setPlayerStorageValue(cid, 98796, -1)
setPlayerStorageValue(cid, 98797, -1)
doTeleportThing(cid, SafariOut, false)
doSendMagicEffect(getThingPos(cid), 21)
doPlayerSendTextMessage(cid, 27, "You spend all your 'saffari balls', good luck in the next time...")
end
addEvent(doSendPokeBall, d * 70 + 100 - (d * 14) , cid, catchinfo, false, false, typeee)
addEvent(doSendMagicEffect, (d * 70 + 100 - (d * 14)) - 100, topos, 3)
return true
end

 

Vixi Bhoris continua o erro, não da nem pra tacar a ball...

Negocinho complicado esse eim...

Link para o comentário
Compartilhar em outros sites

  • 4 weeks later...
  • 4 years later...
A questão neste tópico de suporte foi encerrada por falta de respostas. Este tópico está fechado e foi movido para Suporte - Tópicos Sem Resposta.

+ Caso a dúvida não tenha sido resolvida você poderá criar outro tópico solicitando ajuda.
* Lembre-se que é permitido dar UP no tópico a cada 24 horas para assim o destacar e manter movimentado.
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...