在传奇版本架设中,GOM(Game Oriented Mapper)登陆器被广泛使用。而在许多情况下,为了提高游戏体验,需要实现领取沙城给予的脚本,并能够自动区分新老区。本文将介绍如何通过编写脚本和设置变量来实现这一目标。

一、领取脚本

首先,需要编写一个领取脚本,用于实现领取沙城给予的功能。该脚本可以通过以下代码实现:

bash

@echo off

setlocal enabledelayedexpansion

set “server=%1”

set “user=%2”

set “password=%3”

set “item=%4”

set “count=%5”

echo 连接服务器…

net use \\%server% /user:%user% %password% >nul

if %errorlevel% neq 0 (

echo 连接服务器失败!

exit /b

)

echo 领取物品…

for /l %%i in (1,1,%count%) do (

echo 领取第%%i个物品…

set /a “num=!random! %% %item%”

echo !num! > WScript.StdOut.Write(fread(0,1,”data\\server\\!num!”)) >nul

)

echo 领取完成!

net use \\%server% /delete >nul

该脚本需要传入五个参数:服务器名称、用户名、密码、物品编号和领取数量。它首先尝试连接到服务器,如果连接失败则输出错误信息并退出。如果连接成功,则开始领取物品。它通过循环随机生成一个物品编号,并将其写入服务器的对应文件中。循环的次数由领取数量决定。最后,脚本断开与服务器的连接并输出完成信息。

二、区分新老区

在传奇版本中,新老区的区分可以通过检查服务器的文件夹名称来实现。通常来说,新区文件夹的名称中会包含日期后缀,而老区文件夹的名称中不会包含日期后缀。因此,我们可以通过编写一个批处理脚本来实现自动区分新老区。以下是该脚本的示例代码:

bash

@echo off

setlocal enabledelayedexpansion

set “server=%1”

if exist “\\%server%\data\server\%server%新区” (

set “type=新区”

) else (

set “type=老区”

)

echo 服务器类型:%type%

()

%100

[@main]

#act

OPENMERCHANTBIGDLG 0 1799 1 4 0 0 0

#say

<IMG:253:63:420:-5/@exit>\

<> <━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━/SCOLOR=70>\ 

<><◇◇漫漫传奇路◇幽幽不了情◇◇会当凌云沙巴克◇◇一览众山小◇◇/SCOLOR=146>\

<> <━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━/SCOLOR=70>\

<> <经过这场战争的洗礼,已经证明了你们是醉伟大的勇士。祝贺你们!/SCOLOR=250>\

<> <沙城专属的给予:新区:/SCOLOR=255><20000000元宝/SCOLOR=253> 老区:<10000000元宝/SCOLOR=253>\

<> <请城主合理发放给予,新区攻城后/SCOLOR=255><22.00–22.05>前往领取!\

<> <奖品只能领取一次/SCOLOR=250><注意:超过时间没领取的话就无法领取给予/SCOLOR=250>!\ \

<> 【<领取沙城给予/@领取>】

[@领取]

#if

EQUAL A77 老区

#act

goto @老区给予

break

#elseact

goto @新区给予

[@新区给予]

#if

ISCASTLEMASTER

#act

goto @沙老大1

#elseact

messagebox 小子,敢冒充城主领领?

break

[@沙老大1]

#if

CHECKGUILDLIST ..\QuestDiary\Market\沙给予名单.txt

#act

messagebox 城主给予只能领取一次!

break

close

#if

ISCASTLEMASTER

HOUR 22 22

MIN 00 59

#act

MOV N$额外给予 0

MOV N$基础给予 20000000

#elseact

messagebox 城主给予领取时间在22.00-23.00之间!

CLOSE

BREAK

#IF

LARGE G8 9

#ACT

MOV N$额外给予 188

#IF

LARGE G8 19

#ACT

MOV N$额外给予 288

#IF

LARGE G8 29

#ACT

MOV N$额外给予 388

#IF

LARGE G8 39

#ACT

MOV N$额外给予 588

#IF

LARGE G8 49

#ACT

MOV N$额外给予 888

#IF

LARGE G8 99

#ACT

MOV N$额外给予 1888

#IF

LARGE G8 199

#ACT

MOV N$额外给予 3888

#IF

LARGE G8 299

#ACT

MOV N$额外给予 8888

#IF

CHECKLEVELEX > 0

#ACT

MOV A77 老区

GAMEGOLD + <$STR(N$基础给予)>

GAMEPOINT + <$STR(N$额外给予)>

ADDGUILDLIST ..\QuestDiary\Market\沙给予名单.txt

SENDMSG 0 (*)恭喜伟大的沙巴克城主[<$USERNAME>]领取了新区的攻城给予[<$STR(N$基础给予)>元宝]、人数达到[<$STR(G8)>人]额外给予R点[<$STR(N$额外给予)>]

SENDMSG 0 (*)恭喜伟大的沙巴克城主[<$USERNAME>]领取了新区的攻城给予[<$STR(N$基础给予)>元宝]、人数达到[<$STR(G8)>人]额外给予R点[<$STR(N$额外给予)>]

SENDMSG 0 (*)恭喜伟大的沙巴克城主[<$USERNAME>]领取了新区的攻城给予[<$STR(N$基础给予)>元宝]、人数达到[<$STR(G8)>人]额外给予R点[<$STR(N$额外给予)>]

SENDMSG 0 (*)恭喜伟大的沙巴克城主[<$USERNAME>]领取了新区的攻城给予[<$STR(N$基础给予)>元宝]、人数达到[<$STR(G8)>人]额外给予R点[<$STR(N$额外给予)>]

SENDMSG 0 (*)恭喜伟大的沙巴克城主[<$USERNAME>]领取了新区的攻城给予[<$STR(N$基础给予)>元宝]、人数达到[<$STR(G8)>人]额外给予R点[<$STR(N$额外给予)>]

messagebox 恭喜你成功领取<$STR(N$基础给予)>元宝、R点<$STR(N$额外给予)>

break

close

[@老区给予]

#if

ISCASTLEMASTER

#act

goto @沙老大2

#elseact

messagebox 小子,敢冒充城主领领?

break

[@沙老大2]

#if

CHECKGUILDLIST ..\QuestDiary\Market\沙给予名单.txt

#act

messagebox 城主给予只能领取一次!

break

close

#if

ISCASTLEMASTER

HOUR 22 22

MIN 00 59

#act

MOV N$基础给予 10000000

#elseact

messagebox 城主给予领取时间在22.00-23.00之间!

CLOSE

BREAK

#IF

CHECKLEVELEX > 0

#ACT

GAMEGOLD + <$STR(N$基础给予)>

ADDGUILDLIST ..\QuestDiary\Market\沙给予名单.txt

SENDMSG 0 (*)恭喜伟大的沙巴克城主[<$USERNAME>]领取了老区的攻城给予[<$STR(N$基础给予)>元宝]

SENDMSG 0 (*)恭喜伟大的沙巴克城主[<$USERNAME>]领取了老区的攻城给予[<$STR(N$基础给予)>元宝]

SENDMSG 0 (*)恭喜伟大的沙巴克城主[<$USERNAME>]领取了老区的攻城给予[<$STR(N$基础给予)>元宝]

SENDMSG 0 (*)恭喜伟大的沙巴克城主[<$USERNAME>]领取了老区的攻城给予[<$STR(N$基础给予)>元宝]

SENDMSG 0 (*)恭喜伟大的沙巴克城主[<$USERNAME>]领取了老区的攻城给予[<$STR(N$基础给予)>元宝]

messagebox 恭喜你成功领取<$STR(N$基础给予)>元宝!

break

close

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。