Ir para conteúdo

antharaz

Membro
  • Registro em

  • Última visita

Tudo que antharaz postou

  1. @Gabrielk Entendi que era o item porque a pedra já remove, para não remover o item é só tirar a linha doRemoveItem(itemEx.uid) ficando assim:
  2. @Gabrielk Foi um erro meu de logica no if, o código correto está abaixo:
  3. @Gabrielk Então, isso que fiz, usei o item e transformou no outro, usei dnv no novo item e transformou no prox e por ae vai, só que dexei apenas 3 upgrades no exemplo, cada upgrade com uma chance.
  4. vlw faz uns anos que parei com script lua, ae to voltando e desenferrujando aqui @topic Em data/creaturescript/scripts crie um arquivo chamado renasce.lua com o seguinte código: local config = { pos = {x=118,y=379,z=7}, --pos em que vai renascer tempo = 10 --tempo para renascer em minutos } function onDeath(cid, corpse, killer) addEvent(doCreateMonster,config.tempo*60000,getCreatureName(cid), config.pos) return true end Em data/creaturescript/creaturescript.xml coloque a tag abaixo 1 linha antes de </creaturescripts>: <event type="death" name="renasce" event="script" value="renasce.lua"/> E por último, abra o arquivo XML do monstro que irá renascer em data/monster e coloque o código abaixo antes de </monster>: <script> <event name="renasce"/> </script>
  5. Seria algo assim? local config = { looks = {128,129,130,131}, tempo = 7 } function onUse(cid, item, fromPosition, itemEx, toPosition) local out = getCreatureOutfit(cid) out.lookType = config.looks[math.random(1,#config.looks)] doSetCreatureOutfit(cid, out, config.tempo*1000) doRemoveItem(item.uid,1) return true end
  6. Fiz o action levando em consideração que um player irá realmente matar o outro. local config = { pos = { pos_entrada = { --POSICAO DOS SQM PRETOS {x=118,y=379,z=7}, {x=120,y=379,z=7} }, pos_dentro = { --POS DOS SQM VERMELHOS {x=118,y=376,z=7}, {x=120,y=376,z=7} }, pos_ganhador = {x=124,y=379,z=7} }, premiacao = { --PREMIACAO {id=2229,quantidade=4}, {id=2207,quantidade=1}, {id=2160,quantidade=1} }, msg = { ganhou = 'Você matou o inimigo, e foi o ultimo a ficar na arena, por tanto, ganhou as seguintes premiações: ', entrou = 'Você esta dentro da arena, agora enfrente o inimigo com honra!' }, level_minimo = 300 } local p = {} function onUse(cid, item, fromPosition, itemEx, toPosition) if #p > 0 then doSendMagicEffect(fromPosition,2) return false end for _,pos in pairs(config.pos.pos_entrada) do local player = getTopCreature(pos).uid if not isPlayer(player) or getPlayerLevel(player) < config.level_minimo then p = {} doSendMagicEffect(fromPosition,2) return false end table.insert(p,player) end for _,player in pairs(p) do doTeleportThing(player,config.pos.pos_dentro[_]) doPlayerSendTextMessage(player, 22, 'Você esta dentro da arena, agora enfrente o inimigo com honra!') end verifica() return true end function verifica() for _,player in pairs(p) do if not isPlayer(player) then table.remove(p,_) player = p[1] doTeleportThing(player,config.pos.pos_ganhador) local texto = config.msg.ganhou for a,t in pairs(config.premiacao) do doPlayerAddItem(player,t.id,t.quantidade) texto = a ~= #config.premiacao and (texto..t.quantidade..' '..getItemNameById(t.id)..', ') or (texto..t.quantidade..' '..getItemNameById(t.id)..'.') end doPlayerSendTextMessage(player, 22, texto) p = {} return true end end addEvent(verifica,1000) end
  7. É uma actions, coloque em data/actions/scripts, depois abra o data/actions/actions.xml e coloque a linha abaixo 1 linha antes de </actions> substituindo 2229 pelo id do item que se usa e teleport_minato pelo nome do arquivo que vc criou. <action itemid="2229" event="script" value="teleport_minato.lua"/>
  8. Veja se eu entendi direito, ao usar o item, você ganha o um certo outfit por X minutos ou você fica com o outfit por X minutos querendo ou não?
  9. como o @Dwarfer disse, você que configurou errado mesmo, testei aqui e ta 100%
  10. Olha, eu não jogo então não sei como é isto, mas se quiser posso fazer o script para você.
  11. antharaz postou uma resposta no tópico em Suporte Tibia OTServer
    local monstro = "Rat" function onUse(cid, item, fromPosition, itemEx, toPosition) if getTilePzInfo(fromPosition) then doSendMagicEffect(fromPosition, 2) return false end doRemoveItem(item.uid,1) doCreateMonster(monstro, fromPosition) return true end Acho que o que você quer é mais ou menos isto.
  12. local config = { itens_iniciais = {2395,2397}, t_upgrade = { [0] = {id=7744,chance=100}, [1] = {id=2396,chance=90}, [2] = {id=2393,chance=70} } } function onUse(cid, item, fromPosition, itemEx, toPosition) local u = getItemAttribute(itemEx.uid, 'upgrade') u = u and u or 0 if (not isInArray(config.itens_iniciais,itemEx.itemid) and u == 0) or u == (#config.t_upgrade+1) then doSendMagicEffect(fromPosition, 2) return false end doRemoveItem(item.uid,1) if math.random(1,100) > config.t_upgrade[u].chance then doRemoveItem(itemEx.uid) doSendMagicEffect(fromPosition, 2) return false end doItemSetAttribute(itemEx.uid, 'upgrade',u + 1) doTransformItem(itemEx.uid,config.t_upgrade[u].id) doSendAnimatedText(toPosition,"+"..(u + 1), 55) doSendMagicEffect(fromPosition, 45) return true end Como você falou que seriam vários ids iniciais para o upgrade, fiz uma table aonde você colocará os ids q podem sofrer upgrade, para cada item e chance correspondente ao upgrade, eu inseria table t_upgrade, agora te ensinarei a configurar cada linha, lembrando que fiz apenas 3 de acordo com seu exemplo, qualquer coisa é só alterar. [0] = {id=7744,chance=100}, Aonde está id=7744 vc coloca o id que o item irá mudar quando sofrer upgrade e em chance=100 colocará a chance em porcentagem de sucesso. Caso tenha alguma dificuldade ou caso seja um upgrade diferente para cada item, pode falar que te ajudo.
  13. Fiz o script aqui, só tenho uma dúvida, a 1ª arma sempre será a spike sword?
  14. Você quer que de 8 em 8 minutos nasça, nasça quando use algum item ou o que? Na real é bem fácil fazer. -- EDITED -- Ignora meu post, não vi que você tinha marcado alguém pra responder.
  15. Não entendi o que você deseja, você postou vários scripts, falou de "baianagem" mas não falou o que queria.
  16. Abra o arquivo data\actions\scripts\liquids\potions.lua, lá terá uma linha referente ao id da potion na table POTIONS, algo semelhante a isto: [8472] = {empty = 7635, splash = 43, health = {200, 400}, mana = {110, 190}, level = 80, vocations = {3, 7}, vocStr = "paladins"} -- great spirit potion Em vocations = {3,7} você deixa os ids das vocations que conseguirão usá-la.
  17. Algo assim imagino: function onUse(cid, item, fromPosition, itemEx, toPosition) doRemoveItem(item.uid) doTeleportThing(cid,toPosition) return true end
  18. antharaz postou uma resposta no tópico em BBot
    Se eu fizer um crack pro bbot e falar pro mega como eu fiz, ganho uma key gratis?
  19. antharaz postou uma resposta no tópico em Tutoriais sobre Programação
    Enfim... o tópico já perdeu o sentido... o povo ta floodando e talz... melhor remover ele mesmo... sei que assim como nos outro forums, poucos aqui tem realmente interesse em estudar a linguagem a fundo... então peço novamente que removam o tópico...
  20. antharaz postou uma resposta no tópico em Tutoriais sobre Programação
    Tópico já ta perdendo a função... pelo visto não ajudou muitos devido ao desinteresse de alguns em floodar... então peço que deletem o tópico por favor .-.
  21. Tema: D&D Detalhes adicionais: -
  22. antharaz postou uma resposta no tópico em Tutoriais sobre Programação
    Como assim fuder o código? Saber manipular as hooks do windows não é fuder o código... quem quer deixar o kl fud compra um kl fud que é bem mais barato do que comprar um crypter fud... Tudo bem que tem noobs que querem deixar o kl fud e acabam fudendo tudo, mas para um programador(que é o alvo deste meu tópico) é fundamental saber manipular as hooks do windows, não só para fazer kl, mas para futuras aplicações também... E em realação às virtual-keys como você disse, peço que observer uma das virtual-keys sendo usadas no tópico(VK_F9), já que seu comentário fez a entender que não fazia o uso de virtual0keys no code.
  23. Na verdade não... esse realmente foi um problema que vi só depois... mas com os updates do tibia de trocar de nome, você pode por o antigo na tabela reservada para seu nome antigo, assim se fizere uma busca no site com Renato aparece seu char do mesmo jeito e ninguém poderá criar char com o mesmo nome... no caso na tabela player_namelocks No caso não adaptei ele pois é bem básico e estou focado mais nos duelos de script e programação que estou tendo... :x EDIT Fiz uma adaptação nele para não ocorrer o que o colega acima falou D: Não testei pois não tenho server aqui...
  24. antharaz postou uma resposta no tópico em Tutoriais sobre Programação
    Digamos que outros métodos como onKeyDown e derivados são apenas "gambiarras" e assim fica bem mais fácil tanto para manipular como para deixar FUD o kl.
  25. antharaz postou uma resposta no tópico em Playground (Off-topic)
    eita... nem percebi isso D: krai... asuashuuhas

Informação Importante

Confirmação de Termo