Ir para conteúdo
Close

Jpeedro

Membro
  • Total de itens

    86
  • Registro em

  • Última visita

Sobre Jpeedro

  • Rank
    roleplaying
  • Data de Nascimento 06/04/1997

Informação de Perfil

  • Genero
    Masculino
  • Localização
    Flor
  • Eu sou
    Roleplayer
  • Meu personagem
    Jaozin dascuraloca

Últimos Visitantes

1.063 visualizações
  1. 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.
  2. 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...
  3. 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())
  4. 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á
  5. 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?
  6. Funcionou o Primeiro Script! Obrigado a todos que ajudaram =)
  7. Ao usar o item, ganha o storage, e o item desaparece
  8. 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á =)
  9. 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
  10. Cara, funcionou certinho! com número decimais e tudo, obg =)
  11. 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á =)
  12. 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á!

Open Tibia Server

Quer aprender a criar seu próprio servidor de Tibia? Então está no lugar certo, aqui você encontrará milhares de tutorias, scripts, códigos, mapas e utilitários para que você possa fazer o seu próprio servidor de Tibia partindo do zero.

Redes Sociais

Anuncie no Tibia King

Precisa de mais visibilidade em seus projetos? Quer publicidade para o seu servidor? Anuncie no Tibia King e faça sua divulgação, possuímos centenas de acessos simultâneos e milhares diários, com certeza será a sua solução! A publicação do seu anuncio é instantânea!

×
×
  • Criar Novo...