Ir para conteúdo

Steeven

Membro
  • Registro em

  • Última visita

  1. Steeven alterou sua foto pessoal
  2. Steeven reagiu a uma resposta no tópico: Criminal System
  3. 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.
  4. 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!
  5. 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!
  6. 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?
  7. Vodkart reagiu a uma resposta no tópico: (Resolvido)Como usar getItemIdByName?
  8. Willyw reagiu a uma resposta no tópico: (Resolvido)Como usar getItemIdByName?
  9. Steeven reagiu a uma resposta no tópico: (Resolvido)Como usar getItemIdByName?
  10. @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
  11. 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!
  12. Steeven reagiu a uma resposta no tópico: (Resolvido)[URGENTE] SHOP System In Game
  13. 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á!
  14. Steeven reagiu a uma resposta no tópico: Compilando TFS 1.3 com vídeo-aula
  15. Steeven reagiu a uma resposta no tópico: (Resolvido)Vida sempre 100
  16. 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()); }
  17. 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.
  18. Steeven reagiu a uma resposta no tópico: (Resolvido)Vida sempre 100
  19. 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!
  20. Amy Fear reagiu a uma resposta no tópico: Mineração/Coleta (%)
  21. manolodede reagiu a uma resposta no tópico: Simples Premium Scroll
  22. Steeven respondeu ao post em um tópico de Steeven em Suporte Tibia OTServer
    Obrigado! Eu demorei pra responder porque estava muito ocupado estes dias, assim que der pra testar eu posto aqui o resultado.
  23. Steeven postou uma resposta no tópico em Suporte Tibia OTServer
    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!
  24. 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!
  25. Steeven reagiu a uma resposta no tópico: Mineração/Coleta (%)
  26. Steeven reagiu a uma resposta no tópico: Mineração/Coleta (%)
  27. Foi nada, é o orgulho de ser TK
  28. 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!

Informação Importante

Confirmação de Termo