Postado Outubro 15, 2017 7 anos Autor 1 hora atrás, moviebr disse: Você quer que crie um evento para você? N Seria bem isto, seria como se fosse um teleport, mas com comando, e só funcionaria quando o (ADMIN ou GM) abrisse. Assim o Player ia ser teleportado para tal Coordenada X Y Z.
Postado Outubro 17, 2017 7 anos Solução Veja se é isso que fiz. Lib Pega_Pega = { Storage_Open = 20000, Storage_Player = 20001, Time_Event = 30, -- Tempo em segundos Position_Go = {x = 149, y = 388, z = 7}, Position_Finish = {x = 144, y = 388, z = 7}, Winners = { [1] = {ItemID = 2160, Count = 20}, [2] = {ItemID = 2160, Count = 10}, [3] = {ItemID = 2160, Count = 5} } } function Open_PegaPega(cid, Time) if getGlobalStorageValue(Pega_Pega.Storage_Open) >= os.time() then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "[Pega-Pega] O evento já está ocorrendo.") else setGlobalStorageValue(Pega_Pega.Storage_Open, os.time() + Time) doBroadcastMessage("[Pega-Pega] Foi iniciado, todos os players tem ".. Time .." segundos para utilizar o comando /evento.") end end function Close_PegaPega(WinnersArray) for i, Name in pairs(WinnersArray) do local Player = getCreatureByName(Name) if isPlayer(Player) then doPlayerAddItem(Player, Pega_Pega.Winners[i].ItemID, Pega_Pega.Winners[i].Count) doPlayerSendTextMessage(Player, MESSAGE_STATUS_WARNING, "[Pega-Pega] Você venceu o evento em ".. i .."º lugar e ganhou ".. Pega_Pega.Winners[i].Count .."x ".. getItemNameById(Pega_Pega.Winners[i].ItemID) ..".") end end for i, pid in pairs(getPlayersOnline()) do if getPlayerStorageValue(pid, Pega_Pega.Storage_Player) == 1 then doTeleportThing(pid, Pega_Pega.Position_Finish, true) doSendMagicEffect(getThingPos(pid), CONST_ME_TELEPORT) setPlayerStorageValue(pid, Pega_Pega.Storage_Player, -1) end end doBroadcastMessage("[Pega-Pega] O evento foi encerrado e os ganhadores foram: 1º, 2º e 3º: ".. table.concat(WinnersArray, ', ') ..".") end function Enter_PegaPega(cid) if getGlobalStorageValue(Pega_Pega.Storage_Open) >= os.time() then if getPlayerStorageValue(cid, Pega_Pega.Storage_Player) == -1 then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "[Pega-Pega] Você entrou no evento.") setPlayerStorageValue(cid, Pega_Pega.Storage_Player, 1) doTeleportThing(cid, Pega_Pega.Position_Go, true) doSendMagicEffect(getThingPos(cid), CONST_ME_TELEPORT) else doPlayerSendCancel(cid, "[Pega-Pega] Você já está no evento.") doSendMagicEffect(getThingPos(cid), CONST_ME_POFF) end else doPlayerSendCancel(cid, "[Pega-Pega] O evento não está aberto.") end end Talkaction Enter_PegaPega.lua function onSay(cid, words, param, channel) if not getTilePzInfo(getPlayerPosition(cid)) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "[Pega-Pega] Só pode usar o comando em area protect zone.") return true end if getPlayerAccess(cid) >= 3 then doTeleportThing(cid, Pega_Pega.Position_Go, true) else Enter_PegaPega(cid) end return true end Talkaction Close_PegaPega.lua function onSay(cid, words, param, channel) local CommandParam = string.explode(param, ",") if not CommandParam[1] or CommandParam[1] == "" then doPlayerSendCancel(cid, "Digite o nome do 1º lugar a vencer o evento.") elseif not CommandParam[2] or CommandParam[2] == "" then doPlayerSendCancel(cid, "Digite o nome do 2º lugar a vencer o evento.") elseif not CommandParam[3] or CommandParam[3] == "" then doPlayerSendCancel(cid, "Digite o nome do 3º lugar a vencer o evento.") else Close_PegaPega({CommandParam[1], CommandParam[2], CommandParam[3]}) end return true end Talkaction Open_PegaPega.lua function onSay(cid, words, param, channel) Open_PegaPega(cid, Pega_Pega.Time_Event) return true end Talkactions.xml tags <talkaction log="yes" words="/evento" event="script" value="Enter_PegaPega.lua"/> <talkaction log="yes" access="3" words="/fechareventopega-pega" event="script" value="Close_PegaPega.lua"/> <talkaction log="yes" access="3" words="/abrireventopega-pega" event="script" value="Open_PegaPega.lua"/>
Postado Outubro 18, 2017 7 anos Autor Em 17/10/2017 em 03:23, Danyel Varejao disse: Veja se é isso que fiz. Lib Pega_Pega = { Storage_Open = 20000, Storage_Player = 20001, Time_Event = 30, -- Tempo em segundos Position_Go = {x = 149, y = 388, z = 7}, Position_Finish = {x = 144, y = 388, z = 7}, Winners = { [1] = {ItemID = 2160, Count = 20}, [2] = {ItemID = 2160, Count = 10}, [3] = {ItemID = 2160, Count = 5} } } function Open_PegaPega(cid, Time) if getGlobalStorageValue(Pega_Pega.Storage_Open) >= os.time() then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "[Pega-Pega] O evento já está ocorrendo.") else setGlobalStorageValue(Pega_Pega.Storage_Open, os.time() + Time) doBroadcastMessage("[Pega-Pega] Foi iniciado, todos os players tem ".. Time .." segundos para utilizar o comando /evento.") end end function Close_PegaPega(WinnersArray) for i, Name in pairs(WinnersArray) do local Player = getCreatureByName(Name) if isPlayer(Player) then doPlayerAddItem(Player, Pega_Pega.Winners[i].ItemID, Pega_Pega.Winners[i].Count) doPlayerSendTextMessage(Player, MESSAGE_STATUS_WARNING, "[Pega-Pega] Você venceu o evento em ".. i .."º lugar e ganhou ".. Pega_Pega.Winners[i].Count .."x ".. getItemNameById(Pega_Pega.Winners[i].ItemID) ..".") end end for i, pid in pairs(getPlayersOnline()) do if getPlayerStorageValue(pid, Pega_Pega.Storage_Player) == 1 then doTeleportThing(pid, Pega_Pega.Position_Finish, true) doSendMagicEffect(getThingPos(pid), CONST_ME_TELEPORT) setPlayerStorageValue(pid, Pega_Pega.Storage_Player, -1) end end doBroadcastMessage("[Pega-Pega] O evento foi encerrado e os ganhadores foram: 1º, 2º e 3º: ".. table.concat(WinnersArray, ', ') ..".") end function Enter_PegaPega(cid) if getGlobalStorageValue(Pega_Pega.Storage_Open) >= os.time() then if getPlayerStorageValue(cid, Pega_Pega.Storage_Player) == -1 then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "[Pega-Pega] Você entrou no evento.") setPlayerStorageValue(cid, Pega_Pega.Storage_Player, 1) doTeleportThing(cid, Pega_Pega.Position_Go, true) doSendMagicEffect(getThingPos(cid), CONST_ME_TELEPORT) else doPlayerSendCancel(cid, "[Pega-Pega] Você já está no evento.") doSendMagicEffect(getThingPos(cid), CONST_ME_POFF) end else doPlayerSendCancel(cid, "[Pega-Pega] O evento não está aberto.") end end Talkaction Enter_PegaPega.lua function onSay(cid, words, param, channel) if not getTilePzInfo(getPlayerPosition(cid)) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "[Pega-Pega] Só pode usar o comando em area protect zone.") return true end if getPlayerAccess(cid) >= 3 then doTeleportThing(cid, Pega_Pega.Position_Go, true) else Enter_PegaPega(cid) end return true end Talkaction Close_PegaPega.lua function onSay(cid, words, param, channel) local CommandParam = string.explode(param, ",") if not CommandParam[1] or CommandParam[1] == "" then doPlayerSendCancel(cid, "Digite o nome do 1º lugar a vencer o evento.") elseif not CommandParam[2] or CommandParam[2] == "" then doPlayerSendCancel(cid, "Digite o nome do 2º lugar a vencer o evento.") elseif not CommandParam[3] or CommandParam[3] == "" then doPlayerSendCancel(cid, "Digite o nome do 3º lugar a vencer o evento.") else Close_PegaPega({CommandParam[1], CommandParam[2], CommandParam[3]}) end return true end Talkaction Open_PegaPega.lua function onSay(cid, words, param, channel) Open_PegaPega(cid, Pega_Pega.Time_Event) return true end Talkactions.xml tags <talkaction log="yes" words="/evento" event="script" value="Enter_PegaPega.lua"/> <talkaction log="yes" access="3" words="/fechareventopega-pega" event="script" value="Close_PegaPega.lua"/> <talkaction log="yes" access="3" words="/abrireventopega-pega" event="script" value="Open_PegaPega.lua"/> Quase deu certo, a unica coisa que faltou , foi que não teleporta o player para a posição do evento, Ao player dar /evento ele continua na mesma posição
Postado Outubro 19, 2017 7 anos 3 horas atrás, TheKiler disse: Quase deu certo, a unica coisa que faltou , foi que não teleporta o player para a posição do evento, Ao player dar /evento ele continua na mesma posição Acho que você configurou uma posição que não existe, por favor verifique novamente.
Postado Outubro 19, 2017 7 anos Autor 11 horas atrás, Danyel Varejao disse: Acho que você configurou uma posição que não existe, por favor verifique novamente. Exatamente , VLW FUNCIONOU PERFEITAMENTE
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.