Ir para conteúdo

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


lucashgas

Posts Recomendados

@GMHareaOT

 

data/movements/scripts/drown.lua

local condition = createConditionObject(CONDITION_DROWN)
setConditionParam(condition, CONDITION_PARAM_PERIODICDAMAGE, -20)
setConditionParam(condition, CONDITION_PARAM_TICKS, -1)
setConditionParam(condition, CONDITION_PARAM_TICKINTERVAL, 2000)

function onStepIn(cid, item, position, fromPosition)
if(isPlayer(cid)) then
doAddCondition(cid, condition)
end
return true
end

function onStepOut(cid, item, position, fromPosition)
doRemoveCondition(cid, CONDITION_DROWN)
return true
end

 

No numero 20 é o tanto de perda de life que ele recebe ;] '

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

@ZerefShirou

 

Quest

 

local level = 1

local extrastr = 5

local btype = "normal"

function onUse(cid, item, frompos, item2, topos)

local pokemon = ""

if item.uid == nil then return true end

if item.itemid == 12420 then

pokemon = "Hitmonlee"

elseif item.itemid == 12574 then

pokemon = "Hitmonchan"

else

return true

end

if getPlayerStorageValue(cid, 344487) == 2 then

return doPlayerSendCancel(cid, "You have picked your prize!")

end

if getPlayerStorageValue(cid, 344487) ~= 1 then

return doPlayerSendCancel(cid, "You need own all fight trainer to choose your prize!")

end

if getPlayerMana(cid) >= 6 then

return doPlayerSendCancel(cid, "You don't have capacity for your prize!")

end

if pokemon == "" then return true end

local gender = getRandomGenderByName(pokemon)

local mypoke = getPokemonStatus(pokemon)

if not mypoke then return true end

local offense = mypoke.off * level * extrastr

local defense = mypoke.def * level * extrastr

local speed = mypoke.agi * level * extrastr

local vit = mypoke.vit * level * extrastr

local spatk = mypoke.spatk * level * extrastr

local happy = 180

local leveltable = getPokemonExperienceTable(pokemon)

local item = doCreateItemEx(2219)

doItemSetAttribute(item, "poke", pokemon)

doItemSetAttribute(item, "hp", 1)

doItemSetAttribute(item, "level", level)

doItemSetAttribute(item, "exp", leveltable[level])

doItemSetAttribute(item, "nextlevelexp", leveltable[level+1] - leveltable[level])

doItemSetAttribute(item, "offense", offense)

doItemSetAttribute(item, "defense", defense)

doItemSetAttribute(item, "speed", speed)

doItemSetAttribute(item, "vitality", vit)

doItemSetAttribute(item, "specialattack", spatk)

doItemSetAttribute(item, "happy", happy)

doItemSetAttribute(item, "gender", gender)

if pokemon == "Hitmonchan" then

doItemSetAttribute(item, "hands", 0)

end

doItemSetAttribute(item, "description", "Contains a "..pokemon..".")

doItemSetAttribute(item, "fakedesc", "Contains a "..pokemon..".")

doPlayerAddItemEx(cid, item, true)

doTransformItem(item, pokeballs[btype].on)

doPlayerSendTextMessage(cid, 27, "You choose a "..pokemon..".")

setPlayerStorageValue(cid, 344487, 2)

doSendMagicEffect(getThingPos(cid), 29)

doSendMagicEffect(getThingPos(cid), 27)

doSendMagicEffect(getThingPos(cid), 29)

return TRUE

end

 

 

Npc chuk norris ele da storage 344487

 

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 = "Shiny Machamp", level = 100, extralevel = 150, sex = SEX_MALE, nick = "", 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

doPlayerSetStorageValue(cid, 344487, 1)

doCreatureSay(npc, "You won the duel! Congratulations, choose your prize!", 1)

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 Chuck Norris and I'm Last's Fight Trainer. How may I help you?")

return true

end

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

if getPlayerStorageValue(cid, 344481) ~= 1 or getPlayerStorageValue(cid, 344482) ~= 1 or getPlayerStorageValue(cid, 344483) ~= 1 or getPlayerStorageValue(cid, 344484) ~= 1 or getPlayerStorageValue(cid, 344485) ~= 1 or getPlayerStorageValue(cid, 344485) ~= 1 then

selfSay("You need defeated the first, second, third, fourth, fifth and sixth trainer.")

focus = 0

return true

end

if getPlayerStorageValue(cid, 344487) == 1 then

selfSay("You have defeated my, choose your prize!")

focus = 0

return false

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

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

 

 

Eu vejo é que o storage e 344487,você sabe como consertar? você fez o sistema

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

@ZerefShirou

 

Sim eu fiz isso, só que fiquei com preguiça de procurar no movements OKASOAKSOAK (:

 

@GMHareaOT

 

Retire a tag do drown.lua no movements.xml ;P

 

@BLACKHERT

 

Eu fiz minha quest por box (:

 

Champion Box, ganha Hitmonlee, Hitmonchan, Hitmontop ou Tyrogue .

Link para o comentário
Compartilhar em outros sites

Você não entendeu direito, é o mesmo storage? Sim, mas não o mesmo valor

 

Quando ganha do Chuck Norris, voce ganha o valor 1, precisa do valor 1 para pegar o pokemon, quando pega o pokemon ganha valor 2, com valor 1 ou 2 nao da pra lutar com chuck norris, e com valor 2 bloqueia pegar outro pokemon.

Link para o comentário
Compartilhar em outros sites

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