par Derass ESX · QBCore · Qbox · vRP · Standalone

Yoga minigame

Le minijeu de yoga du mode histoire, sorti de sa mission et transformé en activité roleplay que n'importe qui peut lancer. Alignez les deux marqueurs, tenez la posture pendant que le corps s'y installe, puis inspirez et expirez sur les gâchettes. Trois enchaînements, quatorze postures, les vraies animations et les vrais sons de respiration. Et un score auquel vos propres scripts peuvent réagir.

Livraison Instantanée
Mises à jour Gratuites à vie
Support Discord 7j/7
01 · FONCTIONNALITÉS

Ce qu'il fait

02 · SPECS

Spécifications
techniques

Framework Aucun requis Ne lit jamais l'argent, les items ni l'identité
Dépendances Aucune Pas de base, pas de SQL, pas de ressource de target
Contenu 3 enchaînements · 14 postures 37 clips d'animation · 12 animations de relevé
Langues en jeu 15 incluses ar · cs · de · en · es · fr · id · it · nl · pl · pt-br · ro · ru · th · tr
Performance 0.00ms au repos Aucun thread tant que personne n'est près d'un spot
03 · INCLUS

Tout ce que vous
recevez

  • Quinze fichiers de langue, livrés remplis

    Vos joueurs lisent le script dans leur langue dès le premier démarrage, et les fichiers sont hors escrow, donc vous pouvez corriger n'importe quelle ligne en production. Note honnête : ils sont traduits et relus par nous, pas par des natifs des quinze langues. Dites-nous ce qui sonne faux dans la vôtre et c'est corrigé.

  • Les règles du minijeu vous appartiennent

    Cycles de respiration ratés avant qu'une posture échoue, postures ratées avant l'arrêt de la séance, durée maximale d'un souffle retenu, sensibilité de la souris, vibration, indications à l'écran, force du timecycle par posture et son plafond. `config/config.lua` est hors escrow, donc un serveur de spa bien-être et une cour de prison peuvent faire tourner la même ressource à deux difficultés différentes.

  • Les spots, entièrement en config

    Coordonnées, orientation, quel enchaînement, le tapis, le sprite et la couleur du blip, la distance d'apparition du marqueur et celle à partir de laquelle l'invite devient utilisable. Laissez la liste vide et toute la fonctionnalité s'éteint, thread compris.

  • Quatre exports et un event d'intégration

    Lancer une séance et savoir si un joueur en fait une, depuis le serveur comme depuis le client. Puis un seul event à la fin qui porte le résultat, documenté dans le fichier avec la ligne à recopier. C'est le chemin le plus court entre cette activité et votre économie.

04 · DOCUMENTATION

Guide d'intégration

01

Installation

  1. Déposer la ressource

    Récupérez le script depuis votre compte Tebex, copiez le dossier avenida_yoga/ dans votre dossier resources, et ajoutez ensure avenida_yoga à votre configuration serveur.

  2. Régler la langue et les enchaînements

    Config.Locale accepte n'importe lequel des quinze codes livrés dans locales/. Config.EnabledMoves décide des enchaînements que les joueurs peuvent lancer, et Config.DefaultMove celui utilisé quand aucun n'est précisé.

  3. Placer vos spots

    Les deux coordonnées de Config.Spots sont des exemples, remplacez-les par les vôtres. Chacune prend une orientation, un enchaînement, et un blip que vous pouvez couper. Une liste vide désactive toute la fonctionnalité et son thread.

  4. Diriger les notifications vers votre stack

    Config.Notif est sur auto et détecte ox_lib, okokNotify, QBCore ou ESX dans cet ordre. Forcez une cible si vous en faites tourner plusieurs, ou utilisez la branche custom de bridges/notif.lua pour votre propre système.

  5. Brancher la récompense, ou pas

    L'activité fonctionne telle quelle sans une ligne de votre code. Quand vous voudrez qu'elle rapporte quelque chose, écoutez avenida_yoga:server:sessionCompleted et lisez le score. C'est le seul point d'intégration.

02

Démarrage rapide

Transformer une séance en récompense

Un event, déclenché une fois à la fin. Le score est déjà calculé : 1 pour un enchaînement terminé, plafonné à 0,4 pour un abandon, moins 8 pour cent par posture ratée. Ce qu'il rapporte vous appartient.

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

Référence API

Exports publics groupés par domaine. Chaque ligne montre la signature d'appel

Server

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

    Lance une séance pour un joueur depuis votre code serveur, sur l'enchaînement que vous nommez ou sur celui par défaut. Renvoie false quand l'enchaînement est inconnu ou que le joueur est déjà en séance, un job ou un prop peut donc réagir au lieu de tirer à l'aveugle.

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

    Vrai tant que le joueur tient une séance en cours, expiration comprise. Utile pour bloquer une action de job, un téléport ou une boutique pendant que le minijeu tient ses contrôles.

Client

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

    Demande une séance au serveur depuis du code client. La demande passe quand même par le registre serveur, ce n'est donc pas un moyen de contourner le garde-fou de session.

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

    Vrai tant que le joueur local est en séance. Le jumeau côté client de l'export serveur, pour tout ce qui doit réagir dans la même frame.

04

Recettes

Exemples copier-coller pour les cas courants. À déposer dans ta ressource, ajuster les valeurs, et c'est en prod.

Un spot demande des coordonnées et une orientation. Tout le reste est optionnel : l'enchaînement qu'il lance, le blip, et même l'apparition du tapis. Mettez `move` sur `random` pour varier, ou sur `menu` pour laisser le joueur choisir.

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

Questions fréquentes

  • Non. L'activité ne lit jamais l'argent, les items, les jobs ni l'identité, il n'y a donc rien qu'un framework puisse fournir. Le même fichier tourne sur ESX, QBCore, Qbox, vRP, ox_core ou un serveur nu sans un seul bridge à configurer. La seule partie qui connaisse votre framework est la ligne de notification, un fichier ouvert à six branches.
AVIS

Ce qu'en disent les acheteurs

5.0 1 avis vérifié

  • 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.

    Voir sur Discord ↗
Panier
Spirit RP
Discord