Postado Novembro 11, 2014 10 anos Boa Tarde Turma, Hoje vou Postar um sistema De Torneio Para Poketibia! Para que possa funcionar o sistema de Torneio verifique se na (area pvp-zone ) funciona o pvp, caso nao funciona tentem procurar um tutorial de como liberar o pvp-zone e talves tente mudar isso aki no config.lua de voces: worldType = "pvp-enforced" protectionLevel = 1 Bom Chega de Mimimi e vamos La: data/lib/Torneio.lua e add isso: torneio = { awardTournament = 2160,---- Premio awardAmount = 10,---- quantia do Premio playerTemple = {x = 1096, y = 1009, z = 7}, ---- posiçao do Templo tournamentFight = {x = 909, y = 978, z = 7}, ----- Area (Mapa) do torneio area = {fromx = 899, fromy = 968, fromz = 7, tox = 919, toy = 989, toz= 7},---- fromx = 899, fromy = 968, fromz = 7 : posiçao superior a esquerda do Mapa do torneio /// tox = 919, toy = 989, toz= 7 : Posiçao inferior direito do Mapa do Torneio waitPlace = {x = 992, y = 998, z = 7}, ---- Sala de Espera (Coloque No-logout na area) waitArea = {fromx = 987, fromy = 993, fromz = 7, tox = 997, toy = 1003, toz= 7}, ---- fromx = 899, fromy = 968, fromz = 7 : posiçao superior a esquerda do Mapa Sala de espera /// tox = 919, toy = 989, toz= 7 : Posiçao inferior direito do Mapa sala de espera startHour = "11:30:00", ---- Hora que Inicia as Iscriçoes do Torneio endHour = "11:35:00", ----- Hora que Começa a Batalha price = 10000, ------ Custo para se inscrever no torneio } function getPlayersInArea(area) local players = {} for x = area.fromx,area.tox do for y = area.fromy,area.toy do for z = area.fromz,area.toz do local m = getTopCreature({x=x, y=y, z=z}).uid if m ~= 0 and isPlayer(m) then table.insert(players, m) end end end end return players end Depois vai em Globaleevents/Torneio.lua function onTimer() if #getPlayersInArea(torneio.area) > 1 then doBroadcastMessage("[Torneio] O torneio desta vez não teve vencedor, tentar na próxima vez!") return true end for _, pid in ipairs(getPlayersInArea(torneio.waitArea)) do doTeleportThing(pid, torneio.tournamentFight) doPlayerSendTextMessage(pid, 21, "[Torneio] O torneio começou, e que vença o melhor ! HEHEHEHE.") end return true end <globalevent name="TournamentStart" time="11:35" event="script" value="Torneio.lua"/> Depois vai em Actions/Torneio.lua: Atençao: Voce faz uma area do Torneio no Map editor e Coloca PVP-Zone no Mapa editor e coloca uma Alavanca com a uid "18279" function onUse(cid, item) if #getCreatureSummons(cid) >= 1 then doPlayerSendCancel(cid, "[Torneio] Nao Pode Usar o Bau com Pokemon Fora Da Ball!.") else if #getPlayersInArea(torneio.area) > 1 then doPlayerSendTextMessage(cid, 20 ,"Somente o Ultimo Sobrevivente poderar Usar essa Alavanca") return true end doTeleportThing(cid, torneio.playerTemple) doPlayerAddItem(cid,6569,10) doPlayerSendTextMessage(cid, 21, "[Torneio] Jovem Treinador Parabéns, você ganhou o torneio e ganhou [10] Rare Candy + ["..getItemNameById(torneio.awardTournament).."] .") setPlayerStorageValue(cid,130131,getPlayerStorageValue(cid,130131)+1) doPlayerSendTextMessage(cid,MESSAGE_EVENT_ORANGE,"[Torneio-Score] Voce Agora Tem ["..(getPlayerStorageValue(cid,130131) + 1).."] Torneio SCORES.") doPlayerAddItem(cid, torneio.awardTournament, torneio.awardAmount) return true end end XML: <action uniqueid="18279" event="script" value="Torneio.lua"/> Agora o NPC TORNEIO NPCS/NPCS.XML: <?xml version="1.0" encoding="UTF-8"?> <npc name="Tournament" script="Torneio.lua" walkinterval="2000" floorchange="0"> <health now="150" max="150"/> <look type="664" head="20" body="100" legs="50" feet="99" corpse="2212"/>] <parameters> <parameter key="message_greet" value="Ola |PLAYERNAME|. Voce Gostaria de Participar de Um torneio de Pokemon? Digite [torneio/enter] !."/> </parameters> </npc> NPC/SCRIPTS/Torneio.lua: 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 talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid if msgcontains(msg, 'torneio') or msgcontains(msg, 'enter') then selfSay('Você quer participar do torneio por ['..torneio.price..'] dollars? [sim/Yes]', cid) talkState[talkUser] = 2 elseif talkState[talkUser] == 2 then if msgcontains(msg, 'yes') or msgcontains(msg, 'sim') then if os.date("%X") < torneio.startHour or os.date("%X") > torneio.endHour then selfSay('As inscrições para o torneio terminaram, volte Amanha AS 18:00 para nova inscriçao!.', cid) return true end if doPlayerRemoveMoney(cid, torneio.price) then doTeleportThing(cid, torneio.waitPlace) setPlayerStorageValue(cid,130130,1) doPlayerSendTextMessage(cid, 21, "Bem-vindo, esta é a sala de espera, você espera aqui enquanto o torneio não começa. hora de início: {"..torneio.endHour.."}.") else selfSay('Voce nao Tem Dinheiro ('..torneio.price..').', cid) end else selfSay('Voce nao quer participar do Torneio? Vem no Proximo Dia / Todos os Dias as [11:35]!', cid) talkState[talkUser] = 0 end end end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) [*] Bom é so Isso Flw bj ;* AWE BROTHER ESTOU COM UM UNICO PROBLEMA QUE NA HORA QUE EU FALO COM NPC VAI NORMAL PRA SALA DE ESPERA MAS NA HORA QUE É PRA SER PUXADO PRA ARENA NÃO PUXA NN ACONTECE NADA FICA NO MSM LUGAR SE PUDER ME AJUDAR DAREI REP++ MEU SERVER: http://otpokemonxy.net/ Nosso → Grupo Oficial OtPokemon XY 24 Horas Nosso → Site Oficial OtPokemon XY 24 Horas Nossa → Pagina Oficial OtPokemon XY 24 Horas
Postado Novembro 11, 2014 10 anos Autor ele pucha 1x1 ou joga todos la na arena ?. Todos da Arena AWE BROTHER ESTOU COM UM UNICO PROBLEMA QUE NA HORA QUE EU FALO COM NPC VAI NORMAL PRA SALA DE ESPERA MAS NA HORA QUE É PRA SER PUXADO PRA ARENA NÃO PUXA NN ACONTECE NADA FICA NO MSM LUGAR SE PUDER ME AJUDAR DAREI REP++ Configurou as Cordenadas da Sala de Espera? Sem essa Configuraçao nao vai acontecer Nada no Torneio! playerTemple = {x = 1096, y = 1009, z = 7}, [+] posiçao do Templo ------------------------------------------------------------- tournamentFight = {x = 909, y = 978, z = 7}, [+] Area (Mapa) do torneio ------------------------------------------------------------- area = {fromx = 899, fromy = 968, fromz = 7, tox = 919, toy = 989, toz= 7}, [+] fromx = 899, fromy = 968, fromz = 7 : posiçao superior a esquerda do Mapa do torneio /// tox = 919, toy = 989, toz= 7 : Posiçao inferior direito do Mapa do Torneio ------------------------------------------------------------ waitPlace = {x = 992, y = 998, z = 7} [+]Sala de Espera (Coloque No-logout na area) -------------------------------------------------------------- waitArea = {fromx = 987, fromy = 993, fromz = 7, tox = 997, toy = 1003, toz= 7}, [+] fromx = 899, fromy = 968, fromz = 7 : posiçao superior a esquerda do Mapa Sala de espera /// tox = 919, toy = 989, toz= 7 : Posiçao inferior direito do Mapa sala de espera Editado Novembro 11, 2014 10 anos por Nextbr (veja o histórico de edições)
Postado Novembro 18, 2014 10 anos Todos da Arena Configurou as Cordenadas da Sala de Espera? Sem essa Configuraçao nao vai acontecer Nada no Torneio! playerTemple = {x = 1096, y = 1009, z = 7}, [+] posiçao do Templo ------------------------------------------------------------- tournamentFight = {x = 909, y = 978, z = 7}, [+] Area (Mapa) do torneio ------------------------------------------------------------- area = {fromx = 899, fromy = 968, fromz = 7, tox = 919, toy = 989, toz= 7}, [+] fromx = 899, fromy = 968, fromz = 7 : posiçao superior a esquerda do Mapa do torneio /// tox = 919, toy = 989, toz= 7 : Posiçao inferior direito do Mapa do Torneio ------------------------------------------------------------ waitPlace = {x = 992, y = 998, z = 7} [+]Sala de Espera (Coloque No-logout na area) -------------------------------------------------------------- waitArea = {fromx = 987, fromy = 993, fromz = 7, tox = 997, toy = 1003, toz= 7}, [+] fromx = 899, fromy = 968, fromz = 7 : posiçao superior a esquerda do Mapa Sala de espera /// tox = 919, toy = 989, toz= 7 : Posiçao inferior direito do Mapa sala de espera SIM MANO CONFIGUREI TUDO TA AI MEU TORNEIO torneio = { awardTournament = 2160,---- Premio awardAmount = 500,---- quantia do Premio playerTemple = {x = 1051, y = 1052, z = 7}, ---- posiçao do Templo tournamentFight = {x = 1218, y = 627, z = 7}, ----- Area (Mapa) do torneio area = {fromx = 1202, fromy = 628, fromz = 7, tox = 1236, toy = 628, toz= 7},---- fromx = 1202, fromy = 628, fromz = 7 : posiçao superior a esquerda do Mapa do torneio /// tox = 1236, toy = 628, toz= 7 : Posiçao inferior direito do Mapa do Torneio waitPlace = {x = 1158, y = 622, z = 7}, ---- Sala de Espera (Coloque No-logout na area) waitArea = {fromx = 1149, fromy = 622, fromz = 7, tox = 1168, toy = 622, toz= 7}, ---- fromx = 1149, fromy = 622, fromz = 7 : posiçao superior a esquerda do Mapa Sala de espera /// tox = 1168, toy = 622, toz= 7 : Posiçao inferior direito do Mapa sala de espera startHour = "19:30:00", ---- Hora que Inicia as Iscriçoes do Torneio endHour = "19:35:00", ----- Hora que Começa a Batalha price = 10000, ------ Custo para se inscrever no torneio } function getPlayersInArea(area) local players = {} for x = area.fromx,area.tox do for y = area.fromy,area.toy do for z = area.fromz,area.toz do local m = getTopCreature({x=x, y=y, z=z}).uid if m ~= 0 and isPlayer(m) then table.insert(players, m) end end end end return players end Editado Novembro 18, 2014 10 anos por gabrielzika (veja o histórico de edições) MEU SERVER: http://otpokemonxy.net/ Nosso → Grupo Oficial OtPokemon XY 24 Horas Nosso → Site Oficial OtPokemon XY 24 Horas Nossa → Pagina Oficial OtPokemon XY 24 Horas
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.