Jump to content
Close

Steeven

Member
  • Content Count

    36
  • Joined

  • Last visited

About Steeven

  • Rank
    Craftsman

Profile Information

  • Gender
    Masculino
  • Localization
    Brasil
  • I am
    Tibiano
  • Bot preferred
    Elfbot

Recent Profile Visitors

4497 profile views
  1. @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
  2. 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!
  3. 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á!
  4. 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()); }
  5. 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.
  6. 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!
  7. 24h(USA) Sstage 50x Client próprio Mapa próprio. Equips exclusivos, Atendimento online no site Server novinho(PVP) Site http://nexusoficial.servegame.com Grupo no Facebook https://www.facebook.com/groups/374357636044109/
  8. Nexus Open Tibia foi lançado agora e está novinho! Venha conhecer nosso servidor e trazer seu time, ao falar com o GameMaster você pode ganhar prêmios se trouxer amigos! IP/Site nexus986.servegame.com
  9. Obrigado! Eu demorei pra responder porque estava muito ocupado estes dias, assim que der pra testar eu posto aqui o resultado.
  10. 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!
  11. 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!
  12. 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!
  13. Eu não sou bom scriptter, mas no que eu puder ajudar eu terei prazer.

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 começando do zero.

Redes Sociais

Anuncie no Tibia King

Precisa de mais visibilidade em seus projetos? Quer fazer um plano publicitário 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!

×
×
  • Create New...