Ir para conteúdo

Líderes

Conteúdo Popular

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

  1. 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%).
    3 pontos
  2. beto06

    [Show Off] Beto

    Experimentando..
    2 pontos
  3. Claro. local items = { {itemid, vocation_id, outfit}, --{ID_do_item, vocação, outfit}, {itemid, vocation_id, outfit}, {itemid, vocation_id, outfit}, --etc } function onLogin(cid) for _, item in pairs(items) do if getPlayerItemCount(cid, item[1]) > 0 then doPlayerRemoveItem(cid, item[1], 1) doPlayerSetVocation(cid, item[2]) doPlayerAddOutfit(cid, item[3], 1) break end end return true end
    2 pontos
  4. Testa assim amigo: local tileConfig = { pos = {x = 1448, y = 659, z = 7}, -- Posição para onde o player vai quando pisar no tile kickMsg = "Voce precisa ser Donate para acessar essa area.", -- Mensagem caso o player não tenha vip kickEffect = CONST_ME_POFF -- Efeito caso o player não tenha vip } --[[ Não mexa em nada abaixo ]] function onStepIn(cid, item, position, fromPosition) if isPlayer(cid) then if vip.hasVip(cid) or getPlayerAccess(cid) > 2 then doTeleportThing(cid, tileConfig.pos) doSendMagicEffect(tileConfig.pos, CONST_ME_TELEPORT) return true end doTeleportThing(cid, fromPosition) doSendMagicEffect(fromPosition, tileConfig.kickEffect) doPlayerSendCancel(cid, tileConfig.kickMsg) end return false end
    2 pontos
  5. Bruno

    Vanaheim global open source

    m método diferente de agir. Escolhas diferentes, um projeto surpreendente, e o melhor é open source. Sim, você pode ter acesso a este servidor que estou desenvolvendo em parceria com a Serversoft para você. Um servidor com uma mega estrutura para suportar seus jogadores online sem nenhum problema como: debug, bug de clonagem, instabilidade entre diversos outros dos servidores free's disponíveis para download nessa vasta internet tibiana. Uma inovação no ramo de OTservers, distribuindo não só a datapack como as sourcers e os sistemas, absolutamente tudo que você procura. Basta baixar, compilar... Mas eu não sei compilar. Não há problema nisso, o OTPanel da Serversoft faz tudo isso para você. Basta clicar num botão de "play" e ver a mágica acontecer. O projeto Vanaheim, foi criado com o intuito de ser inteiramente grátis para toda a comunidade. Um servidor no qual a diversão é o fator principal, um projeto com viabilidade absoluta por todos os tibianos. O projeto conta com uma área exclusiva no GitHub para que todos possam acompanhar a evolução do mesmo, dia a dia, diversas atualizações estarão disponíveis a todos. Desde uma action até uma modificação na source vocês terão acesso. O servidor conta com um mapa Global Full, quando eu digo full, quero dizer que está 99.99% do mapa completo, sem bugs entre outros. Um servidor que você escolhe a rate experience/skill que desejar, ele vai se adaptar! Você pode escolher se quer ou não que as quests tenham as missões originais 100%! GITHUB Para acompanhar e baixar o servidor atualizado, segue o link do nosso projeto no GitHub: DOWNLOADS Servidor Mapa Yasir Scan CRÉDITOS TFS Team Orts Project
    1 ponto
  6. Avronex

    [Encerrado]RealPoke Apresentação

    RealPoke Boa noite pessoal! Estou aqui novamente pra retomarmos o que havíamos comessado! Muitos tiveram a oportunidade de estar jogando o servidor em seus 2 meses em que ficou online pra que pudesse ser encontrado bugs e desbalanceamentos. Para os que achavam que tinha se acabado o projeto se enganaram! Depois dos vários bugs voltei a trabalhar em todos eles e a resolver os mesmos. Ainda sim estou trabalhando no balanceamento e em alguns bugs simples que ainda nao parei para resolver por serem simples. Gostaria de aproveitar e agradeçer a todos que ajudaram seja reportando bugs ou até mesmo aqui no fórum que está sendo de grande ajuda! MiniMap Nós contamos com os principais sistemas de todo os servidores como abaixo listados e alguns de nossa própria autoria: [+] 1ª Geração 100%. [+] 2ª Geração 100%. [+] Pokemons com level. [+] Transparencia em pokemons, items e efeitos. [+] Catch System 100%. [+] Shiny's 1ª , 2ª geração 100%. [+] Pokémons balanceados. [+] Continente Kanto 100%. [+] Continente Johto 20%. [+] TM System 100%. [+] Boost System. [+] Smeargle System 100%. [+] Vitaminas Attack, Sp.Attack, Defense, Speed e HP. [+] Fly, ride, surf 100%. [+] Order 100%. [+] Moves de acordo com a Bulbapedia. [+] Autoloot 100%. [+] Autowalk 100%. [+] Passive and Agressive pokemons. [+] Players nao bloqueiam respawn. Mais algumas imagens: A todos que gostaram e querem ver mais imagens venho convidar a acompanhar o nosso projeto pelo Facebook: RealPoke Comentem!
    1 ponto
  7. 1 ponto
  8. Bruno

    xMapShape v1.0.1

    Introdução O projeto foi iniciado por @Daniel para manter atualizado um recurso antigo que é muito utilizado, além de ser útil e criativo: o Bit Map To Map; baseando-se em sua estrutura, desenvolvemos um novo Map Shape, o xMapShape; Esperamos pedidos de novas atualizações e opiniões sobre o projeto. Funções O xMapShape apresenta algumas funções a mais, tudo está sendo planejado para uma praticidade que envolva estética e funcionalidade: Você adiciona uma imagem, seleciona uma cor, essa cor selecionada será transformada em Mapa; você pode escolher várias cores e alguns grounds, assim como a versão que desejar. Também alterei a estrutura do programa ao salvar o arquivo, pra quem reclamava, agora está perfeito! Funções alteradas como a seleção de cor possibilitam um melhor manuseamento da ferramenta, o que antes produzia cor1 e cor2 agora pode ser listado como quantas cores você desejar. Como usar? Veja o tutorial Download MediaFire Scan Requerimentos .NET Framework 3.5 ou superior Changelog [02/06/2015] v1.0.1: - Removida restrições de importação [01/06/2015] v1.0.0: - Lançamento do xMapShape Créditos Bruno Minervino Daniel DarkstaR
    1 ponto
  9. Eai pessoal, resolvi fazer este tutorial pra vocês. Vou ser bastante breve para não complicar muito. Começamos com as bordas, são elas que provocaram um "efeito especial" no mapa. Veja o resultado que você pode alcançar apenas vendo este tutorial: Para começar, você deve aplicar as bordas uma por uma. Tente sempre diferenciar, nunca colocar as bordas na mesma posição, direcione ela para lados diferentes. Veja estes exemplos: Tome cuidado para a direção em que você está indo! Você pode optar por fazer estradas retas ou espalhadas, que seria mais o caso da nature. #01 Adicione as bordas de terra, tenha em mente que a grama estará por cima dela, então deve conter pelo menos um tile antes da borda para caber a grama (no contrário, a grama cobrirá a borda de terra e não adiantará ter colocado). #02 Agora, aplique a borda da grama, deixando espaços proporcionais para a terra poder "respirar": #03 Existe uma borda de grama que tem terra visível em baixo: Aplique em pequena quantidade, em algumas bordas comuns, cuide para não ficar excessivo. #04 Aplique as bordas de sand, em pouquíssima quantidade e em lugares estratégicos, como onde as bordas avançam muito (pontas): #05 Adicione a grama, tente utilizar as gramas mais "machucadas" pra fortalecer a temática de natureza abandonada e as mais lisas para ambientes mais limpos: #06 Agora detalhe, Pedras e Debris são de extrema importância. Grass Tufts invadindo em pouca quantidade dão um toque especial no mapa, veja: Junte isto e terá:
    1 ponto
  10. HeelNox

    [Show-Off] CP,TC,Mark PxG

    Apenas tava afim de mostrar '=' os Remakes da pxg que adc no meu sv. CP TC Portais dos Clans Daily Tasks Área de Pesca Mark To montando ainda.
    1 ponto
  11. Provavelmente você errou alguma coisa nesta parte da instalação. Peço que refaça os passos e informe se o erro continua. Ou, se preferir, poste aqui seu newStatusSyst.lua que eu corrijo.
    1 ponto
  12. HeelNox

    [Show-Off] CP,TC,Mark PxG

    aqui ^^ http://www.xtibia.com/forum/topic/233647-sprite-do-cp-do-pxg-e-itens-do-pxg/ Vlw ^^
    1 ponto
  13. zipter98

    Chance em Tabela

    local monster = { ["Demon"] = {itemid = 1403, count = 1, chance = 20} } function onKill(cid, target, lastHit) local m = monster[getCreatureName(target)] if m and math.random(1, 100) <= m.chance then doPlayerAddItem(cid, m.itemid, m.count) end return true end
    1 ponto
  14. SmiX

    Chance em Tabela

    Tá ai. Se souber fazer, vai entender. local conf = { ["Rat"] = {points = 5, chance = 5}, } if(math.randon(1, 100) <= conf[getCreatureName(cid)].chance)then --aqui adiciona o seu codigo -- conf[getCreatureName(cid)].points end
    1 ponto
  15. 1 ponto
  16. Certo! Qualquer problema poste aqui possamos ajudá-lo.
    1 ponto
  17. Vou preparar alguns remakes em sprites pra liberar. Quem sabe um mapa melhor =)
    1 ponto
  18. Fala galera, há mais ou menos 3 meses atrás eu criei um servidor com uns amigos da faculdade com o intuito de brincar, no começo ele era lotado de bugs e não tinha nada de diferente de um global qualquer que você encontra por aí pra baixar. Foram 3 meses de trabalho duro em cima do servidor e agora eu me sinto seguro o suficiente pra divulgar ele pra vocês> hoje eu vos apresento algo que vai além de um projeto, é uma ideologia.. O university of chaos é um servidor global sério que tem a proposta de voltar nossos jogadores ao antigo global 8.6 e relembrar os momentos mágicos que o Tibia pode proporcionar. O servidor contém algumas novidades mas nada que comprometa a integridade da idéia de ser um global. Venha nos conhecer! Rates: Experience: 12x -- Todo fim de semana tem DOUBLE XP! Loot: 4x Skills: 5x Magic: 9x Premmium grátis para todos os players! Info: - Mapa global completo - Trainers nos templos de cada cidade - Sistema de Market in game (digite !shop help para aprender a usar) - Sistema de Task Avançada (falar com NPC Magnus) - Raids diferentes TODOS os dias. - Area de Market com Djinns e Rashid para facilitar a vida dos players - Classes totalmente balanceadas! - Sistema de Broadcast para players: Digite /all e ao preço de uma crystal você poderá enviar uma mensagem para todo o servidor (tem cooldown de 5 minutos pra evitar spam) - Sistema de trainer inteligente (enquanto estiver treinando você receberá alimentação para nunca ficar sem mana!!) Está esperando oque para conferir nosso servidor?? Aviso: Bots não são permitidos e a utilização dos mesmos é passível com redução de level. Obs: Esse servidor foi feito apenas para entreterimento e pra eu poder ter players para testar alguns sistemas, nós não vendemos nada e toda a equipe é formada por amigos próximos que fazem tudo de bom grado pra vocês terem uma experiência agradável. Não haverá aquela baboseira de 'pay to win' e o server é auto sustentável. Aproveite!! IP: universityofchaos.no-ip.biz Grupo do servidor: https://www.facebook.com/groups/812549668831572/ Espero vocês lá, abraço.
    1 ponto
  19. @@Daniel obrigado amigo
    1 ponto
  20. Fala ai brother, não sou muito bom como spriter, fiz um edit por cima da sua outfit. Espero que ajude em algo, o resto deixo para os spriters profissionais hehe Basicamente, você está se confundindo um pouco na perspectiva, veja alguns tutoriais dessa seção: http://www.xtibia.com/forum/forum/856-tutoriais-de-spriting/
    1 ponto
  21. moskitinho

    Novas medalhas disponíveis!

    Leia e comente minha história Sr. Kakis
    1 ponto
  22. Luga03

    xPoketibia [Open source] (OFICIAL!)

    Estou na espera por atualizações! Gogo Terminar o Level System
    1 ponto
  23. Taiger

    xPoketibia [Open source] (OFICIAL!)

    Parabéns pela iniciativa.
    1 ponto
  24. OK, já terminei o Air Vortex. No entanto, irei testá-lo amanhã, já que estou ocupado no momento. Logo após os testes, escreverei o código das spells restantes.
    1 ponto
  25. 1 ponto
  26. Os efeitos em volta são individuais. A outfit dele é apenas o Fearow soltando o redemoinho na frente dele. #Off E outra Zipter, teria como me ajudar? http://www.xtibia.com/forum/topic/234629-morph/#entry1655317
    1 ponto
  27. Bruno

    Vanaheim global open source

    Amigo, não tem necessidade, este post está com a ultima versão do tfs, na qual este bug já está corrido, veja você mesmo: https://github.com/brunominervino/forgottenserver/blob/master/src/player.cpp#L322 Att.
    1 ponto
  28. Adicione uma storage ao player apos ele pegar 1 task assim evitando que ele pegue outra, depois adicione para o npc ler essa storage e verificar qual task você esta fazendo, depois utilizando a função os.time limita para so poder fazer a task a cada 24horas
    1 ponto
  29. beto06

    [Show Off] Beto

    continuação, quero comentários http://3.imgland.net/rOALpb.png
    1 ponto
  30. Saymon14

    [Talkactions] Informaçoes Gerais

    Autor: Bvkse e Tigerx2 Servidor testado: Styller Yourots, version 0.7.5 (Styller Yourots) e Alissow 0.4.1 Descrição: ao falar !info ira aparecer as informaçoes do player dinhero em mãos, vocação, guid, magic level, health/healthtotal, mana/manatotal e tempo de premium time. Instalando: é um script bem legal, parece com um sistema de Dex, dai resolvi trazer para voces.
    1 ponto
Líderes está configurado para São Paulo/GMT-03:00
×
×
  • Criar Novo...