Pesquisar na Comunidade
Mostrando resultados para as tags ''waves''.
Encontrado 1 registro
-
Bom, fiz esse script para sanar uma dúvida de um membro da comunidade, e quero compartilhar com vocês, acho que não chega a ser um tutorial, mas está bem explicado e espero que usem =) Veja: -Antes de mais nada, entre no seu RME e faça a área da quest, depois modifique as coordenadas no script segundo seu mapa. - Lembre-se de colocar um tile diferente para ajudar o player a saber a posição correta de onde estar, e de por a alavanca no lugar correto. - Adicione mais posições para nascer os monstros, quanto mais posições mais dinamico fica sua quest. Em Actions/scripts, adicione um novo documento .lua com nome que desejar, e ponha isso dentro.. local TeleportInPos = { x = 74, y = 111, z = 10} -- Posição para onde os players serão teleportados local LeverPos = { x = 90, y = 110, z = 10} -- Posição da Alavanca local timeToRemove = 40 -- Time before quest reset local tile1Pos = { x = 80, y = 80, z = 8 } -- lugar que o player deverá estar para puxar a alavanca local str = 2000 -- modifique para um storage valido no seu server local config = { { x = 19, y = 8, z = 7 }, { x = 20, y = 10, z = 7 }, { x = 23, y = 12, z = 7 }, { x = 22, y = 11, z = 7 }, { x = 28, y = 20, z = 7 } } function onUse(cid, item, frompos, item2, topos) if(getCreaturePosition(cid) == tile1Pos) then if(getPlayerStorageValue(uid, str) == 0) then doTeleportThing(cid, TeleportInPos) doSendMagicEffect(TeleportInPos, CONST_ME_TELEPORT) doPlayerSendTextMessage(cid,22,"Agora começará sua quest. Bom sorte! ") addEvent(wave1(cid), 10) addEvent(wave2(cid), 10) addEvent(wave10(cid), 1) else doPlayerSendTextMessage(cid,22,"Você não está na posição correta, ou já fez essa quest! ") -- Mensagem caso o char n esteja no tile correto end end end function wave1(cid) doCreateMonster(Dragon, config[math.random(1, #config)]) doCreateMonster(Demodras, config[math.random(1, #config)]) end function wave2(cid) doCreateMonster(Hydra, config[math.random(1, #config)]) doCreateMonster(Spider, config[math.random(1, #config)]) end function wave10(cid) doCreateMonster(TheBoss, config[math.random(1, #config)]) end Então, embaixo de: function wave2(cid) doCreateMonster(Hydra, config[math.random(1, #config)]) doCreateMonster(Spider, config[math.random(1, #config)]) end Adicione quantas waves quiser, seguindo o modelo: function waveN(cid) doCreateMonster(MONSTRO, config[math.random(1, #config)]) doCreateMonster(MONSTRO, config[math.random(1, #config)]) end n = numero da wave MONSTRO = nome do monstro Depois, em baixo de: addEvent(wave2(cid), 10) Adicione quantas waves vc tiver, seguindo o modelo: addEvent(waveN(cid), 10) Onde n = numero da wave Feito isso tudo, bora configurar para iniciar o evento... Em actions.xml adicione a linha: <action uniqueid="1026" script="nomedoarquivo.lua"/> Mude o nome do arquivo, e no RME coloque o uniqueid 1026 na sua alavanca, que deverá estar no lugar correto também. Depois disso, devemos modificar o arquivo do monstro ( The Boss). Para isso continue: Em Creaturescript/scripts adicione um arquivo com nome de sua escolha .lua e coloque isso dentro: function onDeath(cid, corpse, killer) local Pos = {x = 340, y = 840, z = 15} -- posicao para onde o player irá (sala de premios) local monstName = "TheBoss" -- nome do monstro if isMonster(cid) then if string.lower(getCreatureName(cid)) == string.lower(monstName) then doTeleportThing(killer[1], Pos) end end return TRUE end Modifique apenas a posição para a qual o player será teleportado e o nome do monstro boss. Feito isso, volte para creaturescripts.xml e adicione: <event type="death" name="Teleportquest" event="script" value="quest1.lua"/> Modificando o nome do arquivo. Estamos quase acabando ! rsrs Vá para a pasta monster e procure pelo arquivo do monstro escolhido para ser o boss, no meu caso escolhi o TheBoss, dentro do arquivo do boss, coloque: <script> <event name="Teleportquest"/> </script> E pronto !! A quest está feita. EXTRA Agora, basta ir em actions/scripts e criar um novo arquivo para o bau da quest com qualquer nome .lua e adicionar dentro: function onUse(cid, item, frompos, item2, topos) if item.uid == 2001 then -- mude para um valor que será colocado em uniqueid no bau queststatus = getPlayerStorageValue(cid,2000) -- mude para o numero da sua storage if queststatus == -1 or queststatus == 0 then doPlayerSendTextMessage(cid,22,"Você Achou Um Bolo De 100k") item_uid = doPlayerAddItem(cid,2160,10) -- mude o premio! 2160 = Crystal Coin e 10 = quantidade. setPlayerStorageValue(cid,2000,1) -- mude apenas o 2000 para o valor da sua storage else doPlayerSendTextMessage(cid,22,"Você já fez esta quest! ") end end return true end Faça as modificações que achar necessário. Depois em actions.xml adicione: <action uniqueid="2001" script="bau1.lua"/> No RME, agora no baú, adicione a uniqueid, no meu caso 2001. Bom, espero que goste e utilize em seu servidor!! Se possivel, +REP Utilizei como base Script do Vodkart para o teleport. ( acho que é assim que escreve o nick dele ). -GstavoLiber