前言
renpy
拿来写剧情游戏跟写小说一样,不过,好处是不需要太多的代码基础。本来在论坛上扒到一篇已经实现这个功能的,但是又有些鸡肋,我想要实现发表情包和emoji
,并且不受字体限制的话,必须自己手写逻辑和配置,决定手搓。
正文
基本功能:
- 发送对话
- 可查看聊天记录
- 发送表情包和
emoji
请忽略生草的剧情,因为我那时候是真的闲得蛋疼,后来慢慢爬起做正事…
效果
样例1
样例2
代码
禁止滑动切换
在option.rpy
里修改
# 禁用鼠标滚动 防止滚动回到上一页或者下一页
define config.rollback_enabled = False
计算对话框和里面文字的像素
dialogue.rpy
# dialogue.rpy
# 定义头像图片路径
define img_char1 = "images/avatar01.png"
define img_char2 = "images/avatar14.png"
image object_char1 = im.Scale(img_char1, width=45, height=45)
image object_char2 = im.Scale(img_char2, width=45, height=45)
# 定义角色名字
define name_char1 = "友人A"
define name_char2 = "我"
define peo_char1 = "images/people/friend_A.png"
define peo_char2 = "images/people/subject_I.png"
init python:
def filter_images(text):
new_text = text
common_img_count = 0
emoji_img_count = 0
while True:
common_image_start = new_text.find("{image=com_")
common_image_end = new_text.find("}", common_image_start)
emoji_image_start = new_text.find("{image=emo_")
emoji_image_end = new_text.find("}", emoji_image_start)
if common_image_start != -1 and common_image_end != -1:
before_image = new_text[:common_image_start]
after_image = new_text[common_image_end + 1:]
new_text = before_image + after_image
common_img_count += 1
elif emoji_image_start != -1 and emoji_image_end != -1:
before_image = new_text[:emoji_image_start]
after_image = new_text[emoji_image_end + 1:]
new_text = before_image + after_image
emoji_img_count += 1
else:
break
return new_text, common_img_count, emoji_img_count
def calculate_bubble_width(text):
char_width = 20
padding = 20 # 气泡的左右边距
max_width = 310
total_width = 0
filter_text, com_count, emo_count = filter_images(text)
if filter_text:
for char in filter_text:
if ord(char) < 128:
total_width += 15
else:
total_width += char_width
if emo_count:
total_width += emo_count * char_width
elif com_count:
total_width += com_count * com_img_size
return min(total_width, max_width)
return min(total_width + padding, max_width)
def calculate_bubble_height(text):
char_width = 20
padding = 20
max_width = 300
total_width = 0
img_lines = 0
filter_text, com_count, emo_count = filter_images(text)
if filter_text:
for char in filter_text:
if ord(char) < 128:
total_width += 15
else:
total_width += char_width
if emo_count:
total_width += emo_count * char_width
elif com_count:
total_width += com_count * com_img_size
num_lines = total_width // max_width + 1
per_line_heigh = padding * 2
if com_count:
img_lines += com_count * com_img_size
if not com_count:
if num_lines == 1:
return per_line_heigh + img_lines
else:
return (num_lines-1)* 30 + per_line_heigh + img_lines
else:
return (num_lines-1)* 30 + img_lines + 20
绘制对话框
dialogue.rpy
screen dialogue_history():
frame:
xalign 0.5
yalign 0.2
xsize 410
ysize 800
background Color("#aeeeb5") # 豆沙绿色的背景颜色
vpgrid:
cols 1
yinitial 1.0
scrollbars "vertical"
mousewheel True
draggable True
vbox:
style "chat_box_style"
for sender, message, send_time in chat_history:
hbox:
xsize 400
text "{b}{size=14}{color=#2E8B57}[send_time]{/color}{/size}{/b}" xalign 0.5
spacing 10
if sender == name_char1:
hbox:
style "char1_style"
vbox:
image peo_char1
text "{b}{size=14}{color=#f00}[sender]{/color}{/size}{/b}" xalign 0.5
frame: # 在文字周围添加气泡背景图片
background Frame("images/bubble_left.png")
xsize calculate_bubble_width(message) + 20 # 调整 Frame 的宽度
ysize calculate_bubble_height(message)
text "{b}{size=20}[message]{/size}{/b}"
frame:
ysize 10
xsize 0
text ""
else:
hbox:
style "char2_style"
frame: # 在文字周围添加气泡背景图片
# background Color("#e59393")
background Frame("images/bubble_right.png")
xsize calculate_bubble_width(message) + 20 # 调整 Frame 的宽度
ysize calculate_bubble_height(message)
text "{b}{size=20}[message]{/size}{/b}"
vbox:
image peo_char1
text "{b}{size=14}{color=#f00}[sender]{/color}{/size}{/b}" xalign 0.5
frame:
ysize 10
xsize 0
text ""
主控制脚本
script.rpy
# 定义头像图片路径
define img_char1 = "images/avatar01.png"
define img_char2 = "images/avatar14.png"
# 定义角色名字
define name_char1 = "友人A"
define name_char2 = "我"
init python:
chat_history = []
char1_index = 0
char2_index = 0
current_sender = name_char1
char1_contents = []
char2_contents = []
chat_sequence = []
import datetime
def get_formatted_time():
current_time = datetime.datetime.now()
day_time = current_time.strftime("%m月%d日").lstrip('0').replace('月0', '月')
clock_time = current_time.strftime("%H:%M")
am_pm = current_time.strftime("%p")
hour = int(current_time.strftime("%I"))
time_period = ""
if am_pm == "AM":
if hour >= 1 and hour <= 5:
time_period = "凌晨"
elif hour >= 6 and hour <= 11:
time_period = "上午"
elif am_pm == "PM":
if hour == 12:
time_period = "中午"
elif hour >= 1 and hour <= 5:
time_period = "下午"
else:
time_period = "晚上"
formatted_time = "{} {}{}".format(day_time, time_period, clock_time)
return formatted_time
label add_char1_msg(txt):
$ current_time = get_formatted_time()
$ chat_history.append((name_char1, txt, current_time))
return
label add_char2_msg(txt):
$ current_time = get_formatted_time()
$ chat_history.append((name_char2, txt, current_time))
return
label _display_chat:
show screen dialogue_history
$ current_sender = chat_history[-1][0]
jump SelectChoices_0
label main_menu:
return
label start:
$ chat_history = []
$ current_time = get_formatted_time()
$ chat_history.append((name_char1, "嘿,最近怎么样?", current_time))
call _display_chat
label end:
# "测试结束"
pause
jump start
填充剧情
select_contents.rpy
# 咋?遇到疯狗咬人呢?
label _test_selected_0_0:
menu:
"每天都要学习,烦死了0-0!":
call add_char2_msg("每天都要学习,实在不想学习啊")
$ renpy.pause(1.0)
call add_char1_msg("说不定你会怀念读书的日子")
$ renpy.pause(1.0)
call add_char1_msg("毕竟进入社会会被毒打啊。")
$ renpy.pause(1.0)
jump _test_selected_1_0
"洗菜洗得手疼,什么时候能遇见富婆啊啊啊~~~":
call add_char2_msg("洗菜洗得手疼,什么时候能遇见富婆啊啊啊~~~")
$ renpy.pause(1.0)
call add_char1_msg("洗菜罢了,你跟我去工地搬砖试试看")
$ renpy.pause(1.0)
call add_char1_msg("孔乙己要认清自己捏!")
$ renpy.pause(1.0)
call add_char1_msg("假清高,真穷困{image=emo_img_tightly_close_eye}")
$ renpy.pause(1.0)
jump _test_selected_1_1
"昨天出门,一不小心给我摔得狗吃屎,损失医药费1000元":
call add_char2_msg("昨天出门,一不小心给我摔得狗吃屎,损失医药费1000元")
$ renpy.pause(1.0)
call add_char1_msg("嚯,你中狗屎运了")
$ renpy.pause(1.0)
call add_char1_msg("什么医院,下次我骨折了也去")
$ renpy.pause(1.0)
jump _test_selected_1_2
label _test_selected_1_0:
menu:
"确实,不想读书的话就被社会毒打":
call add_char2_msg("要被社会狠狠教育!")
$ renpy.pause(1.0)
call add_char2_msg("什么时候我当上大富翁")
$ renpy.pause(1.0)
call add_char2_msg("我就毒打社会去")
$ renpy.pause(1.0)
pause
call add_char1_msg("你做做春秋大梦去{image=emo_img_rolling_laugh}")
$ renpy.pause(1.0)
call add_char1_msg("梦里你还能当秦始皇")
$ renpy.pause(1.0)
pause
call add_char2_msg("{image=emo_img_triumph_angry}你再骂?!")
$ renpy.pause(1.0)
pause
"{color=#FFD700}达成成就:{/color}{color=#FF8BFF} 梦中也要当皇帝{/color}"
jump end
"QWQ......":
call add_char2_msg("你说的都对,但是")
$ renpy.pause(1.0)
call add_char1_msg("但是?")
$ renpy.pause(1.0)
call add_char2_msg("我还是相信未来会变好")
$ renpy.pause(1.0)
pause
call add_char2_msg("到那个时候,我已经不是被社会毒打了,而是我毒打社会!")
$ renpy.pause(1.0)
call add_char1_msg("Emmm...{image=emo_img_suspected_face}")
$ renpy.pause(1.0)
call add_char1_msg("尊重他人命运,不做乐善好施傻大佛")
$ renpy.pause(1.0)
pause
"{color=#FFD700}达成成就:{/color}{color=#FF8BFF} 尊重、理解、包容{/color}"
jump end
"小子,你倒是社会人了":
call add_char2_msg("你很懂嘛,社会倒是还没教育过我")
$ renpy.pause(1.0)
call add_char1_msg("我已经是靠谱的成年人了好吧")
$ renpy.pause(1.0)
call add_char2_msg("只要你不是说你未来会再去读书就行")
$ renpy.pause(1.0)
call add_char1_msg("为什么?我还想继续读书捏!")
$ renpy.pause(1.0)
call add_char2_msg("呃, 你也想继续坐牢3年是吧")
$ renpy.pause(1.0)
call add_char1_msg("你是坐牢,而我,是成仙!{image=emo_img_delicious_food}")
$ renpy.pause(1.0)
call add_char2_msg("{image=emo_img_cold_sweat}好好好")
$ renpy.pause(1.0)
pause
"{color=#FFD700}达成成就:{/color}{color=#FF8BFF} 学成归来为登仙之时{/color}"
jump end
label _test_selected_1_1:
menu:
"茴有几种写法?":
call add_char2_msg("茴香豆的“茴”字怎么写?写出六种不同写法")
$ renpy.pause(1.0)
call add_char1_msg("哈?你问我这个我怎么知道啊?")
$ renpy.pause(1.0)
pause
call add_char2_msg("看来你真的不是孔乙己啊")
$ renpy.pause(1.0)
call add_char2_msg("你读过鲁迅的《孔乙己》吗?")
$ renpy.pause(1.0)
call add_char1_msg("那里面也没有写有几种写法啊!")
$ renpy.pause(1.0)
call add_char1_msg("真无语了")
$ renpy.pause(1.0)
pause
call add_char2_msg("我去搜了一下,只搜到这个:")
$ renpy.pause(1.0)
call add_char2_msg("茴,回,*,*,还有一种是“口”字里面有个“目”字")
$ renpy.pause(1.0)
call add_char1_msg("啊?你还真的去搜了")
$ renpy.pause(1.0)
call add_char2_msg("但是不够六种啊")
$ renpy.pause(1.0)
call add_char2_msg("{image=com_img_AAAA}")
$ renpy.pause(1.0)
call add_char1_msg("6")
$ renpy.pause(1.0)
pause
"{color=#FFD700}达成成就:{/color}{color=#FF8BFF} 真正的孔乙己先生{/color}"
jump end
"你知道洗那个红苋菜有多累吗?":
call add_char2_msg("红苋菜,吃过吗?那个煮了会有红色汁水的菜")
$ renpy.pause(1.0)
call add_char2_msg("就像在沙子里洗过一样的难洗")
$ renpy.pause(1.0)
call add_char1_msg("哦,我不喜欢吃蔬菜,不知道")
$ renpy.pause(1.0)
call add_char1_msg("但是我知道红龙果,也是红色的")
$ renpy.pause(1.0)
call add_char2_msg("在颜色上倒是一致了")
$ renpy.pause(1.0)
call add_char2_msg("火龙果可好洗,不对,不用洗")
$ renpy.pause(1.0)
call add_char1_msg("洗菜洗得魔怔了你")
$ renpy.pause(1.0)
call add_char1_msg("建议去KFC打工试试")
$ renpy.pause(1.0)
call add_char2_msg("我不要,我惜命")
$ renpy.pause(1.0)
call add_char2_msg("{image=com_img_sleeping}")
$ renpy.pause(1.0)
pause
"{color=#FFD700}达成成就:{/color}{color=#FF8BFF} 红色的事物{/color}"
jump end
"工地搬砖就算了,毕竟我学的专业搬不了":
call add_char2_msg("你叫一个学计算机的人去工地搬砖?")
$ renpy.pause(1.0)
call add_char2_msg("这就像是你叫一个秀才去上战场")
$ renpy.pause(1.0)
call add_char1_msg("你学个计算机就是秀才了?那学过唱歌的就是歌手了?")
$ renpy.pause(1.0)
call add_char1_msg("计算机的也要找不着工作了,建议早点加入")
$ renpy.pause(1.0)
call add_char1_msg("早点入厂,还不用和后辈竞争捏,早日当工头")
$ renpy.pause(1.0)
pause
call add_char2_msg("趁着现在的红利,狠狠赚一笔!")
$ renpy.pause(1.0)
call add_char1_msg("好开")
$ renpy.pause(1.0)
call add_char1_msg("谁是{image=emo_img_joker}?")
$ renpy.pause(1.0)
pause
call add_char1_msg("现在再不学java就要被薄纱啦")
$ renpy.pause(1.0)
call add_char2_msg("赶紧深度学习学起来,研究生就有救咯")
$ renpy.pause(1.0)
call add_char2_msg("呜呜呜,再不读研究生,以后就被同龄人歧视了")
$ renpy.pause(1.0)
call add_char1_msg("别再这里阴阳了,洗你的菜吧")
$ renpy.pause(1.0)
pause
"{color=#FFD700}达成成就:{/color}{color=#FF8BFF} 再不学计算机就晚啦{/color}"
jump end
label _test_selected_1_2:
menu:
"黑心医院你也去,宰大肥猪咯":
call add_char2_msg("黑心医院专门宰大肥猪")
$ renpy.pause(1.0)
call add_char2_msg("就喜欢你这种富得流油的")
$ renpy.pause(1.0)
call add_char1_msg("嘿!我哪里富过?我连酸奶盖都不舔")
$ renpy.pause(1.0)
call add_char2_msg("我可是看到你上次直接买了两套阿迪达斯")
$ renpy.pause(1.0)
call add_char1_msg("呃,该说不说呢")
$ renpy.pause(1.0)
call add_char1_msg("那两套衣服是盗版来的")
$ renpy.pause(1.0)
call add_char2_msg("你说是就是吧")
$ renpy.pause(1.0)
call add_char2_msg("下次请我吃海底捞,毕竟也不贵捏")
$ renpy.pause(1.0)
call add_char1_msg("甭想,我自己都没吃过几次好吧")
$ renpy.pause(1.0)
call add_char2_msg("那请我吃必胜客")
$ renpy.pause(1.0)
call add_char1_msg("我突然有点事,先不聊了哈")
$ renpy.pause(1.0)
call add_char2_msg("...")
$ renpy.pause(1.0)
pause
"{color=#FFD700}达成成就:{/color}{color=#FF8BFF} 谁是真正的“富哥”{/color}"
jump end
"我又没骨折,是那个什么药超级贵":
call add_char2_msg("没骨折好吧")
$ renpy.pause(1.0)
call add_char2_msg("怎么可能踩到狗屎就骨折,是药贵")
$ renpy.pause(1.0)
call add_char1_msg("哈哈哈哈")
$ renpy.pause(1.0)
call add_char1_msg("什么药那么贵?")
$ renpy.pause(1.0)
call add_char2_msg("是其他方面的病也一并查出来了")
$ renpy.pause(1.0)
call add_char2_msg("我都没想过自己会得肝硬化,真的无语死了")
$ renpy.pause(1.0)
call add_char2_msg("那个医生一下子给我开了巨多药,早知道不去医院看病了")
$ renpy.pause(1.0)
call add_char1_msg("顺带体检是吧?")
$ renpy.pause(1.0)
call add_char1_msg("我单位都是脂肪肝,倒是没几个肝硬化的")
$ renpy.pause(1.0)
call add_char2_msg("我是不可能得脂肪肝的,毕竟我已经肝硬化了")
$ renpy.pause(1.0)
call add_char1_msg("乐")
$ renpy.pause(1.0)
call add_char2_msg("你也给我小心点,要是也查出来什么病,就轮到你难受了")
$ renpy.pause(1.0)
call add_char1_msg("不乐.jpg")
$ renpy.pause(1.0)
pause
"{color=#FFD700}达成成就:{/color}{color=#FF8BFF} 肝不能承受生命之重{/color}"
jump end
"我去,1000块直接给我干傻了":
call add_char2_msg("我工资的1/5都栽进去了")
$ renpy.pause(1.0)
call add_char2_msg("真是6")
$ renpy.pause(1.0)
call add_char1_msg("哈哈哈哈")
$ renpy.pause(1.0)
pause
call add_char1_msg("你工资才5000块一个月?")
$ renpy.pause(1.0)
call add_char2_msg("你多,我才刚刚工作啊")
$ renpy.pause(1.0)
call add_char1_msg("我想起来我刚刚工作好像才1000不到")
$ renpy.pause(1.0)
call add_char2_msg("哼哼")
$ renpy.pause(1.0)
call add_char1_msg("还不包食宿,真不当人看啊")
$ renpy.pause(1.0)
pause
call add_char2_msg("我也不包啊,就离谱")
$ renpy.pause(1.0)
call add_char2_msg("现在的物价,还要抠抠搜搜才有存款")
$ renpy.pause(1.0)
call add_char1_msg("确实")
$ renpy.pause(1.0)
call add_char2_msg("心酸,伤心太平洋")
$ renpy.pause(1.0)
call add_char1_msg("心酸,伤心太平洋")
$ renpy.pause(1.0)
pause
"{color=#FFD700}达成成就:{/color}{color=#FF8BFF} 海内存知己,天涯若比邻{/color}"
jump end
# 很不错!借我抄抄0WQ!?
label _test_selected_0_1:
menu:
"帮我充B站大会员,我再考虑考虑这事":
call add_char2_msg("帮我充一个月B站大会员")
$ renpy.pause(1.0)
call add_char2_msg("我再考虑考虑这事")
$ renpy.pause(1.0)
pause
call add_char1_msg("我都不逛B站的")
$ renpy.pause(1.0)
call add_char1_msg("我都去抖音看视频的好吧,连会员都不用充")
$ renpy.pause(1.0)
pause
call add_char2_msg("你小子!")
$ renpy.pause(1.0)
jump _test_selected_2_0
"没门,自力更生,谢谢":
call add_char2_msg("没门")
$ renpy.pause(1.0)
call add_char2_msg("自力更生")
$ renpy.pause(1.0)
call add_char2_msg("谢谢")
$ renpy.pause(1.0)
pause
call add_char1_msg("真小气,上次我还借给你平板玩了捏")
$ renpy.pause(1.0)
call add_char1_msg("0-<下次不借了")
$ renpy.pause(10.0)
call add_char1_msg("{image=com_img_zaima}")
$ renpy.pause(2.0)
call add_char1_msg("呜呜,真的写不完了,救命")
$ renpy.pause(2.0)
jump _test_selected_2_1
"突然想起来我作业还没写完捏,溜了":
call add_char2_msg("突然想起来我作业还没写完捏,溜了")
$ renpy.pause(1.0)
call add_char2_msg("{image=com_img_going}")
$ renpy.pause(1.0)
call add_char1_msg("......")
$ renpy.pause(5.0)
pause
call add_char1_msg("人呢?")
$ renpy.pause(5.0)
call add_char1_msg("真不在?")
$ renpy.pause(5.0)
call add_char1_msg("去不去吃海底捞?")
$ renpy.pause(1.0)
call add_char2_msg("去去去")
$ renpy.pause(1.0)
pause
call add_char1_msg("哟,一提到吃的就来劲了是吧?")
$ renpy.pause(1.0)
jump _test_selected_2_2
label _test_selected_2_0:
menu:
"你觉得你很幽默?":
call add_char2_msg("你不会觉得自己很幽默吧?")
$ renpy.pause(1.0)
call add_char2_msg("B站怎么你了?")
$ renpy.pause(1.0)
pause
call add_char1_msg("?")
$ renpy.pause(1.0)
call add_char1_msg("开始跳脚了是吧?")
$ renpy.pause(1.0)
call add_char1_msg("戳心窝子地说")
$ renpy.pause(1.0)
call add_char1_msg("我更喜欢看抖音上的小姐姐跳舞")
$ renpy.pause(1.0)
call add_char1_msg("{image=emo_img_overheated}")
$ renpy.pause(1.0)
pause
call add_char2_msg("彳亍")
$ renpy.pause(1.0)
call add_char2_msg("有视频链接发我一份")
$ renpy.pause(1.0)
call add_char2_msg("兄弟应该同甘共苦")
$ renpy.pause(1.0)
pause
call add_char1_msg("现在想起兄弟了?")
$ renpy.pause(1.0)
call add_char1_msg("作业来一份")
$ renpy.pause(1.0)
call add_char2_msg("嗬,你倒是算盘打得响")
$ renpy.pause(1.0)
call add_char2_msg("{image=com_img_never_mind}")
$ renpy.pause(1.0)
pause
"{color=#FFD700}达成成就:{/color}{color=#FF8BFF}殊途同归{/color}"
jump end
"那我也去下个抖音呗":
call add_char2_msg("那我也去下载个抖音")
$ renpy.pause(1.0)
call add_char1_msg("你不说你手机都没空间了吗")
$ renpy.pause(1.0)
call add_char1_msg("原来是骗我的是吧")
$ renpy.pause(1.0)
pause
call add_char2_msg("呃呃呃,好像是没空间了哦")
$ renpy.pause(1.0)
call add_char1_msg("你又可以换手机了,真好,唉!")
$ renpy.pause(1.0)
pause
call add_char2_msg("得,你就想着我旧手机给你这件事老久了")
$ renpy.pause(1.0)
call add_char1_msg("反正你也用不着了,我用用怎么了?")
$ renpy.pause(1.0)
pause
call add_char2_msg("{image=com_img_close_eye}")
$ renpy.pause(1.0)
call add_char2_msg("我打心眼里觉得:")
$ renpy.pause(1.0)
pause
call add_char1_msg("帅气潇洒?还是善良多金?")
$ renpy.pause(1.0)
call add_char2_msg("脸皮厚得可以跟地球表面媲美")
$ renpy.pause(1.0)
call add_char1_msg("你敢再说一遍?")
$ renpy.pause(1.0)
pause
call add_char2_msg("{image=com_img_wuyu_0}")
$ renpy.pause(1.0)
call add_char2_msg("我再说一遍,你看好了")
$ renpy.pause(1.0)
call add_char2_msg("你的脸皮厚得可以跟地球表面媲美")
$ renpy.pause(1.0)
pause
call add_char1_msg("我周五线下要单杀你,你小心点")
$ renpy.pause(1.0)
pause
"{color=#FFD700}达成成就:{/color}{color=#FF8BFF} 被捡漏侠线下单杀{/color}"
jump end
"确实,只是没有一些高清影片可以看罢了":
call add_char2_msg("只是有些片又看不了咯!")
$ renpy.pause(1.0)
pause
call add_char1_msg("你是假的二次元吧?")
$ renpy.pause(1.0)
call add_char1_msg("原来你不知道要去樱花上看啊")
$ renpy.pause(1.0)
pause
call add_char2_msg("我当然知道,只不过吗...")
$ renpy.pause(1.0)
call add_char2_msg("要是我有个免费大会员就更好了!")
$ renpy.pause(1.0)
pause
call add_char1_msg("...没有,不也活着?")
$ renpy.pause(1.0)
call add_char2_msg("这倒是")
$ renpy.pause(1.0)
call add_char2_msg("所以你会不会给我充大会员?")
$ renpy.pause(1.0)
pause
call add_char1_msg("你先给我作业再说")
$ renpy.pause(1.0)
call add_char1_msg("我还要验货呢,万一是空包弹,我不亏死?")
$ renpy.pause(1.0)
pause
call add_char2_msg("你要什么科目的?")
$ renpy.pause(1.0)
call add_char1_msg("物理、生物、化学、数学")
$ renpy.pause(1.0)
call add_char1_msg("干脆你都给我吧")
$ renpy.pause(1.0)
call add_char2_msg("得,就差我没给你写了")
$ renpy.pause(1.0)
pause
"{color=#FFD700}达成成就:{/color}{color=#FF8BFF} 大会员的执念{/color}"
jump end
label _test_selected_2_1:
menu:
"我就勉为其难地给你参考一下作业吧":
call add_char2_msg("我就勉为其难地给你参考一下作业吧")
$ renpy.pause(2.0)
jump _test_selected_2_1_
"我就大发慈悲地给你参考一下作业吧":
call add_char2_msg("我就大发慈悲地给你参考一下作业吧")
$ renpy.pause(2.0)
jump _test_selected_2_1_
"我就大人有大量地给你参考一下作业吧":
call add_char2_msg("我就大人有大量地给你参考一下作业吧")
$ renpy.pause(2.0)
jump _test_selected_2_1_
label _test_selected_2_1_:
call add_char1_msg("嘿嘿,爱你哦")
$ renpy.pause(1.0)
pause
call add_char2_msg("噫。")
$ renpy.pause(1.0)
call add_char2_msg("{image=com_img_hide_for_scary}")
$ renpy.pause(1.0)
call add_char2_msg("你再这么恶心,我就撤回我的作业图片")
$ renpy.pause(1.0)
pause
call add_char1_msg("别别别,我的好大儿,我只是表达我的感谢罢了")
$ renpy.pause(1.0)
call add_char2_msg("我是你爹")
$ renpy.pause(1.0)
call add_char2_msg("叫爹")
$ renpy.pause(1.0)
call add_char1_msg("好的,我的好大儿")
$ renpy.pause(1.0)
pause
call add_char2_msg("{image=com_img_shut_up}")
$ renpy.pause(1.0)
call add_char2_msg("闭嘴,我才是爹")
$ renpy.pause(1.0)
pause
"{color=#FFD700}达成成就:{/color}{color=#FF8BFF} 我是你爹{/color}"
jump end
label _test_selected_2_2:
menu:
"我可是美食家啊!":
call add_char2_msg("对吃我可是专业的")
$ renpy.pause(1.0)
call add_char2_msg("我小时候就想当个美食家")
$ renpy.pause(1.0)
pause
call add_char1_msg("你不知道美食家首先需要会做菜吗?")
$ renpy.pause(1.0)
call add_char1_msg("你看电视上他们当评委的几乎都是做过厨师的")
$ renpy.pause(1.0)
pause
call add_char2_msg("我当然知道,但是我也没有说我是专业的美食家")
$ renpy.pause(1.0)
call add_char2_msg("别抬杠了,去哪个店?")
$ renpy.pause(1.0)
pause
call add_char1_msg("...")
$ renpy.pause(1.0)
call add_char2_msg("你不会只是为了诈我出来给你作业吧?")
$ renpy.pause(1.0)
call add_char1_msg("我怎么可能?")
$ renpy.pause(1.0)
pause
call add_char1_msg("你去的时候带上上次给的优惠劵")
$ renpy.pause(1.0)
call add_char1_msg("这下可以直接打5折")
$ renpy.pause(1.0)
pause
call add_char2_msg("噫,这还是我抽到的,结果你给用了是吧")
$ renpy.pause(1.0)
call add_char1_msg("这不是一起吃吗?怎么说是我自己用")
$ renpy.pause(1.0)
call add_char1_msg("来来来,我都到星云路了,你快点的")
$ renpy.pause(1.0)
pause
call add_char2_msg("得,马上下楼")
$ renpy.pause(1.0)
pause
"{color=#FFD700}达成成就:{/color}{color=#FF8BFF} 5折的海底捞也能吃{/color}"
jump end
"吃白食谁不去?":
call add_char2_msg("你请客的话,我不得去?")
$ renpy.pause(1.0)
call add_char2_msg("必须白嫖")
$ renpy.pause(1.0)
call add_char1_msg("原来你是为了吃白食!")
$ renpy.pause(1.0)
call add_char1_msg("{image=com_img_cry6}")
$ renpy.pause(1.0)
pause
call add_char2_msg("那不然呢")
$ renpy.pause(1.0)
call add_char2_msg("我好想吃海底捞啊!")
$ renpy.pause(1.0)
pause
call add_char1_msg("啊,你就逮着我使劲薅啊")
$ renpy.pause(1.0)
call add_char2_msg("这不你说要去的吗?")
$ renpy.pause(1.0)
call add_char2_msg("你要反悔?")
$ renpy.pause(1.0)
pause
call add_char1_msg("这倒没有,你吃了我的饭")
$ renpy.pause(1.0)
call add_char1_msg("就要记得给我发点作业答案")
$ renpy.pause(1.0)
pause
call add_char2_msg("这还差不多")
$ renpy.pause(1.0)
call add_char1_msg("物理、生物、化学、数学")
$ renpy.pause(1.0)
call add_char1_msg("干脆你都给我吧")
$ renpy.pause(1.0)
call add_char2_msg("得,就差我没给你写了")
$ renpy.pause(3.0)
pause
call add_char1_msg("下楼,我都到了")
$ renpy.pause(1.0)
call add_char2_msg("OKK")
$ renpy.pause(1.0)
pause
"{color=#FFD700}达成成就:{/color}{color=#FF8BFF} BINGO!贿赂成功{/color}"
jump end
"你还要给我来鸿门宴是吧!小子":
call add_char2_msg("黄鼠狼给鸡拜年!")
$ renpy.pause(1.0)
call add_char2_msg("你要准备开始舞剑了是吧?")
$ renpy.pause(1.0)
pause
call add_char1_msg("什么啊,你上次不说想吃海底捞吗?")
$ renpy.pause(1.0)
call add_char2_msg("哦,我什么时候说过...")
$ renpy.pause(1.0)
call add_char2_msg("不管了,走!吃海底捞啊")
$ renpy.pause(1.0)
pause
call add_char1_msg("行,不过,海底捞旁边正好有一家网咖")
$ renpy.pause(1.0)
call add_char1_msg("我们正好可以去网咖玩一晚上")
$ renpy.pause(1.0)
call add_char2_msg("?")
$ renpy.pause(1.0)
call add_char2_msg("原来是这样,我说呢,你从来不会为了吃而吃")
$ renpy.pause(1.0)
call add_char1_msg("诶,什么?我也很喜欢学习的好吧,只是正好不擅长这几门")
$ renpy.pause(1.0)
pause
call add_char2_msg("那你还要学理科,真无语")
$ renpy.pause(1.0)
call add_char1_msg("这不是,唉,我要————")
$ renpy.pause(1.0)
call add_char1_msg("物理、生物、化学、数学")
$ renpy.pause(1.0)
call add_char1_msg("呃,干脆你都给我吧")
$ renpy.pause(1.0)
pause
call add_char2_msg("得,就差我没给你写了")
$ renpy.pause(1.0)
call add_char1_msg("嘿嘿")
$ renpy.pause(1.0)
pause
"{color=#FFD700}达成成就:{/color}{color=#FF8BFF} WOW!目标是网咖{/color}"
jump end
# 成年人所要经历的困苦捏!
label _test_selected_0_2:
menu:
"世界以痛吻我,我爆它狗头(枪已上膛)":
call add_char2_msg("世界以痛吻我,我爆它狗头(枪已上膛)")
$ renpy.pause(1.0)
call add_char1_msg("{image=com_img_huo_0}")
$ renpy.pause(1.0)
call add_char1_msg("泰戈尔听了都要死而复生{image=emo_img_cold_sweat}")
$ renpy.pause(1.0)
jump _test_selected_3_0
"是是是,靠谱的成年人还要工作,富婆富婆你在哪里啊":
call add_char2_msg("是是是,靠谱的成年人还要工作")
$ renpy.pause(1.0)
call add_char2_msg("富婆富婆你在哪里啊?")
$ renpy.pause(1.0)
call add_char2_msg("{image=com_img_AAAA}")
$ renpy.pause(1.0)
call add_char1_msg("富婆可不会选你这种人")
$ renpy.pause(1.0)
jump _test_selected_3_1
"挣的还不够我吃顿夜宵,呜呜呜~~~":
call add_char2_msg("挣的还不够我吃顿夜宵,呜呜呜~~~")
$ renpy.pause(1.0)
call add_char2_msg("我的麻辣拌,我的鸡架,我的烤冷面啊")
$ renpy.pause(1.0)
call add_char2_msg("{image=com_img_cry6}")
$ renpy.pause(1.0)
call add_char1_msg("你就不能吃点好的吗?{image=emo_img_unamused}")
$ renpy.pause(1.0)
call add_char1_msg("有那么多山珍海味不吃")
$ renpy.pause(1.0)
call add_char1_msg("就好这口地沟油?")
$ renpy.pause(1.0)
jump _test_selected_3_2
label _test_selected_3_0:
menu:
"咱们是年轻人!年轻人就要天不怕地不怕!":
call add_char2_msg("年轻人就要天不怕地不怕")
$ renpy.pause(1.0)
call add_char2_msg("老板要开除我,我再下跪捏{image=emo_img_pleading_eye}")
$ renpy.pause(1.0)
pause
call add_char1_msg("是是是,不过你应该到60岁才能退休")
$ renpy.pause(1.0)
call add_char2_msg("啊,还有40多年!太可怕了啊")
$ renpy.pause(1.0)
call add_char1_msg("这倒是,你现在可以先去看看有没有合适的养老院")
$ renpy.pause(1.0)
call add_char1_msg("不然,到了那个时候")
$ renpy.pause(1.0)
call add_char1_msg("连位置都预定满了,你只能在家里蹲着死{image=emo_img_smirking_face}")
$ renpy.pause(1.0)
pause
call add_char2_msg("你是什么魔鬼!")
$ renpy.pause(1.0)
call add_char2_msg("我觉得那时候我会变成一块记忆芯片")
$ renpy.pause(1.0)
call add_char2_msg("我的历史会被刻录在上面,不需要养老院")
$ renpy.pause(1.0)
pause
call add_char1_msg("这更可怕了喂!")
$ renpy.pause(1.0)
call add_char1_msg("{image=emo_img_screaming_face}")
$ renpy.pause(1.0)
pause
"{color=#FFD700}达成成就:{/color}{color=#FF8BFF} 未雨绸缪{/color}"
jump end
"你还知道泰戈尔呢?请背出《飞鸟集》的第三章的第六句诗":
call add_char2_msg("你还知道泰戈尔呢?")
$ renpy.pause(1.0)
call add_char2_msg("请背出《飞鸟集》的第三章的第六句诗")
$ renpy.pause(1.0)
pause
call add_char1_msg("{image=com_img_doge_wang}")
$ renpy.pause(1.0)
call add_char1_msg("谁会记得那种东西啊!")
$ renpy.pause(1.0)
call add_char1_msg("我的知识已经还给高中语文老师了")
$ renpy.pause(1.0)
pause
call add_char2_msg("{image=emo_img_suspected_face}")
$ renpy.pause(1.0)
call add_char2_msg("那你别评论我的化用手法")
$ renpy.pause(1.0)
pause
call add_char1_msg("这叫胡编乱造,还化用?")
$ renpy.pause(1.0)
call add_char1_msg("你更是重量级{image=emo_img_rolling_laugh}")
$ renpy.pause(1.0)
call add_char2_msg("我是谁?{image=emo_img_sunglasses}")
$ renpy.pause(1.0)
pause
call add_char1_msg("是笨蛋小哥哥一枚呀")
$ renpy.pause(1.0)
call add_char1_msg("{image=com_img_never_mind}")
$ renpy.pause(1.0)
pause
"{color=#FFD700}达成成就:{/color}{color=#FF8BFF} 你都没读过《飞鸟集》{/color}"
jump end
"瞧你这话说的嗷!":
call add_char2_msg("瞧你这话说的")
$ renpy.pause(1.0)
call add_char2_msg("我好歹上过大学{image=emo_img_no_words}")
$ renpy.pause(1.0)
call add_char2_msg("我知道这句话是错的好吧")
$ renpy.pause(1.0)
pause
call add_char1_msg("{image=emo_img_rolling_laugh}{image=emo_img_right_finger}{image=emo_img_joker}")
$ renpy.pause(1.0)
call add_char1_msg("好乐")
$ renpy.pause(1.0)
pause
call add_char2_msg("我还是很有自知之明的,不然我也不会选理科了")
$ renpy.pause(1.0)
call add_char2_msg("勉强学了个计算机糊口{image=emo_img_disappointed_face}")
$ renpy.pause(1.0)
call add_char1_msg("你还勉强?")
$ renpy.pause(1.0)
call add_char1_msg("有多少人挤破头都想学这个好吧")
$ renpy.pause(1.0)
call add_char1_msg("你知道每年计算机考研的人有多少吗?")
$ renpy.pause(1.0)
call add_char2_msg("我不知道,我不听我不听,读研好苦")
$ renpy.pause(1.0)
pause
call add_char1_msg("得不到的永远在骚动啊")
$ renpy.pause(1.0)
call add_char1_msg("到时候你又想读了怎么办呢?")
$ renpy.pause(1.0)
pause
"{color=#FFD700}达成成就:{/color}{color=#FF8BFF} 逃避可耻但暂时有用{/color}"
jump end
label _test_selected_3_1:
menu:
"那也不会选你{image=emo_img_unamused}":
call add_char2_msg("那也不会选你哦")
$ renpy.pause(1.0)
call add_char2_msg("{image=emo_img_unamused}")
$ renpy.pause(1.0)
pause
call add_char1_msg("怎么不会选我?")
$ renpy.pause(1.0)
call add_char2_msg("你看看你,又会什么技能?")
$ renpy.pause(1.0)
call add_char1_msg("我会做饭会洗碗会说漂亮话啊")
$ renpy.pause(1.0)
call add_char1_msg("富婆不就需要我这种良家妇男?")
$ renpy.pause(1.0)
call add_char1_msg("再说了,我这种人不可能出轨的啊{image=emo_img_pleading_eye}")
$ renpy.pause(1.0)
pause
call add_char2_msg("{image=com_img_wuyu_0}")
$ renpy.pause(1.0)
call add_char2_msg("{image=com_img_close_eye}")
$ renpy.pause(1.0)
call add_char2_msg("你看我信吗?")
$ renpy.pause(1.0)
call add_char2_msg("你应该去神经科看看,单身久了脑子都开始不太正常了")
$ renpy.pause(1.0)
pause
call add_char1_msg("你这是嫉妒我")
$ renpy.pause(1.0)
call add_char1_msg("{image=emo_img_triumph_angry}")
$ renpy.pause(1.0)
pause
"{color=#FFD700}达成成就:{/color}{color=#FF8BFF} 天选妇男指北{/color}"
jump end
"富婆的世界你不懂~~~":
call add_char2_msg("你懂什么?")
$ renpy.pause(1.0)
call add_char2_msg("富婆就喜欢纯真无暇之人{image=emo_img_smirking_face}")
$ renpy.pause(1.0)
pause
call add_char1_msg("啊对对对,最喜欢你这种小白脸了{image=emo_img_unamused}")
$ renpy.pause(1.0)
call add_char2_msg("什么叫我这种小白脸?")
$ renpy.pause(1.0)
call add_char1_msg("难道你还是什么精壮猛男吗?")
$ renpy.pause(1.0)
call add_char1_msg("{image=emo_img_suspected_face}")
$ renpy.pause(1.0)
pause
call add_char2_msg("等我练出一身肌肉")
$ renpy.pause(1.0)
call add_char2_msg("看我不得把众多女人迷死")
$ renpy.pause(1.0)
call add_char2_msg("诶嘿!{image=emo_img_delicious_food}")
$ renpy.pause(1.0)
pause
call add_char1_msg("哈哈,你被叫弱鸡二十多年了,还不死心啊")
$ renpy.pause(1.0)
call add_char2_msg("你还说呢,最开始就是你先叫我弱鸡的!")
$ renpy.pause(1.0)
call add_char1_msg("{image=com_img_eiya}")
$ renpy.pause(1.0)
call add_char1_msg("还是我开的好头!")
$ renpy.pause(1.0)
pause
"{color=#FFD700}达成成就:{/color}{color=#FF8BFF} 肌肉弱鸡{/color}"
jump end
"我的人生可没那么短,迟早会有人看上我的":
call add_char2_msg("我可长命着捏")
$ renpy.pause(1.0)
call add_char2_msg("迟早会有人看上我哒!{image=emo_img_sunglasses}")
$ renpy.pause(1.0)
call add_char1_msg("有人瞎了眼才会做出这种行为")
$ renpy.pause(1.0)
call add_char2_msg("?")
$ renpy.pause(1.0)
call add_char1_msg("不过,幸好目前你遇到的人都没瞎")
$ renpy.pause(1.0)
call add_char1_msg("不然你也不会一直没对象捏")
$ renpy.pause(1.0)
pause
call add_char2_msg("你是狗吧")
$ renpy.pause(1.0)
call add_char1_msg("这就开始破防了?")
$ renpy.pause(1.0)
call add_char1_msg("{image=com_img_never_mind}")
$ renpy.pause(1.0)
call add_char2_msg("就你这攻击力")
$ renpy.pause(1.0)
call add_char2_msg("还没有我辅导员三成功力之强")
$ renpy.pause(1.0)
pause
call add_char1_msg("呃,你到底经历了什么啊?")
$ renpy.pause(1.0)
call add_char1_msg("晦气!{image=emo_img_screaming_face}")
$ renpy.pause(1.0)
pause
"{color=#FFD700}达成成就:{/color}{color=#FF8BFF} 单身不是没有原因的{/color}"
jump end
label _test_selected_3_2:
menu:
"什么地沟油!我要为夜宵正名!":
call add_char2_msg("什么地沟油!{image=emo_img_triumph_angry}")
$ renpy.pause(1.0)
call add_char2_msg("我要为夜宵正名!")
$ renpy.pause(1.0)
pause
call add_char1_msg("{image=emo_img_rolling_laugh}{image=emo_img_right_finger}{image=emo_img_joker}")
$ renpy.pause(1.0)
call add_char1_msg("你难道不知道都是用地沟油做的夜宵么")
$ renpy.pause(1.0)
call add_char2_msg("还有人说辣条是阿姨们用手脚搓出来的")
$ renpy.pause(1.0)
call add_char2_msg("你也信?")
$ renpy.pause(1.0)
pause
call add_char1_msg("辣条现在都用机器产的我知道,但是夜宵是人做的啊")
$ renpy.pause(1.0)
call add_char1_msg("{image=emo_img_cold_sweat}")
$ renpy.pause(1.0)
pause
call add_char2_msg("但是我连续吃了一个月都没事呢")
$ renpy.pause(1.0)
call add_char2_msg("难不成我有抗体?{image=emo_img_tightly_close_eye}")
$ renpy.pause(1.0)
call add_char2_msg("而且那家的很多人吃啊,我每次都要排很久的队")
$ renpy.pause(1.0)
pause
call add_char1_msg("说明你运气好")
$ renpy.pause(1.0)
call add_char2_msg("我不许你歧视夜宵!{image=emo_img_angry_face}")
$ renpy.pause(1.0)
pause
"{color=#FFD700}达成成就:{/color}{color=#FF8BFF} 为夜宵正名!{/color}"
jump end
"你说说什么是山珍海味?":
call add_char2_msg("{image=emo_img_no_words}你清高!")
$ renpy.pause(1.0)
call add_char2_msg("那你说说什么是山珍海味?")
$ renpy.pause(1.0)
pause
call add_char1_msg("据我之见{image=emo_img_thinking}")
$ renpy.pause(1.0)
call add_char1_msg("鲍鱼、龙虾、牛排、烤鸭...")
$ renpy.pause(1.0)
call add_char1_msg("{image=emo_img_weary_face}想起来我就流口水啊")
$ renpy.pause(1.0)
pause
call add_char2_msg("诶,你这就不懂了吧")
$ renpy.pause(1.0)
call add_char2_msg("古代的皇帝就喜欢吃翡翠白玉!你知道翡翠白玉是什么吗?")
$ renpy.pause(1.0)
call add_char2_msg("就是一个穷妇人家里做的白菜豆腐汤!")
$ renpy.pause(1.0)
pause
call add_char1_msg("{image=emo_img_unamused}不要搞概念混淆啊!现在说的是好吃的!")
$ renpy.pause(1.0)
call add_char2_msg("我的意思是我认为有烟火气的食物味道更好")
$ renpy.pause(1.0)
call add_char2_msg("{image=com_img_close_eye}")
$ renpy.pause(1.0)
pause
call add_char1_msg("彳亍")
$ renpy.pause(1.0)
pause
"{color=#FFD700}达成成就:{/color}{color=#FF8BFF} 翡翠白玉{/color}"
jump end
"没钱啊!只能吃又便宜又快的夜宵了":
call add_char2_msg("我才挣几个钱")
$ renpy.pause(1.0)
call add_char2_msg("{image=com_img_cry6}")
$ renpy.pause(1.0)
call add_char2_msg("我就只能吃点便宜夜宵啦")
$ renpy.pause(1.0)
pause
call add_char1_msg("论只吃除了烧烤的夜宵")
$ renpy.pause(1.0)
call add_char1_msg("确实比每顿都点外卖来的便宜")
$ renpy.pause(1.0)
call add_char1_msg("但是你每天只吃夜宵啊?")
$ renpy.pause(1.0)
call add_char2_msg("这倒不是,我每天吃两顿,一顿外卖一顿夜宵")
$ renpy.pause(1.0)
call add_char1_msg("{image=emo_img_pleading_eye}这么穷啊?")
$ renpy.pause(1.0)
pause
call add_char2_msg("{image=com_img_sleeping}")
$ renpy.pause(1.0)
call add_char2_msg("是这样的啦,挣得不多")
$ renpy.pause(1.0)
call add_char2_msg("吃得也不好")
$ renpy.pause(1.0)
call add_char2_msg("难啊!")
$ renpy.pause(1.0)
pause
call add_char1_msg("忍过这一阵,生活就会变甜的!")
$ renpy.pause(1.0)
call add_char1_msg("{image=emo_img_delicious_food}")
$ renpy.pause(1.0)
pause
"{color=#FFD700}达成成就:{/color}{color=#FF8BFF} 生活会变甜的!{/color}"
jump end
# 啊?你要不要看看你在说什么?
label _test_selected_0_3:
menu:
"忘记看了,我还以为是我妈的消息":
call add_char2_msg("忘记看了,我还以为是我妈的消息")
jump end
# jump _test_selected_4_0
"按错了,嘿嘿~":
call add_char2_msg("按错了,嘿嘿~")
jump end
# jump _test_selected_4_1
"工作号请联系VX:wooden_man_is_strong":
call add_char2_msg("工作号请联系VX:db_good_dog")
jump end
# jump _test_selected_4_2
# 过得如何?
label SelectChoices_0:
$ menu_ypos = 1.0 # 菜单的纵向位置
# $ renpy.pause(2.0, hard = True)
menu:
"别提了,真闹心!!":
call add_char2_msg("别提了,真闹心!!{image=emo_img_weary_face}")
$ renpy.pause(1.0)
call add_char1_msg("咋?")
$ renpy.pause(1.0)
call add_char1_msg("遇到疯狗咬人呢?")
$ renpy.pause(1.0)
jump _test_selected_0_0
"还行吧,没剩多少作业了":
call add_char2_msg("还行吧,没剩多少作业了")
$ renpy.pause(1.0)
call add_char1_msg("很不错!")
$ renpy.pause(1.0)
call add_char1_msg("借我抄抄!?")
$ renpy.pause(1.0)
jump _test_selected_0_1
"你说呢,这逼班还要上到什么时候?":
call add_char2_msg("你说呢,这逼班还要上到什么时候?")
$ renpy.pause(1.0)
call add_char1_msg("......")
$ renpy.pause(1.0)
call add_char1_msg("成年人所要经历的困苦捏!")
$ renpy.pause(1.0)
jump _test_selected_0_2
"嗯,好好好":
call add_char2_msg("嗯,好好好")
$ renpy.pause(1.0)
call add_char1_msg("啊?{image=emo_img_laugh_cry}???")
$ renpy.pause(1.0)
call add_char1_msg("你要不要看看你在说什么?")
$ renpy.pause(1.0)
jump _test_selected_0_3
这个是纯纯整活,代码后续就不优化了,本来可以写成一套组件的,包含对话框、头像更换、选表情包、选人物介绍…但是由于成本浩大,不如直接用Java
写社交app,下次遇到好玩的闯关游戏再继续更新吧。