一、登录奖励脚本核心逻辑与制作前提
传奇登录奖励脚本核心是通过“登录触发检测+奖励发放+领取记录”实现每日/累计登录福利发放,支持按登录天数、角色等级、累计登录次数配置差异化奖励。制作需满足两个前提:一是掌握传奇脚本基础语法(语句命令以“#”开头,执行命令以“@”开头,支持条件判断、变量赋值等逻辑);二是确认服务器引擎适配(主流HERO、3K引擎均支持,无需额外插件,直接通过文本编辑器编写即可)。
脚本核心功能需覆盖:登录时自动检测领取状态(避免重复领取)、按配置发放对应奖励(元宝、装备、道具等)、发放后记录领取数据、弹窗提示领取结果。所有脚本均保存为.txt格式,放入服务器指定脚本目录即可生效,无需重启服务端。
二、登录奖励脚本基础框架与核心命令
1.脚本基础框架(通用版)
登录奖励脚本统一采用“触发条件+状态检测+奖励发放+数据记录”四段式框架,核心结构如下:
#触发登录事件(角色登录游戏时触发)
#IF
登录触发
#ACT
检测领取状态变量1变量2//检测当日/累计登录领取记录
判断条件变量1//如:当日未领取、累计登录3天等
#ACT
发放奖励奖励类型数量//发放元宝、装备等福利
记录领取状态变量1变量2//标记领取记录,防止重复领取
弹窗提示领取成功提示语//向客户端推送领取结果
#elseact
弹窗提示未满足领取条件提示语//如:今日已领取、等级不足等
说明:框架中“变量1/2”为自定义变量,用于存储领取状态(0=未领取,1=已领取)、累计登录天数等数据,变量名需简洁(如“当日领取状态”“累计天数”),避免与系统变量冲突。
2.核心命令解析(必用命令+参数说明)
(1)触发命令:#IF登录触发,唯一触发条件,角色登录游戏加载完成后自动执行后续脚本,无需手动触发。
(2)状态检测命令:检测领取状态变量名检测类型,检测类型支持“当日登录”“累计登录”“连续登录”三种,示例:检测领取状态当日领取当日登录,执行后变量“当日领取”赋值为0(未领取)或1(已领取)。
(3)奖励发放命令:支持多类型奖励发放,核心格式如下:
-发放元宝:GiveGold数量,数量取值1-999999,示例:GiveGold1000(发放1000元宝);
-发放装备:GiveItem物品ID数量强化等级持久度,示例:GiveItem10001110100(发放1把10级强化玄翎剑);
-发放道具:GiveItem道具ID数量,示例:GiveItem20015(发放5个疗伤药);
-发放技能书:LearnSkill技能名称等级,示例:LearnSkill玄翎剑法1(发放1级玄翎剑法)。
(4)记录命令:SetVariable变量名数值,用于记录领取状态或累计天数,示例:SetVariable当日领取1(标记当日已领取)、SetVariable累计登录天数3(记录累计登录3天)。
(5)弹窗提示命令:SendMsg弹窗类型提示语,弹窗类型1为系统提示(顶部显示),2为弹窗提示(居中显示),示例:SendMsg2每日登录奖励领取成功!获得1000元宝+1把玄翎剑。
三、三种主流登录奖励脚本制作实操(附完整代码)
1.每日登录奖励脚本(最常用,按日发放)
适用场景:玩家每日登录可领取1次固定奖励,次日重置领取状态,脚本完整代码如下:
#每日登录奖励脚本(保存为login_daily.txt)
#IF
登录触发//角色登录时触发
#ACT
检测领取状态当日领取状态当日登录//检测今日是否已领取
#IF
CheckVariable当日领取状态0//判断未领取
#ACT
GiveGold1000//发放1000元宝
GiveItem1000210100//发放1件满持久魅影甲(ID10002)
SetVariable当日领取状态1//标记今日已领取
SendMsg2每日登录奖励领取成功!获得1000元宝+魅影甲1件
#elseact
SendMsg1今日登录奖励已领取,明日可再次领取~
#ELSE
SendMsg1登录检测异常,请重新登录尝试
配置要点:脚本需添加“每日重置”逻辑,通过服务器定时命令实现,定时命令为@定时执行SetVariable当日领取状态0,设置每日0点执行,确保次日可重新领取。
2.连续登录奖励脚本(按连续天数差异化发放)
适用场景:连续登录天数越多,奖励越丰厚(如连续1天领元宝,连续7天领极品装备),脚本完整代码如下:
#连续登录奖励脚本(保存为login_continuous.txt)
#IF
登录触发
#ACT
检测领取状态连续登录天数连续登录//读取当前连续登录天数
检测领取状态当日领取状态当日登录//检测今日是否已领取
#IF
CheckVariable当日领取状态0//未领取
CheckVariable连续登录天数1//连续登录1天
#ACT
GiveGold500//发放500元宝
SetVariable当日领取状态1
SendMsg2连续登录1天奖励领取成功!获得500元宝
#ELSEIF
CheckVariable当日领取状态0
CheckVariable连续登录天数3//连续登录3天
#ACT
GiveGold1500
GiveItem20023//发放3个大太阳水(ID2002)
SetVariable当日领取状态1
SendMsg2连续登录3天奖励领取成功!获得1500元宝+3个大太阳水
#ELSEIF
CheckVariable当日领取状态0
CheckVariable连续登录天数7//连续登录7天
#ACT
GiveGold5000
GiveItem10001110100//发放1把10级强化玄翎剑
SetVariable当日领取状态1
SendMsg2连续登录7天奖励领取成功!获得5000元宝+10级强化玄翎剑
#ELSE
SendMsg1今日奖励已领取,连续登录可解锁更丰厚福利~
#ELSE
SendMsg1登录数据异常,连续登录天数已重置
配置要点:连续登录天数需通过“登录触发时自动累加”逻辑实现,在脚本开头添加AddVariable连续登录天数1(登录时天数+1),若当日未登录,通过定时命令重置为0(@定时执行SetVariable连续登录天数0,每日0点执行)。
3.累计登录奖励脚本(按总天数阶梯发放)
适用场景:累计登录达到指定天数即可领仍应奖励(可叠加领取,如累计3天、7天、30天各领1次),脚本完整代码如下:
#累计登录奖励脚本(保存为login_total.txt)
#IF
登录触发
#ACT
检测领取状态累计登录天数累计登录//读取累计登录总天数
#IF
CheckVariable累计登录天数3//累计登录3天
CheckVariable累计3天奖励0//未领取该档位奖励
#ACT
GiveGold2000
GiveItem20031//发放1个传送石(ID2003)
SetVariable累计3天奖励1//标记该档位已领取
SendMsg2累计登录3天奖励领取成功!获得2000元宝+传送石1个
#ELSEIF
CheckVariable累计登录天数7
CheckVariable累计7天奖励0
#ACT
GiveGold3000
GiveItem1000310100//发放1件玄翎头盔(ID10003)
SetVariable累计7天奖励1
SendMsg2累计登录7天奖励领取成功!获得3000元宝+玄翎头盔1件
#ELSEIF
CheckVariable累计登录天数30
CheckVariable累计30天奖励0
#ACT
GiveGold10000
GiveItem10004112100//发放1把12级强化魅影剑(ID10004)
SetVariable累计30天奖励1
SendMsg2累计登录30天奖励领取成功!获得10000元宝+12级强化魅影剑
#ELSE
SendMsg1暂未解锁新的累计登录奖励,继续登录可解锁~
配置要点:累计登录天数需设置为“永久变量”,避免玩家离线后重置,添加SetVariable累计登录天数永久即可固定天数记录。
四、脚本配置与生效流程(新手必看)
1.脚本编写与保存
第一步:使用记事本、Notepad等文本编辑器,按上述示例编写脚本,确保命令格式正确(符号为英文半角,参数之间用空格分隔),无语法错误。
第二步:保存脚本,文件名以“login_”开头(便于识别),后缀为.txt,例如“login_daily.txt”“login_continuous.txt”。
第三步:将保存好的脚本文件,放入服务器脚本目录(默认路径为“D:\传奇服务器\Mir200\Envir\QuestDiary\”,不同服务器路径略有差异,可通过后台查看脚本目录位置)。
2.触发配置与生效测试
第一步:配置登录触发,打开服务器“登录触发脚本”(login.qsd),添加#INCLUDElogin_daily.txt(关联每日登录脚本),若需同时启用多种奖励,依次添加对应脚本关联命令(如#INCLUDElogin_continuous.txt)。
第二步:保存触发脚本,无需重启服务端,直接登录游戏测试,角色登录后若弹出奖励领取提示,且背包内出现对应奖励,说明脚本生效。
第三步:测试异常场景(如重复领取、天数达标未领取),确认提示语正常显示,无奖励重复发放或漏发问题。
五、常见问题排查与优化技巧
1.脚本执行失败(无奖励、无提示)
排查方向:①语法错误,检查命令拼写(如“GiveGold”误写为“GiveGole”)、参数缺失(如发放装备未写物品ID),可逐行核对命令格式;②脚本路径错误,确认脚本已放入指定目录,关联命令中的文件名与实际脚本名一致(区分大小写);③变量冲突,检查自定义变量名是否与系统变量重复(如避免使用“登录”“奖励”等通用名称)。
解决方法:使用服务器脚本调试工具(主流引擎自带),查看执行日志,日志中会标注错误命令位置与原因,针对性修改即可。
2.奖励重复发放(多次领取)
核心原因:未添加领取状态记录命令,或定时重置命令未生效。解决方案:①确认脚本中包含SetVariable领取状态1记录命令;②检查定时重置命令是否配置,确保每日0点执行状态重置;③若仍重复发放,添加“角色ID绑定”逻辑,在脚本中添加CheckUserID角色ID,确保领取记录与角色ID绑定,避免跨角色重复领取。
3.奖励发放差异化优化
若需按角色等级、职业配置差异化奖励,可在脚本中添加条件判断命令,示例:
#按等级差异化发放
#IF
CheckLevel30//角色等级≥30级
#ACT
GiveGold2000//30级以上领2000元宝
#elseact
GiveGold1000//30级以下领1000元宝
#按职业差异化发放
#IF
CheckJob1//1=武士职业
#ACT
GiveItem100011//武士领玄翎剑
#ELSEIF
CheckJob2//2=法师职业
#ACT
GiveItem100051//法师领魅影杖(ID10005)
#ELSEIF
CheckJob3//3=道士职业
#ACT
GiveItem100061//道士领玄翎符(ID10006)
六、总结
传奇登录奖励脚本制作核心是“命令精准+逻辑清晰+状态记录”,新手可先从每日登录奖励脚本入手,熟悉基础命令与配置流程后,再尝试连续登录、累计登录等复杂脚本。编写时需注意命令格式准确性,避免语法错误;配置后务必测试各类场景,确保奖励发放正常、无重复领取问题。脚本支持动态修改,后续需调整奖励内容或领取条件时,直接修改脚本文件并保存,无需重启服务端即可生效,灵活适配不同运营需求。
传奇登录奖励脚本核心是通过“登录触发检测+奖励发放+领取记录”实现每日/累计登录福利发放,支持按登录天数、角色等级、累计登录次数配置差异化奖励。制作需满足两个前提:一是掌握传奇脚本基础语法(语句命令以“#”开头,执行命令以“@”开头,支持条件判断、变量赋值等逻辑);二是确认服务器引擎适配(主流HERO、3K引擎均支持,无需额外插件,直接通过文本编辑器编写即可)。
脚本核心功能需覆盖:登录时自动检测领取状态(避免重复领取)、按配置发放对应奖励(元宝、装备、道具等)、发放后记录领取数据、弹窗提示领取结果。所有脚本均保存为.txt格式,放入服务器指定脚本目录即可生效,无需重启服务端。
二、登录奖励脚本基础框架与核心命令
1.脚本基础框架(通用版)
登录奖励脚本统一采用“触发条件+状态检测+奖励发放+数据记录”四段式框架,核心结构如下:
#触发登录事件(角色登录游戏时触发)
#IF
登录触发
#ACT
检测领取状态变量1变量2//检测当日/累计登录领取记录
判断条件变量1//如:当日未领取、累计登录3天等
#ACT
发放奖励奖励类型数量//发放元宝、装备等福利
记录领取状态变量1变量2//标记领取记录,防止重复领取
弹窗提示领取成功提示语//向客户端推送领取结果
#elseact
弹窗提示未满足领取条件提示语//如:今日已领取、等级不足等
说明:框架中“变量1/2”为自定义变量,用于存储领取状态(0=未领取,1=已领取)、累计登录天数等数据,变量名需简洁(如“当日领取状态”“累计天数”),避免与系统变量冲突。
2.核心命令解析(必用命令+参数说明)
(1)触发命令:#IF登录触发,唯一触发条件,角色登录游戏加载完成后自动执行后续脚本,无需手动触发。
(2)状态检测命令:检测领取状态变量名检测类型,检测类型支持“当日登录”“累计登录”“连续登录”三种,示例:检测领取状态当日领取当日登录,执行后变量“当日领取”赋值为0(未领取)或1(已领取)。
(3)奖励发放命令:支持多类型奖励发放,核心格式如下:
-发放元宝:GiveGold数量,数量取值1-999999,示例:GiveGold1000(发放1000元宝);
-发放装备:GiveItem物品ID数量强化等级持久度,示例:GiveItem10001110100(发放1把10级强化玄翎剑);
-发放道具:GiveItem道具ID数量,示例:GiveItem20015(发放5个疗伤药);
-发放技能书:LearnSkill技能名称等级,示例:LearnSkill玄翎剑法1(发放1级玄翎剑法)。
(4)记录命令:SetVariable变量名数值,用于记录领取状态或累计天数,示例:SetVariable当日领取1(标记当日已领取)、SetVariable累计登录天数3(记录累计登录3天)。
(5)弹窗提示命令:SendMsg弹窗类型提示语,弹窗类型1为系统提示(顶部显示),2为弹窗提示(居中显示),示例:SendMsg2每日登录奖励领取成功!获得1000元宝+1把玄翎剑。
三、三种主流登录奖励脚本制作实操(附完整代码)
1.每日登录奖励脚本(最常用,按日发放)
适用场景:玩家每日登录可领取1次固定奖励,次日重置领取状态,脚本完整代码如下:
#每日登录奖励脚本(保存为login_daily.txt)
#IF
登录触发//角色登录时触发
#ACT
检测领取状态当日领取状态当日登录//检测今日是否已领取
#IF
CheckVariable当日领取状态0//判断未领取
#ACT
GiveGold1000//发放1000元宝
GiveItem1000210100//发放1件满持久魅影甲(ID10002)
SetVariable当日领取状态1//标记今日已领取
SendMsg2每日登录奖励领取成功!获得1000元宝+魅影甲1件
#elseact
SendMsg1今日登录奖励已领取,明日可再次领取~
#ELSE
SendMsg1登录检测异常,请重新登录尝试
配置要点:脚本需添加“每日重置”逻辑,通过服务器定时命令实现,定时命令为@定时执行SetVariable当日领取状态0,设置每日0点执行,确保次日可重新领取。
2.连续登录奖励脚本(按连续天数差异化发放)
适用场景:连续登录天数越多,奖励越丰厚(如连续1天领元宝,连续7天领极品装备),脚本完整代码如下:
#连续登录奖励脚本(保存为login_continuous.txt)
#IF
登录触发
#ACT
检测领取状态连续登录天数连续登录//读取当前连续登录天数
检测领取状态当日领取状态当日登录//检测今日是否已领取
#IF
CheckVariable当日领取状态0//未领取
CheckVariable连续登录天数1//连续登录1天
#ACT
GiveGold500//发放500元宝
SetVariable当日领取状态1
SendMsg2连续登录1天奖励领取成功!获得500元宝
#ELSEIF
CheckVariable当日领取状态0
CheckVariable连续登录天数3//连续登录3天
#ACT
GiveGold1500
GiveItem20023//发放3个大太阳水(ID2002)
SetVariable当日领取状态1
SendMsg2连续登录3天奖励领取成功!获得1500元宝+3个大太阳水
#ELSEIF
CheckVariable当日领取状态0
CheckVariable连续登录天数7//连续登录7天
#ACT
GiveGold5000
GiveItem10001110100//发放1把10级强化玄翎剑
SetVariable当日领取状态1
SendMsg2连续登录7天奖励领取成功!获得5000元宝+10级强化玄翎剑
#ELSE
SendMsg1今日奖励已领取,连续登录可解锁更丰厚福利~
#ELSE
SendMsg1登录数据异常,连续登录天数已重置
配置要点:连续登录天数需通过“登录触发时自动累加”逻辑实现,在脚本开头添加AddVariable连续登录天数1(登录时天数+1),若当日未登录,通过定时命令重置为0(@定时执行SetVariable连续登录天数0,每日0点执行)。
3.累计登录奖励脚本(按总天数阶梯发放)
适用场景:累计登录达到指定天数即可领仍应奖励(可叠加领取,如累计3天、7天、30天各领1次),脚本完整代码如下:
#累计登录奖励脚本(保存为login_total.txt)
#IF
登录触发
#ACT
检测领取状态累计登录天数累计登录//读取累计登录总天数
#IF
CheckVariable累计登录天数3//累计登录3天
CheckVariable累计3天奖励0//未领取该档位奖励
#ACT
GiveGold2000
GiveItem20031//发放1个传送石(ID2003)
SetVariable累计3天奖励1//标记该档位已领取
SendMsg2累计登录3天奖励领取成功!获得2000元宝+传送石1个
#ELSEIF
CheckVariable累计登录天数7
CheckVariable累计7天奖励0
#ACT
GiveGold3000
GiveItem1000310100//发放1件玄翎头盔(ID10003)
SetVariable累计7天奖励1
SendMsg2累计登录7天奖励领取成功!获得3000元宝+玄翎头盔1件
#ELSEIF
CheckVariable累计登录天数30
CheckVariable累计30天奖励0
#ACT
GiveGold10000
GiveItem10004112100//发放1把12级强化魅影剑(ID10004)
SetVariable累计30天奖励1
SendMsg2累计登录30天奖励领取成功!获得10000元宝+12级强化魅影剑
#ELSE
SendMsg1暂未解锁新的累计登录奖励,继续登录可解锁~
配置要点:累计登录天数需设置为“永久变量”,避免玩家离线后重置,添加SetVariable累计登录天数永久即可固定天数记录。
四、脚本配置与生效流程(新手必看)
1.脚本编写与保存
第一步:使用记事本、Notepad等文本编辑器,按上述示例编写脚本,确保命令格式正确(符号为英文半角,参数之间用空格分隔),无语法错误。
第二步:保存脚本,文件名以“login_”开头(便于识别),后缀为.txt,例如“login_daily.txt”“login_continuous.txt”。
第三步:将保存好的脚本文件,放入服务器脚本目录(默认路径为“D:\传奇服务器\Mir200\Envir\QuestDiary\”,不同服务器路径略有差异,可通过后台查看脚本目录位置)。
2.触发配置与生效测试
第一步:配置登录触发,打开服务器“登录触发脚本”(login.qsd),添加#INCLUDElogin_daily.txt(关联每日登录脚本),若需同时启用多种奖励,依次添加对应脚本关联命令(如#INCLUDElogin_continuous.txt)。
第二步:保存触发脚本,无需重启服务端,直接登录游戏测试,角色登录后若弹出奖励领取提示,且背包内出现对应奖励,说明脚本生效。
第三步:测试异常场景(如重复领取、天数达标未领取),确认提示语正常显示,无奖励重复发放或漏发问题。
五、常见问题排查与优化技巧
1.脚本执行失败(无奖励、无提示)
排查方向:①语法错误,检查命令拼写(如“GiveGold”误写为“GiveGole”)、参数缺失(如发放装备未写物品ID),可逐行核对命令格式;②脚本路径错误,确认脚本已放入指定目录,关联命令中的文件名与实际脚本名一致(区分大小写);③变量冲突,检查自定义变量名是否与系统变量重复(如避免使用“登录”“奖励”等通用名称)。
解决方法:使用服务器脚本调试工具(主流引擎自带),查看执行日志,日志中会标注错误命令位置与原因,针对性修改即可。
2.奖励重复发放(多次领取)
核心原因:未添加领取状态记录命令,或定时重置命令未生效。解决方案:①确认脚本中包含SetVariable领取状态1记录命令;②检查定时重置命令是否配置,确保每日0点执行状态重置;③若仍重复发放,添加“角色ID绑定”逻辑,在脚本中添加CheckUserID角色ID,确保领取记录与角色ID绑定,避免跨角色重复领取。
3.奖励发放差异化优化
若需按角色等级、职业配置差异化奖励,可在脚本中添加条件判断命令,示例:
#按等级差异化发放
#IF
CheckLevel30//角色等级≥30级
#ACT
GiveGold2000//30级以上领2000元宝
#elseact
GiveGold1000//30级以下领1000元宝
#按职业差异化发放
#IF
CheckJob1//1=武士职业
#ACT
GiveItem100011//武士领玄翎剑
#ELSEIF
CheckJob2//2=法师职业
#ACT
GiveItem100051//法师领魅影杖(ID10005)
#ELSEIF
CheckJob3//3=道士职业
#ACT
GiveItem100061//道士领玄翎符(ID10006)
六、总结
传奇登录奖励脚本制作核心是“命令精准+逻辑清晰+状态记录”,新手可先从每日登录奖励脚本入手,熟悉基础命令与配置流程后,再尝试连续登录、累计登录等复杂脚本。编写时需注意命令格式准确性,避免语法错误;配置后务必测试各类场景,确保奖励发放正常、无重复领取问题。脚本支持动态修改,后续需调整奖励内容或领取条件时,直接修改脚本文件并保存,无需重启服务端即可生效,灵活适配不同运营需求。

