便捷查看情绪以及新增更多情绪
jackhf吧
全部回复
仅看楼主
level 11
预览如下,点开slave头像就能看到了,不用再点半天去问“你有什么看法?”
每次只出现一条负面情绪和一条正面情绪,如果没有的话则不显示
再次点开头像,显示内容和上次的不会重复,除非只有这一条情绪了
最后加上颜色让情绪内容更显眼
2021年10月30日 22点10分 1
level 11
ok现在说怎么改
首先看心情和情绪的关系
代码里#static_base目录下有个$recalc_slave_mood代码段
各位可以自行查看详情
简单来说,就是
各种行为对心情的影响幅度其实很小,需要积累数值慢慢才能改变一级心情
情绪对心情的影响很大,新增一条情绪会直接改变一级心情
有3条正面情绪+2条负面情绪,3-2 = 1,那心情就会在“小高兴”上下浮动
穿上“露背裙”和“柔软拖鞋”这两件能+1情绪等级的服装
心情就会在“很高兴”上下浮动
但前期负面情绪太多,比如刚刚成slave,果体/衣服不好,恐惧,绝望,睡眠不好,吃得不好,受到惩罚,环境脏乱,被迫执行规则,被迫训练,被施加法术等等,基本上很容易就把心情拉到底了
2021年10月30日 22点10分 3
level 11
情绪的内容对游玩体验,和你的代入感影响都不小
所以怎么新增情绪呢
首先打开#moodlet_base目录,情绪的定义和情绪的文本描述都在这里
游戏中破瓜之后负面情绪,如果我想添加一个正面情绪
首先在这个目录下补上定义
以及相关的文本描述
2021年10月30日 22点10分 4
level 11
接下来就是要自己设计触发的条件了
每种情绪不生效时,数值默认为0,当数值被修改为大于0时,就生效了
比如slave['neg_defloration']就表示破瓜时的负面情绪数值
数值的具体大小可以理解为情绪的程度轻重
当你获得数值为10的新的正面情绪时,所有负面情绪的数值都会 -10,如果降到了0以下,那这个负面情绪就消失了
反之亦然,新获得的负面情绪也会降低所有正面情绪的数值
就算没有新的情绪获得,每天结束所有情绪的值也会自然 -1
.
所以设计的新情绪,如果你希望它保留的时间久一点,有两种思路
1,数值给得大一点,让数值花相当一段时间才能降到0,然后消失
这个就是我设计破瓜给正面情绪的思路了,数值的计算跟忠诚、敏感和傲慢挂钩,忠诚越高则破瓜的情绪数值也就越大
但再大的数值也总会慢慢被减到0,然后就消失了,所以如果想持续保留这个数值,就得持续不断提供对应情绪数值的刷新
2,持续刷新数值,游戏内比如你的xing欲望对情绪的影响,屋子卫生对情绪的影响等等都是反复刷新的
而我所设计的破瓜情绪显然没办法用这种方式,毕竟你不能反复破[滑稽]
.
针对破瓜的情绪设计,其实有很简单的办法,直接搜索’neg_defloration‘,会找到两块代码
第一部分是#dynamic里的$vaginally_penetrated,也就是任何形式的捅入行为,都会导致破瓜,所以破瓜正面情绪的赋值主要就在这里设计了,这一段代码还涉及授精的量计算,那个跟我的目标就没关系了
slave['neg_defloration'] = 你预想中的计算方法,就可以了,或者干脆给个数值比如80都是可以的
后面要加上这一句,获得了新的正面情绪,要降低一波负面情绪的数值
第二部分是激情X爱模式下的设计,当你退出这个模式时,会统计你的行为,进行数据结算,如果有插入行为的话,那自然也会涉及到破瓜,所以这里也要加上破瓜的正面情绪赋值
2021年10月30日 23点10分 5
level 11
所以设计情绪最难的其实是在赋值这一环节上,你要清楚你想在什么地方给这个情绪赋值,然后代码里找到那个场景的触发控制
情绪设计好了,我要怎么把情绪便捷地显示在slave详细信息界面里呢
第一部分统计所有已生效的情绪
第二部分设计随机来显示那些已生效情绪的文本描述
如果有兴趣的,可以看一看我那个2.2攻略贴里十五楼,来群里详细聊一聊代码的设计[滑稽]
2021年10月30日 23点10分 6
level 1
大佬群号多少呀
2021年11月06日 08点11分 8
没几个人对这游戏代码感兴趣,我解散了
2021年11月06日 09点11分
太可惜了 话说大佬知不知道如果添加了更多sex图片进资料夹 代码里面要怎么改?看了好久都没弄明白
2021年11月07日 10点11分
@稳重又深湛的小焰火y 看你的版本,如果是2.2.1的话,应该游戏启动时候就自己读取图片了,2.1~2.2版本的话需要自己运行load_pictures.py这个python文件,2.0版本有bug随机不了
2021年11月19日 11点11分
level 7
大佬tql
2021年11月19日 11点11分 9
level 2
大佬,求把代码群还拾起来吧,想学学代码,我看2.2的代码里面没法练出受虐狂属性啊
2022年01月26日 13点01分 10
level 5
大佬之前的攻略贴怎么删了,你那攻略可比其他的强多了[泪]
2022年03月30日 12点03分 14
level 5
interaction_result 里
IF $interaction_type = 'self_sex_lesson':
里面的两条代码
dynamic '<<$subskill>> += skill_adv_mul'
dynamic '<<$subskill_xp>> += skill_adv_mul'
请问这两条代码的含义
增加技能等级的意思吗
默认skill_adv_mul是1。那训练一次 ,技能等级直接+1?
2022年04月18日 08点04分 15
要么tj不成功就+技能经验,如果成功则+技能等级和技能经验 感觉这样技能d到c 很困难 比如要10次经验累积才能成功 但是后面c到b b到a a到s 都只要1次就成功了
2022年04月18日 09点04分
积累经验,经验积累到一定程度才能提升等级
2022年04月18日 09点04分
@思达令 skill_adv_mul只是个设置选项,对自己能力的提升影响大,对slave很小,slave看的更多是她的勤奋度和教官的能力,困难难度还看心情
2022年04月18日 09点04分
level 5
游戏里代码
interaction
_____________________________________________
IF interaction = 1311:
$interaction_type = 'self_sex_lesson'
$subskill = 'slave["sub_hj"]'
$subskill_xp = 'slave["sub_hj_xp"]'
repulse = 2
rise_difficulty = 4 + slave["sub_hj"]
$text[1] = '<<$hj_lesson_description[slave["sub_hj"]]>>'
$play_sound[2] = '<<$slopy[slave["age"]]>>'
$special_bg = $hj[slave_type]
couch_skill = master_petting
add_master_hygiene = 3
add_slave_hygiene = 10
add_house_mess = 5
ejaculation_intensity = 1
if slave["sub_hj"] > 5: $interaction_type = 'completed'
$place = 'bedroom'
$special_part = {master_petting_rate += (skill_adv_mul * 1)}
END
_____________________________________________
interaction_result
_____________________________________________
IF $interaction_type = 'self_sex_lesson':
..........................
rise_difficulty += rise_modifer
succes = couch_skill + diligence + learn_bonus["sex"] + ((master_mood + slave["mood"])/2) - rise_difficulty
dynamic 'succes += <<$subskill_xp>>'
IF diligence <= 0:
succes = 0
sin_potential = 1
dynamic $sin_gained_now
elseif diligence > 0 and sin_gain = 0:
dynamic $virtue_gained_eroles
END
IF succes > 0:
dynamic '<<$subskill>> += skill_adv_mul'
dynamic '<<$subskill_xp>> += skill_adv_mul'
slave["nymphomania_xp"] += 1
slave_rate["arousal"] -= (slave["arousal"] * 3)
$text[3] = '在课程结束时,你成功地取得了显著的进步.现在你可以转向更复杂的技术了.'
else
$text[3] = '<<$slave_name>>无法完全完成你教她的任务.有必要再重复这一课,但熟能生巧,下次应该更容易.'
IF $subskill = 'slave["sub_bj"]': $text[3] = '<<$slave_name>>无法完全理解你教授给她的东西.也许下次.正如你向她解释的那样,<br><br><i>"如果一开始不能吸收种子,你就必须尝试,再来一次."</i>'
dynamic '<<$subskill_xp>> += skill_adv_mul'
slave["nymphomania_xp"] += 1
END
_____________________________________________
假设sub_hj=1 对应d
couch_skill =2 对应c
diligence=1
一开始sub_hj_xp=0
rise_difficulty = 4 + slave["sub_hj"]=5
不考虑learn_bonus["sex"] + ((master_mood + slave["mood"])/2) 这些
succes=couch_skill + diligence- rise_difficulty
=2+1-5=-2
需要 tj3次增加3点sub_hj_xp 来让succes>0
现在升级sub_hj=2
rise_difficulty = 4 + slave["sub_hj"]=6
succes=couch_skill + diligence- rise_difficulty
=2+1-6=-3
但是升级后好像sub_hj_xp貌似没有清零机制 还是=3
导致 只要再tj1次就又可以升级了
只有第一次d升级到c需要多次tj,(假设心情没有变糟)后面c升到b,b升到a,a升到s,都只要tj一次就可以升级了
而且我通过作弊器让skill_adv_mul=5
IF succes > 0:
dynamic '<<$subskill>> += skill_adv_mul'
只要一次成功sub_hj +=5 等级直接d升到了s
2022年04月18日 11点04分 17
首先不太清楚你这是什么版本的代码,不过看样子至少是ImperiorAugustus编辑过的,所以应该不超过2.0版本
2022年04月18日 11点04分
现在的代码已经做过很多改动了,以及很详细的数值调整,比如rise_difficulty = 5 + slave["sub_hj"] * 5,xp每次的提升值也=当次训练的success,而不单单是skill_adv_mul
2022年04月18日 11点04分
success值的计算会受到教官能力、slave勤奋度、slave性情和智力、当前体力、双方情绪、傲慢和绝望的综合影响,dynamic '<<$subskill>> += skill_adv_mul'这个简单粗暴的代码在最新版里是不存在的,最多只会提升1级能力
2022年04月18日 11点04分
不过你的分析是没有问题的,从你发的代码来看,旧版本的代码存在不少设计上的缺陷,代码结构自2.0版本以后ImperiorAugustus重构过之后,到现在官方版本是2.2.3,日常训练部分的代码,已经很少能找到类似的问题了
2022年04月18日 11点04分
level 5
dynamic '<<$subskill>> += skill_adv_mul'
这种写法和
直接写<<$subskill>> += skill_adv_mul
有什么区别吗
2022年04月18日 12点04分 18
后者会报错,dynamic会强制执行所有以字符串形式表示的代码,所以代码组合和嵌套都可以用dynamic,而<<>>的作用是在字符串中执行代码表达式
2022年04月18日 12点04分
第一个表达式就是把代码写成字符串,计算子表达式$subskill,得到所代表的那个技能,然后执行整行代码
2022年04月18日 12点04分
感谢
2022年04月18日 13点04分
level 5
下载了新的英文版,请问判断有没有找到图片?
picmax好像 没找到 和找到一张 都是 =1
2022年04月19日 20点04分 19
没下载全吧,可能有部分文件丢失
2022年04月20日 04点04分
好像是他那个指令picmax只能在特定文件夹生效,比如sence,我创了个新的文件夹,图片数统计不进去了
2022年04月20日 11点04分
@思达令 新文件夹不会生效的,jack.cpp里有定义统计的目录,就是你能想到的几个图片目录,那些固定不变的道具npc等不在统计之列
2022年04月20日 11点04分
@思达令 自2.2.1版本之后,图片统计写进了引擎里,只要启动游戏就会自行统计
2022年04月20日 11点04分
level 5
又来求教了,我在txt2里面写了通用台词比如
$bjline_base_高贵[1] = ‘123’
$bjline_base_高贵[2] = ‘456’
高贵是我在角色json里定义的,$dynslave['personality']= "seed_personality": "高贵"
---------------------------------------------------------------
又写了角色的特殊台词比如
$bjline_base_阿拉丁1001[1]='789'
阿拉丁=角色名 1001=角色编号
----------------------------------------------------------------
这样方便给不同的角色写台词
killvar '$bjline'
copyarr '$bjline', '$bjline_base_' + $dynslave['personality']
if '$bjline_base_' + $dynslave_name + dynslave_type <> '': dynamic $array_append, '$bjline', '$bjline_base_' + $dynslave_name + dynslave_type
$text[1] = $bjline[rand(1,arrsize('$bjline') - 1)]
现在我想把这段变成一段可以引用的程序
之后其他的动作比如$hjline_base_高贵
直接让 $hjline=$args[0]去引用
实在想不出怎么去改
2022年04月25日 22点04分 20
$args[0] 作为参数 去替代 $bjline 对应触发台词的动作 $args[1] 作为参数 去替代 base 这个字符串 对应触发台词的条件,比如换成lust
2022年04月26日 04点04分
level 3
顶技术贴
2022年04月27日 12点04分 21
1 2 尾页