Ir para conteúdo

Furabio

Conde
  • Total de itens

    962
  • Registro em

  • Última visita

  • Dias Ganhos

    10

Tudo que Furabio postou

  1. Muito bom o servidor, estarei baixando pra conferir.
  2. Furabio

    Patrocino

    Não entendi sua pergunta, estarei movendo seu tópico por se encontrar em área errada.
  3. And from her fresh and unpolluted flesh May violets spring!
  4. Não tem cor branca ... não existe a função "Texto Animado" nas versões superiores a 8.6 logo escolher cor é limitado usando a função creature:say..
  5. Conte-nos como resolveu. Tópico movido para a seção de dúvidas e pedidos resolvidos.
  6. Adaptei o primeiro dps faço os outros : local frases = {"AUSENTE!", "VOLTO JA!", "JA VOLTO!"} -- Auto-Mensagens. local tempo = 1 -- Intervalo de Tempo em segundos. local say = {} function Player.autoMe(self, pid, pos) player = Player(self) npos = player:getTile() if npos == pos and say[pid] ~= nil then player:say(frases[math.random(#frases)], TALKTYPE_MONSTER_SAY) addEvent(function() player:autoMe(pid, pos) end, tempo*1000) else say[pid] = nil player:sendCancelMessage("Você já está com o Ausente ativado, saia do piso onde ativou e aguarde desativar.") end end function onSay(player, words, param) local player = Player(player) local pid = player:getGuid() local pos = player:getTile() if say[pid] == nil then table.insert(say, pid, pid) player:autoMe(pid, pos) else say[pid] = nil player:sendCancelMessage("Ausente desativado.") end return false end
  7. Tópico movido para a seção de dúvidas e pedidos resolvidos.
  8. Sempre deixe a dúvida, e se resolveu consigo a solução, pois assim você pode ajudar outros membros. Resolvido, fechado e movido para pedidos e duvidas resolvidos.
  9. Tópico movido para a seção de dúvidas e pedidos resolvidos.
  10. ^ não sei te dizer como fazer isso, recomendo que crie um outro tópico colocando essa dúvida e colocando parte da dúvida no título.
  11. Tu teria que fazer o uso dessa função : https://otland.net/threads/creatureevent-onmoveitem-cid-item-count-tocontainer-fromcontainer.185781/
  12. Tópico movido para a seção de dúvidas e pedidos resolvidos.
  13. Testei aqui e funcionando 100% : local arena = { frompos = {x = 137, y = 380, z = 7}, topos = {x = 154, y = 403, z = 7}, } function isInRange(pos, fromPos, toPos) return pos.x >= fromPos.x and pos.y >= fromPos.y and pos.z >= fromPos.z and pos.x <= toPos.x and pos.y <= toPos.y and pos.z <= toPos.z end function onPrepareDeath(player, killer, mostDamageKiller) if player:isPlayer() and killer:isMonster() then local ppos = player:getPosition() if isInRange(ppos, arena.frompos, arena.topos) then player:teleportTo(player:getTown():getTemplePosition()) player:addHealth(player:getMaxHealth()) player:addMana(player:getMaxMana()) player:sendTextMessage(MESSAGE_EVENT_ADVANCE, 'You were killed by '.. killer:getName() ..'.') end end return true end function onLogin(player) player:registerEvent("MArena") return true end <event type="preparedeath" name="MArena" script="arquivo.lua"/> <event type="login" name="verf_MArena" script="arquivo.lua"/>
  14. Tente usar assim : function onPrepareDeath(player, creature, lastHitKiller, mostDamageKiller) if player:isPlayer() and creature:isMonster() then local ppos = player:getPosition() if isInRange(ppos, arena.frompos, arena.topos) then local maxhp = player:getMaxHealth() player:addHealth(maxhp) addEvent(doCreatureAddHealth, 100, player:getId(), maxhp) player:teleportTo(arena.exitpos) end end return true end
  15. Teste : local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local xmsg = {} 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 storage = 62003 local monsters = { ["Dragons"] = {storage = 5010, mstorage = 19000, amount = 10, exp = 5000, mount = 10}, ["Dragon Lords"] = {storage = 5011, mstorage = 19001, amount = 10, exp = 10000, mount = 20}, ["Hydras"] = {storage = 5012, mstorage = 19002, amount = 10, exp = 18000, mount = 30}, ["Demons"] = {storage = 5013, mstorage = 19003, amount = 10, exp = 20000, mount = 40} } local function Cptl(f, r) return f:upper()..r:lower() end function creatureSayCallback(cid, type, msg) local player, cmsg = Player(cid), msg:gsub("(%a)([%w_']*)", Cptl) if not npcHandler:isFocused(cid) then if msg == "hi" or msg == "hello" then npcHandler:addFocus(cid) if player:getStorageValue(storage) == -1 then local text, n = "", 0 for k, x in pairs(monsters) do if player:getStorageValue(x.mstorage) < x.amount then n = n + 1 text = text .. ", " text = text .. ""..x.amount.." {"..k.."}" end end if n > 1 then npcHandler:say("I have several tasks for you to kill monsters"..text..", which one do you choose? I can also show you a {list} with rewards and you can {stop} a task if you want.", cid) npcHandler.topic[cid] = 1 xmsg[cid] = msg elseif n == 1 then npcHandler:say("I have one last task for you"..text..".", cid) npcHandler.topic[cid] = 1 else npcHandler:say("You already did all tasks, I have nothing for you to do anymore, good job though.", cid) end elseif player:getStorageValue(storage) == 1 then for k, x in pairs(monsters) do if player:getStorageValue(x.storage) == 1 then npcHandler:say("Did you kill "..x.amount.." "..k.."?", cid) npcHandler.topic[cid] = 2 xmsg[cid] = k end end end else return false end elseif monsters[cmsg] and npcHandler.topic[cid] == 1 then if player:getStorageValue(monsters[cmsg].storage) == -1 then npcHandler:say("Good luck, come back when you killed "..monsters[cmsg].amount.." "..cmsg..".", cid) player:setStorageValue(storage, 1) player:setStorageValue(monsters[cmsg].storage, 1) else npcHandler:say("You already did the "..cmsg.." mission.", cid) end npcHandler.topic[cid] = 0 elseif msgcontains(msg, "yes") and npcHandler.topic[cid] == 2 then local x = monsters[xmsg[cid]] if player:getStorageValue(x.mstorage) >= x.amount then npcHandler:say("Good job, here is your reward, ".. x.mount..".", cid) player:addMount(x.mount) player:addExperience(x.exp) player:setStorageValue(x.storage, 2) player:setStorageValue(storage, -1) npcHandler.topic[cid] = 3 else npcHandler:say("You didn't kill them all, you still need to kill "..x.amount -(player:getStorageValue(x.mstorage) + 1).." "..xmsg[cid]..".", cid) end elseif msgcontains(msg, "task") and npcHandler.topic[cid] == 3 then local text, n = "", 0 for k, x in pairs(monsters) do if player:getStorageValue(x.mstorage) < x.amount then n = n + 1 text = text .. (n == 1 and "" or ", ") text = text .. "{"..k.."}" end end if text ~= "" then npcHandler:say("Want to do another task? You can choose "..text..".", cid) npcHandler.topic[cid] = 1 else npcHandler:say("You already did all tasks.", cid) end elseif msgcontains(msg, "no") and npcHandler.topic[cid] == 1 then npcHandler:say("Ok then.", cid) npcHandler.topic[cid] = 0 elseif msgcontains(msg, "stop") then local text, n = "", 0 for k, x in pairs(monsters) do if player:getStorageValue(x.mstorage) < x.amount then n = n + 1 text = text .. (n == 1 and "" or ", ") text = text .. "{"..k.."}" if player:getStorageValue(x.storage) == 1 then player:setStorageValue(x.storage, -1) end end end if player:getStorageValue(storage) == 1 then npcHandler:say("Alright, let me know if you want to continue an other task, you can still choose "..text..".", cid) else npcHandler:say("You didn't start any new task yet, if you want to start one, you can choose "..text..".", cid) end player:setStorageValue(storage, -1) npcHandler.topic[cid] = 1 elseif msgcontains(msg, "list") then local text = "Tasks\n\n" for k, x in pairs(monsters) do if player:getStorageValue(x.mstorage) < x.amount then text = text ..k .." ["..(player:getStorageValue(x.mstorage) + 1).."/"..x.amount.."]:\n Rewards:\n ".. x.mount .."\n "..x.exp.." experience \n\n" else text = text .. k .." [DONE]\n" end end player:showTextDialog(1949, "" .. text) npcHandler:say("Here you are.", cid) elseif msgcontains(msg, "bye") then npcHandler:say("Bye.", cid) npcHandler:releaseFocus(cid) else npcHandler:say("What?", cid) end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) a identação ficou bem bugada por causa que usei o ident automático no script sem identação... em : ["Dragons"] = {storage = 5010, mstorage = 19000, amount = 10, exp = 5000, mount = 10}, mount = ID DA MOUNT
  16. Você quer que ele ganhe o item e a mount, ou só a mount ?
  17. Furabio

    Look

    Sempre deixe a dúvida no tópico e se resolveu coloque a resposta também, ajuda todos vocês querem, mas ajudar que é bom nada ZzZzZzZ Tópico movido para a seção de dúvidas e pedidos resolvidos.
  18. Furabio

    erro duplicate

    Tópico movido para a seção de dúvidas e pedidos resolvidos.
  19. Tópico movido para a seção de dúvidas e pedidos resolvidos.
  20. data/talkactions/script/mute.lua TFS 1.1 : function onSay(cid, words, param) local CHANNEL_HELP = 7 local player = Player(cid) local storage = 456112 if words == "/mute" then local mute = param:split(",") if mute[1] == nil or mute[1] == " " then player:sendCancelMessage("Invalid player specified.") return false end if mute[2] == nil or mute[2] == " " then player:sendCancelMessage("Invalid time specified.") return false end local target = Player(mute[1]) local time = tonumber(mute[2]) local condition = Condition(CONDITION_CHANNELMUTEDTICKS, CONDITIONID_DEFAULT) condition:setParameter(CONDITION_PARAM_SUBID, CHANNEL_HELP) condition:setParameter(CONDITION_PARAM_TICKS, time*60*1000) if player:getAccountType() < ACCOUNT_TYPE_TUTOR then return false end if target == nil then player:sendCancelMessage("A player with that name is not online.") return false end if target:getAccountType() >= ACCOUNT_TYPE_TUTOR then player:sendCancelMessage("Only player can be mutated") return false end target:addCondition(condition) sendChannelMessage(CHANNEL_HELP, TALKTYPE_CHANNEL_R1, target:getName() .. " has been muted by " .. player:getName() .. " for using Help Channel inappropriately.") target:setStorageValue(storage, 1) return false end if words == "/unmute" then local remove = Player(param) if player:getAccountType() < ACCOUNT_TYPE_TUTOR then return false end if remove == nil then player:sendCancelMessage("A player with that name is not online.") return false end if remove:getAccountType() >= ACCOUNT_TYPE_TUTOR then return false end if remove:getStorageValue(storage) == 1 then remove:removeCondition(CONDITION_CHANNELMUTEDTICKS, CONDITIONID_DEFAULT, CHANNEL_HELP) sendChannelMessage(CHANNEL_HELP, TALKTYPE_CHANNEL_R1, remove:getName() .. " has been unmuted by " .. player:getName() .. ".") remove:setStorageValue(storage, -1) else player:sendCancelMessage("A player " .. remove:getName() .. "is not mutated") end end return false end em talkactions.XML, adicione : <talkaction words="/mute" separator=" " script="mute.lua" /> <talkaction words="/unmute" separator=" " script="mute.lua" /> Modo de usar : /mute ScreaM, 1 /unmute ScreaM
  21. Furabio

    [Erro] Rme

    Tópico movido para a seção de dúvidas e pedidos resolvidos.
  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...