Tudo que Xagah postou
-
(Resolvido)Dúvidas sobre mapas prontos
São estes mesmos. .otbm ==> Todos os sprites e suas posições; -spawn ==> Local onde os "monsters" irão ficar; -house ==> Onde serão as casas e onde são as portas;
-
Bordas autómaticas no RME
Não sei se funcionará no Pokemón, mas aqui eu estava com o mesmo problema. Era um problema de interpretação. Quando clica com o botão direito, não selecione a opção "raw", mas sim a opção "GroundBrush". Veja se dá resultado. O meu problema aqui era este. Abraço.
-
PROGAMADORES ATENÇÃO
Há um outro lugar (fórum) que tem um Tuto bem explicado para compilar (perfeito). Entre em contato privado comigo que informo.
-
Coloco Acc e Pass e quando clico pra entrar da Debug, não chega a loga o char..
Olá, bom dia. Só "dá debug" com problema de imagens. Ou seja, quando há um item. Por exemplo: Que só poderia ficar no chão e está ou em sua mochila. Ou, também, quando um item não agrupável e no outro é. Eu indicaria vc limpar os itens que estão na mochila e corpo do player pela databse. Se isto não funcionar a questão é que algum item no mapa está causando isto. Confira aí, se não der certo volte.
-
PROBLEMA NOS VIALS
Olá, bom dia. Não entendi se o problema é: Vender o Vial Vazio ou se ele não pega os líquidos.
-
Problema com Acentos
Isto é a codificação do texto. Depende de duas coisas. 1ª - Quando vai criar a DataBase, tem que escolher ut8-bin. 2ª - No início de todo script .xml ou .lua deve inserir: <?xml version="1.0" encoding="UTF-8"?> Isto resolverá o problema.
-
[SCRIPT] PEDIDO DE SISTEMA
Olá, bom dia. Olha, é difícil ter um sistema 100% sem bugs. Quem tem, não fornece com tanta facilidade. É melhor pegar um, encontrar os bugs e ir pedindo ajuda na solução deles. Além de ser mais fácil, você também irá aprendendo como modificar seu server. Se você tem um erro no BattleSystem, posta o erro aqui que iremos ajudar com prazer. Abraço.
-
DUVIDA SIMPLES
Olá, bom dia. Colega, penso que a questão é outra. Funciona da Seguinte Maneira: PvP: worldType = "pvp" No-PvP worldType = "Optional" PvP-Enforced worldType = "Hardcore" Confira se funciona e volte aqui. Ah, confira se os "players" não estão em uma área no-pvp também. Abraço.
-
Corpo do Player não fica no chão
Velho, o script playerdeath.lua não está nem mesmo sendo usado no seu server. O erro, muito provavelmente, está em outro arquivo. Ou então, faça assim, adicione em seu login.xml (dentro de data > CreatureScripts > Script > login.lua ) registerCreatureEvent(cid, "PlayerDeath") E depois, dentro do seu creaturescripts.xml (dentro de data > CreatureScripts > creaturescripts.xml) adicione: <event type="playerdeath" name="PlayerDeath" event="script" value="playerdeath.lua"/> Se não der certo volta.
-
Pedidos
Opa, bom dia. Tive o mesmo problema que você. Ele aparece como se não estivesse respondendo, mas ESTÁ! Deixe ele. Se seu PC não é bom ele pode levar em torno de 15 a 18 minutos para compilar, é normal. Em uma máquina boa ele leva em torno de 20 a 25 segundos. Veja se é isto. Caso contrário volte. Abraço.
-
Bug Anihi
Vou testar de novo aqui. Qual dos dois arquivos vc está usando? O primeiro ou o segundo?
-
Ultimate Healing rune
Faça a Seguinte substituição: Substitua: function onCastSpell(cid, var) return doCombat(cid, combat, var) end Por: function onCastSpell(cid, var) if (isPlayer(cid) == true) then return doCombat(cid, combat, var) else return true end end Acredito que resolverá seu problema.
- Corpo do Player não fica no chão
-
[SUPORTE] Ajuda a resolver alguns erros no distro?
Nossa, li o tópico algumas vezes... o problema é a questão do "blocklink's", certo? Se for, acredito que o erro não seja na Distro, pois a própria distro acusa o caminho do arquivo com erro e qual é o erro. Vc tem o arquivo do blocklinks (caso contrário a distro "diria" que não encontrou, e não que encontrou um erro) poste ele aqui. Abraço.
-
[AJUDA] Quando Player Morre Perde Bastante Level e Skill
Pessoal, tem que marcar os tópicos como resolvidos. Eu venho seco pra ver o erro e foi resolvido há tempos.. Poxa.. =(
-
Bug Anihi
Você ajustou a posição dos monstros? local monsterPositions = { {x = 1216, y = 1252, z = 7}, --posição do monstro 1 {x = 1216, y = 1254, z = 7}, --posição do monstro 2 {x = 1216, y = 1256, z = 7}, --posição do monstro 3 {x = 1222, y = 1252, z = 7}, --posição do monstro 4 {x = 75, y = 1254, z = 7}, --posição do monstro 5 {x = 75, y = 1256, z = 7} --posição do monstro 6 } Aqui funcionou certinho. O que deve estar acontecendo é que entra na sala, os monstros são criados no lugar que o Script pede, mas esse lugar não é o que vc tem no SEU mapa. Confere se é isto.
-
Magia bugada
Substitua: function onCastSpell(cid, var) doPlayerSendTextMessage(cid,27,"EFEITO MÁGICO: Recupera sua vida e mana múltiplas vezes (10x) durante 5 segundos. O cálculo de regeneração é de acordo com seu level e nível mágico.") for i = 1, 10 do addEvent(doCombat, (i * 400) - 400, cid, combat, var) addEvent(doCombat, (i * 500) - 500, cid, combat2, var) end return true end Por: function onCastSpell(cid, var) if isPlayer(cid) == TRUE then doPlayerSendTextMessage(cid,27,"EFEITO MÁGICO: Recupera sua vida e mana múltiplas vezes (10x) durante 5 segundos. O cálculo de regeneração é de acordo com seu level e nível mágico.") if exhaustion.check(cid, 30030) then return FALSE else for i = 1, 10 do addEvent(doCombat, (i * 400) - 400, cid, combat, var) addEvent(doCombat, (i * 500) - 500, cid, combat2, var) end return true end end end Testa aí, se der errado volte aqui. Abraço.
-
(Resolvido)[POKETIBIA] Corpo do Pokémon não aparece.
Olá, bom dia. Colega, entendo muito de OT, mas pouco do Pokemon. Vou falar algumas coisas e, por analogia, faça o mais próximo possível. Cada pokemón tem o seu próprio arquivo. Você pode encontrar eles na pasta data > monsters. Abra, neste caso, o do Pinsir, por exemplo. Acredito que deve estar Pinsir.xml. Dentro do Arquivo vc vai encontrar deste modo: <?xml version="1.0" encoding="UTF-8"?> <monster name="Deathbringer" nameDescription="deathbringer" race="undead" experience="5100" speed="300" manacost="0"> <health now="10000" max="10000"/> <look type="231" corpse="7349"/> ... Ali onde está <look type=''231" é que vc deve colocar a "roupa" do seu monsters. O problema é que o seu client não deve estar sendo compatível com o OT que vc baixou. Para saber exatamente no seu faça o download do DatEditor. Download: DatEditor (Link Direto) Scan: Scan do Arquivo Agora vá em File > Open > (selecione seu .spr e seu .dat). Ao lado de Open seleciona a Opcão 760 (apta para o Tibia 8.54). Vá, ao lado direito inferior, e desça a barra até o final. Vai ser a parte de effects. Vá subindo aos poucos até encontrar o monstro que deseja. Quando encontrar, clique sobre a imagem dele e pegue a seguinte informação: Por exemplo, no caso acima eu selecionei o Ferumbras, o LookType dele é 229. No local marcado em vermelho vc pega o número da "roupa" de seu Pokemón e já era! Se não der certo volta aqui. Abraço.
-
(Resolvido)Erro no Script
Olá, bom dia. A função elseif complementa um if, e este não existe ali. Insira isto e veja o que dá: local strg = divulgue local texto = "Curta nossa pagina no Facebook." function onUse(cid, item, frompos, item2, topos) if (getPlayerStorageValue(cid, strg)~= 2) then if getPlayerStorageValue(cid, strg) == 0 then setPlayerStorageValue(cid, strg, 1) doPlayerSendTextMessage(cid, 23, texto) else doPlayerSendCancel(cid, "Voce ja clicou, agora va pegar sua recompensa no NPC Rey.") end else getPlayerStorageValue(cid, strg) == 2 then doPlayerSendCancel(cid, "Voce ja pegou sua recompensa por ajudar na divulgacao.") return true end Se não der certo volte aqui. Abraço.
- Corpo do Player não fica no chão
-
(Resolvido)Rain System
Olá, bom dia. Há várias maneiras, mas para fazer chover em um andar inteiro é interessante vc usar o script do Kaotar (de outro Fórum). Primeiro passo: Vá em Data > Lib > (crie um arquivo chamado rain.lua e cole isto dentro) -- Features: -- chance = OBJECT.chance = INT -- createItem = OBJECT.createItem = {chance = INT, item = {itemid = INT, type = INT}} Rain = {ignoreIds = {4526}} function Rain:new() local obj = {} setmetatable(obj, self) self.__index = self return obj end function Rain:getPositionInArea(fromPos, toPos) self.positions = {} for Y = fromPos.y, toPos.y do for X = fromPos.x, toPos.x do if (getTileThingByPos({x=X, y=Y, z=7, stackpos=0}).itemid ~= 0) then if not (string.match(string.lower(getItemNameById(getTileThingByPos({x=X, y=Y, z=7, stackpos=0}).itemid)), "water")) then table.insert(self.positions, {x=X, y=Y, z=Z}) end end end end return true end function Rain:doRain(position, disteffect, effect) if (self.duraction ~= self.executed) then local chance = self.chance or 100 if (math.random(0, 1000) <= chance) then for Z = 0, 7 do if (getTileThingByPos(({x = position.x, y = position.y, z = Z})).itemid ~= 0) then doSendDistanceShoot({x = position.x - 7, y = position.y - 5, z = Z}, {x = position.x, y = position.y, z = Z}, disteffect) doSendMagicEffect({x = position.x, y = position.y, z = Z}, effect) if (self.createItem) then if (math.random(0, 1000) <= self.createItem.chance) then if (isInArray(self.ignoreIds, getTileThingByPos({x=X, y=Y, z=Z, stackpos=0}).itemid) == FALSE) then local item = doCreateItem(self.createItem.item.itemid, self.createItem.item.type, {x=position.x, y=position.y, z=Z}) doDecayItem(item) end end end break end end end return true else return false end end function Rain:start(positions, effects, duraction, delay, var) self:getPositionInArea(positions.fromPos, positions.toPos) if not (self.positions[1]) then return false end self.delay = delay self.var = var or self self.effects = effects self.duraction = duraction self.executed = 0 addEvent(doCallback, self.delay, {var=self.var}) return true end function doCallback(p) for _, v in pairs(p.var.positions) do if not (p.var:doRain(v, p.var.effects.disteffect, p.var.effects.effect)) then return true end end addEvent(doCallback, p.var.delay, {var=p.var}) p.var.executed = p.var.executed+1 end 2º Vá na pasta Data > GlobalEvents > (crie um arquivo chamado rain.lua e cole isto dentro) local rain = Rain:new() function onThink(interval, lastExecution) local minX = 990 local minY = 993 local maxX = 1008 local maxY = 1006 local frompos = {x=math.random(minX, maxX), y=math.random(minY, maxY), z=7} local topos = {x=math.random(frompos.x, maxX), y=math.random(frompos.y, maxY), z=7} local effects = { snow = { disteffect = CONST_ANI_SNOWBALL, effect = CONST_ME_ENERGYAREA }, rain = { disteffect = CONST_ANI_ICE, effect = CONST_ME_LOSEENERGY } } random = math.random(0, 10) if (random == 0) then rain.chance = math.random(10,50) rain:start({fromPos = frompos, toPos = topos}, effects.snow, 300, math.random(100, 500)) else rain.chance = math.random(40,100) rain.createItem = {chance = math.random(0,10), item = {itemid = 2016, type = 1}} rain:start({fromPos = frompos, toPos = topos}, effects.rain, math.random(300, 1000), math.random(100, 350)) end return TRUE end 3º Vá no arquivo Data > GlobalEvents > globalevents.lua e adicione isto dentro: <globalevent name="rain" interval="200" event="script" value="rain.lua"/> Obs: o interval é o tempo que dura o SEU efeito em milisegundos. Ou seja, se vc cronometrou 3 segundos, vc deve colocar alí 3000. 4º - Vá em sua pasta Data > Lib > (crie um arquivo chamado rain.lua e cole isto: -- Features: -- chance = OBJECT.chance = INT -- createItem = OBJECT.createItem = {chance = INT, item = {itemid = INT, type = INT}} Rain = {ignoreIds = {4526}} function Rain:new() local obj = {} setmetatable(obj, self) self.__index = self return obj end function Rain:getPositionInArea(fromPos, toPos) self.positions = {} for Y = fromPos.y, toPos.y do for X = fromPos.x, toPos.x do if (getTileThingByPos({x=X, y=Y, z=7, stackpos=0}).itemid ~= 0) then if not (string.match(string.lower(getItemNameById(getTileThingByPos({x=X, y=Y, z=7, stackpos=0}).itemid)), "water")) then table.insert(self.positions, {x=X, y=Y, z=Z}) end end end end return true end function Rain:doRain(position, disteffect, effect) if (self.duraction ~= self.executed) then local chance = self.chance or 100 if (math.random(0, 1000) <= chance) then for Z = 0, 7 do if (getTileThingByPos(({x = position.x, y = position.y, z = Z})).itemid ~= 0) then doSendDistanceShoot({x = position.x - 7, y = position.y - 5, z = Z}, {x = position.x, y = position.y, z = Z}, disteffect) doSendMagicEffect({x = position.x, y = position.y, z = Z}, effect) if (self.createItem) then if (math.random(0, 1000) <= self.createItem.chance) then if (isInArray(self.ignoreIds, getTileThingByPos({x=X, y=Y, z=Z, stackpos=0}).itemid) == FALSE) then local item = doCreateItem(self.createItem.item.itemid, self.createItem.item.type, {x=position.x, y=position.y, z=Z}) doDecayItem(item) end end end break end end end return true else return false end end function Rain:start(positions, effects, duraction, delay, var) self:getPositionInArea(positions.fromPos, positions.toPos) if not (self.positions[1]) then return false end self.delay = delay self.var = var or self self.effects = effects self.duraction = duraction self.executed = 0 addEvent(doCallback, self.delay, {var=self.var}) return true end function doCallback(p) for _, v in pairs(p.var.positions) do if not (p.var:doRain(v, p.var.effects.disteffect, p.var.effects.effect)) then return true end end addEvent(doCallback, p.var.delay, {var=p.var}) p.var.executed = p.var.executed+1 end Agora seu sistema está montado. A partir de de agora é configurar. Tem que configurar pois o "system" segue coordenadas, logo vc deve inserir as do seu mapa! Assim, vá no arquivo Data > Globalevents > rain.lua e edite o seguinte: local minX = Posição 'x' mínima, ou seja, inferior direita; local minY = Posição 'y' mínima, também inferior direita; local maxX = Posição 'x' máxima, superior esquerda; local maxY = Posição 'y' máxima, superior esquerda tb Não é necessário editar o andar, já está "setado" para o 7. Além de tudo, você ainda pode configurar a "chance" de chover. Pra isto vc pode inserir, dentro do: data > globalevents > globalevents.xml Na linha que comentamos acima o código: rain.chance = Math.random (20.100) Modifique o 20, que é a chance de ocorrer. Bom, penso que é isto. Testei aqui no meu server, funcionou. Maaas... fica a dica, quanto maior foi a área que chovia, maior era o "lag". Eu configurei em áreas remotas (ilhas, cidades, etc.) de tempos em tempos. É um efeito legal, mas pode consumir mais memRam do que imagina. Qualquer coisa volte aqui.
-
(Resolvido)[PEDIDO] Script de Trainning Room, só um player.
Level 100, mas fiz teste com players level 100+ com outros lvl 100+ e ainda assim o resultado foi o mesmo. Tem alguma outra idéia?
-
(Resolvido)[PEDIDO] Script de Trainning Room, só um player.
Colega, tentei de várias maneiras, mas como, em meu servidor, selecionei para "dentro de pz" os players podem passar um pelo outro, irei ter que desenvolver um Script. Ainda assim, obrigado pela Preocupação. Rep+ pra ti.
-
(Resolvido)[NPC] Não detecta itens na mochila
Consegui a resposta. O modules estava errado. Não havia disponível do correto na Net. Tópico resolvido. Caso alguém tenha interesse, entre em contato comigo.
-
(Resolvido)[NPC] Não detecta itens na mochila
Bring Up My Post Alguém? BUMP!