Ir para conteúdo
  • Cadastre-se

Imperius

Membro
  • Total de itens

    41
  • Registro em

  • Última visita

  • Dias Ganhos

    10

Tudo que Imperius postou

  1. Dá uma olhada se o problema está em creaturescripts. Talvez um "return false" em vez de "return true" em algum script com callback "onLogin".
  2. O propósito é criar uma nova função em creaturescripts que será acionada toda vez que um novo report (CTRL + R) for aberto. Eu implementei para enviar uma notificação no grupo do Telegram, contendo os dados do report. Isso garantirá que os GMs tenham acesso aos reports dos jogadores mesmo quando não estiverem logados, e também evitará que algum report seja perdido caso o jogador saia do servidor. A parte do Telegram é apenas um exemplo. Você pode ajustar o script para executar outras ações desejadas. creatureevent.cpp: Dentro deste arquivo, localiz
  3. data > npc > scripts > NomeDoNPC.lua local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end local config = { itemID = 11192, -- ID da Moeda VIP quantity = 100, -- Quantidade de moedas que o jogador precisa te
  4. dá uma conferida no banco de dados se na tabela accounts tem a coluna vipdays ALTER TABLE `accounts` ADD `vipdays` INT(11) NOT NULL
  5. data > creaturescripts > creaturescripts.xml <event type="kill" name="killTheBoss" event="script" value="killTheBoss.lua"/> <event type="login" name="killTheBossLogin" event="script" value="killTheBoss.lua"/> data > creaturescripts > scripts > killTheBoss.lua local config = { monsters = {"Boss Hits"}, rewards = { {itemID = 8300, chanceToGainInPercent = 10, quantity = 1}, {itemID = 8301, chanceToGainInPercent = 20, quantity = 1}, {itemID = 8302, chanceToGainInPercent = 30, quantity = 1}, {itemI
  6. qual versão / servidor vc tá usando? Testei aqui sem erro na distro. única coisa que falta é colocar "return true" no final da function para os players conseguir logar no servidor
  7. data > actions > scripts > enchantmentSystem.lua: function onUse(cid, item, frompos, item2, topos) local playerLocation = getCreaturePosition(cid) local weaponData = { -- ID da arma | ID do item de encantamento | quantidade do item de encantamento (opcional) | ID do item que a arma será transformada. {weaponId = 7735, enchantmentId = 2361, transformId = 2453}, {weaponId = 6132, enchantmentId = 2159, amountEnchantment = 10, transformId = 2646} } local positions = { weaponTable = {x = 32352, y = 31912, z = 7}, -- Onde o jogador deve
  8. Seria tipo isso? data > creaturescripts > creaturescripts.xml <event type="login" name="playerTextEffect" event="script" value="playerTextEffect.lua"/> data > creaturescripts > scripts > playerTextEffect.lua local config = { storage = 808072, -- Storage que o player precisa ter. colorsText = {10, 30, 50, 70}, -- valores que o player poderá ter no storage (cada valor corresponde a uma coloração diferente de texto) texts = {"' . ,", ". ' ,", "' . ,", ", ' ."} -- Textos que ficará saindo do jo
  9. Exemplo: data > spells > spells.xml <instant name="NOME DA MAGIA" words="NOME DA MAGIA" lvl="100" mana="160" prem="0" selftarget="1" exhaustion="60000" needlearn="0" event="script" value="support/nomedamagia.lua"> <vocation id="1"/> <vocation id="8"/> </instant> data > spells > scripts > support > nomedamagia.lua function teleportPlayer(player, position) doTeleportThing(player, position) doSendMagicEffect(position, CONST_ME_TELEPORT) end function onCastSpell(cid, var) local playerPosition =
  10. seria tipo isso? Não entendi mt bem como será feito p/ nascer boss, então fiz uma talkaction, aí é só vc adapta da maneira que quiser. data > lib > spawnBoss.lua BOSS_SPAWN_CONFIG = { bosses = { ["Boss Thdagger"] = { -- Nome do Boss. position = { spawnBoss = {x = 263, y = 349, z = 7 }, -- Onde o boss nascerá. openTP = {x = 0, y = 0, z = 0}, -- Onde o TP aparecerá. locationTP = {x = 0, y = 0, z = 0} -- Onde o TP levará o jogador. }, timeInSecon
  11. data > talkactions > online.lua function onSay(cid, words, param, channel) local quantityOnline = 0 for _, pid in ipairs(getPlayersOnline()) do if getPlayerAccess(pid) < 4 then quantityOnline = quantityOnline + 1 local playerReset = getPlayerStorageValue(pid, 54676) playerReset = (playerReset > 0) and playerReset or 0 doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, ""..getCreatureName(pid).." ["..getPlayerLevel(pid).."] - "..getPlayerVocationName(pid).." | Resets: "..playerReset.."")
  12. aqui funcionou de boa Só que tem um porém: o NPC só vai liberar a opção de "buy" se você tiver a mesma quantidade de gold na backpack em relação ao preço do item em moeda vip.
  13. Olá, pessoal! Acabei encontrando um script que tinha feito a um tempo atrás. Estou compartilhando aqui para quem quiser usar ou melhorar. É bem parecido com os outros sistemas de roleta, igual deste tópico: https://tibiaking.com/forums/topic/101557-action-cassino-roleta-de-items/ Como funciona? O "Treasure Chest" é um item custom, onde o jogador têm a possibilidade de ganhar itens raros ou bem meia boca. Tudo dependerá da sorte. O jogador precisa tacar o treasure chest na bancada e acionar a alavanca. O treasure chest irá se transformar em vários
  14. Você pode fazer algo do tipo: function calculaFimVip(storageValue) -- diferença em segundos local diferenca = storageValue - os.time() -- conversão em dias local diasRestantes = math.floor(diferenca / 86400) + 1 if diasRestantes >= 1 then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "voce ainda tem "..diasRestantes.." dia(s) de VIP") else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "seu VIP acabou") end end calculaFimVip(getPlayerStorageValue(cid, 55489))
  15. Olá! Fiz uma adaptação no evento "SafeZone" criado e disponibilizado aqui no TK por @Movie e @luanluciano93. Agora o evento é compatível para TFS 0.4. IMPORTANTE: Como mencionado anteriormente, o evento foi criado por "Movie" e "LuanLuciano93". Eu (imperius) APENAS ADAPTEI para funcionar em TFS 0.4. Todos os créditos do evento vão para os criadores originais. Além disso, é importante alertar que esta adaptação não está 100%. Abaixo está todo o processo explicando como configurar e rodar o evento em seu servidor! Vídeo demonstrativ
  16. Olá! Estou disponibilizando um NPC que desenvolvi. Porém, devo avisar que só testei em TFS 0.4, e não posso garantir que funcionará em outras versões. Sobre: O NPC em questão é o "Gênio da Lâmpada". Para chegar até ele, o jogador precisa ter a "Lâmpada Mágica", que pode ser adquirida através de uma quest ou em algum evento do servidor, por exemplo. A lâmpada pode ser usada apenas uma vez e, mesmo que o jogador obtenha outra lâmpada, não poderá usá-la novamente. Ao usar a Lâmpada, o jogador será teleportado para a sala do Gênio. Lá, ele não poderá sair até re
  17. qual versão? Testei apenas em tfs 0.4 Veja se isso resolve o problema. Acesse o banco de dados do seu servidor e procure na tabela "accounts" pelo nome da coluna que corresponde aos pontos. Depois, altere a query do arquivo coin.lua para que fique de acordo com o nome exato da coluna dos pontos encontrada na tabela. query("UPDATE accounts SET NOME_DA_COLUNA_DOS_PONTOS = NOME_DA_COLUNA_DOS_PONTOS + 1 WHERE id = '"..pid.."' LIMIT 1")
  18. data > actions > actions.xml <!-- adicione a ID do item --> <action itemid="xxxx" script="coin.lua" /> data > actions > scripts > coin.lua function onUse(cid, item) local itemName = getItemNameById(item.itemid) local pid = getPlayerGUID(cid) local query = db.query or db.executeQuery query("UPDATE accounts SET premium_points = premium_points + 1 WHERE id = '"..pid.."' LIMIT 1") doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "voce usou 1 "..itemName.." e ganhou 1 premium points") doSendMagicEffect(getCreatureP
  19. Outfit animado: http://outfit-images.ots.me/animatedOutfits1090/animoutfit.php?id=128&amp;addons=0&amp;head=115&amp;body=69&amp;legs=18&amp;feet=95 Outfit estático: http://outfit-images.ots.me/outfit.php?id=128&amp;addons=0&amp;head=0&amp;body=0&amp;legs=0&amp;feet=0 Só adicionar na tag img, (editando as propriedades, id, addons, head, body, etc..) exemplo: <img src="http://outfit-images.ots.me/animatedOutfits1090/animoutfit.php?id=128&amp;addons=0&amp;head=115&amp;body=69&amp;le
  20. data > creaturescripts > creaturescripts.xml: <event type="kill" name="killMonster" script="killMonster.lua"/> creaturescripts > scripts > killMonster.lua: Contabilizar a morte do monstro para todos os jogadores. Ex: se um jogador matar 7 wolfs e algum outro jogador matar 3 O boss vai aparecer. Contabilizar de forma individual ex: o jogador precisará matar os 10 para nascer o boss. creaturescripts > scripts > login.lua > adicione isso antes do último return true:
  21. (não tenho certeza se vai funcionar), mas tente reinstalar o RME. Depois quando abrir normalmente, desative a opção "Check file signatures" que você encontra em File > Preferences > Client Version > desmarque a opção, clique em "Apply" e dps em "Ok". Agora, se o problema acontece quando você tenta abrir algum mapa em específico, tente ao em vez de abrir, importa-lo.
  22. Compartilhe o arquivo "goback.lua" que está em data > actions > scripts. Compartilhe também o arquivo "some functions.lua" em data > lib.
  23. Abra o banco de dados "baiak2" e executa isso no SQL: CREATE TABLE `top_mining` ( `id` int(11) NOT NULL, `player_id` int(11) DEFAULT NULL, `lvl` int(11) DEFAULT NULL, `exp` int(11) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; ALTER TABLE `top_mining` ADD PRIMARY KEY (`id`), MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;
  24. Tipo isso? em data > actions > actions.xml: <!-- Baú Recompensa --> <action uniqueid="6600" script="bauRecompensa.lua" /> actions > scripts> bauRecompensa.lua: function onUse(cid, item, fromPosition, itemEx, toPosition) local storage = 555000 local cooldown = 7 -- tempo em (dias). local recompensasID = {12624, 12625, 12626} local randomRecompensa = recompensasID[math.random(1, #recompensasID)] -- function de tempo by FeeTads. local function getTimeString(self) local format = { {'dia', self / 60 / 6
  25. faltou adicionar o getCreatureByName() veja se agora funciona: local id = 7307 -- ItemId da Estatua local intervalo = 5 -- Tempo em segundos para estatua voltar local npc = "defender" -- Nome do monsto a ser sumonado function onUse(cid, item, fromPosition, itemEx, toPosition) doRemoveItem(item.uid, 1) doCreateNpc(npc, toPosition) addEvent(function() doCreateItem(id, 1, toPosition) doSendMagicEffect(toPosition, 43) doRemoveCreature(getCreatureByName(npc), toPosition) end, intervalo * 1000) return true end
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo