ImageVerifierCode 换一换
格式:DOC , 页数:15 ,大小:112.50KB ,
资源ID:8952325      下载积分:10 金币
验证码下载
登录下载
邮箱/手机:
图形码:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/8952325.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请。


权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4009-655-100;投诉/维权电话:18658249818。

注意事项

本文(游戏简单任务脚本示例lua.doc)为本站上传会员【s4****5z】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

游戏简单任务脚本示例lua.doc

1、游戏任务策划案 一 任务简要说明: 老道炼药,需要一个天使之心,在天使加百列身上有半颗,在路西法身上有半颗。老道交给你一个玉符,告诉你在法坛上使用可以帮你打开通往两处的通道。并告诉你两处的坐标A、B。(不在法坛上使用玉符无效) A坐标通往加百列,B通道通往路西法。 你站在法坛上,使用玉符进入光明前殿(或者黑暗大殿,进入先后次序不论)。 进入光明前殿遇到加百列,加百列异常高傲,称你为异教徒,你回敬他是长着鸡翅膀的不男不女的鸟人,对骂之后开始战斗。 加百列战斗策略:自身20%的几率使用光明护盾,持续5秒,每次光明护盾消失后都有20%的几率再次使用。 当自身血量低于最大血量有10%的几

2、率使用治愈术。 当自身血量低于最大血量10%有10%的几率使用复活术,血量回满,复活术最多可使用三次。 当自身血量低于最大血量1%,且三次复活术不满则100%使用复活术。 当对方血量是当前自身血量的2倍,有10%的几率使用大预言术,大预言术50%几率为时间凝固,对方不可操作,时间5秒,50%的几率为时间逆流,对方所有属性减半,时间5秒 加百列死亡后100%获得半颗光明天使之心,获得天使之心后,你自动返回法坛前,法坛前坐标为C。 进入黑暗神殿,路西法只说了声战斗吧,即开始战斗。 路西法战斗策略:当自身血量分别为最大血量的90%,70%, 50%, 30%, 10%时开始召唤生物,第

3、一批为三个石像鬼,第二批为三个黑暗巫师,第三批为四个大恶魔,第四批为四个骨龙,第五批为五个深渊魔王。 当每死一只召唤生物,有10%的几率分别使用虚弱,中毒,恐惧,失明,四个魔法中的一个。 若召唤生物没有全部死亡,而路西法血量少于5%的时候处于无敌状态,物理和魔法攻击免疫。 杀死路西法100%获得半颗黑暗天使之心,获得后自动返回法坛前台。 你将两个半颗天使之心带到老道处,老道要你用狗血去融合了这两个半颗天使之心,使之变成一颗完整的天使之心。 你去找了半盆黑狗血,将两颗天使之心扔进去,一道光闪过,盆里出现课天使之心,你拿完整的天使之心又去交给老道,老道很满意,给了你一枚人参果,你临走好奇

4、问老道要天使之心炼什么药,老道告诉你,没啥用,就是看鸟人脸上道貌岸然,一肚子男盗女娼的样子不爽,正好最近有点闲,拿天使之心不过是想炼一份给自己养的牛除牛虱的药而已。你不仅为老道的恶搞而汗颜。 特别说明: 1、该任务中任何死亡都做正常死亡处理,死亡后需要重新从法坛进入目的地 2、当每拿到半颗天使之心,则该地图不可再次进入,输入坐标无效 3、当两个半颗天使之心都已获得,则玉符自动消失 4、两个场景地图不保存信息,即玩家在两个场景地图中的任一个下线后,再次上线则回到法坛前 5、该任务不可重复,每个用户只能完成一次 6、该任务接受后需要在任务日志中记录,用户可以随时查询,任务完成后清除任

5、务日志 7、用户获得的奖励需要做log,方便查询 要求: 1、写出任务基本流程,并附流程图 2、按照任务编写一份伪脚本 其他说明: 1、所有所需的关键词、变量、以及函数由答题者自行定义,并对所定义的词、变量、函数等作出解释说明 2、编写格式可以按自己的方式编写,但需作出必要的说明 3、在战斗脚本部分编写,可任一选择一个战斗进行编写,也可以全部编写 “老道炼药”任务策划案(初稿) 一 任务基本流程 领取任务:1.玩家去道观(21,104)找老道对话,获得玉符,任务开始。 做任务: 2.玩家去道观所在的法坛。

6、 3.玩家在法坛使用玉符,打开通道,输入A坐标,来到光明大殿杀死加百列,获得半颗天使之心。 4.玩家在法坛使用玉符,打开通道,输入B坐标,来到黑暗大殿杀死路西法,获得半颗天使之心。 5.玩家带着2个半颗天使之心找老道对话。 6.玩家奉命炼制天使之心,去找材料黑狗血。 还任务: 7.玩家带着天使之心找老道对话,获得人参果,任务完成。 任务流程图: 找黑狗血 光明大殿 加百列 黑暗大殿 路西法

7、 ⑦ ⑥ 老道 ⑤ ③ ② (法坛) 道观 ④ ① ② 二 加百列战斗脚本流程图 NPC生命状态 战斗状态 参数Dir,Dist Dist>0

8、AI决策 战斗状态 执行决策 Move, Dist-1 DropItem () MoveBack () Dist = 0 N Y Y N N Y

9、 N Y AI决策流程图: BrightShield ( ) Resurrection ( ) Therapy ( ) BigPrediection ( ) UseSkill (AI) Y N Y N

10、 Y N Y N 三 脚本相关 1.函数定义: GetMissionFlag (PlayerID,MissionID) ---读取玩家某任务的任务完成标识 GetMissionSpace ( ) ---读取玩家当前已接任务总数, ---未达上限返回TURE,否则返回FALSE GetMissionName (MissionFlag) ---读取指定任务的任务变量名 Get

11、MissionValue(MissionFlag) ---读取指定任务的任务变量名对应的变量值 TestMissionFlag (Flag) ---检测玩家任务完成标识表的状态,有变化则返回---对应任务的任务编号,否则返回FALSE GetMissionText (MissionID,MissionFlag) ---根据任务编号和任务完成标识读取任务日志说明 GetPlayerLevel (PlayerID) ---读取玩家当前等级 GetPlayerName (PlayerID) -

12、读取玩家游戏ID的呢称 GetItem (ItemID) ---玩家获得指定物品 LoseItem (ItemID) ---玩家失去指定物品 GetMissionGain (MissionID) ---玩家获得某任务的任务奖励 LookforItem (ItemID,ItemNumber) ---追踪玩家身上携带的某物品,返回TURE或FALSE PlayAnim (NPC/Player,AnimID) ---播放指定的精灵动画 NPCtalk ( )

13、 ---显示NPC当前对白 Playertalk ( ) ---显示玩家当前对白 ERROR( ) ---提示错误的输入信息 GetPlayerHP (PlayerID) ---读取玩家当前HP值 GetNPCHP (NPCID) ---读取NPC当前HP值 GetPlayerDroidX ( ) ---读取玩家当前X坐标 GetPlayerD

14、roidY ( ) ---读取玩家当前Y坐标 GetPlayerDroidDir ( ) ---读取玩家当前面向 GetPlayerToNPCDist ( ) ---读取玩家距NPC的当前距离 GetNPCDroidX ( ) ---读取NPC当前X坐标 GetNPCDroidY ( ) ---读取NPC当前Y坐标 GetNPCDroidDir ( ) ---读取NPC当前面

15、向 MoveNPCDroid(Dir, Dist,,Speed) ---根据给定的面向,距离和速度移动NPC GetStateTime (FreqtTime) ---计时器根据计数循环返回FALSE或1 UseSkill (SkillID) ---使用指定的技能 OverSkill (SkillID) ---取消指定的技能 ViewPepoleInRegional (radius) ---查看区域radius内目标,返回TURE或者FALSE GetSyst

16、emTime ( ) ---读取当前系统时间,单位秒 GetRanInRange (Min,Max ) ---获得[Min+1,Max-Min+1]范围内的任意整数值 ChangeScence(to,from) ---由from场景切换到to场景 GetScenceDriod (DroidX, DroidY) ---读取玩家输入的X,Y坐标 2. 附相关NPC对白配置文件:NPCdb.text(对白,文件后缀名不知道是什么类型的) ---------------------------------

17、NPC对白编号--------------------------------------------------- // Dn660=“你输入的是错误的坐标,请重新输入。” ; // Db1000 =“XXX,你能力不够,还是去外面磨炼吧。” Db1001 =“XXX,贫道有件事想请你帮忙。” Db1002 =“道长,啥事?” Db1003 =“是这样,我炼药需要一个叫做天使之心的材料,这个材料在加百列身上有半颗,在路西法身上有半颗,你能帮我去取来吗?” Db1004 =“没问题。” Db1005 =“XXX,快去做你的事情吧。” Db1

18、006 =“XXX,事情办的怎样了?” Db1007 =“抱歉,道长,我决定放弃了。” Db1008 =“办好了。” Db1009 = “太好了,XXX你真是少年英豪,贫道一直很看好你,恩,这个人参果送给你,希望你不要辜负贫道一番心意。” Db1010 =“道长你太客气了。哦,对了,顺便问下,道长你准备炼什么灵丹妙药呀?” Db1011 =“没啥用,就是看那鸟人表面道貌岸然,其实一肚子男盗女娼的样子不爽,我正好最近有点闲,拿天使之心不过是想炼一份给自己养的牛除牛虱的药而已。” Db1012 =“XXX,贫道要的是完整的天使之心,你用狗血去融合了这两个半颗天使之心,使之变成一颗完整的

19、天使之心,然后再找我吧。” Db1013 =“XXX,不要和贫道开玩笑了,快点去完成吧。” Db1014 =“XXX,很遗憾你放弃了。” Db1015 =“XXX,很高兴见到你,上次多谢你帮忙。” Db1016 =“嘎嘎,哪来的异教徒,还不向仁慈的主忏悔?” Db1017 =“我呸!你丫的狂什么,不过是一个长着鸡翅膀的不男不女的鸟人。” Db1018 =“气死我也,主会原谅我的,受死吧!” Db1019 =“嘎嘎,看你往哪跑!” Db1020 =“嘎嘎…” Db1021 =“别得意了,战斗才刚刚开始。” Db1022 =“嘎嘎,很失望吧。” Db1023 =“该死,不可能

20、的事情,我居然被打败了!” Db1024 =“可恶!” Db1025 =“难以置信,我会输给一个卑贱的人类么?” Db1026 =“别妄想反抗了,快来乖乖受死吧!” Db1027 =“还在挣扎,也好,我就来导演一场猫戏老鼠的精彩演出,嘎嘎!” Db1028 =“觉悟吧,你死定了。” // ; ; // 3.任务脚本:Mission.lua --------------------------------------------------导入API----------------------------------------------------- in

21、t HAPI_GetMissionFlag (lua_state *pluastate) int HAPI_GetMissionName (lua_state *pluastate) int HAPI_GetMissionValue(lua_state *pluastate) int HAPI_TestMissionFlag (lua_state *pluastate) int HAPI_GetMissionText (lua_state *pluastate) --

22、脚本主体-------------------------------------------------------- Func_Mission ( ) // ; ; // If (TestMissionFlag ( )) then If (TestMissionFlag ( ) = = 01) then ---记录新任务信息 Flag= TestMissionFlag ( ); Mission={ }; Mission[Flag]={GetMi

23、ssionName (Flag)= GetMissionValue (Flag)}; Else Mission={ }; Mission[TestMissionFlag ( )]=nil; ---删除指定任务信息 End Else if (LookforMissionText ( )) then ---查询指定任务日志 Print (GetMissionText(MissionID, MissionFlag)); Else if (LookforMissionTable ( ) ) then

24、 ---查询玩家当前任务列表信息 Print (Mission); End End 4.老道(npc47)的脚本:npc47.lua --------------------------------------------------导入API----------------------------------------------------- int HAPI_GetMissionFlag (lua_state *pluastate) int HAPI_GetMissionSpace (lua_state *plua

25、state) int HAPI_GetPlayerLevel (lua_state *pluastate) int HAPI_GetPlayerName (lua_state *pluastate) int HAPI_GetItem (lua_state *pluastate) int HAPI_GetMissionGain (lua_state *pluastate) int HAPI_LookforItem (lua_state *pluastate)

26、 int HAPI_PlayAnim (lua_state *pluastate) int HAPI_NPCtalk (lua_state *pluastate ) int HAPI_Playertalk (lua_state *pluastate) -------------------------------------------------常量声明-------------------------------------------------------- Level=50 -----------

27、对话脚本-------------------------------------------------------- Func_npc47 ( ) # define XXX GetPlayerName ( PlayerID) ; If (GetPlayerLevel (PlayerID)

28、 If (MissionFlag= =00) then ---玩家没有领取过该任务 If (GetMissionSpace ( )) then ---玩家还可以领取任务 NPCtalk (Db1001); Playertalk (Db1002); NPCtalk (Db1003); Playertalk (Db1004); GetItem(Item250); --获得道具玉符 Else

29、 ---玩家领取任务已达上限 NPCtalk(Db1005); Else if (MissionFlag= =01) then NPCtalk (Db1006,Db1007,Db1008); If (Answer= = Db1007) then MissionFlag=10; Else if (LookforItem (Item368,1)) then ---察看玩家身上是否携带天使之心 NPCtalk (Db1009); Playertalk(Db1010); NPCtal

30、k(Db1011) GetMissionGain (Mission112) ; --获得任务奖励(人参果) Else if ((LookforItem (Item366,1)) then ---查看玩家身上是否携带2个半颗天使之心 If ((LookforItem (Item367,1)) then NPCtalk (Db1012); Else NPCtalk (Db1013); End End Else if (MissionFlag= =10) then NPCtalk (Db1014)

31、 Else if (MissionFlag= =11) then NPCtalk (Db1015); End End 5.加百列(npc112)的脚本:npc112.lua --------------------------------------------------导入API----------------------------------------------------- int HAPI_NPCtalk (lua_state *pluastate ) int HAPI_Playertal

32、k (lua_state *pluastate ) int HAPI_ERROR (lua_state *pluastate ) int HAPI_GetPlayerHP (lua_state *pluastate) int HAPI_GetNPCHP (lua_state *pluastate) int HAPI_GetPlayerDroidX (lua_state *pluastate ) int HAPI_Get

33、PlayerDroidY (lua_state *pluastate) int HAPI_GetPlayerDroidDir (lua_state *pluastate) int HAPI_GetPlayerToNPCDist (lua_state *pluastate) int HAPI_GetNPCDroidX (lua_state *pluastate) int HAPI_GetNPCDroidY (lua_state *pluastate )

34、 int HAPI_GetNPCDroidDir (lua_state *pluastate) int HAPI_MoveNPCDroid (lua_state *pluastate) int HAPI_GetSystemTime (lua_state *pluastate ) int HAPI_GetRanInRange (lua_state *pluastate) int HAPI_GetStateTime (lua_state *pluastate) int

35、HAPI_UseSkill (lua_state *pluastate) int HAPI_ViewPlayerInRegional (lua_state *pluastate) -------------------------------------------------常量声明-------------------------------------------------------- // Direction // NORTH=0; SOUTH=2; EAST=4; WEST=6; -------------------------------

36、 OriginalX=12; --加百列原来的X坐标 OriginalY=20; ---加百列原来的Y坐标 Speed=10; ---加百列的移动速度 Radius=20; ---加白列可以察觉目标的区域半径 HP=5000; ---加百列的生命满值 Rarity

37、0; ---指定的几率值 FreqAttack=1; ---加百列的攻击频率(s) AttackDist=4; ---加百列的有效攻击距离 OrdinaryAttack=1; ---普通攻击 BrightShield=121; ---光明护盾 BrightState =0; ---光明护盾状态 CD=5; ---光明状态有效持续时间(s) Therapy=122;

38、 ---治疗术 Resurrection=123; ---复活术 Cout=0; ---加百列复活术已使用次数 BigPrediction_1=124; ---大预言术之时间凝固 BigPrediction_2=125 ---大预言术之时间倒流 -----------------------------------------------定义函数------------------------------------------------------- //

39、 ---获得需要面对玩家的方向 Function GetPlayerFaceDir ( ) NPCDroidX= GetNPCDroidX ( ); NPCDroidY= GetNPCDroidY ( ); PlayerDroidX= GetNPCDroidX ( ); PlayerDroidY= GetNPCDroidY ( ); If (NPCDroidX < PlayerDroidX) then Return EAST; Else Retuun WEST; End If (NPCDroidY < Player

40、DroidY ) then Return SOUTH; Else Return NORTH; End Return NORTH; --- End // ---获得返回原处需要面对的方向 Function GetMoveBackDir ( ) NPCDroidX= GetNPCDroidX ( ); NPCDroidY= GetNPCDroidY ( ); If (NPCDroidX < OriginalX) then Return EAST; Else if (NPCDroidY < Original

41、Y ) then Return SOUTH; Else if (NPCDroidX > OriginalX) then Return WEST; Else if (NPCDroidY >OriginalY) then Return NORTH; Else return FALSE; End End // ---光明护盾的AI策略 Function BrightShield ( ) --- If (BrightState = = 0) then Rarity= GetRanInRange (0, 9);

42、 If (GetRanInRange (0, 4) = = 1) then AI = BrightShield; BrightState = 1; T0 = GetSystemTime ( ); NPCtalk (Db1020); Else AI = FALSE; End Else T=GetSystemTime ( ) ; AI=FALSE; If (tT– t0 = = CD) then BrightState=0; End Return AI; End // ---复活术的AI策略 Fun

43、ction Resurrection ( ) NPCHP=GetNPCHP ( NPC112); If (NPCHP

44、nrange (0,9); If (Cout<3) then If (Rarity = = 1) then AI=Resurrection; If (Cout = = 0) then NPCtalk (Db1021); Else NPCtalk(Db1022); End Else AI= FALSE; If (Rarity = = 10) then NPCtalk (Db1024); End End Else AI= FALSE; If (Rarity = = 2) then NPCtalk (Db1025

45、); End End Else AI= FALSE; End Return AI; End // ---治疗术的AI策略 Function Therapy ( ) NPCHP=GetNPCHP ( NPC112); Rarity=GetRanInrange (0,9); If (NPCHP

46、b1024); End End Else AI= FALSE; If (Rarity = = 2) then NPCtalk (Db1026); Else if (Rarity = = 3) then NPCtalk (Db1027); End End Return AI; End // ---大预言术的AI策略 Function BigPrediection ( ) NPCHP=GetNPCHP ( NPC112); PlayerHP= GetPlayerHP ( ); If (NPCHP<=PlayerHP/2) the

47、n Rarity=GetRanInrange (0,9); If (Rarity = =1) then NPCtalk (Db1028); If (GetRanInrange (0,1)= = 1) then AI= BigPrediection_1; Else AI= BigPrediection_2; End Else AI=FALSE; NPCtalk (Db1024); End Return AI; End ------------------------------------------

48、脚本主体------------------------------------------------------- Func_npc112 () ------------------------------------------------对话脚本-------------------------------------------------------- NPCtalk (Db1016); Playertalk (Db1017); NPCtalk (Db1018); ---------------------------------------

49、战斗脚本-------------------------------------------------------- // 主循环 // While (GetNPCHP (npc112)) do ---加百列未死亡时 If (ViewPepoleInRegional (Radius)) then ---发现目标 While (GetPlayerHP()) do ---玩家未死亡 NPCtalk (Db1019); Dir

50、 GetPlayerFaceDir ( ); ---获得需要面对玩家的方向 Dist=RanInRange (3, 20); ---随机获得加百列的移动距离 While (Dist) do If (BrightShield ( )) then Dir= GetPlayerFaceDir ( ); UseSkill (BrightShield); Else if (Resurrection ( )) then Dir= GetPlayerFaceDir

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服