Ir para conteúdo
Close

Pesquisar na Comunidade

Mostrando resultados para as tags ''Action''.



Mais opções de pesquisa

  • Pesquisar por Tags

    Digite tags separadas por vírgulas
  • Pesquisar por Autor

Tipo de Conteúdo


Fóruns

  • Comunidade
    • Regras
    • Portal
    • Recursos
    • Comércio
    • Clubes
  • OTServers
    • Discussão
    • Suporte
    • Tutorial
    • Download
    • Desenvolvimento de Códigos
    • Concursos e Eventos
    • Formação de Equipe
    • Anuncie seu Servidor
  • Tibia Bots
    • Discussão
  • League of Legends's Geral
  • League of Legends's Suporte
  • Jogos Gerais's Geral
  • Nto New Season's Tópicos
  • Fakes's Fakes
  • Tibia's Geral
  • Tibia's Notícias
  • Tibia's Media
  • Tibia's Life Thread
  • Gráficos's Geral
  • Gráficos's Tutoriais
  • Gráficos's Recursos
  • Gráficos's Aprendizagem & Recursos
  • Gráficos's Galeria
  • Gráficos's Duelos & Batalhas
  • Gráficos's Suporte
  • Desenvolvimento e Programação's Geral
  • Desenvolvimento e Programação's Tutoriais
  • Desenvolvimento e Programação's Trabalhos
  • Desenvolvimento e Programação's Suporte
  • Computação's Geral
  • Computação's Dicas e Tutoriais
  • Computação's Suporte
  • Roleplaying's Roleplaying
  • Playground's (Off-topic)
  • Divulgações's Tópicos

Calendários

  • Calendário Oficial
  • Calendário de OTServs
  • Calendários Diversos

Grupos de Produtos

  • Anúncios no Topo
  • Anúncios nas Assinaturas
  • Anúncios nos Tópicos
  • Outros Anúncios

Categorias

  • Seção de Vendas
    • Vendas de Scripts
    • Vendas de Códigos
    • Vendas de Mapas
    • Vendas de Websites
    • Vendas de Design/Sprites
    • Vendas de Bots
  • Procura-se Jobs
  • Procura-se Freelancers
  • Formação de Equipe

Encontrar resultados em...

Encontrar resultados que contenham...


Data de Criação

  • Início

    FIM


Data de Atualização

  • Início

    FIM


Filtrar pelo número de...

Data de Registro

  • Início

    FIM


Grupo


Localização


Meu personagem


OTServ favorito


Bot preferido


Interesses

Encontrado 114 registros

  1. E aí, Galera, esse é meu primeiro tópico aqui. Como está no título, estou mostrando um Script que eu editei de mudar a Skin(Outfit) ao dar use em algum item, Bom, vamos lá: 1º - Esse Código vocês vão no diretório: \data\actions\scripts e CRIEM um arquivo chamado skin.lua e em seguida cole este código dentro. 2º - Em seguida vocês adicionam essa Tag no arquivo do diretório: \data\actions\actions.xml IMPORTANTE!!! Os IDS que estão entre [ e ] no primeiro código são os ids dos itens que serão usados! No segundo código no qual os ids estão: 11256;11207;11144;9019 são os IDS dos itens do primeiro código! Algumas imagens abaixo:
  2. Salve galera bom eu achei um script de lenhar antigo fui atrás tentei editar deu fail então recebi ajuda de alguns membros e enfim consegui trazer isso para vocês para muitos pode ser um simples sistema de cortar arvore mas com ele da para usar a criatividade e usar para muitas outras coisas como por exemplo mina para minerar minérios/ arvores com frutos para colher e por ai vai. Bom o script faz o seguinte você usa o machado em uma arvore configurável e você fica com a roupa de lenhador corta a arvore fica o toco dela e depois de um tempo a arvore volta ao normal para ser cortada novamente e assim você ganha itens configuráveis. Membros que ajudaram no script @JoviM @lordzetros Criador do script original @PsyMcKenzie Corrigido por @Storm Testado na versão 0.3.6 / 8.54 Outfit de lenhador 8.54 V outfit obd 854_1248.obd = Homem outfit obd 854_1249.obd = Mulher 8.60 V outfit obd 860_1248.obd = Homem outfit obd 860_1249.obd = Mulher Action.xml <action itemid="ID DO MACHADO" event="script" value="NOME DO SCRIPT.lua"/> Script V Vídeo demonstrativo Espero que gostem do script
  3. Boa tarde galera TK, Estou precisando de ajuda em um script de "item de outfit" Seria um item "present" e ao abrir, você ganharia uma outfit selecionada, porém seria registrada e você a não perderia mesmo se trocasse, ou deslogasse o personagem, ou seja ficaria com a roupa para sempre, e também fosse possível trocar a cor da roupa do personagem, e após usar o item, ele sumiria. Agradeço muito pela atenção de todos!
  4. Fawkzz1

    Action BiKE

    Queria que a bike seja unique, então não pode joga-la no chao function onUse(cid, item, frompos, itemEx, topos) local bike = {lookType = 1781} --- LookType do player em cima da bike. homem local bike1 = {lookType = 1781} --- LookType do player em cima da bike. mulher local speed = 999 --- Velocidade que a bike terá. if getPlayerStorageValue(cid, 32001) == 1 then doRemoveCondition(cid, CONDITION_OUTFIT) doChangeSpeed(cid, -speed) doSendAnimatedText(getCreaturePosition(cid), 'Robo Off', 35) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_RED, 'Você desmontou do robo.') setPlayerStorageValue(cid, 32001, 0) else if getPlayerSex(cid) == 1 then -- homem doChangeSpeed(cid, speed) doSetCreatureOutfit(cid, bike, -1) doSendAnimatedText(getCreaturePosition(cid), 'Robo ON!', 32) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, 'Você montou no robo.') setPlayerStorageValue(cid, 32001, 1) elseif getPlayerSex(cid) == 0 then -- homem doChangeSpeed(cid, speed) doSetCreatureOutfit(cid, bike1, -1) doSendAnimatedText(getCreaturePosition(cid), 'Robo ON!', 32) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, 'Você montou no robo.') setPlayerStorageValue(cid, 32001, 1) end end return true end
  5. Olá pessoal, essa é a primeira versão do "Exercise Weapons", Sinta-se livre para sugerir modificações e ajudar a melhorá-lo! Caso você não tenha as sprites, pode usar outras, como a "Training Dummy" e outros items correspondentes. Crie o arquivo exercise_training.lua local skills = { [26397] = {id=SKILL_SWORD,voc=4}, [26398] = {id=SKILL_AXE,voc=4}, [26399] = {id=SKILL_CLUB,voc=4}, [26400] = {id=SKILL_DISTANCE,voc=3,range=CONST_ANI_SIMPLEARROW}, [26401] = {id=SKILL_MAGLEVEL,voc=2,range=CONST_ANI_ENERGY}, [26402] = {id=SKILL_MAGLEVEL,voc=1,range=CONST_ANI_FIRE}, } ------- CONFIG -----// local dummies = {26403,26404} local skill_gain = 1 -- per hit local gain_stamina = 60 local function start_train(pid,start_pos,itemid,fpos) local player = Player(pid) if player ~= nil then local pos_n = player:getPosition() if start_pos:getDistance(pos_n) == 0 and getTilePzInfo(pos_n) then if player:getItemCount(itemid) >= 1 then local exercise = player:getItemById(itemid,true) if exercise:isItem() then if exercise:hasAttribute(ITEM_ATTRIBUTE_CHARGES) then local charges_n = exercise:getAttribute(ITEM_ATTRIBUTE_CHARGES) if charges_n >= 1 then exercise:setAttribute(ITEM_ATTRIBUTE_CHARGES, (charges_n-1)) local required = 0 local currently = 0 local voc = player:getVocation() if skills[itemid].id == SKILL_MAGLEVEL then required = voc:getRequiredManaSpent(player:getBaseMagicLevel() + 1)/skill_gain currently = player:getManaSpent() player:addManaSpent(required - currently) else required = voc:getRequiredSkillTries(skills[itemid].id, player:getSkillLevel(skills[itemid].id)+1)/skill_gain currently = player:getSkillTries(skills[itemid].id) player:addSkillTries(skills[itemid].id, (required - currently)) end fpos:sendMagicEffect(CONST_ME_HITAREA) if skills[itemid].range then pos_n:sendDistanceEffect(fpos, skills[itemid].range) end player:setStamina(player:getStamina() + 60) if charges_n == 1 then exercise:remove(1) return true end local training = addEvent(start_train, voc:getAttackSpeed(), pid,start_pos,itemid,fpos) else exercise:remove(1) stopEvent(training) end end end end else stopEvent(training) end else stopEvent(training) end return true end function onUse(player, item, fromPosition, target, toPosition, isHotkey) local start_pos = player:getPosition() if target:isItem() then if isInArray(dummies,target:getId()) then if not skills[item.itemid].range and (start_pos:getDistance(target:getPosition()) > 1) then stopEvent(training) return false end if not player:getVocation():getId() == skills[item.itemid].voc or not player:getVocation():getId() == (skills[item.itemid].voc+4) then stopEvent(training) return false end player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "You started training.") start_train(player:getId(),start_pos,item.itemid,target:getPosition()) end end return true end Adicione essa linha em actions.xml <!-- Training --> <action fromid="26397" toid="26402" script="exercise_training.lua" allowfaruse="1"/> Em events.xml - Você vai alterar a parte (enable="0" para "1") <event class="Player" method="onTradeRequest" enabled="1" /> Em /events/scripts/player.luaAdicione essa linha no início do arquivo local exercise_ids = {26397,26398,26399,26400,26401,26402} - Agora vá até a função function PlayerMoveItem e adicione abaixo: -- Exercise Weapons if isInArray(exercise_ids,item.itemid) then self:sendCancelMessage('You cannot move this item outside this container.') return false end - Na função function PlayerOnTradeRequest adicione essa linha abaixo: if isInArray(exercise_ids,item.itemid) then return false end Espero que gostem e seja útil.
  6. Olá, Bom... teve um pedido no Discord da TK feito por algum usuário (não estou recordando o nome) que estava tendo dificuldades em fazer determinado script, então decidi fazê-lo. É algo simples, eu já tinha enviado lá no canal de suporte, porém, como já de conhecimento por muitos, o canal foi removido. Decidi refazer de uma forma melhor e mais prática. * Sobre o Script * Quando o jogador utilizar a alavanca para ganhar determinado(s) item(s), ele terá que ter deixado em POSIÇÕES DEFINIDAS alguns itens, sendo assim, possível efetuar a troca. Simples, não? Caso ainda não tenha entendido, tem imagem abaixo de como funciona o mesmo. * Imagens demonstração * Tentando efetuar a troca sem tá com os itens posicionados de forma correta... Efetuando a troca de forma correta. * Instalando o Script * Em data/actions/scripts/ crie um arquivo chamado alavanca_troca.lua e cole isto dentro: --[[ Lordzetros - TK ]] local config_itens = { {id = 2666, pos = {144,63,6}, count = 1}, -- ID DO ITEM NECESSÁRIO, POSIÇÃO QUE DEVE FICAR, QUANTIDADE DE ITEM NECESSÁRIO {id = 2667, pos = {145,63,6}, count = 1}, {id = 2671, pos = {146,63,6}, count = 1}, -- Caso queira colocar outro item, basta seguir esse modelo (ctrl + c) } local config_troca = { msg_falha = "Falha na troca do item. Necessario: %dx %s em sua devida posicao!", msg_sucesso = "A troca foi efetuada com sucesso!", recompensas = {{id = 2003, count = 1}, {id = 2004, count = 1}} -- Para deixar apenas uma recompensa, apenas deixe recompensas = {{id = ID_DO_ITEM_A_GANHAR, count = QUANTIDADE_A_GANHAR}} } function onUse(player, item, fromPosition, target, toPosition, isHotkey) local ax_t = {} for i, v in ipairs(config_itens) do local vt = Tile(Position(v.pos[1], v.pos[2], v.pos[3])) local item_t = vt:getItemById(v.id) if (not item_t or item_t:getCount() < v.count) then player:getPosition():sendMagicEffect(CONST_ME_POFF) player:sendTextMessage(36, config_troca.msg_falha:format(v.count, ItemType(v.id):getName())) return false end table.insert(ax_t, {item_t, v.count}) end for i, v in ipairs(ax_t) do v[1]:remove(v[2]) end for i, v in ipairs(config_troca.recompensas) do player:addItem(v.id, v.count) end player:sendTextMessage(36, config_troca.msg_sucesso) player:getPosition():sendMagicEffect(CONST_ME_FIREWORK_RED) return true end Em seguida, coloque esta linha de código abaixo de uma semelhante em data/actions/actions.xml <action actionid="30258" script="alavanca_troca.lua" /> Para finalizar, abre seu editor de mapa e coloque em algum alavanca o actionID = 30258 * Configurando o Script * Tá tudo comentado no código, portanto, vou falar só por cima. {id = 2666, pos = {144,63,6}, count = 1} Nesta parte, você deve colocar o id do item necessário, a posição que ele deve ficar e a quantidade. E nesta parte você configura a recompensa do jogador recompensas = {{id = 2003, count = 1}, {id = 2004, count = 1}} Id do item que ele ganhará e quantidade Enfim, script simples, porém, pode ser útil para muitos, assim como acredito que será para o usuário que solicitou, :). Abraços.
  7. Ha um tempo atrás eu procurei um Pet System bem simples pro meu servidor, e achei um muito bacana. TFS: 0.4 Tibia: 8.6 O sistema original foi postado pelo @Luquinha no tópico: O script funciona corretamente, eu fiz apenas algumas alterações e queria compartilhar caso vocês tenham as mesmas exigências que eu; * Ao tentar usar o PET em PZ não da mais erro na distro, sobe um efeito FAILED! no player e manda uma mensagem. * Agora cada PET precisa de um storage para ser usado, no meu caso, cada PET tem sua quest individual. O script modificado: function onUse(cid, item, frompos, item2, topos) local dolls = { [11256] = {pet = "Rat"}, [11207] = {pet = "Demon"}, [5791] = {pet = "Dragon"}, } local go = dolls[item.itemid] local summon = getCreatureSummons(cid) --------------------------------------------------- if not (getTilePzInfo(getCreaturePosition(cid))) then if #summon >= 1 then for _, pid in ipairs(summon) do doRemoveCreature(pid) doCreatureSay(cid, ""..go.pet..", Recuar!", TALKTYPE_ORANGE_1) end return true end if item.itemid == 5791 then if getPlayerStorageValue(cid, 6666) == 1 then doConvinceCreature(cid, doSummonCreature(go.pet, getCreaturePosition(cid))) doCreatureSay(cid, ""..go.pet..", GO!", TALKTYPE_ORANGE_1) else doPlayerSendTextMessage(cid, 19, "Voce precisa da quest para usar esse PET!") doSendAnimatedText(getPlayerPosition(cid), "Failed!", 180) end end if item.itemid == 11256 then if getPlayerStorageValue(cid, 4444) == 1 then doConvinceCreature(cid, doSummonCreature(go.pet, getCreaturePosition(cid))) doCreatureSay(cid, ""..go.pet..", GO!", TALKTYPE_ORANGE_1) else doPlayerSendTextMessage(cid, 19, "Voce precisa da quest para usar esse PET!") doSendAnimatedText(getPlayerPosition(cid), "Failed!", 180) end end if item.itemid == 11207 then if getPlayerStorageValue(cid, 4445) == 1 then doConvinceCreature(cid, doSummonCreature(go.pet, getCreaturePosition(cid))) doCreatureSay(cid, ""..go.pet..", GO!", TALKTYPE_ORANGE_1) else doPlayerSendTextMessage(cid, 19, "Voce precisa fazer a quest para usar esse PET!") doSendAnimatedText(getPlayerPosition(cid), "Failed!", 180) end end else doPlayerSendTextMessage(cid, 19, "Voce nao pode sumonar seu PET em Protect Zone!") doSendAnimatedText(getPlayerPosition(cid), "Failed!", 180) return true end end Creditos: @Luquinha @Roksas @Kemmlly
  8. Opa galera beleza? Eu estava aqui olhando outros fóruns e percebi que postaram esse sistema, porém os links estavam todos off Resolvi desenvolver o sistema pra vocês TFS usado: 1.2 (Não testado em versões anteriores) * Bom o sistema funciona basicamente assim: Ao clicar na alavanca, abrirá um Modal com todas as opções de compra na tela do jogador ! O jogador poderá selecionar entre a compra de 1x / 50x / 100x itens ! Adicionado venda só para player que possuírem ''Cap'' na bag. * Foto: Simples não? Então vamos ao que interessa ! Em data/actions/scripts Crie um arquivo com o nome de compra_modal.lua e coloque isso dentro : Em data/actions adicione a linha: Em data/creaturescripts/scripts Crie um arquivo com o nome de potions.lua e coloque isso dentro : Em data/creaturescripts/creaturescripts.xml adicione a linha: Créditos: EU (100% pelo script) Strutz (Pela ideia do sistema) Rep+ para me motivar Obs: Testem o Script antes da aprovação pois estou sem PC agora e a verificação de cap foi feita sem teste !
  9. Olá boa noite a todos, Estou desenvolvendo um Otserv, e preciso de ajuda com um código, procurei muito por ai mas infelizmente não encontrei, e não vejo mais onde conseguir ajuda. Eu preciso de um Script, que seja necessário: Level 120, 4 Vocações, 4 Itens para sacrifício, esteja com outfit de um "rato" e com a condição "bêbado" Exemplo: Gostaria de 4 itens em certas posições, e os players em certos sqms, com os itens de sacrifícios em certos sqms, você precisa estar com um outfit de "rato" e também com a condição "bebado", caso tudo isso esteja alinhado, e você puxa alavanca, será teleportado a uma nova coordenada. alguém poderia me ajudar com isso? estou disposto a pagar se necessário, agradeço atenção de todos.
  10. Salve guys, hoje pra galera do ATS voltada para NTO vou estar disponibilizando para vocês o famoso Edo Tensei. Atualmente os servidores existentes de NTO não contém esse sistema com uma certa qualidade, apenas gambiarras que se encontram disponível hoje em dia por ai. A script já tá feita a um tempo, infelizmente dava pra eu melhorar ela mais e corrigir umas coisinhas e optimizar ela melhor, porém atualmente estou desenvolvendo um novo edo tensei para meu servidor e que não será disponibilizado gratuitamente. Vamos ao que interessa, o gif a seguir irá mostrar como esse sistema funciona: Primeiramente, vá em actions > actions.XML e adicione as seguintes linhas: <!-- Edo Tensei by Sttorm --> <action itemid="2197" event="script" value="Capturar.lua"/> <action itemid="2193" event="script" value="Soltar.lua"/> Depois, em actions > scripts, crie um arquivo chamado Capturar.lua e cole o seguinte código dentro: Respectivamente, crie um outro arquivo chamado Soltar.lua e cole o seguinte código dentro: Explicando, para cada edo tensei deverá ser criado um monstro na pasta monsters com o respectivo nome, as demais explicações estão na própria script e no gif. As script não são as melhores, dá pra otimizar e melhorar em vários aspectos mas isso é o que posso disponibilizar atualmente hehe! Aproveitando, comecei a trabalhar de free-lancer esse ano(2019), trabalho principalmente com servidores derivados, estarei disponibilizando meu contato para vocês; Discord: Sttorm#8109 WhatsApp: (31) 97360-3962
  11. Opa galera beleza? Eu vi um cidadão aqui do forum pedindo, e para não reviver o tópico resolvi desenvolver 1 e postar @ADM Mayk on BaiakME Ta ai o script que tu pediu. Crie um arquivo com o nome de Bau_Diario.lua local config = { items = { [1] = {2160, 10}, [2] = {2159, 10} }, level = 100, tempo = 24*60*60, -- 24 horas stoTime = 31402 } function onUse(player, item, fromPosition, itemEx, toPosition) if player:getLevel() >= config.level then if player:getStorageValue(config.stoTime) - os.time() < 0 then player:setStorageValue(config.stoTime, os.time() + config.tempo) for _, table in pairs(config.items) do for i=1, #config.items do player:addItem(table[i]) end end else player:getStorageValue(config.stoTime, 0) player:sendTextMessage(MESSAGE_EVENT_ADVANCE, string.format("Wait: %s.", string.diff(player:getStorageValue(config.stoTime)-os.time()))) end else player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Voce nao tem level "..config.level..".") end end Adicione a TAG em actions.xml <action actionid="22164" script="Bau_Diario.lua"/> Créditos: Eu
  12. Primeiramente boa noite, segundamente rsrs desculpa se estou postando o conteúdo no local errado, mas gostaria da ajuda de vocês, estou abrindo um OT 7.4 com uma equipe, mas o mapa que tenho quando passo encima da "cadeira" da poi não aparece nenhuma mensagem.. gostaria de saber como fazer pra depois de ir em todas as salas poder entrar no tp da sala de recompensas
  13. Fala galera beleza ? hoje vim trazer a solução do "bug" da bike, que podia usar enquanto pescava, usava fly ou ride etc... bom em actions/scripts/bike.lua em actions/scripts/basic/order.lua em actions/scripts/basic/pesca.lua Créditos pela a grande ajuda : @Danxi
  14. * Sobre o Sistema da Quest * Para quem já assistiu Sword Art Oline vai ficar fácil de entender. Jogadores poderão fazer uma quest simples, porém, diferenciada. Funciona da seguinte forma: 1 - Jogador terá que possuir uma chave para abrir o caminho de uma sala misteriosa e aparentemente cheia de tesouros e recompensas dentro de um baú 2 - Abrindo a passagem, ele vai se deparar com um baú em sua espera, o interesse do ser humano é devastador, ele irá abrir sim! 3 - Ao tentar abrir o baú, monstros serão invocados e a passagem será imediatamente fechada 4 - De todos os monstros que serão invocados, terá um chefe que será responsável por permitir a saída dos jogadores para sala de recompensa e sair daquele lugar, APENAS matando ele, isso será possível 5 - Após a morte do chefe, TODOS players na sala da quest serão teleportados para a área de recompensa configurada no script. Obs.: A quest tá configurada para ser feita em X minutos para TODO servidor, ou seja, se uma guild fez a quest e você configurou para ela ser feita novamente em 10 minutos, então, nenhum outro player poderá fazer a quest nesse intervalo, pois a storage armazenada é a do servidor. * Instalação * VERSÃO TESTADA: 8.6 - TFS 0.4 Para agilizar o processo, deixei como anexo todos os arquivos necessários, devidamente separados e organizados, caso queira baixar, o ViruScan dele está logo abaixo. Em data/actions/scripts/ 1° - Crie um arquivo chamado keySAO.lua e cole o seguinte código dentro: --[[ Script - Lordzetros Tibiaking - Lordzetros ]]-- local config = { parede = {id = 9784, pos = {x = 959, y = 941, z = 6, stackpos = 1}}, -- ID da parede |||| POSIÇÃO que ela irá ser criada strPassagem = {storage = 22338, tempo = 1}, -- Storage que vai controlar o tempo de intervalo para a quest ||||| tempo em MINUTOS de intervalo para os players fazer a quest novamente tempoFechar = 1, -- MINUTOS para a passagem fechar, caso não entrem APÓS abrirem a passagem } function remover_parede(conf) local parede = getTileItemById(conf.parede.pos, conf.parede.id) if (parede) then doRemoveItem(parede.uid, 1) doSendMagicEffect(conf.parede.pos, 10) end return true end function adicionar_parede(conf) local parede = getThingFromPos(conf.parede.pos).itemid ~= conf.parede.id if (parede) then return doCreateItem(conf.parede.id, 1, conf.parede.pos) and doSendMagicEffect(conf.parede.pos, 11) end return true end function onUse(cid, item, fromPos, item2, toPos) if (item2.itemid == config.parede.id) then if (getGlobalStorageValue(config.strPassagem.storage) >= os.time()) then return doCreatureSay(cid, 'Precisa esperar ' .. config.strPassagem.tempo .. ' minuto para fazer a quest!', TALKTYPE_ORANGE_1) end doRemoveItem(item2.uid, 1) doSendMagicEffect(config.parede.pos, 10) doCreatureSay(cid, "A passagem foi aberta por "..getPlayerName(cid).."! Peguem a recompensa no bau, depressa!", TALKTYPE_ORANGE_1) doPlayerSendCancel(cid, "A passagem ira fechar em " ..config.tempoFechar.. " minuto!") addEvent(function() adicionar_parede(config) end, config.tempoFechar * 60 * 1000) doRemoveItem(item.uid, 1) end return true end Em seguida, crie outro arquivo no mesmo local com o nome de bauSAO.lua e cole o código dentro: --[[ Script - Lordzetros Tibiaking - Lordzetros ]] local mti = { [1] = {nome = 'Demon', pos = {x=955, y=935, z=6}}, -- [numero] = {nome = 'Nome Monstro', pos = 'POSICAO QUE IRÁ RESPAWNAR O MONSTRO'} [2] = {nome = 'Demon', pos = {x=955, y=936, z=6}}, [3] = {nome = 'Demon', pos = {x=955, y=937, z=6}}, [4] = {nome = 'Demon', pos = {x=955, y=938, z=6}}, [5] = {nome = 'Demon', pos = {x=955, y=939, z=6}}, [6] = {nome = 'Demon', pos = {x=955, y=940, z=6}}, [7] = {nome = 'Demon', pos = {x=964, y=935, z=6}}, [8] = {nome = 'Demon', pos = {x=964, y=936, z=6}}, [9] = {nome = 'Demon', pos = {x=964, y=937, z=6}}, [10] = {nome = 'Demon', pos = {x=964, y=938, z=6}}, [11] = {nome = 'Demon', pos = {x=964, y=939, z=6}}, [12] = {nome = 'Demon', pos = {x=964, y=940, z=6}}, [13] = {nome = 'Loki', pos = {x=959, y=940, z=6}}, } local config = { unique = 17458, -- uniqueID que vai colocar no BAÚ no seu EDITOR DE MAPA! parede = {id = 9784, pos = {x = 959, y = 941, z = 6, stackpos = 1}}, -- ID da parede |||| POSIÇÃO que ela irá ser criada strPassagem = {storage = 22338, tempo = 1}, -- Storage que vai controlar o tempo de intervalo para a quest ||||| tempo em MINUTOS de intervalo para os players fazer a quest novamente } function adicionar_parede(conf) local parede = getThingFromPos(conf.parede.pos).itemid ~= conf.parede.id if (parede) then return doCreateItem(conf.parede.id, 1, conf.parede.pos) and doSendMagicEffect(conf.parede.pos, 11) end return true end function onUse(cid, item, fromPos, item2, toPos) if (item.uid == config.unique) then if (getGlobalStorageValue(config.strPassagem.storage) >= os.time()) then return doCreatureSay(cid, 'Precisa esperar ' .. config.strPassagem.tempo .. ' minuto para fazer a quest!', TALKTYPE_ORANGE_1) end doCreatureSay(cid, "Argh!! Sala com armadilha.", TALKTYPE_ORANGE_1) adicionar_parede(config) for _, cf in pairs(mti) do doSummonCreature(cf.nome, cf.pos) end setGlobalStorageValue(config.strPassagem.storage, os.time() + config.strPassagem.tempo * 60) end return true end Adicione as seguintes linhas de código em data/actions/actions.xml <action uniqueid="17458" event="script" value="bauSAO.lua"/> <action itemid="IDdaKEY" event="script" value="keySAO.lua" /> 2° - Agora em data/creaturescripts/scripts Crie um arquivo chamado tpSAO.lua e cole o código dentro: --[[ Script - Lordzetros Tibiaking - Lordzetros ]] local config = { SupEsquerdo = {x=953, y=930, z=6}, -- posicao do canto SUPERIOR ESQUERDO da área que ficará a quest InfDireito = {x=966, y=941, z=6}, -- posicao do canto INFERIOR DIREITO da área que ficará a quest chefe = "Loki", -- Nome do BOSS, responsável por abrir passagem e liberar a recompensa no baú parede = {id = 9784, pos = {x = 959, y = 941, z = 6, stackpos = 1}}, -- id da parede ||||| posicao dela posPremio = {x = 1263, y = 1128, z = 7}, -- posicao para area de recompensa quando os players matarem o boss msgSucesso = "Parabéns por passarem do desafio! Agora permitirei pegar algumas recompensas como reconhecimento de um otimo guerreiros que es!" -- Mensagem quando os players conseguirem matar o boss da sala } function getAllPlayersInArea(fromPosition, toPosition) local players = {} for _, pid in ipairs(getPlayersOnline()) do local f = {x = fromPosition.x, y = fromPosition.y, z = fromPosition.z} local t = {x = toPosition.x, y = toPosition.y, z = toPosition.z} local min = (fromPosition.z > toPosition.z and toPosition.z or fromPosition.z) for index = 0, math.abs(toPosition.z - fromPosition.z) do f.z = min + index t.z = min + index if (isInRange(getPlayerPosition(pid), f, t)) then table.insert(players, pid) end end end return players end function remover_parede(conf) local parede = getTileItemById(conf.parede.pos, conf.parede.id) if (parede) then doRemoveItem(parede.uid, 1) doSendMagicEffect(conf.parede.pos, 10) end return true end function adicionar_parede(conf) local parede = getThingFromPos(conf.parede.pos).itemid ~= conf.parede.id if (parede) then return doCreateItem(conf.parede.id, 1, conf.parede.pos) and doSendMagicEffect(conf.parede.pos, 11) end return true end function onDeath(cid) local boss = getCreatureName(cid) == config.chefe if boss then doCreatureSay(cid, config.msgSucesso, TALKTYPE_ORANGE_1) doSendMagicEffect(getCreaturePosition(cid), 49) addEvent(function() local players = getAllPlayersInArea(config.SupEsquerdo, config.InfDireito) for _, jogador in ipairs(players) do doTeleportThing(jogador, config.posPremio) doSendMagicEffect(getPlayerPosition(jogador), 11) end end, 7000) end return true end Adicione a seguinte linha de código em data/creaturescripts/creaturescripts.xml <event type="death" name="tpSao" script="tpSAO.lua"/> Em data/creaturescripts/scripts/login.lua adicione esta linha de código abaixo do último registerCreatureEvent 3° - Por fim, agora escolhe um monstro que será o chefe responsável por permitir que os jogadores saiam do local e que leve-os até a sala de recompensa após o derrotarem. Escolheu? Show, agora vá até o diretório dele em data/monster/pastaDoSeumonstro/arquivoDoSeuMonstro.xml e adicione essas linhas de códigos abaixo de alguma tag, no meu caso, utilizei abaixo da tag flags <script> <event name="tpSao"/> </script> Segue foto para melhor entendimento: * Explicação da configuração * Bom, apesar de está TUDO COMENTADO e AJUSTÁVEL, acho importante dá algumas explicações: 1 - Configurou tudo nas pastas corretamente, colocou todas linhas de códigos necessárias e explicadas? Beleza, você tá quase lá. 2 - Coloque em um baú no seu editor de mapa um UNIQUEID que será responsável por identificar que aquele BAÚ é da quest, segue imagem: Aconselho não modificar o valor, pois é muito improvável que já esteja sendo utilizado em seu servidor. 3 - Agora entrando na parte dos scripts: No arquivo keySAO.lua localizado em data/actions/scripts/ local config = { parede = {id = 9784, pos = {x = 959, y = 941, z = 6, stackpos = 1}}, -- ID da parede |||| POSIÇÃO que ela irá ser criada strPassagem = {storage = 22338, tempo = 1}, -- Storage que vai controlar o tempo de intervalo para a quest ||||| tempo em MINUTOS de intervalo para os players fazer a quest novamente tempoFechar = 1, -- MINUTOS para a passagem fechar, caso não entrem APÓS abrirem a passagem } Configure o id da parede que impedirá a passagem dos players e o jogador utilizará a chave nela para passar! Não esqueça de configurar a posição dela também, deixe a mesma que você colocou no mapa. Configure o storage que será responsável por permitir ou não jogadores fazerem a quest em X minutos. Configure o tempo que o player terá para passar para dentro da sala antes que a passagem se feche, no script tá 1 minuto. No arquivo bauSAO.lua localizado em data/actions/scripts/ local mti = { [1] = {nome = 'Demon', pos = {x=955, y=935, z=6}}, -- [numero] = {nome = 'Nome Monstro', pos = 'POSICAO QUE IRÁ RESPAWNAR O MONSTRO'} [2] = {nome = 'Demon', pos = {x=955, y=936, z=6}}, [3] = {nome = 'Demon', pos = {x=955, y=937, z=6}}, [4] = {nome = 'Demon', pos = {x=955, y=938, z=6}}, [5] = {nome = 'Demon', pos = {x=955, y=939, z=6}}, [6] = {nome = 'Demon', pos = {x=955, y=940, z=6}}, [7] = {nome = 'Demon', pos = {x=964, y=935, z=6}}, [8] = {nome = 'Demon', pos = {x=964, y=936, z=6}}, [9] = {nome = 'Demon', pos = {x=964, y=937, z=6}}, [10] = {nome = 'Demon', pos = {x=964, y=938, z=6}}, [11] = {nome = 'Demon', pos = {x=964, y=939, z=6}}, [12] = {nome = 'Demon', pos = {x=964, y=940, z=6}}, [13] = {nome = 'Loki', pos = {x=959, y=940, z=6}}, } local config = { unique = 17458, -- uniqueID que vai colocar no BAÚ no seu EDITOR DE MAPA! parede = {id = 9784, pos = {x = 959, y = 941, z = 6, stackpos = 1}}, -- ID da parede |||| POSIÇÃO que ela irá ser criada strPassagem = {storage = 22338, tempo = 1}, -- Storage que vai controlar o tempo de intervalo para a quest ||||| tempo em MINUTOS de intervalo para os players fazer a quest novamente } Configure os nomes e posições que os monstros irão respawnar, e repare que deixei apenas 1 diferenciado chamado 'Loki', pois foi o monstro que escolhi como CHEFE Configure o uniqueID que será utilizado no baú, recomendo não mexer nessa parte Configure novamente o ID da parede que irá bloquear a passagem e a mesma posição (use a mesma coisa da configuração anterior) Configure novamente o storage e tempo que permitirá os jogadores fazerem a quest em X minutos (use a mesma coisa da configuração anterior) No arquivo tpSAO.lua em data/creaturescripts/scripts/ local config = { SupEsquerdo = {x=953, y=930, z=6}, -- posicao do canto SUPERIOR ESQUERDO da área que ficará a quest InfDireito = {x=966, y=941, z=6}, -- posicao do canto INFERIOR DIREITO da área que ficará a quest chefe = "Loki", -- Nome do BOSS, responsável por abrir passagem e liberar a recompensa no baú parede = {id = 9784, pos = {x = 959, y = 941, z = 6, stackpos = 1}}, -- id da parede ||||| posicao dela posPremio = {x = 1263, y = 1128, z = 7}, -- posicao para area de recompensa quando os players matarem o boss msgSucesso = "Parabéns por passarem do desafio! Agora permitirei pegar algumas recompensas como reconhecimento de um otimo guerreiros que es!" -- Mensagem quando os players conseguirem matar o boss da sala } Configure o canto superior esquerdo e inferior direito, é de EXTREMA importância isso, pois será responsável por verificar os jogadores na sala da quest e teleportá-los, segue imagem: Coloque as posições corretamente de cada canto. Configure o nome do chefe que você escolheu para completar a quest, o monstro diferenciado que falamos lá em cima, certo? Configure novamente o ID da parede que irá bloquear a passagem e a mesma posição (use a mesma coisa da configuração anterior) Configure a posição do prêmio, isto é, a posição que o player será teleportado quando matar o CHEFE, a posição da SALA DE RECOMPENSAS ou seja lá o que queira fazer após os jogadores matarem o chefe. Configure a mensagem, caso queira, de quando os jogadores matarem o CHEFE da sala. * Observações finais e anexos para download * Digo logo que é um script simples, porém bastante trabalhoso de ser configurado, visto que faz-se necessário a instalação de alguns arquivos, mas não deixa de ser simples! A ideia que tive foi quando estava lembrando do anime, e como estou voltando aos poucos com Tibia (aprendendo bastante), tive a ideia de fazer isso, pois como gostava bastante de jogar em Baiak e modos semelhantes, isso daqui pode ser bastante útil. Ah! E deixe-me alertá-lo, é um sistema simples que não está 100% como eu desejava, portanto, quando tiver tempo estarei atualizando e deixando com mínimo de incoerência possível no funcionamento dele. POR FAVOR, faça o trabalho de ler as configurações do script, está tudo organizadinho para que você configure lá e deixe da maneira mais prática possível. Acredito que isso é tudo, abraços, \o. Download dos arquivos zipados: Arquivos - Quest Baú SAO - Lordzetros.zip Scan do arquivo: https://www.virustotal.com/pt/file/10e6bf2be0ccb33838a75198e5f822c1c8888f4c8652dcfc5235f87260a7582a/analysis/1540133843/
  15. Galera, boa tarde, estou com um problema no meu auto loot, eu peguei esse aqui. https://tibiaking.com/forums/topic/82086-system-auto-loot-perfect/?fbclid=IwAR0IZDFHcAyuyEf1F8JCMjuNizuVet_JRXkwxWQPCaVrgvuKD7EJ3cniv8U porem ao adicionar tudo certo na lista, ele nao puxa o item pra bag, poderiam me ajudar?
  16. Bom galera antes de tudo, pesquisei e não encontrei desse que dá a roupa se tiver o tal level pedido na script. Tou deixando bem explicado para melhor compreensão de todos. O script é simples e já foi testado, estando o mesmo 100% na minha base 8.54 Vamos lá! Vá em data/actions/scripts e crie um arquivo Lua chamado > Outfitquest Feito isso dentro adicione esse código v Em actions.xml você adiciona v Explicação: if item.uid == 12154 then 12154 é a unique id que você vai colocar no baú. Lembrando que vc pode mudar os valores. Obs: Mudando esse valor vc terá que deixar igual na da tag da actions.xml if getPlayerLevel(cid) >= 30 then 30 é o level que o player precisa ter para concluir a quest. Mude ao seu gosto! questOut = getPlayerStorageValue(cid, 31503) 31503 é a storage da quest, recomendo não mudar/caso mude, deixe todos eles iguais pois eles se repetem no script. setPlayerStorageValue(cid, 181655, 1) 181655 é a storage da quest da roupa que vc vai querer que ele ganhe, mas vc me pergunta Ayron/Sepultura onde eu acho essa storage de roupa? Simples, vá em data/XML e abra o outfits.xml Lá vc encontrará algo assim v <outfit id = "59" quest = "181655"> <list gender = "0" lookType = "1498" name = "Christmas" /> <!-- 0 mulher, 1 homem --> <list gender = "1" lookType = "1497" name = "Christmas" /> </ outfit> Note que o valor 181655 é o valor da quest que lista as roupas que deseja dar no baú Atenção aqui ( o script dá a roupa automático de acordo com o sexo do player) ^ ^ Bom se vc já fez tudo deixou as coisas OK falta a ultima parte. Abra o seu (rme map editor) e lá escolha o baú, feito isso aperte com o botão direito do mouse sobre ele e vá em propriedades, abrirá uma janelinha, na parte da Unique ID coloque o valor da unique da script que é o mesmo da tag na actions.xml = 12154 ficando assim v Pronto! salve o mapa e vá testar. ^ ^ Espero ajudar alguém, e se ajudei deixa o Rep! aí para fortalecer a amizade É isso, abraços!
  17. Sobre* OBS: ISSO É UM INCREMENTO PARA QUEST/TASK. Acabei desenvolvendo esse sisteminha(se é que da pra chamar de sistema euheu) quando fui ajudar um membro do fórum, o Npc dele setava(dava) ao player a mesma storage com valores diferentes, ai eu pensei um pouco e saiu isso aqui, achei legal e estou trazendo aqui O sistema ocorre da seguinte maneira: Você deve procurar por itens no mapa e dar use neles, ao dar use você recebe um fragmento e depois usa esses fragmentos para outra função a qual você desejar, como liberar a entrada de uma quest por exemplo ou até mesmo trocar por outros itens. Ex: Ao falar com um npc, ele te da a seguinte task. Procure este item pelo mapa ao encontrar recolha o item escondido dentro dele. Escolha o item que quiser, coloque mais de um item próximos assim a dificuldade aumenta (apenas um item terá a actionid, os demais seriam para confundir o jogador). Exemplo da localização dos itens. Lembrando que você pode dificultar um pouco a procura por esses itens colocando eles em cidades diferentes, assim o player demora um tempinho até reunir todos os fragmentos. Instalando* Em data/actions/scripts, crie um arquivo .lua com o nome que desejar e em seguida adicione o script abaixo dentro. Agora em data/actions, abra o arquivo actions.xml e adicione a seguinte tag nele. ( Coloque os ActionID's dos itens espalhados pelo mapa em sequência. Ex: 2001, 2002, 2003, 2004.... Assim fica mais facíl para registrar o script, pois basta colocar: fromaid = 2001, toaid = 2010) Mais e menos itens* Eu criei o script para 10 itens, ou seja, terá 10 itens espalhados pelo mapa. Para aumentar ou diminuir o número de itens, olhe explicações abaixo. Mais itens* Menos itens* Edit: Modifiquei algumas coisas no tópico, também arrumei o script para ficar melhor de compreender, e adicionei a ele o que o @Vodkart falou .
  18. Fala clã, há um tempo soltei um sistema privado meu no grupo do TK no Discord e hoje resolvi soltar aqui no Fórum também, abaixo irei explicar um pouquinho sobre esse sistema. O que é Legendary Lever? É um sistema de alavancas que vendem itens (aleatórios), similar à uma surprise bag, porém cada item possui x porcento de chances de dropar ao jogador que estiver pagando para tentar a sorte. Qual o objetivo afinal? Bom, na época que desenvolvi esse sistema, era para um cliente meu que acabou desistindo da compra quando eu estava prestes a começar a desenvolver. O objetivo do cara era criar 5 alavancas, onde cada alavanca teria pelo menos 1 item lendário com 3% de chance de dropar ao jogador que estivesse puxando a alavanca, e cada alavanca teria entre 5 a 7 itens ao todo (a maioria itens simples). Mas a ideia por trás de tudo era lucrar com isso, fazer jogadores donatarem mais para poder tentar pegar esses itens lendários (claro, o cara ia ter que gastar muito pra isso). Terminou que resolvi desenvolver esse sistema com proteção contra duplo click, exaustão, logs de ações, etc. Em qual versão posso utilizar esse sistema? Esse sistema foi programado para rodar em TFS 1.x. Se vocês quiserem, em breve posso converter para 0.4 e trazer ao Fórum, mas aí vai depender do feedback Sem mais delongas, vamos ao sistema! antes de tudo, crie uma pasta chamada legendarylever em data/actions/scripts, e dentro da legendarylever crie outra pasta chamada lib. data/actions/scripts/legendarylever/lib/lib.lua : agora abra data/lib/lib.lua e inclua esta linha : dofile('data/actions/scripts/legendarylever/lib/lib.lua') Feito isso, você já pode começar a criar os arquivos das alavancas. Vamos então criar a nossa primeira alavanca! data/actions/scripts/legendarylever/royalcrossbow.lua : data/actions/actions.xml : <action actionid="3370" script="legendarylever/royalcrossbow.lua"/> E por fim, adicione a actionid 3370 em uma alavanca no Remere's Map Editor! 😄 Para criar novas alavancas, você já deve saber o que se fazer. Sim! CTRL + C CTRL + V no arquivo royalcrossbow.lua, renomea o nome, edite a tabela de itens, preços, premium etc e adicione a tag no XML com uma nova actionid (a actionid põe em uma nova alavanca no Remere's). A configuração não preciso nem explicar né! A única dica que dou, é deixar brodacast = true apenas nos itens mais difíceis de dropar, ou seja, os lendários. Porque isso irá anunciar ao servidor todo que aquele player conseguiu o danado do item haha 😄 Então é isso, espero que tenham gostado! *Edit: Para salvar log de ações, crie uma pasta chamada randomitems em data/logs. Créditos: Lyu (isme)
  19. Opa boa noite rapaziada, tudo bom? Eu estou treinando um pouco scripts e acabei que tendo a ideia de fazer algo relacionado com as Guilds. Então resolvi trazer 1 sistema de Guild Dungeon Lever para mim treinar Estou em fase de treinamento, então por favor, deem dicas e criticas ao sistema ! Obrigado ... Como o sistema funciona? Terá uma alavanca com local para os jogadores de sua Guild ficarem... O jogador que estiver na posição principal e próxima a alavanca irá clicar na alavanca que fará com que todos entrem na Dungeon. Os jogadores terão um tempo "x" para terminar, porém se o tempo acabar, o jogador será teleportado de volta para a posição principal da alavanca (Aonde o jogador clicou). Como configurar o script? local config = { time = 10, -- 1 Second. (1*60 To Minutes) level = 100, -- Level Necessary. dungeonPos = Position(1454, 909, 7), -- Dungeon Pos. needPos = { [1] = Position(1447, 915, 7), -- Position (where the player will click on the lever) and back position. [2] = Position(1449, 914, 7) }, fromPos = {x = 1449, y = 904, z = 7}, -- Position /\ < from the dungeon toPos = {x = 1456, y = 911, z = 7}, -- Position \/ > from the dungeon Storagetime = 39320, -- Storage Time. StorageDay = 39321, -- Storage Day. Timer = 24*60*60 -- To re-enter in the dungeon. (24hours) } time ------------------ Tempo que os jogadores ficarão dentro da Dungeon. level ----------------- Nível que todos precisam ser para entrar. dungeonPos ------ Posição que todos os jogadores serão teleportados. needPos ------------ Posição que os jogadores devem estar para serem teleportados. fromPos ------------- Posição SUPERIOR ESQUERDO da sala. toPos ----------------- Posição INFERIOR DIREITO da sala. Storagetime -------- Não mexer se não souber. StorageDay ----------- Não mexer se não souber. Timer ------------------ Tempo que o jogador terá que esperar para entrar novamente na Dungeon. Sem mais delongas, vamos ao script: Adicione a linha em: (data/actions/actions.xml) <!-- Script GUILD --> <action actionid="29305" script="Dungeon_Guild.lua" /> Adicione a linha em: (data/actions/scripts/Dungeon_Guild.lua) local config = { time = 5, -- 1 Second. (1*60 To Minutes) inside the dungeon. level = 100, -- Level Necessary. dungeonPos = Position(1454, 909, 7), -- Dungeon Pos. needPos = { [1] = Position(1447, 915, 7), -- Position (where the player will click on the lever) and back position. [2] = Position(1449, 914, 7) }, fromPos = {x = 1449, y = 904, z = 7}, -- Position /\ < from the dungeon toPos = {x = 1456, y = 911, z = 7}, -- Position \/ > from the dungeon Storagetime = 39320, -- Storage Time. StorageDay = 39321, -- Storage Day. Timer = 24*60*60 -- To re-enter in the dungeon. (24hrs) } function onUse(player, item, fromPosition, itemEx, toPosition, isHotkey) local guild = player:getGuild() for i = 1, #config.needPos do local playerTile = Tile(config.needPos[i]):getTopCreature() if not playerTile or not playerTile:isPlayer() then player:getPosition():sendMagicEffect(CONST_ME_POFF) player:sendTextMessage(MESSAGE_STATUS_DEFAULT, "You need 2 players and stay on the orange floor.") return true end if not playerTile:getGuild() and not player:getGuild() then player:getPosition():sendMagicEffect(CONST_ME_POFF) return player:sendTextMessage(MESSAGE_STATUS_SMALL, "One of the members does not have guild.") end if playerTile:getLevel() < config.level then player:getPosition():sendMagicEffect(CONST_ME_POFF) return player:sendTextMessage(MESSAGE_STATUS_SMALL, "All the players need to be level "..config.level.." or higher.") end if player:getGuild():getId() ~= playerTile:getGuild():getId() then player:getPosition():sendMagicEffect(CONST_ME_POFF) return player:sendTextMessage(MESSAGE_STATUS_SMALL, "Only players in your guild can join you.") end if player:getStorageValue(config.Storagetime) - os.time() > 0 and playerTile:getStorageValue(config.Storagetime) - os.time() > 0 then player:getPosition():sendMagicEffect(CONST_ME_POFF) return false end if player:getStorageValue(config.StorageDay) - os.time() > 0 and playerTile:getStorageValue(config.StorageDay) - os.time() > 0 then player:getPosition():sendMagicEffect(CONST_ME_POFF) player:sendTextMessage(MESSAGE_EVENT_ADVANCE, string.format("You're in cooldown to enter in a dungeon again. Cooldown: %s.", string.diff(player:getStorageValue(config.StorageDay)-os.time()))) return false end local players = {} for x = config.fromPos.x, config.toPos.x do for y = config.fromPos.y, config.toPos.y do for z = config.fromPos.z, config.toPos.z do local tile = Tile(x, y, z) local creature = tile:getTopCreature() if creature and creature:isPlayer() then players[#players+1] = creature end end end end if #players > 0 then player:getPosition():sendMagicEffect(CONST_ME_POFF) return player:sendTextMessage(MESSAGE_STATUS_SMALL, "Already has a guild inside.") end player:teleportTo(config.dungeonPos) playerTile:teleportTo(config.dungeonPos) playerTile:getPosition():sendMagicEffect(50) addEvent(function() player:teleportTo(config.needPos[2]) playerTile:teleportTo(config.needPos[2]) player:getPosition():sendMagicEffect(CONST_ME_MAGIC_BLUE) playerTile:getPosition():sendMagicEffect(CONST_ME_MAGIC_BLUE) player:setStorageValue(config.StorageDay, os.time() + config.Timer) playerTile:setStorageValue(config.StorageDay, os.time() + config.Timer) end, config.time*1000) return false end return true end Créditos: @KotZletY E eu Espero que gostem 😄 ... Edit* Adicionado Tempo para que você possa entrar novamente na Dungeon: Rep+
  20. Bom, uns tempo atras ai eu tava fazendo um OT Hunger games e tal e fiz varios sisteminhas, para o OT e um deles era uma faca que cortava peixe, galinha e mato kkkkk que quero o que eu precisava... vou postar aqui porque vai que ajuda alguém no futuro, É isso. GIF Código actions/script/faca.lua
  21. Basicamente são itens do tibia que diz "spider eggs" e você clica e nasce o bixo ou um bat do tronco etc... <action itemid="7537" script="other/spideregg.lua" /> <action itemid="5677" script="other/tortoisegg.lua" /> <action itemid="4189" script="other/bategg.lua" />
  22. TFS 0.4 Passei um script que funciona em outra base pra minha porem deu esse erro [4/9/2018 2:40:35] [Error - Action Interface] [4/9/2018 2:40:35] data/actions/scripts/upgradesystem/upgrade.lua:onUse [4/9/2018 2:40:35] Description: [4/9/2018 2:40:35] data/lib/upgradesystem.lua:96: attempt to index field '?' (a nil value) [4/9/2018 2:40:35] stack traceback: [4/9/2018 2:40:35] data/lib/upgradesystem.lua:96: in function 'chance' [4/9/2018 2:40:35] data/lib/upgradesystem.lua:208: in function 'refine' [4/9/2018 2:40:35] data/actions/scripts/upgradesystem/upgrade.lua:20: in function <data/actions/scripts/upgradesystem/upgrade.lua:1> LIB Action
  23. Olá pessoal, para quem não sabe esse script funciona da seguinte maneira, você escolhe um X item, e ao dar use neste X item, será removido a skull e os frags do player que usa-lo (só funciona se estiver Red Skull ou Black Skull). Crie um arquivo com o nome frag_remover.lua em actions/scripts/ e coloque esse código dentro: function onUse(player, item, fromPosition, itemEx, toPosition, isHotkey) if table.contains({SKULL_RED, SKULL_BLACK}, player:getSkull()) then player:setSkull(SKULL_NONE) player:setSkullTime(0) player:getPosition():sendMagicEffect(CONST_ME_MAGIC_GREEN) player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Your skull has been removed!") db.query("UPDATE `player_deaths` SET `unjustified` = 0 WHERE `unjustified` = 1 AND `killed_by` = " .. db.escapeString(player:getName())) item:remove(1) else player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You can only remove red or black skulls!") player:getPosition():sendMagicEffect(CONST_ME_POFF) end return true end E em actions.xml adicione a tag: <action itemid="XXXX" script="frag_remover.lua"/> Agora é só trocar o XXXX da tag acima pelo ID do item que será o seu Frag Remover Créditos: Ninja Bem simples né pessoal ?! Espero ter ajudado, abraços!
  24. Vim pedir Outro script de porta mas esse e para deixar o player passar na porta apenas quando ele matar todos os pokemons de uma sala. Obgd s2
  25. Olá pessoal! Podem editar uma script minha? Ex: Ela usa outfit normal, porém, ao jogar o item fora, continua com a outfit, podem arrumar ela para quando jogar o item no chao remover a outfit voltando a ser oque era antes? function onUse(cid, item, fromPosition, itemEx, toPosition) local tempo = 500 -- Tempo em segundos para usar o Item novamente. local storage = 5839 -- Storage local roupa = 5 -- Numero da roupa que você quer que mude if exhaustion.check(cid, storage) then doPlayerSendTextMessage(cid, 19, "Aguarde " .. exhaustion.get(cid, storage) .. " segundos para usar a outfit novamente.") return false end doCreatureChangeOutfit(cid, {lookType = roupa}) exhaustion.set(cid, storage, tempo) end @KotZletY @Vodkart @tataboy67 @Sttorm @xWhiteWolf @Brunds

Open Tibia Server

Quer aprender a criar seu próprio servidor de Tibia? Então está no lugar certo, aqui você encontrará milhares de tutorias, scripts, códigos, mapas e utilitários para que você possa fazer o seu próprio servidor de Tibia partindo do zero.

Redes Sociais

Anuncie no Tibia King

Precisa de mais visibilidade em seus projetos? Quer publicidade para o seu servidor? Anuncie no Tibia King e faça sua divulgação, possuímos centenas de acessos simultâneos e milhares diários, com certeza será a sua solução! A publicação do seu anuncio é instantânea!

×
×
  • Criar Novo...