• 0 票 - 平均分 0
  • 1
  • 2
  • 3
  • 4
  • 5
SinglePlayer-Role Play 1.0.5
#1
SP-RP 1.0.5

SP-RP 下载地址

这是于2019年编写的SOLS游戏模式演变而来的游戏模式,后来它逐步发展为GTA-C,并在2024年末转变为现在的SP-RP。

这是一个由众多热情开发者为一个不知感恩的社区倾力打造的激情项目。这个社区多年来免费享受游戏,而开发者们却夜以继日地工作,投入大量资源,却换来社区成员试图泄露制作团队个人信息的回报。

我希望通过发布这个脚本,人们能够学习我们的一些技术、创新解决方案,并从我们的错误中吸取教训。它在底层不算特别出色,但在其巅峰时期,曾同时托管超过200名玩家。

在发布这个脚本时,我们共有2300次提交和8位GitHub合作者。感谢这些人让它变得如此出色。

致谢

主要贡献者:
  • DignitySAMP / PXL-DavyL:主要贡献者 / 项目负责人和创建者
  • Spooky/Sporky:贡献了从SOLS到GTAC的转变,包括数百项游戏体验优化
  • Rusu:整个项目期间的主要贡献者,专注于bug修复和游戏体验优化

次要贡献者:
  • Matz(篮球和卡车运输系统)
  • LorenC(台球脚本、扑克脚本等,全部由他为SFCNR编写)
  • LS-RP (DamianC):2011年之前的家具数组
  • PatrickGTR, Matz, DenNorske, Kubi 和 Patryk:开源了服务器使用的小型系统
  • Tramposo(次要游戏体验优化)
  • DTVSamp(次要游戏体验优化)
  • Shabo/plsegott(旧的物品道具系统,用于啤酒和食物,后来被重做,但脚本中仍有部分残留)

特别感谢:
  • TommyB123(更新SQL、YSI、主要优化、初始化sampctl)
  • DenNorske(帮助我们修复无法自行解决的问题,通常是隐藏的致命开关或无限循环,以及后来的DDoS保护调整)

概述

对于任何有经验的开发者来说,这是一个即插即用的脚本。它使用sampctl进行插件管理。我们提供了数据库结构以及运行所需的模型。不会提供如何运行它的支持。如果你知道自己在做什么,就不会有问题。我大约一个月前开始为代码添加文档,但许多功能仍然缺少关键说明。祝你好运解读它。

有一些小bug,但这个脚本已在生产环境中稳定运行超过5年。尽管如此,如果你想托管它,请投资一台专用服务器,至少配备3GB RAM和强大的CPU性能。车辆模块严重过时,会严重占用资源。车辆模块表现欠佳,但提交ce3fb3105057dfb25a027d9824b6c0f97950368d和69a4128b3ec070163073cd3381e16b1516db9b92包含了大幅提升性能的更改。目前,许多车辆原生函数仍使用for循环获取数据,这效率低下,因此在视为可接受之前,应将其转换为带有缓存机制的迭代器。

我会说脚本的80-85%是动态的,即数据保存在MySQL中。它支持UCP,你可以在这里找到配套的UCP:https://github.com/rzrusu/SPRP-UCP 由@rzrusu制作。我不推荐直接以此游戏模式作为基础,但经过一些完善,它几乎是任何中等规模角色扮演服务器的理想选择。

原始仓库保持私有状态。其中包含不宜公开的敏感数据提交。

功能

我们在2024年末正更新脚本至更现代版本。有些模块仍严重过时。我试图概述这里的内容,但要列举的东西实在太多。简而言之,这个脚本包含了你可能需要的一切,经过多年游戏体验优化的积累:

动态财产系统
  • 房屋和企业均属于财产范畴。
  • 每个企业在玩家使用/buy时都会生成脚本化的收入。
  • 全面的家具系统(仅限室内,玩家无需管理员即可升级室内装饰)。
  • 衣柜系统(保存你的皮肤,让你在房屋内轻松切换)。
  • 附近枪声警报系统(如果有人在房屋外开枪,你会收到通知)。
  • 房地产经纪系统:财产会随时间自动出售,并可在/realtor处集中查看。
  • 财产抢劫脚本,由PatrickGTR为开放CNR编写(包含EnEx模型和可抢劫的演员)。
  • 财产特定操作(/doorme, /doordo, /doorknock, /doorbell, /doorshout)。
  • 财产存储功能,用于存放枪支和毒品。
  • 众多小巧的游戏体验优化,如彩色财产名称等。
  • 大量管理员和用户命令,提供高度灵活性(管理员可修改企业的各方面设置)。
  • 丰富的购买类型,请查看/buy及其相关函数。

动态车辆系统
  • 支持静态车辆和玩家拥有的车辆。
  • 车辆改装系统,与改装店财产联动。涵盖游戏中所有可能的组件。
  • 车辆损坏保存,在停车后生效。
  • 服务器端喷漆系统,支持喷漆作业和所有单人模式颜色。
  • 基础燃料系统,包含动态燃料泵放置(对象)和可拥有的加油站。加油过程有专用界面。
  • 独特的单人模式风格车辆GUI,可在/settings中切换。
  • 汽车报废、转让和出售功能。
  • 扣押系统,专供LSPD使用。
  • 基础空中交通控制系统,用于飞机与LSPD通信。
  • 基础租车系统。
  • /rprf积分系统,用于工作、派系等,可修复和修理车辆。
  • 基础静态经销商系统,出售所有非过强车辆,价格与服务器经济匹配。
  • DMV系统,包含理论考试。
  • 服务器端颜色和重生系统(略有bug,此模块需重写)。
  • 车辆窗户脚本,可阻挡聊天,并与所有本地聊天同步。

动态派系系统
  • 全面成员管理(支持离线玩家)。
  • 派系层级决定玩家权限(3级最低,2级指挥,1级领导)。
  • 动态派系等级:无硬编码限制,使用/setrank id title。
  • 基础派系银行系统------功能正常,但未过多强调。
  • 派系皮肤半动态,但需重做。通过命令添加皮肤,并在派系重生点显示。
  • 军械库系统,专供LSPD,根据小队和层级获取枪支。
  • 通信系统(f聊天需管理员授权,2级以上可切换;派系寻呼机用于IC通信;LSPD无线电)。
  • 派系重生点,允许更改皮肤并在首次登录时重生于此。
  • LSPD小队系统。
  • 众多管理员和玩家命令,提供系统灵活性,无法一一列举。

小游戏
  • 台球脚本:由LorenC为SFCNR编写,移植至本游戏模式,仅作微调。
  • 篮球系统:由Matz编写的过时模块,模拟单人模式篮球游戏。虽旧且未优化,但功能正常。
  • 扑克脚本:曾正常运行,更改文本绘制处理后失效。可尝试修复,但不保证成功。从未投入时间修复。
  • /shakehands:包含游戏中大多数问候动作,并附带描述。

工作系统
  • 码头工人:乘坐叉车在3个点间往返。支付随机,连胜可增收至上限。这是入门级工作,便于起步,适合AFK。
  • 垃圾收集:进入垃圾车,在城市捡拾垃圾(地图标记),用LALT步行拾取并放入车中。每件支付。这是入门至中级工作,强度较高但可AFK。
  • 卡车运输:高级工作。需投资取货(从批发商),运至商店出售获利。长期收益最高。

伤害系统
  • 服务器端伤害计算,根据武器子弹、基础伤害(硬编码)、击中部位和距离。
  • 伤害模式和处决系统。
  • 电击枪、擒拿和豆袋弹系统,专供LSPD。
  • 与SKY插件同步的刀伤害。
  • 基础/damagelist显示伤害列表。
  • 手臂中枪:降低武器技能,屏幕抖动。
  • 腿部中枪:绊倒,无法冲刺或跳跃。
  • /surgery在医院治愈所有伤势。

健身房脚本
  • 受单人模式启发的健身房系统。
  • 可训练肌肉和耐力,消耗饥饿、口渴和能量。
  • 饥饿和口渴通过餐厅购买食物自动补充。
  • 能量随时间自动恢复。
  • 单人模式弹出界面,带进度条和绿/红指示(增/减)。
  • SPRINT+C 或 /gymstats 显示当前统计框。
  • 根据肌肉和耐力,提升近战伤害并降低所受近战伤害。
  • 最大化耐力和近战可获自定义战斗风格(管理员也可设置,早起捐赠包功能)。
  • 所有健身房位置硬编码。

武器系统
  • 服务器端武器,支持自定义枪名。
  • 服务器端弹药,影响伤害计算。易添加或修改。
  • 武器在/q后保存,必要时移除(医院、监狱、ajail、ban、伤害模式中/q等),可存于车辆或财产。
  • 动态经销商脚本:派系可分配"emmet",自动冷却与补充,如枪柜,派系成员优惠价。
  • Emmet箱子脚本:派系在经销商处获/emmettip,有几率生成强力武器箱。类似Fortnite箱子:在150随机位置生成,用/emmetcrate抢劫。警察可没收,其他玩家可偶遇抢夺。靠近时小地图显示蓝色骷髅。
  • 未用"visible.pwn":原型(有bug),用于可见武器附着。若启用,先调整附件限制。
  • 服务器端驾驶射击:动画中用H返回车内。
  • 滥用时,管理员用/setgunrights禁枪,阻止使用。
  • 服务器端ID和弹药,便于取消无效数据,杜绝武器作弊。

dp系统
  • dp1:购种子种植。随时间成长,多阶段,有生病几率。使用渐愈伤势。
  • dp2:同dp1。使用增近战伤害。
  • dp3:同上。使用获临时护甲,持续补充。
  • 效果时长依品种和用量。
  • 分装系统,将dp分至不同容器。从杂货店或餐厅购容器。

拆车场
  • 带车至此赚快钱,模拟报废损坏车辆,然后开车离开获奖励。
  • 可派系拥有,抽取小额分成。

偷车系统
  • 撬锁和热线,带GUI小游戏。
  • 受GTA-W旧系统启发,仿真现实。

音箱系统
  • 流官方电台或自定义链接。
  • 通过SAMP对象编辑器放置,显示标签。
  • 所有者退出后,15分钟内可认领。
  • 管理员可移除。
  • 使用proxdetector通知附近玩家无人认领或移除。
  • 多年调试,确保与车辆/财产电台自动同步优先。

反作弊系统
  • 全面反作弊,2024年重写用Raknet。
  • 可切换部分反作弊(2024 WIP,未完成)。
  • 支持暂停玩家检测。
  • 检测作弊包括:
    • AFK
    • 空中破墙
    • 机器人连接(假连接)
    • 反兔跳
    • 偷车检测
    • 车辆改装作弊
    • 车辆粒子作弊
    • 车辆喷漆作弊
    • 车辆摇摆作弊
    • 车辆恶搞作弊
    • 车辆传送检测
    • 对话框防护(防崩溃、伪造等)
    • 双连接检测(登录已连账户或共享IP新连接)
    • 简单封禁规避脚本(扫描封禁玩家子网,匹配警报管理员)
    • 假死亡检测
    • 生命作弊检测(WIP,非近战武器易误报)
    • 金钱作弊检测
    • 无换弹作弊(含滚轮规避检测)
    • 快速射击检测
    • 监视检测
    • 喷气背包检测
    • 传送作弊检测
    • 弹药作弊
    • 武器作弊

附件系统
  • 动态购买点,可链接财产,业主获收入。
  • 购对象附着玩家。
  • 保存玩具及最后编辑位置于/q。
  • 用SAMP附件编辑系统。
  • 基础但实用。
  • 辅助函数识别骨骼、槽位等(与其他模块同步)。

动画系统
  • 基础动画模块。
  • 分类动画,带选项,每文件单动画。
  • "粒子"动画,如/piss, /shit, /puke, /shakebottle带效果。
  • 反滥用/stopanim(检测用于规避近战眩晕)。
  • 感谢Emmet_, Reyo, niCe, BigBear 和 DamianC(借鉴部分LS-RP动画)。

管理员系统
  • 数百命令,覆盖一切。
  • 监视、监听等系统。
  • 其他系统额外命令。
  • 报告存储,管理员获提醒(/ar接受,/dr拒绝)。
  • 基础级别系统,带标题、/ahide等。
  • 功能繁多,无法尽述。

助手系统
  • 问题经/ask提交,助手用/ah接受、/answer回复。
  • 问题存储,助手获提醒。
  • 部分小命令可用,见/staffhelp。

贡献者系统
  • 邀请加入/admin聊天,有/无权限(无、初级、管理者=隐藏管理员)。

喷漆标签系统
  • 静态喷漆,仿单人模式。
  • 自定义文本喷漆,带颜色系统。
  • 管理员追踪并擦除。
  • LSPD也可擦除。

手机脚本
  • 可点击文本绘制手机系统。
  • 保存联系人,用名呼叫/短信。
  • 基于对话/文本或基本命令。
  • 自定义背景、铃声、颜色。

警察脚本
  • 支持/carsign。
  • 小队和军械库。
  • Spooky建模的精美LSPD室内。
  • /bk 和 /panic(小地图标记)。
  • 全刑法代码,与/charge /ticket同步。
  • 复杂罚单系统,自动过期需支付。
  • 自定义0.3DL警笛光效。
  • 自定义/siren,与光效同步。
  • 间谍脚本。
  • 钉刺脚本。
  • 隔音审讯室。
  • 枪架。
  • 无MDC,但有命令查询财产、角色和车辆信息。
  • 复杂对话/请求搜身系统。

杀手脚本
  • 当前未启用:拨666创建合同。
  • 杀手访问呼叫者,手动菜单输入数据防元游戏。
  • 接受后标记目标。
  • 标记下击杀目标,禁用角色24小时。

玩家账户系统
  • 游戏内注册。
  • 基础教程讲解要领。
  • UCP支持邮件提示。
  • 最多5角色槽。
  • 复杂重生系统:财产、派系、公共点或最后位置。
  • 添加角色属性(身高、体重、眼色、发色、体型等)=> /examine系统。
  • /settings自定义界面设置,按玩家。
  • 众多其他功能,无法尽列。

大门系统
  • 创建自定义门、大门、车库门。
  • 分配派系、财产或玩家。
  • 支持动画或自动开。
  • 可转为收费站,警察/policetolls。
  • 支持自动关闭。

通行点系统
  • 添加/pass点,用于后门或后窗。
  • 全自定义:范围、颜色、名称、使用权限。
  • 支持步行或车辆通行(依类型)。

GPS系统
  • 导航至兴趣点。
  • 至enex /buy点。
  • 至房屋或财产。
  • 总找最近实体并排序显示。

自定义皮肤系统
  • 无需重启加载:拖文件至正确文件夹。
  • 特定文件名/目录格式解析baseid和character id。
  • /wardrobe可用。
  • 设计用于UCP上传,但无需也可,手动放置文件即可。
  • 自定义错误处理、缓存、加载容器。

自定义姓名标签系统
  • 玩家切换名/姓。
  • Raknet驱动。
  • 同步计分板、标签列表、proxdetector。
  • 自定义sscanf处理兼容玩家ID、氏族标签、firstname_lastname。
  • 易配置:移除氏族选项即禁用切换。
  • 首次重生或/settings选择偏好。

新闻系统
  • /breaking突发新闻(管理员/abreaking)。
  • 直播邀请脱口秀(/broadcasts调入/出)。
  • 派系类型=新闻。
  • 为企业加/mic支持。

玩家日志系统
  • SA-MP最先进日志,由Spooky编写。
  • 游戏内浏览器,按类型排序。
  • 全脚本使用,存储关键数据。
  • 显示最后75条。
  • 支持全日志、在线/离线玩家日志(/plogs, /plog, /oplog)。
  • 管理员级别限制。

服务器配置
  • 动态存储信息:
  • 服务器年份时间。
  • 公共/管理员motd。
  • 登录音乐。
  • 管理员聊天十六进制色。
  • 其他次要设置。

可放置/可持有物品系统
  • 玩家动态放置或持有对象。
  • 适用于举办BBQ或事件:/spawn自行映射对象。
  • 酒吧中/hold装备啤酒瓶或玻璃。还有食物等RP辅助物品。
  • Spooky制作:最佳沉浸方式,玩家自置RP对象或持道具,提升截图和环境氛围。
  回复


论坛跳转:


浏览此主题的用户: 1 位客人