-
Steeven alterou sua foto pessoal
-
-
Mathias Kenfi reagiu a uma resposta no tópico: (Resolvido)[Resolvido] NPC que Troca Itens por Quantidade
-
-
(Resolvido)[Resolvido] NPC que Troca Itens por Quantidade
Sim, os dois caminhos estão corretos, é que eu quero que o Player dê as barras em troca de moedas, cada barra por 5 moedas. Então troquei os ids do item que o player dá pelo o ID das barras e ele recebe as moedas. Isso.
-
absorbPercent em script?
Eu estou querendo criar umas potion que dê resistência. Percebi que em items.xml tem a tag "<attribute key="absorbPercentPhysical" value="3"/>". Queria saber se é possível isolar esta função em scripts para usar em uma potion por exemplo e como. Desde já agradeço!
-
(Resolvido)[Resolvido] NPC que Troca Itens por Quantidade
Muito obrigado mesmo, funcionou perfeitamente, eu só precisei mudar esta linha: doPlayerAddItem(cid, x.reward, msgcount[talkUser]) para >>> doPlayerAddItem(cid, x.reward, msgcount[talkUser]*5) Porque quando o player fala a quantidade, ele deve receber 5 moedas em troca das barras! Tudo rodando sem erros, muito obrigado mesmo!
-
-
(Resolvido)[Resolvido] NPC que Troca Itens por Quantidade
Servidor: The OTX Server Version 2.52 Eu queria uma ajudinha aqui com um NPC, pois não sei como criá-lo. É o seguinte; o NPC é de troca, mas preciso que ele troque itens de acordo com a quantidade estipulada pelo player. Exemplo: PLAYER: hi NPC: Olá PLAYER! Minha função aqui é trocar barras de bronze, prata, ouro ou mithril em suas respectivas moedas. Que tipo de troca deseja fazer? PLAYER: bronze (ou poderia ser prata, ouro ou mithril). NPC: Muito bem, cada barra corresponde a 5 moedas, quantas barras de bronze você quer trocar? PLAYER: 10 NPC: Aqui está suas 50 moedas de bronze. Volte sempre! 50 moedas porque cara barra vale 5 moedas, sendo que ali a troca foi 10, logo 10x5=50. Bem é isso, agradeço de coração quem puder me ajudar, é algo muito importante para o meu servidor. @Vodkart?
-
-
-
-
(Resolvido)Como usar getItemIdByName?
@Vodkart Eu acho que devia ter te avisado, que estou usando um "The OTX Server Version: (2.52 - 1557) - Codename: (Necron)". Quando usei o teu código, o servidor fechou sozinho, mas antes apareceu o erro no console: lua:341: attempt to call a string value. É justamente a linha em questão: return doPlayerSendTextMessage(cid,22,"O item gerado foi: "..getItemNameById(r)) Em fim, usei do jeito que você mandou e deu o mesmo erro OBRIGADO CARA, FUNCIONOU, EU AO INVÉS DE USAR NO RETURN, USEI COMO UM COMANDO SIMPLES E DEU CERTO SEM ERROS AGORA. OBRIGADO DE CORAÇÃO! VOCÊ FAZ PARTE DO MEU DREAM TEAM QUE SE DEUS QUISER AINDA VOU MONTAR! ABRAÇOS! ABAIXO SEGUE COMO RESOLVI: local items = { 2365, -- backpack of holding 10518, -- demon backpack 10016, -- batwing hat 2152 -- platinum coin } function onUse(cid, item, fromPosition, itemEx, toPosition) local r = items[math.random(#items)] doPlayerSendTextMessage(cid,22,"O item gerado foi: "..getItemNameById(r)) return true end
-
(Resolvido)Como usar getItemIdByName?
Bom, indo direto ao assunto, eu estou com um problema: Tenho uma tabela com os IDs dos itens. E quando dá use no item X, quero que selecione um item na tabela usando um math.random(1,4) Exemplo: local itemRandom = Items[math.random(1,4) Até aqui tudo bem, mas o meu problema se dá quando quero pegar este item da variável itemRandom e exibir o nome do item em uma mensagem. Imagino que devo usar getItemIdByName pegando o id da array itemRandom . A questão é que não sei como usar esse comando. Eu pensei nisso: local ItemsGenerator= { 2365, -- backpack of holding 10518, -- demon backpack 10016, -- batwing hat 2152 -- platinum coin } function onUse(cid, item, fromPosition, itemEx, toPosition) local itemRandom = ItemsGenerator[math.random(1,4) local itemName = getItemIdByName(itemRandom [, displayError = true]) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "O item gerado foi " ..itemName ) return true end Mas obviamente não deu certo, alguém pode me apontar uma solução? Desde já agradeço muito! Desculpe, só lembrando que o nome exibido tem que ser o mesmo do item gerado na variável itemRandom . OBRIGADO!
-
-
É possível usar doBroadcastMessage no Movements?
Eu estou criando um castelo 24h no meu servidor, estou fazendo do zero e sozinho porque todos que tentei deu erro no meu OTX e não quero trocar para um TFS. Mas tive um problema que não consegui resolver... Eu quero que quando um player passar por um tile, anuncie para todo o servidor que ele passou por ali. Isso para avisar que o castelo está sendo invadido. Porém eu fiz isso no movements, parece não ser o local correto para se fazer isso. De toda forma segue o script que fiz usando o doBroadcastMessage em movements: Quem puder me ajudar agradeço desde já!
-
-
-
(Resolvido)Vida sempre 100
Muito obrigado, com o apontamento de vocês eu entendi que o meu problema era o oposto do citado por você @Brunds, era só colocar os códigos normais, para alguém que procura o mesmo que eu a solução é abrir protocolgame.cpp e substituir a função AddPlayerStats por essa: void ProtocolGame::AddPlayerStats(NetworkMessage_ptr msg) { msg->put<char>(0xA0); msg->put<uint16_t>(player->getHealth()); msg->put<uint16_t>(player->getPlayerInfo(PLAYERINFO_MAXHEALTH)); msg->put<uint32_t>(uint32_t(player->getFreeCapacity() * 100)); uint64_t experience = player->getExperience(); if(experience > 0x7FFFFFFF) // client debugs after 2,147,483,647 exp msg->put<uint32_t>(0x7FFFFFFF); else msg->put<uint32_t>(experience); msg->put<uint16_t>(player->getPlayerInfo(PLAYERINFO_LEVEL)); msg->put<char>(player->getPlayerInfo(PLAYERINFO_LEVELPERCENT)); msg->put<uint16_t>(player->getPlayerInfo(PLAYERINFO_MANA)); msg->put<uint16_t>(player->getPlayerInfo(PLAYERINFO_MAXMANA)); msg->put<char>(player->getPlayerInfo(PLAYERINFO_MAGICLEVEL)); msg->put<char>(player->getPlayerInfo(PLAYERINFO_MAGICLEVELPERCENT)); msg->put<char>(player->getPlayerInfo(PLAYERINFO_SOUL)); msg->put<uint16_t>(player->getStaminaMinutes()); }
-
(Resolvido)Vida sempre 100
Muito bom, já agradeço por me apontar o problema, mas pode me dizer onde está isso na source? Compilar eu consigo, mas não sei onde alterar. Já dei rep.
-
-
(Resolvido)Vida sempre 100
Então, eu estou com um problema no meu TFS 0.4. A vida e a mana estão mostrando 100/100, mesmo quando tem mais que isso. Eu achei que era bug das vocações e as removi, o bug continuou, removi a vocação vip até no creaturescripts e nada. O jogo continua o mesmo, mas mostrar sempre 100 é ruim pra quem joga. Se alguém puder me apontar pelos, uma luz agradeço!
-
-
-
- Script com tempo
-
Script com tempo
Olá galera! Eu queria saber algumas coisas, vou deixar o algoritmo do script, espero que alguém possa me ajudar e explicar, desde já agradeço! A idéia aqui é simple; eu uso determinado item na parede com a ActionID 1000 e em 10 segundos ela tranforma em outra exibindo uma animação na posição determina quando ela for transformada. Na Parede já transformada, eu uso o mesmo item e removo ela monstrando uma animação imediata. Prefiro que o Item que vou usar sobre a parede, esteja no Actions.xml como a Shovel, pick e etc... Obrigado e abraço a todos!
-
Promotion Scroll
Eu já havia feito um Premium Scroll simples, aí pensei: Por que não fazer um Promotion Scroll? Para fazer seu promotion scroll, você terá que ter um item que possar usar para quando o jogador usar este item, ele possa ser promovido. Como eu gosto de criar novos itens, fiz um com uma sprite nova, mas você pode usar um item que já exista, exemplo é o item com ID 12461, acredito que não seja usado no Tibia 8.6. Vamos ao que interessa: em data/actions/actions.xml cole está linha: Em vermelho é o ID do item que será o premium scroll Agora em data/actions/scripts/ crie um arquivo com o nome promotion_scroll.lua e cole o código abaixo dentro dele: De verde, é a mensagem que irá ser exibida para o jogador que tentar usar a promotion scroll e já for promotion De roxo, é a mensagem que irá ser exibida quando o jogador usar a promotion scroll. OBSERVAÇÃO: Para usar o promotion scroll é preciso ser premium. Não é preciso mudar mais nada além disso. Se já tem isto no fórum me perdoem, abraço a todos!
-
-
-
Simples Premium Scroll
Foi nada, é o orgulho de ser TK
-
Simples Premium Scroll
Este script é pequeno, simples e fácil de usar. O que faz? -Adiciona premius days (dias de premium) Utilidade? data/actions/scripts/ e crie um arquivo .lua com o nome que deseja (premium_scroll.lua). Nele adicione o código a seguir: De vermelho, são os dias de premium que será adicionado ao jogador que usar. De azul, é a mensagem enviada para o jogador que usou o item. Em data/actions/actions.xml adicione a linha: Em roxo, o ID do item que será o Premium Scroll. Você pode usar o que mais lhe agrada. Em negrito é o nome do seu arquivo criado em data/actions/scripts/. Descomplicado e funcional! Abraço a todos!