Ir para conteúdo

[Encerrado] [Pokemon] Dúvidas? - Pda


lucashgas

Posts Recomendados

@ALL. Agr vim mostra o mapa com a Cerulean City feita mdr.gif . Comentem. [Lembrem ainda não está 100% e o mapa é editado do dash advanced e não KPDO. By: eu]

 

 

1h6kx3.png

 

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

Slicer

 

Erro \/

 

 

[01/09/2012 00:01:16] [Error - Action Interface]

[01/09/2012 00:01:16] In a timer event called from:

[01/09/2012 00:01:16] data/actions/scripts/catch.lua:onUse

[01/09/2012 00:01:16] Description:

[01/09/2012 00:01:16] data/lib/catch system.lua:21: attempt to index a nil value

[01/09/2012 00:01:16] stack traceback:

[01/09/2012 00:01:16] data/lib/catch system.lua:21: in function <data/lib/catch system.lua:7>

 

 

Script \/

 

 

failmsgs = {

"Sorry, you didn't catch that pokemon.",

"Sorry, your pokeball broke.",

"Sorry, the pokemon escaped.",

}

function doSendPokeBall(cid, catchinfo, showmsg, fullmsg)

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 leveltable = getPokemonExperienceTable(name)

local chance = (1 * rate + 1) / totalChance

chance = doMathDecimal(chance * 100)

if rate >= totalChance then

local status = {}

status.clevel = tonumber(getItemAttribute(corpse, "level"))

local clevel = status.clevel

status.cexp = leveltable[clevel]

local cexp = status.cexp

status.cnext = leveltable[clevel+1] - cexp

status.coffense = getItemAttribute(corpse, "offense")

status.cdefense = getItemAttribute(corpse, "defense")

status.cspeed = getItemAttribute(corpse, "speed")

status.cvitality = getItemAttribute(corpse, "vitality")

status.cspatk = getItemAttribute(corpse, "spattack")

status.gender = getItemAttribute(corpse, "gender")

status.happy = 160

doRemoveItem(corpse, 1)

doSendMagicEffect(topos, catch)

addEvent(doCapturePokemon, 4000, cid, name, newid, status)

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.clevel = tonumber(getItemAttribute(corpse, "level"))

local clevel = status.clevel

status.cexp = leveltable[clevel]

local cexp = status.cexp

status.cnext = leveltable[clevel+1] - cexp

status.coffense = getItemAttribute(corpse, "offense")

status.cdefense = getItemAttribute(corpse, "defense")

status.cspeed = getItemAttribute(corpse, "speed")

status.cvitality = getItemAttribute(corpse, "vitality")

status.cspatk = getItemAttribute(corpse, "spattack")

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)

else

addEvent(doNotCapturePokemon, 4000, cid, name)

doSendMagicEffect(topos, fail)

end

end

function doCapturePokemon(cid, poke, ballid, status)

if not isCreature(cid) then

return true

end

doPlayerAddSoul(cid, 1)

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 leveltable = getPokemonExperienceTable(poke)

local clevel = status.clevel

local cexp = leveltable[clevel]

local cnext = leveltable[clevel+1] - cexp

local coffense = status.coffense

local cdefense = status.cdefense

local cspeed = status.cspeed

local cvitality = status.cvitality

local cspatk = status.cspatk

local gender = status.gender

local happy = 200

local item = doCreateItemEx(ballid)

doItemSetAttribute(item, "poke", poke)

doItemSetAttribute(item, "hp", 1)

doItemSetAttribute(item, "offense", coffense)

doItemSetAttribute(item, "level", clevel)

doItemSetAttribute(item, "exp", cexp)

doItemSetAttribute(item, "nextlevelexp", cnext)

doItemSetAttribute(item, "defense", cdefense)

doItemSetAttribute(item, "speed", cspeed)

doItemSetAttribute(item, "vitality", cvitality)

doItemSetAttribute(item, "specialattack", cspatk)

doItemSetAttribute(item, "happy", happy)

doItemSetAttribute(item, "gender", gender)

doItemSetAttribute(item, "fakedesc", description)

doItemSetAttribute(item, "description", description)

doItemSetAttribute(item, "addon", 0)

if poke == "Hitmonchan" or poke == "Shiny Hitmonchan" then

doItemSetAttribute(item, "hands", 0)

end

if getPlayerFreeCap(cid) >= 6 then

doPlayerSendMailByName(getCreatureName(cid), item, 1)

doPlayerSendTextMessage(cid, 27, "Congratulations, you caught a pokemon ("..poke..", level "..clevel..")!")

doPlayerSendTextMessage(cid, 27, "Since you are already holding six pokemons, this pokeball has been sent to your depot.")

else

doAddContainerItemEx(getPlayerSlotItem(cid, 3).uid, item)

doPlayerSendTextMessage(cid, 27, "Congratulations, you caught a "..poke.." (level "..clevel..")!")

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) + math.floor(clevel / 2))

end

else

doSendMagicEffect(getThingPos(cid), 178)

end

doIncreaseStatistics(poke, true, true)

end

function doNotCapturePokemon(cid, poke)

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

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

 

Link para o comentário
Compartilhar em outros sites

@Brunnoo

xi mano... a linha 21, q eh a linha q o bug ta flando, eh um return true... ;x odeio quando essas bruxarias acontecem... esse erro soh acontecer 1x? ou acontece direto? provavel q seja algum dos atributos do catchinfo q falto n sei... ;x

 

@pedrowarlock

pelo q eu saiba eh soh hookar a .dll pra um client nosso, e descobrir como a barra funciona... ;x mas eu n sei fazer nenhuma das duas opçoes.. e nem lembro quem foi q hooko a nossa atual .dll... ;x

 

@StyloMaldoso

ta verei sobre as portas...

e sobre os pokes n andarem... isso eh do GOD ms.. ele tem group id de os bixos ignorarem ele... dai quando n tem mais ngm no serv eles ficam parados ms.. ;x

 

@Wiisht

mano pelo q vi aki o script q faz o !leave eh o talkactions/scripts/leavehouse.lua... mas oq faz ms a house fica vazia eh a function 'setHouseOwner' q provavelmente esta nas sources... ;/

Link para o comentário
Compartilhar em outros sites

@All, eu e meu amigo (samuka, negocio assim ¬¬), resolvemos fazer mapa proprio, igual alguns daqui do forum disse, "copia pxg copia, mais niguem vai querer joga algo que jah existe."

Começei ontem o mapa, adicionei 3 cidades estou adicionando respaw, to indo de vagar u.u ;3

@Screen.

33m4fg8.jpg

 

aceito opinao, iremos fazer ilha laranja 100% nosso :p

Falta detalhes OBVIO, pois começei ontem (Quinta), e copei e colei as citys e to editando ;.3

 

ele ta serto o rpg do pokemon é que as casas seja quadrada onde ja se viu casa redonda?

 

@Leandreo

Realmente da o nome de "Town" a isso ai pra mim ta otimo assim, da pra colocar uns npcs para quest além de casas.

 

Muito melhor do que o do StyloNooboso kkkkkk

 

man fais melhor vei sem maldade tu é chato pra *****, nao vou colokar esse chingamento porque sou educado e que mfeis akelas cidades fui eu pra voçe saber. e voçe ja olho no PXG as casas sao quadrads tbm fiote

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

@Slicer

 

eu acho que achei o erro na final da script yam um espaço enorme eu deixei no final sem espaço e testei o cath ate agora ta normal vou deixa on assim pra ver se era issu mesmo esse espaço que tinha mais vlws aii por tenta ajudar ^^

Link para o comentário
Compartilhar em outros sites

@off

serio... serio... agora do nd os pokes com sleep e paralyze conseguem andar.. --' ms com 0 de velo... comofas? so pq queria postar rapido me aparece essas coisas... ;/ ta osso...

Link para o comentário
Compartilhar em outros sites

slicer, na minha opinião ja deu vey na boa.. serve sem soucer é uma bosst4

 

do nada aparece um bug, ele nunkaa estabiliza =/

 

Já desisti faz tempo, já estou com meu projeto com sources e já passei quase todos sistemas do PDA pra ele... não sei como vocês foram tão longe com um servidor sem sources.. parabéns (:

Link para o comentário
Compartilhar em outros sites

@DarkeyreN

vlw ^^ eu faço oq posso mas agora to 'de boca'... ;/ eu seto a velo do poke para 0 e no instante seguinte ele volta com a velo normal... deve ter algum script maldito me trolando por ae.. ;/

Link para o comentário
Compartilhar em outros sites

@fstatk

when i use one skill of Sleep or Paralyze, the pokemon is with zero speed, but in the next second he begins to walk again...

idk what script are making this shit walks again.. ;/ and only happens with summons ;p

 

@off

descobri q isso soh acontece quando se pega target depois de tomar o paralyze ou sleep... ;/ achu q eh o sistema de pokes passivos do brun... ;/ eh como ja flaram ae... sem source eh foda...

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

Sobre a coldown bar, tem uma pessoa aqui que pode ajudar.

Smix.

Mas não vejo mais ele on. Quando ele me mostro o server dele tinha a coldown bar do pxg. Ele deve saber rookar essa simplesinha ai, que seria perfeito pra pda.

 

@Slicer

o Sunny day não causa silence na hora que vc usa. Causa silence depois que vc usa e da qualquer ataque. Assim dou sunnyt day + magmar storm, o magmar storm causa silence.

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

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