Ir para conteúdo

Líderes

Conteúdo Popular

Exibindo conteúdo com a maior reputação em 09/28/12 em todas áreas

  1. Stigal

    [Lista] Mega Tutoriais Mapping 5.0

    • # Lista # Mega Tutoriais De Mapping 5.0 • • RME • » Instalando seu RME - BruMatt » Aprenda a usar o RME - Vilden » Juntando um mapa ao outro - Filippe Ferreira » Criando Casas - Alissow » Importando Mapa - Lordfire » Adicionando NPC's/Monster's no Palette - Vilden » Unsupported Client Version - LuisFelipe » Mudar a Versão do Mapa - Henrique Moura » Modificando Seu RME - DanielZiyak » Mapeando Com Seus Amigos - Pess0a » Trocando Os Itens De Seu Rme - Paraibinha » Como Criar Quest Pelo Rme - Locosporot » Tirando Bugs RME 8.6 - CruelShark » Converta Imagens Para Otbm - Mythusz » [Easy] Remere 3.0 Beta 6 - Left4Dead » Instalando RME 8.70 - Alissow » Descendando o RME - ElderDark » [solução] Remeres Map Editor 8.60 - Felipitovis » Tirando Bugs Map Editor 8.6 Tibia.dat E Msvcrt.dll - CruelShark » {Solução} ~ Remeres Map_Editor (8.60X) - felipitovis » Campo De Visão - EdMignari » [Tutorial] Instalando Rme Map Editor 8.7 - SmileTiger » Apostilas De Mapping [Vital900 & Left4Dead] - Vital900 & Left4Dead » [Tutorial] Mudando a Versão Do Mapa - Stigal » [Tutorial] Adaptando Grounds Para O Auto Border - Openyourmind • Tutoriais Em Geral • » Dicas para Praticar - RenatoRibeiro » Coerência - 4458638 » O Mapa Ideal - RenatoRibeiro » Como Criar Uma Arena - Curruwilliam » Tutorial E Dowload Fasendo Casa No Rme - Extremeots » Algumas Dicas De Mapping - TecBreakerByLipe » [Efeito] Neon Em Quests - TecBreakerByLipe » [Detalhes] Escadas #Basico# - Stigal » [Tutorial] Como Fazer Um Barco - FlaashMan » [Tutorial] Adaptando Grounds Para O Auto Border - Openyourmind » 'reconhecendo' Suas Cidades & Depot - vital900 • Nature • » "Green" Nature Tutorial - Koddy » Guia Para Nature [básico] [Part 1] - DanielZiyak » Guia Para Nature [básico] [Part 2] - DanielZiyak » Temple Com Nature - Anyur » Fazendo Caminhos (Floresta) - Anyur » [basico] Criando A "Naturesa Verde" - Left4Dead » [Nature] Detalhamento e Beleza - DanielZiyak » Fazendo Nature - Anyur » [basico] Arvore Grande - Left4Dead » Nature Básica Para Iniciantes - LordZezim » [Tutorial] Como Organizar A Nature - TecBreakerByLipe » [Tutorial] Como Fazer Uma Ilha - TecBreakerByLipe » Snow - Nature / Montanha - GuizitoG » [Tutorial] Nature - TecBreakerByLipe » Deserto, Parte Nature - GuizitoG » Gramado Verde Escuro - Como Usar? - GuizitoG » [Tutorial] Jungle - VictorFT » [Tutorial] Nature - VictorFT » Jungle - DuMal » Criando House & Nature! - Overllord » Tutorial Swamp - VictorFT • Construções • » Fazendo uma Loja de Arqueiro - Skywar » Como construir uma Loja de Magia - Skywar » Como fazer um Templo - Caspita » Criando um Estádio de Futebol - Blinkrox » Barcos - Sukx » Fazendo Templo 'Stone Age' - anfarosx » Pallyshop - XaPiNhAl » Loja De Speller - Anyur » Loja De Forja - Left4Dead » Sala Do Faraó - Anyur » Depot Cidade Gelada - Anyur » Swamp - Pantano - GuizitoG » Como Criar Loja De Food! - RarTnE » Mappeando Like Vital [Templo] - Vital900 » [Tutorial] Templo - VictorFT » [básico] Pontes - TecBreakerByLipe » [básico] Cachoeira - TecBreakerByLipe » Detalhes Para Uma House! - Overllord » [Tutorial Básico] - House /Detalhamento [Rua] - VictorFT » Desert City House (Estilo Darashia) - Anyur » Criando House & Nature! - Overllord • Montanhas • » Utilizando Auto Border em Montanhas - LuisFelipe » Entrada pela Montanha - RenatoRibeiro » Técnicas para Cachoeiras - RenatoRibeiro » Detalhando Montanhas- RenatoRibeiro » Nature em Montanhas - markimbozi » Nascente D'água - Castiello & LuisFelipe » Detalhando uma Montanha de Terra - Skywar » Como Fazer Uma Cachoeira - TonyHanks » #001 [Kingdom Age] Montanhas - River » [Tutorial] Jungle + Montanha - GuizitoG » [básico] Formato De Montanhas - TecBreakerByLipe » [Tutorial] Montanha + Bordas (Com Autoborder) [+ Video] - GuizitoG » Undead Dragon Area - Anyur » [iniciante] Dicas Para A Elaboração De Montanhas. - Brund • Locais Em Geral • » Dicas para Treiners Naturais - FezZiN » Nightmare estilo Yalahar - RenatoRibeiro » Lizards estilo Zao - RenatoRibeiro » Tutorial de Ruínas - BruMatt » Pirâmides Egípcias - FezZinN » Calabouços - Koddy » Locais Gelados - Anyur » [iniciante] Ice Island - PatrickJean » Casas Em Cidades Geladas - Anyur » [Tutorial] Área De Gelo - Elrien » [intermediário] Sarcófagos - TecBreakerByLipe » Fazendo Praia - Anyur • Extensions • » Aprendendo a modificar Extensions - Koddy » Beige Pavement / "New" Wooden Floor - Koddy » Earth Mountains - Koddy » Extension Stone Floor - Anyur » [Extension] Adicionando Limestone Wall - Anfarosx » [Extension] Folhas No Chão - TecBreakerByLipe » [Pack] Extensions 8.54-8.70-9.60... - Openyourmind » [Rme] Extensões Personalizadas - FlaashMan • Formatos Em Geral • » Formato Continental - Koddy » Fazendo a Superfície do seu Mapa - FezZinN » Formatos #1 - RenatoRibeiro • Cavernas • » Formando Caves - Koddy » Detalhando Caves - Koddy » Caves - XaPiNhAl » Caverna Jungle - Anyur » Caverna Montanhosa de Spider - Anyur » Como Criar Uma Cave De Dragon - TecBreakerByLipe » [Tutorial] Como Criar Cave's - RarTnE » [Mapping] Cave (Básico) - Beto06 » [Tutorial] Criando E Detalhando Caves - VictorFT • Dicas Em Geral • » Efeitos nas Rampas - FezZiN » Passagens Tiles Secretos - itrox » Dicas para Criação de Quests com RPG - Temperance » (Guia) Casas - Marcell » Fazendo Armadilhas - Kerooker » Criando Labirintos - Fozz » Miragem no Deserto - XtiNaino » Colocando Livros em Bookcase e Texto - Kardec » Criando Roofs - felipitovis » Detalhamento De Templos - Flankee » Encaminhamento Alternativo - Anyur » Fazendo Quests No Rme Estilo Annihilation - Pess0a » Descida Secreta - Flankee » Passagem Criativa - Anyur » Templo Medieval - Anyur » Fazendo Passagem De Fogo - TonyHanks » Aldeia De Amazons - Anyur » [Efeito] Neon Em Quests - TecBreakerByLipe » [Tutorial] Area De Spider - TecBreakerByLipe » Construindo Piramides - Vital900 » Como Criar Um Barzinho - Maenilse » [básico] - Telhados - Left4Dead » [básico] Novo Tipo De Rua - Leaft4Dead » • Guia De Cidades - VictorFT » Colocando Passaros Para Voar No Mapa - Overllord » [Tutorial] Como Criar Uma Cidade - FlaashMan • Aulas • » Aulas de Mapping #1 - 4458638 » Aulas de Mapping #2 - 4458638 » Aulas de Mapping #2 - Lopoi2 & BruMatt » Aulas de Mapping Part. 2 - BruMatt & Lopoi2 » [Aula]1. "O Início" - MapperComand » Aula Mechendo Map Editor - Ewerton91 » Aula Mapping - Lição I - Laug » Aula Mapping - Lição II - Laug » Aula Remeres Poke Editor - JVitorPS » [Video-Aula] Como Criar Árvores Gigantes! - RarTnE » [Vídeo] Fazendo Base Com Auto-Border - Anyur » [Vídeo] Distribuindo Árvores E Arbustos - Anyur » [Vídeo - Iniciantes] Fazendo Base De Montanha - Anyur » [Video-Aula] Fazendo Piramides - TecBreakerByLipe » [Video-Aula] Nature Mapping - TecBreakerByLipe » [Video + Download] Instalação Tibia Dat E Spr Rme - Enigman » [Tutorial] Montanha + Bordas (Com Autoborder) [+ Video] - GuizitoG • Peça Um Tutorial De Mapping • » Peça Um Tutorial Aqui • REGRAS DA AREA MAPPING • » [Regras] Pedidos e Duvidas - Pedidos e dúvidas Mapping » [Regras] Concurso De Edição De Mapas - Concursos de Mapping » [Regras] Duelos - Concursos de Mapping » [Regras] Gerais - Show Off (exposição de mapas) » [Regras] Sua última Foto - Show Off (exposição de mapas) Atualizado: 28/12/2012 (20:15)
    2 pontos
  2. Mattziin

    Dbz Omega - Wodbo

    WoDBO-Dbz Omega Ola trago a vcs o meu projeto de wodbo , espero que gostem Novidades: Adicionado novas vocations (Videl , Shenron , Vegetto , Android 8 , Supremo Senhor kaio , Jenk , Raditz , Tapion , Turles , Kame , King Vegeta , Bulma , Kagome e Zaiko) Mapa Editado Site Editado Novas Sprites. Sem bugs. Downloads: Server Dat e Spr (Rapidshare) - Download Server Dat e Spr (4Shared) - Download Acc maker(4Shared) - Download Xampp (Baixaki) - Download Prints: Creditos : Mattziin
    2 pontos
  3. LuckOake

    Exp Por Time

    movements.xml: <movevent type="StepIn" actionid="xxxx" script="exptile.lua"/> <movevent type="StepOut" actionid="xxxx" script="exptile.lua"/> Substitua o xxxx por um action id que desejar. exptile.lua:
    2 pontos
  4. Lucaspacheko

    [Show Off]Area De Um Evento

    -- Oi Galerinha se liga só na area de um evento q eu chamo de ''Tp Maluko''. Ele é assim:vc roda o dice ,o numero q cair vc tera q entrar cada teleport pode ter uma supreza boas ou ruins .ai que vem a diversão . kkkkkkkkkkkkkkk
    2 pontos
  5. Vou mostrar a vocês como faz para mapear com seus amigos, SIM isso mesmo! Agora você pode fazer seus projetos todo mundo online no mesmo mapa. Download RME beta 3.0: http://www.mediafire.com/?4wnauj6bljnyg73 Topico oficial do Xtibia criado por BrunoCarvalho: http://www.xtibia.co...res-map-editor/ Informações gerais: Só começar a mapear quando TODOS estiverem logado no servidor. (bug encontrado por Pess0a e Jakiin.) Existe o HOST que vai criar o servidor para que possam mapear juntos e os USUÁRIOS do host que vai mapear junto. O sistema funciona bem simples e precisa desbloquear a porta: 31313 no firewall ou no modem/roteador se for compartilhada. Você ver os movimentos do mouse da outra pessoa, assim todos podem mapear simultaneamente. Testado por mim em mapas 8.6 Tutorial para o HOST: Crie um novo mapa e vá em Live>host server Vai aparecer uma janela com as seguintes informações: Coloque qualquer nome que desejar, isso não irá influenciar. Deixa a o PORT esse mesmo, é o tradicional que vêm no RME. Escolha uma senha que será usada pelo seu amigo que irá conectar. Feito isso, pronto, abrirá uma aba com as conexões, não mecha mais nada, agora só passe seu IP ou IP FIXO ( no-ip ) para seu amigo e a senha para ele conectar. Tutorial para o USUÁRIO: Crie um novo e vá em: Live>join server Vai parecer uma janela com as informações: Digite o ip que seu amigo lhe deu. A porta deixa a tradicional. E a senha que seu amigo lhe deu. Pronto, agora é só mapear juntos com seus amigos Criado exclusivamente para o Xtibia. Créditos: RME e Pess0a.
    1 ponto
  6. Tony

    Criando Um Cliente 100% Proprio

    Olá pessoal do Xtibia! Hoje vou ensinar a vocês como criar um cliente 100% próprio para seu servidor de tibia. :forward: Créditos :back: :star2: Jakiin :star2: Trazer ao x-tibia :star2: TiraDuvidas :star2: Fazer o Tutorial Este tópico recebeu destaque em nosso portal!
    1 ponto
  7. LukaszG

    [8.60]Heroserv By:lukaszg 1.0.0

    Fala Galera Eu Tava Num Projeto E Resolvi Postar. Informações: *Templo 100% mudado. *Novo Castle War. *Novos Monsters. *Novas Caves. *Atualização Do Heroserv (8.62) *Novas Quests todas 100% inclusive Demon Helmet e Golden Helmet. *Agora 100% Equilibrado com healing igual ao Heroserv. *Adc commando de AOL. *Hunt De Madins Arumada 100%. *Adc Igreja. *Bugs de GOD forão todos arumados. *Bug de account do GM Hero 100% arumado. Fotos Do Mapa. Download 4Shared Download Megaupload Scan Creditos: Subwat (Augumas partes do mapa) Alissow (Castle War) LukaszG (edição,augumas spells,novas teleports,novos monsters etc..) Se Gostou Da Um :button_ok: Bugs Ou Coisas Parecidas Posta Aqui Ou mande e-mail para lukas-gf@live.com Para Eu Arumar.
    1 ponto
  8. MrCatra

    Reflect System 0.1

    Reflect System "0.1" Ao ser obtido um item que possua o atributo Reflect o player será capaz de refletir danos Fisicos e Mágicos ao mesmo tempo. A idéia geral desse script é bem simples mesmo. Quando o player receber um damage de uma criatura (monstro ou player) esse attack será refletido em uma certa porcentagem. Exemplo: 22:46 You see a golden amulet. It weighs 8.30 oz. [Reflect: 80%] Obs¹: Os items pode ser acumulativo. Ou seja, se o amuleto der 10% de reflect e o ring der 35%. O player possuirá um Reflect = 45%. [MOD]reflectSystem.xml <?xml version="1.0" encoding="UTF-8"?> <mod name="Reflect System" version="0.1" author="Aluccard" contact="" enabled="yes"> <description> Script que funciona para refletir danos para as creatures que o atacar. </description> <event type="login" name="regReflectDamage" event="script"><![CDATA[ function onLogin(cid) registerCreatureEvent(cid,"ReflectDamage") return true end ]]></event> <event type="statschange" name="ReflectDamage" event="script"><![CDATA[ local slotPos = {CONST_SLOT_NECKLACE, CONST_SLOT_FEET, CONST_SLOT_RING} function onStatsChange(cid, attacker, type, combat, value) local reflectPercent = 0 local dmg = value local playerPos = getCreaturePosition(cid) local attackerPos = getCreaturePosition(attacker) for i = 1, #slotPos do if getPlayerSlotItem(cid, slotPos[i]).uid > 1 then if getItemReflectPercent(getPlayerSlotItem(cid, slotPos[i]).uid) then reflectPercent = reflectPercent + getItemReflectPercent(getPlayerSlotItem(cid, slotPos[i]).uid) end end end if reflectPercent > 0 then dmg = math.ceil(-value*((100-reflectPercent)/100)) if (dmg < 0) then doCreatureAddHealth(cid, dmg) doSendAnimatedText(playerPos, -dmg, COLOR_RED) doSendMagicEffect(playerPos, 0) else doSendMagicEffect(playerPos, 3) end dmg = math.ceil(-value*(reflectPercent/100)) if (dmg < 0) then doCreatureAddHealth(attacker, dmg) doSendAnimatedText(attackerPos, -dmg, COLOR_RED) doSendDistanceShoot(playerPos, attackerPos, CONST_ANI_SMALLHOLY) end else return true end end]]></event> </mod> Obs²: O código está meio enferrujado, mas funciona. Como podes ver o sistema está na versão 0.1 e irá ser atualizada com o tempo. ReflectLib.lua function getItemReflectPercent(itemuid) return getItemAttribute(itemuid, "reflectPercent") end function doPlayerAddReflectedItem(cid, itemid, percent) local item = doPlayerAddItem(cid, itemid) doItemSetAttribute(item, "description", "[Reflect: "..percent.."%]") doItemSetAttribute(item, "reflectPercent", percent) end Obs³: Para adicionarmos novos items com o atributo Reflect usamos o comando doPlayerAddReflectedItem(cid,itemid,percent). {itemid = id do item escolhido / percent = porcentagem do reflect} Créditos: MrCatra Aluccard Obrigado,MrCatra
    1 ponto
  9. LuckOake

    Partner System 2.0 [Atualizado]

    Olááá galera do Ékz. Esses dias o XTibia tá muito parado, não tem nem pedido direito pra atender, e no último Sds teve poucos scripts. Entããão resolvi postar um sisteminha que eu fiz com base num pedido em algum lugar da internet. É o Partner System. O que ele faz: Você chama um amigo seu para jogar o server, mas para dar um ânimo nele, você convida-o para ser seu Partner, e enquanto ele for abaixo de tal level (configurável, default 50), ele terá um bônus de EXP (configurável, default 10%). Assim que chegar no level limite, o bônus acaba. Motivos para usar o sistema? Ora, como já disse anteriormente, serve para animar o jogo do player, para incentivá-lo a jogar mais. Chega de blablabla e vamos ao script: Novidades: • Agora você pode aceitar ou rejeitar convites mesmo que a pessoa que te convidou esteja offline • Quando você convida alguém e ele rejeita ou aceita o convite com você offline, ao logar você recebe uma mensagem informando a decisão da pessoa. • Todos os bugs corrigidos Configurando: waittime = 24 -- Tempo de espera em horas para convidar alguém novamente storage = 4651 level = 100 -- Level necessário para convidar alguém maxlevel = 50000 -- Level máximo para alguém virar partner e para ter bônus de EXP maxp = 5 -- Maximo de partners que alguém pode ter rate = 1.1 -- Rate do bônus Uso: Player: !partner Fulano -- Fulano foi convidado Fulano: !partner aceitar ou rejeitar -- Fulano aceita ou rejeita o convite. Observações: 1) Todos os bugs corrigidos. 2) Funciona em TFS versão 0.3.6 pra frente. Créditos: LuckOake -- Pelo sistema Vodkart -- Pela ideia e ajudas
    1 ponto
  10. Oneshot

    Perfect Upgrade System

    Nome: Perfect Upgrade System Tipo: Biblioteca, Action, Sistema Autor: Oneshot Essa é a versão final do Perfect Refine System ou Perfect Upgrade System criado por mim. É um sistema construído em cima de funções em POO (orientação a objetos), o que o torna muito versátil, possibilitando a outros programadores/scripters criarem seus próprios sistemas com base na biblioteca. A função do sistema é simples. Não passa de um sistema de refino, presente em todos os servidores, onde você usa um item em um equipamento e este fica mais forte e ganha um nome caracterizando o nível de força - bem clichê - mas muito interessante. Meu sistema é um pouco diferente dos outros, pois possui algumas características exclusivas, listadas abaixo: O nível máximo configurável é praticamente ilimitado O sistema funciona com armas de combate corpo-a-corpo, bows e crossbows. O refino pode falhar, não acontecendo nada, regredindo o nível ou resetando ele. Há um sistema nativo de broadcasts, que são enviados quando um jogador consegue refinar um equipamento até um certo nível ou maior. As chances são configuradas manualmente e sua randomização é muito precisa. Há dois modos de instalar o sistema em seu servidor, o primeiro é baixar a pasta com os scripts necessários e apenas copiar as chaves nos arquivos XMLs ou então seguir o curto tutorial de instalação. Crie um arquivo chamado upgradesystem.lua na pasta data/lib e copie o conteúdo abaixo: --[[ PERFECT UPGRADE SYSTEM 2.0 Criado por Oneshot É proibido a venda ou a cópia sem os devidos créditos desse script. ]]-- UpgradeHandler = { levels = { [1] = {100, false, false}, [2] = {90, false, false}, [3] = {75, false, false}, [4] = {60, true, false}, [5] = {45, true, false}, [6] = {30, true, false}, [7] = {25, true, false}, [8] = {20, true, true}, [9] = {15, true, true}, [10] = {10, true, true}, [11] = {10, true, true}, [12] = {5, true, true} }, broadcast = 7, attributes = { ["attack"] = 2, ["defense"] = 1, ["armor"] = 1 }, message = { console = "Trying to refine %s to level +%s with %s%% success rate.", success = "You have upgraded %s to level +%s", fail = "You have failed in upgrade of %s to level +%s", downgrade = "The upgrade level of %s has downgraded to +%s", erase = "The upgrade level of %s has been erased.", maxlevel = "The targeted %s is already on max upgrade level.", notupgradeable = "This item is not upgradeable.", broadcast = "The player %s was successful in upgrading %s to level +%s.\nCongratulations!!", invalidtool = "This is not a valid upgrade tool.", toolrange = "This upgrade tool can only be used in items with level between +%s and +%s" }, tools = { [8306] = {range = {0, 10}, info = {chance = 0, removeable = true}}, }, isEquipment = function(self) local weaponType = self:getItemWeaponType() return ((weaponType > 0 and weaponType < 7) or self.item.armor ~= 0) end, setItemName = function(self, name) return doItemSetAttribute(self.item.uid, "name", name) end, chance = function(self) local chances = {} chances.upgrade = (self.levels[self.item.level + 1][1] or 100) chances.downgrade = (self.item.level * 5) chances.erase = (self.item.level * 3) return chances end } function UpgradeHandler:new(item) local obj, ret = {} obj.item = {} obj.item.level = 0 obj.item.uid = item.uid for key, value in pairs(getItemInfo(item.itemid)) do obj.item[key] = value end ret = setmetatable(obj, {__index = function(self, index) if _G[index] then return (setmetatable({callback = _G[index]}, {__call = function(self, ...) return self.callback(item.uid, ...) end})) else return UpgradeHandler[index] end end}) if ret:isEquipment() then ret:update() return ret end return false end function UpgradeHandler:update() self.item.level = (tonumber(self:getItemName():match("%+(%d+)")) or 0) end function UpgradeHandler:refine(uid, item) if not self.item then doPlayerSendTextMessage(uid, MESSAGE_STATUS_CONSOLE_BLUE, self.message.notupgradeable) return "miss" end local tool = self.tools[item.itemid] if(tool == nil) then doPlayerSendTextMessage(uid, MESSAGE_EVENT_DEFAULT, self.message.invalidtool) return "miss" end if(self.item.level > #self.levels) then doPlayerSendTextMessage(uid, MESSAGE_STATUS_CONSOLE_RED, self.message.maxlevel:format(self.item.name)) return "miss" end if(self.item.level < tool.range[1] or self.item.level >= tool.range[2]) then doPlayerSendTextMessage(uid, MESSAGE_STATUS_CONSOLE_RED, self.message.toolrange:format(unpack(tool.range))) return "miss" end local chance = (self:chance().upgrade + tool.info.chance) doPlayerSendTextMessage(uid, MESSAGE_STATUS_CONSOLE_BLUE, self.message.console:format(self.item.name, (self.item.level + 1), math.min(100, chance))) if(tool.info.removeable == true) then doRemoveItem(item.uid, 1) end if chance * 100 > math.random(1, 10000) then doPlayerSendTextMessage(uid, MESSAGE_STATUS_CONSOLE_ORANGE, self.message.success:format(self.item.name, (self.item.level + 1))) if (self.item.level + 1) >= self.broadcast then doBroadcastMessage(self.message.broadcast:format(getCreatureName(uid), self.item.name, (self.item.level + 1))) end self:setItemName((self.item.level > 0 and self:getItemName():gsub("%+(%d+)", "+".. (self.item.level + 1)) or (self:getItemName() .." +1"))) for key, value in pairs(self.attributes) do if getItemAttribute(self.item.uid, key) ~= nil or self.item[key] ~= 0 then doItemSetAttribute(self.item.uid, key, (self.item.level > 0 and getItemAttribute(self.item.uid, key) or self.item[key]) + value) end end return "success" else if(self.levels[self.item.level][3] == true and (self:chance().erase * 100) > math.random(1, 10000)) then doPlayerSendTextMessage(uid, MESSAGE_STATUS_CONSOLE_RED, self.message.erase:format(self.item.name)) self:setItemName(self.item.name) for key, value in pairs(self.attributes) do if self.item[key] > 0 then doItemSetAttribute(self.item.uid, key, self.item[key]) end end elseif(self.levels[self.item.level][2] == true and (self:chance().downgrade * 100) > math.random(1, 10000)) then doPlayerSendTextMessage(uid, MESSAGE_STATUS_CONSOLE_RED, self.message.downgrade:format(self.item.name, (self.item.level - 1))) self:setItemName((self.item.level == 1 and self.item.name or self:getItemName():gsub("%+(%d+)", "+".. (self.item.level - 1)))) for key, value in pairs(self.attributes) do if getItemAttribute(self.item.uid, key) ~= nil or self.item[key] ~= 0 then doItemSetAttribute(self.item.uid, key, (self.item[key] + value * (self.item.level - 1))) end end else doPlayerSendTextMessage(uid, MESSAGE_STATUS_CONSOLE_RED, self.message.fail:format(self.item.name, (self.item.level + 1))) end return "fail" end end Crie um arquivo chamado upgrade.lua em data/actions/scripts e cole o conteúdo abaixo: function onUse(cid, item, fromPosition, itemEx, toPosition) if isCreature(itemEx.uid) then return doPlayerSendDefaultCancel(cid, RETURNVALUE_NOTPOSSIBLE) end local obj = UpgradeHandler:new(itemEx) if(obj == false) then return doPlayerSendCancel(cid, UpgradeHandler.message.notupgradeable) end local status = obj:refine(cid, item) if status == "success" then --doSendAnimatedText(toPosition, "Success!", COLOR_GREEN) doSendMagicEffect(toPosition, CONST_ME_MAGIC_GREEN) elseif status == "fail" then --doSendAnimatedText(toPosition, "Fail!", COLOR_RED) doSendMagicEffect(toPosition, CONST_ME_POFF) else doSendMagicEffect(toPosition, CONST_ME_POFF) end return true end No arquivo actions.xml, cole a seguinte linha: <action itemid="8306" event="script" value="upgrade.lua"/> Para adicionar mais níveis de refino no sistema, edite a seguinte tabela: levels = { [1] = {100, false, false}, [2] = {90, false, false}, [3] = {75, false, false}, [4] = {60, true, false}, [5] = {45, true, false}, [6] = {30, true, false}, [7] = {25, true, false}, [8] = {20, true, true}, [9] = {15, true, true}, [10] = {10, true, true} }, Por padrão, ela já está configurado como na maioria dos MMORPGs, 10 níveis de refino, com chances de sucesso, regressão e "quebra". Mas se você quiser, por exemplo, adicionar mais dois níveis, siga o modelo, sempre colocando uma vírgula no final com exceção da última linha da tabela: levels = { [1] = {100, false, false}, [2] = {90, false, false}, [3] = {75, false, false}, [4] = {60, true, false}, [5] = {45, true, false}, [6] = {30, true, false}, [7] = {25, true, false}, [8] = {20, true, true}, [9] = {15, true, true}, [10] = {10, true, true}, [11] = {10, true, true}, [12] = {5, true, true} }, O primeiro valor é chance de sucesso, o segundo se o item pode regredir na tentativa e o terceiro é se o item para "quebrar" (perder todo o nível de refino). Para criar novas ferramentas (itens) de refinar, configure a tabela abaixo: tools = { [8306] = {range = {0, 10}, info = {chance = 0, removeable = true}}, }, Seguindo o mesmo esquema da tabela anterior, vírgulas em todas as linhas com exceção da última, seguindo o modelo abaixo. Por exemplo, uma ferramenta de ID 8303 que refine do level +6 ao +10, que dê 10% de chance bônus e que seja finita, eu faço assim: tools = { [8306] = {range = {0, 10}, info = {chance = 0, removeable = true}}, [8310] = {range = {6, 10}, info = {chance = 10, removeable = true}} }, Em breve vídeo de demonstração com sistema em funcionamento. Perfect Upgrade System.rar
    1 ponto
  11. SmiX

    Facebook System

    Olá gentalhas, hoje venho aqui para postar um sistema bem legal para ots de ( Tibia, Pokemon e outros ), Chamado facebook system, criado por Eu(SmiX), ele vai com funções para quest que podem ser eleboradas por vocês mesmos e outros utilitarios. Vamos deixar de delongas e vamos ao ponto... Em data/actions/scripts vamos criar um arquivo .lua chamado faceSystem.lua e vamos colar o código a baixo dentro: Agora vamos em actions.XML e vamos colar a seguinte tag nele: <action itemid="Aqui o id do item que vai ser usado para dar CURTIR em outro player" event="script" value="faceSystem.lua"/> Lembrando que o item que vai ser usado tem que ter o atributo “Usable”. Agora vamos na pasta lib/ e criaremos um arquivo .lua chamado faceSystem.lua e dentro cole o código a baixo: Caso queira fazer uma quest com certo número de curtir coloque a linha no seu script; getPlayerCurtir(cid, curtir, msg) Em curtir você coloca a quantidade que o player tem que ter pra pode fazer e em msg você coloca a mensagem que vai dar caso o player não tenha essa quantidade de curtir. Pronto o system já está funcionando, agora vou postar um facelook pra quem quiser. Só não faço um rank curtir porque nunca fiz um script de rank e estou sem tempo. OBSs: Não ajudo em correções de erros de intalação do system. Aqui funciona perfeitamente ai também tem que funcionar... Obrigado pela atenção e tchau.
    1 ponto
  12. Koddy

    Aprendendo A Modificar Extensions

    Saudações XTibianos! Bom, depois de muitos pedirem, insistirem, e beijarem meus pés; cá estou eu. Mas não para lhe dar uma extension de mão beijada, e sim para lhe ensinar a como fazer a sua própria. É isso mesmo! Agora você vai aprender a customizar seu Palette, criar um novo Palette; enfim, colocar os atalhos para os itens que você quiser, onde você quiser e na ordem que você quiser. Sem contar também que agora os novos itens da versão 8.6 poderão ser juntados aos diferentes pisos/paredes para facilitar na hora de mappear. Espero que ajude muita gente, e que todos possam entender com clareza. Lembrando que eu ainda não aprendi todos as funções de cada palavra, mas independente delas, consegui fazer o que quis, então vamos lá (se conserguir fazer de um jeito melhor, fique a vontade para fazer, e se quiser poste aqui sua sugestão). Aprendendo a modificar extensions Índice/Partes: •Introdução •Alterando posições de itens no Palette •Criando seu próprio Piso, com direito a borda •Criando sua própria parede, com todos os 'quatro cantos' •Criando Doodads 'Espaçosos' (estilo Fontes) •Criando Doodads 'Aleatórios' (estilo Flores) •Frequently Asked Questions - FAQ Introdução A. Alterando posições de itens no Palette B. Criando seu próprio Piso, com direito a borda C. Criando sua própria parede, com todos os 'quatro cantos' D. Criando Doodads 'Espaçosos' (estilo Fontes) E. Criando Doodads 'Aleatórios' (estilo Flores) --- Obs: Não sabe o que significa uma opção? Tente alterá-la e veja no que dá (mas por favor, não esqueça do 'BackUp'). (: --- Dicionário: 'AB' = Auto Border --- Frequently Asked Questions - FAQ (Leia antes de postar uma Dúvida): --- No mais, desejo boa sorte para o que quer que você faça modificando suas "Extensions". Ensinei tudo que eu sei, e espero continuar aprendendo para que eu possa compartilhar com vocês. Acho que este foi o tutorial mais cansativo longo (que levou alguns dias) que já fiz até hoje. Espero que tenham gostado, e por favor, agradeçam para que eu possa continuar fazendo meus tutoriais ver que meu esforço valeu a pena. Obrigado por lerem até aqui. Não deixem de continuar visitando o XTibia. Atenciosamente, Koddy.
    1 ponto
  13. boors

    [Sistema] Guild Points

    Guild Points v1.0 by Boors- exclusivo xtibia Descrição É um sistema muito simples que possibilita adicionar pontos para as guilds. Através de talkactions é possível exibir a pontuação da sua guild e o rank com as guilds de maior pontuação. O Sistema - Execute o seguinte comando na sua database ALTER TABLE `guilds` ADD `guild_points` INTEGER NOT NULL DEFAULT 0 - Adicione as seguintes funções no arquivo lib/050-function.lua function getGuildPoints(cid) local res = db.getResult('select `guild_points` from guilds where id = \''..getPlayerGuildId(cid)..'\'') if(res:getID() == -1) then return false end local ret = res:getDataInt("guild_points") res:free() return tonumber(ret) end function addGuildPoints(cid, quant) return db.executeQuery("UPDATE `guilds` SET `guild_points` = '".. getGuildPoints(cid) + quant .."' WHERE `id` ='"..getPlayerGuildId(cid).."'") end function removeGuildPoints(cid, quant) return db.executeQuery("UPDATE `guilds` SET `guild_points` = '".. getGuildPoints(cid) - quant .."' WHERE `id` ='"..getPlayerGuildId(cid).."'") end end - [ TALKACTION ] myguildpoints.lua function onSay(cid, words, param, channel) local guildPoints = getGuildPoints(cid) local msg = "Your guild have ".. guildPoints .." points." doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, msg) return true end - [ TALKACTION ] guildpointsrank.lua function onSay(cid, words, param, channel) local guilds = db.getResult('SELECT name, guild_points FROM guilds ORDER BY guild_points DESC LIMIT 5;') doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "--- Guild Points Rank") repeat local name = guilds:getDataString('name') local points = guilds:getDataInt('guild_points') local top = " "..name.." -> "..points.." points." doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, top) until not tmp:next() return true end - Adicionem no talkactions.xml <!-- House points --> <talkaction words="!myguildpoints" event="script" value="myguildpoints.lua"/> <talkaction words="!guildpointsrank" event="script" value="guildpointsrank.lua"/> Exemplo de uso Uma quest em que a guild do player receba pontos. function onUse(cid, item) local questPoints = 5 local msg = "Your guild received "..questPoints..", points.\n " queststatus = getPlayerStorageValue(cid,9999) if item.actionid == 9999 and queststatus == -1 then addGuildPoints (cid, questPoints) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, msg) setPlayerStorageValue(cid,9999,1) else doPlayerSendCancel(cid,"You've already done this quest.") end return TRUE end Dúvidas ou Sugestões? Postem no tópico, enviem PM ou pelo email boors@live.com Att., Boors
    1 ponto
  14. Koddy

    Tutorial Montanhas Vermelhas

    Outro dia, jogando o Kingdom Age, perguntei se o Castiello gostaria de algum tutorial de mapping em especial. A gente tava na área dos Trolls, e ele me pediu para criar um sobre as Montanhas Vermelhas. Agora, vejo a dúvida do Senat, que é igual. Então, vamos lá. Colocando Auto Border para sua Montanha Vermelha 1º Passo: Esqueça o RME por em quanto. Abra apenas a pasta dele. Dentro da pasta do RME, vá em data, e selecione a versão do seu mapa, que você gostaria de construir este tipo de montanhas (se quiser em mais de uma versão, siga o procedimento duas vezes) C:\...\Remere's Map Editor\data\(versão). Após abrir a pasta da versão escolhida por você, iremos utilizar três arquivos: o "borders", o "grounds" e o "tilesets". Começando pelo mais fácil, abra o arquivo tilesets no Bloco de Notas. Se ao clicar duas vezes não abrir no bloco de notas, clique com o botão direito, vá em "Abrir com", e selecione o programa desejado, o Bloco de Notas, que é o mais simples e o mais comum. Você encontrará algo parecido com isso: <materials> <!-- TILESETS --> <tileset name="Grounds"> <raw> Desça mais um pouco a barra lateral até encontrar o próximo título, parecido com isso: </raw> </tileset> <tileset name="Nature"> <terrain> Para facilitar a procura na hora da criação da montanha vermelha, entre: <brush name="mountain"/> <brush name="red mountain"/> (adicione esta linha) <brush name="ramp"/> Após adicionar a linha "<brush name="red mountain"/>", salve o arquivo e feche. 2º Passo: 1/3 do trabalho está feito. Está na hora de dizer para o RME qual é o nome do piso que você quer adicionar, como ele aparecerá no Map Editor, e quais bordas ele deve seguir. Abra o arquivo grounds, que é encontrado no mesmo local que o arquivo anterior. A Ordem do que deve ser adicionado agora não altera em nada. Eu coloquei no final, para saber o que veio com o programa na hora do download, e o que eu modifiquei. Não tenho certeza das duas ultimas linhas. Acredito que apenas uma poderia ser utilizada, mas como deu certo com as duas, é melhor deixá-las. Após qualquer </brush>, adicione: <brush name="red mountain" type="ground" server_lookid="7975" z-order="9900"> <item id="8133" chance="1"/> <border align="inner" to="icy mountain" id="53"/> <border align="inner" to="snowy mountain" id="53"/> <border align="outer" to="none" id="51"/> <border align="outer" id="999"/> <optional id="999"/> </brush> Salve, e feche o arquivo. Agora está quase pronto. 3º Passo: Depois de configurar o tile que aparecerá no Map Editor, e criá-lo, está na hora de colocar o auto border em ação. Abra o arquivo borders, dentro da pasta data. Também não há preferência de lugar para se colocar, coloque em qualquer lugar, após qualquer </border>. Basta adicionar o seguinte trecho: <border id="999" group="1"> -- red mountain border (by koddy)-- <borderitem edge="n" item="7989"/> <borderitem edge="w" item="7988"/> <borderitem edge="s" item="8169"/> <borderitem edge="e" item="8168"/> <borderitem edge="cnw" item="7995"/> <borderitem edge="cne" item="7996"/> <borderitem edge="csw" item="7994"/> <borderitem edge="cse" item="8371"/> <borderitem edge="dnw" item="8135"/> <borderitem edge="dne" item="8137"/> <borderitem edge="dsw" item="8136"/> <borderitem edge="dse" item="8138"/> </border> É isso. Salve e feche o arquivo. Agora você já pode abrir o RME e finalmente criar sua montanha de cor alternativa. OBS: O número 999 que aparece foi porquê não conheço como está as configurações dos borders ID's de vocês, mas caso já exista esse valor, mude para um qualquer, fazendo as modificações necessárias. Lembrando que se você quiser juntar os dois tipos diferentes, não testei ainda, mas acredito que terá de modificar as bordas manualmente na hora da divisão, mas já é um trabalhão a menos que levará Essa é uma pequena demonstração de como você pode modificar o programa, e alterar as bordas que você nunca gostou de utilizar, por outras mais agradáveis. Segue agora uma foto bem simples, dessa montanha que você agora pode criar com muito mais facilidade. Espero ter ajudado, e peço que continue acompanhando os próximos Tutoriais de Mapping. Não esqueça de pedir o seu! Abraços, Koddy PS: Não fiz no Layout do XTibia pois dificultaria a cópia e cola de vocês na hora de atualizar o arquivo. Preferem desse jeito? Não esqueçam de comentar!
    1 ponto
  15. Overloker

    Katy Perry

    Tinha mais nada para fazer. O que acharam?
    1 ponto
  16. Coloca assim: doCreatureSay(cid, "Digivolva!", TALKTYPE_MONSTER)
    1 ponto
  17. Augusto

    Erro No Disco

    Folspa, vou dar alguns conselhos de como proceder com este erro! Pra começar, se no momento do boot, ele ja da de cara erro de disco, como pode ser erro no sistema? o mesmo nem foi carregado ainda, nem boot deu! Com o PC ligado, faça o seguinte, click com o botão direito em "Meu computador > Gerenciar". Na janela de "Gerenciamento do computador" encontre o visualizador de eventos, logo depois disso, o expanda e procure por logs do windows, e depois em "Sistema". Procure por mensagens de erro, geralmente as mesmas tem um icone em vermelho escrito "erro". No log do windows, ele vai dizer (em partes) o que pode estar acontecendo! Você chegou a presenciar alguma tela azul? Se sim, elas estão ai no log, se tiver, pegue o código de erro no log, que ja fica mais facil identificar o problema e post aqui que eu lhe ajudo! Pode ser que o HD esteja sim com problema, mais pode ser a controladora sata/ide do seu micro com problema também, e ai nos logs, da pra se ter uma idéia!
    1 ponto
  18. Piabeta Kun

    Problema Com Xampp

    ligue o apache e o mysql no control painel do xampp, tente usar localhost:8090 (caso voce tenha colocado para 8090 a porta)
    1 ponto
  19. function onSay(cid, words, param, channel) local split = param:explode(",") local name, count = split[1], tonumber(split[2]) pid = getPlayerByNameWildcard(name) if (not pid or (isPlayerGhost(pid) and getPlayerGhostAccess(pid) > getPlayerGhostAccess(cid))) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Player " .. param .. " is not currently online.") return TRUE end if not(split[2]) then return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "The commands requires 2 parameters: character name, amount") end if not(count) then print(count) return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Numeric parameter required.") end doAccountAddPoints(pid, count) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "" .. count .. " premium points were added to " .. getCreatureName(pid) .. "\'s Account.") return true end
    1 ponto
  20. notle2012

    Como Fazer Uma Nova Box

    fisso um test aqui rapido com pda vc nem disse que base vc usa? data\actions\scripts\box.lua actions.xml <action itemid="11638;11639;11640;11641;2100" event="script" value="box.lua"/> eu adicionei box 5 com id 2100 de test quando vc for usa tem que edita 2100 do actions.xml e da box.lua [2100] edita red [2100] = {balltype = "ultra", ballid = 11829, pokemons = {"Shiny Hitmonchan", "Shiny Hitmonlee", "Shiny Abra", "Dragonite", "Snorlax", "Kabutops", "Omastar", "Lapras", "Gyarados", "Scyther"}}}
    1 ponto
  21. Amigo... seguinte! 1º voce tem que procurar como desbloquear as portas do seu moldem! (cada moldem é diferente um do outro) 2º voce tem que colocar o ip de sua internet no ip changer... 3º caso a opção de cima nao funcione, coloque o ip como :127.0.0.1 (apenas para voce entrar! Os seus amigos não podem usar este IP)
    1 ponto
  22. beddy

    [Encerrado] Not Valid Packet Size

    Primeiro.. pode ser... Segundo... aconcelho a pegar outro servidor como base!
    1 ponto
  23. function onSay(cid, words, param) t=os.date('*t') inativos = "Player que não logam há 15 dias: \n" dias = 15*24*60*60 local casa = db.getResult("SELECT `owner`,`id` FROM `houses`") if(casa:getID() ~= -1) then while (true) do local owner = casa:getDataInt("owner") local hid = casa:getDataInt("id") local p = db.getResult("SELECT `id`,`name`,`lastlogin` FROM `players` WHERE `id` = '"..owner.."' ") if(p:getID() ~= -1) then local player = p:getDataString("name") local lastlogin = p:getDataInt("lastlogin") time=os.time(t) - lastlogin away = time - dias if away >= 0 then setHouseOwner(hid, 0) inativos = inativos.."-> "..player.."" end p:free() end if not(casa:next()) then break end end doShowTextDialog(cid, 5123, inativos) casa:free() else doPlayerSendCancel(cid, ".") end return TRUE end O !buyhouseinativa seria mais viável se modificasse as sources do OT, e recompilasse.
    1 ponto
  24. PS: Área errada. Reportado.
    1 ponto
  25. function onThink(cid, interval, lastExecution) local str,top = "Top Level Server\n",5 local query = db.getResult("SELECT `name`, `level` FROM `players` WHERE `id` > 6 AND `group_id` < 2 ORDER BY `level` DESC, `name` ASC;") if (query:getID() ~= -1) then k = 1 while true do str = str .. "\n " .. k .. ". "..query:getDataString("name").." - [" .. query:getDataInt("level") .. "]" k = k + 1 if not(query:next()) or k > top then break end end query:free() end return doBroadcastMessage(str) end
    1 ponto
  26. brun123

    Tirar O Battle

    function onStepIn(cid) if isPlayer(cid) then doRemoveCondition(cid, CONDITION_INFIGHT) end end
    1 ponto
  27. PostadorHunter

    [Wodbo 8.0]Criando Vocações Parte 1

    não intendiaonde vc acho isso ???
    1 ponto
  28. Stigal

    Poketibia Sprite

    Usuario, baixe o Pokemon Centurion V1. Nele contem o ARCEUS... Basta você pegar na spr dele e adicionar na sua. Pedido Atendido? Se Sim, Reportar a moderação para mover. Atenciosamente, Stigal.
    1 ponto
  29. vai em data\lib\configuration.lua procura por auraSyst vai ter isso auraSyst = { --auras ["red"] = 19, ["blue"] = 40, ["green"] = 164, ["yellow"] = 207, ["white"] = 29, ["gray"] = 165, ["cyan"] = 177, ["purple"] = 208, ["orange"] = 219, } esses numeros pode ser editados pelos os numeros de efeitos que vc pode pega no dat editor
    1 ponto
  30. saulos

    Minha Primeira Montanha

    Nem precisa postar se for pra falar mal vital900 dps em breve eu melhoro isso
    1 ponto
  31. Ola Galera do Xtibia, estou aqui para ensinar a vocês como editar sprites para o seu Cliente de Tibia. Etapas: Tutorial - Downloads e Scan - Créditos Tutorial Downloads e Scan Créditos
    1 ponto
  32. Beeki

    [Pedido] Tfs 8.60

    Aqui tem um TFS 0.4_DEV rev 3777 com war system que eu mesmo compilei só que não tem esses customs que você pediu não velho, se você quer um distro com isso tudo ai, você mesmo tem que customizar, até http://www.4shared.com/rar/IuPTWyi6/TheForgottenServer_3.html
    1 ponto
  33. Obrigado a todos ,estou parando com xtibia ,fiquei duas semanas viajando ,agora tenho mt trabalho obrigado a todos que gostam do meus mapa
    1 ponto
  34. k2lan

    Erro Xampp

    Basta ir no diretório C:\xampp\security\htdocs\lang ou no linux /opt/lampp/security/htdocs/lang copiar o arquivo pt.php e renomea-lo para pt_br.php
    1 ponto
  35. EduziTow

    [Encerrado] Ajuda Eu Aew :d

    O Tonto,eu ja falei que eu coloquei,o problema esta no script idiota
    -1 pontos
Líderes está configurado para São Paulo/GMT-03:00
×
×
  • Criar Novo...