Postado Julho 20, 2019 5 anos Salga galera demorou mas consegui hoje vou estar trazendo ai para vocês um script bem bacana da quest tipo anihi porém editado por mim espero que gostem Atenção!! O script foi otimizado com uma ajuda do @movie agora esta 100% liso testado em 0.3.6 8.54 ✔️ Bom vamos ao script tentei deixar a maior parte das configurações tudo em uma tabela só Funções Configurar Level para fazer a quest Configurar a actionid e adicione a uniqueid com o mesmo valor tempo para fazer a quest storage para fazer apenas uma vez esta desativado porém para ativar só retirar os comentários efeitos em determinadas ações esta tudo explicado no script tem configurado 3 posições ou seja você pode configurar três andares ou três partes diferentes do mapa mantendo como uma mesma quest fail = posição que o 4 jogadores vão caso não completar a quest a tempo limit = não mexer (seria a verificação se tiver 1 player dentro da área vai enviar a mensagem que tem gente na quest) Spoiler local function getAmountPlayersInArea(from, to, from2, to2, from3, to3) local t = 0 for _, pid in pairs(getPlayersOnline()) do if isInRange(getCreaturePosition(pid), from, to) or isInRange(getCreaturePosition(pid), from2, to2) or isInRange(getCreaturePosition(pid), from3, to3) then t = t + 1 end end return t end local config = { questlevel = 400, -- level para fazer a quest actionid = 23930, -- actionid e uniqueid da alavanca time = 10, -- tempo limite pra fazer a quest storage = 62799, -- storage para fazer a quest apenas uma vez Aviso esta desativado para ativar basta remover os comentários efeito = 9, -- efeito quando os jogadores forem teleportados para a quest efeito2 = 469, -- efeito quando os jogadores chegarem na quest efeito3 = 621, -- efeito que vai mostrar caso tiver alguem na quest from = {x = 896, y = 987, z = 8}, -- lado superior esquerdo to = {x = 920, y = 1042, z = 8}, -- lado inferior direito from2 = {x = 920, y = 1032, z = 8}, -- lado superior esquerdo to2 = {x = 935, y = 1043, z = 8}, -- lado inferior direito from3 = {x = 921, y = 1026, z = 7}, -- lado superior esquerdo to3 = {x = 943, y = 1053, z = 7}, -- lado inferior direito fail = {x = 916, y = 990, z = 7}, -- Posição que os jogadores vão caso o tempo da quest chegar no limite limit = 1, -- nao mexer } function onUse(cid, item, frompos, item2, topos) if getAmountPlayersInArea(config.from, config.to, config.from2, config.to2, config.from3, config.to3) >= config.limit then doPlayerPopupFYI(cid, 'Aguarde, tem jogadores desafiando o deidara.') -- Mensagem caso tiver jogadores na quest doSendMagicEffect(getThingPos(cid), config.efeito3) return true end if item.uid == config.actionid then if item.itemid == 1945 then player1pos = {x=913, y=987, z=7, stackpos=253} -- posição do jogador que vai puxar a alanvaca player1 = getThingfromPos(player1pos) player2pos = {x=913, y=988, z=7, stackpos=253} -- posição do jogador player2 = getThingfromPos(player2pos) player3pos = {x=913, y=989, z=7, stackpos=253} -- posição do jogador player3 = getThingfromPos(player3pos) player4pos = {x=913, y=990, z=7, stackpos=253} -- posição do jogador player4 = getThingfromPos(player4pos) if player1.itemid > 0 and player2.itemid > 0 and player3.itemid > 0 and player4.itemid > 0 then player1level = getPlayerLevel(player1.uid) player2level = getPlayerLevel(player2.uid) player3level = getPlayerLevel(player3.uid) player4level = getPlayerLevel(player4.uid) if player1level >= config.questlevel and player2level >= config.questlevel and player3level >= config.questlevel and player4level >= config.questlevel then -- PARA ATIVAR A VERIFICAÇÃO DE STORAGE BASTA REMOVER OS COMENTARIOS -- --queststatus1 = getPlayerStorageValue(player1.uid,config.storage) --queststatus2 = getPlayerStorageValue(player2.uid,config.storage) --queststatus3 = getPlayerStorageValue(player3.uid,config.storage) --queststatus4 = getPlayerStorageValue(player4.uid,config.storage) --if queststatus1 == -1 and queststatus2 == -1 and queststatus3 == -1 and queststatus4 == -1 then -- PARA ATIVAR A VERIFICAÇÃO DE STORAGE BASTA REMOVER OS COMENTARIOS -- local t = { monstros = { {{x = 932, y = 1035, z = 7}, "Deidara Boss"}, -- defina pos dos montros e nomes {{x = 930, y = 1037, z = 8}, "C4 Spider Kumo"}, {{x = 916, y = 1037, z = 8}, "C4 Spider"}, {{x = 914, y = 1038, z = 8}, "C4 Spider"}, {{x = 912, y = 1035, z = 8}, "C4 Spider"}, {{x = 905, y = 1029, z = 8}, "C4 Spider"}, {{x = 902, y = 1026, z = 8}, "C4 Spider"}, {{x = 900, y = 1023, z = 8}, "C4 Spider"}, {{x = 898, y = 1018, z = 8}, "C4 Spider"}, {{x = 897, y = 1015, z = 8}, "C4 Spider"}, {{x = 899, y = 1012, z = 8}, "C4 Spider"}, {{x = 902, y = 1008, z = 8}, "C4 Spider"}, {{x = 904, y = 1005, z = 8}, "C4 Spider"}, {{x = 908, y = 1005, z = 8}, "C4 Spider"}, {{x = 909, y = 1002, z = 8}, "C4 Spider"}, {{x = 912, y = 1000, z = 8}, "C4 Spider"}, {{x = 911, y = 997, z = 8}, "C4 Spider"}, {{x = 913, y = 994, z = 8}, "C4 Spider"} } } nplayer1pos = {x=915, y=990, z=8} -- posição que o jogador vai ser teleportado quando for pra quest nplayer2pos = {x=915, y=991, z=8} -- posição que o jogador vai ser teleportado quando for pra quest nplayer3pos = {x=915, y=992, z=8} -- posição que o jogador vai ser teleportado quando for pra quest nplayer4pos = {x=915, y=993, z=8} -- posição que o jogador vai ser teleportado quando for pra quest doSendMagicEffect(player1pos,config.efeito) doSendMagicEffect(player2pos,config.efeito) doSendMagicEffect(player3pos,config.efeito) doSendMagicEffect(player4pos,config.efeito) doTeleportThing(player1.uid,nplayer1pos) doTeleportThing(player2.uid,nplayer2pos) doTeleportThing(player3.uid,nplayer3pos) doTeleportThing(player4.uid,nplayer4pos) doPlayerPopupFYI(cid,"Boa sorte!\nVoce tem "..config.time.." minutos para terminar a quest.") -- mensagem que vai mandar para o jogador que puxar a alavanca for _, summon in pairs(t.monstros) do doCreateMonster(summon[2], summon[1]) end doSendMagicEffect(nplayer1pos,config.efeito2) doSendMagicEffect(nplayer2pos,config.efeito2) doSendMagicEffect(nplayer3pos,config.efeito2) doSendMagicEffect(nplayer4pos,config.efeito2) doTransformItem(item.uid,item.itemid+0) ----------- Verificação remover jogador ------------ addEvent(function(removerjogador) if not isPlayer(cid) then return end for index, cid in ipairs(getPlayersOnline()) do if isInArea(getThingPos(cid), config.from, config.to, config.from2, config.to2, config.from3, config.to3) then doTeleportThing(cid, config.fail) doPlayerPopupFYI(cid, 'O tempo se esgotou voce e sua equipe voltou para o ponto inicial.') end end return true end, config.time*60*1000, cid) ----------- Verificação remover monstro ------------- addEvent(function (removeMonsterInArea) if not isCreature(cid) then return end local positionsCheck = {} for i = config.from.x, config.to.x do positionsCheck[#positionsCheck+1] = {x=i, y = config.from.y, z = config.from.z, stackpos = 0} for j = config.from.y+1, config.to.y do positionsCheck[#positionsCheck+1] = {x=i, y = j, z = config.from.z, stackpos = 0} end end for j=1, #positionsCheck do for i = 0, 255 do positionsCheck[j].stackpos = i local tile = getTileThingByPos(positionsCheck[j]) if isMonster(tile.uid) then doRemoveCreature(tile.uid) end end end return true end, config.time*60*1000, cid) ----------- Verificação remover monstro ------------- addEvent(function (removeMonsterInArea2) if not isCreature(cid) then return end local positionsCheck = {} for i = config.from2.x, config.to2.x do positionsCheck[#positionsCheck+1] = {x=i, y = config.from2.y, z = config.from2.z, stackpos = 0} for j = config.from2.y+1, config.to2.y do positionsCheck[#positionsCheck+1] = {x=i, y = j, z = config.from2.z, stackpos = 0} end end for j=1, #positionsCheck do for i = 0, 255 do positionsCheck[j].stackpos = i local tile = getTileThingByPos(positionsCheck[j]) if isMonster(tile.uid) then doRemoveCreature(tile.uid) end end end return true end, config.time*60*1000, cid) ----------- Verificação remover monstro ------------- addEvent(function (removeMonsterInArea3) -- by Jamison if not isCreature(cid) then return end local positionsCheck = {} for i = config.from3.x, config.to3.x do positionsCheck[#positionsCheck+1] = {x=i, y = config.from3.y, z = config.from3.z, stackpos = 0} for j = config.from3.y+1, config.to3.y do positionsCheck[#positionsCheck+1] = {x=i, y = j, z = config.from3.z, stackpos = 0} end end for j=1, #positionsCheck do for i = 0, 255 do positionsCheck[j].stackpos = i local tile = getTileThingByPos(positionsCheck[j]) if isMonster(tile.uid) then doRemoveCreature(tile.uid) end end end return true end, config.time*60*1000, cid) ----------- Verificação fim da verificação ------------- -- PARA ATIVAR A VERIFICAÇÃO DE STORAGE BASTA REMOVER OS COMENTARIOS -- --else --doPlayerPopupFYI(cid,"Alguem do seu time já fez essa quest.") --end -- PARA ATIVAR A VERIFICAÇÃO DE STORAGE BASTA REMOVER OS COMENTARIOS -- else doPlayerPopupFYI(cid,"Alguem não possui level 400 ou mais.") end else doPlayerPopupFYI(cid,"Voce não possui membros o suficiente.") end elseif item.itemid == 1946 then doTransformItem(item.uid,item.itemid-1) end return 1 end end Créditos @Vodkart (algumas funções) @Jamison (função de remover monstros) @Brunds caso tiver mais alguém só enviar pm que eu coloco os créditos Compre seus Scripts Agora totalmente seguro e de forma rápida, aceitamos também encomendas. discord.gg/phJZeHa2k4 Projeto ATS (Naruto) Informações Abaixo Facebook Youtube Discord Tutoriais / Conteúdos Clique Aqui
Postado Julho 20, 2019 5 anos @Brunds Cara, tem como colocar que os players que fizeram, só pode fazer uma vez por dia? Se eles fizeram hoje, só amanha vão pode fazer de novo, para que todo mundo tenha a chance de fazer
Postado Julho 20, 2019 5 anos Autor @Zazeros então isso ai da pra você usar globalstorage se for pra todo mundo se for uma vez por dia cada time então ativa a storage que ta desativada no script e coloca um time para remover ela Compre seus Scripts Agora totalmente seguro e de forma rápida, aceitamos também encomendas. discord.gg/phJZeHa2k4 Projeto ATS (Naruto) Informações Abaixo Facebook Youtube Discord Tutoriais / Conteúdos Clique Aqui
Postado Janeiro 23, 2023 2 anos como colocaria para esse sistema, funcionar individualmente tipo, pra 1 pessoa somente fazer a dungeon, no caso queria tirar a restriçao de 4 pessoas e deixar pra apenas 1 pessoa entrar por vez. se alguem me ajudar ai dou rep
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.