Ir para conteúdo

Líderes

Conteúdo Popular

Exibindo conteúdo com a maior reputação em 04/13/20 em todas áreas

  1. KaboFlow

    [DXP] PokeXMex OpenSource

    Olá, como eu estava editando essa base de pokealpha e venho para deixar meu progresso, espero que você goste . Trago-lhe esta base, pois a que carreguei ontem foi uma Base Cyan com muitos vírus. • Menu: ├ Informações; ├ Bugs; ├ Prints; ├ Download; ├ Scans; └ Créditos. • Informações Basicas • • Bugs • • Prints • • Downloads • • Scans • • Creditos • DXP TEAM Comunidade do XTIBIA Smix Deadpool (City-Name Module) Michy (PokeAlpha) ADM Kabo ADM PXM
    1 ponto
  2. nociam

    PokeMasterX Particle BUG

    Em outras palavras para cada skull e uma cor pelo jeito, e so setar no atributo da aura uma dessas skull ta uma olhada como salva os genders e pronto tem n jeitos. edit: if getItemAttribute(item.uid, "aura") == "particle" then doCreatureSetSkullType(pk, math.random(10, 20)) end Como saiu na net essas source vou ver como foi feito nessa abaixo, eu particularmente usaria outra struct para auras mais enfim show de bola.
    1 ponto
  3. Entendi kttallan muito obrigado mesmo pelo dica, eu fiz um pouco diferente porque não sei mecher muito nisso so troquei o math.random pra sempre fica na particle que eu gosto kkkkkkk, sou ignorante demais pra conseguir fazer este sistema que citou, porem obrigado mesmo pelo tempo que tirou pra me responder um abraço!
    1 ponto
  4. O particle aura não usa um atributo para definir a particle fixa, fiquei com preguiça de fazer dessa forma. É só você ir no script e definir o valor fixo de uma particle e alterar os comandos para setarem atributo, no goback só definir a saida como o valor do atributo definido correspondente a aura.
    1 ponto
  5. nociam

    PokeMasterX Particle BUG

    já abriu o goback e viu o porque? esta seu problema um Randon.
    1 ponto
  6. doSendDistanceShoot(getThingPosWithDebug(cid), getThingPosWithDebug(target), 32) local type = isInArray({"ghost"}, pokes[getCreatureName(target)].type) local type2 = isInArray({"ghost"}, pokes[getCreatureName(target)].type2) local retConf = {} if not type or not type2 then retConf = {id = target, cd = 5, check = 0, spell = spell, cond = "Confusion"} end addEvent(doMoveDano2, 100, cid, target, NORMALDAMAGE, 0, 0, retConf, spell)
    1 ponto
  7. klipstyle

    [OPEN-SOURCE] POKEMASTERX

    baixando para estudo, obrigado pelo conteudo.
    1 ponto
  8. Em pokemon moves.lua: elseif spell == "Air Vortex" then local config = { outfit = xxx, --Outfit. time = {xxx, xxx}, --{Duração da spell, intervalo entre cada "tick" de dano (em milésimos de segundos)}, storage = 93828, effects = { pullEffects = { distance = xxx, --Distance effect do efeito de puxar pokémons. effect = xxx, --Efeito de tornado. }, damageEffect = xxx, --Efeito do redemoinho que aplica dano. }, } local time = os.time() + config.time[1] function Pull(cid, ret) local pos = getPosfromArea(cid, pullArea) if pos and #pos > 0 then for i = 1, #pos do local c = getTopCreature(pos[i]).uid if c > 0 then if ehMonstro(c) then doTeleportThing(c, getClosestFreeTile(cid, getThingPos(cid))) doMoveDano2(cid, c, NORMALDAMAGE, 0, 0, ret, spell) elseif isSummon(c) then local master = getCreatureMaster(c) if isSummon(cid) then if getPlayerStorageValue(master, 52480) >= 1 and getPlayerStorageValue(master, 52481) >= 0 then local masterCid = getCreatureMaster(cid) if isDuelingAgainst(masterCid, master) then doTeleportThing(c, getClosestFreeTile(cid, getThingPos(cid))) doMoveDano2(cid, c, NORMALDAMAGE, 0, 0, ret, spell) end end else doTeleportThing(c, getClosestFreeTile(cid, getThingPos(cid))) doMoveDano2(cid, c, NORMALDAMAGE, 0, 0, ret, spell) end end end end end end function doSendTornado(cid, pos) if not isCreature(cid) then return true end if isWithFear(cid) and getPlayerStorageValue(cid, 3644587) >= 1 then return true end if isSleeping(cid) and getPlayerStorageValue(cid, 3644587) >= 1 then return true end doSendDistanceShoot(getThingPos(cid), pos, config.effects.pullEffects.distance) doSendMagicEffect(pos, config.effects.pullEffects.effect) end function vortexDamage(cid) if not isCreature(cid) then return true elseif time - os.time() < 0 then return true end doDanoWithProtect(cid, FLYINGDAMAGE, getThingPos(cid), damageArea, min, max, config.effects.damageEffect) addEvent(vortexDamage, config.time[2], cid) end local ret = {id = 0, cd = config.time[1], check = 0, cond = {"Silence", "Paralyze"}} for b = 1, 3 do for a = 1, 20 do local pos = {x = getThingPos(cid).x + math.random(-4, 4), y = getThingPos(cid).y + math.random(-3, 3), z = getThingPos(cid).z} addEvent(doSendTornado, a * 75, cid, pos) end end Pull(cid, ret) vortexDamage(cid) doCreatureSetNoMove(cid, true) doChangeSpeed(cid, -getCreatureSpeed(cid)) doSetCreatureOutfit(cid, {lookType = config.outfit}, config.time[1] * 1000) setPlayerStorageValue(cid, config.storage, time) addEvent(function() if isCreature(cid) then doCreatureSetNoMove(cid, false) doRegainSpeed(cid) end end, config.time[1] * 1000) Em areas.lua: damageArea = createCombatArea{ --Área do dano da spell + redemoinhos. {1, 1, 1}, {1, 2, 1}, {1, 1, 1}, } pullArea = { --Área onde os pokémons serão puxados. {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0}, {0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0}, {0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0}, {0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0}, {0, 1, 1, 1, 1, 3, 1, 1, 1, 1, 0}, {0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0}, {0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0}, {0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0}, {0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, } Em newStatusSyst.lua: Troque todos os: if ret and ret.cond then ret.id = pid ret.check = getPlayerStorageValue(pid, conds[ret.cond]) doCondition2(ret) end por: if ret and ret.cond then if type(ret.cond) == "table" then for i = 1, #ret.cond do ret.id = pid ret.check = getPlayerStorageValue(pid, conds[ret.cond[i]]) doCondition2(ret) end else ret.id = pid ret.check = getPlayerStorageValue(pid, conds[ret.cond]) doCondition2(ret) end end Depois, troque: if ret.cond and ret.cond == "Miss" then doMiss2(ret.id, ret.cd, ret.eff, ret.check, ret.spell) elseif ret.cond and ret.cond == "Silence" then doSilence2(ret.id, ret.cd, ret.eff, ret.check) elseif ret.cond and ret.cond == "Slow" then doSlow2(ret.id, ret.cd, ret.eff, ret.check, ret.first) elseif ret.cond and ret.cond == "Confusion" then doConfusion2(ret.id, ret.cd, ret.check) elseif ret.cond and ret.cond == "Burn" then doBurn2(ret.id, ret.cd, ret.check, ret.damage) elseif ret.cond and ret.cond == "Poison" then doPoison2(ret.id, ret.cd, ret.check, ret.damage) elseif ret.cond and ret.cond == "Fear" then doFear2(ret.id, ret.cd, ret.check, ret.skill) elseif ret.cond and ret.cond == "Stun" then doStun2(ret.id, ret.cd, ret.eff, ret.check, ret.spell) elseif ret.cond and ret.cond == "Paralyze" then doParalyze2(ret.id, ret.cd, ret.eff, ret.check, ret.first) elseif ret.cond and ret.cond == "Sleep" then doSleep2(ret.id, ret.cd, ret.check, ret.first) elseif ret.cond and ret.cond == "Leech" then doLeech2(ret.id, ret.attacker, ret.cd, ret.check, ret.damage) end por: if type(ret.cond) == "table" then for i = 1, #ret.cond do if ret.cond[i] and ret.cond[i] == "Miss" then doMiss2(ret.id, ret.cd, ret.eff, ret.check, ret.spell) elseif ret.cond[i] and ret.cond[i] == "Silence" then doSilence2(ret.id, ret.cd, ret.eff, ret.check) elseif ret.cond[i] and ret.cond[i] == "Slow" then doSlow2(ret.id, ret.cd, ret.eff, ret.check, ret.first) elseif ret.cond[i] and ret.cond[i] == "Confusion" then doConfusion2(ret.id, ret.cd, ret.check) elseif ret.cond[i] and ret.cond[i] == "Burn" then doBurn2(ret.id, ret.cd, ret.check, ret.damage) elseif ret.cond[i] and ret.cond[i] == "Poison" then doPoison2(ret.id, ret.cd, ret.check, ret.damage) elseif ret.cond[i] and ret.cond[i] == "Fear" then doFear2(ret.id, ret.cd, ret.check, ret.skill) elseif ret.cond[i] and ret.cond[i] == "Stun" then doStun2(ret.id, ret.cd, ret.eff, ret.check, ret.spell) elseif ret.cond[i] and ret.cond[i] == "Paralyze" then doParalyze2(ret.id, ret.cd, ret.eff, ret.check, ret.first) elseif ret.cond[i] and ret.cond[i] == "Sleep" then doSleep2(ret.id, ret.cd, ret.check, ret.first) elseif ret.cond[i] and ret.cond[i] == "Leech" then doLeech2(ret.id, ret.attacker, ret.cd, ret.check, ret.damage) end end else if ret.cond and ret.cond == "Miss" then doMiss2(ret.id, ret.cd, ret.eff, ret.check, ret.spell) elseif ret.cond and ret.cond == "Silence" then doSilence2(ret.id, ret.cd, ret.eff, ret.check) elseif ret.cond and ret.cond == "Slow" then doSlow2(ret.id, ret.cd, ret.eff, ret.check, ret.first) elseif ret.cond and ret.cond == "Confusion" then doConfusion2(ret.id, ret.cd, ret.check) elseif ret.cond and ret.cond == "Burn" then doBurn2(ret.id, ret.cd, ret.check, ret.damage) elseif ret.cond and ret.cond == "Poison" then doPoison2(ret.id, ret.cd, ret.check, ret.damage) elseif ret.cond and ret.cond == "Fear" then doFear2(ret.id, ret.cd, ret.check, ret.skill) elseif ret.cond and ret.cond == "Stun" then doStun2(ret.id, ret.cd, ret.eff, ret.check, ret.spell) elseif ret.cond and ret.cond == "Paralyze" then doParalyze2(ret.id, ret.cd, ret.eff, ret.check, ret.first) elseif ret.cond and ret.cond == "Sleep" then doSleep2(ret.id, ret.cd, ret.check, ret.first) elseif ret.cond and ret.cond == "Leech" then doLeech2(ret.id, ret.attacker, ret.cd, ret.check, ret.damage) end end Depois, em data/talkactions/scripts, move1.lua: Abaixo de: if isSleeping(mypoke) or isSilence(mypoke) then --alterado v1.5 doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você não pode fazer isso agora.") return 0 else newid = setCD(getPlayerSlotItem(cid, 8).uid, cdzin, move.cd) end coloque: if getPlayerStorageValue(mypoke, 93828) > os.time() then return doPlayerSendCancel(cid, "Your pokemon can't use moves right now.") end Outra hora escrevo o código do Unown Help e Unown Rush (vou sair daqui a pouco). Perguntas: Há uma quantia mínima de Unowns para usar o Unown Rush? O dano de tal spell aumenta de acordo com o número de Unowns summonados? Seria bem legal isso (ex.: cada Unown aumenta o dano da spell em 5%).
    1 ponto
  9. Danilonilo

    [Tutorial] Paredes

    Essa será minha 3ª aula, e minha primeira de nível intermediário Eu usarei o programa Paint.NET para dar a aula, e recomendo vocês também usarem ele Download do Paint.NET A Parede em Si A parede, no Tibia, tem que possuir normalmente 64x32 de área (Largura x Altura) Fazendo uma parede normal Primeiro crie uma nova imagem de 64x32 (CTRL+N) Então comece fazendo uma linha diagonal na ponta de baixo da imagem até aonde chegar Complete em cima até chegar o máximo á esquerda Da ponta de cima até onde chegar, faça outra linha diagonal Termine a parte de baixo Se quiser pode destacar o meio Colorindo Primeiramente comece pelo verde, ponha a cor base e os detalhes As linhas vermelhas e azuis são das mesmas cores que o lado verde, então complete que nem estou fazendo: Primeiro pinte os detalhes Depois pinte as partes assim: A parte vermelha de cima ficará mais clara que as outras, que são a mesma cor base Percebeu que aonde estava a linha vermelha, está mais claro? Porque não tenta pegar as imagens e dar um zoom? Atenção, no meio da aula, eu me distraí e esqueci de mostrar uma coisa, quando você fizer os detalhes, faça de uma forma que uma linha azul se ligue com a outra Ex: Fazendo as bordas Pra começar, faça linhas para cima em baixo e na ponta, a largura você que decide, se for uma borda grande, será mais largura, se for pequena, menos. Então complete com uma linha diagonal ligando as pontas, é importantíssimo que elas tenham a mesma largura, se for uma parede reta. Depois, façam uma borda plana em cima (lembram da minha primeira aula, quando disse sobre as coisas planas sempre serem retas e estendidas?) Colora e deixe as linhas roxas com as mesmas cores, igual citei agora pouco A parte de cima ficará mais clara, pois é onde bate o sol Fazendo o suplemento de baixo Primeiramente, pegue a ferramenta varinha mágica , e lá em cima, clique na Lâmpada , que ficará assim. Nós clicamos na lâmpada, pois o globo, quando for clicar com a varinha mágica, selecionará as cores iguais de todo o desenho, e não só as ligadas, também funciona com o Preenchimento, ou "Balde de Tinta", que pintará as mesmas cores em todo o desenho. Segurando CTRL, clique nas cores da parede, até que fique totalmente preenchida, então copie (CTRL+C) Depois disso, Gire a imagem 90º (CTRL+H) e a inverta na horizontal (Imagem>Inverter Horizontalmente) Assim, nós mudamos o lado da parede de frente para o lado Após isso, cole a imagem que tínhamos copiado, e ficará assim Faça as devidas edições Fazendo o suplemento de cima Com a imagem que criamos, selecione de uma cor forte a parte que está juntando as paredes Então remova o que tiver fora da linha vermelha, recomendo colocarem o Preenchimento/Balde de Tinta e mudar a tolerância para 60% +-, fazendo assim que preencha as diferentes tonalidades de cinza, faça os devidos tests, se não der muito certo, desfaça o erro com um CTRL+Z Pinte igual as outras etapas Pronto, terminamos a parede e seus complementos! Quer ver como ficou? Não ficou lá essas coisas, pois eu me esqueci de dar aquela ligadura de detalhes, e eu não sombreei nem texturei a parede, mas isso fica pra aula de texturas, não é?! Tcharam Créditos: Danilonilo8
    1 ponto
Líderes está configurado para São Paulo/GMT-03:00
×
×
  • Criar Novo...