Jump to content

MelonDisrupt

Senior Management
  • Posts

    72
  • Joined

  • Last visited

  • Days Won

    14

Everything posted by MelonDisrupt

  1. Hello, Here's another update for you, as we go into the late evening here in the UK, after a blistering day and honestly - a lot of stress, sweat and even some tears. Things are progressing, I am still happy with the level of systems we've transferred over. It has helped majorly that we began the early hours of this morning to convert. The launch date remains provisional. I may be looking into extending launch by a month. We cannot launch our server "half-baked". We must ensure that the product we're shipping to you, is as we'd expect to play too. We refuse to ship anything out that doesn't meet what we'd be happy with. If we encounter bugs over this weekend's planned testing, we will delay launch. It depends on the severity, depth and how quickly we can rectify. Keeping you all in the loop. Development will speed up again now, as it becomes cooler and we can spend more time at desks. Speak to you all soon.
  2. There is no intention to change the branding, the name of the project or any visual changes we have made. We welcome feedback, but our stance is unlikely to change.
  3. Mods have now been converted into FiveM resources. Thank you @FatCatTuxedo.
  4. ADJUSTMENTS: Following the migration to FiveM, subject to RAGEMP closure. We have been consulting, as a result and after review legally and following R*'s guide and policies. I am now confident to update our section 10 rules, with the following: Section 10 - Mature & Erotic Content E10.1 - Age Requirements for ERP: 18+ [PERM BAN] All players involved in any erotic roleplay must be 18+ in real life, and all characters must be 18+. This extends to appearance and assets: any character who looks underage, and any character model or skin depicting a minor, is prohibited in sexual content regardless of a claimed age. "They're 18 in their backstory" is not a defence. Zero tolerance for any sexual content involving minors or minor-presenting characters. Instant permanent ban. E10.2 - ERP Must Be Private [WARNING] ERP is permitted only in fully private, non-public locations — a locked residence, a private interior, or an instanced property where no other player can see or enter the scene. ERP in any public or semi-public area is prohibited, even if the area appears empty at the time. If you cannot guarantee privacy, do not begin. Repeat or deliberate offences escalate per the standard punishment guidelines. E10.3 - Mandatory OOC Consent [BAN] All ERP must be consensual out of character. Before anything begins, use /b to confirm every participant is an adult and comfortable. Consent can be withdrawn at any time, for any reason, without explanation — "stop" ends the scene instantly. Continuing after a decline or withdrawal is harassment and will be treated as such. E10.4 - No Streaming or Recording [BAN] ERP may not be streamed, recorded, clipped, or shared in any form on any platform. Capturing or distributing another player's ERP without their explicit OOC permission is a serious breach. This protects player privacy and keeps the server clear of third-party platform violations. E10.5 - Rape & Sexual Assault Strictly Prohibited [PERM BAN] Any form of rape or sexual assault roleplay is completely banned. No exceptions, no "but we both agreed out of character." It does not exist on this server. Instant permanent ban. E10.6 - Prohibited Extreme Content [PERM BAN] The following is permanently banned regardless of any claimed consent: any content involving minors, bestiality, necrophilia, and any comparable extreme sexual content. Instant permanent ban, no appeal. E10.7 - No Solicitation or Real-World Exchange [BAN] ERP is roleplay only. Offering, requesting, or exchanging ERP for real money, for currency tied to real payments, or for any out-of-game benefit is prohibited. Advertising "services" of this kind in any channel — in-game, Discord, or elsewhere — is not allowed.
  5. As we continue to go through today, we're still confident in the above timeline. Most of the code is now in our FiveM server, ready to go and working as intended. We will need to spend the rest of the day doing bugfixes, checks and running stuff our side to ensure it matches what we're expecting. Some changes had to be made; because we've moved to FiveM. I'll provide another update soon. Poor Lucy with no hair and clothes!
  6. We woke up to the same announcement you did this morning, but with prior warnings from another server owner a month or so ago. While hinting they had also began preparing to move their server over to FiveM, at the current time. They did provide us with 'some' warning, rather than none. To the person who did, thank you. Genuinely, I appreciate it. We had a look at our code base this morning, how quickly could we move over to FiveM, etc, as well as a chat this morning with our development team and the management team. Before you panic, we are not concerned. Nor is RPP closing, shutting down, giving up, yada yada. We still continue, the same way we have since day one. We have an additional 14 weeks, as set by RAGEMP to bring ourselves back up to speed. However, as it stands right now, from our audit - we do not think it will take anywhere near this length of time to migrate over. Infact, this morning alone, we've already converted a large chunk of the priority scripts and have a working FiveM version we'll continue to build on. We're actually very shocked at how easy the migration is for us. Moving to FiveM is actually somewhat of a blessing, despite it seeming cheesy to some players, it's actually really cool for us to have + a better browser, more player opportunity and honestly, means an even playing field for us all. It's basically the right place to be, at the right time. This could be really good for us at RPP. Alongside this, you've also got to remember that GTA 6 isn't far off, and we suspect that supporting FiveM now, will give us a better way into GTA 6, as planned. Reality is, this happening now is actually a positive for us. As of right now, I do not intend to delay launch. However, we'll put our launch date back onto a provisional status. This means, we have not fully confirmed this date yet, but as long as migration continues to go this way, we'll be happy to launch on the same launch date. I will continue to update this thread, with new posts as time goes on to update you on the progress of our migration. I appreciate your support and patience, in advance.
  7. Investigating.
  8. Patched. Thanks @FatCatTuxedo
  9. Investigating.
  10. RPP: ILLEGAL DIRECTIVES 0. Preface & Philosophy RPP's prerogative towards the management of factions and the wider illegal community is founded on realism, when sensibly plausible, backed by realistic and sensible IC results. If you step outside the boundaries of what's widely recognized as realistic, expect more severe IC consequences. If this is done in a manner that's largely derogatory to the wider ongoing narrative without IFM's approval, you may also be subject to OOC consequences. These directives aren't about winning. They exist so that conflict, growth, and loss get portrayed in a way the community can believe in. A faction that bends a rule to dodge a loss it has earned in the story has missed the point. A few principles sit above the specific rules. Where something isn't covered, work from these: Realism first. If a real organisation of your type, size, and reputation wouldn't do it, neither should you. Being able to do something doesn't mean you're allowed to. Earn it, don't declare it. Power, fear, territory, and lethality are built through portrayal over time, not switched on by a request. Communication is part of the job. Logging, keeping IFM informed, and squaring narratives with rival leaders are leadership responsibilities, not favours. 1. Definitions To keep rulings consistent, these terms carry fixed meanings throughout this document. IFM: Illegal Faction Management. The team that oversees illegal factions, approves wars and escalations, and makes case-by-case rulings. RPP: the server and its community. Faction: an approved, scripted illegal group with recognised leadership, a roster, and a concept. Concept: the agreed identity and remit of a faction (street crew, established family subordinate, MC charter, and so on). Acting "outside concept norms" means behaving inconsistently with it. Roster: the full membership of a faction. The War Roster is the part of it cleared by IFM for a given conflict. Activity Rating: a measure of logged playtime. 0.8 is roughly 40 hours of logged play. PK (Player Kill): the character survives but loses memory of the events leading to their death and can't pursue, retaliate over, or act on that incident (New Life Rule). CK (Character Kill): the character is permanently retired or dead. CK rights have to be earned and approved (see §5). NLR (New Life Rule): the post-PK restriction described in §5. Turf: territory a faction holds and portrays control over. Umbrella Faction: a single overarching organisation operating through multiple sub-scripts under one designated leadership. Allied Factions: independent factions cooperating in a conflict while keeping separate leadership, rosters, and cooldowns. UCP: User Control Panel. DM / RDM: Deathmatch / Random Deathmatch, meaning violence without enough IC reasoning. Powergaming: forcing outcomes, denying others a fair reaction, or portraying unrealistic capability. Metagaming: using OOC information IC. (IFM should confirm any of these that already carry a server-specific meaning and adjust to match existing rules.) 2. Rules of Engagement 2.1 Establishing Lethal Standard A faction may only engage in lethal interactions when there's a generalized standard of lethal risk established, following organic and natural developments. A faction may request permission to develop lethal or potentially lethal interactions when the ideology behind future and historical interactions centers on growth, whether that's wealth or power. It doesn't have to be strictly about retaliation or protection; but when it isn't, and there's a clear prerogative to get something out of nothing, while it doesn't have to be requested, doing so is often prudent in the individual scenario. 2.2 The Escalation Ladder There are many attack types: verbal, social, shootings, brawls, stabbings, arsons, kidnappings, torture. They aren't all the same scale of attack. Conflict is expected to climb a ladder, not skip rungs; a relationship rarely goes from cold to lethal without friction in between. As a rough ordering of severity: Verbal / Social: threats, disrespect, reputation attacks, undermining business. Property / Economic: theft, vandalism, disruption of operations, robbery of product. Non-lethal Physical: brawls, beatdowns, warning assaults. Bladed / Targeted Violence: stabbings, maimings, kidnappings. Lethal: shootings, arsons against occupied premises, bombings, killings. If any party feels that requesting IFM's opinion on interactions and developments on a case-by-case basis is prudent, IFM will and may make corrections where necessary to uphold the wider narrative. Skipping rungs without a proportionate trigger is the most common cause of IC correction. 2.3 Proportionality A response should make sense next to what provoked it. A war of words doesn't justify a massacre, and a massacre isn't answered with a stern message. Disproportion is only fine where it's in concept (a notoriously volatile crew, for example) and where the faction is prepared to wear the consequences of that escalation. 3. Faction Conflicts 3.1 When a Conflict Begins A faction conflict officially begins when any one faction or individual in a faction curates hostile action towards another faction, or individual within a faction. All interactions should always be logged promptly within the respective channels of each faction's Discord. Players and Faction Leaders are expected to communicate effectively for logging purposes, with the responsibility resting with each respective Faction Leader involved. A "war" does not require lethal interactions to begin; conflicts that resemble long-term "feuds" are applicable. 3.2 Notifying IFM IFM must be notified of any conflict that has reached the standard of war. Upon reaching this standard, the respective Faction Leaders will be brought into further communication with each other and IFM to set terms and discuss previous history. IFM wills to understand your conflict just as well as you do. A conflict has reached war standard when any of the following is true: Lethal interactions have occurred or are imminent on either side. A feud has escalated to sustained, repeated hostile action between organised groups. Either leader believes the conflict can no longer be resolved IC without structured terms. 3.3 War Terms Legend: Locked terms are set by IFM and are non-negotiable. Mutable terms may be changed by the mutual agreement of faction leaders, subject to IFM oversight. 3.3.1 Participation: Activity (LOCKED) Participating characters must hold a minimum Activity Rating of 0.8, which is roughly forty (40) hours of logged playtime, before taking part in any IFM-approved faction war. This threshold may flex slightly at IFM's discretion depending on circumstances. Substantially low activity will never be accepted as a basis for war participation, regardless of reasoning. IFM recognizes that activity requirements are harder to meet while RPP is relatively young. If faction members hold alternate characters, their main must be used for the duration of the war. 3.3.2 Participation: Age (LOCKED) At least one faction involved must be at least fourteen (14) days old. If any faction is under that age, it can only defend until the opportunity to retaliate surfaces. Likewise, all characters involved must be at least fourteen (14) days old, and must have been part of the relevant faction script for fourteen (14) days. Characters under the restriction may not participate in attacks, retaliating or not. A faction under the age restriction may only use the original roster it requested faction approval with. Wars can wage on for longer periods; if characters age past their constraints during a war, the active War Roster must be updated privately to IFM. 3.3.3 Cooldowns (LOCKED base values; multipliers LOCKED) Following an attack, both the faction and the individual characters who concluded it enter cooldown. IFM recognizes that multiple orchestrated attacks could realistically occur within tight time frames, for instance a shootout, then in the aftermath a known lab of the opposing faction is broken into and set alight. All such orchestrated multi-stage attacks must be approved by IFM prior to execution. Shootout: 8 hour faction cooldown, 20 hour character cooldown (per concluding character). Arson: 3 hour faction cooldown, 5 hour character cooldown (per concluding character). Car bombing, ram raid, or anything more creative: reviewed case by case by IFM, with cooldowns set from there. Multi-attack multipliers, applied to the faction total and to any character who concluded multiple attacks within one scheduled attack: Two (2) attacks: adds 25% to the faction cooldown and to any character who concluded both. Three (3) or more attacks: adds 50%. 3.3.4 PK Handling in Conflict (LOCKED) PK'ed characters are removed from their faction's conflict roster. If characters are PK'ed by police following a conflict, they are likewise PK'ed from the conflict. They may not attack or be part of executing an attack. PK'ed characters may only defend themselves, never under faction-wide defense. That means you can't sit at your turf anticipating a rival attack once you've been PK'ed. PKs may only be voided by administrators. 3.3.5 Ending a War (LOCKED) A war or conflict ends when any of the following occurs: Over fifty percent (50%) of a faction's War Roster is player-killed out of the conflict; The acting leadership of either faction is player-killed out of the conflict; A faction forfeits; Both faction leaders agree to conclude; Forty-eight (48) hours pass without an attack from either side. 3.3.6 Allies & Umbrellas (LOCKED) Allied factions' attacks count as their own individual attack; listed allies do not share cooldowns. Umbrella factions share cooldowns and losses and must be orchestrated by the umbrella's designated leadership; individual, non-orchestrated attacks invite heightened IC consequences. Where umbrella factions go to war, IFM will consolidate with leaders to reach mutual terms. Mercenaries may be used where there is sensible reasoning. 3.3.7 No Mechanical Limits (LOCKED) There are absolutely no limits on weaponry used in attack or defense, nor on the number of characters attacking or defending. As a general rule, factions acting outside their concept norms will receive harsher IC punishment. 3.4 Portrayal of Losses Faction leaders are expected to discuss how losses will be correctly portrayed after war; where necessary, IFM will offer guidance and correction. Leaders are expected to do everything within their capability to keep narratives true and correct; effective communication is a responsibility. Any forum-type reports should be discussed beforehand by leaders; if a matter reaches the RPP forums, IFM should be notified; if an in-game report receives an outcome, IFM should be notified. 4. Hard Limits & Conduct These Rules of Engagement do not exhaustively list every hard limit; as a rule of thumb, if it's realistic and consistent with your faction's portrayal, it's allowed. The following clarify the recurring grey areas. 4.1 Kidnapping & Hostages Kidnapping requires IC reasoning and must be portrayed with risk to the kidnappers (witnesses, location, response). A hostage must always be given a realistic chance of survival, escape, or rescue; you may not script a no-win scenario. Holding a hostage indefinitely to deny another player access to the server is not permitted. Use sensible time limits and resolve scenes. Mass or simultaneous kidnapping of multiple key members to cripple a rivalry must be cleared with IFM. 4.2 Torture Torture is allowed within concept, but treat it as serious, close to lethal escalation on the ladder. Torture may not be used to compel genuinely character-ending consequences (forced CK, permanent disfigurement) without the victim's OOC consent or an approved CK ruling (§5). Excessively gratuitous or fetishised torture has no place on the server regardless of concept. 4.3 Robbery & Extortion Robbery requires fair, realistic setup and an opening for the victim to respond. Demands must be reasonable to the scene. Extortion ("taxing," protection) is encouraged as narrative but must be portrayed as an ongoing relationship, not a one-line shakedown. You may not rob a player of something the scene cannot realistically reach (off-character assets, scripted holdings not present). 4.4 Body Looting Looting a body is permitted where realistic and consistent with portrayal. You may take what the character could plausibly be carrying and what time and risk allow. You may not loot under fire as if at leisure, nor strip assets a character would not have on their person. 4.5 Powergaming, Metagaming & Fail RP Powergaming: forcing outcomes, narrating a rival's reactions for them, or portraying capability your character or faction hasn't earned. Prohibited. Metagaming: acting IC on OOC knowledge (Discord chatter, streams, OOC tells). Prohibited. Fail RP / NRP: behaving in a way no real person in the situation would, including treating death lightly, ignoring injury, or gaming a scene for a mechanical advantage that breaks the fiction. 4.6 Initiation Lethal or violent action against another player usually needs sensible initiation, meaning a fear-RP opportunity for the target to comply or react. The exception is where the concept and scene make a clean, sudden hit realistic, like a planned assassination or an ambush. When in doubt, initiate. 5. Player Kills & Character Kills 5.1 Player Kill (PK) A PK is the default outcome of fatal violence. The character survives but is bound by the New Life Rule: No memory of the events directly leading to the death. No pursuit of, retaliation over, or acting upon that specific incident. No returning to the location of death to re-engage. In a war context, the PK'ed character is governed by §3.3.4. 5.2 Character Kill (CK) A CK permanently retires a character. Because it is irreversible, it carries the highest bar. CK rights are earned, not assumed. They come from mutual OOC agreement, from a CK clause set in war terms, or from an IFM ruling where a narrative has clearly built to a character's permanent end. Where war terms include CK rights, IFM and both leaders must define who is CK-eligible and under what conditions before the first qualifying attack. A CK should be the end of a story, not a way to remove an inconvenient player. CKs that read as spite invite OOC review. CKs may only be voided by administrators. 5.3 CK Agreements & Applications Targeted CKs outside an active, IFM-approved war require a CK application or agreement logged with IFM in advance. The CK'd player should, wherever possible, be given a meaningful final scene. Consent obtained under OOC pressure is not consent. 6. Law Enforcement, Corruption & Informants 6.1 Realistic LEO Interaction Factions are expected to weigh police response into every escalation. A faction that attacks in broad daylight in a high-traffic zone should expect realistic heat, and portraying otherwise is fail RP. 6.2 Corruption Corrupt-officer relationships must be earned IC and portrayed as risky and limited. A faction does not "own" the department. Corruption may not be used to grant blanket immunity, mass-void charges, or feed a faction OOC information. 6.3 Informants & Snitching Informant relationships are valid narrative and should carry realistic risk to the informant. Using an alt, or OOC knowledge, to feed information across the legal and illegal divide is metagaming. 7. Logging, Evidence & Reporting 7.1 What Must Be Logged Each faction logs, promptly and in its own Discord: Every hostile interaction it initiates or receives (who, when, where, what type). Attack approvals and their IFM clearances. Cooldown start and end times for the faction and concluding characters. War Roster and any approved updates. 7.2 Evidence Standard Significant interactions should be supported by screenshots and clips where reasonably possible. Evidence is the responsibility of the party relying on it. "It happened off-clip" is a weak position in a dispute. 7.3 Reporting Process Leaders attempt to resolve the matter between themselves first. If unresolved, escalate to IFM before any forum report. If the matter reaches the RPP forums, notify IFM. If an in-game report receives an outcome touching a faction conflict, notify IFM. 8. Faction Lifecycle 8.1 Faction Request New factions are requested with the following. Four-member limit at request. Large faction types, like established MCs or established crime families, aren't approved without the member base to support the standing. Portray a subordinate of the larger concept instead. A complete request includes: Concept & backstory. Roster: for each member, their UCP and forum link, Discord username, and character name. Asset transfers: state whether any members are transferring assets from other servers, and list all of them. Experience: past faction-leading experience. Development plan: a three to six month plan stating what leadership sees as necessary to be considered "official." Header: faction header or identifier. 8.2 Probation & Official Status New factions begin on an informal probation while they establish concept, activity, and presence. "Official" status is reached when the faction has clearly met its own development plan and IFM recognises a stable, active, in-concept group. Official status unlocks fuller access to escalation and war rights. 8.3 Activity & Dormancy Factions are expected to maintain visible, in-concept activity. Prolonged inactivity may place a faction into dormancy, suspending its conflict rights until activity resumes. Sustained dormancy may lead to disbandment. 8.4 Strikes & Disbandment IFM may issue strikes for breaches (out-of-concept conduct, dodging earned losses, poor logging, narrative-derogatory behaviour). Accumulated strikes, or a single severe breach, may lead to forced disbandment. Disbandment consequences are portrayed IC where possible. 8.5 Mergers, Splits & Leadership Changes Mergers, splits, name changes, and changes of acting leadership must be communicated to IFM. A merger does not reset age or cooldown obligations to dodge restrictions; IFM will set the resulting standing. 8.6 Roster Changes During Conflict Mid-war roster additions are permitted only as allowed under §3.3.2 and must be filed privately to IFM. 9. Economy & Contraband Illegal enterprise (labs, supply, arms, distribution) should be portrayed realistically in scale and risk relative to faction size and age. Claiming control of a market or product line is earned through portrayal, not declared. Where contraband or territory becomes the object of a conflict, it falls under the same ladder, cooldown, and notification rules as any other hostile action. 10. Closing Note These directives will change over time, and that's expected. Where a written rule and a ruling differ, that gap is how the team learns the difference between the letter of a rule and the spirit of it. When the rules are silent, work from the principles in §0, log your reasoning, and bring IFM in early rather than late.
  11. Resolved.
  12. Assigned to @FatCatTuxedo Being resolved, will be published in a near future update.
  13. MelonDisrupt

    Bins

    Assigned to @java
  14. MelonDisrupt

    /phone

    @FatCatTuxedo is assigned & working on the above.
  15. Added, now live & in game. L&A.
  16. ROLEPLAY PROJECT — JUNE 2026 Server launch: Friday 5 June All times BST (UK). Times subject to change — confirmed weekly on Discord #announcements. WEEK 1 — LAUNCH WEEK Fri 5 Jun · 19:00 — Server Launch — Doors Open · Worldwide Sat 6 Jun · 14:00 — Civilian welcome social · Legion Square Sat 6 Jun · 20:00 — Launch Weekend club night · Bahama Mamas Sun 7 Jun · 11:00 — Sunday market · Paleto Bay pier Sun 7 Jun · 18:00 — New player Q&A (devs in voice) · Discord stage WEEK 2 Tue 9 Jun · 19:30 — Car meet & cruise · Vespucci Pier to Vinewood Sign Wed 10 Jun · 20:00 — LSPD ride-alongs (sign-up only) · Mission Row PD Thu 11 Jun · 20:00 — Open mic night · Tequi-la-la Fri 12 Jun · 21:00 — Casino night · Diamond Casino & Resort Sat 13 Jun · 15:00 — Vehicle auction · Premium Deluxe Motorsport Sat 13 Jun · 21:00 — DJ Saturday · Galaxy Nightclub Sun 14 Jun · 13:00 — Family fishing day · Paleto Bay Sun 14 Jun · 19:00 — Court of the Week — open gallery · Davis Courthouse WEEK 3 Tue 16 Jun · 19:00 — Job fair (employers booth day) · LSIA terminal Wed 17 Jun · 20:00 — Mechanic & tuner meet · Benny's Original Motorworks Thu 18 Jun · 19:30 — Hospital tour & EMS demos · Pillbox Hill Medical Center Fri 19 Jun · 19:00 — Juneteenth Block Party · Davis Sat 20 Jun · 14:00 — Trucker convoy (open to all) · Postal HQ to Sandy Shores Sat 20 Jun · 22:00 — Late club night · Bahama Mamas Sun 21 Jun · 12:00 — Father's Day BBQ · Mirror Park Lake Sun 21 Jun · 21:00 — Sunset cruise · Del Perro Pier WEEK 4 Tue 23 Jun · 19:00 — City Council meeting (public) · City Hall Wed 24 Jun · 20:00 — LSPD academy graduation · Mission Row PD Thu 25 Jun · 19:00 — Real estate open house · Galilee Estates Fri 26 Jun · 20:00 — Underground race night · Industrial loop, La Mesa Sat 27 Jun · 15:00 — State of the City address (Mayor) · City Hall steps Sat 27 Jun · 21:00 — Vinewood charity gala (formal) · Richman Glen Sun 28 Jun · 13:00 — Sunday brunch & live jazz · Bean Machine, Vinewood Sun 28 Jun · 19:00 — Court of the Week — open gallery · Davis Courthouse CLOSING Tue 30 Jun · 21:00 — First-Month Anniversary fireworks · Maze Bank Tower
  17. ADDITION: Drama Rule: Any person who is found to be creating drama between our community and any other community, feeding information into them, feeding intelligence into another community, scopes of our support, information we may deem 'sensitive' will be banned from our community, indefinitely. This rule extends to anyone who actively comes into our community bringing drama from another community into our community. For example: You have an outstanding forum report or report on another server, you come here and continue that drama on our server. The punishment for this extension is usually a 60 minute admin jail, however in extreme circumstances can extend to a 7 day ban, maximum. Repeat offenders can be permanently banned.
  18. Approved. We'll get this done, ASAP.
  19. Patch Notes - 3rd May to 16th May 2026 Two solid weeks of work from the dev team. Big refactor under the hood, a new drug economy on top, and a long list of fixes scattered through almost every system. Credits per section below. Core engine + tooling Developer: @java TypeORM migration. Around 140 manager files moved off raw SQL onto TypeORM repositories and the query builder. One AppDataSource, automatic snake_case mapping, migrations table now owns schema changes. Command system rewrite. All new commands use defineCommand in systems/<domain>/commands/<name>.ts, registered via static readonly commands on the manager class. Typed args, guards, cooldowns, automatic usage hints, dev-mode-only gating. Vue overlay framework. Vue 3 + Tailwind v4 overlay replaces the old per-feature CEF browsers. Centralised CursorManager with key-based refcount swept across 145 files. Strict ipc layer with six directional event enums to keep server, client, and overlay talking through typed strings. Chat moved fully to Vue with 1:1 visual parity to the legacy chat plus FontAwesome Pro 6.4 icons and scoped SCSS. Server-side boot initialisation now waits for every system to be ready before processing events. Boot-time DDL stripped from manager initialisers (DB and migrations own schema now). Dockerised the application with deployment configuration. Refactor moved event handlers out of index.ts into their owning managers; index.ts is now bootstrap-only. Drug system (new) Developer: @MelonDisrupt A full player-driven drug economy. No NPC dealers, no auto-spawn customers. Every gram is produced and sold by a real character. Cannabis lifecycle Plant a strain seed in a grow setup and harvest wet buds. /trimweed runs a leaf-snip minigame. /dryweed hangs trimmed buds on a drying rack. Ready in ~30 minutes, over-dried past 90. /curejar seals dried weed in a mason jar; 2 hours unlocks premium tier. /presskief sifts trim into kief; /presshash compresses it. /makebutter for cannabis butter, /bakeedible for brownies. Quality propagates through every stage. Bad inputs cap the ceiling. Lab pipelines Eight commands: /cookcocaine /cookmeth /cookheroin /cookmdma /cooklsd /cookfentanyl /cookdmt /cookcrack. Data-driven engine walks per-drug recipes from the catalog. Each stage runs a minigame and produces an intermediate item. Run the same command repeatedly to advance through stages. 11 new precursor + intermediate items (cocaine_base, heroin_base, ergotamine, lsd_liquid, lsd_blotter, fentanyl_raw, fentanyl_packaged, mimosa_bark, dmt_extract, dmt_crude, dmt_crystal). Mushrooms /sterilizejar pressure-cooks a grain jar. /inoculate injects a spore syringe. /checkcake promotes the substrate after a 1-hour colonisation. /mistcake keeps humidity up; debounced 5 minutes. /harvestflush pulls a flush every 3 hours, up to 3 per cake. /drymushrooms is a passive 30-minute dry. Davis Head Shop Old Hydroponics shop renamed and rebuilt as a Vue panel. Two tabs: Cultivation Supplies (seeds, grow gear, drying racks, cure jars, scales, baggies) and Head Shop (mushroom kit, reagent kits, fentanyl test strips). Legal notice banner on the Head Shop tab. Walk up to the marker and press E. Addiction, withdrawal, overdose Every dose stamps the drug_addictions row: tolerance up, total uses up, lastUse refreshed. Withdrawal severity climbs the longer you go without a dose. Visual timecycle + HP regen tax. Overdose math: effective dose against lethalDoseBaseline × (1 + tolerance / 50). Triggers the existing INJURED bleed-out state. /naloxone <id> revives opioid OD victims within 5 minutes. 3m proximity gate. /detox at Pillbox Hill Medical Center clears every addiction record for $1,500. Weighing, bagging, cutting, selling /weigh reads exact grams and quality off a bag. Needs a digital scale. /bag splits a parent bag into a smaller baggie (small / medium / large = 1g / 7g / 28g). /testdrug burns a Marquis kit, Mecke kit, or fentanyl strip. Reveals quality and adulterants. /cut mixes a cutting agent into a drug bag, bumps weight without quality. /sell <player> <drug> <grams> <price> hand-to-hand sale, 3m proximity, atomic cash transfer. /relationships shows your last 20 trade partners. Private to you. New drug_p2p_sales table backs the reputation log. Vehicles + ELS + animations Developer: @FatCatTuxedo New ELS system (client + server). Replaces the old one. Vehicle engine sync and light sync re-coded. Vehicle doors sync migrated to the new class. Engine behaviour fixed on entry and exit. New animation system, including /crun in dev mode. Anim class converted to the new coding standards. Server permission fix for /setfaction and /setrank. Phone rebuild Developer: @MelonDisrupt Halo OS-style redesign in two phases. Every app wired through to the new shell. Hand-attached phone prop while in use. Tuned position, rotation, and bone attachment. Holding-phone pose triggers when open. F3 keeps the phone open instead of cancelling. Clock locked to UK time (Europe/London). Rebound default hotkey to M. Optional Windows desktop notifications for /pm and messenger DMs when the GTA window is alt-tabbed. Toggle in /settings → Chat → Accessibility. Property Developer: @MelonDisrupt /propertyadmin redesigned to match /amotd visual language. Streaming payload for large lists, instant re-render after every mutation. Interior picker per row (filtered by tier and search). Re-list button on owned rows with optional refund to the previous owner. Duplicate address rejection on create. Soft-delete with 30-day restore in trash tab. On-duty admins can lock or unlock any property via /aduty. Property creator UI rebuilt as a makeup-style tabbed panel with 29 new interior shells and typed natives. Entry/exit prompts now use the shared bottom prompt-hud. Lock + entry bug fixed after stale-cache scenarios. Combat, death, EMS Developer: @MelonDisrupt New three-state injury flow: INJURED → DEAD with bleed-out timer. GTA death cam skipped on player death. Custom edge vignette replaces the oppressive death FX stack. Timecycle cleared on revive; re-shot injured players execute properly. Live damage chat ping on every weapon hit, with attacker, weapon, damage taken, and remaining HP. /damages command lists your last 25 hits. Per-weapon damage multipliers calibrated against 100 HP: pistols ~1.6x, rifles ~2.0x, snipers 4x, shotguns ~2.5x, knives 1.4x. Gunshot audio pings within 50m, flushed every 4s. Down state hardened: corpses can no longer walk through their own ragdoll by holding W. /tackle command (closest player or /tackle <id>) and E-key sprint tackle when running. Both players ragdoll, attacker plays the takedown anim. /blindfold toggleable IC blindfold with fullscreen black render. Weapon draw protected against firing or fast-swapping mid-animation. Tab cycle plays an /ame so bystanders see the draw or holster. Chat Developers: @java & @MelonDisrupt Default font bigger, full opacity, shadows restored for readability. Reliable scroll-to-bottom; MESSAGE_LIMIT bumped to 2000. Vue overlay defaults to top-left and suppresses Tab focus cycling. Rich disconnect cards with FontAwesome icons per reason (left / kicked / banned / timeout). Admin staff feed: connect, login, disconnect, duty toggle broadcasts. /anotify toggles per-admin. Welcome card improved with server time + recording-notice band. Player IDs shown on chat lines, prefixed with the stable playerIdNumber (matches /admins and /id). Per-type colour overrides in /settings → Chat → Message Colours (IC speech, action, OOC, whisper). Native colour picker swapped for in-page palette + hex popover (CEF doesn't render the native one). Action chat (/me /amy /melow /melonger /do) detected and tagged for no-shadow purple rendering. IC speech (says / shouts / whispers / phone) detected client-side: pure white, semi-bold, full opacity even when the chatOpacity slider dims everything. /b OOC lines get a thin 1px text outline so the slate-grey reads cleanly. ASCII emoticons render as unicode emoji on display (<3, :), :(, ;D, etc.). Only OOC, PM, and system lines get the swap; IC stays literal. /pm visual polish with direction arrows (← incoming, → outgoing) and brighter name/id colours. /w <id> <message> directed 3m whisper with /ame for bystanders. Suggestions popup floats above the input instead of pushing it down. Chat hint and built-in chat hide reliably at init. Settings sync wired: fade toggle, text outline, high-contrast, reduce motion, dyslexia-friendly, emoticons toggle, timestamps. Accessibility section added to /settings Chat tab. Settings + accessibility Developer: @MelonDisrupt 4K / 5K / 6K / 8K-friendly scale ranges. Bumped slider max for chat font, HUD scale, nametag size, /ame text size, UI scale, notification scale, phone scale. Display Preset dropdown in /settings → General: Auto-detect, 1080p, 1440p, 4K, 5K, 6K, 8K, Custom. Bulk-applies tuned values. UI Sounds toggle in /settings → Chat → Accessibility. Show My Own Nametag toggle (default on). Show Player IDs toggle (default on). Chat Text Outline toggle (default on). Hair, wardrobe, tattoos Developer: @MelonDisrupt Hair slots cap raised from 10 to 60 saved styles per character. Wardrobe panel becomes scrollable with an "X / 60" header. /hair <slot> applies a saved style anywhere in the world. /hair list enumerates them. /hairstyle temporary restyling without touching the saved appearance. 12 presets. State in-memory, reverts on relog. /hairtattoo scalp overlays sold at the barber. Star, crossed lines, lightning bolt, tribal, skull detail, and 7 more. Priced $150 to $250. Hair colour palette now queried from the engine directly, so wardrobe swatches match what gets rendered. Freemode undershirt baseline re-applied after any hair-component write, so the default bra/sports-top stops bleeding through on female peds. First-outfit setup on character creation: wardrobe opens in a one-shot free creation mode with 30-second dwell timer. first_outfit_done flag stops second freebies. /shirt and /undershirt sync torso arms to the bare-arms variant when both upper layers are off. Tattoos use typed natives, re-apply after component changes, propagate to remote peds. Survives /nude, outfit loads, and wardrobe changes. /nude gated to private dimensions only (not main world). Wardrobe: hiddenZones cleared on outfit purchase or load so saved hats stop disappearing. Custom CEF dialogs replace native window.prompt / confirm / alert across propertyadmin, motd, wardrobe, faction management (CEF doesn't render natives — they froze the panels). Admin tools Developer: @MelonDisrupt /giveweapon ported to a Vue overlay panel with weapon, ammo, attachment, and audit tabs. /factionmanagement rebuilt to match /propertyadmin style. Sidebar faction list, Details / Ranks / Members tabs, inline modals for confirm and prompt flows, snapshot push after every mutation. Inline rank-picker modal replaces per-row dropdowns. Same picker drives Add Member. Permission gate: faction_management department flag OR admin level 4+. /forcereconnect <id|name> [reason] for admin level 1+. Drops with a chat line, kicks 1.5s later. /givemoney now allowed for admin 5+ OR the economy_manager department. Each give writes a price_audit_log row. /spectate camera fixed (was spinning due to two render handlers fighting for the same cam). Spectator / vanish actually hides the local ped now (the previous flag was setting an unrelated config flag). /amotd login MOTDs with BBCode and per-character ack. /aduty defence-in-depth gate and audit log for admin teleports. Rate-limited. /getup heal exempted from the cooldown bypass it was failing. Pets Developer: @MelonDisrupt Pet panel rewritten to /settings-style sidebar with Overview, Tricks, Wardrobe, and Stats tabs. /pets opens the panel. New columns: hunger, happiness, health, energy, xp, level, bond, personality, rarity, collar, walks, tricks, favorite. 5-minute global SQL decay tick runs against offline pets too. pet:action router handles feed, play, pat, walk, train, spawn, despawn with stat deltas and /me chat. Pet shop rebuilt with rarity, personality, descriptions, inline adopt card, owned-pets tab. Follow loop re-issues taskFollowToOffsetOf when the pet falls more than 2m behind. 4 Hz tick, walk/jog/sprint by distance. Auto-/me from pets broadcasts as the pet ("* Max wags its tail") instead of through the owner. Pets switched to typed Ped instance methods so they actually follow (the old globals didn't exist in the type defs). Trading cards Developer: @MelonDisrupt First Year (2026) Pack with 400 cards and holographic UI. Full design-pack visuals: frame, art-bg, gloss, holo, shimmer, mouse tilt, legendary burst, wax-seal pack. 10h playtime gate dropped on cash purchases. First pack auto-opens on purchase. Inactive series hidden in the store. /collection panel with sort and cash-only export. Bag double-counting fixed (exported cards filtered out of the collection grid). Card export refuses on inventory full and only flips is_exported=1 if addItem succeeded. Using a trading_card from inventory now redeems it back into the collection. First-press E drop on the card store fixed (was throttled to 500ms). Reports Developer: @MelonDisrupt /reports rebuilt as a settings-style threaded panel. Quick /report <msg> and /areply commands. Chat banners and off-duty flood pings. Refresh open admin panels on new submission. Off-duty admins included. Inline resolve modal, chat-delivery feedback, arg coercion fixed. Smoking, props, ambience Developer: @MelonDisrupt Smoking system: looping animation, hand-attached cigarette, visible smoke, toggle-off. 247store UI made bigger with a smoking section, multi-use packs, more snacks. Radio muffling logic dropped the isWindowIntact gate (false-positive on coupes). 3D audio is unmuffled when any window is down or broken. /domelight and /vwindow toggles, synced via vehicle vars and broadcast through player.call. Trash cleanup expanded from ~20 to ~80 binbag / cardboard / pizza box / cup / bottle / cigarette pack / tyre pile / litter models. Scan radius bumped 80 → 120m. Per-tick per-hash cap raised. /cleantrash for on-demand admin sweep. Spraytag occlusion raycast, scale cap, lazy redraw, typed natives. Speed limiter caps by blocking the accelerator instead of forcing speed. Shipping + jobs Developer: @MelonDisrupt Shipping manual box loading and unloading, better blips, HUD. /jobs settings-style hub with Trucking + Bus Driver tabs (active job, lifetime stats, recent history) backed by JobsHubManager. Website, docs, infrastructure Developer: @MelonDisrupt New /docs section with Notion-style sidebar and .md content. 9 starter pages + 5 added (glossary, ATMs detail, joining a faction, inventory & items, death / injuries / EMS). Docs visual overhaul: hero card per page, index card-grid with category icons, sidebar icons + scroll-spy TOC, callout post-processor (NOTE / TIP / IMPORTANT / WARNING / CAUTION). Homepage pulls real stats from /api/public/stats. Download points to the correct game server. Developer forum decommissioned. Tip text points to forum.roleplayproject.net. News page removed from website nav; legacy WelcomeFest music emitter deleted. UCP login API base fixed; register page removed (in-game only). Legacy UCP HTML scanned into the CSS bundle. Security audit Developer: @MelonDisrupt Critical + high + medium severity fixes from the audit pass: /kick and /admins authorization corrected. propertyadmin SQL injection vector closed with a whitelist. Metrics endpoint locked down to 127.0.0.1 with env token, SQL action dropped. 9 secrets hoisted to .env (Revolut, Intercom, 6 Discord webhooks, metrics token). CayoPerico TOCTOU debit closed. Vehicle health monotonic guard. Admin teleport rate-limit and audit log. EnergyManager IN clause parameterised. /aduty defence-in-depth gate. Registration verification fixed (was "Data too long for column code" — verifyCode wrote a 48-char token into a VARCHAR(6) column). Smaller fixes worth knowing Developer: @MelonDisrupt /pay and /pm now resolve player IDs by displayed playerIdNumber instead of RAGEMP's runtime slot. /factionmanagement invite same fix. Gym prop spam crash fixed (was minting a new prop entity 60×/sec when attach silently threw). Indicator off-state stuck bug fixed. /vol 0 no longer falls back to 50%. /vehicles spawn race-double fixed. Cards: first-press E drop fixed by recomputing distance on demand. Carlot uses live /economy prices instead of frozen catalogue. Spawn: ped tasks cleared and level rotation set server-side. Registration code timestamp uses DB-side NOW() / DATE_ADD so codes don't appear pre-expired across timezones. Pollable browser init helper replaces single-shot setTimeout in 18 init sites. Eliminates blank UIs on slow CEF loads. 11 "Press X to do Y" prompts converted from scaledText to the shared bottom prompt-hud. 142 raw mp.game.invoke 0xHASH calls converted to typed natives across the client. Plus 91 in rounds 2 and 3, plus 38 more in round 4. Trading-card export refuses on full inventory and only marks exported on success. /cleantrash for on-demand admin sweep. Phone clock locked to UK time. Server perms Developer: @FatCatTuxedo Permission fix for /setfaction and /setrank. Two follow-up perm passes.
  20. Drug system overhaul is live Spent the last few days rebuilding the drug system from the ground up. It's a lot, so I'll keep this skim-friendly. Short version: if you want to deal, you grow it, cook it, weigh it, bag it, and sell it to actual players. No more NPC dealers, no auto spawn customers. The whole loop runs on real characters. Cannabis got the full treatment Plant a strain seed in a grow setup, water it, harvest wet buds, then you actually have to do something with them. /trimweed runs a little minigame where you snip leaves off the bud. /dryweed hangs it on a drying rack for about 30 minutes (don't leave it longer than 90 or quality drops a tier). /curejar seals it for two hours and unlocks the premium tier if you wait it out. You can also /presskief to sift trichomes, /presshash to compress those into hash, /makebutter for cannabis butter, and /bakeedible for brownies. Quality propagates the whole way through. A weak plant trimmed perfectly still caps at medium. A premium plant rushed through cure won't hit premium. Eight lab drugs Cocaine, meth, heroin, MDMA, LSD, fentanyl, DMT, and crack. Every one is a multistage recipe with real precursors. You source them, you cook them in order, and each stage runs a minigame. The engine looks at your inventory and figures out which stage you can run next, so you just type /cookcocaine (or /cookmeth, /cookheroin, etc.) and it picks up where you left off. Quality flows through stages the same way it does for weed. Mushrooms Whole separate flow. Buy a grain jar and a spore syringe at the Davis Head Shop (more on that in a sec). /sterilizejar pressure cooks it, /inoculate injects the spores, then it colonises for about an hour before /checkcake turns it into a fruiting cake. After that you /mistcake to keep the humidity up (every five minutes counts, more often doesn't help) and /harvestflush to pull mushrooms. You get up to three flushes per cake. /drymushrooms takes about thirty minutes per batch and that's your final product. Davis Head Shop The old Hydroponics shop got a rebuild. New name, new UI, two tabs. Cultivation Supplies has all the grow gear (seeds across 105 cannabis strains, grow setups, lighting, nutrients, the new drying racks and cure jars) plus the new digital scale and baggies. The Head Shop tab carries the mushroom kit (grain jars, spore syringes) and the harm reduction stuff (Marquis kit, Mecke kit, fentanyl test strips). There's a legal notice at the top of the Head Shop tab. Spore syringes are sold for microscopy. What you do with them is on you. Walk up to the marker and press E. Weighing, bagging, cutting, selling Drug bags now carry exact grams. /weigh tells you what's in a bag (need a digital scale on you). /bag splits a parent bag into a smaller baggie with the exact amount you specify, so you can portion off a 3.5g eighth from your big stash. Quality and any cuts carry over to the smaller bag. /cut lets you mix something into a drug bag to bulk it up. Bumps the gram weight, doesn't add quality, and leaves a paper trail in the bag's metadata. /sell does hand to hand sales. You need to be within 3 metres of the buyer. Pass it the player ID, drug, grams, and price. Cash moves, drug moves, both of you get a row in /relationships which shows your last 20 trade partners. Nobody else can see your relationships list. It's just for you. Test kits actually matter now If you /cut your heroin with fentanyl and sell it to someone, and they don't /testdrug it first, they're rolling the dice. Marquis and Mecke kits flag any unexpected adulterants in your bag and tell you the quality. Fentanyl test strips do one thing only, but they do it well: positive or negative, take it or don't. This is also why the head shop sells these openly. Same reason real ones do. Addiction, withdrawal, overdose Every time you use a drug, your tolerance to it goes up and your last use time gets stamped. Go too long without a dose and you start feeling it. Mild withdrawal looks like a faint screen tint, severe withdrawal taxes your HP regen until you score or detox. The visual is per drug. Opioid withdrawal feels different from stimulant withdrawal. Overdose is real. The math compares your dose to your tolerance and a per drug lethal baseline. New users overdose easy. Long term users have to take more to hit the threshold, which is why heroin and fentanyl ODs are usually old hands who got an unexpectedly pure batch. When it triggers, you go down into the injured state and start bleeding out. You have five minutes. Naloxone New item. Anyone can carry it. If you're standing next to someone who just OD'd on heroin or fentanyl, /naloxone and you can pull them back. Only works on opioids, only within the five minute window. Get it from medics or pretty much anyone who's been smart enough to stock up. Detox Cleaned up for $1,500 at Pillbox Hill Medical Center. /detox there wipes every addiction record you have. Withdrawal stops on the spot. Worth it if you've been hitting heroin hard and want a fresh start. A few honest notes A lot of the minigames are running through a shared click target visual for now while I build the per drug panels. The mechanics are real (your score affects quality, timing affects yield), just the visuals are placeholder. They'll get prettier soon. Naloxone doesn't have a vendor yet. If you want some, ask a medic or wait for the pharmacy add I'm planning. That's the whole loop. Grow it, process it, weigh it, bag it, optionally cut it, sell it, log it. Players move every gram. Have fun.
      • 2
      • Like
  21. Patched.
×
×
  • Create New...