3km2/3K类摆摊分M2物品白名单、MapInfo地图允许参数、QFunction开摊前校验三段做。全局先让摆摊能开,再用地图参数和脚本把摆摊限定到指定地图,非白名单地图直接中断,避免土城、庄园、专用集市以外随处摆摊造成卡图和交易混乱。
一、M2摆摊物品与全局规则
进M2,查看、列表信息、游戏管理、摆摊物品,把允许摆摊出售的物品按品类添加。全开放就批量添加装备、材料、药品、消耗品;控经济就只加可交易白名单,绑定装、任务装、系统赠品不添加。路径按本服Mir200\Envir相关列表,修改后重载或重启M2生效。
选项、游戏设置、寄售摆摊/摆摊参数里设安全区限制、最低等级、摊位数量、收税比例、摆摊时长。3km2在功能设置、交易系统可统管摆摊;若只做指定地图,全局等级可设低一点,地图白名单再按场景细分。收税按元宝或金币计,摆摊数量按单地图承载设,土城安全区人多就限每人在1到3个摊位,专用摆摊地图可放宽到5到10个。
二、MapInfo允许摆摊参数
Envir\MapInfo.txt给指定地图加摆摊参数。3km2/3K资料中指定地图摆摊可直接在地图行末尾加MYshop;部分3K/英雄系、GOM/GEE兼容个人商店用ALLOWUSEMYSHOP。同一行按本服支持的参数择一或并列,别重复写冲突字段。
示例土城、庄园、专用集市三图白名单:
3 盟重土城 0 0 1 1 SAFE MYSHOP ALLOWUSEMYSHOP
1500 中央庄园 0 0 1 1 SAFE MYSHOP ALLOWUSEMYSHOP
1600 自由摆摊区 0 0 1 1 SAFE NORECALL NOMASTERRECALL MYSHOP ALLOWUSEMYSHOP
只让安全区摆摊就保留SAFE;纯摆摊专用图加NORECALL禁回城卷拉人、NORANDOMMOVE禁随机飞入飞出、NODEARRECALL禁夫妻召回、NOGUILDRECALL禁行会召回。3km2参数体系里SAFE表示安全区,MYSHOP/ALLOWUSEMYSHOP表示允许个人商店摆摊;若本服3km2只认MYshop,就只写MYshop,不硬加ALLOWUSEMYSHOP,避免参数不识别。
非白名单地图不要写MYSHOP/ALLOWUSEMYSHOP。练级图、BOSS图、攻城图、副本地图保持FIGHT或对应参数,不附加摆摊允许字段,配合QFunction中断双保险。
三、QFunction开摊前指定地图校验
个人商店开摊前执行QFunction-0的@StartMyShop;仿Hero或个人商店不同引擎段名可能叫@StartMyShop、@ShopStall,按本服触发名写。指定多图白名单用IsOnMap逐个判断,不在白名单ForbidMyShop中断。
QFunction-0.txt:
[@StartMyShop]
IF
IsOnMap 3
OR
IsOnMap 1500
OR
IsOnMap 1600
ACT
DOEVENT 0
ELSEACT
IF
ACT
ForbidMyShop
MESSAGEBOX 仅限盟重、庄园、自由摆摊区摆摊
BREAK
IF
NOT INSAFEZONE
ACT
ForbidMyShop
MESSAGEBOX 必须在安全区摆摊
BREAK
IF
CHECKLEVELEX < 40
ACT
ForbidMyShop
MESSAGEBOX 40级以后才允许摆摊
BREAK
IF
ISDUPMODE
ACT
ForbidMyShop
MESSAGEBOX 请找空位置,不能与已有摊位重叠
BREAK
IF
ACT
SHOPSTALL
IsOnMap 3/1500/1600按实际白名单地图号替换;多图用#OR并列,3km2若不支持#OR就用分段判断,每个允许地图写一条通过、其余走中断。INSAFEZONE控制只在安全区开摊,非安全区直接断;CHECKLEVELEX按本服等级命令替换,老版用CHECKLEVEL。ISDUPMODE防两人同坐标叠摊,部分引擎用站位检测替代。
仿Hero用@ShopStall时改段名即可:
[@ShopStall]
IF
IsOnMap 3
OR
IsOnMap 1500
OR
IsOnMap 1600
ACT
ELSEACT
ACT
ForbidMyShop
MESSAGEBOX 非指定摆摊地图,已禁止开摊
BREAK
IF
NOT INSAFEZONE
ACT
ForbidMyShop
MESSAGEBOX 安全区以外不可摆摊
BREAK
IF
CHECKSHOPSTALLSTATUS
ACT
MESSAGEBOX 确认停止摆摊 @停止摆摊
ELSEACT
MESSAGEBOX 确认开始摆摊 @确定开始
[@确定开始]
IF
ISDUPMODE
ACT
MESSAGEBOX 请找空位置再开摊
BREAK
IF
ACT
SHOPSTALL
[@停止摆摊]
IF
ACT
SHOPSTALL
SHOPSTALL开关在GOM/个人商店体系用于开始或停止,ForbidMyShop用于开摊前拦截。
四、指定地图分级规则
只让土城免费摆、庄园收税、专用区按转生或等级开放,用不同段或同一段加变量判断。
土城全等级安全摆:
[@StartMyShop]
IF
IsOnMap 3
CHECKLEVELEX > 9
ACT
ELSEACT
ACT
ForbidMyShop
MESSAGEBOX 土城摆摊需10级以上
BREAK
庄园仅高等级并限元宝税:
[@StartMyShop]
IF
IsOnMap 1500
CHECKLEVELEX > 79
CHECKGAMEGOLD > -1
ACT
ELSEACT
ACT
ForbidMyShop
MESSAGEBOX 庄园摆摊需80级,并按M2税率扣元宝
BREAK
专用自由区按八转或VIP变量:
[@StartMyShop]
IF
IsOnMap 1600
CHECKRENEWLEVEL > 7
OR
CHECK [自由区临时许可] 1
ACT
ELSEACT
ACT
ForbidMyShop
MESSAGEBOX 自由摆摊区仅八转或持临时许可开放
BREAK
CHECKRENEWLEVEL按本服转生命令替换;自由区临时许可用NPC购买或活动发放,HUMAN变量日重置。
五、非指定地图主动清摊与防绕开
仅靠开摊前拦截,玩家在白名单开摊后被传走、或用回城卷从别图再开仍有漏洞。加进图/出图触发:进入非白名单图若检测到摆摊状态,强制收摊或传回白名单。
QFunction进图段:
[@IntoMapOther]
IF
NOT IsOnMap 3
NOT IsOnMap 1500
NOT IsOnMap 1600
CHECKSHOPSTALLSTATUS
ACT
SHOPSTALL
MESSAGEBOX 当前地图禁止摆摊,已自动收摊
SENDMSG 6 非摆摊区不可摆摊,系统已收摊
CHECKSHOPSTALLSTATUS读当前是否在摆摊;部分引擎用摆摊状态变量替代。出白名单立即SHOPSTALL一次切换为收摊,再按本服是否需要MAP回土城处理。若不允许自动传送,只收摊不强制移人;若要强制回摆摊区,在收摊后MAP 3安全点。
机器人定期扫全服非白名单摆摊更重,不建议常开;只在活动结束后用一次:
AutoRunRobot.txt:
AutoRun NPC RUNONMIN 30 @StallClean
RobotManage.txt:
[@StallClean]
IF
NOT IsOnMap 3
NOT IsOnMap 1500
NOT IsOnMap 1600
CHECKSHOPSTALLSTATUS
ACT
SHOPSTALL
SENDMSG 0 非摆摊地图检测到摊位已统一收摊
机器人遍历在线角色命令按引擎替换,Hero/GOM/3km2不支持全服变量时改由出图触发处理更稳。
六、摆摊区地图优化
专用摆摊图MapInfo不宜过大,推荐单图可站立安全点控制在80到200个坐标,避免全服几百摊同图卡客户端。参数示例:
1600 自由摆摊区 0 0 1 1 SAFE NORECALL NOGUILDRECALL NODEARRECALL NOMASTERRECALL NORANDOMMOVE NOPOSITIONMOVE MYSHOP ALLOWUSEMYSHOP
NORECALL禁回城类召唤,NORANDOMMOVE禁随机防止非摆摊人员乱飞,NOPOSITIONMOVE禁定点飞,SAFE保证无怪无PK。若做行会专属摆摊,可另开1601并配合进入NPC按行会变量放行,白名单脚本里把IsOnMap 1601加进#OR。
摆摊NPC可放土城、庄园、自由区入口,提供一键开摊说明、税率查询、违规提醒。Market_Def建摆摊引导.txt:
[@main]
摆摊规则\ \
查看可摆摊地图 /@map_list\ \
查看税率等级限制 /@rule_list\ \
一键前往自由摆摊区 /@go_stall\ \
[@map_list]
IF
SAY
盟重土城:10级起免费摆\ \
中央庄园:80级起按元宝收税\ \
自由摆摊区:八转或临时许可,全天开放\ \
[@rule_list]
IF
SAY
全局最低等级、单人不超3摊、安全区才能开\ \
非白名单地图开摊会被系统收摊\ \
庄园税率在M2寄售摆摊参数设置\ \
[@go_stall]
IF
CHECKRENEWLEVEL > 7
OR
CHECK [自由区临时许可] 1
ACT
MAP 1600 10 10
SENDMSG 6 已进入自由摆摊区
ELSEACT
MESSAGEBOX 自由区仅八转或持临时许可
七、M2参数与脚本对应关系
M2摆摊物品决定能挂什么;MapInfo MYSHOP/ALLOWUSEMYSHOP决定哪张图允许开;QFunction @StartMyShop/@ShopStall决定开摊前再校地图、安全区、等级、重叠;进图触发决定开摊后被传走是否收摊。三者缺一不可。只加MapInfo不加QFunction,玩家在允许图安全区外也可能借其他触发开摊;只写QFunction不加MapInfo,部分引擎个人商店窗口根本不弹;只开M2物品不限地图,全安全区都能摆,达不到指定地图要求。
八、排错
摆摊窗口不弹:MapInfo对应地图没MYSHOP或ALLOWUSEMYSHOP,QFunction没@StartMyShop/@ShopStall,M2摆摊物品为空,个人商店功能未启。先加地图参数,再重载QFunction,再查M2列表。
只在土城能摆、庄园不行:庄园地图行缺MYSHOP/ALLOWUSEMYSHOP,或庄园不是SAFE,或脚本IsOnMap地图号写错。用游戏内查当前地图号替换1500。
非白名单还能开摊:QFunction段名不对、ForbidMyShop命令本服不支持、#OR多图判断被写成并列#AND。改单图分段判断,开摊前先白名单再安全区再等级。
开摊后被人传走仍摆着:没写出图/进图收摊触发,或CHECKSHOPSTALLSTATUS命令名不对。加IntoMap非白名单收摊段。
安全区边缘能开、中间不能:脚本没用INSAFEZONE全局判断,或地图SAFE范围没覆盖整个摆摊区。MapInfo确认整图SAFE,脚本统一NOT INSAFEZONE中断。
重叠卡摊:ISDUPMODE不支持就改用坐标范围检测,或在白名单图划分格子坐标,NPC开摊前校验RANGE空位。
3km2参数不识别ALLOWUSEMYSHOP:改用MYshop单独写,重启M2和网关;仍不行查本服3K说明,部分老3K用MYSHOP、部分用ALLOWUSEMYSHOP,按引擎版本号择一。
收税不生效:M2寄售摆摊税率未设,或专用图走个人商店不走寄售。个人商店税率在M2个人商店参数设,寄售摆摊在选项、游戏设置、寄售摆摊设。
摆摊卡客户端:单图摊位过多、地图过大、安全区特效过多。专用区限制人数,按地图面积每100可站立点不超过30摊。
按M2物品白名单、MapInfo指定图MYSHOP/ALLOWUSEMYSHOP、QFunction白名单加安全区等级重叠、进图非白名单收摊这四层做,3km2/3K系能把摆摊严格限定在土城、庄园、自由区等指定地图;只开全局不写地图白名单,会出现安全区随处摆、副本网关摆、BOSS图回城点摆等混乱。
3km2及3K系传奇摆摊功能全局开启指定地图白名单安全区等级限制脚本教程
来源:
作者:
点击:

