游戏简单任务脚本示例luaWord格式文档下载.docx

上传人:b****5 文档编号:17448856 上传时间:2022-12-01 格式:DOCX 页数:20 大小:62.71KB
下载 相关 举报
游戏简单任务脚本示例luaWord格式文档下载.docx_第1页
第1页 / 共20页
游戏简单任务脚本示例luaWord格式文档下载.docx_第2页
第2页 / 共20页
游戏简单任务脚本示例luaWord格式文档下载.docx_第3页
第3页 / 共20页
游戏简单任务脚本示例luaWord格式文档下载.docx_第4页
第4页 / 共20页
游戏简单任务脚本示例luaWord格式文档下载.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

游戏简单任务脚本示例luaWord格式文档下载.docx

《游戏简单任务脚本示例luaWord格式文档下载.docx》由会员分享,可在线阅读,更多相关《游戏简单任务脚本示例luaWord格式文档下载.docx(20页珍藏版)》请在冰豆网上搜索。

游戏简单任务脚本示例luaWord格式文档下载.docx

1、该任务中任何死亡都做正常死亡处理,死亡后需要重新从法坛进入目的地

2、当每拿到半颗天使之心,则该地图不可再次进入,输入坐标无效

3、当两个半颗天使之心都已获得,则玉符自动消失

4、两个场景地图不保存信息,即玩家在两个场景地图中的任一个下线后,再次上线则回到法坛前

5、该任务不可重复,每个用户只能完成一次

6、该任务接受后需要在任务日志中记录,用户可以随时查询,任务完成后清除任务日志

7、用户获得的奖励需要做log,方便查询

要求:

1、写出任务基本流程,并附流程图

2、按照任务编写一份伪脚本

其他说明:

1、所有所需的关键词、变量、以及函数由答题者自行定义,并对所定义的词、变量、函数等作出解释说明

2、编写格式可以按自己的方式编写,但需作出必要的说明

3、在战斗脚本部分编写,可任一选择一个战斗进行编写,也可以全部编写

 

“老道炼药”任务策划案(初稿)

一任务基本流程

领取任务:

1.玩家去道观(21,104)找老道对话,获得玉符,任务开始。

做任务:

2.玩家去道观所在的法坛。

3.玩家在法坛使用玉符,打开通道,输入A坐标,来到光明大殿杀死加百列,获得半颗天使之心。

4.玩家在法坛使用玉符,打开通道,输入B坐标,来到黑暗大殿杀死路西法,获得半颗天使之心。

5.玩家带着2个半颗天使之心找老道对话。

6.玩家奉命炼制天使之心,去找材料黑狗血。

还任务:

7.玩家带着天使之心找老道对话,获得人参果,任务完成。

任务流程图:

二加百列战斗脚本流程图

N

YY

NN

Y

NY

AI决策流程图:

三脚本相关

1.函数定义:

GetMissionFlag(PlayerID,MissionID)---读取玩家某任务的任务完成标识

GetMissionSpace()---读取玩家当前已接任务总数,

---未达上限返回TURE,否则返回FALSE

GetMissionName(MissionFlag)---读取指定任务的任务变量名

GetMissionValue(MissionFlag)---读取指定任务的任务变量名对应的变量值

TestMissionFlag(Flag)---检测玩家任务完成标识表的状态,有变化则返回---对应任务的任务编号,否则返回FALSE

GetMissionText(MissionID,MissionFlag)---根据任务编号和任务完成标识读取任务日志说明

GetPlayerLevel(PlayerID)---读取玩家当前等级

GetPlayerName(PlayerID)---读取玩家游戏ID的呢称

GetItem(ItemID)---玩家获得指定物品

LoseItem(ItemID)---玩家失去指定物品

GetMissionGain(MissionID)---玩家获得某任务的任务奖励

LookforItem(ItemID,ItemNumber)---追踪玩家身上携带的某物品,返回TURE或FALSE

PlayAnim(NPC/Player,AnimID)---播放指定的精灵动画

NPCtalk()---显示NPC当前对白

Playertalk()---显示玩家当前对白

ERROR()---提示错误的输入信息

GetPlayerHP(PlayerID)---读取玩家当前HP值

GetNPCHP(NPCID)---读取NPC当前HP值

GetPlayerDroidX()---读取玩家当前X坐标

GetPlayerDroidY()---读取玩家当前Y坐标

GetPlayerDroidDir()---读取玩家当前面向

GetPlayerToNPCDist()---读取玩家距NPC的当前距离

GetNPCDroidX()---读取NPC当前X坐标

GetNPCDroidY()---读取NPC当前Y坐标

GetNPCDroidDir()---读取NPC当前面向

MoveNPCDroid(Dir,Dist,,Speed)---根据给定的面向,距离和速度移动NPC

GetStateTime(FreqtTime)---计时器根据计数循环返回FALSE或1

UseSkill(SkillID)---使用指定的技能

OverSkill(SkillID)---取消指定的技能

ViewPepoleInRegional(radius)---查看区域radius内目标,返回TURE或者FALSE

GetSystemTime()---读取当前系统时间,单位秒

GetRanInRange(Min,Max)---获得[Min+1,Max-Min+1]范围内的任意整数值

ChangeScence(to,from)---由from场景切换到to场景

GetScenceDriod(DroidX,DroidY)---读取玩家输入的X,Y坐标

2.附相关NPC对白配置文件:

NPCdb.text(对白,文件后缀名不知道是什么类型的)

-------------------------------------------------NPC对白编号---------------------------------------------------

//

Dn660=“你输入的是错误的坐标,请重新输入。

Db1000=“XXX,你能力不够,还是去外面磨炼吧。

Db1001=“XXX,贫道有件事想请你帮忙。

Db1002=“道长,啥事?

Db1003=“是这样,我炼药需要一个叫做天使之心的材料,这个材料在加百列身上有半颗,在路西法身上有半颗,你能帮我去取来吗?

Db1004=“没问题。

Db1005=“XXX,快去做你的事情吧。

Db1006=“XXX,事情办的怎样了?

Db1007=“抱歉,道长,我决定放弃了。

Db1008=“办好了。

Db1009=“太好了,XXX你真是少年英豪,贫道一直很看好你,恩,这个人参果送给你,希望你不要辜负贫道一番心意。

Db1010=“道长你太客气了。

哦,对了,顺便问下,道长你准备炼什么灵丹妙药呀?

Db1011=“没啥用,就是看那鸟人表面道貌岸然,其实一肚子男盗女娼的样子不爽,我正好最近有点闲,拿天使之心不过是想炼一份给自己养的牛除牛虱的药而已。

Db1012=“XXX,贫道要的是完整的天使之心,你用狗血去融合了这两个半颗天使之心,使之变成一颗完整的天使之心,然后再找我吧。

Db1013=“XXX,不要和贫道开玩笑了,快点去完成吧。

Db1014=“XXX,很遗憾你放弃了。

Db1015=“XXX,很高兴见到你,上次多谢你帮忙。

Db1016=“嘎嘎,哪来的异教徒,还不向仁慈的主忏悔?

Db1017=“我呸!

你丫的狂什么,不过是一个长着鸡翅膀的不男不女的鸟人。

Db1018=“气死我也,主会原谅我的,受死吧!

Db1019=“嘎嘎,看你往哪跑!

Db1020=“嘎嘎…”

Db1021=“别得意了,战斗才刚刚开始。

Db1022=“嘎嘎,很失望吧。

Db1023=“该死,不可能的事情,我居然被打败了!

Db1024=“可恶!

Db1025=“难以置信,我会输给一个卑贱的人类么?

Db1026=“别妄想反抗了,快来乖乖受死吧!

Db1027=“还在挣扎,也好,我就来导演一场猫戏老鼠的精彩演出,嘎嘎!

Db1028=“觉悟吧,你死定了。

3.任务脚本:

Mission.lua

--------------------------------------------------导入API-----------------------------------------------------

intHAPI_GetMissionFlag(lua_state*pluastate)

intHAPI_GetMissionName(lua_state*pluastate)

intHAPI_GetMissionValue(lua_state*pluastate)

intHAPI_TestMissionFlag(lua_state*pluastate)

intHAPI_GetMissionText(lua_state*pluastate)

-----------------------------------------------脚本主体--------------------------------------------------------

Func_Mission()

//

;

If(TestMissionFlag())then

If(TestMissionFlag()==01)then---记录新任务信息

Flag=TestMissionFlag();

Mission={};

Mission[Flag]={GetMissionName(Flag)=GetMissionValue(Flag)};

Else

Mission[TestMissionFlag()]=nil;

---删除指定任务信息

End

Elseif(LookforMissionText())then---查询指定任务日志

Print(GetMissionText(MissionID,MissionFlag));

Elseif(LookforMissionTable())then---查询玩家当前任务列表信息

Print(Mission);

End

End

4.老道(npc47)的脚本:

npc47.lua

intHAPI_GetMissionSpace(lua_state*pluastate)

intHAPI_GetPlayerLevel(lua_state*pluastate)

intHAPI_GetPlayerName(lua_state*pluastate)

intHAPI_GetItem(lua_state*pluastate)

intHAPI_GetMissionGain(lua_state*pluastate)

intHAPI_LookforItem(lua_state*pluastate)

intHAPI_PlayAnim(lua_state*pluastate)

intHAPI_NPCtalk(lua_state*pluastate)

intHAPI_Playertalk(lua_state*pluastate)

-------------------------------------------------常量声明--------------------------------------------------------

Level=50

------------------------------------------------对话脚本--------------------------------------------------------

Func_npc47()

#defineXXXGetPlayerName(PlayerID);

If(GetPlayerLevel(PlayerID)<

Level)then

NPCtalk(Db1000);

MissionFlag=GetMissionFlag(PlayerID,Mission112)--读取玩家该任务的完成标识

If(MissionFlag==00)then---玩家没有领取过该任务If(GetMissionSpace())then---玩家还可以领取任务

NPCtalk(Db1001);

Playertalk(Db1002);

NPCtalk(Db1003);

Playertalk(Db1004);

GetItem(Item250);

--获得道具玉符

Else---玩家领取任务已达上限

NPCtalk(Db1005);

Elseif(MissionFlag==01)then

NPCtalk(Db1006,Db1007,Db1008);

If(Answer==Db1007)then

MissionFlag=10;

Elseif(LookforItem(Item368,1))then---察看玩家身上是否携带天使之心

NPCtalk(Db1009);

Playertalk(Db1010);

NPCtalk(Db1011)

GetMissionGain(Mission112);

--获得任务奖励(人参果)

Elseif((LookforItem(Item366,1))then

---查看玩家身上是否携带2个半颗天使之心

If((LookforItem(Item367,1))then

NPCtalk(Db1012);

Else

NPCtalk(Db1013);

End

End

Elseif(MissionFlag==10)then

NPCtalk(Db1014);

Elseif(MissionFlag==11)then

NPCtalk(Db1015);

5.加百列(npc112)的脚本:

npc112.lua

intHAPI_Playertalk(lua_state*pluastate)

intHAPI_ERROR(lua_state*pluastate)

intHAPI_GetPlayerHP(lua_state*pluastate)

intHAPI_GetNPCHP(lua_state*pluastate)

intHAPI_GetPlayerDroidX(lua_state*pluastate)

intHAPI_GetPlayerDroidY(lua_state*pluastate)

intHAPI_GetPlayerDroidDir(lua_state*pluastate)

intHAPI_GetPlayerToNPCDist(lua_state*pluastate)

intHAPI_GetNPCDroidX(lua_state*pluastate)

intHAPI_GetNPCDroidY(lua_state*pluastate)

intHAPI_GetNPCDroidDir(lua_state*pluastate)

intHAPI_MoveNPCDroid(lua_state*pluastate)

intHAPI_GetSystemTime(lua_state*pluastate)

intHAPI_GetRanInRange(lua_state*pluastate)

intHAPI_GetStateTime(lua_state*pluastate)

intHAPI_UseSkill(lua_state*pluastate)

intHAPI_ViewPlayerInRegional(lua_state*pluastate)

//Direction//

NORTH=0;

SOUTH=2;

EAST=4;

WEST=6;

-------------------------------------------------------------------------------------------------------------------

OriginalX=12;

--加百列原来的X坐标

OriginalY=20;

---加百列原来的Y坐标

Speed=10;

---加百列的移动速度

Radius=20;

---加白列可以察觉目标的区域半径

HP=5000;

---加百列的生命满值

Rarity=0;

---指定的几率值

FreqAttack=1;

---加百列的攻击频率(s)

AttackDist=4;

---加百列的有效攻击距离

OrdinaryAttack=1;

---普通攻击

BrightShield=121;

---光明护盾

BrightState=0;

---光明护盾状态

CD=5;

---光明状态有效持续时间(s)

Therapy=122;

---治疗术

Resurrection=123;

---复活术

Cout=0;

---加百列复活术已使用次数

BigPrediction_1=124;

---大预言术之时间凝固

BigPrediction_2=125---大预言术之时间倒流

-----------------------------------------------定义函数-------------------------------------------------------

//---获得需要面对玩家的方向

FunctionGetPlayerFaceDir()

NPCDroidX=GetNPCDroidX();

NPCDroidY=GetNPCDroidY();

PlayerDroidX=GetNPCDroidX();

PlayerDroidY=GetNPCDroidY();

If(NPCDroidX<

PlayerDroidX)then

ReturnEAST;

Else

RetuunWEST;

If(NPCDroidY<

PlayerDroidY)then

ReturnSOUTH;

Else

ReturnNORTH;

ReturnNORTH;

---

//---获得返回原处需要面对的方向

FunctionGetMoveBackDir()

OriginalX)then

Elseif(NPCDroidY<

OriginalY)then

Elseif(NPCDroidX>

ReturnWEST;

Elseif(NPCDroidY>

OriginalY)then

ElsereturnFALSE;

End

//---光明护盾的AI策略

FunctionBrightShield()---

If(BrightState==0)then

Rarity=GetRanInRange(0,9);

If(GetRanInRan

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 人力资源管理

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1