[免费][ESX, Qbox, QBcore] JW_247robbery – 便利店抢劫,内置六款小游戏,支持团队协作与前置任务系统

大多数商店抢劫脚本都是同一个循环:走到收银台前,按住E,
等待进度条,收集钱。我想让抢劫本身更有
趣,所以这个资源围绕六个小游戏构建,所有小游戏都是
在资源内部从头编写。没有ox_lib小游戏,没有ps-ui,不需要安装
其他东西。

它是免费的,并且在Lua端只有托管。配置、本地化和商店
设置保持开放,以便你可以实际为你的服务器进行调整。


预览

Youtube


抢劫如何运行

你对着店员开枪而不是按收银台的E。店员然后
会做三件事之一,每场抢劫服务器端随机决定:

  • 他放弃并为你打开第一个收银台
  • 他放弃但悄悄触发无声警报,警察稍后
    会收到
  • 他拔枪

警察总是先接到初始报警,所以他们有公平的机会响应。从
那时起,一切取决于你想多么贪婪。

小游戏

  • 开锁 – 用于店员没有打开的收银台。基于时间,钥匙
    会越来越快,你的开锁器可能会断。
  • 现金大搜刮 – 推你的运气。每次搜刮都是另一叠钞票和
    另一轮染料包。早点把钱装起来并保留你拥有的,或者继续
    进行下去并冒险损失大部分收银台。
  • 听声辨锁 – 后屋保险箱有一个真正的组合,
    永远不会离开服务器。慢慢转动拨盘并倾听:冷、暖、咔哒。
    每个数字你落在都会重置拨盘为零,所以你必须从
    头开始找到下一个。三次机会失误,保险箱就完了。
  • 售货机 – 按照摇摆的节奏摇晃机器,摇晃
    硬币箱松动。过度操作它会翻倒,这会让警察
    听到声音。
  • 电源箱 – 六根带电的电线,按升序剪断。服务器
    验证每一次剪断。
  • 翻找货架 – 快速按键序列。你做得越好,
    战利品越好。

还有从货架上掉落的刮刮乐。使用该物品,一个真正的刮刮
卡会打开,并用鼠标刮掉。

准备值得

电源箱位于外面,可以在任何事发生前剪断。先做那
件事,整个任务中的摄像头和无声警报都会失效。那样完成抢劫,整个团队除了战利品外还会得到一个完美的抢劫奖金,平均分配
。

你也可以在抢劫中中途剪断,这仍然会杀死剩余的警报,但
奖金只有在事先计划好的情况下才计算。

团队

抢劫开始时站在商店附近的所有人都会一起抢劫。他们都看到
相同的实时HUD,他们都可以操作收银台、保险箱、机器和
货架,服务器在每次操作后保持所有人同步。

谁拿到钱就属于谁。只有完美的奖金会自动分割。

这也意味着抢劫可以在有人崩溃的情况下存活。如果开始的人
断开连接,他的伙伴仍然可以完成工作。走得太远,你会得到一个倒计时,让你在出去之前回来
。

警察端

指挥中心自动检测ps-dispatch和cd_dispatch。如果你没有运行它们,会有一个
内置警报,为在线的每个警察提供通知和标记,如果你运行自己的指挥中心,还有自定义
钩子。

除了那之外,没有强制性的警察功能。相反,脚本触发
服务器端事件,所以你可以将其连接到你已经拥有的任何东西:

AddEventHandler('JW_247robbery:started', function(shopId, data)
    -- label, coords, crew, camsDead, reaction
end)

AddEventHandler('JW_247robbery:ended', function(shopId, data)
    -- label, coords, loot, perfect, reason, crew
end)

AddEventHandler('JW_247robbery:powerCut', function(shopId, data) end)
AddEventHandler('JW_247robbery:evidence', function(shopId, data) end)
exports['JW_247robbery']:IsShopActive(shopId)
exports['JW_247robbery']:GetActiveRobberies()

如果你运行CCTV脚本, camsDead告诉你摄像头是否被
破坏,所以你的摄像头馈送在那场抢劫中什么都不会显示。

已经在运行自己的商店NPC?

设置 Config.Clerk.spawn = false,脚本不会自己生成店员。然后
抢劫将从瞄准你的商店脚本的NPC开始。在你的NPC上尝试举手,战斗反应会自动关闭,因为那个NPC不是我们的。

如果你确实使用我们的店员,模型、无敌和他放弃的频率,
警报或战斗都是配置值。设置 fight = 0,他永远不会战斗。

配置

一切都在一个 config.lua中,用英语编写,带有说明每个
值作用的注释:商店、位置、店员行为、小游戏难度、战利品表,
每个商店和每个玩家的服务器范围冷却时间,警察要求,每个在线警察的风险
奖金,UI颜色作为纯十六进制值。

一个商店已经设置好了。有一个带注释的模板用于添加更多,
,以及一个游戏内 /247coords命令,它会为你打印完成的坐标线
。

平衡性故意留给你——我不想强迫我的数字在你的经济上。

其他细节

  • 通过 ox_target 或E键进行交互,自动检测
  • 包含六种语言:英语、德语、波兰语、西班牙语、葡萄牙语(BR)
    和泰语,用一个配置值切换
  • Discord日志记录 – 粘贴你的webhook,你就可以完成了
  • 没有数据库,ESX之外没有依赖项
  • 服务器权威 – 保险箱组合、战利品滚动和每个
    小游戏验证都住在服务器上

下载

https://www.jaxwscripts.store/

支持和错误报告: JaxWScripts

定制委托

我也接受定制脚本请求,带不带自定义道具都可以。
Discord: jaxwhite


代码可访问 部分开放 – 配置、本地化和商店设置是开放的,其余部分是托管
基于订阅 否
代码行数(约) ~4200
依赖要求 es_extended (ESX Legacy)或其他框架
支持 是
查看英文原文 (Original)

Most store robbery scripts are the same loop: walk up to a register, hold E,
wait for a progress bar, collect money. I wanted the robbery itself to be the
interesting part, so this one is built around six minigames, all written from
scratch inside the resource. No ox_lib minigames, no ps-ui, nothing to install
alongside it.

It’s free, and it’s escrowed on the Lua side only. Config, locales and the shop
setup stay open so you can actually tune it for your server.


Preview

Youtube


How a robbery runs

You point a gun at the clerk instead of pressing E on a register. The clerk then
does one of three things, rolled server-side per robbery:

  • he gives up and opens the first register for you
  • he gives up but quietly hits the silent alarm, which reaches the police a bit
    later
  • he pulls a gun

Police always get the initial call, so they have a fair chance to respond. From
there it’s up to you how greedy you want to get.

The minigames

  • Lockpicking – for the registers the clerk didn’t open. Timing based, pins
    get faster, your lockpick can snap.
  • The cash grab – push your luck. Every grab is another stack of bills and
    another roll on the dye pack. Bag up early and keep what you have, or keep
    going and risk losing most of the register.
  • Safe cracking by ear – the back room safe has a real combination that
    never leaves the server. Turn the dial slowly and listen: cold, warm, click.
    Every number you land resets the dial to zero, so you have to find the next
    one from scratch. Three strikes and the safe is done for.
  • Vending machines – rock the machine in the rhythm of the swing to shake
    the coin box loose. Overdo it and it tips over, which makes noise the police
    can hear.
  • The power box – six wires under voltage, cut them in ascending order. The
    server validates every single cut.
  • Rummaging shelves – a fast key sequence. The better you do, the better the
    loot rolls.

Plus scratch tickets that drop from the shelves. Use the item, a real scratch
card opens, and you scratch it off with your mouse.

Prep pays off

The power box sits outside and can be cut before anything happens. Do that first
and the cameras plus the silent alarm are dead for the whole job. Pull the
robbery off like that and the entire crew gets a perfect robbery bonus on top of
the haul, split evenly.

You can also cut it mid-robbery, which still kills the remaining alerts, but the
bonus only counts if you planned ahead.

Crew

Everyone standing near the shop when the robbery starts robs along. They all see
the same live HUD, they can all work the registers, the safe, the machines and
the shelves, and the server keeps everyone in sync after every action.

Whoever grabs the money owns it. Only the perfect bonus is split automatically.

It also means the robbery survives someone crashing out. If the guy who started
it disconnects, his mate can still finish the job. Walk too far and you get a
countdown to come back before you’re out.

Police side

Dispatch auto-detects ps-dispatch and cd_dispatch. If you run neither, there’s a
built-in alert with notification and blip for every cop online, plus a custom
hook if you run your own dispatch.

There are no forced police features beyond that. Instead the script fires
server-side events so you can wire it into whatever you already have:

AddEventHandler('JW_247robbery:started', function(shopId, data)
    -- label, coords, crew, camsDead, reaction
end)

AddEventHandler('JW_247robbery:ended', function(shopId, data)
    -- label, coords, loot, perfect, reason, crew
end)

AddEventHandler('JW_247robbery:powerCut', function(shopId, data) end)
AddEventHandler('JW_247robbery:evidence', function(shopId, data) end)
exports['JW_247robbery']:IsShopActive(shopId)
exports['JW_247robbery']:GetActiveRobberies()

If you run a CCTV script, camsDead tells you whether the cameras were
sabotaged, so your camera feed can show nothing for that robbery.

Already running your own shop NPCs?

Set Config.Clerk.spawn = false and the script spawns no clerk of its own. The
robbery then starts by aiming at your shop script’s NPC. Hands up is attempted
on your NPC, and the fight reaction turns itself off since that ped isn’t ours.

If you do use our clerk, model, invincibility and how often he surrenders,
alarms or fights are all config values. Set fight = 0 and he never fights.

Configuration

Everything is in one config.lua, in English, with comments that say what each
value does: shops, positions, clerk behaviour, minigame difficulty, loot tables,
cooldowns per shop and per player and server-wide, police requirements, risk
bonus per cop online, UI colors as plain hex values.

One shop is set up out of the box. There’s a commented template for adding more,
and an ingame /247coords command that prints the finished coordinate line for
you.

Balancing is deliberately left to you – I didn’t want to force my numbers on
your economy.

Other bits

  • Interaction through ox_target or the E key, detected automatically
  • Six languages included: English, German, Polish, Spanish, Portuguese (BR)
    and Thai, switched with one config value
  • Discord logging – paste your webhook and you’re done
  • No database, no dependencies beyond ESX
  • Server authoritative – the safe combination, the loot rolls and every
    minigame validation live on the server

Download

https://www.jaxwscripts.store/

Support and bug reports: JaxWScripts

Commissions

I also build custom scripts on request, with or without custom props.
Discord: jaxwhite


Code is accessible Partly – config, locales and shop setup are open, the rest is escrowed
Subscription-based No
Lines (approximately) ~4200
Requirements es_extended (ESX Legacy) or other frameworks
Support Yes

本文资源搬运自 CFX.re FiveM 官方论坛,原作者:JaxWhite。原帖地址:https://forum.cfx.re/t/free-esx-qbox-qbcore-jw-247robbery-store-robbery-with-six-built-in-minigames-crew-play-and-a-prep-system/5426013

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

请登录后发表评论

    暂无评论内容