Ir para conteúdo
  • Cadastre-se

Posts Recomendados

Eu iria começar com oi galera e tudo mais só que agora acho que ficaria muito besta lol

Diz ae galera do TK(agora miorou '-'), o problema é o seguinte:

Eu estava lutando com a líder de ginásio Sabrina quando de repente seu abra evoluiu e ele tipo que saiu do lugar como se ele não fosse mais o pokémon dela, daí ela lançou o seu outro pokémon como se aquele Kadabra não fosse mais dela lol, eu perdi a batalha e o Kadabra não saiu mais de lá, ele continuava me atacando, como resolvo isso?

Link para o post
Compartilhar em outros sites

Sabrina:

<?xml version="1.0" encoding="UTF-8"?>


<npc name="Sabrina" script="sabrina.lua" walkinterval="350000" floorchange="0" speed="0" lookdir="2">


<health now="150" max="150"/>


<look type="594" head="91" body="114" legs="86" feet="0"/>


<parameters>




</parameters>


</npc>

Script .lua dela:

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 = "Abra", level = 1, extralevel = 124, sex = SEX_MALE, nick = "", ball = "normal"},
{name = "Kadabra", level = 1, extralevel = 119, sex = SEX_MALE, nick = "", ball = "normal"},
{name = "Hypno", level = 1, extralevel = 117, sex = SEX_MALE, nick = "", ball = "normal"},
{name = "Mr. Mime", level = 1, extralevel = 117, sex = SEX_FEMALE, nick = "", ball = "normal"},
{name = "Porygon", level = 1, extralevel = 115, sex = SEX_FEMALE, nick = "", ball = "normal"},
{name = "Alakazam", level = 1, extralevel = 117, sex = SEX_MALE, nick = "", ball = "normal"},
}




local function doSummonGymPokemon(npc)
local this = npc
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 Sabrina and I'm Saffron'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 Marsh 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 = 6


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


function onThink()


--doSendAnimatedText(getThingPos(getThis()), getCreatureName(getThis()), 215)


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
if getCreatureOutfit(getCreatureSummons(challenger)[1]).lookType ~= 2 then --alterado v2.6
 selfAttackCreature(getCreatureSummons(challenger)[1])
 challenger_turn = challenger_turn + 1
 afk_time = 0
                end
else
afk_time = afk_time + 0.5
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
end
addEvent(doSummonGymPokemon, 1000, getThis())
end


if not hasPokemon(challenger) or challenger_turn >= 7 or challenger_turn > #pokemons then
selfSay("You lost our duel! Maybe some other time you'll defeat me.")
setPlayerStorageValue(focus, 990, -1)
focus = 0
return true
end


end


local npcpos = getThingPos(getThis())
local focpos = getThingPos(focus)


if npcpos.z ~= focpos.z then
setPlayerStorageValue(focus, 990, -1)
focus = 0
selfSay("Bye then.")
return true
end


if (os.clock() - talk_start) > 30 then
selfSay("Good bye and keep training!")
setPlayerStorageValue(focus, 990, -1)
focus = 0
end


if getDistanceToCreature(focus) > max_distance then
setPlayerStorageValue(focus, 990, -1)
focus = 0
return true
end


local dir = doRedirectDirection(getDirectionTo(npcpos, focpos)) 
selfTurn(dir)
end
return true
end

Isso acontece em outro líderes também se puder resolver esse e me dizer o problema eu consigo resolver o resto ^-^

Link para o post
Compartilhar em outros sites

Tenta remover isso:

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

Coloque o código em spoiler, se possível.


spacer.png

 

 

Link para o post
Compartilhar em outros sites

Agora o Abra não ataca e a sabrina não chama outro pokémon ao derrotar ela.

Como coloca em spoiler?


eu tentei remover o 

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

E agora os pokémons dela ficaram sem nível,. ficaram fáceis de matar

Editado por Leviih (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo