版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、StoneAge2仕様書脚本说明书Ver更新日更新内容1.001.012005.10.25GetItems関数追加 添加函数GetItems 1.022005.11.09SACharSetEffect追加在SAChar上添加SetEffectMAP番号指定追加在MAP Evernt上添加指定事件编号指定事件、複数対応脚本文件、Area的文件复数对应1.032006.02.20SACharSetArea、SetDelete追加在SAChar上添加SetArea、SetDelete1.042006.03.06SACharBattle追加在SAChar添加Battle1.052006.03.08SA
2、CharSetSTONE、GetSTONE追加SAChar上添加SetSTONE、GetSTONE1.062006.03.10SACharGetItemCount追加在SAChar上添加GetItemCount1.072006.03.14SACharSetCreateGuildEvent、IsGuild追加在SAChar上添加SetCreatGuildEvent、IsGuild1.082006.04.24SACharGivePItem追加在SAChar上添加GivePItem1.092006.05.30SACharFade,DiaryMsg追加在SAChar上添加Fade、DiaryMsg1.
3、102006.06.05SACharGetPet系追加PetDuel追加在SAChar上添加GetPet系,添加PetDUel1.112006.06.07SACharGetItemsTarget追加在SAChar的GetItems上添加Target1.122006.06.09SAAreaDialogTalk追加在SAArea上添加DialogTalk1.132006.06.16SACharCrossFadeaction追加在SAChar上CrossFade追加action1.14SAWorldGetGlobalSecond追加在SAWorld上添加GetGlobalSecondSachar,S
4、AArea,SAWorld,SystemMessage追加在SAChar,SAArea,SAWorld上添加SystemMessage。1.152006.7.12SACharIsEquipItem,IsEquipPart追加在SAChar上添加 IsEquipItem,IsEquipPart1.162006.9.1SACharSetPetHP,ENG,ROy,STS,MOO,HGR追加在SAChar上添加 SetPetHP,ENG,ROy,STS,MOO,HGR1.172006.9.27SACharGetEventItem DropEventItem在SAChar上添加GetEventItem
5、 DropEventItemSAWorldGetWorldFlag SetWorldFlag在SAWorld上添加GetWorldFlag SetWorldFlagSAChar BossBattle在SAChar上添加BossBattleSACharGivePitemSAME時ItemBox探査追加SAArea GetExpRate SetExpRate追加1.182006.10.6SACharGetEventItem,DropEventItem装備品除SAChar SetAction追加SAChar SetEventMove追加1.192006.10.18SACharPetRevival在S
6、AChar上添加PetRevivalSAChar PetRevivalCountSAChar上添加PetRevivalCountSAChar WatchTournamentSAChar上添加WatchTournamentSAChar PayTicket在 SAChar上添加PayTicketSAChar SendTournamentList在SAChar上添加SendTournamentListSAChar GiveShopPet追加在 SAChar上添加GiveShopPet1.202006.10.20SACharIsItemHaveSAChar IsEventItemHave 追加1.21
7、2006.10.24SACharTournamentPetRet追加SAChar IsTournamentEntry追加SACharIsParticipation追加1.222006.11.10SAChar GetPetIndexParamSACharGetPlayerIndexParamSAChar DenMove追加1.232006.11.17SACharSendNextGameMsg追加1.242006.11.27SACharDropGuildStone追加1.302006.11.30SACharInitGuildStoneData追加SACharIsGuildCreate追加SACha
8、rNominationTalk追加1.312006.12.12SAWorldDiffMsec追加1.322007.1.12SAChar GetGiuldPartnerData 追加SAChar Battle,BossBattle CallBack時,逃追加1.332007.1.26SAChar SetDungeonNo追加1.342007.2.9SAWorldGetItemCategory追加1.352007.4.10SAChar SendAniCGNo 追加1.362007.12.19SAChar GetPlayerActionSetPlayerAction 追加SAWorldGetLoca
9、lTime追加1.372008.5.7SAChar SelDialog追加1.382008.5.13SACharDenObjPresentSAArea AllPlayerWarpSAArea HitCheck追加1.392008.7.30SACharGetPlayerNameSACharAddCharExpSAChar AddPartyExp 追加1.402008.8.4SACharGetDenSizeSACharDenSizeChangeSAChar CreateRDungeon 追加1.412008.11.13SACharGuildCreateSACharGuildCreateItemGi
10、ve追加StoneAge2仕様 (StoneAge2脚本式样)StoneAge2(以下SA2)仕様、仕様記載。NPC、等使用。言語 C言語組込言語Lua 5.0.2使用。本文记述StoneAge2(以下SA2)中使用到的脚本的使用。脚本使用于游戏服务器的NPC、事件等。脚本语言使用嵌入C语言的【Lua 5.0.2】语言。主程序API(Lua型)PlayerNPC(Lua)World起動(启动)参照設定全体構成図 整体构成图MAP(地图编辑器)(配置名前)(配置、命名)NPC関数出力WorldArea参照、设定 函数输出構成 脚本文件构成 global文件 global.lua 処理 world
11、处理 world.lua (、NPC等) xxxxx.lua 又 xxxxx_%.lua 区域文件(地区、NPC等)xxxxx0番号 %09数字 XXXXX是填充的地区编号 %是从09的数字。 文字(UTF-8) 文字代码是(UTF-8) 、起動時読込。Global、world文件在启动时导入。 MAP読込時(通常起動時)読込区域文件是MAP导入时(通常是启动时)才被导入 追加場合、中 dofile 関数実行。 想添加文件时,执行各个文件中的dofile函数。構成(Lua構成)既定函数、变量既定関数変数对象构成(Lua表格构成)独自定義関数変数GLOBAL单独定义函数、变量TalkEventD
12、ailycountOBJ2NPC1HourlyP_20_23Area1Area2World对象Lua関数 Lua函数、登録一覧、Area中身渡。区域文件通过Area表格内容传递在该区域登陆了的对象的一览表。 l 名命名方法 对象名的命名方法MAP上ID 对象类型+MAP编辑器上的IDType 对象TypeNPCNpc NPCNpc Obj MAP Object Obj-Area1 = Npc1 = ,Npc2 = ,Obj3 = ,-各処理、関数定義(関数出力MAP)行各个处理时根据函数定义的(MAP编辑器负责函数的输出)进行。関数形式函数的形式function areaname.object
13、name:event( )例1NPC1番 (区域1的NPC1号的点击事件)function Area1.Npc1:Event(obj)self、割当(左部分) 在Self分配对象的表格(分号的左边)各変数、及変数設定、出力API通行对各个对象的变量的访问,及变量的设定根据主程序,通过输出的API进行。 禁止事項 (禁止事项) 関数中処理止(Sleep)。全体止。在函数中停止(sleep)处理。游戏服务器整个停止。 初期化関数以外、定義作成(予測初期化関数用意)在初始函数以外撰写定义。(用初始函数准备好首先要被预测的) 毎回、他読込。(解析時間)每次都会导入其他的脚步文件。(分析需要耗时)例子代
14、码- MAP生成関数 -由MAP编辑器生成的函数- 初期化関数 -初始函数- 初期位置 Area(11) x:25 y:82 -初期位置Area(11)x:25 y:82-function Area1.npc1:Init(obj)rawest(self, Z, 1);- 自分変数Z=1追加 return 1 自己的表格添加变量Z=1end- MAP生成関数 -MAP 编辑器生成的函数- 関数 -click event函数- 初期位置 Area(11) x:25 y:82 -初始位置 Area(11)x:25 y:82-function Area1.npc1:Event(obj,player)l
15、ocal x, yx,y = char.pos(obj)- 現在位置取得获得现在的位置print( x=.x,y=.y,Z=.z)char.setpos(obj, x+2, y+3)- 現在位置設定 设定现在的位置 return 1end Event関数、引数obj(NPC,)、player () 他関数引数obj(NPC,)。只有Event函数,可作为obj(NPC,MAP object)、player(玩家)变量。定義関数定义函数系統別MAP、登録可能(起動可能)関数定義。按系统分类,定义由Map编辑器输出的可登陆(取决于主程序的启动可能)参数。NPC、 NPC,object関数名名説明I
16、nit初期化初始化起動時一度呼出関数。定義等行启动时只调用一次的函数。进行表格的定义等。EventEvent(事件)等時呼出对象被点击时,从玩家等那里调出。Loop実行循环执行中毎回呼出(間隔指定)循环中每次被调出(指定间隔)Hourly毎時每小时毎時呼出每小时被调出Quarterdaily毎時間帯変化每段时间变化朝、昼、夕、夜、変化時呼出在早上中午傍晚夜晚,变化时被调出。Daily毎日每日毎日呼出每日被调出(MAP) Area (MAP event)関数名名説明Init初期化初始化起動時一度呼出関数。定義等行启动时调出一次的函数。进行表格的定义等。Loop実行循环执行中毎回呼出(間隔指定)循
17、环中每次都被调出(指定间隔)Hourly毎時每小时毎時呼出每小时被调出Quarterdaily毎時間帯変化每个时间段变化朝、昼、夕、夜、変化時呼出朝午晚等变化时调出Daily毎日每天毎日呼出每天调出Event%Event (事件)該当Map番号時呼出%: 番号适当的Map Event编号时调出%:event编号P_xx_yy場所场所event該当箇所対処理発生時呼出xx: x座標 yy: y座標发生对适当地方的处理时调出xx:x坐标 yy:y坐标 world evernt関数名名説明Init初期化初始化event起動時一度呼出関数。定義等行启动时只调出一次的数据。进行表格的定义等。Loop実行
18、循环执行中毎回呼出(間隔指定)循环中每次被调出(指定间隔)Hourly毎時每小时毎時呼出每小时调出Quarterdaily毎時間帯変化每个时间段变化朝、昼、夕、夜、変化時呼出朝午夕夜,变化时调出Daily毎日每天毎日呼出每天调出APILua、値取得、変更API。系統別Lua起動時、登録。从Lua脚本获得、更改主程序的访问值的API。按系统分类启动Lua的主程序时,登陆到global 表格。Ex)座標取得- SAChar分類GetPos関数呼 x,y = SAChar.GetPos(obj) 获得角色的坐标。 -呼出SAChar分类的GetPos函数 X,y=SAChar.GetPos(obj)
19、系統分類 (系统分类)API以下系統分類。API分为以下系统。名Table分類種別分类种类説明说明SAChar 角色、NPC、等取得設定获得,设定玩家、NPC、宠物、object等。SAAreaArea単位取得設定以area单位获得/设定SAWorldWorld取得設定在world上获得、设定SAUt实用程序C言語定義類用C语言定义的utility实用程序実装済未実装安装完毕未安装SAChar API SAChar角色API列表関数名函数名説明引数参数戻値返回值GetType取得 角色类型的获得ObjTypeGetIDID取得 角色ID的获得ObjIdGetPos座標取得 获得坐标ObjX,Y
20、GetMapMAP番号取得 获得MAP编号ObjMapNoGetName名前取得 获得名字Obj,TargetNameGetEventFlag取得 获得事件标记Obj,Target,FlagNoValueGetTempEventFlag一時取得 获得暂时的事件标记Obj,Target,FlagNoValueGetSpirit所持精霊取得 获得所持有精灵Obj,Target,SpiritNoBoolGetLV取得 获得登记Obj,TargetLvGetHPHP取得 获得HPObj,TargetHPGetSTM気力取得 获得气力Obj,TargetSTMGetPetType所持種族取得 获得所持宠
21、物种类Obj PlayerTarget,PetNoPetTargetGetPetCount所持数取得 获得所持宠物Obj,PlayerTargetCountGetPetLV所持取得 获得宠物等级Obj,PlayerTarget,PetTargetPetLvGetPetHP所持HP取得 获得宠物HPObj,PlayerTarget,PetTargetPetHPGetPetROY所持忠誠取得 获得宠物忠诚度Obj,PlayerTarget,PetTargetPetROYGetPetHGR所持空腹取得 获得所持宠物空腹Obj,PlayerTarget,PetTargetPetHGRGetPetMOO
22、所持機嫌取得 获得所持宠物的心情Obj,PlayerTarget,PetTargetPetMOOGetPetSTS所持取得 获取所持宠物压力值Obj,PlayerTarget,PetTargetPetSTSGetPetENG所持疲労取得 获得所持宠物的疲劳值Obj,PlayerTarget,PetTargetPetENGGetPetName所持名前取得 获得所持宠物的名字Obj,PlayerTarget,PetTargetPetNameGetPetMaxLv所持最高Lv取得 获得所持宠物的最高LVPlayer,TargetMaxPetLvGetPartyCount人数取得 获得团队人数ObjC
23、ountGetStone所持取得 获得所持石币ObjpStoneGetStartVillage出身地村返 返回出神地的村落Player,TargetMapNoGetPetIndexParam取得 获得宠物的参数Player,Target,PetIndex,ParamIndexValueGetPlayerIndexParam取得 获得玩家的参数Player,Target,ParamIndexValueGetItems所持検査 道具所持检查ObjCountGetEventItem所持数取得 获得event道具所持数Player,TargetItemCountGetMoveCount自動移動参照座標
24、返 返回参照自动移动数据的坐标的指标(index)ObjCountGetGuildPartnerData取得 群队的搭档的数据获得Player,Target,IndexValueSetAction変更 变更动作Obj,Player,X,Y,Direction,ActionNo-SetPos移動 移动Obj, X,Y,Directionection,action-SetArea移動 Area移动Obj, MapNo,X,Y,Direction,action-SetHPHP設定(相対値) HP设定(相对值)Obj,Target,Value-SetSTM気力設定(相対値) 气力设定(相对值)Obj,
25、Target,Value-SetPetHP所持HP設定 所持宠物HP设定Player,Target,PetIndex,Value,Option-SetPetENG所持疲労度設定 所持宠物疲劳度设定Player,Target,PetIndex,Value,Option-SetPetROY所持忠誠設定 所持宠物忠诚设定Player,Target,PetIndex,Value,Option-SetPetHGR所持空腹設定 所持宠物空腹设定Player,Target,PetIndex,Value,Option-SetPetMOO所持機嫌設定 所持宠物心情设定Player,Target,PetIndex
26、,Value,Option-SetPetSTS所持設定 所持宠物压力设定Player,Target,PetIndex,Value,Option-SetEventFlag操作 event 标记操作Obj,Target,FlagNo,Value-SetTempEventFlag一時操作 暂时event标记操作Obj,Target,FlagNo,Value-SetAppear表示 显示Obj,MapNo,X,Y,Directionection,Action-SetDelete消去 消去Obj-SetEffect実行 执行effect(效果?)-SetMoveData移動設定 移动数据的设定Obj,N
27、o-SetMoveCount移動設定 移动计算的设定Obj,Count-SetMoveNext次移動移動 往下面的移动数据的移动Obj-SetEventMove特定NPC移動送信 向特定玩家发送NPC移动信息Player,Obj,MoveNo,CallbackObj,CallbackNo,Speed-SetStone設定 石币的设定Objp-SetCreateGuildEvent設立 群队的设立Player,Target-GiveItem渡 传递道具Obj,Target,ItemNoBoolGivePItem同渡给团队成员传递相同的道具Obj,Target,DuplicateFlag,Call
28、backNo,ItemCount,ItemNo,-GivePet渡 给宠物Obj,Target,PetNo,PetLvBoolGiveShopPet有料販売用 渡 给付费买卖用的宠物Obj,Target,PetNo,PetLvBoolDropItem取 取得道具Obj,Target,ItemNoBoolDropEventItem取 取得活动道具Player,TargetItemCountDialog汎用表示 通用对话的显示Player,CallbackNo,Party,TimeDefaultButton,Buttons,Message-DialogTalk会話表示 对话框的显示Obj,Mess
29、age-NominationTalk指定NPC表示向指定NPC显示消息。Obj,Player,Message-DefaultMessage会話未設定時表示显示对话未设定时的默认消息。Obj-SendNpcActionNpc変更伝達向玩家转述NPC动作的变更。Obj,Player,ActionNo-SendTournamentList表閲覧浏览淘汰赛的联盟表Player,OptionResultSendNextGameMsg次回情報閲覧 阅览下次淘汰赛信息Player-SendAniCGNo画像表示 显示画像Player,Target,ImageNo,X,Y,ButtonX,ButtonY-Ba
30、ttle戦闘 战斗Player,Target,CallbackNo,PartyNo,BattleMapNo,Surprise,WeatherpBoolPetDuelNPC 跟NPC的宠物对决Player,CallbackNo,EnemyPartyNo,BattleMapNo,Surprise,WeatherBoolBossBattle(大恐竜)戦闘 跟大恐龙的战斗Player,CallbackNo,BattleMapNo,BossNo,BossLvBoolIsGuild加入済有無 是否已加入群队PlayerBoolIsGuildCreate設立 能否建立群队PlayerBoolIsItemHa
31、ve所持 是否持有道具Player,Target,ItemNo,Equip,OptionBoolIsEventItemHave所持是否持有event道具Player,Target,ItemNo,Equip,OptionBoolIsEquipPart指定位置装備 在指定位置有否装备Player,Target,TypeBoolIsEquipItem装備 是否装备了道具Player,Target,ItemNoBoolIsPerticipation参加情報取得 获得淘汰赛参加信息PlayerIntIsTournamentEntry参加 是否参加淘汰赛PlayerIntPetRevival転生 宠物的转
32、生PlayerIntPetRevivalCount転生可能数取得 获得可转生的宠物数PlayerCountDenMove別村移動 将家往别的村移动Player,VillageNo-ChatMsg表示在玩家的聊天记录里显示消息Player,Target,Color,Message-SetDiaryMsg日記書込 写日记Player,Message-ResetParam重新设定玩家的参数Player,TypeIntSystemMessage表示 显示系统消息Obj,Player,Target,Color,Message-InitGuildStoneData入手処理 获得群队石币的处理Player,
33、Target,PointNo-DropGuildStone没収処理 没收群队石币的处理Player-DelNpcLoopLoop呼出解除 取消循环event的调出Obj, ID-PayTicket投票券換金 淘汰赛投票券的变卖PlayerResultWatchTournament観戦 淘汰赛的观战Player,HallResultTournamentPetRet参加受取参加淘汰赛宠物的接收PlayerIntSetDungeonNo生成番号設定 设定生成地牢编号Player,DungeonNoBoolSAAreaAPI SAArea Area API列表 関数名函数名称説明引数参数戻値返回值Ge
34、tWeather天候取得 天气的获得ObjweatherSetWeather天候変更 天气的更改Obj,Weather-ChangeLayer切替 event layer的转换Obj,LayerFlag-PutItem置 摆放道具Obj,ItemNo,x,y,Time-SendMessage内全員(自分除)汎用送向Area内全部玩家(除了自己)发送通用消息Obj,Message-SetEncountEnable敵出現ON/OFF Map敌人出现的on/offObj,EncountFlag-SetEncountTable操作 encount table操作Obj,EncountNo-GenMap
35、生成 地图生成?-LogLua.htm出力 向Lua。Htm输出logObj,Message-DialogTalk内NPC会話 Area内的NPC的对话Obj,Message-Dialog内会話 Area内的object的对话Obj,Player,CallbackNo,PartyFlag,Time,DefaultButton,Buttons,Message-SystemMessage内全員(自分含)汎用送向Area内的全部成员(包括自己)发送通用消息Obj,Message-GetExpRate経験値倍率取得 获得经验值的倍率ObjExpRateSetExpRate経験値倍率変更 更改经验值倍率
36、Obj,ExpRate-ReMakeDungeon再生成 重新生成任意地牢DungeonNo-SetEffect画面 画面效果Obj,Layer,Effect-SAWorldAPI SAWorld world API 列表関数名(函数名称)説明引数(变量)戻値(返回值)GetArenaState状態取得 获得淘汰赛的状态StateGetArenaCount開催回数取得 获得淘汰赛的举办届数CountGetTournamentName開催名取得 获得淘汰赛的举办名称NameGetGameName名取得 (获得淘汰赛的名称)第?回?杯 (第?回XX杯)NameGetDay現在日付取得 获得当前的日
37、期DayGetTime現在時間取得 获得现在的时间hour,min,secGetItemCategory番号取得 获得道具的种类编号ItemNoGetPlayers現在数取得 获得当前登录用户数PlayersGetString定義済文字列取得 获得已定义字符串Type,NostringGetGlobalSecond現在秒数取得 获得当前的秒数TotalSecondGetWorldFlag取得 获得World FlagFlagNoValueSetDay現在日付設定 当前日期的设定-SetTime現在時間設定 当前时间的设定-SetWorldFlag設定 World Flag的设定FlagNo,F
38、lagValue-SendMessage全員汎用送 发送全部角色通用的消息Message,option-CloseAll接続切 断开所有角色的连接-SystemMessage全送信 向所有玩家发送消息-Log出力 Log输出-DiffMSec指定日時現在差求 求出从指定日期时间开始到现在的差Year,Month,Day,Hour,Min,SecMSec SAChar関数説明 SAChar函数说明GetType(取得) GetType(角色类型的获得)GetType(obj)引数 (变量)objUSERDATA 角色Object戻値 (返回值)typeintint型返将角色类型用Int型反馈説明0 0玩家1 NPC 1NPC2 - 2宠物3 - 3道具GetID(ID取得)角色ID的获得GetID(obj)引数 (变量)ObjUSERDATA 角色Object戻値 (返回值)idunsigned longID返返回角色ID説明GetPos(取得)获得角色位置x,y=GetPos(obj)引数 (变量)ObjUSERDATA角色O
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年高职医院管理(医院运营优化)试题及答案
- 100MWh级储能电站试点示范项目可行性研究报告
- 建筑防雷引下线焊接质量管控要点
- 掘进机司机培训考试题及答案
- 青少年飞盘竞技培训班拓客案
- 交管12123机动车驾驶证学法减分新版考试题目及答案
- 某造纸厂员工激励制度
- 搅拌站岗前安全培训试题及答案
- 建筑工程-轮胎式装载机操作安全技术交底表格
- 某家具厂木材烘干办法
- 集合的基本运算(课件)
- 2023年上海市秋季班高二语文讲义(秋上教师版)
- 《无人机组装与调试》第8章 无人直升机的组装与调试
- 浙教版七年级数学下册全册课件
- 高中英语 译林版 必修三 Unit 3 The world online Unit3第2课时Reading
- 把政治监督摆在突出位置不断推进政治监督“三化”PPT大力推进政治监督三化PPT课件(带内容)
- GB/T 2693-2001电子设备用固定电容器第1部分:总规范
- 中压综保说明书-西门子7sj68中文v41.7nxpowerlite
- 说课课件-函数的极限(最后版)
- 加强门诊服务管理-提高门诊服务质量(岗前培训)课件
- 和而不同心怀天下-《答司马谏议书》《与王介甫书》《与王介甫第三书》联读
评论
0/150
提交评论