Ir para conteúdo

Líderes

Conteúdo Popular

Exibindo conteúdo com a maior reputação em 12/18/15 em %

  1. deglorio

    Pokemon PDA XTIBIA

    SERVIDOR ATUALIZADO 29/12/2015. -Bug TV Corrigido - Bug loot Corrigido E muito mais que esqueci Para corrigir o Bug dos pokemons sumirem ao evoluir. Vá em data/lib e troque seu level system.lua por este abaixo. Olá pessoal do XTibia! Há algum tempo estou criando este servidor, ele é o PDA com source, devido a compromissos pessoais, estou deixando para quem quer continuar o projeto, caso alguém tenha interesse aqui no tópico de terminar o servidor, postarei as sources, não coloquei ainda porque tem muita gente que quer tudo pronto,e um servidor desse não existe em lugar nenhum. Andamento do servidor Level System: 100% Addon Pokemons: 100% Caught System: 100% Go-Back System: 100% Portrait System: 100% Evolution System: 100% NPC Nurse System: 100% Pokedex System: 100% Ghost System: 100% Wild Pokemon Passive: 100% Icon System: 100% Liders de Ginásio: 100% Moves System: 100% Limite de 6 Pokemons: 100% Duel System (Pela Party) 100% Tv / Cam System 100% Order 100% e MUITO MAIS. OBS: Servidor mysql, use a database dash2015.sql (dentro da pasta schemas) Senha do ADM: Account: 4926151 Password: dagst4926151guto Prints: Em Breve Downloads: Servidor > https://drive.google.com/file/d/0B9RdNFevGojkTThHdE1YV05PNnM/view?usp=sharing Cliente: http://www.mediafire.com/download/rkv0xwpp2ac92f3/Client_Pounc_Limpo_Sem_Erros.rar Créditos: Deglorio Brun 123 Gabrieltxu Slicer Aberos Se eu esqueci alguém me avise
    1 ponto
  2. aremst

    Remere's Map Editor 7.4 - 10.82

    Introdução Versão: 7.4 à 10.82. Utilize o tibia.dat e tibia.spr originais. items.otb oficiais. items.xml é constantemente atualizado Download Tibia Client https://secure.tibia.com/account/?subtopic=downloadclient ATENÇÃO Para todos aqueles que usam mapas RL, antes de fazer quaisquer alterações ao item.otb e items.xml do RME, é recomendável arrumar seu mapa, porque os mapas disponibilizados em alguns fóruns, dependendo de sua versão, podem trazer futuros problemas por terem sido modificados em outros map editor. Requisitos Microsoft Visual C++ 2010: Windows 32B | Windows 64B Microsoft Visual C++ 2011/12: Windows 32B & 64B Microsoft Visual C++ 2013: Windows 32 & 64B Versão antiga 10.76 do items.otb RME items.otb oficial 10.78/10.79/1080/1082 Download Links: Remere-s-Map-Editor- 7.4 - 10.82 Scan: Ubuntu 15.04 Scan Ubuntu: Items 10.82 Orts: My Future Data Pack: https://github.com/ricker75/Global-Server Source Code: https://github.com/hjnilsson/rme/ Creditos: hjnilsson Sources De RME Kruger Developers items.otb + actualizacion de Rme
    1 ponto
  3. 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
  4. Avuenja

    Entrada Web - Avuenja

    Olá pessoal, bom faz um tempo que tenho essa entrada fiz ela com um pouquinho de php... Ainda ta simples e as imagens estão um pouco feias, mas com um pouco de edição de imagens fica legal. Não mais, não mais... Vamos ao que realmente interessa, não? Informações: Nome - Avu Entrada Web Versão - v0.1 Criado - 11/08/2013 - 00:32 Criador - Marcelo Carvalho | Avuenja Saiba mais informações no arquivo creditos.txt na pasta do mesmo. Changelog: v0.1 * Configuração pela config.php * Contém Redes socias * Feito sistema de "postagem" básico * Pequena galeria inclusa * Clocado Âncora se as publicações ficarem extensa para voltar ao topo mais rápido * Informações do servidor Imagens: Download: Avu Entrada WebScan: Avu Entrada Web Obrigado galera! Espero que gostem, amanha ou depois eu posto o v2 bem melhor!
    1 ponto
  5. Caronte

    Bug Aol Infinito

    Retire essa linha do seu script: doCreatureSetDropLoot(cid, false) Vá em items.xml e procure por 2196, em baixo de: <item id="2196" article="a" name="broken amulet"> coloque isto: <attribute key="preventDrop" value="1" /> Tópico Movido Este tópico foi movido de "OTServ → Suporte OTServ → Suporte Scripting" para "OTServ → Suporte OTServ → Suporte Scripting → Pedidos e dúvidas resolvidos - Scripting".
    1 ponto
  6. Diretor Fixin

    [Encerrado]Naruto War Nations

    Estou trabalhando faz um tempo já no meu projeto com sprites básicas de Tibia, não as novas que as sprites são deitadas, de primeiro passo anotei todas minhas ideias para organizar todo o conteúdo e acabou se tornando algo bem legal que decidi fazer sair do papel. O que falta muito nos servidores de hoje em dia é o RPG, principalmente nos servidores de Naruto que eles pecam muito na jogabilidade do mesmo. E é esse princípio que será baseado o NWN. O Naruto War Nations não será um servidor baseado na história do anime Naruto, será baseado no mundo de Naruto, sendo considerado uma "simulação" do mesmo, fazendo com que o jogador se sinta dentro do jogo, interagindo com outros jogadores de forma social e diplomática, lhe oferecendo uma enorme liberdade para escolher seu caminho ninja. O NWN contará com um mapa extremamente grande com 10 aldeias ninjas, sendo 5 jogáveis e 5 NPCs, onde o player escolherá uma das 5 aldeias principais (Konoha, Suna, Kiri, Kumo e Iwa), cada uma com seus pontos fortes e fracos e clãs diferentes. Os ninjas da mesma aldeia não poderão se atacar, apenas em uma arena PVP, o que irá auxiliar na união dos ninjas em batalhas. No NWN haverá sistema de diplomacia, que serão escolhidos pelo Kage (líder da aldeia, escolhido pelos ninjas da mesma) dentre as opções: Neutro, Aliado ou Inimigo. No NWN, os ninjas não satisfeitos com as ações de sua aldeia, poderão se tornar renegados, abandonando sua aldeia de origem e passando ser inimigo de todas as outras aldeias, passando seu "temple" para um Campo Nukennin que ficará afastado da aldeia, podendo ter a opção de trocar de Campo, indo para um de outro país, tanto quanto voltar para o anterior. Haverá uma grande quantidade de missões por NPC para serem feitas, essas missões irão ter recompensas em dinheiro, e uma porcentagem da quantia será enviada ao Kage que irá poder utilizar para missões particulares, bonificar algum ninja destaque da vila, entre várias opções que se poderá fazer com dinheiro no NWN. Também haverá raridade de itens que fará com que os players se destaquem cada vez mais: Itens Comuns: Serão os itens simples (bandit shirt, kunai, shuriken) que somente servirão para disponibilizar arm (para roupas) e atk/def (para armas). São adquiridas facilmente através de loot e/ou lojas. Itens Raros: Itens (bandana, lee trousers, jounnin armor) com propriedades bônus, como aumento de regeneração, aumento de skills, etc. São adquiridas através de graduações, quests ou loots raros. Itens Lendários: Serão itens únicos no game (hiramekarei, samehada, hokage hat) somente sob posse de um único player, sendo os itens mais fortes. Sua aquisição é secreta. Como foi apresentado no anime, Konoha pode ter uma enorme diversidade de clãs, enquanto as outras aldeias demonstraram poucos, por isso introduziremos a opção de ser um "No-Clan" que poderá ter diversas opções para se especializar, tais como: Kenjutsu, Habilidades Médicas, Ninjutsus elementais, e outros, sendo alguns (Youton, Bakuton, Shakuton, etc) disponíveis somente para algumas aldeias, para balancear na diversidade de ninjas de cada aldeia, além de que todas as aldeias poderão ter 2 Jinchuurikis, enquanto Konoha só uma. Os Chuunin Shikens poderão ser realizados aleatoriamente nas 5 grandes nações ninjas, fazendo com que os ninjas anfitriões tirem uma vantagem, por conhecerem bem seu país. Além disso, também haverá o Kuchyose no Jutsu, que a aldeia de origem irá influenciar bastante na escolha da espécie. KONOHA SUNA KIRI IWA KUMO Como havia dito antes, os Kages poderão escolher a diplomacia de sua aldeia negociando com os outros Kages, propondo alianças, declarando guerras ou simplesmente deixando as relações nêutras. Aldeias Aliadas: Para os ninjas dessas aldeias, será Non-PVP, o que irá ajudar quando juntarem ninjas das duas aldeias para enfrentar um inimigo em comum. Aldeias Nêutras: Nesse caso, será PVP normal, se alguém atacar um ninja de uma aldeia nêutra, irá receber white skull, se matar, irá receber red skull por um curto tempo. Aldeias Inimigas: Será totalmente PVP-Enforced, se um ninja matar outro de uma aldeia inimiga, haverá o ganho da experiência de acordo com o nível do ninja morto. Conforme o andamento do servidor, ele irá passar por diversos capítulos: Capítulo 1 - Preparações (servidor com dobro de experiência, ml e skill rates) Capítulo 2 - Destaque-se (maior distribuição de itens lendários) Capítulo 3 - Invasões (com diversas invasões nas aldeias, os ninjas deverão se juntar para defender seu lar) Capítulo 4 - Líderes (conforme foi necessário organização dos ninjas das aldeias para defenderem seus lares, haverá a escolha dos Kages e líderes da ANBU, esse capítulo só terminará quando todos líderes forem eleitos) Capítulo 5 - Bijuus (desta vez, quem irá invadir são as bijuus, que após serem derrotadas, o Kage irá decidir quem de sua aldeia irá ficar com o chakra dela, se tornando um Jinchuuriki) Capítulo 6 - Akatsuki (após todas as Bijuus forem derrotadas, assim havendo os 9 Jinchuurikis, a Akatsuki irá surgir, sendo escolhido dentre os melhores nukennins a opção de se tornar o líder da organização, e adiante os outros 9 membros ele irá escolher) A guerra no NWN será extremamente voltada para um sistema de estratégias, fazendo com que a vila que organizar uma estratégia melhor e executa-la com mais eficiência irá ganhar bons proveitos com uma guerra, tudo isso será permitido com sistemas inéditos que irão dar uma grande imersão no RPG do servidor. Domain Areas System Teams System Patrol System A equipe por enquanto só está composta por mim, de começo estou focando nos mapas, deixando eles 90% para após isso aplicar os sistemas, pois como são sistemas "globais" haverá a necessidade de uma grande parte do mapa estar completo. Equipe: Nephew - Administrador, Coordenador da equipe, Mapper e Scripter No momento estou precisando de um Mapper experiente para finalizar o mapa comigo, porém se houver Scripters e Spriters interessados também serão bem recebidos. Se interessados, favor preencher o formulário e postar aqui no tópico, via mensagem privada ou e-mail para: diretor.fixin@gmail.com Nome Completo: Idade: Cargo: Tempo de experiência no cargo desejado: Alguns de seus trabalhos: Tempo disponível para o servidor: IMAGENS EM BREVE! Atenciosamente, Nephew
    1 ponto
  7. P0ker

    XenoBOT 10.90 + Crack

    Introdução O XenoBot é um bot bem antigo e foi feito para ser indetectável por simular ações do teclado e mouse, porém hoje em dia a CipSoft tem banido até mesmo utilizadores desses BOTs mais seguros, portanto é recomendado não usar em main chars. O crack disponível foi desenvolvido pelo fórum PandoriumX e fica a critério do usuário confiar ou não. Funções O XenoBot possui as funções mais desejadas nos bots, são elas cavebot, looting, auto-deposit, auto npc seller, auto-spells, auto-healing, trainer, alarmes, anti-afk, auto-fishing e muitas outras! Instruções de Instalação 1. Extraia o arquivo 2. Execute o XenoSuite.exe Pronto, você já pode utilizar o XenoBot livremente. :forward: Download e Scan
    1 ponto
  8. actions: <action itemid="xxxx" script="vipdonat.lua"/> vipdonat.lua: (13778) storage, mude-a para desejada function onUse(cid, item, fromPosition, itemEx, toPosition) local config={ removeOnUse = "yes" -- remover quando usar ("yes" or "no") } local days = 30 -- dias que serão adicionados local daysvalue = days * 24 * 60 * 60 local storageplayer = getPlayerStorageValue(cid, 13778) local timenow = os.time() if getPlayerStorageValue(cid, 13778) - os.time() <= 0 then time = timenow + daysvalue else time = storageplayer + daysvalue end doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Foram adicionados ".. days .." dias de VIP no seu character.") setPlayerStorageValue(cid, 13778, time) local quantity = math.floor((getPlayerStorageValue(cid, 13778) - timenow)/(24 * 60 * 60)) doSendMagicEffect(getPlayerPosition(cid), math.random(28,30)) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você tem ".. quantity .." dias de VIP restantes.") if (config.removeOnUse == "yes") then doRemoveItem(item.uid, 1) db.executeQuery("UPDATE `players` SET `name` = '[VIP] "..getCreatureName(cid).."' WHERE `id` = "..getPlayerGUID(cid)..";") doPlayerSendTextMessage(cid,25,"Você será kickado em 5 segundos para mudança de nome.") doPlayerAddAddons(cid, 1) addEvent(doRemoveCreature, 5*1000, cid, true) end return TRUE end creaturescripts.xml: add <event type="login" name="FimVip" event="script" value="fimvip.lua"/> fimvip.lua: \creaturescripts\scripts function onLogin(cid) local temple = { x =160, y = 54, z = 7} if vip.hasVip(cid) == true then if getPlayerStorageValue(cid,13778) ~= 1 then setPlayerStorageValue(cid,13778,1) end else if getPlayerStorageValue(cid,13778) == 1 then doTeleportThing(cid, temple) doPlayerSendTextMessage(cid, 22, "Sua vip acabou!") db.executeQuery("UPDATE `accounts` SET `vip_time` = 0 WHERE `id` = ".. getAccountIdByName(getPlayerName(cid)) ..";") setPlayerPromotionLevel(cid, 1) setPlayerStorageValue(cid, 13778, 0) end end return true end function onLogin(cid) local name = string.gsub(""..getCreatureName(cid).."", ".VIP. ", "") if getPlayerStorageValue(cid, 13778) <= 0 then if getCreatureName(cid) ~= name then db.executeQuery("UPDATE `players` SET `name` = '"..name.."' WHERE `id` = "..getPlayerGUID(cid)..";") addEvent(doRemoveCreature, 2*1000, cid, true) end end return true end movements.xml: 29859 (action id do piso que expulsará intrusos) <movevent type="StepIn" actionid="29859" event="script" value="viptile.lua"/> viptile.lua: function onStepIn(cid, item, position, fromPosition) local config = { msgDenied = "Este lugar é só para vips donate, adquira sua vip no site..", msgWelcome = "Bem vindo a area vip, você tem 20% a mais de xp, bom up.." } if getPlayerStorageValue(cid, 13778) - os.time() <= 0 then doTeleportThing(cid, fromPosition, true) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, config.msgDenied) doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE) return TRUE end doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, config.msgWelcome) return TRUE end Qualquer coisa manda um salve ^^
    1 ponto
  9. é quase a mesma coisa , da uma olhada ai http://www.xtibia.com/forum/topic/237246-skill-fist-ter-influencia-no-dano-de-certa-magia/
    1 ponto
  10. Kemix

    Magia por x Reset's

    -- Areas/Combat for 0ms function getPlayerReset(cid) local qr = db.getResult("SELECT `reset` FROM `players` WHERE `id`= ".. getPlayerGUID(cid).. ";") <-- rss = qr:getDataInt("reset", cid) if rss < 0 then rss = 0 end return rss end local combat0_Brush = createCombatObject() setCombatParam(combat0_Brush, COMBAT_PARAM_EFFECT, CONST_ME_LOSEENERGY) setCombatParam(combat0_Brush, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ICE) setCombatParam(combat0_Brush, COMBAT_PARAM_TYPE, COMBAT_ICEDAMAGE) setCombatArea(combat0_Brush,createCombatArea({{2}})) function getDmg_Brush(cid, level, maglevel) return (80)*-1,(180)*-10 end setCombatCallback(combat0_Brush, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush") local dfcombat0_Brush = {CONST_ANI_SMALLICE}local combat0_Brush_2 = createCombatObject() setCombatParam(combat0_Brush_2, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_GREEN) setCombatParam(combat0_Brush_2, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatArea(combat0_Brush_2,createCombatArea({{2}})) function getDmg_Brush_2(cid, level, maglevel) return (80)*-1,(180)*-12 end setCombatCallback(combat0_Brush_2, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush_2")local combat0_Brush_3 = createCombatObject() setCombatParam(combat0_Brush_3, COMBAT_PARAM_EFFECT, CONST_ME_STUN) setCombatParam(combat0_Brush_3, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatArea(combat0_Brush_3,createCombatArea({{1, 0, 0, 0, 1}, {0, 1, 2, 1, 0}, {1, 0, 0, 0, 1}})) function getDmg_Brush_3(cid, level, maglevel) return (86)*-1,(200)*-10 end setCombatCallback(combat0_Brush_3, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush_3")local combat0_Brush_2 = createCombatObject() setCombatParam(combat0_Brush_2, COMBAT_PARAM_EFFECT, CONST_ME_GROUNDSHAKER) setCombatParam(combat0_Brush_2, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_WHIRLWINDCLUB) setCombatParam(combat0_Brush_2, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatArea(combat0_Brush_2,createCombatArea({{2}})) function getDmg_Brush_2(cid, level, maglevel) return (80)*-1,(200)*-10 end setCombatCallback(combat0_Brush_2, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush_2") local dfcombat0_Brush_2 = {CONST_ANI_WHIRLWINDCLUB}local combat0_Brush = createCombatObject() setCombatParam(combat0_Brush, COMBAT_PARAM_EFFECT, CONST_ME_SMALLCLOUDS) setCombatParam(combat0_Brush, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_THROWINGKNIFE) setCombatParam(combat0_Brush, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatArea(combat0_Brush,createCombatArea({{2}})) function getDmg_Brush(cid, level, maglevel) return (95)*-1,(210)*-10 end setCombatCallback(combat0_Brush, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush") local dfcombat0_Brush = {CONST_ANI_SMALLEARTH}local combat0_Brush_6 = createCombatObject() setCombatParam(combat0_Brush_6, COMBAT_PARAM_EFFECT, CONST_ME_SMALLPLANTS) setCombatParam(combat0_Brush_6, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatArea(combat0_Brush_6,createCombatArea({{0, 1, 1, 1, 0}, {1, 0, 2, 0, 1}, {0, 1, 1, 1, 0}})) function getDmg_Brush_6(cid, level, maglevel) return (100)*-1,(290)*-10 end setCombatCallback(combat0_Brush_6, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush_6") -- Areas/Combat for 900ms local combat9_Brush_6 = createCombatObject() setCombatParam(combat9_Brush_6, COMBAT_PARAM_EFFECT, CONST_ME_SMALLPLANTS) setCombatParam(combat9_Brush_6, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatArea(combat9_Brush_6,createCombatArea({{1, 0, 0, 0, 0, 0, 0, 0, 1}, {1, 0, 0, 0, 0, 0, 0, 0, 1}, {1, 0, 0, 0, 2, 0, 0, 0, 1}, {1, 0, 0, 0, 0, 0, 0, 0, 1}, {1, 0, 0, 0, 0, 0, 0, 0, 1}})) function getDmg_Brush_6(cid, level, maglevel) return (100)*-1,(290)*-11 end setCombatCallback(combat9_Brush_6, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush_6")local combat9_Brush_3 = createCombatObject() setCombatParam(combat9_Brush_3, COMBAT_PARAM_EFFECT, CONST_ME_STUN) setCombatParam(combat9_Brush_3, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatArea(combat9_Brush_3,createCombatArea({{1, 0, 0, 0, 0, 0, 0, 0, 1}, {0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 1, 0, 0, 0, 1, 0, 0}, {0, 0, 0, 1, 2, 1, 0, 0, 0}, {0, 0, 1, 0, 0, 0, 1, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0}, {1, 0, 0, 0, 0, 0, 0, 0, 1}})) function getDmg_Brush_3(cid, level, maglevel) return (86)*-1,(200)*-10 end setCombatCallback(combat9_Brush_3, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush_3") -- Areas/Combat for 400ms local combat4_Brush_6 = createCombatObject() setCombatParam(combat4_Brush_6, COMBAT_PARAM_EFFECT, CONST_ME_SMALLPLANTS) setCombatParam(combat4_Brush_6, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatArea(combat4_Brush_6,createCombatArea({{0, 1, 1, 1, 1, 1, 0}, {1, 0, 0, 0, 0, 0, 1}, {1, 0, 0, 2, 0, 0, 1}, {1, 0, 0, 0, 0, 0, 1}, {0, 1, 1, 1, 1, 1, 0}})) function getDmg_Brush_6(cid, level, maglevel) return (100)*-1,(290)*-10 end setCombatCallback(combat4_Brush_6, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush_6")local combat4_Brush_3 = createCombatObject() setCombatParam(combat4_Brush_3, COMBAT_PARAM_EFFECT, CONST_ME_STUN) setCombatParam(combat4_Brush_3, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatArea(combat4_Brush_3,createCombatArea({{1, 0, 0, 0, 0, 0, 1}, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 2, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0}, {1, 0, 0, 0, 0, 0, 1}})) function getDmg_Brush_3(cid, level, maglevel) return (86)*-1,(200)*-7 end setCombatCallback(combat4_Brush_3, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush_3") -- =============== CORE FUNCTIONS =============== local function RunPart(c,cid,var,dirList,dirEmitPos) -- Part if (isCreature(cid)) then doCombat(cid, c, var) if (dirList ~= nil) then -- Emit distance effects local i = 2; while (i < #dirList) do doSendDistanceShoot(dirEmitPos,{x=dirEmitPos.x-dirList,y=dirEmitPos.y-dirList[i+1],z=dirEmitPos.z},dirList[1]) i = i + 2 end end end end function onCastSpell(cid, var) if getPlayerReset(cid) < 1 then doPlayerSendCancel(cid, "You can't cast this spell.") return true end local startPos = getCreaturePosition(cid) RunPart(combat0_Brush,cid,var,dfcombat0_Brush,startPos) RunPart(combat0_Brush_2,cid,var) RunPart(combat0_Brush_3,cid,var) RunPart(combat0_Brush_2,cid,var,dfcombat0_Brush_2,startPos) RunPart(combat0_Brush,cid,var,dfcombat0_Brush,startPos) RunPart(combat0_Brush_6,cid,var) addEvent(RunPart,900,combat9_Brush_6,cid,var) addEvent(RunPart,900,combat9_Brush_3,cid,var) addEvent(RunPart,400,combat4_Brush_6,cid,var) addEvent(RunPart,400,combat4_Brush_3,cid,var) return true end
    1 ponto
  11. SkyLigh

    Conquistas..

    Solicite atraves deste TÓPICO
    1 ponto
  12. vou fazer algo melhor do que simplesmente te dar a resposta, vou te ensinar como fazer isso pra qualquer spell que vc queira; Primeiramente vc tem que extrair as informações que você tem na sua spell, isso significa essas 3 coisinhas aqui (pro seu caso): TIPO DE DAMAGE:local combat = createCombatObject()setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_DEATHDAMAGE) EFEITO:setCombatParam(combat, COMBAT_PARAM_EFFECT, 30) AREA:arr = { {0, 0, 0, 0, 0}, {0, 1, 1, 1, 0}, {0, 1, 3, 1, 0}, {0, 1, 1, 1, 0}, {0, 0, 0, 0, 0}, } local area = createCombatArea(arr) --------- COM ESSAS INFORMAÇÕES, VAMOS COMEÇAR NOSSO CÓDIGO ------ Agora vá em data/lib/constant.lua e vc primeiramente irá procurar uma tabela parecida com essa daqui: Se você olhar o último item dessa tabela podemos ver COMBAT_DEATHDAMAGE = 2048 agora olhando praquela primeira informação que nós temos "tipo de damage" iremos ver que esse COMBAT_DEATHDAMAGE também está presente: Certo, agora precisamos definir nosso efeito.. os efeitos ficam convenientemente no mesmo arquivo constant.lua, vimos ali no seu código que vc usa o efeito de número 30 Certo, a área iremos usar a mesma.. agora vamos ao chamado "CORE" do script, também conhecido como corpo ou escopo principal, vou utilizar um aqui que ja foi criado pensando em spells que utilizem skills/mana/vida para tirar dano: Certo, agora vamos por partes: Por enquanto tudo que sabemos é que o "EFEITO" é 30, o "TIPO DE DAMAGE" é o 2048 e a "AREA DA SPELL" é igual aquela área desenhada. Substituindo oque a gente sabe fica assim: Perceba que a única coisa que falta na nossa função são as fórmulas.. Você pode literalmente definir QUALQUER coisa como fórmula, se eu colocar apenas 50 ali no min e no max minha magia sempre vai tirar 50. Se eu colocar 50 no min e 100 no max ela sempre vai tirar algo entre esses dois números... mas nós não queremos que a magia hite um numero constante, nós queremos que ela dependa da skill da pessoa, do nível dela, do ml. Do contrário, ela ia ser extremamente podre pois não possui uma evolução junto com o player. "tá lobo, mas como vou saber que fórmula usar?" Essa é uma pergunta muito delicada, temos sempre que considerar os casos extremos, se uma magia pode ser usada no nv 10 por exemplo, e a formula dela é level * ml temos que checar os dois casos abaixo: - Caso 1 Player nivel 10, ml 1 irá arrancar 10 de life na magia.. parece justo - Caso 2 Player nivel 300, ml 90 irá arrancar 27.000 de life na magia.. não parece tão justo hahaha Existe uma dica que o próprio tibia nos dá de como montar fórmulas justas, que é usar constantes de proporcionalidade. "Meu deus, Lobo, que caralhas é isso?" bem, o nome é bem mais complicado do que a coisa em si. Finalizando as fórmulas, temos min = (150 + (skill /2)) e max = (200 + (3 * (skill/2))) Tá, mas como ensinar pro nosso script oque é "skill" e que ela representa o fist fighting? bem, é nessa hr que olhamos pra aquele pequeno espaço no script dizendo "SKILLS QUE SERÃO USADAS". Ali você deve criar uma variável skill que irá ler a skill do player, através da função getPlayerSkillLevel(cid, "código da skill") "Mas como eu sei o código da skill?", muito simples meu caro.. lembra que eu falei pra você ir em data/lib/constant? Esse documento tem todas as informações que você precisa pra fazer qualquer código, e é justamente nele que iremos procurar qual é o código da skill fist. Depois de uma rápida procura eu me deparei com esta tabela> e nela podemos ver que o código para a skill fist é 0. Declaro ali naquele espaço do script local fist = getPlayerSkillLevel(cid, 0) e a partir de agora no lugar de skill nas minhas fórmulas eu só escreverei fist e o server irá entender o que eu quero. O script final fica: Aquele factor que eu coloquei é uma coisinha (fator de correção de erro) que é sempre bom colocar pois nem sempre as formulas na prática tiram oque elas tiram na teoria, o dano varia de acordo com o combat que nós escolhemos e as vezes é bom adicionar esse factor para podermos ajustar a fórmula mais facilmente. Espero que não tenha preguiça de ler tudo, se você entender como isso funciona garanto que conseguirá fazer magias que se baseiam em somas de skills e criar fórmulas ultra realistas para magias não só baseadas em skills como baseadas em cap, mana, vida, velocidade e qualquer outra coisa que você conseguir pensar..
    1 ponto
  13. Avuenja

    Modern AAC por Avuenja V0.2

    Kon'nichiwa pessoal! Estou de volta é depois de um dia já tem uma atualização! Mais um conteúdo exclusivo XTibia.com Bom arrumei muita coisa bugada! Então vamos as Informações ou Chagelogs... Informações: v0.1 Arrumado algumas páginas Layout modificado Bootstrap inserido Traduzido algumas partes do front end Mais leve Contém psd do topo v0.2 Páginas melhoradas Traduzido 85% da front end System Guild Fixed implantado NO ERROS System Shop Fixed implato NO ERROS Bugs encontrados retirados Melhorado quase 80% a mais do que na v0.1 Bom ta melhorando aos poucos galera... Qualquer sugestão ou bug só reportar aqui mesmo, é que as vezes não lembro de tudo então... Imagens: Download: modernv0.2 Scan: modernv0.2 Créditos: Modern AAC Team Avuenja
    1 ponto
  14. SkyLigh

    Assistente da equipe

    Na verdade já existe que é o cargo que eu estou atualmente Tutor. Caso tenha interesse em algum cargo no fórum, contribua com conteúdos.
    1 ponto
  15. Lumus

    Skin mobil

    Essa skin na qual o lhe informei, é a skin padrão do navegador(via pc). A skin para celulares, é a básica, para consumir menos tráfego da internet. Não sei se seria viável modificar.
    1 ponto
  16. Lumus

    Coloca vídeo no tópico

    Só copiar o link do vídeo e colar no post.
    1 ponto
  17. Mudrock

    Mudança de Nick

    Mudança de nick Para ser realizado a troca de nick, você deve ter pelo menos 6 meses de registro no XTibia. Obrigado
    1 ponto
  18. BananaFight

    [C++] Color Name [DigiWo]

    Creature.cpp procure por: if(healthPercent > 92) Embaixo você muda para: if (m_name == "Banana Fight"){ m_informationColor = Color(0xB2, 0x22, 0x22); }else{ m_informationColor = Color(0x00, 0xBC, 0x00); } Adicionando Nomes: Isto representa o nome do monstro/player que terá a cor do nome alterada. (Sim, vai ter que cadastrar nome por nome nesse sistema.) if (m_name == "Banana Fight") Para adicionar mais nomes é só seguindo a logica: if (m_name == "Banana Fight"){ m_informationColor = Color(0xB2, 0x22, 0x22); }else if (m_name == "Demon"){ m_informationColor = Color(0xFF, 0xFF, 0xFF); }else{ m_informationColor = Color(0x00, 0xBC, 0x00); } E para colorir o resto das porcentagens a mesma coisa: else if(healthPercent > 60) if (m_name == "Banana Fight"){ m_informationColor = Color(0xB2, 0x22, 0x22); }else{ m_informationColor = Color(0x50, 0xA1, 0x50);} Só recomendo que não mecha no ultimo, pois se não souber mexer pode dar erro. else m_informationColor = Color(0x85, 0x0C, 0x0C); Adicionando Cores: Isto representa a porcentagem de hp que o player ou monstro vai estar m_informationColor = Color(0x00, 0xBC, 0x00); Para mudar a cor você edita aqui : Color(0x00, 0xBC, 0x00) As cores funcionam da seguinte maneira (RGB), tabela: http://shibolete.tripod.com/RGB.html Você tem que pegar a cor hexadecimal e dividir em 3 partes (#FFFF00 > FF FF 00), ai é só você preencher, Color(0xFF, 0xFF, 0x00) com cada letra/numero. Exemplo Final: void Creature::setHealthPercent(uint8 healthPercent){ if(healthPercent > 92) if (m_name == "Banana Fight"){ m_informationColor = Color(0xB2, 0x22, 0x22); }else{ m_informationColor = Color(0x00, 0xBC, 0x00); } else if(healthPercent > 60) if (m_name == "Banana Fight"){ m_informationColor = Color(0xB2, 0x22, 0x22); }else{ m_informationColor = Color(0x50, 0xA1, 0x50); } else if(healthPercent > 30) if (m_name == "Banana Fight"){ m_informationColor = Color(0xB2, 0x22, 0x22); }else{ m_informationColor = Color(0xA1, 0xA1, 0x00); } else if(healthPercent > 8) if (m_name == "Banana Fight"){ m_informationColor = Color(0xB2, 0x22, 0x22); }else{ m_informationColor = Color(0xBF, 0x0A, 0x0A); } else if(healthPercent > 3) if (m_name == "Banana Fight"){ m_informationColor = Color(0xB2, 0x22, 0x22); }else{ m_informationColor = Color(0x91, 0x0F, 0x0F); } else m_informationColor = Color(0x85, 0x0C, 0x0C); m_healthPercent = healthPercent; callLuaField("onHealthPercentChange", healthPercent); if(healthPercent <= 0) onDeath();} Tópico corrigido por: Stigal.
    1 ponto
Líderes está configurado para São Paulo/GMT-03:00
×
×
  • Criar Novo...