Ir para conteúdo

Wakon

Héroi
  • Registro em

  • Última visita

Tudo que Wakon postou

  1. Tópico aprovado, obrigado por compartilhar. Você recebeu um REP pela contribuição.
  2. Fiz um aqui pra você, espero que sirva, se der algum problema me avise. Em "Data/npc/scripts", copie e cole um arquivo.lua e renomeie para vocTravel.lua, apague tudo e cole: local cfg = { citys = { [1] = {pos = {x = 160, y = 43, z = 7}, name = "cidade1"}, [2] = {pos = {x = 160, y = 44, z = 7}, name = "cidade2"}, [3] = {pos = {x = 160, y = 45, z = 7}, name = "cidade3"}, [4] = {pos = {x = 160, y = 46, z = 7}, name = "cidade4"}, }, level = 10, keys = {'travel', 'viajar', 'sail', 'passage'} } local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} 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 function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local msg = msg:lower(); local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid local city = cfg.citys[getPlayerVocation(cid)] local vocName = getVocationInfo(getPlayerVocation(cid)).name if isInArray(cfg.keys, msg) then if getPlayerLevel(cid) >= cfg.level then if city then selfSay('Sua cidade principal sendo um '.. vocName ..' é a '.. city.name ..', deseja mesmo ir?', cid) talkState[talkUser] = 1 end else selfSay('Você ainda está muito fraco para viajar, volte aqui quando estiver level '.. cfg.level ..' ou mais.', cid) end elseif msgcontains(msg, 'yes') then if talkState[talkUser] == 1 then doTeleportThing(cid, city.pos) doSendMagicEffect(getPlayerPosition(cid), CONST_ME_TELEPORT) end elseif msgcontains(msg, 'no') then if talkState[talkUser] == 1 then selfSay('Tudo bem então, quando estiver interessado, venha falar comigo novamente.', cid) talkState[talkUser] = 0 end end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Em "Data/npc", copie e cole um arquivo.xml e renomeie para nomedonpc.xml, apague tudo e cole: <?xml version="1.0" encoding="UTF-8"?> <npc name="NOMEDONPC" script="vocTravel.lua" walkinterval="2000" floorchange="0"> <health now="100" max="100"/> <look type="128" head="17" body="54" legs="114" feet="0" addons="2"/> <parameters> <parameter key="message_greet" value="Olá |PLAYERNAME|! Deseja {viajar} para sua cidade principal?"/> </parameters> </npc> A configuração é o seguinte, em citys você coloca o ID da vocação entre [] e na frente você coloca a posição para onde essa vocação será levada e o nome da cidade desse vocação. Logo abaixo, tem o level necessário para passar e as mensagens para iniciar o diálogo de travel.
  3. Wakon postou uma resposta no tópico em Suporte & Pedidos
    Esta é uma mensagem automática, este tópico foi movido para a área correta. Regras do fórum: http://www.tibiaking.com/forum/topic/1281-regras-gerais/#comment-7680 Este tópico foi movido: De: Projetos / Formação de Equipes > OTServ > Projetos de OTServ Para: OTServ > Notícias e OTServ Geral
  4. Esta é uma mensagem automática, este tópico foi movido para a área correta. Regras do fórum: http://www.tibiaking.com/forum/topic/1281-regras-gerais/#comment-7680 Este tópico foi movido: De: Aprendizagem OTServ > OTServ > Começando seu Servidor Para: Suporte OTServ > OTServ > Suporte de OTServ Geral
  5. Tópico aprovado, obrigado por compartilhar. Você recebeu um REP pela contribuição.
  6. Wakon postou uma resposta no tópico em Suporte Tibia OTServer
    Esta é uma mensagem automática, este tópico foi movido para a área correta. Regras do fórum: http://www.tibiaking.com/forum/topic/1281-regras-gerais/#comment-7680 Este tópico foi movido: De: Scripting OTServ > OTServ > Geral Para: Suporte OTServ > OTServ > Suporte de Scripts
  7. Esta é uma mensagem automática, este tópico foi movido para a área correta. Regras do fórum: http://www.tibiaking.com/forum/topic/1281-regras-gerais/#comment-7680 Este tópico foi movido: De: Clients OTServ > OTServ > Download de Clients Para: Suporte OTServ > OTServ > Suporte de Clients
  8. Esta é uma mensagem automática, este tópico foi movido para a área correta. Regras do fórum: http://www.tibiaking.com/forum/topic/1281-regras-gerais/#comment-7680 Este tópico foi movido: De: Programação OTServ > OTServ > Códigos Prontos Para: Suporte OTServ > OTServ > Suporte de Programação
  9. Esta é uma mensagem automática, este tópico foi movido para a área correta. Regras do fórum: http://www.tibiaking.com/forum/topic/1281-regras-gerais/#comment-7680 Este tópico foi movido: De: Scripting OTServ > OTServ > Geral Para: Suporte OTServ > OTServ > Suporte de Scripts
  10. Esta é uma mensagem automática, este tópico foi movido para a área correta. Regras do fórum: http://www.tibiaking.com/forum/topic/1281-regras-gerais/#comment-7680 Este tópico foi movido: De: Scripting OTServ > OTServ > CreatureScripts, GlobalEvents e MoveMents Para: Suporte OTServ > OTServ > Suporte de Scripts
  11. Tópico aprovado, obrigado por compartilhar. Você recebeu um REP pela contribuição.
  12. Tópico aprovado, obrigado por compartilhar. Você recebeu um REP pela contribuição.
  13. É que eu coloquei o exemplo errado, você deve colocar true/false em letra minúscula. Adicionei a opção de Premium, troque pelo atual: local t = { remove = true, -- Remover o item ao usar? [true/false] copyAddons = true, -- Copiar addons ao usar? [true/false] storage = 34005, -- Não altere! exaust = 5, -- Delay para usar novamente em segundos. level = 70, -- Level mínimo para usar. notify = true, -- Avisar ao jogador alvo que ele teve sua outfit copiada? [true/false] premium = true -- Só jogadores premium podem utilizar o item? [true/false] } function onUse(cid, item, fromPos, itemEx, toPos) if not isPlayer(itemEx.uid) then return doPlayerSendCancel(cid, 'Você só pode usar em outros jogadores!') and doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF) elseif t.premium and not isPremium(cid) then return doPlayerSendCancel(cid, 'Você não é premium account.') and doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF) elseif getPlayerLevel(cid) < t.level then return doPlayerSendCancel(cid, 'Você precisa ser level '.. t.level ..' para copiar outfits.') elseif itemEx.uid == cid then return doPlayerSendCancel(cid, 'Você não pode usar em si mesmo.') and doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF) elseif getPlayerAccess(itemEx.uid) > 3 then return doPlayerSendCancel(cid, 'Você não pode copiar o outfit de membros da staff.') and doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF) end if getPlayerStorageValue(cid, t.storage) < os.time() then local o = getCreatureOutfit(itemEx.uid) if t.copyAddons then outfit = {lookType = o.lookType, lookHead = o.lookHead, lookBody = o.lookBody, lookLegs = o.lookLegs, lookFeet = o.lookFeet, lookAddons = o.lookAddons} else outfit = {lookType = o.lookType, lookHead = o.lookHead, lookBody = o.lookBody, lookLegs = o.lookLegs, lookFeet = o.lookFeet} end doCreatureChangeOutfit(cid, outfit) doSendMagicEffect(getPlayerPosition(cid), CONST_ME_FIREWORK_RED) doPlayerSendTextMessage(cid, 22, 'Você copiou o outfit do jogador '.. getPlayerName(itemEx.uid) ..'.') if t.notify then doPlayerSendTextMessage(itemEx.uid, 22, 'O jogador '.. getPlayerName(cid) ..' copiou seu outfit.') end setPlayerStorageValue(cid, t.storage, t.exaust + os.time()) else doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF) return doPlayerSendTextMessage(cid, 22, 'Aguarde '.. getPlayerStorageValue(cid, t.storage) - os.time() ..' segundo(s) para usar novamente!') end if t.remove then doRemoveItem(item.uid, 1) end return true end
  14. Ah, igual o sistema do quilante, com isso não posso lhe ajudar. Não tenho ideia de como foi feito esse sistema, perdão.
  15. Você tem que editar pelo map editor... Você pode baixar ele no site oficial: http://remeresmapeditor.com/marklar.php Assim que você abrir, ele irá pedir o cliente da versão desejada, você seleciona a pasta do cliente e confirma. Depois ele irá gerar um mapa, você clica em File>Open... e vá em "SeuOT/Data/World" e seleciona seu mapa. Ai é só editar e salvar. Acho que deu pra entender, se você tiver algum problema durante o processo, me avise.
  16. Criei um aqui pra você com várias opções, se der algum problema, avise. Em "Data/actions/scripts", copie e cole um arquivo.lua e renomeie para copyOutfit.lua, apague tudo e cole: local t = { remove = true, -- Remover o item ao usar? [True/False] copyAddons = true, -- Copiar addons ao usar? [True/False] storage = 34005, -- Não altere! exaust = 5, -- Delay para usar novamente em segundos. level = 70, -- Level mínimo para usar. notify = true -- Avisar ao jogador alvo que ele teve sua outfit copiada? } function onUse(cid, item, fromPos, itemEx, toPos) if not isPlayer(itemEx.uid) then return doPlayerSendCancel(cid, 'Você só pode usar em outros jogadores!') and doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF) elseif getPlayerLevel(cid) < t.level then return doPlayerSendCancel(cid, 'Você precisa ser level '.. t.level ..' para copiar outfits.') elseif itemEx.uid == cid then return doPlayerSendCancel(cid, 'Você não pode usar em si mesmo.') and doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF) elseif getPlayerAccess(itemEx.uid) > 3 then return doPlayerSendCancel(cid, 'Você não pode copiar o outfit de membros da staff.') and doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF) end if getPlayerStorageValue(cid, t.storage) < os.time() then local o = getCreatureOutfit(itemEx.uid) if t.copyAddons then outfit = {lookType = o.lookType, lookHead = o.lookHead, lookBody = o.lookBody, lookLegs = o.lookLegs, lookFeet = o.lookFeet, lookAddons = o.lookAddons} else outfit = {lookType = o.lookType, lookHead = o.lookHead, lookBody = o.lookBody, lookLegs = o.lookLegs, lookFeet = o.lookFeet} end doCreatureChangeOutfit(cid, outfit) doSendMagicEffect(getPlayerPosition(cid), CONST_ME_FIREWORK_RED) doPlayerSendTextMessage(cid, 22, 'Você copiou o outfit do jogador '.. getPlayerName(itemEx.uid) ..'.') if t.notify then doPlayerSendTextMessage(itemEx.uid, 22, 'O jogador '.. getPlayerName(cid) ..' copiou seu outfit.') end setPlayerStorageValue(cid, t.storage, t.exaust + os.time()) else doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF) return doPlayerSendTextMessage(cid, 22, 'Aguarde '.. getPlayerStorageValue(cid, t.storage) - os.time() ..' segundo(s) para usar novamente!') end if t.remove then doRemoveItem(item.uid, 1) end return true end Em "Data/actions", abra o arquivo actions.xml e adicione: <action itemid="XXXX" script="copyOutfit.lua"/> Em XXXX coloque o ID do item desejado.
  17. Esta é uma mensagem automática, este tópico foi movido para a área correta. Regras do fórum: http://www.tibiaking.com/forum/topic/1281-regras-gerais/#comment-7680 Este tópico foi movido: De: Downloads de Mapas > Mapping OTServ > OTServ > Mapas 9.x - 10.x Para: Suporte OTServ > OTServ > Suporte de OTServ Geral
  18. Wakon postou uma resposta no tópico em OTServer Derivados
    Tópico aprovado, obrigado por compartilhar. Você recebeu um REP pela contribuição.
  19. Wakon postou uma resposta no tópico em Suporte Tibia OTServer
    Esta é uma mensagem automática, este tópico foi movido para a área correta. Regras do fórum: http://www.tibiaking.com/forum/topic/1281-regras-gerais/#comment-7680 Este tópico foi movido: De: Scripting OTServ > OTServ > Actions e TalkActions Para: Suporte OTServ > OTServ > Suporte de Scripts
  20. Esta é uma mensagem automática, este tópico foi movido para a área correta. Regras do fórum: http://www.tibiaking.com/forum/topic/1281-regras-gerais/#comment-7680 Este tópico foi movido: De: Scripting OTServ > OTServ > Actions e TalkActions Para: Suporte OTServ > OTServ > Suporte de Scripts
  21. Esta é uma mensagem automática, este tópico foi movido para a área correta. Regras do fórum: http://www.tibiaking.com/forum/topic/1281-regras-gerais/#comment-7680 Este tópico foi movido: De: Scripting OTServ > OTServ > Actions e TalkActions Para: Suporte OTServ > OTServ > Suporte de OTServ Geral
  22. Tópico aprovado, obrigado por compartilhar. Você recebeu um REP pela contribuição.
  23. Wakon postou uma resposta no tópico em OTServer Derivados
    Adicione o scan dos arquivos, você pode fazer o scan em: https://www.virustotal.com/
  24. Esta é uma mensagem automática, este tópico foi movido para a área correta. Regras do fórum: http://www.tibiaking.com/forum/topic/1281-regras-gerais/#comment-7680 Este tópico foi movido: De: Scripting OTServ > OTServ > Actions e TalkActions Para: Suporte OTServ > OTServ > Suporte de Scripts
  25. Esta é uma mensagem automática, este tópico foi movido para a área correta. Regras do fórum: http://www.tibiaking.com/forum/topic/1281-regras-gerais/#comment-7680 Este tópico foi movido: De: Scripting OTServ > OTServ > Geral Para: Suporte OTServ > OTServ > Suporte de OTServ Geral

Informação Importante

Confirmação de Termo