Postado Novembro 29, 2013 11 anos Ha sim .... Bom tem no meu poketibia ... se fala com o npc Teleporta para sala de espera ... depois ele teleporta para a arena que no caso e so uma .. Vou procurar os script e ve se funciona porem não vou saber lhe explica oque editar
Postado Novembro 29, 2013 11 anos Autor Ha sim .... Bom tem no meu poketibia ... se fala com o npc Teleporta para sala de espera ... depois ele teleporta para a arena que no caso e so uma .. Vou procurar os script e ve se funciona porem não vou saber lhe explica oque editar Ok intão, fico aguardando
Postado Novembro 29, 2013 11 anos Pasta Actions : crie um arquivo tournament.lua e Cole isso la dentro function onUse(cid, item) if #getPlayersInArea(torneio.area) > 1 then doBroadcastMessage(cid, 20 ,"Torneio terminou," .. getCreatureName(playerwin) .. " , e temos um novo ganhador!") return true end doTeleportThing(cid, torneio.playerTemple) doBroadcastMessage(cid, 21, "Parabéns novo ganhador, você venceu o torneio, e ganhou um "..getItemNameById(torneio.awardTournament).." de premio.") doPlayerAddItem(cid, torneio.awardTournament, torneio.awardAmount) return true end Tag : <action uniqueid="18279" event="script" value="tournament.lua"/> em actions ainda crie : tournamentchest.lua e cole isso function onUse(cid, item, frompos, item2, topos) local cfg = { awardId = 2160, -- Item ID of winner prize awardAmount = 50, -- Amount of item ID } doPlayerAddItem(cid, cfg.awardId, cfg.awardAmount) doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid))) doPlayerSendTextMessage(cid, 27, "Obrigado por participar do torneio!") return true end Não achei a tag aconselho a fazer mesmo assim creaturescripts/scripts : Crie um arquivo tournament.lua e cole isso local cfg = { leftPos = {x = 508, y = 668, z = 8}, rightPos = {x = 532, y = 686, z = 8}, } function onPrepareDeath(cid, lastHitKiller, mostDamageKiller) if isInRange(getCreaturePosition(pid), cfg.leftPos, cfg.rightPos) then doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid))) doCreatureAddHealth(cid, getCreatureMaxHealth(cid), 65535, 256, true) doCreatureAddMana(cid, getCreatureMaxMana(cid)) doRemoveConditions(cid, false) return false end return true end Não achei a tag aconselho a colocar se quiser testa sem . pode testa . globalevents/scripts : crie um arquivo tournament.lua e cole isso function onTimer () if #getPlayersInArea(torneio.area) > 1 then doBroadcastMessage(pid, 21, "O Torneio não teve vencedor,vamos ver a próxima vez.") return true end for _, pid in ipairs(getPlayersInArea(torneio.waitArea)) do doTeleportThing(pid, torneio.tournamentFight) doBroadcastMessage(pid, 21, "O Torneio começou.") end return true end em globalevents.xml : tag : <globalevent name="TournamentStart" time="18:10" event="script" value="tournament.lua"/> em lib crie um tournament.lua e cole isso torneio = { awardTournament = 2160, awardAmount = 10, playerTemple = {x = 1052, y = 1052, z = 7}, tournamentFight = {x = 520, y = 677, z = 8}, area = {fromx = 508, fromy = 668, fromz = 8, tox = 532, toy = 686, toz= 8}, waitPlace = {x = 486, y = 673, z = 8}, waitArea = {fromx = 481, fromy = 670, fromz = 8, tox = 492, toy = 676, toz= 8}, startHour = "18:00:00", endHour = "18:8:00", price = 5000, revivePoke = 12344, } 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 em Npc crie um arquivo torneio.xml e cole isso : <?xml version="1.0" encoding="UTF-8"?> <npc name="Luther king" script="tournament.lua" walkinterval="350000" floorchange="0" speed="0"> <health now="150" max="150"/> <look type="510" head="20" body="100" legs="50" feet="99" corpse="2212"/>] <parameters> <parameter key="message_greet" value=" Olá|PLAYERNAME|. Se você quiser participar do torneio dizer: {torneio} or {enter}."/> </parameters> </npc> Em Npc/script crie tournament.lua e cole isso : 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 if getPlayerItemCount(cid, torneio.revivePoke) >= 1 then selfSay('Voce nao pode entrar no torneio com {revives}.', cid) return true end selfSay('Voce quer participar do torneio por 2 Hundred Dollar ?', 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('Registros para o torneio acabaram, volte mais tarde.', cid) return true end if doPlayerRemoveMoney(cid, torneio.price) then doTeleportThing(cid, torneio.waitPlace) doPlayerSendTextMessage(cid, 21, "Bem vindo a sala de espera do torneio.") else selfSay('Você não tem dinheiro suficiente .', cid) end else selfSay('Tem certeza? ok, volte mais tarde.', cid) talkState[talkUser] = 0 end end end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Ajudei rep+ Editado Novembro 29, 2013 11 anos por ryukicho (veja o histórico de edições)
Postado Novembro 30, 2013 11 anos Autor @ryukicho, Muito obrigado \o/ Tipo, esse script leva todos os players para a arena, porém consigo arrumar isso ;x O problema que terei que fazer isso para cada arena kkk Pois não sei fazer reconheçer, + isso já serve... Muito obrigado +REP²
Postado Novembro 30, 2013 11 anos Sabe fazer uma arena PVP ? poderia me ajudar ou fazer um tutorial ?
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.