Ir para conteúdo

GamerGoiano

Membro
  • Registro em

  • Última visita

  1. Lion reagiu a uma resposta no tópico: TFS 04 860 (BASE TIBIA GTA QUILANTE)
  2. Esse servidor usa varios recursos aleatórios aqui do forum, módulo healthbar do gengo e varios outros Só editou o visual do servidor Não recomendo usar como base pois pode ter comandos de dar GOD/GM e Items na source Mas parabéns pelo trabalho!
  3. carloos reagiu a uma resposta no tópico: erro nas criaturas
  4. Dica: Linux mais Barato Servidor no EUA é mais barato que no BR, e os players não ficam tão lagados
  5. @gprada A maioria das provesoras de hoje em dia, não possuem portas liberadas, tem que ligar no provedor Só configurando o roteador não resolve
  6. Edita o console.lua Função de: desativar/ativar o chat com o CTRL F em um botão: function hotkeyToggleChat() consoleToggleChat:setChecked(not consoleToggleChat:isChecked()) if consoleToggleChat:isChecked() then disableChat() else enableChat() end end Ai no começo na onde ta os outros atalhos, coloca esse: g_keyboard.bindKeyPress('CTRL+F', hotkeyToggleChat)
  7. Estou afim de fazer um poketibia do 0 (sem pegar nada de PDA / DXP) Tenho conhecimento mediano em C++, C#, Lua e PHP Não sei qual versão vou fazer ainda, será discutido com a equipe Em pauta: TFS 1.4 10.98 / 1.5 8.60 No momento preciso de alguém que me ajude com adição de itens de poketibia no tibia cru para fazer e ficar testando os sistemas. Envie os seguintes dados: Nome: Idade: Contato (Discord ou Whatsapp): Experiência: (Fale sobre algum conhecimento que voce tem)
  8. DigoleraZica reagiu a uma resposta no tópico: [AJUDA] Potion Exp
  9. Opção 1: local function getPlayerData(guid) if not expPotions.playerData[guid] then expPotions.playerData[guid] = {} for itemId in pairs(potions) do expPotions.playerData[guid][itemId] = {rate = 0, duration = 0} end end return expPotions.playerData[guid] end function expPotions:onUse(cid, item, fromPosition, itemEx, toPosition) local itemId = item.itemid local potion = potions[itemId] if not potion then return false end if getPlayerLevel(cid) < potion.needLevel then doPlayerSendCancel(cid, ('Você precisa ser level %d+ para usar esta potion.'):format(potion.needLevel)) return true end local guid = getPlayerGUID(cid) local playerData = getPlayerData(guid) local expData = playerData[itemId] local now = os.time() if expData.duration > now then doCreatureSay(cid, 'Aguarde o bônus atual acabar para usar novamente.', TALKTYPE_ORANGE_1, false, cid) return true end expData.rate = expData.rate + potion.rate expData.duration = potion.duration + now doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_GREEN) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, ('Agora você tem +%d%% de experiência por %s.'):format( potion.rate * 100, string.diff(potion.duration, true) )) doRemoveItem(item.uid, 1) return true end function expPotions:onLogin(cid) local guid = getPlayerGUID(cid) getPlayerData(guid) return true end Opção 2: local function getPlayerData(guid) if not expPotions.playerData[guid] then expPotions.playerData[guid] = {} for itemId in pairs(potions) do expPotions.playerData[guid][itemId] = {rate = 0, duration = 0} end end return expPotions.playerData[guid] end function expPotions:onUse(cid, item, fromPosition, itemEx, toPosition) local itemId = item.itemid local potion = potions[itemId] if not potion then return false end if getPlayerLevel(cid) < potion.needLevel then doPlayerSendCancel(cid, ('Você precisa ser level %d+ para usar esta potion.'):format(potion.needLevel)) return true end local guid = getPlayerGUID(cid) local playerData = getPlayerData(guid) local expData = playerData[itemId] local now = os.time() if expData.duration > now then doCreatureSay(cid, 'Aguarde o bônus atual acabar para usar novamente.', TALKTYPE_ORANGE_1, false, cid) return true end expData.rate = expData.rate + potion.rate expData.duration = potion.duration + now doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_GREEN) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, ('Agora você tem +%d%% de experiência por %s.'):format( potion.rate * 100, string.diff(potion.duration, true) )) doRemoveItem(item.uid, 1) -- Salvar as informações na storage Game.setStorageValue(cid, 'expPotion_' .. itemId .. '_rate', expData.rate) Game.setStorageValue(cid, 'expPotion_' .. itemId .. '_duration', expData.duration) return true end function expPotions:onLogin(cid) local guid = getPlayerGUID(cid) local playerData = getPlayerData(guid) -- Restaurar as informações da storage for itemId in pairs(potions) do local rate = Game.getStorageValue(cid, 'expPotion_' .. itemId .. '_rate') local duration = Game.getStorageValue(cid, 'expPotion_' .. itemId .. '_duration') if rate ~= nil and duration ~= nil then playerData[itemId].rate = rate playerData[itemId].duration = duration end end return true end function expPotions:onDeath(cid, corpse, killer) -- Limpar as informações das poções ativas ao morrer local guid = getPlayerGUID(cid) local playerData = getPlayerData(guid) for itemId in pairs(potions) do playerData[itemId].rate = 0 playerData[itemId].duration = 0 Game.setStorageValue(cid, 'expPotion_' .. itemId .. '_rate', nil) Game.setStorageValue(cid, 'expPotion_' .. itemId .. '_duration', nil) end return true end function expPotions:onSay(cid, words, param) local str = 'Experience Potion Combos:\n' local playerData = self.playerData[getPlayerGUID(cid)] if playerData then for itemId, expData in pairs(playerData) do str = str .. ('\n%s - %d%%'):format(getItemInfo(itemId).name, expData.rate * 100) end end doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, str) return true end function expPotions:getCombo(cid) local playerData = self.playerData[getPlayerGUID(cid)] local potionsCombo = 1 if playerData then for itemId, expData in pairs(playerData) do potionsCombo = potionsCombo + expData.rate end end return potionsCombo end function expPotions:onLook(cid, thing, position, lookDistance) if not isPlayer(thing) then return false end local combo = self:getCombo(thing) if combo > 1 then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, ('Combo de Experiência: +%d%%'):format((combo - 1) * 100)) end return false end function expPotions:onLogin(cid) local guid = getPlayerGUID(cid) self.playerData[guid] = {} for itemId in pairs(potions) do self.playerData[guid][itemId] = {rate = 0, duration = 0} end return true end function expPotions:onLogout(cid) local guid = getPlayerGUID(cid) self.playerData[guid] = nil return true end function expPotions:onDeath(cid, corpse, killer) local guid = getPlayerGUID(cid) self.playerData[guid] = nil return true end
  10. De qual TFS pra qual TFS?
  11. Furyons começou a seguir GamerGoiano
  12. actions.xml <action uniqueid="12001" event="script" value="outfits.lua"/> -- Hunter outfits.lua function onUse(cid, item, frompos, item2, topos) if item.uid == 12001 then if getPlayerStorageValue(cid, 12010) == -1 then doPlayerSendTextMessage(cid, 21, "You now have the Hunter Outfit!") doPlayerAddOutfitId(cid, 2, 3) setPlayerStorageValue(cid, 12010, 1) doSendMagicEffect(getCreaturePosition(cid), math.random(1, 67)) else doPlayerSendTextMessage(cid, 25, "You Already have the Hunter Outfit.") end end end
  13. E ta registrado no xml ?
  14. Ve se ta funcionando esse código abaixo: function onRemoveItem(creature, item, tile, fromPosition, toPosition) local itemid = item.itemid if itemid >= 1 and itemid <= 30000 then Game.sendAnimatedText(creature:getPosition(), getItemName(itemid), TEXTCOLOR_ORANGE) end end
  15. TEsta ai @Felippe Reine014 local condition = Condition(CONDITION_OUTFIT) condition:setOutfit({lookType=138}) condition:setTicks(-1) function onStepIn(creature, item, position, fromPosition) if not creature:isPlayer() then return false end local prevOutfit = creature:getOutfit() creature:addCondition(condition) local newOutfit = {lookType=138, addons=prevOutfit.addons} creature:setOutfit(newOutfit) return true end function onStepOut(creature, item, position, fromPosition) if not creature:isPlayer() then return false end creature:removeCondition(CONDITION_OUTFIT) local prevOutfit = creature:getOutfit() prevOutfit.lookType=prevOutfit.lookType creature:setOutfit(prevOutfit) return true end
  16. Voce tentou colocar cooldown nas pokebolas, pra evitar esse erro? acho que com o código que te passei ja resolve, pois só vai conseguir usar a pokebola denovo em 3 segundos local cooldown = 3 -- tempo em segundos de exaustão local exhaust = exhaustion.get(cid, 6666) or 0 -- obtém a exaustão atual do jogador if exhaust + cooldown > os.time() then -- se o jogador ainda estiver exausto doPlayerSendCancel(cid, "You must wait "..cooldown.." seconds before using this item again.") -- exibe a mensagem de espera return true -- interrompe a execução da função end exhaustion.set(cid, 6666, os.time() + cooldown) -- define a nova exaustão do jogador
  17. Gryffindori começou a seguir GamerGoiano
  18. Me manda seu some functions.lua @S H I O N Sabe me dizer o que acontece, o que voce tenta fazer que da o erro luagetcreaturehealth creature not found ?
  19. @Muvuka posta aqui o código do script do seu npc se voce modificou e do arquivo .lua que ta ocasionando esse erro
  20. Mande o seu código completo para eu ver como ficou

Informação Importante

Confirmação de Termo