传奇脚本编写入门:结婚系统实例分析

一、脚本概述

本脚本实例为GomM2引擎下的传奇SF结婚系统脚本。通过一系列的条件判断和交互提示,实现了游戏内角色结婚、离婚的功能逻辑。脚本中包含了性别校验、等级要求、物品检查、面对面站立检查等多个环节,确保了结婚流程的严谨性和游戏平衡性。

二、脚本分析

1、结婚流程:

玩家输入结婚指令后,脚本首先检查玩家是否满足结婚的基本条件(如性别、等级、求婚戒指等)。

条件满足后,玩家需要与被求婚对象面对面站立,脚本会进行位置检查。

位置正确后,玩家确认求婚,被求婚对象收到请求并可以选择接受或拒绝。

若被求婚对象接受,则双方结婚成功。

2、离婚流程:

玩家输入离婚指令后,脚本检查玩家是否已婚。

已婚玩家可以选择协议离婚或强行离婚(需消耗金条)。

协议离婚需要双方确认,强行离婚则单方面即可完成。

离婚成功后,双方恢复单身状态。

三、脚本命令介绍

checkmarry: 此命令用于检查玩家是否已经结婚。如果玩家已婚,通常将阻止其再次结婚,以避免重婚的情况。

checkposemarry: 检查玩家的求婚对象是否已婚。如果对方已婚,则通常会阻止求婚。

gender man: 判断玩家的性别是否为男性。在多数游戏中,只有男性角色才能发起求婚。

checkposegender: 检查求婚对象的性别是否符合要求。例如,在某些游戏中,可能禁止同性结婚。

checkposedir: 检查两个玩家是否面对面站立。结婚通常需要双方站在合适的位置。

checklevel: 检查玩家的等级是否达到结婚的更低要求。这是为了确保玩家达到一定的游戏进度才能结婚。

checkposelevel: 检查求婚对象的等级是否满足条件。这可以防止低等级角色被高等级角色“强迫”结婚。

checkitemw: 检查玩家是否拥有特定物品,如求婚戒指。这是结婚的必要条件之一。

takew: 从玩家身上扣除特定物品,如求婚成功后扣除求婚戒指。

gender: 判断玩家的性别,用于给出相应的提示或进行下一步操作。

marry requestmarry: 玩家发出结婚请求给另一方。

marry responsemarry ok: 被求婚方接受结婚请求。

marry responsemarry fail: 被求婚方拒绝结婚请求。

这些脚本命令的巧妙运用,不仅为玩家带来了丰富的游戏体验,也展现了GomM2引擎在传奇私服游戏中的强大功能。

四、脚本实例

结婚脚本

[@main]
<我想结婚/@marry>\
<我想离婚/@unmarry>\ \
<离开/@exit>
 
[@marry]
求婚者必须是男性且拥有求婚戒指,\
你准备好求婚了吗?\ \
<准备好了/@agree>\
<下次再来/@exit>\ \ \
<返回/@main>
 
[@agree]
#if
   checkmarry
#act 
   break
#say
你都结过婚了,还来注册结婚,想犯重婚罪呀!!! \ \
<返回/@main>
#if
  checkposemarry
#say
对方已经结过婚了,是不是想犯重婚罪呀!!!\ \
<返回/@main>
#act
  break 
 
#if
   gender man
#elsesay
只有男的向女的求婚,还没见过大姑娘向小伙子求婚的。\ \
<返回/@main>
#elseact
   break 
 
 
#if
  checkposegender 男
#say
你变态呀!!!想搞同性恋!!! \ \
<返回/@main>
#act
  break 
 
#if
   checkposedir 2
#elsesay
你们二个面对面站好呀,不要乱动。\ \
<返回/@main>
#elseact
  break 
 
#if
  checklevel 40
#elsesay
结婚要求你的等级必须40级或以上,小伙子努力练好级再来找我。\ \
<返回/@main>
#elseact
  break
#if
  checkposelevel > 34
#elsesay
你的对象还没成年,等她长大点再来吧!小伙子不要心急嘛!\ \
<返回/@main>
#elseact
  break
#if 
   checkitemw 求婚戒指 1
#elsesay
你没求婚戒指,弄到求婚戒指再来找我吧!!!\ \
<返回/@main>
#elseact
   break 
 
#if
#act
   takew 求婚戒指 1
   marry 
 
 
 
[@StartMarry]
#if
   checkmarry
#say
你都结过婚了,还来注册结婚,想犯重婚罪呀!!! \ \
<返回/@main>
#act
   break 
 
#if
   gender man
#act
   break
#say
婚礼现在正式开始。\ \
你愿意娶对方为妻,并照顾她一生一世吗?\ \
<我愿意/@RequestMarry>
 
#if
   gender
#act
   break
#say
婚礼现在正式开始。\ \
请耐心等待你心爱的人向你求婚\ \ 
 
 
[@RequestMarry]
#if
   checkmarry
#act
   break
#say
你都结过婚了,还来注册结婚,想犯重婚罪呀!!! \ \
<返回/@main>
 
#if
#act
  marry requestmarry
[@WateMarry]
你已向对方求婚,请耐心等待对方的答复。
 
[@RevMarry]
#if
   checkmarry
#act
   break
#say
你都结过婚了,还来注册结婚,想犯重婚罪呀!!! \ \
<返回/@main>
 
#if
#say
对方向你求婚,你是否答应嫁给他? \ \
<我愿意/@ResposeMarry> \
<我不愿意/@ResposeMarryFail>
[@ResposeMarry]
#if
   checkmarry
#act
   break
#say
你都结过婚了,还来注册结婚,想犯重婚罪呀!!! \ \
<返回/@main>
 
#if
#act
  marry responsemarry ok 
 
[@ResposeMarryFail]
#if
   checkmarry
#act
   break
#say
你都结过婚了,还来注册结婚,想犯重婚罪呀!!! \ \
<返回/@main>
 
#if
#act
  marry responsemarry fail
[@EndMarry]
你们二个已经成为了一对全法夫妻了。\ \
<关闭/@exit>
[@EndMarryFail]
结婚失败!\ \
<关闭/@exit>
[@MarryDirErr]
对方没站好位置
 
[@MarryCheckDir]
请站好位置\\
 
[@HumanTypeErr]
你变态呀,既然选择一个非人类作为结婚对象。
 
[@MarrySexErr]
你变态呀,既然同性恋。
 
;==========================================
离婚开始
[@unmarry]
#if
   checkmarry
#act
   unmarry
#elsesay
你都没结婚离什么婚??\ \
<返回/@main>
 
 
 
;=======================================================
;双方离婚时没面对面站好显示的信息
[@UnMarryCheckDir]
要离婚是吧?离婚是二个人的事,必须二个人对面对站好位置,\
如果人来不了你只能选择强行离婚姻了。\ \
<我要强行离婚/@fUnMarry>\
<返回/@main>
;=======================================================
;对面位置不是人物时显示的信息
[@UnMarryTypeErr]
你对面站了个什么东西,怎么不太象人来的。\ \
<返回/@main>
 
;=======================================================
;开始离婚程序后,双方显示的信息
[@StartUnMarry]
#if
   gender man
#act
   BREAK
#say
是否确定真的要与你共事多年的妻子离婚吗?\ \
<确定/@RequestUnMarry>
 
#if
  gender
#say
你的老公现在向我请求离婚,是不是愿意协议离婚? \ \
<确定/@RequestUnMarry>
#act
  break 
 
;=======================================================
;发出离婚请求
[@RequestUnMarry]
#if
  checkmarry
#act
  unmarry requestunmarry
;=======================================================
;回应离婚请求
[@ResposeUnMarry]
#if
  checkmarry
#act
  unmarry responseunmarry 
 
;===============================================
;请求离婚后显示的信息
[@WateUnMarry]
你已向对方发出离婚请求,请耐心等待对方的答复。
 
;===============================================
;请求离婚后对方显示的信息
[@RevUnMarry]
对方向你离婚请求,你是否答应离婚? \ \
<我愿意/@RequestUnMarry>
<返回/@main>
 
;===============================================
;没结过婚的人点离婚后出的提示信息
[@ExeMarryFail]
你都没结过婚,跑来做什么? \ \
[返回/@main]
 
;==============================================
;强行离婚
[@fUnMarry]
#if
  checkitem 金条 1
  checkmarry
#act
  take 金条 1
  unmarry requestunmarry force
#elsesay
要收一根金条的手续费,你没有金条,\
我不能让你离婚。\
<确定/@exit>
;==============================================
;离婚完成后的提示信息
[@UnMarryEnd]
呵呵,你已经脱离苦海了!!! \ \
<退出/@exit>
[@asktime]
你调查结婚时间的请求已发出,\
请稍后。\
<确定/@exit>
 
 
 

未经允许不得转载! 作者:传奇手游,转载或复制请以超链接形式并注明出处天心神途传奇手游发布网

原文地址:《传奇SF结婚系统脚本实例详解》发布于:2024-02-08

发表评论

表情:
验证码
评论列表 (暂无评论,29人围观)

还没有评论,来说两句吧...