Ir para conteúdo
  • Cadastre-se

Posts Recomendados

Olá,

Acabei de por o zombie event no server, o sistema está funcionando perfeitamente, porém o zombie não aparece... Ele diz que aparece no broadcast mais nem sinal deles '-'

 

pone.jpg

 

Eu uso esse sistema:

 

Globalevents/scripts/zombie event.lua

 

local config = {
        playerCount = 2001, -- Global storage for counting the players left/entered in the event
        zombieCount = 2002, -- Global storage for counting the zombies in the event
        teleportActionId = 2000, -- Action id of the teleport needed for the movement script
        teleportPosition = {x = 1135, y = 1077, z = 3, stackpos = 1}, -- Where the teleport will be created
        teleportToPosition = {x = 1190, y = 1076, z = 7}, -- Where the teleport will take you
        teleportId = 1387, -- Id of the teleport
        timeToStartEvent = 5, -- Minutes, after these minutes the teleport will be removed and the event will be declared started
        timeBetweenSpawns = 20, -- Seconds between each spawn of zombie
        zombieName = "event zombie", -- Name of the zombie that should be summoned
        playersNeededToStartEvent = 5, -- Players needed before the zombies can spawn.
        
        -- Should be the same as in the creaturescript!
        -- The zombies will spawn randomly inside this area
        fromPosition = {x = 1186, y = 1072, z = 7}, -- top left cornor of the playground
        toPosition = {x = 1195, y = 1081, z = 7}, -- bottom right cornor of the playground
        }

function onTimer()
        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)
        print(getGlobalStorageValue(2001))
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!")
                                        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)
        end
end

 

Globalevents.xml

<globalevent name="zombieevent" time="15:00" event="script" value="zombie event.lua"/>

Movements/scripts/zombie event.lua

 

local config = {
        playerCount = 2001, -- Global storage for counting the players in the event
        maxPlayers = 15, -- Max players who can participate
        
        }
        
function onStepIn(cid, item, position, lastPosition, fromPosition, toPosition, actor)
        if getGlobalStorageValue(config.playerCount) < config.maxPlayers then
                setGlobalStorageValue(config.playerCount, getGlobalStorageValue(config.playerCount)+1)
                if getGlobalStorageValue(config.playerCount) == config.maxPlayers then
                        doBroadcastMessage("The Zombie event is now full [" .. getGlobalStorageValue(config.playerCount) .. " players]! The event will soon start.")
                else    
                        doBroadcastMessage(getPlayerName(cid) .. " entered the Zombie event! Currently " .. getGlobalStorageValue(config.playerCount) .. " players have joined!", MESSAGE_STATUS_CONSOLE_RED)
                end     
        else
                addEvent(tpBack, 1000, cid, fromPosition)
                doPlayerSendCancel(cid, "The event is full. There is already " .. config.maxPlayers .. " players participating in the quest.")
                return false
        end
        print(getStorage(config.playerCount) .. " Players in the zombie event.")
        return true
end

function tpBack(cid, fromPosition)
        doTeleportThing(cid, fromPosition, true)
        doSendMagicEffect(getPlayerPosition(cid), CONST_ME_TELEPORT)
end

Movements.xml

 

<movevent type="StepIn" actionid="2000" event="script" value="zombie event.lua"/>

 

Creaturescripts/scripts/zombie event.lua

 

local config = {
        playerCount = 2001, -- Global storage for counting the players left/entered in the event
        
        goblet = 5805, -- id of the gold goblet you'll get when finishing the event.
        rewards = {2195, 2152, 2160}, -- You will get this +  a gold goblet with your name on.
        --              {moneyId, count, using? 1 for using moneyReward, 0 for not using.}
        moneyReward = {2160, 10, 1},
        
        -- Should be same as in the globalevent!
        -- The zombies will spawn randomly inside this area
        fromPosition = {x = 1186, y = 1072, z = 7}, -- top left cornor of the playground
        toPosition = {x = 1195, y = 1081, z = 7}, -- bottom right cornor of the playground
        }

function onStatsChange(cid, attacker, type, combat, value)
        if isPlayer(cid) and isMonster(attacker) then
                if isInArea(getPlayerPosition(cid), config.fromPosition, config.toPosition) then
                        if getGlobalStorageValue(config.playerCount) >= 2 then
                                doBroadcastMessage(getPlayerName(cid) .. " have been eated by Zombies!", MESSAGE_STATUS_CONSOLE_RED)
                                local corpse = doCreateItem(3058, 1, getPlayerPosition(cid))
                                doItemSetAttribute(corpse, "description", "You recognize " .. getCreatureName(cid) .. ". He was killed by "..(isMonster(attacker) and "a "..string.lower(getCreatureName(attacker)) or isCreature(attacker) and getCreatureName(attacker) or "a field item")..".")
                                doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)
                                doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)), false)
                                doSendMagicEffect(getPlayerPosition(cid), CONST_ME_TELEPORT)
                                setGlobalStorageValue(config.playerCount, getGlobalStorageValue(config.playerCount)-1)
                        elseif getGlobalStorageValue(config.playerCount) == 1 then
                                if isInArea(getPlayerPosition(cid), config.fromPosition, config.toPosition) then
                                        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.")
                                        local corpse = doCreateItem(3058, 1, getPlayerPosition(cid))
                                        doItemSetAttribute(corpse, "description", "You recognize " .. getCreatureName(cid) .. ". He was killed by "..(isMonster(attacker) and "a "..string.lower(getCreatureName(attacker)) or isCreature(attacker) and getCreatureName(attacker) or "a field item")..".")
                                        doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)
                                        doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)), false)
                                        doSendMagicEffect(getPlayerPosition(cid), CONST_ME_TELEPORT)
                                        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
                                end
                                                
                                for x = config.fromPosition.x, config.toPosition.x do
                                        for y = config.fromPosition.y, config.toPosition.y do
                                                for z = config.fromPosition.z, config.toPosition.z do
                                                        areapos = {x = x, y = y, z = z, stackpos = 253}
                                                        getMonsters = getThingfromPos(areapos)
                                                        if isMonster(getMonsters.uid) then
                                                                doRemoveCreature(getMonsters.uid)
                                                        end
                                                end
                                        end
                                end
                        end
                        return false
                end
        end
return true
end

Creaturescripts.xml

 

<event type="statschange" name="zombieevent" event="script" value="zombie event.lua"/>

Creaturescripts/scripts/login.lua

 

registerCreatureEvent(cid, "zombieevent")

Na pasta Monster crie um arquivo chamado Event zombie.xml e insira isto dentro:

 

<?xml version="1.0" encoding="UTF-8"?>
<monster name="Event Zombie" nameDescription="an event zombie" race="undead" experience="280" speed="100" manacost="0">
        <health now="500" max="500"/>
        <look type="311" corpse="9875"/>
        <targetchange interval="5000" chance="50"/>
        <strategy attack="100" defense="0"/>
        <flags>
                <flag summonable="0"/>
                <flag attackable="0"/>
                <flag hostile="1"/>
                <flag illusionable="0"/>
                <flag convinceable="0"/>
                <flag pushable="0"/>
                <flag canpushitems="1"/>
                <flag canpushcreatures="1"/>
                <flag targetdistance="1"/>
                <flag staticattack="90"/>
                <flag runonhealth="0"/>
        </flags>
        <attacks>
                <attack name="melee" interval="2000" min="-350" max="-350"/>
        </attacks>
        <defenses armor="15" defense="10"/>
        <immunities>
                <immunity paralyze="1"/>
        </immunities>
        <voices interval="5000" chance="10">
                <voice sentence="You wont last long!"/>
                <voice sentence="Mmmmh.. braains!"/>
        </voices>
        <loot>
                <item id="2148" countmax="1" chance="100000"/><!-- gold coin -->
        </loot>
</monster>

Depois em monstros.xml adicione a seguinte linha:

<monster name="Event zombie" file="event zombie.xml"/>

_________________________________________________________________

 

Como resolvo isso?

Obrigada desde já! +rep pra quem me ajudar ^^

Editado por TathiiCarvalho (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
  • 3 weeks later...

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

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

  • Conteúdo Similar

    • Por chateadoagr
      Servidor baseado em jogos e series: Resident Evil, TWD, Jurassic World, Jurassic Park, entre outros.
       
      O Inicio:
      Em 1993, em uma ilha remota, um rico empresário monta um parque temático com dinossauros vivos, criados a partir de DNA pré-histórico. Antes de abri-lo ao público, ele convida um conceituado paleontologista e sua namorada paleobotânica, um renomado matemático e também seus dois netos para conhecerem o parque - e ajudarem a acalmar investidores ansiosos. Mas a visita não é nem um pouco tranquila, já que os predadores pré-históricos escapam e começam a caçar os habitantes da ilha, no final do ano de 1993, foi isolada a ilha, exterminados os animais e ninguém mais explorou a ilha temática.
       
      Em 1998, quando crimes bizarros começam a assolar a pequena Raccoon City. As vítimas, normalmente andarilhos e excursionistas que passam pela floresta nos arredores da cidade, são brutalmente assassinadas e seus corpos apresentam sinais de canibalismo e violência extrema. O departamento de polícia de Raccoon decide enviar seu time de elite, os S.T.A.R.S. (Special Tactics and Rescue Service, Serviço de Táticas Especiais e de Resgate) para cuidar do caso. A primeira equipe enviada é a Bravo, que perdeu contato com a delegacia minutos após entrar na área da floresta. Após 24 horas sem contato via rádio, a equipe Alpha é enviada, e se surpreendem ao encontrar o helicóptero da outra equipe completamente abandonado. Enquanto checavam os arredores em busca de pistas sobre a localização dos policiais desaparecidos, Joseph Frost, um dos membros da equipe Alpha, é atacado por cães selvagens, que aparentam estado de decomposição avançada. Abandonados por Brad Vickers, piloto da equipe, que foge levando o helicóptero, os oficiais sobreviventes se veem sem opção a não ser se refugiar em uma mansão que é avistada de longe.[...]
       
       
       
       
      Após o fracasso do parque temático e o apocalipse, os sobreviventes foram levados para uma nova ilha que se tornou uma cidade com muitos recursos recuperados pelo apocalipse. Anos se passaram e a humanidade cresceu relativamente. Novos médicos, cientista e estudantes vieram a tona, mas um deles se destacou, o Dr Edward Kirk.
      O Dr Edward Kirk, um cientista, que assumiu as empresas Umbrella Corporation e as empresas Weskers, assim que seus diretores foram mortos nos ataques de Reccoon City. Dr Kirk mudou o nome das empresas para Healthy Life(vida saudável), com seu principal projeto: Terceira energia, esse projeto consiste num sistema em que cria energia limpa e barata.
      Porem o Governo, não quis patrocinar esse projeto então o Dr, retornou ao seu antigo projeto "O Fim da Extinção". Esse projeto teve ajuda de vários empresários que investiram muito nesse projeto que era trazer animais que foram extinto de volta a vida, pegando DNAs de fosseis e transformando eles a vida novamente, também teve ajuda do Dr Albert wesker.[...[
      Continua...
       
       
       
       



       

       

       
      Mapa:
       
       




      A ideia é deixar assim uma das ilhas:

      Será na versão 8.6 
      Cliente OTC
      O que estou precisando:
      Spriters de dinossauros, personagens, itens(arma e equipamentos), etc.
      Programadores pra ajudar a desenvolver alguns sistemas que estão faltando.
      Mapper para ajuda a termina o mapa.
      Doações, sugestões e ajuda:
      Entre em contato pelo whatsapp:
      42 9 88067789
      Nome: Itamar Vinicius
       
       
       
    • Por Gaspar085
      Sinopse - World Of Deads é um jogo MMORPG baseado em um pós apocalipse zumbi, no ano de 2019 um virus conhecido por Genesis Covid, teria se espalhado e devastado toda a terra, e dentro do jogo você irá encontrar vários grupos de sobreviventes, que lutam para sobreviver mediante as circunstância, com a esperança que um dia tudo isso vai acabar.
       
      Quem somos? - Somos amantes de jogos de sobrevivência, tentando sair um pouco do padrão de Naruto, Poketibia, Digimon, Dbo, dentre outros, alguns já conhecem a gente, outros não... já jogamos e conhecemos, alguns Tibia que envolvia zombie, mas hoje em dia nenhum está mais online, e a gente viu que muitos gostam desse estilo de jogo, então decidimos dar inicio ao World OF Deads.
      Nossa equipe é forma no momento apenas por dois integrantes, Sendo um programador e um Mapper.
       
      Programador - Adriano SwaTT @Adriano SwaTT
      Mapper - Gaspar @alaogaspar
       
      Qual base estamos usando? - Estamos usando a TFS 1.3,  100% clean, leve, sem lag... Tudo está sendo criado do zero, Estamos desenvolvedo para PC e Mobile.
       
      Quais sistemas já tem implementado? 
       
      System Pilhagem - Um sistema que te permite vasculhar moveis, lixo, carros e etc, para encontrar itens melhores e se fortalecer. 
      System Real Vision Angle- Sistema onde você só verá os zombies que estão no seu campo de visão de 180°, ou seja se você estiver de costa para um zombie não o verá chegando, a não ser que se vire... colocamos para dar um impacto mais realista no jogo.
      System Real Shot Angle- Uma melhoria no sistema de tiro, feito para ficar mais realista.
      Dentre outros sistemas básico como, armas, recarga e etc, também já estão implementado.
       
      O que está na fila?
      Sistema de construção de abrigo, fortalezas e etc.
      Sistema para dominar abrigos, fortalezas.
      Não irei colocar muita coisa aqui, quaisquer dúvida entrem no nosso discord que está no final do post.
       
       
      Tem vagas para ingressar no projeto ?
      Sim, temos vagas... mas apenas para pessoas acima de 18 anos, com experiencia.
       
      Mapper - 1 Vaga.
      Sprites - 2 Vagas.
      Programador - 1 Vaga.
      Web Master - 1 Vaga.
      Designer - 1 Vaga.
      OTclient Maker - 1 Vaga
       
      Prints do jogo?
       
       
       
      Quer saber mais do projeto? entre no nosso Discord.
      Quer ser parte da equipe? Entre no nosso discord e chamem o ADM no pv.
       
       
      OBRIGADO PELA ATENÇÃO, AGUARDO TODOS VOCÊS NESSA AVENTURA.
       
       
       
        Redes sociais 
       
      Facebook: https://www.facebook.com/worldofdeads
      Discord: https://discord.gg/bcyvzpntPE
       
       
    • Por brendoonh
      Boa noite galerinha do TK,
      Estou com um problema na script do Evento Zombie do Smart Maxx ,
       
      È o seguinte o evento está funcionando normalmente, só que na hora que inicia o evento aparece uma mensagem dizendo que o portal fechou, só que ele permanece no local, alguem que saiba como arrumar para me ajudar? 

      Estou usando essa script:
      fecharzombie
       
    • Por Sekk
      Bom galera, direto ao assunto, segui um tópico no OTLand(aqui) para adicionar o evento Zombie Event no meu server.
       
      Tudo certo até os players entrarem no mapa do zombie, mas ai começa uns bugs no console:
       
       
      Ai vai o meu lib/zombie_event.lua
        globalevents/scripts/zombie/onthink.lua  
        POR FAVOR, ME AJUDEM!! Quero muito esse evento, e nenhum outro na internet funcionou comigo... NENHUM!
    • Por Tricoder
      Nome: Zombie Event Versão TFS: 1.x Créditos: Printer Preview
      http://2.1m.yt/xHhGcL9.png
       
      Características
      Quantidade minima e máxima de players e zombies. Começar automaticamente através do Globalevent ou por comando. Se juntar ao evento através do teleport ou do comando. Contagem de zumbis e de mortes. Três troféus com descrição e data. BUGS CORRIGIDOS!  
      Atenção
      Adicione no-logout tool do RME na sala de espera e também na área do evento.
       
      Tutorial
      data/creaturescripts/creaturescripts.xml
      <!-- Zombie Event --> <event type="preparedeath" name="ZombiePlayerDeath" script="player/zombieEventDeath.lua" /> <event type="death" name="ZombieOnDeath" script="player/zombieEventDeath.lua" /> data/creaturescripts/scripts/zombieEventDeath.lua
      function onDeath(monster, corpse, killer, mostDamage, unjustified, mostDamage_unjustified) -- Send text and effect monster:say("I WILL BE BACK!", TALKTYPE_MONSTER_YELL) monster:getPosition():sendMagicEffect(CONST_ME_MORTAREA) -- Remove zombie count, when it dies Game.setStorageValue(ze_zombieCountGlobalStorage, getZombieEventZombieCount() - 1) -- Store player kills local killerId = killer:getId() if zombieKillCount[killerId] ~= nil then zombieKillCount[killerId] = zombieKillCount[killerId] + 1 else zombieKillCount[killerId] = 1 end return true end function onPrepareDeath(player, killer) -- Remove player from count local count = getZombieEventJoinedCount() Game.setStorageValue(ze_joinCountGlobalStorage, count - 1) -- Reset player after death player:teleportTo(player:getTown():getTemplePosition()) player:setStorageValue(ze_joinStorage, 0) player:addHealth(player:getMaxHealth()) player:addMana(player:getMaxMana()) -- Let's reward the 3 last players if count <= 3 then local playerName = player:getName() local trophy = ze_trophiesTable[count] local item = player:addItem(trophy.itemid, 1) if item then item:setAttribute(ITEM_ATTRIBUTE_DESCRIPTION, string.format("%s %s\n%s.", playerName, trophy.description, os.date("%x"))) end -- Store kill count and remove from table to avoid memory leak local playerId, killCount = player:getId(), 0 if zombieKillCount[playerId] ~= nil then killCount = zombieKillCount[playerId] zombieKillCount[playerId] = nil end -- Broadcast Game.broadcastMessage(string.format("%d place goes to %s of Zombie Event versus %d Zombies and slained %d Zombies.", count, playerName, getZombieEventZombieCount(), killCount)) -- The last player died, let's reset the event if count <= 1 then resetZombieEvent() end end return false end data/movements/movements.xml
      <!-- Zombie Event --> <movevent event="StepIn" actionid="7000" script="zombieEventTeleport.lua" /> data/movements/scripts/zombieEventTeleport.lua
       
      data/talkactions/talkactions.xml
      <talkaction words="!zombie" separator=" " script="zombieEventCommands.lua" /> data/talkactions/scripts/zombieEventCommands.lua
       
      data/global.lua
      dofile('data/zombieEvent.lua') data/zombieEvent.lua
       
      data/monsters/Zombie Event.xml
       
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo