Postado Agosto 1, 2014 10 anos Este é um post popular. Five Fase Quest Informações: Mais eu evento feito a pedido dos internautas do meu tópico, dessa vez o player compra um item e com esse item tem o direito de usar uma alavanca que o levara a uma quest em que ele sozinho terá que passar por 5 fases, cada faze com bichos mais fortes, e no final ele ganha um premio. Descrição: O player tem que comprar um item pelo comando !page, logo em seguida ele tem que usar a alavanca com o uniqueid 74658, para ser teleportado para o inicio da quest, quando ele matar todos os bixos de uma parte ele terá que pisar em um tile com o actionid 32114, lembrando que é necessário colocar essa actionid em 1 tile por fase da quest, quando o player chegar na quinta fase matar todos os bichos e pisar no tile ele ira para o templo e recebera sua recompensa. OBS: IMPORTANTE! Colocar piso no-logout em todo mapa utilizado no sistema. Sigam as instruções das linhas que apresentam "-- Alterar". Instalação Vá em data/talkactions/scripts/ e cria um arquivo chamado evento page.lua, dentro dele coloque. function onSay(cid, words, param) local preco_item = 0 -- ALTERAR preço do item local id_item = 0 -- ALTERAR id do item local count_item = 0 -- ALTERAR quantidade do item local name_item = "Item" -- ALTERAR nome do item if words == '!page' then if doPlayerRemoveMoney(cid, preco_item) == true then doPlayerAddItem(cid, is_item, count_item) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você obteve o item "..(name_item).." por "..(preco_item).." golds.") else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você não possue "..(preco_item).." golds para comprar o "..(name_item)..".") end end return TRUE end Vá em data/talkactions.xml e adicione essa tag. <talkaction log="yes" words="!page" access="0" event="script" value="page.lua"/> Vá em data/actions.xml e adicione essa tag. <action uniqueid="74658" script="page.lua"/> Vá em data/actions/scripts/ e crie um arquivo chamado page.lua e coloque isso dentro. function onUse(cid, item, fromPosition, itemEx, toPosition) local pos_arena1 = {x = 0, y = 0, z = 0} -- ALTERAR posição de entrada da primeira arena local id_item = 0 -- ALTERAR id do item local count_item = 0 -- ALTERAR quantidade do item local storage_global = 123456 -- ALTERAR storage global do sistema local storage_player = 654321 -- ALTERAR storage do player do sistema local pos1 = {x = 0, y = 0, z = 0} -- ALTERAR posição do canto superior esquerdo do mapa inteiro utilizado na QUEST local pos2 = {x = 0, y = 0, z = 0} -- ALTERAR posição do canto infeiror direito do mapa inteiro utilizado na QUEST local i = 1 local players = getPlayersOnline() while i <= #players do local pos_player = getPlayerPosition(players) if pos_player.x >= pos1.x and pos_player.y >= pos1.y and pos_player.x <= pos2.x and pos_player.y <= pos2.y then setGlobalStorageValue(storage_global, -1) break end if i == #players then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Existem Players Fazendo a Quest.") return TRUE end i = i + 1 end i = 1 if getGlobalStorageValue(storage_global) ~= -1 then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Existem Players Fazendo a Quest.") return TRUE end local monster = { {name = "Nome", pos = {x = 0, y = 0, z = 0}}, {name = "Nome", pos = {x = 0, y = 0, z = 0}}, {name = "Nome", pos = {x = 0, y = 0, z = 0}}, {name = "Nome", pos = {x = 0, y = 0, z = 0}}, {name = "Nome", pos = {x = 0, y = 0, z = 0}}, {name = "Nome", pos = {x = 0, y = 0, z = 0}}, -- ALTERAR Monstros que vão Nascer na Primeira Parte {name = "Nome", pos = {x = 0, y = 0, z = 0}}, -- Mudar o Name e a posição de onde cada um vai nascer {name = "Nome", pos = {x = 0, y = 0, z = 0}}, {name = "Nome", pos = {x = 0, y = 0, z = 0}}, {name = "Nome", pos = {x = 0, y = 0, z = 0}}, } if item.uid == 74658 then if doPlayerRemoveItem(cid, id_item, count_item) doTeleportThing(cid, pos_arena1) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Que comecem os Jogos!") setGlobalStorageValue(storage_global, 1) setPlayerStorageValue(cid, storage_player, 0) while i <= #monster do doCreateMonster(monster.name,monster.pos) i = i + 1 end else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você não possue o Item necessário.") end end return TRUE end Vá em data/movements.xml e adicione essa tag. <movevent type="StepIn" actionid="32114" event="script" value="page.lua"/> Vá em data/movements/scripts/ e crie um arquivo chamado page.lua e coloque isso dentro. function onStepIn(cid, item, position, lastPosition, fromPosition, toPosition, actor) local storage_player = 654321 -- ALTERAR storage do player do sistema local storage_global = 123456 -- ALTERAR storage global do sistema local id_item = 0 -- ALTERAR id do item de premio local count_item = 0 -- ALTERAR quantidade do item premio local storage_value_global = getGlobalStorageValue(storage_global) local storage_value_player = getPlayerStorageValue(cid, storage_player) local positions = { {pos = {x = 0, y = 0, z = 0}}, -- ALTERAR posição da arena 2 {pos = {x = 0, y = 0, z = 0}}, -- ALTERAR posição da arena 3 {pos = {x = 0, y = 0, z = 0}}, -- ALTERAR posição da arena 4 {pos = {x = 0, y = 0, z = 0}}, -- ALTERAR posição da arena 5 {pos = {x = 0, y = 0, z = 0}}, -- ALTERAR posição do templo } local pos_tp = { {pos = {x = 0, y = 0, z = 0}}, -- ALTERAR posição do teleport na arena 1 para ir para arena 2 {pos = {x = 0, y = 0, z = 0}}, -- ALTERAR posição do teleport na arena 2 para ir para arena 3 {pos = {x = 0, y = 0, z = 0}}, -- ALTERAR posição do teleport na arena 3 para ir para arena 4 {pos = {x = 0, y = 0, z = 0}}, -- ALTERAR posição do teleport na arena 4 para ir para arena 5 {pos = {x = 0, y = 0, z = 0}}, -- ALTERAR posição do teleport na arena 5 para ir para o templo } local monster = { {name = "Nome", pos = {x = 0, y = 0, z = 0}, parte = 2}, {name = "Nome", pos = {x = 0, y = 0, z = 0}, parte = 2}, {name = "Nome", pos = {x = 0, y = 0, z = 0}, parte = 2}, {name = "Nome", pos = {x = 0, y = 0, z = 0}, parte = 2}, {name = "Nome", pos = {x = 0, y = 0, z = 0}, parte = 2}, {name = "Nome", pos = {x = 0, y = 0, z = 0}, parte = 2}, {name = "Nome", pos = {x = 0, y = 0, z = 0}, parte = 2}, {name = "Nome", pos = {x = 0, y = 0, z = 0}, parte = 2}, {name = "Nome", pos = {x = 0, y = 0, z = 0}, parte = 2}, {name = "Nome", pos = {x = 0, y = 0, z = 0}, parte = 2}, {name = "Nome", pos = {x = 0, y = 0, z = 0}, parte = 2}, {name = "Nome", pos = {x = 0, y = 0, z = 0}, parte = 3}, -- ALTERAR Nome do Monstro, do jeito que é no jogo até as letras maiusculas {name = "Nome", pos = {x = 0, y = 0, z = 0}, parte = 3}, -- mudar a pos de cada 1, não podendo repetir {name = "Nome", pos = {x = 0, y = 0, z = 0}, parte = 3}, -- mudar parte que cada bixo fará parte {name = "Nome", pos = {x = 0, y = 0, z = 0}, parte = 3}, -- existem 10 bixos por fase, se alterar aqui é importante alterar ali em baixo {name = "Nome", pos = {x = 0, y = 0, z = 0}, parte = 3}, {name = "Nome", pos = {x = 0, y = 0, z = 0}, parte = 3}, {name = "Nome", pos = {x = 0, y = 0, z = 0}, parte = 3}, {name = "Nome", pos = {x = 0, y = 0, z = 0}, parte = 3}, {name = "Nome", pos = {x = 0, y = 0, z = 0}, parte = 3}, {name = "Nome", pos = {x = 0, y = 0, z = 0}, parte = 3}, {name = "Nome", pos = {x = 0, y = 0, z = 0}, parte = 4}, {name = "Nome", pos = {x = 0, y = 0, z = 0}, parte = 4}, {name = "Nome", pos = {x = 0, y = 0, z = 0}, parte = 4}, {name = "Nome", pos = {x = 0, y = 0, z = 0}, parte = 4}, {name = "Nome", pos = {x = 0, y = 0, z = 0}, parte = 4}, {name = "Nome", pos = {x = 0, y = 0, z = 0}, parte = 4}, {name = "Nome", pos = {x = 0, y = 0, z = 0}, parte = 4}, {name = "Nome", pos = {x = 0, y = 0, z = 0}, parte = 4}, {name = "Nome", pos = {x = 0, y = 0, z = 0}, parte = 4}, {name = "Nome", pos = {x = 0, y = 0, z = 0}, parte = 4}, {name = "Nome", pos = {x = 0, y = 0, z = 0}, parte = 5}, {name = "Nome", pos = {x = 0, y = 0, z = 0}, parte = 5}, {name = "Nome", pos = {x = 0, y = 0, z = 0}, parte = 5}, {name = "Nome", pos = {x = 0, y = 0, z = 0}, parte = 5}, {name = "Nome", pos = {x = 0, y = 0, z = 0}, parte = 5}, {name = "Nome", pos = {x = 0, y = 0, z = 0}, parte = 5}, {name = "Nome", pos = {x = 0, y = 0, z = 0}, parte = 5}, {name = "Nome", pos = {x = 0, y = 0, z = 0}, parte = 5}, {name = "Nome", pos = {x = 0, y = 0, z = 0}, parte = 5}, {name = "Nome", pos = {x = 0, y = 0, z = 0}, parte = 5}, {name = "Nome", pos = {x = 0, y = 0, z = 0}, parte = 5}, } if storage_value_global == 1 then if storage_value_player >= 10 then -- ALTERAR numeros de bixos que ele vai matar na 1 parte doTeleportThing(cid, positions[1]) local i = 1 while i <= #monster do if monster.parte == 2 then doCreateMonster(monster.name,monster.pos) end i = i + 1 end setGlobalStorageValue(storage_global, 2) setPlayerStorageValue(cid, storage_player, 0) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Mate todos os Bixos e passe pelo portal.") local item1 = getTileItemById(pos_tp[1], 1387) if item1.uid > 0 then doRemoveItem(item1.uid, 1) end else return TRUE end end if storage_value_global == 2 then if storage_value_player >= 10 then -- ALTERAR numeros de bixos que ele vai matar na 2 parte doTeleportThing(cid, positions[1]) local i = 1 while i <= #monster do if monster.parte == 3 then doCreateMonster(monster.name,monster.pos) end i = i + 1 end setGlobalStorageValue(storage_global, 3) setPlayerStorageValue(cid, storage_player, 0) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Mate todos os Bixos e passe pelo portal.") local item1 = getTileItemById(pos_tp[2], 1387) if item1.uid > 0 then doRemoveItem(item1.uid, 1) end else return TRUE end end if storage_value_global == 3 then if storage_value_player >= 10 then -- ALTERAR numeros de bixos que ele vai matar na 3 parte doTeleportThing(cid, positions[1]) local i = 1 while i <= #monster do if monster.parte == 4 then doCreateMonster(monster.name,monster.pos) end i = i + 1 end setGlobalStorageValue(storage_global, 4) setPlayerStorageValue(cid, storage_player, 0) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Mate todos os Bixos e passe pelo portal.") local item1 = getTileItemById(pos_tp[3], 1387) if item1.uid > 0 then doRemoveItem(item1.uid, 1) end else return TRUE end end if storage_value_global == 4 then if storage_value_player >= 10 then -- ALTERAR numeros de bixos que ele vai matar na 4 parte doTeleportThing(cid, positions[1]) local i = 1 while i <= #monster do if monster.parte == 5 then doCreateMonster(monster.name,monster.pos) end i = i + 1 end setGlobalStorageValue(storage_global, 5) setPlayerStorageValue(cid, storage_player, 0) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Mate todos os Bixos e passe pelo portal.") local item1 = getTileItemById(pos_tp[4], 1387) if item1.uid > 0 then doRemoveItem(item1.uid, 1) end else return TRUE end end if storage_value_global == 5 then if storage_value_player >= 10 then -- ALTERAR numeros de bixos que ele vai matar na 5 parte doTeleportThing(cid, positions[5]) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você é um Grande Vencedor.") doPlayerAddItem(cid, id_item, count_item) setGlobalStorageValue(storage_global, -1) setPlayerStorageValue(cid, storage_player, 0) local item1 = getTileItemById(pos_tp[5], 1387) if item1.uid > 0 then doRemoveItem(item1.uid, 1) end else return TRUE end end return true end Agora vá em data/creaturescripts.xml e adicione essas tag. <event type="login" name="removepage" event="script" value="page1.lua"/> <event type="kill" name="page" event="script" value="page.lua"/> Agora vá em em data/creaturescripts/scripts e crie um arquivo chamado page.lua e coloque isso nele. function onKill(cid, target, lasthit) local monsters = { {name = "Nome"}, {name = "Nome"}, {name = "Nome"}, {name = "Nome"}, {name = "Nome"}, {name = "Nome"}, -- ALTERAR Coloque o nome de todas os monstros que vão aparecer dentro da quest {name = "Nome"}, -- OBS: Não repetir e não esquecer de colocar as letras maiusculas {name = "Nome"}, {name = "Nome"}, {name = "Nome"}, {name = "Nome"}, } local pos_tp = { {pos = {x = 0, y = 0, z = 0}}, -- ALTERAR posição do teleport na arena 1 para ir para arena 2 {pos = {x = 0, y = 0, z = 0}}, -- ALTERAR posição do teleport na arena 2 para ir para arena 3 {pos = {x = 0, y = 0, z = 0}}, -- ALTERAR posição do teleport na arena 3 para ir para arena 4 {pos = {x = 0, y = 0, z = 0}}, -- ALTERAR posição do teleport na arena 4 para ir para arena 5 {pos = {x = 0, y = 0, z = 0}}, -- ALTERAR posição do teleport na arena 5 para ir para o templo } local quantidades = { {quantidade = 10}, -- ALTERAR numeros de bixos que ele vai matar na 1 parte {quantidade = 10}, -- ALTERAR numeros de bixos que ele vai matar na 2 parte {quantidade = 10}, -- ALTERAR numeros de bixos que ele vai matar na 3 parte {quantidade = 10}, -- ALTERAR numeros de bixos que ele vai matar na 4 parte {quantidade = 10}, -- ALTERAR numeros de bixos que ele vai matar na 5 parte } local positions = { {pos = {x = 0, y = 0, z = 0}}, -- ALTERAR posição da arena 2 {pos = {x = 0, y = 0, z = 0}}, -- ALTERAR posição da arena 3 {pos = {x = 0, y = 0, z = 0}}, -- ALTERAR posição da arena 4 {pos = {x = 0, y = 0, z = 0}}, -- ALTERAR posição da arena 5 {pos = {x = 0, y = 0, z = 0}}, -- ALTERAR posição do templo } local i = 1 local storage_player = 654321 -- ALTERAR storage do player do sistema local storage_value_player = getPlayerStorageValue(cid, storage_player) + 1 local storage_global = 123456 -- ALTERAR storage global do sistema local storage_value_global = getGlobalStorageValue(storage_global) while i <= #monsters do if getCreatureName(target) == monsters.name then setPlayerStorageValue(cid, storage_player, storage_value_player) if storage_value_global == 1 then if storage_value_player >= quantidades[1].quantidade then doCreateTeleport(1387, positions[1].pos, pos_tp[1].pos) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Entre no Portal e Vá Para a Proxima Fase.") end end if storage_value_global == 2 then if storage_value_player >= quantidades[2].quantidade then doCreateTeleport(1387, positions[2].pos, pos_tp[2].pos) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Entre no Portal e Vá Para a Proxima Fase.") end end if storage_value_global == 3 then if storage_value_player >= quantidades[3].quantidade then doCreateTeleport(1387, positions[3].pos, pos_tp[3].pos) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Entre no Portal e Vá Para a Proxima Fase.") end end if storage_value_global == 4 then if storage_value_player >= quantidades[4].quantidade then doCreateTeleport(1387, positions[4].pos, pos_tp[4].pos) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Entre no Portal e Vá Para a Proxima Fase.") end end if storage_value_global == 5 then if storage_value_player >= quantidades[5].quantidade then doCreateTeleport(1387, positions[5].pos, pos_tp[5].pos) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Entre no Portal e Termine a Quest.") end end end i = i + 1 end return true end Agora vá em em data/creaturescripts/scripts e crie um arquivo chamado page1.lua e coloque isso nele. function onLogin(cid, corpse, killer) local pos1 = {x = 0, y = 0, z = 0} -- ALTERAR posição do canto superior esquerdo do mapa inteiro utilizado na QUEST local pos2 = {x = 0, y = 0, z = 0} -- ALTERAR posição do canto infeiror direito do mapa inteiro utilizado na QUEST local pos_tempo = {x = 0, y = 0, z = 0} -- ALTERAR posição do seu templo local pos_player = getPlayerPosition(cid) if pos_player.x >= pos1.x and pos_player.y >= pos1.y and pos_player.x <= pos2.x and pos_player.y <= pos2.y then doTeleportThing(cid, pos_templo) end return TRUE end Agora vá em data/creaturescripts/scripts/login.lua e adicione essas duas tags. registerCreatureEvent(cid, "removepage") registerCreatureEvent(cid, "page") Pronto instalado com sucesso. Créditos Pelo Script: 100% - Gabisa00 Créditos Pela Ideia: 100% - HallsSantos Dúvidas, bugs, sugestões, somente no tópico. Gostou do Sistema Faça Seu Pedido Aqui! Editado Agosto 1, 2014 10 anos por gabisa00 (veja o histórico de edições) Meus Trabalhos *CreatureScripts* Defense System *CreatureScripts* {Premium} No Nome *GlobalEvents* Removing Houses Inactive Players *Função* getplayerbyhousewildcard *Função* getplayerbynameaccountid *Sistema* Arena War *Sistema* 3 Teans And 1 Boss *Sistema* Five Fase Quest *Sistema* Pilar Bosses *Sistema* Absorb Mana ArmMeu Site Porno ;P
Postado Agosto 2, 2014 10 anos Bom bom esses seus sistemas cara... "Lendas jamais voltam pois são apenas lendas. eu, eu sou real." Attr:// [GM] Eddy. 2013 ~ 2014 R.I.P O retorno da lenda....
Postado Agosto 3, 2014 10 anos Autor Se souber configurar corretamente, provavelmente não terá bugs. Meus Trabalhos *CreatureScripts* Defense System *CreatureScripts* {Premium} No Nome *GlobalEvents* Removing Houses Inactive Players *Função* getplayerbyhousewildcard *Função* getplayerbynameaccountid *Sistema* Arena War *Sistema* 3 Teans And 1 Boss *Sistema* Five Fase Quest *Sistema* Pilar Bosses *Sistema* Absorb Mana ArmMeu Site Porno ;P
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.