Ir para conteúdo
  • Cadastre-se

Posts Recomendados

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

  Mostrar conteúdo oculto

 

data/talkactions/talkactions.xml

<talkaction words="!zombie" separator=" " script="zombieEventCommands.lua" />

data/talkactions/scripts/zombieEventCommands.lua

  Mostrar conteúdo oculto

 

data/global.lua

dofile('data/zombieEvent.lua')

data/zombieEvent.lua

  Mostrar conteúdo oculto

 

data/monsters/Zombie Event.xml

  Mostrar conteúdo oculto

 

Link para o post
Compartilhar em outros sites
  • 2 months later...
  • Respostas 9
  • Created
  • Última resposta

Top Posters In This Topic

Top Posters In This Topic

Popular Posts

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

  • 2 weeks later...
  • 2 weeks later...
  • 1 month later...
  Em 30/12/2015 em 20:37, Azhaurn disse:

dofile('data/zombieEvent.lua')

Expand   Mostrar mais  

meu ot nao tem esta pasta data, qual seria o destinatário pra este bloco???? REP++ :)

Link para o post
Compartilhar em outros sites

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 Under
      Apresentando o Tibia-IA: A IA para Desenvolvimento de Servidores Tibia! 
       O que é o Tibia-IA?
      Um modelo de IA especializado para Tibia! Ele está atualmente em teste gratuito, e eu adoraria que vocês o experimentassem. Basta acessar https://ai.tibiaking.com, criar uma conta e começar a usar totalmente de graça! 
       Versão Experimental Fechada
      Atualmente, algumas funcionalidades ainda estão em desenvolvimento. No momento, apenas a geração de scripts está disponível para o público.
      Se encontrarem qualquer problema nos scripts gerados, me avisem! Vamos juntos construir a IA mais poderosa para ajudar no desenvolvimento de servidores Tibia!  
      Contato direto discord : underewar
       Acesse agora: https://ai.tibiaking.com
       Como funciona?
       Geração automática de scripts LUA para TFS  Suporte a diferentes eventos, criaturas, NPCs, magias, etc.  Ferramenta em constante evolução para aprimorar o desenvolvimento Novidades em breve confira no site. O acesso ao Tibia-IA está disponível para testes GRATUITOS! Até dia 05/05/2025
      Basta criar uma conta em: https://ai.tibiaking.com
      Utilize a IA para gerar seus scripts de forma simples e rápida
      Envie feedbacks para ajudarmos a tornar a ferramenta ainda melhor!

      Problemas relatar diretamente no meu discord pessoal : underewar
       



    • Por Johncore
      Open Source MMORPG emulador de Tibia escrito em C++.
      Servidor Global 12.85 Oficial para o Tibiaking!
      Baseado no TFS 1.3

       
       
        
       Novidades!
       
      - Protocolo 12.85
      - Bestiary
      - Charms
      - Boosted Creature
      - Quick Loot
      - Supply Stash
      - Event Schedule
      - GLOBAL MAP FULL
      - Quests com Quest Log 100%
      - Bounac
      - Wherehyenas
      - Mirrored Nightmare
       
       
       

       
      Imagens :
       
      THAIS TEMPLE
       

       
       
      



      Downloads 

       
       Servidor + Database + Source: 
      »» PROJETO OFFICIAL:  
      https://github.com/otg-br/global1285
       
      GRUPO WHATSAPP OTG SERVER:
      https://chat.whatsapp.com/EWV3dVvS6nt1em7q23FGu7

       
       
       

       
      Créditos :
      The Forgotten Server
      Otg contribuidores
      Johncore
      Erick Nunes
      Mattyx
      Cjaker
      Leu
      Marson Schneider
      Rafhael Oliveira

       
       
    • Por Johncore
      Otg Server Global 

      Somos o Otg Server, projeto baseado no TFS 1.3 e OTX3.2,
      Se trata de um servidor baseado no GLOBAL MAP RL.
      Aqui você encontrará baixo uso de recursos como CPU / memoria, prezamos muito por estabilidade e atualizações constantes.

      Agradecemos primeiramente ao Tibiaking pela oportunidade nos concedida,
      somos parceiros oficiais do Tibiaking.com melhor Forum Brasileiro!

       
        
      Especificações :
      - Global Map FULL RL
      - Maioria das Quests com Quest Log 100%
      - Anti Rollback + Auto Restart 100%
      - Source Otimizada (baixo consumo de CPU e memoria)
      - Sem Bug de Clonar dinheiro (Npcs Refeitos
      - Exercise Training 100%
      - Raids 100%
      - Monstros 100%
       
       
       
       

      Imagens :
       
      THAIS TEMPLE
       

       
      FALCONS
       

       
      NEW ASURAS
       

       
      WZ 4,5,6

       

       

      
      Downloads :
       
      PROJETO OFFICIAL GITHUB: 
      https://github.com/otg-br/global-11x
       
      TUTORIAL PARA COMPILAÇÃO:
      https://github.com/otg-br/global-11x/wiki
       
      EXE compilado WIN11 64bits:
      https://github.com/otg-br/global-11x/blob/main/Executavel compilado win11 64bits.rar
       
      GRUPO WHATSAPP OTG SERVER:
      https://chat.whatsapp.com/EWV3dVvS6nt1em7q23FGu7
       
       
       

       Créditos :
      The Forgotten Server
      Otland
      Mark Samman
      Mattyx Otx
      Erick Nunes
      Johncore
      Otg Server contribuidores
      OTX contribuidores
      Otservbr
      Leu
      Marcomoa
      Marson Schneider
      Leandro Baldissera
       
    • Por luanluciano93
      Olá pessoal, estou desenvolvendo esse sistema vip para TFS 1.x, se precisarem de alguma função nova é só comentar, criei para usar em um servidor meu e resolvi postar, bom proveito a todos.
       
      É só ir no arquivo data/lib/core/player.lua e adicionar esse código no começo do script:
      -- ALTER TABLE `accounts` ADD `vip_time` BIGINT(20) NOT NULL DEFAULT 0; -- player:getVipTime() function Player.getVipTime(self) local resultId = db.storeQuery("SELECT `vip_time` FROM `accounts` WHERE `id` = '".. self:getAccountId() .."';") local time = resultId ~= false and result.getNumber(resultId, "vip_time") or 0 result.free(resultId) return time end -- player:isVip() function Player.isVip(self) return self:getVipTime() > os.time() and true or false end -- player:addVipDays(days) function Player.addVipDays(self, days) return(self:isVip() and tonumber((days * 86400))) and db.query("UPDATE `accounts` SET `vip_time` = '".. (self:getVipTime() + (days * 86400)) .."' WHERE `id` ='".. self:getAccountId() .."' LIMIT 1 ;") or db.query("UPDATE `accounts` SET `vip_time` = '".. (os.time() + (days * 86400)) .."' WHERE `id` ='".. self:getAccountId() .."' LIMIT 1 ;") end -- player:removeVipDays(days) function Player.removeVipDays(self, days) return(self:isVip() and tonumber((days * 86400))) and db.query("UPDATE `accounts` SET `vip_time` = '".. (self:getVipTime() - (days * 86400)) .."' WHERE `id` ='".. self:getAccountId() .."' LIMIT 1 ;") or db.query("UPDATE `accounts` SET `vip_time` = '".. (os.time() - (days * 86400)) .."' WHERE `id` ='".. self:getAccountId() .."' LIMIT 1 ;") end -- player:setVipDays(days) function Player.setVipDays(self, days) return db.query("UPDATE `accounts` SET `vip_time` = '".. (os.time() - (days * 86400)) .."' WHERE `id` ='".. self:getAccountId() .."' LIMIT 1 ;") end -- player:removeVip() function Player.removeVip(self) db.query("UPDATE `accounts` SET `vip_time` = '0' WHERE `id` ='".. self:getAccountId() .."' LIMIT 1 ;") end -- player:sendVipDaysMessage() function Player.sendVipDaysMessage(self) if self:isVip() then local vipTime = self:getVipTime() - os.time() local vipDays = 1 + (math.floor(vipTime / 86400)) return self:getVipTime() ~= false and self:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, 'You have '.. vipDays .. ' vip day(s) in your account.') end end -- player:checkVipLogin() function Player.checkVipLogin(self) if self:getVipTime() > 0 and not self:isVip() then return self:removeVip() and self:teleportTo(self:getTown():getTemplePosition()) end end  
       
      As funções são:
      • player:getVipTime() - Retorna o valor da tabela vip_time (igual esta na database).
      • player:isVip() - Retorna se o player é vip ou não.
      • player:addVipDays(days) - Usa-se em algum script para para adicionar dias de vip ao player (parâmetro de entrada "days").
      • player:removeVipDays(days) - Usa-se em algum script para para remover dias de vip do player (parâmetro de entrada "days").
      • player:setVipDays(days) - Usa-se em algum script para para mudar os dias de vip do player (parâmetro de entrada "days").
      • player:removeVip() - Usa-se em algum script para para remover todo tempo de vip do player.
      • player:sendVipDaysMessage() - Retorna uma mensagem no player mostrando os dias de vip que ainda restam ao player.
      • player:checkVipLogin() - Checa se a vip do player acabou, se sim teleporta ele para o templo.
       

      Qualquer dúvida ou erro/bug poste aqui.
    • Por Deletera
      Atenção! Os arquivos disponibilizados abaixo são da versão 12.64!
      Para obter otserv 12.64+ atualizado com novas áreas e novos gráficos acesse o github oficial do projeto OTX: https://github.com/opentibiabr/otservbr-global
       
      Servidor feito especialmente para jogadores que gostam do Tibia Oldstyle,
      mas colocado na versao 12 com novas funcionalidades, mounts, outfits e itens.  
       
      Todos Outfits sao frees & Addons coletando itens
       
      PVP clássico, old school times
       
      Spells adaptadas a versao 8.60
       
      Mais de 50 quests na Teleport Room
       
      Tasks e Missions para explorar o mapa
       
      Raids automáticas com novos bosses
       
      Reward System desabilitado, loot tradicional (bem melhor assim, certo?)
       
      Áreas custom e inovadoras como Hogwarts
       
      Em resumo, o OT busca ser simples, resgatando a naturalidade do que era o baiak da versão 8.60 em 2009, mas com implementações 12x+
       
      ◄IMAGENS►
      ◄DATAPACK & DLLS►
      » OTX Baiak Styller 12.64 MediaFire (Scan)
       » OtservBR Dlls & Executável (Windows 64x)
      (Antes de rodar o OT verifique de usar a mesma database e configurar o login no config.lua)
       
      ◄CLIENTS►
      » Tibia Client 12.64 MediaFire (Scan)
      (Para conectar ao cliente 12 (localhost), acesse usando 127.0.0.1_client.exe, localizado na pasta bin.)
       
      ◄WEB►
      » [GesiorAcc] para Tibia 12.64 MediaFire (Scan)
      Instale o XAMP para rodar com a data base e site disponíveis
      (não se esquece de alterar o login e senha no config.lua, para o atual a senha do mysql está como "XIPA2")
       
      » [Data base] acc/email e senha: god/god MediaFire (Scan)
      O OT está configurado para aceitar acc no lugar de email (opcional) para usar as acc de testes é senha 123123
       
      ◄Créditos►
      Waldir Teixeira (Saruman/Deletera) &
       
  • Estatísticas dos Fóruns

    96850
    Tópicos
    519614
    Posts



×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo