Vai al contenuto

Eggs ​

Edizione gratuita · RedM · VORP incluso · Altri framework tramite adattatori pubblici

rz_eggs aggiunge a RedM la raccolta configurabile delle uova, con disponibilità dei nidi condivisa, ricompense e tempi di ricomparsa. Questa è l’edizione gratuita, configurabile dai file pubblici: non include il menu di gestione di Herbs V2.

🛒 Scarica Eggs gratis

Versione ​

Versione documentata: 1.0.9. La versione installata è indicata in fxmanifest.lua. Il controllo degli aggiornamenti in console usa la voce rz_eggs_free di RZ Releases.

Panoramica ​

  • Sette varianti di nido per cinque oggetti uovo: anatra, alligatore, oca, strolaga e avvoltoio.
  • Coordinate personalizzate e scelta casuale fra le varianti assegnate a ciascun gruppo di coordinate.
  • Più ricompense per nido, con quantità e probabilità configurabili.
  • Rendering in base alla distanza, indicatori sulla mappa e sincronizzazione multiplayer.
  • Tempo di ricomparsa, traduzioni e log Discord facoltativi.
  • Integrazione VORP inclusa e adattatori modificabili per altri framework.

Uova supportate ​

Definizione compositeRicompensa predefinita
COMPOSITE_LOOTABLE_DUCK_EGG_5_DEF5 × duckegg
COMPOSITE_LOOTABLE_GATOR_EGG_3_DEF3 × gatoregg
COMPOSITE_LOOTABLE_GATOR_EGG_4_DEF4 × gatoregg
COMPOSITE_LOOTABLE_GATOR_EGG_5_DEF5 × gatoregg
COMPOSITE_LOOTABLE_GOOSE_EGG_4_DEF4 × gooseegg
COMPOSITE_LOOTABLE_LOON_EGG_3_DEF3 × loonegg
COMPOSITE_LOOTABLE_VULTURE_EGG_VARIATION_01_DEF1 × vultureegg

Le quantità sono quelle della configurazione fornita. Le ricompense si modificano in Config.LootReward; la definizione composite controlla il nido visibile. Eggs non include il sistema di consumo/effetti di Herbs e non genera animali che attaccano il giocatore.

Installazione ​

  1. Riscatta il pacchetto gratuito su Tebex e scaricalo dalle risorse assegnate su Cfx.re, con l’account autorizzato a usare la risorsa.
  2. Metti la cartella rz_eggs dentro resources, anche in una categoria come [rz]: per esempio resources/[rz]/rz_eggs.
  3. Oggetti inventario — facoltativo: puoi usare gli oggetti già presenti nel tuo inventario, scegliendoli nella configurazione delle ricompense. Se vuoi aggiungere quelli forniti con lo script, trovi il file pronto public/eggs-vorp.sql per VORP e le icone in public/img/. Importa solo gli oggetti che ti servono, verificando lo schema del tuo inventario ed evitando duplicati; aggiungi le relative icone se necessarie.
  4. Configura i file pubblici indicati sotto.
  5. Avvia la risorsa dopo le dipendenze:
text
ensure oxmysql
ensure vorp_core
ensure vorp_inventory
ensure rz_eggs

Per un altro framework, sostituisci le voci VORP con il tuo framework e inventario, completando entrambi gli adattatori prima di usare Config.Framework = "custom".

Requisiti ​

VORP
  • vorp_core e vorp_inventory, avviati prima di Eggs.
  • Oggetti ricompensa registrati e spazio disponibile nell’inventario.
Altri framework
  • Sistema personaggi e inventario collegati tramite public/framework/.
  • Uno sviluppatore deve completare il template con le funzioni e gli eventi reali del framework: selezionare custom non basta.
Obbligatori per tutti
  • Server RedM con OneSync attivo.
  • oxmysql: richiesto dal manifest attuale, che ne carica anche la libreria server.
  • Autorizzazione Cfx per la risorsa protetta.

Configurazione ​

FileContenuto
public/config.luaFramework, lingua, distanza, ricomparsa, definizioni uova, blip e ricompense
public/coords.luaGruppi di coordinate e varianti di nido disponibili
public/language/en.luaNotifiche inglesi incluse e testi dei log
public/framework/client/Evento di caricamento personaggio e notifiche client
public/framework/server/Accesso al personaggio, ricompense e notifiche server
public/eggs-vorp.sqlDefinizioni di esempio degli oggetti per VORP
public/img/Icone dell’inventario
Impostazioni principali — public/config.lua
lua
Config.UsedLang = "en"
Config.Framework = "vorp" -- "custom" dopo aver completato gli adattatori
Config.WebhookUrl = "" -- Vuoto disattiva i log Discord
Config.Debug = false
Config.Render = 20.0 -- Distanza di rendering
Config.RespawnTimer = 20 -- Minuti dopo la raccolta

Modifica questi campi nel file esistente: non sostituire l’intero file con questo estratto. Mantieni le dichiarazioni iniziali Config = {} e Language = {}.

Spawn e coordinate ​

Modifica Config.EggsCoords in public/coords.lua. Ogni gruppo contiene una lista eggs e una lista coords. All’avvio della risorsa il server sceglie una delle varianti elencate per ciascuna coordinata; non genera posizioni casuali all’interno di un’area.

Esempio di gruppo di coordinate
lua
Config.EggsCoords = {
    ducks = {
        eggs = {
            `COMPOSITE_LOOTABLE_DUCK_EGG_5_DEF`,
        },
        coords = {
            {x = 2464.36, y = -1399.3, z = 45.23},
            {x = 2435.98, y = -1431.85, z = 45.07},
        }
    }
}

È un esempio ridotto. Integra i gruppi nella tabella esistente per mantenere gli altri nidi. Ogni variante deve avere una voce corrispondente in Config.Eggs e Config.LootReward. La lista di varianti di ciascun gruppo non deve essere vuota; verifica l’altezza del terreno in gioco.

Blip ​

Ogni voce di Config.Eggs ha un name e una tabella blip con visible, type e color. Imposta visible = false per nascondere l’indicatore di quella variante. Controlla i nomi forniti: diverse voci condividono attualmente l’etichetta predefinita Duck Eggs.

Ricompense ​

Config.LootReward associa alla definizione composite del nido l’immagine della notifica e la lista delle ricompense. Gli oggetti devono essere già registrati nell’inventario.

Esempio con più ricompense
lua
Config.LootReward[`COMPOSITE_LOOTABLE_DUCK_EGG_5_DEF`] = {
    img = {
        dict = "pm_collectors_bag_mp",
        texture = "provision_duck_egg"
    },
    rewards = {
        {item = "duckegg", count = 5, label = "Uovo di anatra", chance = 100},
        -- Registra l’oggetto aggiuntivo nell’inventario prima di abilitarlo:
        -- {item = "feather", count = 1, label = "Piuma", chance = 25},
    }
}

Con chance = 100 la ricompensa supera sempre l’estrazione. L’implementazione attuale usa un solo numero casuale per interazione, condiviso da tutte le ricompense: non sono estrazioni indipendenti. Mantieni la voce con rewards = {} se vuoi intenzionalmente disabilitare gli oggetti ricompensa.

Se viene tentata almeno una ricompensa ma nessun oggetto può essere aggiunto, il server ripristina la disponibilità del nido. Se l’estrazione non assegna nulla o la lista è vuota, la raccolta avvia comunque il cooldown. Se viene aggiunta solo una parte degli oggetti, il nido resta raccolto.

Sincronizzazione e ricomparsa ​

Il server gestisce lo stato raccolto e controlla giocatore, nido, distanza e richieste ripetute prima di assegnare le ricompense. Un nido raccolto diventa indisponibile per gli altri giocatori. I giocatori vicini ricevono l’aggiornamento di rimozione; i client richiedono inoltre periodicamente le variazioni di stato.

Config.RespawnTimer è espresso in minuti. Il server controlla i cooldown una volta al minuto; sincronizzazione e rendering del client possono aggiungere un breve ritardo alla ricomparsa visiva.

Memorizzazione e prestazioni ​

Le posizioni provengono da public/coords.lua; stato di raccolta e cooldown sono tenuti in memoria e si azzerano al riavvio della risorsa. Questa edizione non salva lo stato dei nidi in SQL e non ha un’opzione UseSQL. L’SQL fornito registra gli oggetti nell’inventario, mentre oxmysql rimane una dipendenza del manifest.

I nidi vengono renderizzati in base alla distanza e i client mantengono una cache dei nidi vicini. Misura il resmon sul tuo server: numero e densità delle coordinate, giocatori e distanza di rendering influenzano il consumo.

Integrazione del framework ​

VORP ​

Imposta Config.Framework = "vorp". Gli adattatori inclusi usano dati del personaggio VORP, verifica della capacità dell’inventario e aggiunta degli oggetti. Modifica questi file pubblici solo se la tua integrazione VORP è diversa:

  • public/framework/client/vorp_cl.lua
  • public/framework/server/vorp_sv.lua

Altri framework ​

Completa public/framework/client/custom_cl.lua e public/framework/server/custom_sv.lua, poi seleziona custom.

Funzione/eventoIntegrazione richiesta
CustomSV.GetPlayer(source)Restituisce un personaggio/giocatore valido; nil/false impedisce la raccolta
CustomSV.GetPlayerName(source) / GetPlayerLastname(source)Nomi del personaggio usati nei log
CustomSV.AddItem(src, item, count)Verifica la capacità, aggiunge gli oggetti e restituisce un valore vero solo in caso di successo
CustomSV.Notify(...) / CustomCL.Notify(...)Il tuo sistema di notifiche
Evento client di caricamento personaggioSostituisci l’esempio customevent e richiama rz_eggs:playerLoaded quando il personaggio è pronto

L’adattatore custom è un template, non un’integrazione già pronta per ogni framework. Prova inventario pieno, aggiunta fallita e riconnessione oltre alla normale raccolta.

Lingue e notifiche ​

Duplica public/language/en.lua, rinominalo (per esempio it.lua), cambia la chiave della tabella in Language["it"], traduci i valori e imposta Config.UsedLang = "it". Mantieni tutte le chiavi. Riavvia la risorsa dopo le modifiche.

I testi di notifiche/log sono separati dai valori label delle ricompense e name delle uova in config.lua. I prompt nativi delle interazioni possono seguire la lingua del gioco del giocatore.

Log Discord ​

Inserisci il webhook del canale in Config.WebhookUrl, oppure lascialo vuoto per disabilitare i log. Non mostrare un webhook reale negli screenshot o negli esempi di configurazione pubblici.

Aggiornamento ​

  1. Fai un backup della risorsa, dei file pubblici personalizzati e del database dell’inventario prima di eventuali modifiche SQL.
  2. Ferma rz_eggs e scarica il pacchetto nuovo completo da Cfx.
  3. Sostituisci il codice della vecchia risorsa con il pacchetto nuovo. Cambiare soltanto public/ lascia installata la vecchia implementazione.
  4. Confronta i nuovi file public/ con il backup e riapplica coordinate, ricompense, traduzioni e integrazioni. Non sovrascrivere alla cieca la cartella pubblica nuova con quella vecchia.
  5. Segui il changelog per eventuali modifiche agli oggetti/allo schema; non reimportare inutilmente gli oggetti già presenti.
  6. Avvia dipendenze e risorsa, poi prova raccolta, ricompense, inventario pieno, sincronizzazione e cooldown.

Il controllo versione segnala gli aggiornamenti disponibili, ma non li installa. Mantieni rz_update_product "rz_eggs_free" nel manifest fornito per usare il canale corretto dell’edizione.

Risoluzione dei problemi ​

ProblemaCosa controllare
La risorsa non parteAutorizzazione Cfx, OneSync, oxmysql, struttura delle cartelle e ordine di avvio
Nessun nido visibileAltezza delle coordinate, varianti configurate, distanza, evento personaggio caricato e cooldown
Raccolgo ma non ricevo oggettiNomi esatti degli oggetti, capacità dell’inventario, probabilità e risultato della funzione custom AddItem
EGG_LOOT_CONFIG_MISSINGManca la voce della composite in Config.LootReward
EGG_LOOT_REWARDS_INVALIDLa configurazione deve avere una tabella rewards, anche se vuota
Nomi o notifiche erratiTabella della lingua selezionata, etichette ricompense e nomi delle uova

Attiva temporaneamente Config.Debug = true per leggere i log di raccolta del server, poi disattivalo. Per assistenza, indica versione, framework, passaggi per riprodurre il problema ed errori console in un ticket Discord.

Guide degli script · RZ

RZ SUPPORT

Troviamo la soluzione.

Installazione, configurazione o una domanda prima di acquistare? Parti da qui.

01
Leggi le guideInstallazione e impostazioni passo per passo.
↗
02
Apri un ticket su DiscordEntra nel nostro server, poi apri un ticket di assistenza.
↗

Descrivi il problema e indica la versione dello script. Riceverai risposta nel ticket.