Ir para conteúdo

Featured Replies

Postado

Preciso do script que abre o TP do  zombie evente automatico...

 

Nao é preciso de tooooodo o script apenas um pra eu adicionar no zombie evente que eu ja possuo.

 

É so pra abri o tp do evento.

 

 omera.jpg

 

Vaga de Scripts, Pro projeto.Contato PM

  • Respostas 5
  • Visualizações 1.5k
  • Created
  • Última resposta

Top Posters In This Topic

Postado

Eai ,tudo bom tenho esse que tal tu tentar?
 

 

Em globalevents/scripts crie um arquivo chamado zombievent.lua e cole isso dentro

local config = {
    semana_mes = "semana",
    days = {1,4,6}, -- dias 
    goblet = 5805, -- n sei tbm dkosaokdp
    rewards = {2195, 2152, 2160}, -- premios, n sei acho q eh
    moneyReward = {2160, 10, 1}, -- nao sei oq eh ,traduza dps la ok
 
 
 
    playerCount = 2001, -- nao mexe
    zombieCount = 2002, -- nao mexe
    teleportActionId = 2008, -- action id que o teleport tem que ter para funcionar
    teleportPosition = {x = 147, y = 51, z = 7, stackpos = 1}, -- onde será criado
    teleportToPosition = {x = 140, y = 313, z = 7}, -- onde o teleport vai levar
    teleportId = 1387, -- nao mexe
    timeToStartEvent = 10, -- minutos que o teleport vai ficar aberto
    timeBetweenSpawns = 20, -- numero de segundos pros zombie nascer entre eles
    zombieName = "event zombie", -- nome do bixo que vai ser sumonado
    playersNeededToStartEvent = 3, -- jogadores necessários antes que os zumbis nasça
    
    -- Should be the same as in the creaturescript!
    -- The zombies will spawn randomly inside this area
    fromPosition = {x = 129, y = 300, z = 7}, -- top left cornor of the playground
    toPosition = {x = 155, y = 322, z = 7} -- bottom right cornor of the playground
    }
 
function onTime()
    local time = os.date("*t")
    if (config.semana_mes == "semana" and isInArray(config.days,time.wday)) or (config.semana_mes == "mes" and isInArray(config.days,time.day)) or config.semana_mes == "" then
   local tp = doCreateTeleport(config.teleportId, config.teleportToPosition, config.teleportPosition)
   doItemSetAttribute(tp, "aid", config.teleportActionId)
   doBroadcastMessage("Zombie event starting in " .. config.timeToStartEvent .. " minutes! The teleport will be closed when the event start!", MESSAGE_STATUS_WARNING)
   setGlobalStorageValue(config.playerCount, 0)
   setGlobalStorageValue(config.zombieCount, 0)
   addEvent(startEvent, config.timeToStartEvent * 1000 * 60)
    end
    return TRUE
end
 
function startEvent()
    local get = getThingfromPos(config.teleportPosition)
    if get.itemid == config.teleportId then
        doRemoveItem(get.uid, 1)
    end
    
    local fromp, top = config.fromPosition, config.toPosition
 
    if getGlobalStorageValue(config.playerCount) >= config.playersNeededToStartEvent then
        addEvent(spawnZombie, config.timeBetweenSpawns * 1000)
        doBroadcastMessage("Good luck in the zombie event people! The teleport has closed!", MESSAGE_STATUS_WARNING)
        
        for x = fromp.x, top.x do
            for y = fromp.y, top.y do
                for z = fromp.z, top.z do
                    areapos = {x = x, y = y, z = z, stackpos = 253}
                    getPlayers = getThingfromPos(areapos)
                    if isPlayer(getPlayers.uid) then
                        doPlayerSendTextMessage(getPlayers.uid, MESSAGE_EVENT_ADVANCE, "The first zombie will spawn in " .. config.timeBetweenSpawns .. " seconds! Good luck!")
pvgaylord()
                    end
                end
            end
        end
    else
        doBroadcastMessage("The Zombie event could not start because of to few players participating.\n At least " .. config.playersNeededToStartEvent .. " players is needed!", MESSAGE_STATUS_WARNING)
        for x = fromp.x, top.x do
            for y = fromp.y, top.y do
                for z = fromp.z, top.z do
                    areapos = {x = x, y = y, z = z, stackpos = 253}
                    getPlayers = getThingfromPos(areapos)
                    if isPlayer(getPlayers.uid) then
                        doTeleportThing(getPlayers.uid, getTownTemplePosition(getPlayerTown(getPlayers.uid)), false)
                        doSendMagicEffect(getPlayerPosition(getPlayers.uid), CONST_ME_TELEPORT)
                    end
                end
            end
        end
    end
end
 
function spawnZombie()
    if getGlobalStorageValue(config.playerCount) >= 2 then
        pos = {x = math.random(config.fromPosition.x, config.toPosition.x), y = math.random(config.fromPosition.y, config.toPosition.y), z = math.random(config.fromPosition.z, config.toPosition.z)}
        doSummonCreature(config.zombieName, pos)
        doSendMagicEffect(pos, CONST_ME_MORTAREA)
        setGlobalStorageValue(config.zombieCount, getGlobalStorageValue(config.zombieCount)+1)
        doBroadcastMessage("A zombie has spawned! There is currently " .. getGlobalStorageValue(config.zombieCount) .. " zombies in the zombie event!", MESSAGE_STATUS_CONSOLE_RED)
        addEvent(spawnZombie, config.timeBetweenSpawns * 1000)
    else
local fromp, top = config.fromPosition, config.toPosition
        for x = fromp.x, top.x do
            for y = fromp.y, top.y do
                for z = fromp.z, top.z do
                    areapos = {x = x, y = y, z = z, stackpos = 253}
                    cid = getThingfromPos(areapos).uid
                    if isPlayer(cid) then
doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)), false)
doBroadcastMessage(getCreatureName(cid)..' has survived at zombie event!')
                   for _,items in ipairs(config.rewards) do
                 doPlayerAddItem(cid, items, 1)
      end
              if config.moneyReward[3] == 1 then
         doPlayerAddItem(cid, config.moneyReward[1], config.moneyReward[2])
         end
                 doBroadcastMessage(getPlayerName(cid) .. " won the Zombie event! Congratulations!", MESSAGE_STATUS_WARNING)
                 local goblet = doPlayerAddItem(cid, config.goblet, 1)
               doItemSetAttribute(goblet, "description", "Awarded to " .. getPlayerName(cid) .. " for winning the Zombie event.")
   elseif isMonster(cid) then
doRemoveCreature(cid)
                    end
                end
            end
        end
    end
end
 
 
 
function pvgaylord()
local fromp, top, p, m = config.fromPosition, config.toPosition, 0, 0
for x = fromp.x, top.x do
            for y = fromp.y, top.y do
                for z = fromp.z, top.z do
                    local areapos = {x = x, y = y, z = z, stackpos = 253}
                    local cid = getThingfromPos(areapos).uid
                    if isPlayer(cid) then
p = p+1
   elseif isMonster(cid) then
m = m+1
                    end
                end
            end
        end
if p ~= getGlobalStorageValue(config.playerCount) then
setGlobalStorageValue(config.playerCount, p)
end
if p < 2 then
return true
end
addEvent(pvgaylord,100,nil)
end


Em globalevents.xml poem isso

		<!-- Zombie Event -->
	    <globalevent name="zombieevent" time="16:17" event="script" value="zombievent.lua"/>

 

Aonde tá 16:17 é o momento que vai ser criado apenas horas e minutos.


Caso não funcione use esse que eu criei aqui

Em globalevents/scripts crie um arquivo chamado create_tp.lua e cole isso dentro

local cfg = {
toPos = {x = 500, y = 400, z = 7}, -- aonde vai levar
createPos = {x = 400, y = 500, z = 7}, -- aonde vai aparecer
}

function onTime ()
doCreateTeleport(1387, cfg.toPos, cfg.createPos)
return true
end

 


Em globalevents.xml adicione isso

<globalevent name="CreateTp" time="16:17" event="script" value="create_tp.lua"/>

Aonde tá 16:17 é o momento que vai ser criado apenas horas e minutos.

Editado por Luquinha (veja o histórico de edições)

Dp9Y7vq.png

Postado
  • Autor

Humm vo testar... mais dai a funçao do zombi evente vai funcionar correto??

Ou so leva pro local... sem começar o evento?

 

OK.

 

eu testei o primeiro nao deu certo.

 

O seu que criou, ta Ok... mais quero que o evento do zombie começe  e ao começar o TP aparece.

Editado por marcoscorrea (veja o histórico de edições)

 omera.jpg

 

Vaga de Scripts, Pro projeto.Contato PM

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.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 520.1k

Informação Importante

Confirmação de Termo