公布【复活术】设计思路、机理及明码|以及些许心路感慨
陆陆续续发了几个技能脚本了。每个都是自己一行一行写的,没有任何参考别人的过程。
然而,仍然扛不住各种键盘侠和带路党的恶心。
遂,决定公布该脚本设计思路,和所有关键代码。
并承诺今后不在脚本区发布任何脚本。
以上
设计思路
引擎现有的
@MagSelfFuncX 取不到死尸的人名,既而无法继续实现接下来的任何功能。
@MagTagFuncX
同上。
@MagTagFuncEXX 施法者无法触发,施法者的目标死尸无法被触发。
既然如此,那我反其道思之,
我只要在玩家死亡触发字段@PLAYDIE里,写下代码,记录玩家死亡时候的<$MAP><$X><$Y>,写到一个DATA.TXT内,用WriteConfigFileItem完成,写作[<$MAP><$X><$Y>],然后为了防止覆盖这个坐标上已有的死人,用ReadConfigFileItem读取这个坐标下的计数变量N$计数,
若N$计数=0,则把死亡玩家的名字写到这个Section的下面,作DiePlayerN1=<$USERNAME>
若N$计数≠0,则读取若N$计数,赋值给当前死亡玩家N$计数back,并把N$计数back+1,再把把
死亡玩家的名字写到这个Section的下面,作DiePlayerN<$STR(N$计数back)>=<$USERNAME>
此时,已建立好了某个地图的某个坐标上的所有死尸及其对应的玩家名。
最难的一步就实现了,然后就可以再玩家自定义技能复活术的[@MagSelfFuncX]下,直接取玩家鼠标变量及人物地图变量<$MAP>,直接CHECKTEXTLIST去检测DATA.TXT里存在不存在字段[<$施法者MAP><$施法者鼠标X><$施法者鼠标Y>],
若不存在,则说明施法者释放复活术的鼠标位置没死人,则终止技能释放,并发出没死人提示。
若存在,则说明施法者释放复活术的鼠标位置有死人,则ReadConfigFileItem读取这N$计数,
若N$计数=1,则说明目标坐标就一个死尸,这时直接执行ReadConfigFileItem读取DiePlayerN1,这时
得到了目标死尸的玩家名,随后可用各种触发比如多级脚本的<$对方USNERNAE>.messegebox XXXX给死尸弹
对话框提示有人复活你,是不是接受;或者直接用HCALL触发死亡玩家的脚本。
若N$计数>1,则说明目标坐标存在两个或以上的死尸,此时情况比较复杂,提供两个思路:1要么按照
我双工复活术的帖子的模式II,遍历所有死尸名字、职业、等级、性别,在施法者释放技能时候弹出UI让你
选择复活谁;2要么按照我简易复活术帖子取随机数 1~【N$计数+1】,直接取DiePlayerN<$STR(N$随机数)>对应的玩家的名字,然后进行后续触发。
明
被触发成功复活的死亡玩家,要把DATA.TXT内自己的死亡信息<$MAP><$X><$Y>下的DiePlayerNX条目删除,并把该SECTION下的计数-1。
若死亡玩家拒绝复活,然后小退或者大退,则小退触发字段@PlayReconnection下、大退触发字段@PlayOffLine下
必须加入命令,来清除死亡玩家在DATA.TXT的对应死亡信息,以防造成后续BUG和数据大量积累。
=========到此,所有设计全部完毕====================
作者:传奇大学本文地址:https://www.444.mba/post/1113.html发布于 2020-02-09
文章转载或复制请以超链接形式并注明出处传奇大学
还没有评论,来说两句吧...