Líderes
Conteúdo Popular
Exibindo conteúdo com a maior reputação em 06/13/15 em todas áreas
-
[Resolvido] ajuda com magia unown e air vortex
jeanflamengo e 2 outros reagiu a zipter98 por uma questão
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 pontos
-
Ao Deslonga com x Item usa-lo autimaticamente
NackPunnie e um outro reagiu a zipter98 por uma questão
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 end2 pontos -
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 end2 pontos
-
Vanaheim global open source
sandrodiegoadao reagiu a Bruno por um tópico no fórum
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 Project1 ponto -
[Encerrado]RealPoke Apresentação
JonatasLucasf reagiu a Avronex por um tópico no fórum
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 -
1 ponto
-
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 DarkstaR1 ponto
-
Como fazer nature! (grama + terra + areia)
gabrielbsales reagiu a Administrador por um tópico no fórum
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 -
[Show-Off] CP,TC,Mark PxG
jeanflamengo reagiu a HeelNox por um tópico no fórum
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 -
[Resolvido] ajuda com magia unown e air vortex
jeanflamengo reagiu a zipter98 por uma questão
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 -
aqui ^^ http://www.xtibia.com/forum/topic/233647-sprite-do-cp-do-pxg-e-itens-do-pxg/ Vlw ^^1 ponto
-
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 end1 ponto
-
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 end1 ponto
-
1 ponto
-
Tilevip aceita membros da equipe
Jorge Bergamin reagiu a Bruno por uma questão
Certo! Qualquer problema poste aqui possamos ajudá-lo.1 ponto -
xPoketibia [Open source] (OFICIAL!)
Wend ll reagiu a Administrador por um tópico no fórum
Vou preparar alguns remakes em sprites pra liberar. Quem sabe um mapa melhor =)1 ponto -
[8.6 Global] University of Chaos.
Administrador reagiu a Night Wolf por um tópico no fórum
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 -
[8.6 Global] University of Chaos.
Administrador reagiu a Night Wolf por um tópico no fórum
@@Daniel obrigado amigo1 ponto -
[PEDIDO/DUVIDA] Arrumar essa sprite
RigBy reagiu a Administrador por uma questão
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 -
Novas medalhas disponíveis!
Administrador reagiu a moskitinho por um tópico no fórum
Leia e comente minha história Sr. Kakis1 ponto -
Estou na espera por atualizações! Gogo Terminar o Level System1 ponto
-
Parabéns pela iniciativa.1 ponto
-
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
-
Movido para pedidos resolvidos obrigado1 ponto
-
[Resolvido] ajuda com magia unown e air vortex
clebao666 reagiu a FlamesAdmin por uma questão
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/#entry16553171 ponto -
Vanaheim global open source
sandrodiegoadao reagiu a Bruno por um tópico no fórum
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 -
[Resolvido] [NPC] Task Diaria
jeanflamengo reagiu a Techrlz por uma questão
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 24horas1 ponto -
continuação, quero comentários http://3.imgland.net/rOALpb.png1 ponto
-
[Talkactions] Informaçoes Gerais
bielstocco reagiu a Saymon14 por um tópico no fórum
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