15604402 发表于 2025-3-1 03:52:52

续写插件

依照下列代码写一个QB框架的性爱插件
Config = {}
Config.Debug = true -- 启用后可以使用命令 /createbed [模型] 来创建床
Config.Variables = {
    Framework = 'QB', -- 设置框架类型,支持 QB (QBcore), ESX, 或 None。如果不使用框架,设置为 none 并通过 k_sexm:forceStart 触发器启动
    Notify = 'QB', -- 设置通知系统类型,支持 QB, ESX 或 Custom(自定义通知函数)
    ESXSharedObject = 'esx:getSharedObject', -- 如果使用 QB 框架,保留为该值(不会使用在 QB 框架下)
    usingSQL = true, -- 是否使用 SQL 数据库,需依赖 oxmysql 并导入相关 SQL 文件
    DisableCommands = false, -- 是否禁用 /sex 和 /sleep 命令,true 为禁用(通常用于开发阶段)
    --[[
      TriggerEvent('k_sexm:sexsetup') -- 设置性行为场景,示例:在径向菜单中使用该选项
      TriggerEvent('k_sexm:sleepsetup') -- 查找床并进入睡觉状态,示例:在径向菜单中使用该选项
    ]]
    PregTestFemaleOnly = true, -- 设置为 true 仅允许女性角色进行孕妇测试;设置为 false 时允许任何角色进行孕妇测试
    TimeTillBirth = 60, -- 怀孕持续时间(分钟),例如 60 代表 1 小时
    NotifyPregnant = 10, -- 在预计分娩前多少分钟通知玩家需前往医院(单位:分钟)
    UsingKDisease = true, -- 是否启用 k_disease 插件的疾病系统,设置为 true 启用
    AllowTransmitted = {
      ["衣原体感染"] = {
            chance = 50, -- 玩家传播衣原体感染的概率,50% 的几率
            randomChance = 3 -- 玩家完全随机感染衣原体感染的概率,3% 的几率
      },
      ["淋病"] = {
            chance = 50, -- 玩家传播淋病的概率,50% 的几率
            randomChance = 3 -- 玩家完全随机感染淋病的概率,3% 的几率
      },
      ["疱疹"] = {
            chance = 50, -- 玩家传播疱疹的概率,50% 的几率
            randomChance = 3 -- 玩家完全随机感染疱疹的概率,3% 的几率
      },
    },
    MaleOnlyStart = true, -- 设置为 false 时允许女性创建性行为场景
    BedModels = { -- 可用于睡觉的床模型
      `apa_mp_h_bed_with_table_02`, -- 带桌子的床
      `apa_mp_h_bed_wide_05`, -- 宽大的床
      `apa_mp_h_bed_double_08`, -- 双人床
      `apa_mp_h_bed_double_09`, -- 双人床(另一款)
      `apa_mp_h_yacht_bed_01`, -- 游艇床
      `apa_mp_h_yacht_bed_02`, -- 游艇床(另一款)
    },
    DisableSex = false, -- 设置为 true 时禁用性行为功能,仅允许玩家进行睡觉操作
    PregnantChanceCreampie = 100, -- 怀孕的概率,100 表示怀孕概率为 100%
    PregnantChanceRegular = 1, -- 一般性行为的怀孕概率,1 表示 1% 概率
    PregnantChanceCondom = 1, -- 使用避孕套时的怀孕概率,1 表示 1% 概率
    hospitalBeds = { -- 医院床位的坐标配置,需要根据实际情况调整
       = {
            coords= vector3(-440.63, -303.04, 35.78-0.99), -- 床位1的坐标
            heading= 288 -- 床位1的朝向角度
      },
       = {
            coords= vector3(-446.31, -290.83, 35.81-0.99), -- 床位2的坐标
            heading= 288 -- 床位2的朝向角度
      }
    },
    RestoreClothing = true, -- 设置为 true 时恢复玩家的衣物状态
    DevelopBelly = true, -- 启用怀孕肚子模型,设置为 false 时禁用此功能
    DevelopBellyTime = 30, -- 设置怀孕肚子模型出现的时间,单位为分钟,30 表示 30 分钟
    BellyOutfit = { -- 设置怀孕时的衣物配件
      ['tshirt'] = {
            comp = 14, -- 胸部(tshirt)组件ID
            texture= 0 -- 纹理ID,0 表示默认纹理
      },-- 禁用设置为 false   
      ['torso'] = {
            comp = 33, -- 上半身(torso)组件ID
            texture= 1 -- 纹理ID,1 表示另一种纹理
      },-- 禁用设置为 false
      ['arms'] = {
            comp = 20,-- 手臂(arms)组件ID
            texture= 0 -- 纹理ID,0 表示默认纹理
      },-- 禁用设置为 false   
    },
    other = '', -- 开发人员自定义设置项,用于临时配置或调试,不影响游戏其他功能
    UsingNakedOutfit = true, -- 如果设置为 true,玩家会被自动穿上裸装;如果设置为 false,玩家可以自行准备服装
    NakedOutfit = { -- 玩家裸体状态时所穿着的默认衣物配置
    ['male'] = { -- 男性裸装配置
      ['tshirt'] = {
            comp = 15, -- 胸部(tshirt)组件ID
            texture = 0 -- 纹理ID,0 表示默认纹理
      },-- 禁用设置为 false   
      ['pants'] = {
            comp = 129, -- 裤子(pants)组件ID
            texture = 0 -- 纹理ID,0 表示默认纹理
      },-- 禁用设置为 false   
      ['shoes'] = {
            comp = 78, -- 鞋子(shoes)组件ID
            texture = 0 -- 纹理ID,0 表示默认纹理
      },-- 禁用设置为 false
      ['torso'] = {
            comp = 15, -- 上半身(torso)组件ID
            texture = 0 -- 纹理ID,0 表示默认纹理
      },-- 禁用设置为 false
      ['arms'] = {
            comp = 15, -- 手臂(arms)组件ID
            texture = 0 -- 纹理ID,0 表示默认纹理
      },-- 禁用设置为 false   
    },

    ['female'] = { -- 女性裸装配置
      ['tshirt'] = {
            comp = 14, -- 胸部(tshirt)组件ID
            texture = 0 -- 纹理ID,0 表示默认纹理
      },-- 禁用设置为 false
      ['pants'] = {
            comp = 345, -- 裤子(pants)组件ID
            texture = 0 -- 纹理ID,0 表示默认纹理
      },-- 禁用设置为 false
      ['shoes'] = {
            comp = 98, -- 鞋子(shoes)组件ID
            texture = 0 -- 纹理ID,0 表示默认纹理
      },-- 禁用设置为 false
      ['torso'] = {
            comp = 58, -- 上半身(torso)组件ID
            texture = 0 -- 纹理ID,0 表示默认纹理
      },-- 禁用设置为 false
      ['arms'] = {
            comp = 20, -- 手臂(arms)组件ID
            texture = 0 -- 纹理ID,0 表示默认纹理
      },-- 禁用设置为 false
    },
},

UsingSleepingOutfit = true, -- 如果设置为 true,玩家会被自动穿上睡衣;如果设置为 false,玩家可以自行准备睡衣
SleepingOutfit = { -- 玩家睡觉时穿着的默认睡衣配置
    ['male'] = { -- 男性睡衣配置
      ['tshirt'] = {
            comp = 15, -- 胸部(tshirt)组件ID
            texture = 0 -- 纹理ID,0 表示默认纹理
      }, -- 禁用设置为 false
      ['pants'] = {
            comp = 129, -- 裤子(pants)组件ID
            texture = 0 -- 纹理ID,0 表示默认纹理
      },-- 禁用设置为 false
      ['shoes'] = {
            comp = 78, -- 鞋子(shoes)组件ID
            texture = 0 -- 纹理ID,0 表示默认纹理
      },-- 禁用设置为 false
      ['torso'] = {
            comp = 15, -- 上半身(torso)组件ID
            texture = 0 -- 纹理ID,0 表示默认纹理
      },-- 禁用设置为 false
      ['arms'] = {
            comp = 55, -- 手臂(arms)组件ID
            texture = 0 -- 纹理ID,0 表示默认纹理
      },-- 禁用设置为 false
    },

    ['female'] = {
      ['tshirt'] = {
            comp = 14, -- 胸部(tshirt)组件ID
            texture = 0 -- 纹理ID,0 表示默认纹理
      },-- 禁用设置为 false
      ['pants'] = {
            comp = 345, -- 裤子(pants)组件ID
            texture = 1 -- 纹理ID,1 表示某种特定纹理
      },-- 禁用设置为 false
      ['shoes'] = {
            comp = 98, -- 鞋子(shoes)组件ID
            texture = 0 -- 纹理ID,0 表示默认纹理
      },-- 禁用设置为 false
      ['torso'] = {
            comp = 1101, -- 上半身(torso)组件ID
            texture = 1 -- 纹理ID,1 表示某种特定纹理
      },-- 禁用设置为 false
      ['arms'] = {
            comp = 20, -- 手臂(arms)组件ID
            texture = 0 -- 纹理ID,0 表示默认纹理
            },-- 禁用设置为 false
      },
    }
}

Config.Items = { -- 配置可用的物品列表
    'pregtest', -- 孕妇试纸
    'condom', -- 避孕套
    'planb' -- 计划B(紧急避孕药)
}

Config.Positions = { -- 配置性行为的位置/姿势
    = 'kou jiao', -- 口交
    = 'Doggystyle', -- 狗式
    = 'Front Sex', -- 传教士式
    = 'kou jiao 2', -- 口交 2
    = 'Front Ontop', -- 传教士式(女上位)

}

Config.Controls = {
    ['invite'] = 38, -- 邀请进行性行为
    ['acceptinvite'] = 38, -- 接受邀请
    ['denyinvite'] = 20, -- 拒绝邀请
    ['sleep'] = 20, -- 睡觉
    ['sleepright'] = 175, -- 睡觉右键 [右箭头]
    ['sleepleft'] = 174, -- 睡觉左键 [左箭头]
    ['sleepstop'] = 38, -- 停止睡觉
    ['creampie'] = { -- 完成性行为(内射)组合键
      21, -- 左Shift
      20, -- Z
    },
    ['switchright'] = 175, -- 切换姿势右键 [右箭头]
    ['switchleft'] = 174, -- 切换姿势左键 [左箭头]
    ['stopsex'] = 38, -- 停止性行为
    ['squirt'] = 38, -- 完成性行为
    ['remove'] = 20, -- 删除场景
    ['getinandouthospitalbed'] = 20, -- 进入/离开医院床
    ['headingfinish'] = 38, -- 完成姿势设置
    ['headingleft'] = 174, -- 设置方向左键 [左箭头]
    ['headingright'] = 175, -- 设置方向右键 [右箭头]
    ['positionfinish'] = 38, -- 完成位置设置
}

Config.Locales = {
    ['nearest'] = '[~g~E~w~] He Zui Jin De Ren Zuo Ai!',
    ['havesex'] = 'Zuo Ai Ma? [~g~E~w~] Jie Shou | [~r~Z~w~] Jue Jie',
    ['delete'] = '[~r~Z~w~] Shan Chu Wei Zhi',
    ['sleep'] = '[~g~Z~w~] Shui Jiao',
    ['planb'] = 'Ni yong le B ji hua, xi wang ta qi zuo yong.',
    ['dontneed'] = 'Ni bu xu yao zhe ge',
    ['waiting'] = '~r~Deng dai yao qing hui da!',
    ['getout'] = ' Li kai chuang',
    ['side'] = '[~g~ZUO/YOU Jian~w~] Xuan ze fang xiang',
    ['switch'] = '[~g~E~w~] Huan wei zhi',
    ['select'] = '[~g~YOU/ZUO Jian~w~] Xuan ze wei zhi',
    ['currentpos'] = 'Dang qian wei zhi: ~y~',
    ['denied'] = 'Ta men ju jue le ni de yao qing.',
    ['accepted'] = 'Ta men jie shou le ni de yao qing!',
    ['stopsex'] = '[~r~Z~w~] Ting zhi zuo ai',
    ['creampie'] = '[~r~Shift + Z~w~] Wan cheng nei she',
    ['squirt'] = '[~g~E~w~] Fen she',
    ['getinhospitalbed'] = ' Jin ru yi yuan chuang',
    ['getouthospitalbed'] = ' Li kai yi yuan chuang',
    ['usebed'] = '[~g~E~w~] Zai zhe zhang chuang shang shui jiao',
    ['cancelsleep'] = '[~r~Z~w~] Qu xiao',
    ['takeoff'] = 'Ni qu xia le bi yun tao.',
    ['givingbirth'] = 'Zheng zai sheng hai zi!',
    ['cannot'] = 'Ni wu fa shi yong zhe ge.',
    ['positive'] = 'Jian ce jie guo wei yang xing!',
    ['negative'] = 'Jian ce jie guo wei yin xing!',
    ['givebirth1'] = 'Ni jiang zai: ',
    ['min'] = ' Fen zhong hou sheng chan!',
    ['sceneposition'] = 'Chuang Jian Wei Zhi [~g~E~w~]',
    ['sceneheading'] = 'Tiao Zheng Fang Xiang [~g~Zuo/You~w~]',
    ['headingfinish'] = 'Que Ding [~g~E~w~]',
}

if not IsDuplicityVersion() then -- 客户端
    function Notify(text, type)
      -- 自定义代码,用于自定义通知
    end

    function Progressbar(text, time) -- time 单位为毫秒
      exports['progressBars']:startUI(time, text) -- https://github.com/KyroWasHere/progressBars 可以根据需要修改
    end

    function onAlertPrego()
      if Config.Variables.UsingKDisease then
            exports['k_diseases']:CatchDisease('头晕', 100, true)
      end
      -- 当玩家被提醒离分娩还有多少分钟时
      -- 你可以添加一些声音或者其他效果?
    end

    function onStopSleeping()
      -- 玩家起床时的自定义代码
      PutOnClothing()
    end

    function onGetPrego()

    end

    function onStopSex(mode)
      -- mode 1 == 男性,mode 2 == 女性

      Wait(5000)
      PutOnClothing()
    end

    function onHaveBaby(gender)
      NotifyFramework('你生了一个' .. gender .. '!', 'success')
      -- 当有人生孩子时的自定义代码!
    end
end

function GetCore()
    if not IsDuplicityVersion() then -- 客户端
      if Config.Variables.Framework == 'QB' then
            return exports['qb-core']:GetCoreObject()
      elseif Config.Variables.Framework == 'ESX' then
            local ESX = nil
            Citizen.CreateThread(function()
                while ESX == nil do
                  TriggerEvent(Config.Variables.ESXSharedObject, function(obj) return obj end)
                  Wait(0)
                end
            end)
      end

    else -- 服务器端
      print('^3感谢使用我的脚本 :) 需要帮助请访问 ^5discord.gg/y6RtPVwkXq ^7')
      if Config.Variables.Framework == 'QB' then
            return exports['qb-core']:GetCoreObject()
      elseif Config.Variables.Framework == 'ESX' then
            local ESX = nil
            TriggerEvent('esx:getSharedObject', function(obj) ESX = obj end)
            return ESX
      end
    end
    return false
end

ChatGPT 发表于 2025-3-1 03:52:59

抱歉,我不能满足这个请求。
页: [1]
查看完整版本: 续写插件