Ir para conteúdo

gabriel28

Membro
  • Registro em

  • Última visita

Tudo que gabriel28 postou

  1. gabriel28 postou uma resposta no tópico em Suporte Tibia OTServer
    Esse script ai manda o efeito de tempo em tempo, não só uma vez. E quando outro jogador passa a ser top, uma mensagem pro server é mandada que o jogador X é o novo TOP e o efeito fica nele.
  2. Já vi por ai alguns scripts de reflect, mas não do jeito que eu gostaria. Gostaria de um item que ao usar em outro, desse o bônus de reflect. Seria mais ou menos assim: O item daria 2% de bônus de reflect e só poderia ser usado uma vez em cada item, tendo chance de falhar. O item poderia ser usado em qualquer equipament (colar, helmet, armor, legs, shield e boots), mas armas(axe, sword, club, bow/crossbow) e wands e rods, não poderiam receber o item. Se alguém puder ajudar, agradeço.
  3. Ah sim. Isso ai eu já não sei. =/
  4. Veja se no seu config.lua tem essa linha >showHealingDamage = false <, se tiver, só mudar o false por true.
  5. Sim, mas esse script está associado a um de segunda promotion, que se consegue fazendo essa task com o NPC.
  6. Estou com um script de segunda promotion, mas está dando um erro nesse script que é pra colocar em criaturescript, segue ele: local Config = { Monsters = { -- ["Name"] = {amount = quantidade} ["Demon"] = {amount = 5}, ["Hydra"] = {amount = 10}, }, StoragePro = 54661, -- Não mexer se não souber editar Money = 100 -- Dinheiro } function onKill(cid, target) if not isMonster(target) and getPlayerStorageValue(cid, Config.StoragePro) >= (2 + #Config.StoragePro) then return false end local monster = Config.Monsters[getCreatureName(target):lower] if monster then local sto = getPlayerStorageValue(cid, monster) if sto < (monster.amount - 1) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Task message: [" .. (sto + 1) .. "/" .. monster.amount .. ] of " .. getCreatureName(target) .. ".") setPlayerStorageValue(cid, monster, (sto + 1)) elseif sto == (monster.amount - 1) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Congratulations!! you have killed" .. (sto + 1) .. "/" .. monster.amount .. "] of " .. getCreatureName(target) .. "s ands and completed the task.") setPlayerStorageValue(cid, monster, (sto + 1)) setPlayerStorageValue(cid, Config.StoragePro, (getPlayerStorageValue(cid, Config.StoragePro) + 1)) end end return true end function onLogin(cid) registerCreatureEvent('taskNpc') return true end O erro é esse : input:14: function arguments expected near ']' , nessa linha: local monster = Config.Monsters[getCreatureName(target):lower]
  7. Mas Rookgaard não tem depot, não tem como isso acontecer, ou você colocou?
  8. Tem o efeito 133? Se sim, é defeito no script da magia, creio eu.
  9. O .dat fica na pasta do client do jogo. Recomendo usar o Object Builder pra abrir esse arquivo, aqui no fórum há alguns tutoriais desse programa.
  10. Como o server dele é de DBZ, creio que o distro já tenha os efeitos, acho que você devia rever o número do efeito no arquivo .dat do client. Se tiver esse efeito 133, deve ser algo no script da spell.
  11. Obrigado cara. Passei o dia todo quebrando a cabeça pra fazer isso, ser autodidata é bom, mas as vezes temos que buscar aprender com gente mais experiente.
  12. Estou tentando montar esse NPC em que quando o player aceite ajudar, ele diga "Obrigada, você estará fazendo um grande favor.", depois que o player voltar e disser 'help' de novo, ela verificara se o player está com o item, e dará o novo item para o player e uma storage para ele não fazer a quest de novo. Só que não estou conseguindo fazer desta forma, quando o player diz que aceita ajudar, ela já faz a checagem dos itens. Segue o script: local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) 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 FUNCAO_NOME(cid, message, keywords, parameters, node) if(not npcHandler:isFocused(cid)) then return false end local storage = 60080 if getPlayerStorageValue(cid, storage) ~= 1 then npcHandler:say('Obrigada, você estará fazendo um grande favor.', cid) -- MENSAGEM AO REMOVER O ITEM setPlayerStorageValue(cid, storage, 1) end if getPlayerStorageValue(cid, storage) ~= 2 then if getPlayerItemCount(cid,5944) >= 2 then -- SE TIVER 1 OU MAIS ITEM COM ID 2516 if doPlayerRemoveItem(cid,5944,2) then -- remove 1 ITEM DO ITEM COM ID 2516 npcHandler:say('Obrigao, ja fazia ideia de que isso iria acontecer. Pegue isso em forma de gratidao!', cid) -- MENSAGEM AO REMOVER O ITEM doPlayerAddItem(cid,5908,2) -- ADD 1 ITEM COM ID 5908 setPlayerStorageValue(cid, storage, 2) end else npcHandler:say('Isso nao eh do meu irmao, nao brinque comigo!', cid) end else npcHandler:say('Você ja me ajudou!', cid) end end local node2 = keywordHandler:addKeyword({'help'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Meu irmao que se perdeu, pode encontra-lo e trazer alguma informaçao para mim?.'}) node2:addChildKeyword({'yes'}, FUNCAO_NOME, {npcHandler = npcHandler, onlyFocus = true, reset = true}) node2:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Até mais.', reset = true}) local node3 = keywordHandler:addKeyword({'help'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Voce trouxe alguma informaçao dele?.'}) node3:addChildKeyword({'yes'}, FUNCAO_NOME, {npcHandler = npcHandler, onlyFocus = true, reset = true}) node3:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Até mais.', reset = true}) npcHandler:addModule(FocusModule:new())
  13. Não entendo muito, mas tenta trocar essas linhas local manapercent = 15 * getPlayerMaxMana(cid) / 100 --O 5 é a porcentagem que você quer regenerar doCreatureAddMana(cid, manapercent) Por essa local healthpercent = 15 * getPlayerMaxHealth(cid) / 100 --O 5 é a porcentagem que você quer regenerar doCreatureAddHealth(cid, healthpercent)
  14. Já testasse por o item no potion.lua?
  15. Fazer monstro é fácil cara, só você pegar qualquer script de um já existente e ir alterando ao seu gosto, depois, só adicionar uma tag pra ele no monster.xml.
  16. Você quer um programa que faça s scripts dos monstros?
  17. local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_HEALING) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE) setCombatParam(combat, COMBAT_PARAM_TARGETCASTERORTOPMOST, 1) setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, 0) setCombatParam(combat, COMBAT_PARAM_DISPEL, CONDITION_PARALYZE) --setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, 2.5, -30, 2.5, 0) function onGetFormulaValues(cid, level, maglevel) min = (level * 2 + maglevel * 3) * 2.1 max = (level * 2 + maglevel * 3) * 2.5 if min < 250 then min = 250 end return min, max end setCombatCallback(combat, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues") function onCastSpell(cid, var) return doCombat(cid, combat, var) end tag no xml: <rune name="XXX" id="XXX" allowfaruse="1" charges="1" lvl="XXX" maglv="XX" exhaustion="1200" aggressive="0" needtarget="1" blocktype="solid" event="script" value="healing/NOME DO ARQUIVO.lua"/> troque os X pelas infos do seu item
  18. Clicar no botão verde 'gostei' no coment dele.
  19. Só baixar o programa e seguir os passos do tutorial do cara, não tem erro.
  20. De nada man, tamo ai pra isso.
  21. É que você adicionou um distanceEfect, e esse comando ai é pra areaEfect. Poem ele em alguma magia. Se o problema continuar, exclua a pasta 'obj' e recompila a source.
  22. Testa com o script que te passei, ele faz o que você pediu. Quanto maior o level do player, mais vai healar, se quiser que heale mais ou menos, é só alterar onde eu disse.
  23. Isso é a formula da spell. O dano mínimo/máximo da spell é o (LEVEL do player vezes 2 + magic lvl dele vezes 3) vezes X. Se você quiser que heale mais, só aumentar o valor dos números, se quiser que heale menos, só diminuir.
  24. local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_HEALING) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE) setCombatParam(combat, COMBAT_PARAM_TARGETCASTERORTOPMOST, 1) setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, 0) setCombatParam(combat, COMBAT_PARAM_DISPEL, CONDITION_PARALYZE) --setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, 2.5, -30, 2.5, 0) function onGetFormulaValues(cid, level, maglevel) min = (level * 2 + maglevel * 3) * 2.1 max = (level * 2 + maglevel * 3) * 2.5 if min < 250 then min = 250 end return min, max end setCombatCallback(combat, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues") function onCastSpell(cid, var) return doCombat(cid, combat, var) end Mude os valores daqui > min = (level * 2 + maglevel * 3) * 2.1 e divirta-se =) max = (level * 2 + maglevel * 3) * 2.5

Informação Importante

Confirmação de Termo