Ir para conteúdo

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


lucashgas

Posts Recomendados

SoulOroshie

 

Isso ? ^^

 

 

 

local focus = 0

local max_distance = 8

local talk_start = 0

local conv = 0

local fighting = false

local challenger = 0

local afk_limit_time = 30 -- seconds

local afk_time = 0 -- don't change

local battle_turn = 1 -- don't change

local challenger_turn = 0 -- don't change

 

local pokemons = {

{name = "Geodude", level = 28, extralevel = 12, sex = SEX_MALE, nick = "", ball = "normal"},

{name = "Rhyhorn", level = 27, extralevel = 17, sex = SEX_MALE, nick = "", ball = "normal"},

{name = "Graveler", level = 31, extralevel = 19, sex = SEX_MALE, nick = "", ball = "normal"},

{name = "Onix", level = 40, extralevel = 12, sex = SEX_MALE, nick = "", ball = "normal"},

{name = "Golem", level = 38, extralevel = 18, sex = SEX_MALE, nick = "Golemniso", ball = "normal"},

}

 

 

local function doSummonGymPokemon(npc)

local this = npc

if not isCreature(this) then return true end

if #getCreatureSummons(this) >= 1 or focus == 0 then return true end

local it = pokemons[battle_turn]

doSummonMonster(this, it.name)

local summon = getCreatureSummons(this)[1]

local balleffect = pokeballs["normal"].effect

if it.ball and pokeballs[it.ball] then

balleffect = pokeballs[it.ball].effect

end

doSendMagicEffect(getThingPos(summon), balleffect)

setPlayerStorageValue(summon, 10000, balleffect)

setPlayerStorageValue(summon, 10001, gobackmsgs[math.random(#gobackmsgs)].back:gsub("doka", it.nick ~= "" and it.nick or it.name))

setPlayerStorageValue(summon, 1007, it.nick ~= "" and it.nick or it.name)

doSetMonsterGym(summon, focus)

local name = it.nick ~= "" and it.nick or getCreatureName(this).."s "..it.name

setWildPokemonLevel(summon, it.level, getPokemonStatus(it.name, (it.extralevel + it.level)), name, 1.5)

doCreatureSay(this, gobackmsgs[math.random(#gobackmsgs)].go:gsub("doka", getPlayerStorageValue(summon, 1007)), 1)

fighting = true

battle_turn = battle_turn + 1

end

 

local function doWinDuel(cid, npc)

if not isCreature(cid) then return true end

local this = npc

local a = gymbadges[getCreatureName(this)] + 8

doCreatureSay(npc, "You won the duel! Congratulations, take this "..getItemNameById(a - 8).." as a prize.", 1)

local b = getPlayerItemById(cid, true, a)

if b.uid > 0 then doTransformItem(b.uid, b.itemid - 8) end

end

 

function onCreatureSay(cid, type, msg)

 

local msg = string.lower(msg)

 

if focus == cid then

talk_start = os.clock()

end

 

if msgcontains(msg, 'hi') and focus == 0 and getDistanceToCreature(cid) <= 4 then

focus = cid

talk_start = os.clock()

conv = 1

selfSay("Hello "..getCreatureName(cid)..", my name is Brock and I'm Pewter's Gym Leader. How may I help you?")

return true

end

 

if isDuelMsg(msg) and conv == 1 and focus == cid then

 

--if getPlayerItemCount(cid, gymbadges[getCreatureName(getThis())]) >= 1 then

-- selfSay("You have already won my Boulder Badge, maybe some other day we can fight.")

-- focus = 0

--return true

--end

 

if not hasPokemon(cid) then

selfSay("To battle agains't a gym leader you need pokemons.")

return true

end

 

selfSay("You are challenging me to a battle. It will be a "..#pokemons.." pokemon limit battle, let's start?")

conv = 2

 

return true

end

 

if isConfirmMsg(msg) and conv == 2 and focus == cid then

 

challenger = focus

setPlayerStorageValue(cid, 990, 1)

selfSay("Yea, let's fight!")

talk_start = os.clock()

addEvent(doSummonGymPokemon, 850, getThis())

conv = 3

 

return true

end

 

if isNegMsg(msg) and conv == 2 and focus == cid then

 

focus = 0

selfSay("It is better for you to refuse a battle against me!")

 

return true

end

 

if msgcontains(msg, 'bye') and focus == cid then

selfSay('Bye and do your best trainer!')

setPlayerStorageValue(focus, 990, -1)

focus = 0

return true

end

end

 

local afk_warning = false

local change = false

 

function onThink()

 

if focus == 0 then

selfTurn(2)

fighting = false

challenger = 0

challenger_turn = 0

battle_turn = 1

afk_time = 0

afk_warning = false

 

if #getCreatureSummons(getThis()) >= 1 then

setPlayerStorageValue(getCreatureSummons(getThis())[1], 1006, 0)

doCreatureAddHealth(getCreatureSummons(getThis())[1], -getCreatureMaxHealth(getCreatureSummons(getThis())[1]))

end

 

return true

else

 

if not isCreature(focus) then

focus = 0

return true

end

 

if fighting then

 

talk_start = os.clock()

 

if not isCreature(getCreatureTarget(getThis())) then

if #getCreatureSummons(challenger) >= 1 then

selfAttackCreature(getCreatureSummons(challenger)[1])

change = true

afk_time = 0

else

afk_time = afk_time + 0.5

if change then

change = false

challenger_turn = challenger_turn + 1

end

end

end

 

if afk_time > afk_limit_time then

setPlayerStorageValue(focus, 990, -1)

focus = 0

selfSay("I have waited too long, come back when you are ready!")

return true

end

 

if not afk_warning and afk_time > afk_limit_time / 2 then

selfSay("Where's your pokemon? Let's fight!")

afk_warning = true

end

 

 

if #getCreatureSummons(getThis()) == 0 then

if battle_turn > #pokemons then

addEvent(doWinDuel, 1000, focus, getThis())

setPlayerStorageValue(focus, 990, -1)

focus = 0

return true

 

 

Editado por Vilden
Coloque [spoiler]
Link para o comentário
Compartilhar em outros sites

@SoulOroshie

 

Hm não sabia desses erros nesses pokemons devem ser os dat ou o itens.otb que estão sem a opção corpse porem vou testar e o server do slicer?

 

sim eo serve do slicer se vc puder arruma esses pokes e mi manda ou se tiver de um sv que o dele pege ja arrumado agrademo mt e lenbrando: rep++++ ^^

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

ZeSy e StyloMaldoso, saibam discutir via mp, este local é para dúvidas e não para briguinhas

e não é preciso usar esse tipo de palavras para discutir um assunto.

Alertados.

 

 

Irked, suspenso em outro tópico.

Link para o comentário
Compartilhar em outros sites

SoulOroshie

 

Isso ? ^^

 

 

 

local focus = 0

local max_distance = 8

local talk_start = 0

local conv = 0

local fighting = false

local challenger = 0

local afk_limit_time = 30 -- seconds

local afk_time = 0 -- don't change

local battle_turn = 1 -- don't change

local challenger_turn = 0 -- don't change

 

local pokemons = {

{name = "Geodude", level = 28, extralevel = 12, sex = SEX_MALE, nick = "", ball = "normal"},

{name = "Rhyhorn", level = 27, extralevel = 17, sex = SEX_MALE, nick = "", ball = "normal"},

{name = "Graveler", level = 31, extralevel = 19, sex = SEX_MALE, nick = "", ball = "normal"},

{name = "Onix", level = 40, extralevel = 12, sex = SEX_MALE, nick = "", ball = "normal"},

{name = "Golem", level = 38, extralevel = 18, sex = SEX_MALE, nick = "Golemniso", ball = "normal"},

}

 

 

local function doSummonGymPokemon(npc)

local this = npc

if not isCreature(this) then return true end

if #getCreatureSummons(this) >= 1 or focus == 0 then return true end

local it = pokemons[battle_turn]

doSummonMonster(this, it.name)

local summon = getCreatureSummons(this)[1]

local balleffect = pokeballs["normal"].effect

if it.ball and pokeballs[it.ball] then

balleffect = pokeballs[it.ball].effect

end

doSendMagicEffect(getThingPos(summon), balleffect)

setPlayerStorageValue(summon, 10000, balleffect)

setPlayerStorageValue(summon, 10001, gobackmsgs[math.random(#gobackmsgs)].back:gsub("doka", it.nick ~= "" and it.nick or it.name))

setPlayerStorageValue(summon, 1007, it.nick ~= "" and it.nick or it.name)

doSetMonsterGym(summon, focus)

local name = it.nick ~= "" and it.nick or getCreatureName(this).."s "..it.name

setWildPokemonLevel(summon, it.level, getPokemonStatus(it.name, (it.extralevel + it.level)), name, 1.5)

doCreatureSay(this, gobackmsgs[math.random(#gobackmsgs)].go:gsub("doka", getPlayerStorageValue(summon, 1007)), 1)

fighting = true

battle_turn = battle_turn + 1

end

 

local function doWinDuel(cid, npc)

if not isCreature(cid) then return true end

local this = npc

local a = gymbadges[getCreatureName(this)] + 8

doCreatureSay(npc, "You won the duel! Congratulations, take this "..getItemNameById(a - 8).." as a prize.", 1)

local b = getPlayerItemById(cid, true, a)

if b.uid > 0 then doTransformItem(b.uid, b.itemid - 8) end

end

 

function onCreatureSay(cid, type, msg)

 

local msg = string.lower(msg)

 

if focus == cid then

talk_start = os.clock()

end

 

if msgcontains(msg, 'hi') and focus == 0 and getDistanceToCreature(cid) <= 4 then

focus = cid

talk_start = os.clock()

conv = 1

selfSay("Hello "..getCreatureName(cid)..", my name is Brock and I'm Pewter's Gym Leader. How may I help you?")

return true

end

 

if isDuelMsg(msg) and conv == 1 and focus == cid then

 

--if getPlayerItemCount(cid, gymbadges[getCreatureName(getThis())]) >= 1 then

-- selfSay("You have already won my Boulder Badge, maybe some other day we can fight.")

-- focus = 0

--return true

--end

 

if not hasPokemon(cid) then

selfSay("To battle agains't a gym leader you need pokemons.")

return true

end

 

selfSay("You are challenging me to a battle. It will be a "..#pokemons.." pokemon limit battle, let's start?")

conv = 2

 

return true

end

 

if isConfirmMsg(msg) and conv == 2 and focus == cid then

 

challenger = focus

setPlayerStorageValue(cid, 990, 1)

selfSay("Yea, let's fight!")

talk_start = os.clock()

addEvent(doSummonGymPokemon, 850, getThis())

conv = 3

 

return true

end

 

if isNegMsg(msg) and conv == 2 and focus == cid then

 

focus = 0

selfSay("It is better for you to refuse a battle against me!")

 

return true

end

 

if msgcontains(msg, 'bye') and focus == cid then

selfSay('Bye and do your best trainer!')

setPlayerStorageValue(focus, 990, -1)

focus = 0

return true

end

end

 

local afk_warning = false

local change = false

 

function onThink()

 

if focus == 0 then

selfTurn(2)

fighting = false

challenger = 0

challenger_turn = 0

battle_turn = 1

afk_time = 0

afk_warning = false

 

if #getCreatureSummons(getThis()) >= 1 then

setPlayerStorageValue(getCreatureSummons(getThis())[1], 1006, 0)

doCreatureAddHealth(getCreatureSummons(getThis())[1], -getCreatureMaxHealth(getCreatureSummons(getThis())[1]))

end

 

return true

else

 

if not isCreature(focus) then

focus = 0

return true

end

 

if fighting then

 

talk_start = os.clock()

 

if not isCreature(getCreatureTarget(getThis())) then

if #getCreatureSummons(challenger) >= 1 then

selfAttackCreature(getCreatureSummons(challenger)[1])

change = true

afk_time = 0

else

afk_time = afk_time + 0.5

if change then

change = false

challenger_turn = challenger_turn + 1

end

end

end

 

if afk_time > afk_limit_time then

setPlayerStorageValue(focus, 990, -1)

focus = 0

selfSay("I have waited too long, come back when you are ready!")

return true

end

 

if not afk_warning and afk_time > afk_limit_time / 2 then

selfSay("Where's your pokemon? Let's fight!")

afk_warning = true

end

 

 

if #getCreatureSummons(getThis()) == 0 then

if battle_turn > #pokemons then

addEvent(doWinDuel, 1000, focus, getThis())

setPlayerStorageValue(focus, 990, -1)

focus = 0

return true

 

 

Bom como eu não sei scripting eu vou tentar te ajudar pelo que eu olhei no npc parece não dar nenhuma storage quando vence então nessa parte :

 

local function doWinDuel(cid, npc)

if not isCreature(cid) then return true end

local this = npc

local a = gymbadges[getCreatureName(this)] + 8

doCreatureSay(npc, "You won the duel! Congratulations, take this "..getItemNameById(a - 8).." as a prize.", 1)

local b = getPlayerItemById(cid, true, a)

if b.uid > 0 then doTransformItem(b.uid, b.itemid - 8) end

end

 

Troque por essa:

 

local function doWinDuel(cid, npc)

if not isCreature(cid) then return true end

local this = npc

local a = gymbadges[getCreatureName(this)] + 8

doCreatureSay(npc, "You won the duel! Congratulations, take this "..getItemNameById(a - 8).." as a prize.", 1)

setPlayerStorageValue(cid, 65000, 1)

local b = getPlayerItemById(cid, true, a)

if b.uid > 0 then doTransformItem(b.uid, b.itemid - 8) end

end

 

E la no outfits.xml na outfit que tu quer que ao vencer esse npc ganhe a ropa basta colocar <outfit id="X" quest="65000">

X está ali pois no outfits.xml existem varias outfit id você que escolhera em que ropa por o 65000 para liberar a ropa.

 

Eu espero que funcione ;x se não eu mesmo vou tentar aqui mas não uso esse seu tipo de npc.

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

to sem tempo agora

então desculpem por n procurar no topico...

 

tem um problema com a database mysql

quando uso mysql os pokemons n ganham exp e ficam extremamente fortes...

 

rep++

agradeço desde jha!

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

Pessoal é o seguinte, eu vou em Data, World e abro o map editor que tem lá pra ver o mapa do server, mas apareçe o mapa minúsculo muuuito feio com apenas a cidade de Pallet, Viridian e Pewter, como eu tou louco pra ter esse server completo como todos vocês tem mas não sei o que tou fazendo errado me ajudem gente !

 

No server tem ?

 

- Boost System ( com aura no +50 )

- Portraits de Kanto, Johto e Shiny

- Sprites novas do Pidgeot, Dragonite, Tentacruel, Aerodactyl

- Pokemon evolui sozinho ao atingir o level necessário

- Newtype que não seja de Tibia

 

Fico agradecido, sou novo por aqui gente, me ajudem por favor mesmo, tou a meses tentando achar um server bom pra abrir e não consigo D:

Link para o comentário
Compartilhar em outros sites

to sem tempo agora

então desculpem por n procurar no topico...

 

tem um problema com a database mysql

quando uso mysql os pokemons n ganham exp e ficam extremamente fortes...

 

rep++

agradeço desde jha!

Qual o problema? aparece algo no console? da algum erro no site?

Tem que ter algum fundamento eu ainda não usei mysql no PDA do sclicer porem ja usei no antigo do brun123 e funcionou normal.

Pessoal é o seguinte, eu vou em Data, World e abro o map editor que tem lá pra ver o mapa do server, mas apareçe o mapa minúsculo muuuito feio com apenas a cidade de Pallet, Viridian e Pewter, como eu tou louco pra ter esse server completo como todos vocês tem mas não sei o que tou fazendo errado me ajudem gente !

 

No server tem ?

 

- Boost System ( com aura no +50 )

- Portraits de Kanto, Johto e Shiny

- Sprites novas do Pidgeot, Dragonite, Tentacruel, Aerodactyl

- Pokemon evolui sozinho ao atingir o level necessário

- Newtype que não seja de Tibia

 

Fico agradecido, sou novo por aqui gente, me ajudem por favor mesmo, tou a meses tentando achar um server bom pra abrir e não consigo D:

Cara tem tudo oque você citou mas eu acho que pokemon evoluind sozinho ao atingir lv tu tem que por basta ir em data/lib abrir o arquivo configuration.lua e procurar por

pokemonsCanEvolveByLevel = false

e por true ficando: pokemonsCanEvolveByLevel = true

 

Bom como esse mapa do slicer ja é oque vem no servidor antigo então ou tu pega de alguem ou tu mesmo faz, não posso lhe ajudar com isso pois eu no momento não estou querendo fazer map de pokemon.

Link para o comentário
Compartilhar em outros sites

Cara criar eu crio sem problemas mas é tipo, se eu entro no map editor e vou colocar uma coisa no mapa quando eu deixo ele online e entro com minha acc de GOD o que eu tinha implantado no mapa tá como item de Tibia, por isso tou preocupado pois queria por um local para boost e etc mas assim complica, ajuda ae pls !

Link para o comentário
Compartilhar em outros sites

Galera, ali encima existe uma barra de pesquisa, clica encima do "Google" e dps mude para "Este Tópico" ai escreve o que vc esta procurando exemplo, "Como adicionar novas balls" e depois clica em pesquisar, se não der certo tente denovo com outra pesquisa exemplo "Ball" e olhe TODOS OS RESULTADOS, se não achar nem um, poste sua duvida, mais antes use a ferramenta de pesquisa para se certificar se alguém já não respondeu sua pergunta.

 

e lembrando a ferramenta de pesquisa não esta ali por acaso.

 

Vai se fude cara

Link para o comentário
Compartilhar em outros sites

Os mlk pira com inveja de mim kk', pode xinga seus paga pau invejoso kk chorem de inveja emos.

 

 

chykorito, o client do pda é com os itens de tibia + poketibia ou seja, se vc tiver usando uma spr de outro ot ele vai apareçer no map editor como item de poketibia mais quando abrir com o client do pda vai voltar a ser item de tibia por causa que as spr são diferentes.

Link para o comentário
Compartilhar em outros sites

Os mlk pira com inveja de mim kk', pode xinga seus paga pau invejoso kk chorem de inveja emos.

 

 

 

Inveja ? se eu kizer pago 300$ num servidor Muito mais melhor com o seu , e sem bug , intao fala merdinha não

 

 

chykoritouexplique melhor sua duvida..

Link para o comentário
Compartilhar em outros sites

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