DRS Halloween

v1.0.0 drs_halloween
Ver na loja

Evento de Halloween completo, pronto a ligar. O script inclui:

  • caça às abóboras por jogador (normais, raras e douradas), que recomeça todos os dias;
  • doces ou travessuras à porta dos vizinhos, com partidas (ovos, bêbado, susto, palhaço, casca de banana, vizinho de taco);
  • vagas de zombies criadas pelo servidor, em janelas de horas reais ou pelo staff;
  • fantasmas, relâmpagos, corvos e nevoeiro de Halloween;
  • 8 missões diárias e missões do evento que dão moedas;
  • atividades com história: carrinha de doces, mapa do tesouro e poção da bruxa;
  • loja de prémios (itens, armas, dinheiro e veículos), caderneta e ranking semanal;
  • ferramentas de staff dentro do próprio menu.

Funciona com Qbox, QBCore e ESX. Tudo é validado no servidor.

#Requisitos

RecursoObrigatório
oxmysqlSim
Qbox, QBCore ou ESXSim (deteção automática)
ox_target ou qb-targetNão — sem target usa a tecla E
ox_lib ou progressbarNão — barra de progresso ao apanhar abóboras
qb-weathersyncNão — se existir, o nevoeiro é aplicado por ele e reposto no fim

#Instalação

  1. Coloca drs_halloween em resources.
  2. Cria os itens com o ficheiro do teu inventário em install/ (items_qb-core.txt, items_ox_inventory.txt ou items_esx.sql) e copia as imagens de install/images/ para o inventário.
  3. Adiciona ao server.cfg, depois da framework:
server.cfg
ensure oxmysql
ensure qb-core
ensure drs_halloween
  1. Dá acesso de staff (os grupos de admin da framework já têm):
server.cfg
add_ace group.admin drs.halloween allow

As tabelas criam-se sozinhas (também estão em sql/drs_halloween.sql). No primeiro arranque entram as abóboras e as portas de Config.SeedPumpkins e Config.SeedDoors.

Dica

As coordenadas que vêm no config são um ponto de partida. Em jogo, abre /halloween → Staff e põe as abóboras, as portas e as decorações onde estás.

#Datas do evento

config.lua
Config.Event = { always = true, start = '10-20', finish = '11-05' }
Config.ResetHour = 6

Com always = false, o evento só está ligado entre start e finish (MM-DD, hora do servidor). As abóboras, as portas e as missões diárias recomeçam à Config.ResetHour.

#Abóboras e portas

  • Cada jogador vê só as suas abóboras; as que apanha desaparecem só para ele. Com Config.Pumpkins.mode = 'shared', quem chega primeiro leva e a abóbora desaparece para todos.
  • A raridade de cada abóbora muda todos os dias. As douradas e as raras têm luz própria e dão prémios melhores.
  • Nas portas aparece um vizinho que dá doces ou prega uma partida. Os sustos em ecrã inteiro desligam-se por jogador com /sustos.

#Zombies, fantasmas e ambiente

  • Config.Zombies.windows: janelas de horas reais ('HH:MM', podem passar da meia-noite) em que há vaga na zona. Com {} a vaga só começa pelo staff.
  • Os zombies são criados pelo servidor e só contam as mortes verdadeiras (zombies duplicados ou longe não contam).
  • Config.Ghosts: fantasmas à noite (horas do jogo) que se apanham com E, com limite por hora.
  • Config.Ambience e Config.Ambient: relâmpagos, luzes a piscar, corvos e nevoeiro.

#Missões e moedas

  • Config.Quests.daily: missões por dia (8 por defeito), de tipos diferentes; só saem missões que dá para fazer nesse dia.
  • Config.Quests.activities: quantas atividades com história entram, no mínimo, em cada dia.
  • Config.Quests.bonus: moedas extra por acabar todas as diárias.
  • Config.Quests.maxCoins: nenhuma missão dá mais do que isto (o servidor corta e avisa).
  • O separador Evento tem as missões da temporada toda.

Nota

No arranque, a consola avisa se as moedas das missões não chegarem para trocar todos os prémios com limite até ao fim do evento.

#Atividades com história

AtividadeComo funciona
Carrinha de docesComeça na "Loja de Doces" (ícone no mapa) e levas a carrinha até à entrega. O servidor confirma a carrinha e o tempo mínimo
Mapa do tesouro4 peças em zonas marcadas no mapa e depois o baú
Poção da bruxa3 ingredientes e a entrega à bruxa

A loja e o lugar da carrinha vêm de Config.Activities. O staff muda a entrega e a bruxa no menu.

#Prémios

config.lua
{ id = 'sanctus', label = 'Mota Sanctus (fantasma)', icon = 'motorcycle', rarity = 'legendary', cost = 2500, type = 'vehicle', model = 'sanctus', limit = 1 },

Tipos: item, weapon, money (account cash/bank), vehicle (vai para Config.RewardGarage) e custom (função Config.CustomReward, devolve true se correu bem). As moedas são tiradas antes de entregar e devolvidas se falhar.

#Comandos

ComandoQuemO quê
/halloweentodosMenu: missões, evento, prémios, caderneta, ranking (e staff)
/sustostodosLiga/desliga os sustos para ti
halloweencoins [id] [n]staff / consolaDar moedas
halloweenfogstaff / consolaEstado do nevoeiro

#Para programadores

Exports do servidor:

lua
exports.drs_halloween:AddCoins(src, 100, 'motivo')
exports.drs_halloween:AddQuestProgress(src, 'zombie', 1)
local coins = exports.drs_halloween:GetCoins(src)
local on = exports.drs_halloween:IsEventActive()

Com o DRS Battle Pass, cada missão acabada dá progresso do tipo halloween (Config.BattlePass).

#Configuração completa