por Derass ESX · QBCore · Qbox · vRP · Standalone

Yoga minigame

O minigame de yoga do modo história, tirado da missão e transformado numa atividade de roleplay que qualquer um pode começar. Alinhe os dois marcadores, sustente a postura enquanto o corpo vai entrando nela, e depois inspire e expire nos gatilhos do controle. Três rotinas, quatorze posturas, as animações e os sons de respiração do próprio jogo. E uma pontuação para os seus próprios scripts reagirem.

Entrega Instantânea
Atualizações Grátis para sempre
Suporte Discord todo dia
01 · FUNCIONALIDADES

O que ele faz

02 · SPECS

Especificações
técnicas

Framework Não precisa Nunca lê dinheiro, itens nem identidade
Dependências Nenhuma Sem banco, sem SQL, sem resource de target
Conteúdo 3 rotinas · 14 posturas 37 clipes de animação · 12 animações de recuperação
Idiomas no jogo 15 incluídos ar · cs · de · en · es · fr · id · it · nl · pl · pt-br · ro · ru · th · tr
Performance 0.00ms em repouso Nada roda enquanto ninguém chega perto de um spot
03 · INCLUSO

Tudo o que
você recebe

  • Quinze arquivos de idioma, entregues preenchidos

    Seus jogadores leem o script no idioma deles desde o primeiro start, e os arquivos ficam fora do escrow, então você corrige qualquer linha em produção. Nota honesta: eles são traduzidos e revisados por nós, não revisados por nativos dos quinze idiomas. Diga o que soa errado no seu e a gente corrige.

  • Todos os números do minigame estão abertos

    Ciclos de respiração perdidos antes de uma postura falhar, posturas falhadas antes da sessão parar, quanto tempo o ar pode ficar preso, sensibilidade do mouse, vibração, avisos na tela, a força do timecycle por postura e o teto desse efeito. `config/config.lua` está fora do escrow, então um servidor de spa e um de yoga na cadeia podem rodar o mesmo script em duas dificuldades diferentes.

  • Os spots do mapa, inteiros na config

    Coordenadas, direção, qual rotina, o tapete, o sprite e a cor do blip, a que distância o marcador aparece e a partir de que distância o aviso funciona. Deixe a lista vazia e essa parte inteira se desliga, thread incluída.

  • Quatro exports e um event de integração

    Começar uma sessão e saber se um jogador está numa, pelo servidor e pelo client. E um único event no fim com o resultado, documentado no arquivo com a linha para copiar. É o caminho mais curto entre essa atividade e a sua economia.

04 · DOCUMENTAÇÃO

Guia de integração

01

Instalação

  1. Coloque o resource

    Baixe o script pela sua conta Tebex, copie a pasta avenida_yoga/ para o seu diretório de resources e adicione ensure avenida_yoga na config do servidor.

  2. Defina o idioma e as rotinas

    Config.Locale aceita qualquer um dos quinze códigos que vêm em locales/. Config.EnabledMoves decide quais rotinas os jogadores podem começar, e Config.DefaultMove diz qual entra quando nenhuma é informada.

  3. Coloque os seus spots

    As duas coordenadas de Config.Spots são exemplos, troque elas pelas suas. Cada uma leva direção, rotina e um blip que dá para desligar. Uma lista vazia desativa essa parte inteira e a thread dela.

  4. Aponte as notificações para a sua stack

    Config.Notif está em auto e detecta ox_lib, okokNotify, QBCore ou ESX nessa ordem. Force o alvo se você roda vários, ou use o caminho custom de bridges/notif.lua para o seu próprio sistema.

  5. Ligue a recompensa, ou não

    A atividade funciona do jeito que está sem uma linha do seu código. Quando quiser que ela pague algo, escute avenida_yoga:server:sessionCompleted e leia a pontuação. É o único ponto de integração.

02

Início rápido

Transformar uma sessão em recompensa

Um event, disparado uma vez no fim. A pontuação já vem calculada: 1 para uma rotina terminada, no máximo 0,4 se ela for abandonada, menos 8 por cento por postura falhada. O que isso vai pagar é escolha sua.

lua
AddEventHandler('avenida_yoga:server:sessionCompleted', function(src, data)
    -- data.move       'warrior' | 'triangle' | 'sunsalutation'
    -- data.completed  true when the routine went to the end
    -- data.posesBest  poses held
    -- data.poses      poses in the routine
    -- data.fails      poses dropped
    -- data.score      0.0 to 1.0

    if not data.completed then return end

    -- your own reward: stress, stamina, a skill, a payout
    local reward = math.floor(250 * data.score)
end)
03

Referência da API

Exports públicos agrupados por domínio. Cada linha mostra a assinatura da chamada e o que ela faz, não como faz.

Server

  • StartYoga
    exports['avenida_yoga']:StartYoga(src, moveKey?) --> boolean

    Começa uma sessão para um jogador a partir do seu próprio código de servidor, na rotina que você nomear ou na padrão. Retorna false quando a rotina é desconhecida ou o jogador já está numa sessão, então um job ou um prop pode reagir em vez de disparar às cegas.

  • IsDoingYoga
    exports['avenida_yoga']:IsDoingYoga(src) --> boolean

    Verdadeiro enquanto o jogador tem uma sessão viva, com a expiração já contada. Útil para bloquear uma ação de job, um teleporte ou uma loja enquanto o minigame está com os controles dele na mão.

Client

  • StartYoga
    exports['avenida_yoga']:StartYoga(moveKey?) --> boolean

    Pede uma sessão ao servidor a partir do código de client. O pedido passa pelo registro do servidor do mesmo jeito, então não é um jeito de escapar do controle de sessão.

  • IsDoingYoga
    exports['avenida_yoga']:IsDoingYoga() --> boolean

    Verdadeiro enquanto o jogador local está numa sessão. O gêmeo no client do export de servidor, para qualquer coisa que precise reagir no mesmo frame.

04

Receitas

Exemplos de copiar e colar para os casos mais comuns. Você cola na sua resource, ajusta os valores e já está em produção.

Um spot precisa de coordenadas e direção. O resto é opcional: a rotina que ele começa, o blip, e até se o tapete aparece. Ponha `move` em `random` para variar, ou em `menu` para o jogador escolher.

lua
-- config/config.lua
Config.Spots = {
    {
        coords  = vector3(-1204.02, -1566.28, 3.63),
        heading = 125.0,
        move    = 'menu',
        blip    = { sprite = 311, colour = 2, scale = 0.7 },
    },
}
05

Perguntas frequentes

  • Não. A atividade nunca lê dinheiro, itens, jobs nem identidade, então não existe nada que um framework pudesse entregar. O mesmo arquivo roda em ESX, QBCore, Qbox, vRP, ox_core ou num servidor standalone sem configurar um único bridge. A única parte que sabe do seu framework é a linha de notificação, um arquivo aberto com seis caminhos.
AVALIAÇÕES

O que dizem os compradores

5.0 1 avaliação verificada

  • Jpmediaaa. Hotstar Production

    I am very happy that I was given the opportunity to make a script trailer for the yoga minigame, I think the script is very seamless and very easy to use and interactive.

    Ver no Discord ↗
Carrinho
Spirit RP
Discord