Ir para conteúdo

Wyzze

Campones
  • Total de itens

    3
  • Registro em

  • Última visita

Sobre Wyzze

Informações

  • Forma que conheci o xTibia
    Sites de Busca
  • Sou
    Mapper

Últimos Visitantes

539 visualizações

Wyzze's Achievements

  1. A ideia do sistema de move (m1, m2, m3) utilizando a doCreatureCastSpell seria basicamente assim: Link da função: doCreatureCastSpell function getTime(s) local n = math.floor(s / 600) s = s - (600 * n) return n, s end function onSay(cid, words, param) if #getCreatureSummons(cid) == 0 then --- Check SUMMON! return doPlayerSendCancel(cid, "Sorry, not possible.") end local summon = moves[getCreatureName(getCreatureSummons(cid)[1])][words] if not summon then return true end local storage = summon.st local cd = math.ceil(summon.cd/2) local pokemon = getCreatureSummons(cid)[1] local target = getCreatureTarget(cid) --- if getTilePzInfo(getCreaturePosition(pokemon)) and summon.pz == false then --- Check PZ! return doPlayerSendCancel(cid, "You can't use spells in protection zone.") end if getPlayerLevel(cid) < summon.minlvl then --- Check LVL! return doPlayerSendCancel(cid, "You must be level "..summon.minlvl.." or higher to use this move.") end if os.time()-getPlayerStorageValue(cid, storage) <= cd then --- Check CD! minutes,seconds = getTime(cd-(os.time()-getPlayerStorageValue(cid, storage))) return doPlayerSendCancel(cid, "Wait "..seconds.." seconds to use "..summon.atk..".") end if target == 0 and summon.target then return doPlayerSendCancel(cid, "You can't use this move.") end --- doCreatureSay(cid, getCreatureName(pokemon)..", "..summon.atk.."!", TALKTYPE_MONSTER) doCreatureSay(pokemon, string.upper(summon.atk).."!", TALKTYPE_MONSTER) doCreatureCastSpell(pokemon, summon.atk) --- Soltar SPELL! --- setPlayerStorageValue(cid, storage, os.time()+cd) --- Setar CD! return true end E a tabela com os moves algo assim: moves = { ["Dragon"] = { ["m1"] = {atk = "Death Strike", minlvl = 20, st = 2000, cd = 0, target = true, pz = false}, ["m2"] = {atk = "Flame Strike", minlvl = 20, st = 2001, cd = 0, target = true, pz = false}, ["m3"] = {atk = "Mass Healing", minlvl = 20, st = 2002, cd = 0, target = false, pz = false}, ["m4"] = {atk = "Wrath of Nature", minlvl = 20, st = 2003, cd = 0, target = false, pz = false}, }, } No caso trabalharia apenas com as spells do spell.xml não precisaria criar duas spell uma pro summon e outra para o selvagem
  2. PDA no caso foi apenas uma ideia, a base PField precisa de muito trabalho em cima da mesma, creio que quase todos os sistemas dela precisam ser atualizados. Sobre o sistema de moves creio que utilizar a função doCreatureCastSpell seria uma ótima alternativa e deixaria muito mais leve e otimizado o sistema.
  3. Problemas dessa base: - Sistemas antigos/ desatualizados; - Sistema de passive/ agressive feito em .lua, o que leva a sobrecarregar o servidor, travando os players (lag infernal); - Sistema de Moves (m1, m2, m3), toda vez que criar uma spell para o Pokémon (player), precisa criar outra para o Pokémon (selvagem); Não é uma base ruim para edição, mas creio que não seja viável começar um projeto com a mesma. Hoje existe praticamente todas as funções para se montar uma source para o PDA e deixa-lo estável para um projeto.
  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...