Ir para conteúdo

Jpeedro

Membro
  • Registro em

  • Última visita

Tudo que Jpeedro postou

  1. .Qual servidor ou website você utiliza como base? OTServBR 12.64 Qual o motivo deste tópico? Recentemente eu consegui mudar a xp base para os player uparem em meu servidor, aumentei em 10 vezes, por exemplo, a xp total de um level 8 é 42.000 em vez de 4.200. Entretanto, quando ponho o mouse sobre a barra de xp ele diz que falta 0 para upar para o próximo nível, não sei o que fazer (e se é possível fazer algo) para deixar de forma correta essa ponto. Nos fóruns e postagens que vi sobre como fazer essa mudança, nenhum mostrou que isso ficaria de forma correta, por isso não sei se há como fazer isso, mas agradeço desde já quem puder ajudar :) Está surgindo algum erro? Se sim coloque-o aqui. Você tem o código disponível? Se tiver publique-o aqui: Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui.
  2. Eu baixei a última versão do otservbrasil (12.60) porém eles estão mudando a estrutura dos arquivos, não em arquivos como actions.xml, creaturescripts.xml, os monstros estão tudo em um formato diferente, não sei como proceder hahah.
  3. Qual servidor ou website você utiliza como base? 9.10 Qual o motivo deste tópico? queria saber como aumentar a xp bruta para upar tal level (por exemplo: para chegar no nível 8 você precisa de 4200 de xp, pra nível 100 são por volta de 15kk, eu gostaria de aumentar (sei que é uma parada mais estética pois poderia simplesmente abaixar a rate do server ou ir nos xml dos bixos, mas estou pretendendo fazer algo diferente no server rsrs) Está surgindo algum erro? Se sim coloque-o aqui. Você tem o código disponível? Se tiver publique-o aqui: Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui.
  4. Jpeedro postou uma resposta no tópico em Suporte Tibia OTServer
    Olá, tenho uma arma em meu ot e gostaria que ela curasse a cada vez que desse um hit (pode ser 10 por hit ou alguma fórmula que cure por volta disso, o que for mais fácil). Essa arma já tem um script especial pra ela no weapons/script: local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_BLOCKARMOR, 1) setCombatParam(combat, COMBAT_PARAM_BLOCKSHIELD, 1) setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatFormula(combat, COMBAT_FORMULA_SKILL, 1, 0, 1, 0) local combata = createCombatObject() setCombatParam(combata, COMBAT_PARAM_BLOCKARMOR, 1) setCombatParam(combata, COMBAT_PARAM_BLOCKSHIELD, 1) setCombatParam(combata, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combata, COMBAT_PARAM_EFFECT, CONST_ME_GROUNDSHAKER) setCombatFormula(combata, COMBAT_FORMULA_SKILL, 2, 0, 2, 0) local area = createCombatArea( { {0, 0, 0}, {0, 3, 0}, {0, 0, 0} } ) setCombatArea(combata, area) function onUseWeapon(cid, var) local chance = math.random(0, 99) if (chance <= 2) then return doCombat(cid, combata, var) else return doCombat(cid, combat, var) end end Não sei se tem como fazer isso, mas já fico grato pela ajuda O servidor é o 4FunServer 9.10.
  5. Ata, suave hauiea, mas infelizmente não sei monta script, se você quiser fazer esse favor pra mim, pode fazer do jeito que achar mais fácil #Edit Na vdd eu acho que NPC ficaria mais fácil pra mim criar outras coisas com taskpoints, aí pego o script e edito...
  6. Só poderia me dizer onde eu coloco isso? xd
  7. Tenta Isso aqui: local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) -- OTServ event handling functions start function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end -- OTServ event handling functions end -- Don't forget npcHandler = npcHandler in the parameters. It is required for all StdModule functions! local travelNode = keywordHandler:addKeyword({'Fire Hunt'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Voce quer viajar para central por 10000 gold coins?'}) travelNode:addChildKeyword({'yes'}, StdModule.travel, {npcHandler = npcHandler, premium = false, level = 300, cost = 0, destination = {x=485, y=659, z=15} }) travelNode:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, reset = true, text = 'I wouldn\'t go there either.'}) keywordHandler:addKeyword({'destination'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Eu posso te levar para {Fire Hunt} e a ilha dos {Condenados}, Onde deseja ir?'}) -- Don't forget npcHandler = npcHandler in the parameters. It is required for all StdModule functions! local travelNode = keywordHandler:addKeyword({'Condenados'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Voce quer viajar para ilha dos condenados por 10000 gold coins?'}) travelNode:addChildKeyword({'yes'}, StdModule.travel, {npcHandler = npcHandler, premium = false, level = 300, cost = 0, destination = {x=1213, y=255, z=9} }) travelNode:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, reset = true, text = 'I wouldn\'t go there either.'}) keywordHandler:addKeyword({'destination'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Eu posso te levar para {Fire Hunt} e a ilha dos {Condenados}, Onde deseja ir?'}) -- Makes sure the npc reacts when you say hi, bye etc. npcHandler:addModule(FocusModule:new())
  8. Cara, não entendo mto de server dragon ball, mas pelo menos nos server normais de tibia, tem uma tag la em spells.xml assim: needlearn="0". Se deixar em 0, você não precisa falar com o NPC, se deixar 1, vc precisa falar com o NPC, sacou? da uma olhada lá
  9. Atualmente uso em meu server este script de task: -- Sistema de Task feito por Leoric -- taskstg = { kills = 3451, permission = 3452, killstotal = 3453, monster = 3454, stage = 3455, points = 3456, } timeBetweenTasks = 1 * 1 * 1 -- tempo até poder fazer outra task (24 * 60 * 60 = 24hs) taskLevel = true -- true se quiser que as tasks sejam feitas por level / false se quiser que elas sejam feitas na ordem taskMsg = {bool = true, msg = 'Voce acaba de matar monstros suficientes para completar sua task!'} -- bool = false > sem mensagens; bool = true > aviso quando terminar a task taskEnd = true -- [não tem função no modo Level] se estiver como true, quando o jogador terminar a última task disponível, ele não poderá repeti-la. Se estiver false, ele poderá repetir a última task infinitamente. taskmonsters = { [1] = {'[1]rotworm', killstotal = 10}, [2] = {'[10]carrion worm', killstotal = 20}, [3] = {'[20]cyclops', killstotal = 30}, [4] = {'[30]thornback tortoise', killstotal = 40}, [5] = {'[40]quara constrictor', killstotal = 50}, [6] = {'[50]nightmare', killstotal = 60}, [7] = {'[60]hydra', killstotal = 70}, [8] = {'[70]hellspawn', killstotal = 80}, [9] = {'[80]lost soul', killstotal = 90}, [10] = {'[90]grim reaper', killstotal = 100}, [11] = {'[100]undead dragon', killstotal = 110} } taskreward = -- em gps { [1] = {money = 350,xp = 500, points = 1}, [2] = {money = 750,xp = 2000, points = 2}, [3] = {money = 1500,xp = 5000, points = 3}, [4] = {money = 2000,xp = 10000, points = 4}, [5] = {money = 3000,xp = 12000, points = 5}, [6] = {money = 5000,xp = 14000,item = 2159,amount = 1, points = 6}, [7] = {money = 7000,xp = 16000,item = 6527,amount = 3, points = 7}, [8] = {money = 9000,xp = 18000,item = 6527,amount = 5, points = 8}, [9] = {money = 11000,xp = 20000,item = 6527,amount = 7, points = 9}, [10] = {money = 13000,xp = 22000,item = 6527,amount = 9, points = 10}, [11] = {money = 15000,xp = 25000,item = 6527,amount = 12, points = 11} } function canDoTask(cid) local stage = getPlayerStorageValue(cid, taskstg.stage) if stage + 1 > #taskmonsters then return false elseif getPlayerStorageValue(cid,taskstg.permission) <= 0 then return true elseif getPlayerStorageValue(cid,taskstg.permission) == 1 then return false elseif getPlayerStorageValue(cid,taskstg.permission) >= os.time(t) then return false end return true end function doResetTask(cid) setPlayerStorageValue(cid,taskstg.kills,-1) setPlayerStorageValue(cid,taskstg.permission,os.time(t) + timeBetweenTasks) setPlayerStorageValue(cid,taskstg.killstotal,-1) setPlayerStorageValue(cid,taskstg.monster,-1) return true end function doRewardTask(cid) local monster = getPlayerStorageValue(cid,taskstg.monster) local reward = taskreward[monster] if reward.item then doPlayerAddItem(cid,reward.item,(reward.amount and reward.amount or 1)) end if reward.points then local points = getPlayerStorageValue(cid, taskstg.points) if points == -1 then setPlayerStorageValue(cid, taskstg.points, 0) end setPlayerStorageValue(cid, taskstg.points, reward.points + points) end if monster and reward then doPlayerAddMoney(cid,reward.money) doPlayerAddExperience(cid, reward.xp) end return true end function isSummon(cid) -- baseada na função do Vodkart if getCreatureMaster(cid) ~= nil or getCreatureMaster(cid) == true then return true end return false end function doCompleteTask(cid) doRewardTask(cid) doResetTask(cid) return true end function doStartTask(cid) local lvl = getPlayerLevel(cid) if lvl < 10 then local killstotal = taskmonsters[1].killstotal setPlayerStorageValue(cid,taskstg.monster,1) setPlayerStorageValue(cid,taskstg.killstotal,killstotal) setPlayerStorageValue(cid,taskstg.permission,1) setPlayerStorageValue(cid,taskstg.kills,0) elseif lvl < 20 then local killstotal = taskmonsters[2].killstotal setPlayerStorageValue(cid,taskstg.monster,2) setPlayerStorageValue(cid,taskstg.killstotal,killstotal) setPlayerStorageValue(cid,taskstg.permission,1) setPlayerStorageValue(cid,taskstg.kills,0) elseif lvl < 30 then local killstotal = taskmonsters[3].killstotal setPlayerStorageValue(cid,taskstg.monster,3) setPlayerStorageValue(cid,taskstg.killstotal,killstotal) setPlayerStorageValue(cid,taskstg.permission,1) setPlayerStorageValue(cid,taskstg.kills,0) elseif lvl < 40 then local killstotal = taskmonsters[4].killstotal setPlayerStorageValue(cid,taskstg.monster,4) setPlayerStorageValue(cid,taskstg.killstotal,killstotal) setPlayerStorageValue(cid,taskstg.permission,1) setPlayerStorageValue(cid,taskstg.kills,0) elseif lvl < 50 then local killstotal = taskmonsters[5].killstotal setPlayerStorageValue(cid,taskstg.monster,5) setPlayerStorageValue(cid,taskstg.killstotal,killstotal) setPlayerStorageValue(cid,taskstg.permission,1) setPlayerStorageValue(cid,taskstg.kills,0) elseif lvl < 60 then local killstotal = taskmonsters[6].killstotal setPlayerStorageValue(cid,taskstg.monster,6) setPlayerStorageValue(cid,taskstg.killstotal,killstotal) setPlayerStorageValue(cid,taskstg.permission,1) setPlayerStorageValue(cid,taskstg.kills,0) elseif lvl < 70 then local killstotal = taskmonsters[7].killstotal setPlayerStorageValue(cid,taskstg.monster,7) setPlayerStorageValue(cid,taskstg.killstotal,killstotal) setPlayerStorageValue(cid,taskstg.permission,1) setPlayerStorageValue(cid,taskstg.kills,0) elseif lvl < 80 then local killstotal = taskmonsters[8].killstotal setPlayerStorageValue(cid,taskstg.monster,8) setPlayerStorageValue(cid,taskstg.killstotal,killstotal) setPlayerStorageValue(cid,taskstg.permission,1) setPlayerStorageValue(cid,taskstg.kills,0) elseif lvl < 90 then local killstotal = taskmonsters[9].killstotal setPlayerStorageValue(cid,taskstg.monster,9) setPlayerStorageValue(cid,taskstg.killstotal,killstotal) setPlayerStorageValue(cid,taskstg.permission,1) setPlayerStorageValue(cid,taskstg.kills,0) elseif lvl < 100 then local killstotal = taskmonsters[10].killstotal setPlayerStorageValue(cid,taskstg.monster,10) setPlayerStorageValue(cid,taskstg.killstotal,killstotal) setPlayerStorageValue(cid,taskstg.permission,1) setPlayerStorageValue(cid,taskstg.kills,0) else local killstotal = taskmonsters[11].killstotal setPlayerStorageValue(cid,taskstg.monster,11) setPlayerStorageValue(cid,taskstg.killstotal,killstotal) setPlayerStorageValue(cid,taskstg.permission,1) setPlayerStorageValue(cid,taskstg.kills,0) end return true end Queria que os jogadores com 3000 task points (independente do level) pudessem ter acesso a uma cave especial onde matariam um boss... Será que é difícil, não entendo mto de script, seria por storage?
  10. Funcionou o Primeiro Script! Obrigado a todos que ajudaram =)
  11. Ao usar o item, ganha o storage, e o item desaparece
  12. Queria que este o tem 1956 desse o storage 9999. Não entendo nada de scripts =x e dei uma procurada aqui no fórum e só achei pra VIP (que é temporária) e o que eu quero é que o player fique com o storage permanentemente rs. Creio que pra quem faz script seja fácil, grato desde já =)
  13. Olá, estou usando atualmente em meu server o sistema de spells por trade, do vodkart: Eu editei um pouco e está assim no meu ot: local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVbehavior == CONVERSATION_DEFAULT and 0 or cid local shopWindow = {} local spells = { {id=1950, buy = 900, name = "Exori Mort", spell_name = "Death Strike", vocations = {1}, level = 9}, {id=6103, buy = 1500, name = "Exevo Flam Hur", spell_name = "Fire Wave", vocations = {1}, level = 9}, {id=1961, buy = 600, name = "Light Healing", spell_name = "Exura", vocations = {1}, level = 9}, {id=1986, buy = 2000, name = "Haste", spell_name = "Utani Hur", vocations = {1}, level = 19}, {id=1955, buy = 1400, name = "Cure Burning", spell_name = "Exana Flam", vocations = {1}, level = 19}, {id=1963, buy = 1400, name = "Cure Eletrification", spell_name = "Exana Vis", vocations = {1}, level = 19}, {id=1984, buy = 1600, name = "Cure Curse", spell_name = "Exana Mort", vocations = {1}, level = 19}, {id=12655, buy = 3600, name = "Intense Healing", spell_name = "Exura Gran", vocations = {1}, level = 29}, {id=1960, buy = 5000, name = "Energy Beam", spell_name = "Exexvo Vis Lux", vocations = {1}, level = 29}, {id=1959, buy = 6800, name = "Mort Wave", spell_name = "Exexvo Mort Hur", vocations = {1}, level = 29}, {id=1976, buy = 7450, name = "Energy Wave", spell_name = "Exexvo Vis Hur", vocations = {1}, level = 39}, {id=1965, buy = 5400, name = "Strong Energy Strike", spell_name = "Exori Gran Vis", vocations = {1}, level = 39}, {id=1983, buy = 5500, name = "Fire Spirit", spell_name = "Spirit", vocations = {1}, level = 39}, {id=1959, buy = 4400, name = "Magic Shield", spell_name = "Utamo Vita", vocations = {1}, level = 39}, {id=8190, buy = 18000, name = "Gran Mort Wave", spell_name = "Exevo Dead Hur", vocations = {1}, level = 49}, {id=1962, buy = 15000, name = "Strong Flame Strike", spell_name = "Exori Gran Flam", vocations = {1}, level = 49}, {id=1982, buy = 9200, name = "Strong Haste", spell_name = "Utani Gran Hur", vocations = {1}, level = 49}, {id=10062, buy = 45000, name = "Rage of the Skies", spell_name = "Exevo Gran Mas Vis", vocations = {1}, level = 59}, {id=10942, buy = 55000, name = "Hells Core", spell_name = "Exevo Gran Mas Flam", vocations = {1}, level = 59}, {id=11134, buy = 29000, name = "Dark", spell_name = "Dark Conjurer", vocations = {1}, level = 59} } local onBuy = function(cid, item, subType, amount, ignoreCap, inBackpacks) if not getPlayerLearnedInstantSpell(cid, shopWindow[item].Words) then if getPlayerLevel(cid) >= shopWindow[item].Level then if isInArray(shopWindow[item].Vocs, getPlayerVocation(cid)) then doPlayerRemoveMoney(cid, shopWindow[item].Price) doPlayerLearnInstantSpell(cid, shopWindow[item].Words) npcHandler:say("você aprendeu uma nova magia chamada "..shopWindow[item].Words, cid) else npcHandler:say("você não tem a vocação para comprar está spell.", cid) end else npcHandler:say("você precisa ter level "..shopWindow[item].Level.." ou mais para comprar essa magia.", cid) end else npcHandler:say("você já aprendeu essa magia.", cid) end return true end if msgcontains(msg, 'trade') or msgcontains(msg, 'spells') then for var, item in pairs(spells) do shopWindow[item.id] = {Level = item.level, Vocs = item.vocations, item_id = item.id, Price = item.buy, subType = 0, Words = item.spell_name, SpellName = item.name} end openShopWindow(cid, spells, onBuy, onSell) end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) No meu server não tem promotion, e tem magias editadas como se percebe. Também já editei todas no spells.xml, para os players terem que comprarem pra usá-las. Eu to testando aqui e, só as duas primeiras spells da lista dão para comprar, as outras eu gasto dinheiro mas não consigo soltar a spells =x
  14. Cara, funcionou certinho! com número decimais e tudo, obg =)
  15. Bom dia, vim pedir a ajuda de alguém que possa criar um item simples (mas que não sei criar pois não sei mexer com script) É um Surprise Bag, que ao clicar nele, da um item aleatório ao player. Só que, como tem itens mais valiosos que outros, a chance de vim um item raro seria menor. E depois de usado, a surprise bag desapareceria xd O id da Surprise Bag: 10520 ID dos itens: 6527,8301,8302 Teria como fazer em porcentagem, por exemplo, 1% de chance de vir tal item? (pra eu saber que tem que fechar em 100%) e tem como trabalhar com números decimais? (como 0,1%) Agradeço desde já =)
  16. Eaí galera do TK, tudo bem? Estou aqui por meio deste post pedir a ajuda de vocês para adicionar uns itens animados no meu otserver. Estou usando o Object Builder 0.3.4 (que, se não me engando, é um dat e spr editor). Eu adiciono o item normalmente no object builder, depois vou no ItemEditor 0.4 e adiciono o item também, tudo normal, só que na hora que vou logar na conta do meu god in game, o cliente buga quando vou tentar criar o item pro meio do /id... Segue as imagens abaixo, vai que estou fazendo algo errado... http:// http:// Obrigado desda já!
  17. Poste aqui seu arquivo stages.xml por gentileza
  18. Você quer que seu crossbow cause dano sem usar munição? Se sim você faz assim: subtitua essa tag: <attribute key="ammoType" value="bolt" /> por essa: <attribute key="shootType" value="bolt" /> Dentro do value está bolt, é o efeito do ataque do crossbow, você pode procurar no seus itens.xml por outros efeitos, como arrow, powerbolt, etc.
  19. Jpeedro postou uma resposta no tópico em Suporte Tibia OTServer
    Você pode postar uma imagem mostrando o erro que da na distro?
  20. Jpeedro postou uma resposta no tópico em Mapas de Tibia
    Esqueceu de postar os créditos
  21. Cade o magiclevelpoints? Procura a Focus Capes e copia e cola
  22. Podia colocar fotos dessas suas mudanças, essas que tão aí todo mundo já conhece.
  23. Jpeedro postou uma resposta no tópico em Suporte & Pedidos
    Ficou muito massa a entrada da cave do Amazon Camp, simples e bonito

Informação Importante

Confirmação de Termo