Ir para conteúdo
  • Cadastre-se

Vortex

Membro
  • Total de itens

    20
  • Registro em

  • Última visita

  1. qual é a sua versão do TFS? Existe um sistema de reset para o TFS 0.4 sem mexer na source, sim. É possível implementar as funções usando as libs e isso já está resolvido. Existem alguns OTs Baiak que possuem o sistema de reset. Você pode dar uma olhada nesses servidores ou e sobre resetar o lvl, mana e life, isso é feito através do banco de dados. Não é necessário usar a função "addReset", pois o banco de dados já está configurado para isso.
  2. Faça o download de uma versão mais recente do RME, abra o mapa e procure por essa coordenada para deletar um quadrado vermelho, sem adicionar nenhum item. Em seguida, salve o mapa e verifique se abriu corretamente. Depois, você pode testar adicionando outro item... Não se esqueça de colocar seu items.otb e XML dentro do RME mais recente. Já aconteceu com o meu mapa. Tive que deletar alguns quadrados vermelhos que não existem no meu items.otb. Apenas fui lá, deletei e salvei. Deu certo. Depois, resolvi adicionar um item que existe usando o próprio items.otb, e ele apareceu no
  3. function onUse(cid, item, frompos, item2, topos) local config = { timeForUse = 2, storage = 88323, toKnow = 98323, effect = 27, vocationIds = {1, 2, 3, 4, 5, 6, 7, 8 , 9, 10} -- Adicione aqui as IDs das suas 20 vocações } local time = getPlayerStorageValue(cid, config.storage) - os.time() <= 0 and (os.time() + config.timeForUse * 60) or (getPlayerStorageValue(cid, config.storage) + config.timeForUse * 60) setPlayerStorageValue(cid, config.storage, time) local lastVocationId = config.vocationIds[#config.vocationIds] doPlayerSet
  4. Se você já adicionou o arquivo items.xml e items.otb do seu OT pelo RME e abriu o mapa para verificar se os itens estão aparecendo corretamente, caso apareça um quadrado vermelho indicando que o item não existe no mapa (items.otb), é importante garantir que você esteja usando os mesmos arquivos items.otb e items.xml tanto no RME quanto no servidor do OT. Os arquivos devem ser idênticos para que os itens possam ser exibidos corretamente no mapa.
  5. Eu me lembrei agora! O motivo de todas as vocações estarem aparecendo é porque é definido pelo "fromvoc" no Acc Manager. Tente alterar para "fromvoc=nil" ou, se preferir, tente apagar completamente essa linha "fromvoc". Isso pode funcionar, mas não tenho certeza.
  6. Antes, eu conseguia realizar PvP, ou seja, atacar outros jogadores sem problemas, após ter feito algumas alterações, das quais não me recordo exatamente onde foram feitas (possivelmente no CreatureScript, na config.lua ou em algum data/event), não consigo mais entender por que um jogador não pode atacar outro. Já tentei definir o level como 1, mas não obtive sucesso. Revisei as pastas e até mesmo a source, mas não consegui identificar o problema. Alguém poderia ajudar e sugerir o que pode estar ocorrendo? Config.lua worldType = "p
  7. Apenas utilizei essa função e o problema foi resolvido. Deu certo, o Master Sorcerer se transformou em um Supreme Sorcerer e as outras vocações também funcionaram corretamente, sem bugs ou falhas. Está tudo correto e perfeito. Ok local currentVocation = player:getVocation():getId() player:setVocation(Vocation(currentVocation + 4))
  8. local storageValues = { [xxx] = 10, -- Cor 1 [xxx] = 30, -- Cor 2 [xxx] = 50, -- Cor 3 [xxx] = 70 -- Cor 4 } function ariseText(cid) if not isPlayer(cid) then return true end local texts = {"' . ,", ". ' ,", "' . ,", ", ' ."} local playerStorage = getPlayerStorageValue(cid) if storageValues[playerStorage] then local text = texts[math.random(1, #texts)] local color = storageValues[playerStorage] doSendAnimatedText(getCreaturePosition(cid), text, color) doSendMagicEffect(getCreaturePositio
  9. local storageValues = { [1234] = 10, -- Cor 1 [12345] = 30, -- Cor 2 [12346] = 50, -- Cor 3 [123457] = 70 -- Cor 4 } function ariseText(cid) if not isPlayer(cid) then return true end local texts = {"' . ,", ". ' ,", "' . ,", ", ' ."} local playerStorage = getPlayerStorageValue(cid) if storageValues[playerStorage] then local text = texts[math.random(1, #texts)] local color = storageValues[playerStorage] doSendAnimatedText(getCreaturePosition(cid), text, color) doSendMagicEffect(getCreatur
  10. Onde você adicionou isso? Foi no arquivo data/creaturescript?
  11. local tab = { [4] = 10, -- [storageValue] = número da cor do texto animado [5] = 30, [6] = 50, [7] = 70 } function ariseText(cid) if not isPlayer(cid) then return true end local texts = {"' . ,", ". ' ,", "' . ,", ", ' ."} local playerStorage = getPlayerStorageValue(cid, STORAGE) if playerStorage and tab[playerStorage] then doSendAnimatedText(getCreaturePosition(cid), texts[math.random(1, #texts)], tab[playerStorage]) doSendMagicEffect(getCreaturePosition(cid), CONST_ME_MAGIC_GREEN) end addEvent(aris
  12. Já está resolvido o problema. Pode encerrar este assunto.
  13. Por gentileza, alguém possui um script de NPC que permite a troca de uma vocação antiga pela nova? Por exemplo, preciso que o ID 5 de um Master Sorcerer seja alterado para o ID 9 de um Supreme Sorcerer. Tenho 4 vocações diferentes, com os IDs 9, 10, 11 e 12. Alguém poderia me ajudar? Alguém pode me ajudar a tentar colocar uma tabela por vocação? Quero algo semelhante a essa tabela que eu coloquei, mas até agora nada está funcionando local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local tal
  14. Bom dia amigo, pode ser por lua... é uma alternativa. Pareceu-me que checar o jogador se possui premium vai proporcionar uma iluminação melhor do que a free, assim como feito no CreatureScript. Dá uma olhada local condition = Condition(CONDITION_LIGHT) condition:setParameter(CONDITION_PARAM_LIGHT_LEVEL, 11) condition:setParameter(CONDITION_PARAM_LIGHT_COLOR, 215) condition:setParameter(CONDITION_PARAM_TICKS, -1) function onLogin(player) if player:isPremium() then player:addCondition(condition) end return true end Adicione uma linha em xml para login aqui da
  15. if (isLocalPlayer()) { LocalPlayerPtr player = g_game.getLocalPlayer(); if (player->isPremium()) { light.intensity = std::max<uint8>(light.intensity, 6); if (light.color == 0 || light.color > 215) { light.color = 215; } } else { light.intensity = std::max<uint8>(light.intensity, 2); } g_map.setLight(player->getPosition(), light); } creio que vai funcionar!
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo