小脚本大全-新手必看 传奇技术文章
  • 作者传奇手游发布站
  • 来源传奇手游发布,传奇手游私服,传奇私服发布网
  • 点击5
  • 日期2020/5/3 23:11:49

简单介绍 

    人物登录脚本即在人物进入游戏时自动执行的脚本,通过此脚本可对人物进

行大量的功能控制。

使用方法   在目录 Envir\MapQuest_def\ 中建立文件名为QManage.txt的脚本

按以下格式编写脚本:

=====================================================================

;脚本例子 

[@Login]

#IF

    checknamelist 会员.txt

#ACT

;人物杀怪经验为10倍

    CANGETEXP 1 10

;人物攻击力翻2倍

    MULTPOWER 2                           

;送一个七级神兽

    EXECUTE RCALLMOB 神兽 7               

#SAY

欢迎进入游戏,你当前登录的是会员号,会员可以得到大量的优待。\ <关闭/@exit>

注:如该脚本更改后,可不须重启M2使其生效,可用@ReloadManage命令重新加载该脚本。

String.ini

[String]

;夫妻传送命令设置,可更改为自己指定的命令

CMD_RECALLDEAR=RECALLDEAR

;允许夫妻传送命令设置,可更改为自己指定的命令

CMD_ALLOWRECALLDEAR=ALLOWRECALLDEAR

;查询夫妻位置命令

CMD_DEAR=WDEAR

结婚脚本注:强行离婚(指一方不在线或不同意离婚)需要在登录脚本人加入以下命令

(让所有人上线都运行DEARINFO命令即可,否则不接受离婚方或不在线离婚方在强行离

婚后上线仍有结婚字样。

==============================================================

[@Login]

#IF

#ACT

DEARINFO 

==============================================================

以上脚在新版本中不再需要

结婚脚本:

[@main]

<求婚/@marry>\

<离婚/@unmarry>\

<询问结婚时间/@asktime>\ <离开/@exit>

[@marry]

求婚者必须是男性且拥有求婚戒指,你准备好求婚了吗?\ <准备好了/@agree>\

<下次再来/@exit>\ \ <返回/@main>

[@agree]

#if

   checkmarryed

#act 

   break

#say

你都结过婚了,还来注册结婚,想犯重婚罪呀!!! \ <返回/@main>

#if

   gender man

   checkitemw 求婚戒指 1

   execheck dir

   execheck dir 2

#act

   takew 求婚戒指 1

   exemarry

   break

#if

   gender man

   checkitemw 求婚戒指 1

   execheck dir

#say

你变态呀!!!想搞同性恋!!!

#ACT

   BREAK

#if 

   gender man

   execheck dir

   execheck dir 2

#say

你没求婚戒指,弄到求婚戒指再来找我吧!!!\ #ACT

   BREAK

#if

   gender man

   execheck dir

   execheck dir 1

#say

你变态呀!!!想搞同性恋!!!

#ACT

   BREAK

#if 

   gender man

   checkitemw 求婚戒指 1

#SAY

双方必须面对面才能求婚!!!

#ACT

   BREAK

#if 

   gender man

#say

你没求婚戒指,弄到求婚戒指再来找我吧!!!\ #ACT

BREAK

#if

   gender

#say

只有男性才有求婚的权利!!!

#ACT

   BREAK

[@error]

[@StartMarry]

#IF

   checkmarryed

#SAY

你都结过婚了,还来注册结婚,想犯重婚罪呀!!! \ <返回/@main>

#ACT

   break

#IF

   GENDER MAN

#ACT

   BREAK

#SAY

婚礼现在正式开始。\ 你愿意娶对方为妻,并照顾她一生一世吗?\ 

<求婚/@RequestMarry>

#IF

   GENDER

#ACT

   BREAK

#SAY

婚礼现在正式开始。\ 请耐心等待你心爱的人向你求婚\ \

[@RequestMarry]

#IF

   checkmarryed

#ACT

   break

#SAY

你都结过婚了,还来注册结婚,想犯重婚罪呀!!! \ <返回/@main>

#IF

#ACT

    EXEMARRY REQUESTMARRY

[@WateMarry]

你已向对方求婚,请耐心等待对方的答复。

[@RevMarry]

#IF

   checkmarryed

#ACT

   break

#SAY

你都结过婚了,还来注册结婚,想犯重婚罪呀!!! \ <返回/@main>

#IF

#SAY

对方向你求婚,你是否答应嫁给他? \ <我愿意/@ResposeMarry>

 <我不愿意/@ResposeMarryFail>

[@ResposeMarry]

#IF

   checkmarryed

#ACT

   break

#SAY

你都结过婚了,还来注册结婚,想犯重婚罪呀!!! \ <返回/@main>

#IF

#ACT

    EXEMARRY RESPONSEMARRY OK

[@ResposeMarryFail]

#IF

   checkmarryed

#ACT

   break

#SAY

你都结过婚了,还来注册结婚,想犯重婚罪呀!!! \ <返回/@main>

#IF

#ACT

    EXEMARRY RESPONSEMARRY FAIL

[@EndMarry]

你们二个已经成为了一对全法夫妻了。\ <关闭/@exit>

[@EndMarryFail]

结婚失败!\ <关闭/@exit>

[@MarryDirErr]

对方没站好位置

[@MarryCheckDir]

请站好位置\\

[@HumanTypeErr]

你变态呀,既然选择一个非人类作为结婚对象。

[@MarrySexErr]

你变态呀,既然同性恋。

;==========================================

离婚开始

[@unmarry]

#IF

   checkmarryed

#ACT

   exeunmarry

#Elsesay

你都没结婚离什么婚??\ <返回/@main>

;=======================================================

;双方离婚时没面对面站好显示的信息

[@UnMarryCheckDir]

要离婚是吧?离婚是二个人的事,必须二个人对面对站好位置,如果人来不了

你只能选择强行离婚姻了。\ <我要强行离婚/@fUnMarry>\

<返回/@main>

;=======================================================

;对面位置不是人物时显示的信息

[@UnMarryTypeErr]

你对面站了个什么东西,怎么不太象人来的。\ <返回/@main>

;=======================================================

;开始离婚程序后,双方显示的信息

[@StartUnMarry]

#IF

   gender man

#ACT

   BREAK

#SAY

是否确定真的要与你共事多年的妻子离婚吗?\ <确定/@RequestUnMarry>

#IF

   gender

#SAY

你的老公现在向我请求离婚,是不是愿意协议离婚? \ <确定/@RequestUnMarry>

#ACT

   break

;=======================================================

;发出离婚请求

[@RequestUnMarry]

#IF

   checkmarryed

#ACT

   exeunmarry requestunmarry

;=======================================================

;回应离婚请求

[@ResposeUnMarry]

#IF

   checkmarryed

#ACT

   exeunmarry responseunmarry

;===============================================

;请求离婚后显示的信息

[@WateUnMarry]

你已向对方发出离婚请求,请耐心等待对方的答复。

;===============================================

;请求离婚后对方显示的信息

[@RevUnMarry]

对方向你离婚请求,你是否答应离婚? \ <我愿意/@RequestUnMarry>

<返回/@main>

;===============================================

;没结过婚的人点离婚后出的提示信息

[@ExeMarryFail]

你都没结过婚,跑来做什么? \ [返回/@main]

;==============================================

;强行离婚

[@fUnMarry]

#IF

   checkitem 金条 1

   checkmarryed

#ACT

   take 金条 1

   exeunmarry requestunmarry force

#ElseSay

要收一根金条的手续费,你没有金条,我不能让你离婚。<确定/@exit>

;==============================================

;离婚完成后的提示信息

[@UnMarryEnd]

呵呵,你已经脱离苦海了!!! \ <退出/@exit>

[@asktime]

你调查结婚时间的请求已发出,请稍后。<确定/@exit>

相关部份参数设置:

!setup.txt

[Config]

;出师等级

MasterOKLevel=40

;出师得到的声望点数

MasterCreditPoint=1

;出师是否可以得到属性点数,1为是,0为否

CanGetMasterPoint=1

;出师得到的属性点数

MasterBonusPoint=100

;转生得到的属性点数,此点数为默认点数,以脚本控制为准,

如果脚本没指定点数,则使用此点数

ReNewPoint=100

;武士属性点数分配比例

BonusofWarrDC=17

BonusofWarrMC=20

BonusofWarrSC=20

BonusofWarrAC=20

BonusofWarrMAC=20

BonusofWarrHP=1

BonusofWarrMP=3

BonusofWarrHit=20

BonusofWarrSpeed=35

;法师属性点数分配比例

BonusofWizardDC=17

BonusofWizardMC=25

BonusofWizardSC=30

BonusofWizardAC=20

BonusofWizardMAC=15

BonusofWizardHP=2

BonusofWizardMP=1

BonusofWizardHit=25

BonusofWizardSpeed=35

;道士属性点数分配比例

BonusofTaosDC=20

BonusofTaosMC=30

BonusofTaosSC=17

BonusofTaosAC=20

BonusofTaosMAC=15

BonusofTaosHP=2

BonusofTaosMP=1

BonusofTaosHit=30

BonusofTaosSpeed=30

String.ini

[String]

;师徒传送命令设置,可更改为自己指定的命令

CMD_RECALLMASTER=RECALLMASTER

;允许师徒传送命令设置,可更改为自己指定的命令

CMD_ALLOWRECALLMASTER=ALLOWRECALLMASTER

;查询师徒位置命令

CMD_MASTER=MASTER

脚本样例

本脚本未加条件检查,实际使用时请自行按自己要求加上条件检查。

[@remain]

<我要拜师/@master>\<解除师徒关系/@unmaster> \ <返回/@main>

;==============================================

[@master]

#IF

   checkismaster

#ACT

   break

#SAY

已经收了一个徒弟!!! \ <返回/@remain>

#IF

   checkmaster

#ACT

   break

#SAY

你已经拜师了!!! \ <返回/@remain>

#IF

    CheckLevel 40

#ACT

    break

#Say

你都到收徒级别了还要来拜师!!!\ <返回/@remain>

#IF

   EXECHECK DIR

   execheck postlevel 29

#ACT

   exemaster

   BREAK

#IF

   EXECHECK DIR

#ACT

   BREAK

#Say

对方必须29级以上才有资格做你的师傅!!!\ <返回/@remain>

#IF

#ACT

   BREAK

#Say

双方必须面对面才可以拜师!\ <返回/@remain>

[@StartMaster]

#IF

   checkmaster

#SAY

你都有师傅了,想背叛师门? \ <返回/@remain>

#ACT

   break

#IF

   checkismaster

#SAY

你都有徒弟了,现在暂时只能收一个徒弟!!! \ <返回/@remain>

#ACT

   break

#IF

#ACT

#SAY

你确定与对方建立师徒关系?\ \

<确定/@RequestMaster>

[@RequestMaster]

#IF

   checkmaster

#SAY

你都有师傅了,想背叛师门? \ <返回/@remain>

#ACT

   break

#IF

   checkismaster

#SAY

你都有徒弟了,现在暂时只能收一个徒弟!!! \ <返回/@remain>

#ACT

   break

#IF

#ACT

    EXEMASTER REQUESTMASTER

[@WateMaster]

你已向对方发出请求,请等待对方的答复。

[@RevMaster]

#IF

   checkmaster

#SAY

你都有师傅了,想背叛师门? \ <返回/@remain>

#ACT

   break

#IF

   checkismaster

#SAY

你都有徒弟了,现在暂时只能收一个徒弟!!! \ <返回/@remain>

#ACT

   break

#IF

#SAY

对方向你请求建立师徒关系,你是否答应? \ <没问题/@ResposeMaster> 

<不想答应/@ResposeMasterFail>

[@ResposeMaster]

#IF

   checkmaster

#SAY

你都有师傅了,想背叛师门? \ <返回/@remain>

#ACT

   break

#IF

   checkismaster

#SAY

你都有徒弟了,现在暂时只能收一个徒弟!!! \ <返回/@remain>

#ACT

   break

#IF

#ACT

    EXEMASTER RESPONSEMASTER OK

[@ResposeMasterFail]

#IF

   checkmaster

#SAY

你都有师傅了,想背叛师门? \ <返回/@remain>

#ACT

   break

#IF

   checkismaster

#SAY

你都有徒弟了,现在暂时只能收一个徒弟!!! \ <返回/@remain>

#ACT

   break

#IF

#ACT

    EXEMASTER RESPONSEMASTER FAIL

[@EndMaster]

恭喜!你们二个已经建立了师徒关系了。\ <关闭/@exit>

[@EndMasterFail]

失败!\ <关闭/@exit>

[@MasterDirErr]

对方没站好位置

[@MasterCheckDir]

师徒必须面对面!!!\\

[@HumanTypeErr]

对方有问题

[@unmaster]

#IF

checkismaster

#ACT

   EXEUNMASTER

break

#say

已经脱离了师徒关系!!!

#IF

checkmaster

#ACT

   EXEUNMASTER

#say

已经脱离了师徒关系!!!

#ELSESAY

晕!!你都没有拜师或收徒!!!

checkjob (Warr, Wizard, Taos) ;测试职业

checkgold (金币数) ;测试金币

checklevel (等级) ;测试等级

checkitem (物品名) (数量) ;测试物品及数量

give gold (金币数) ;给钱

give (物品名) (数量) ;给物及数量

take gold (金币数) ;拿走钱

take (物品名) (数量) ;拿走物及数量

checkpkpoint (pk值) ;测试PK值

checkluckypoint (幸运值) ;幸运值正值为好,负值为差

checkduraeva (物品名) (数值) ;一般测试矿物等物品的品质

checkhum (地图名) (数值) ;测试这个地图的人数

checkmonmap (地图名) (数值) ;测试这个地图的怪物数

map (地图名) ;移动到这个地图

mapmove (地图名) (坐标A) (坐标B) ;移动到这个地图指定坐标

monclear 地图清除

close 关闭对话框

TimeRecall (设定时间值) ;分钟,一般指进入地图时间限制

BreakTimeRecall ;中断设定时间

ExchangeMap (地图名) ;与指定地图里的人交换位置

daytime sunset ;一天时间

checkbaggage ;测试背包满没

small (变量) (数值) ;测试变量是不是小于指定数值

large (变量) (数值) ;测试变量是不是大于指定数值

equal (变量) (数值) ;测试变量是不是等于指定数值

mov (变量) (数值) ;让变量等于指定数值

sum (变量A) (变量B) ;A+B 注意,如果还要家第3个数直接换行写sum (变量C) 

注:关于SUM的详解

首先有MOV (变量X) 0 ;(变量X)清0

sum (变量A) (变量B) ;X=A+B

sum (变量C) ;X=X+C

movr (变量) (数值) ;随机把指定数值以下的数(正数)给变量

inc (变量) (数值) ;让变量自动加指定数值到变量

playdice (骰子数) @xxx ;玩骰子,跳转到标签[@xxx]

random (随机数) ;一般用在#IF语句中作为触发#IF机率,有时随机数=并列#IF语

句数用于随机多项选择,既:

#IF RANDOM 3 #SAY() #ELSEACT 

#IF RANDOM 3 #SAY() #ELSEACT

#IF RANDOM 3 #SAY() #ELSEACT

Check [条件数] 1 ;测试[条件数]触发与否 1(触发) 

SET [条件数] 1 ;设置[条件数]触发 

batchDelay (暂停时间) ;一般为1

addbatch (地图名1)

addbatch (地图名2)

addbatch (地图名3)

addbatch (地图名4)

addbatch (地图名5)

batchmove ;一步步到下一个地图直到5

param1 01141 ;01141=(地图名)

param2 10 

param3 10

mongen 火焰沃玛2(怪物名) 30 10

;玩骰子脚本解析

#IF

equal p9 1 ;测试 p9是不是等于1

#ACT 

goto @cube ;是的,到@cube

BreakTimeRecall (中断设定时间)

break