[免费] RD Fuel V1.0 – 拥有真实个性的加油站服务员

Every fuel script does the same thing: stand next to the pump, hold a key, a bar fills up, you pay, done.

rd-fuel v1 也这样,但站点有实际的人在操作。 :fuel_pump:

加油站服务员走到你的车窗前,和你交谈,用真实的油枪和绳索加满你的车,收你的现金或刷卡,然后告别。他会根据天气、时间、油箱空程度以及是否见过你做出反应。所有内容都是为FiveM从零开始构建的。

:speech_balloon: 喜欢看到的效果?这是我们制作的样本,如果你想在服务器上实现类似功能,请在Discord上联系我们(nyr_x.)。


:clapper_board: 预览

全程服务,从开始到结束(按E,窗口,问候,熄火,加油,闲聊,告别)

全程服务,支持现金或刷卡和小费(按E,窗口,问候,熄火,现金或刷卡,加油,闲聊,小费,告别)

服务员接到电话,你打断了他

加油中途离开(服务员会反应,你将获得按比例退还的金额)

油箱已满?服务员不会加油或收费


:fuel_pump: 核心功能

  • :white_check_mark: 靠近加油泵,然后 E – 召唤服务员过来
  • :white_check_mark: 服务员过来,通过驾驶窗与你交谈,可以要求你摇下车窗(或者为你摇下,可配置)
  • :white_check_mark: 要求你 熄火,如果你不这么做他会唠叨。加油时引擎会保持锁定状态。
  • :white_check_mark: 选择 四分之一 / 半满 / 满油。价格和加油时间会根据你油箱剩余空间调整,几乎满的油箱会变成“加满”。
  • :white_check_mark: 油箱已满?他会告诉你并免收费用。
  • :white_check_mark: 真实的 油枪道具和绳索:他会走到油箱盖,连接上,走回来,完成后取下。
  • :white_check_mark: 现金或刷卡支付,价格在服务器端计算(修改过的客户端无法支付0元)。
  • :white_check_mark: 小费,支持可配置金额,使用与加油相同的支付方式。
  • :white_check_mark: 加油过程会平稳进行,同时他闲聊,而不是直接跳到最终值。
  • :white_check_mark: 默认包含2名服务员和2个站点,配置文件中可以轻松添加更多。
  • :white_check_mark: ESX / QBCore / QBox / 独立 / 自定义钩子,支持自动检测。

:performing_arts: 标题功能:服务员是一个角色

:waving_hand: 真实的问候

他不会每次都说同样的话。问候取决于情况:

  • :cloud_with_rain: 雨天或暴风雨,带有天气感知的台词
  • :sunrise: 早晨 / 下午 / 晚上 / 深夜,每个时段都有专属台词
  • :fuel_pump: 油箱快空了,如果你开着一辆几乎没油的汽车来
  • :repeat_button: 回头客: “嘿,你回来了!”
  • :star: 常客:经常光顾他,他会像对待老顾客一样对待你(阈值可配置)
  • :ghost: “上次加油时你突然消失了!”,如果你在加油中途断线

每个问候都有专属的回复选项,并且每个玩家的访问历史都会按站点保存。

:speech_balloon: 加油时闲聊

加油泵运行时他会和你聊天。每个话题都有回复按钮和针对你选择的回应:

  • 天气(下雨时会自动跳过)
  • 忙碌的一天
  • 你的座驾
  • 你的家乡
  • 加油快结束时,他会说一句“快好了”。

话题顺序安排得让 最不常用的先出现,并且该历史记录会在会话间保存。你不会连续听到相同的话题。

:telephone_receiver: 随机电话

有时服务员在空闲时手机会响起。他会用真实的手机道具和动画接听,并进行完整对话(3个不同电话,每个都有专属告别)。

上前按E中途接电话,他会这样反应: “等一下,让我快速结束这个电话。” 他结束通话,挂断电话,然后才过来为你服务。

:speaker_high_volume: 3D语音

他的声音是定位的。会随着你的摄像头左右移动,并根据距离渐远,让你听到他实际所在的位置。面部表情(开心、唠叨时烦恼)会叠加在他身体动画上,并且他会在交谈时看着你。


:automobile: 离开和断线处理

  • 加油未完成一半就离开(开车走或走开):服务员会中止,抱怨(“嘿,等一下,我还没完成!”),清理油枪,并且你将 获得未完成部分的退款
  • 加油过半后你无法破坏加油过程。它总会完成,并且在他走回时开车离开不会触发任何事件。
  • 加油中途断线或崩溃:退款会在下次与服务员交谈时到账,他会记得你突然消失。可在 Config.RefundOnDrop 下配置(按比例或全额)。

:busts_in_silhouette: 多人模式准备(共享服务员)

  • 每个服务员对应一名玩家:其他人会看到一个 “服务员正忙,请稍候” 提示
  • 其他玩家会看到油枪和绳索,并在可配置的范围内听到他的语音台词。
  • 如果客户端在服务中途崩溃,声明超时会恢复站点。
  • 网络所有权处理得当,所以玩家来来去去时服务员不会出现闪烁或传送。

(需要OneSync.)


:electric_plug: 兼容性与集成

框架: ESX / QBCore / QBox / 独立,或 "hook" 用于任何自定义。 "auto" 会自动检测你正在运行的内容。

加油系统: 原生 / ox_fuel / LegacyFuel / cdn-fuel / hook

开发者支持:

  • 客户端事件: rdfuel:fillStarted / rdfuel:fillCompleted
  • 服务器事件: rdfuel:tipPaid / rdfuel:refundPaid
  • custom_functions.lua钩子: GetFuel, SetFuel, GetBalance, RemoveMoney, AddMoney, GetIdentifier, OnPayment, OnTip, OnFillStart, OnFillComplete
  • Hooks.OnTip 决定小费钱款去向(企业账户、社团、服务员工资等)

独立模式: 无需框架。加油免费,或你可以启用内置的 测试钱包 来尝试整个现金/刷卡/小费流程,无需任何经济系统。

:hammer_and_wrench: 3,000+ 行代码。 没有哪个脚本是完全无bug的,但如果你发现一个,请报告,我们会立即修复


:high_voltage: 性能与资源使用

空闲时占用0.00到0.01毫秒。


:unlocked: 代码可访问性与版本

免费版本(此下载): 核心客户端、服务器和UI是 托管(锁定) 的。你需要设置的一切都是开放的:

  • :white_check_mark: config.lua 完全开放且带注释:站点、价格、加满选项、支付、小费、退款、服务员行为、语音设置
  • :white_check_mark: custom_functions.lua 完全开放:接入自己的燃油系统、支付、标识符和小费目的地
  • :white_check_mark: 客户端和服务器事件开放供您自定义脚本(rdfuel:fillStarted, rdfuel:fillCompleted, rdfuel:tipPaid, rdfuel:refundPaid)

源代码版本(付费): 想要阅读、学习或修改完整代码?付费版本是 100% 解锁:客户端、服务器和UI源。重新设计界面、编辑对话系统、改变服务员行为,任何事。

:unlocked: 获取源代码版本: 在此获取


:headphone: 完整音频列表

每一行都是一个独立的 .mp3 在 html/sounds/,所以每个都可以 轻松替换或扩展。

问候: attendant_greeting _rain _morning _evening _night _lowfuel _returning _returning_regular _dropped

问候回复: resp_good resp_tired resp_skip resp_lowfuel_close resp_lowfuel_fill resp_return resp_return_skip resp_regular_yes resp_regular_change resp_dropped_sorry resp_dropped_skip

窗口 & 引擎: window_request window_nag window_thanks engine_request engine_nag engine_thanks engine_giveup

燃油 & 支付: fill_prompt ack_quarter ack_half ack_full ack_topoff tank_full payment_prompt payment_cash_ok payment_card_ok payment_declined payment_insufficient

小费 & 告别: tip_prompt tip_thanks tip_none tip_failed farewell

聊天: smalltalk_01 → smalltalk_05 (每个都有 _resp_a / _resp_b)

电话: phone_ring phone_chatter_01 → 12 phone_bye_01/02/03 phone_interrupt phone_wrapup

驶离: driveoff


:package: 要求

  • FiveM服务器(最新版本)
  • OneSync (用于共享服务员)
  • ESX / QBCore / QBox / 独立,任选其一
  • 可选:ox_fuel / LegacyFuel / cdn-fuel

:down_arrow: 下载

:locked: 免费版本 (托管,配置+钩子开放): 下载
:unlocked: 源代码 (全部解锁,$24.99 发售价): 在此获取
:open_book: 文档: 阅读文档

:gem_stone: 一次性付款终身更新 买一次源代码,RD Fuel 及其新功能的未来版本都是您的,免费

独立,且可与所有框架或完全不使用框架配合。支付和燃油通过 custom_functions.lua 可插件,两个版本都有。


:heart: 版本 1 备注

这是 v1,我们正在积极改进它。如果您遇到 Bug 或有建议,在评论中告诉我们。我们宁愿修复它,也不愿让您默默绕过,并且免费版本的每个更新都保持免费。


:hammer_and_wrench: 想要定制?

此资源免费,让您在雇佣我们之前看到我们是如何构建的。需要定制的燃油系统、不同的 NPC 职业(机械师、汽车清洗…)或服务器原创资源?Discord 上 DM 我们: nyr_x.

更多免费资源即将到来,请关注此页面或我们的 网站。


:speech_balloon: 发现 Bug 或有想法?在下方评论区留言。
:star: 在评论区留下反馈,因为它会在 roxdevelopment.xyz 上被推荐。

代码可访问 免费:配置 + custom_functions 开放,核心托管 / 付费:完整源代码
订阅制 否
行数(约) ~3,100 Lua (+ ~380 UI)
要求 FiveM, OneSync, 可选 ESX/QBCore/QBox
支持 是(Discord: nyr_x。)
查看英文原文 (Original)

Every fuel script does the same thing: stand next to the pump, hold a key, a bar fills up, you pay, done.

rd-fuel v1 does that too, but there’s an actual person working the station. :fuel_pump:

A gas station attendant walks over to your window, talks to you, fills your car with a real nozzle and rope, takes your cash or card, and says goodbye. He reacts to the weather, the time of day, how empty your tank is and whether he’s seen you before. Everything is built from scratch for FiveM.

:speech_balloon: Like what you see? This is a small sample of what we build dm us on Discord (nyr_x.) if you want something like this for your server.


:clapper_board: Preview

Full service from start to finish (press E, window, greeting, engine off, fill, small talk, goodbye)

Full service with cash or card and a tip (press E, window, greeting, engine off, cash or card, fill, small talk, tip, goodbye)

The attendant gets a phone call, and you interrupt it

Drive off mid-fill (the attendant reacts, you get a prorated refund)

Tank already full? The attendant won’t fuel it or charge you


:fuel_pump: Core Features

  • :white_check_mark: Pull up to the pump, then E – Call the attendant over
  • :white_check_mark: Attendant walks over, talks to you through the driver window, and can ask you to roll it down (or roll it down for you, configurable)
  • :white_check_mark: Asks you to turn the engine off and nags if you don’t. The engine stays locked while he fuels.
  • :white_check_mark: Choose Quarter / Half / Full. Prices and fill time scale to the room left in your tank, and a nearly full tank becomes “Top it off”.
  • :white_check_mark: Tank already full? He tells you so and doesn’t charge you.
  • :white_check_mark: Real nozzle prop and rope: he walks to the fuel cap, hooks it up, walks back, and takes it off when done
  • :white_check_mark: Cash or card payment, with the price calculated server-side (a modified client can’t pay $0)
  • :white_check_mark: Tips with configurable amounts, paid with the same method you used for the fuel
  • :white_check_mark: Fuel ramps up smoothly while he chats, instead of jumping to the final value
  • :white_check_mark: 2 attendants and 2 stations out of the box, easy to add more in the config
  • :white_check_mark: ESX / QBCore / QBox / Standalone / custom hook, with auto-detect

:performing_arts: The Headline Feature: The Attendant Is a Character

:waving_hand: Greetings That Actually Change

He doesn’t say the same line every time. The greeting depends on the situation:

  • :cloud_with_rain: Rain or storm, with weather-aware lines
  • :sunrise: Morning / afternoon / evening / late night, each with its own line
  • :fuel_pump: Running on fumes, if you roll in with a nearly empty tank
  • :repeat_button: Returning customer: “Hey, you’re back!”
  • :star: Regular: visit him enough times and he treats you like one (threshold is configurable)
  • :ghost: “You’re the one who vanished on me last time!”, if you disconnected mid-fill

Every greeting has its own reply options, and the visit history is saved per player, per station.

:speech_balloon: Small Talk While He Fills

While the pump runs he chats with you. Each topic has reply buttons and a response to what you picked:

  • :sun_behind_rain_cloud: Weather (skipped automatically when it’s raining)
  • :vertical_traffic_light: Busy day
  • :automobile: Your ride
  • :compass: Where you’re from
  • :hourglass_not_done: A final “Almost done” line, said once near the end of the fill

Topics are ordered so the least-recently-used one comes first, and that history is saved across sessions. You won’t hear the same topic twice in a row.

:telephone_receiver: Random Phone Calls

Sometimes the attendant’s phone rings while he’s idle. He answers with a real phone prop and animation, and carries on a full conversation (3 different calls, each with its own goodbye).

Walk up and press E mid-call, and he reacts: “Hold on a sec, let me finish this call real quick.” He wraps up, hangs up, and only then comes over to serve you.

:speaker_high_volume: 3D Voice

His voice is positional. It pans left and right with your camera and fades with distance, so you hear him where he actually is. Facial expressions (happy, annoyed when nagging) play on top of his body animations, and he looks at you while talking.


:automobile: Drive-Off & Disconnect Handling

  • Leave before the fill is halfway done (drive away, walk off): the attendant aborts, complains (“Hey, wait, I wasn’t done!”), cleans up the nozzle, and you’re refunded the unfinished part
  • After the halfway point you can’t ruin the fill. It always completes, and driving off while he walks back doesn’t trigger anything.
  • Disconnect or crash mid-fill: the refund is credited the next time you talk to an attendant, and he remembers you vanished. Configurable under Config.RefundOnDrop (prorated or full).

:busts_in_silhouette: Multiplayer Ready (Shared Attendants)

  • One player per attendant: others see a “The attendant is busy, please wait” prompt
  • Other players see the nozzle and the rope, and hear his voice lines within a configurable radius
  • A claim timeout recovers stations if a client crashes mid-service
  • Network ownership is handled properly, so the attendant doesn’t glitch or teleport when players come and go

(Requires OneSync.)


:electric_plug: Compatibility & Integrations

Frameworks: ESX / QBCore / QBox / Standalone, or "hook" for anything custom. "auto" detects what you’re running.

Fuel systems: native / ox_fuel / LegacyFuel / cdn-fuel / hook

Open for developers:

  • Client events: rdfuel:fillStarted / rdfuel:fillCompleted
  • Server events: rdfuel:tipPaid / rdfuel:refundPaid
  • custom_functions.lua hooks: GetFuel, SetFuel, GetBalance, RemoveMoney, AddMoney, GetIdentifier, OnPayment, OnTip, OnFillStart, OnFillComplete
  • Hooks.OnTip decides where the tip money goes (business account, society, the attendant’s pay…)

Standalone: no framework needed. Fuel is added for free, or you can enable the built-in test wallet to try the whole cash/card/tip flow without any economy.

:hammer_and_wrench: 3,000+ lines of code. no script this size is completely bug free but if you find one report it and we’ll fix it right away


:high_voltage: Performance & Resource Usage

Sits at 0.00 to 0.01 ms idle.


:unlocked: Code Accessibility & Versions

Free version (this download): the core client, server and UI are escrowed (locked). Everything you need to set it up is open:

  • :white_check_mark: config.lua is fully open and commented: stations, prices, fill options, payment, tips, refunds, attendant behavior, voice settings
  • :white_check_mark: custom_functions.lua is fully open: plug in your own fuel system, payment, identifier and tip destination
  • :white_check_mark: Client and server events are open for your own scripts (rdfuel:fillStarted, rdfuel:fillCompleted, rdfuel:tipPaid, rdfuel:refundPaid)

Source code version (paid): want to read, learn from, or modify the full code? The paid version is 100% unlocked: client, server and UI source. Re-style the interface, edit the dialogue system, change the attendant behavior, anything.

:unlocked: Get the source code version: Get it here


:headphone: Full Audio List

Every line is a standalone .mp3 in html/sounds/, so each one is easy to replace or expand.

Greetings: attendant_greeting _rain _morning _evening _night _lowfuel _returning _returning_regular _dropped

Greeting replies: resp_good resp_tired resp_skip resp_lowfuel_close resp_lowfuel_fill resp_return resp_return_skip resp_regular_yes resp_regular_change resp_dropped_sorry resp_dropped_skip

Window & engine: window_request window_nag window_thanks engine_request engine_nag engine_thanks engine_giveup

Fuel & payment: fill_prompt ack_quarter ack_half ack_full ack_topoff tank_full payment_prompt payment_cash_ok payment_card_ok payment_declined payment_insufficient

Tips & goodbye: tip_prompt tip_thanks tip_none tip_failed farewell

Small talk: smalltalk_01 → smalltalk_05 (plus _resp_a / _resp_b for each)

Phone: phone_ring phone_chatter_01 → 12 phone_bye_01/02/03 phone_interrupt phone_wrapup

Drive-off: driveoff


:package: Requirements

  • FiveM server (recent artifact)
  • OneSync (for shared attendants)
  • ESX / QBCore / QBox / Standalone, your choice
  • Optional: ox_fuel / LegacyFuel / cdn-fuel

:down_arrow: Download

:locked: Free version (escrowed, config + hooks open): Download
:unlocked: Source code (everything unlocked, $24.99 launch price): Get it here
:open_book: Documentation: Read the docs

:gem_stone: One payment lifetime updates buy the source code once and every future version of RD Fuel and its new features are yours for free

Standalone, and it works with all frameworks or none at all. Payment and fuel are pluggable via custom_functions.lua, available in both versions.


:heart: Version 1 Notes

This is v1, and we’re actively improving it. If you hit a bug or have a suggestion, tell us in the comments. We’d rather fix it than have you quietly work around it, and every update to the free version stays free.


:hammer_and_wrench: Want Something Custom?

This resource is free so you can see how we build before you hire us need a custom fuel system, a different NPC job (mechanic, car wash…), or an original resource for your server? DM us on Discord: nyr_x.

More free resources are on the way, so keep an eye on this page or our website.


:speech_balloon: Found a bug or have an idea? Drop it in the comments below.
:star: Leave your feedback in the comments, because it gets featured on roxdevelopment.xyz.

Code is accessible Free: config + custom_functions open, core escrowed / Paid: full source code
Subscription-based No
Lines (approximately) ~3,100 Lua (+ ~380 UI)
Requirements FiveM, OneSync, optional ESX/QBCore/QBox
Support Yes (Discord: nyr_x.)

本文资源搬运自 CFX.re FiveM 官方论坛,原作者:Rox_Development。原帖地址:https://forum.cfx.re/t/free-rd-fuel-v1-0-gas-station-attendant-with-an-actual-personality/5435367

原帖标签:script, esx, standalone, qbcore, free, escrow, qbox

THE END
喜欢就支持一下吧
点赞5 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容