游戏乐悠悠网游开发网

标题: 绝对女神online源码研究笔记二 [打印本页]

作者: tianyalanzi    时间: 2012-2-26 08:30
标题: 绝对女神online源码研究笔记二
举例:水晶之城NPC [传送使者]雷欧
(1)在怪物数据表open_ch.smt中的数据
字段名  值
idx  115
modelID  31
aniSetType 64
tagModelID
tagMoveID
level  100
name  [传送使者]雷欧
document 把玩家移动到所需要&n地方的守护使者
phySize  1.000000
size  0
type  0
gen  0
maxRA  80000
maxSA  0
recoveryRARate 0
recoverySARate 0
attackAni -1
atkPhyMinDmg 1600
atkPhyMaxDmg 1600
atkMagMinDmg 1000
atkMagMaxDmg 1000
atkHitPower 4500
atkDelay 600
atkLength 140
atkRange 0
atkCriticalPro 2.000000
atkCriticalDmg 0
defPower 2419
defAvoidPower 3000
defPositiveRes 25
defNegativeRes 50
velocity 2.600000
stunTime 500
skillIdx
skillLevel
skillAni
skillNumber 0
exp  10000
genExp  5000
lootSE  20000
lootItem
pathFinding 40
optionGrade 0
rareItemGrade 0
mapIconType 7
defDamageReduce 0
atkDefAffectedDegree 0
mapDensityWeight 0
respawnTime 50000
AIScriptIdx 3
npcAIScriptIdx 14
physicalSize 1.000000
traceSize 40
recognizeSize 15
unreserved
(2)在水晶之城刷怪配置文件JA_Town_F_00.tbl中NPC [传送使者]雷欧的信息
// [荐龋急牢] 矫坷
SPAWN_IDX 16
ENTITY_TYPE NPC
WORLD_IDX 0
AI_TYPE 0
NPC_AI_TYPE -1
MONSTER_TABLE_IDX 115
NPC_TABLE_IDX -1
RESPAWN_TIME 5000
SUMMON_TIME 0
SMALL_ZONE_FLAG 0
SPAWN_ZONE_IDX_NUMBER 0
RANDOM_POSITION_NUMBER 1
SPAWN_POSITION 16450.00 13700.00 4271.00
SPAWN_ANGLE 0.00 90.00 0.00
SPAWN_WAYPOINT_NUMBER 0
(3)在脚本信息文件scriptinfo.tbl中
A、对照怪物信息可知NPC的通用智能脚本号AI_SCRIPT为3,对应文件为:
AI_SCRIPT
{
...
3 scripts/type4.SS  // [NPC傍侩]框流捞瘤臼澜
...
}
B、对照怪物信息可知NPC的对应脚本文件号为14,对应文件为:
NPC_SCRIPT
{
...
14 scripts/npc_sio.ss
...
}
(4)智能脚本文件type4.qst
; 力格   : 鸥涝 1 NPC
; 累己老磊  : 2003/01/07
; 荐沥老磊  :
; 汲疙   : (捞悼)捞悼窍瘤 臼澜
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; 捞悼窍瘤 臼绰 阁胶磐                    ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
PROCEDURE move
SetTimer( SLOW_TIMER );
SetMoveType( DISABLE_MOVE );
SetAIEvent( AI_MOVE );     ; 捞悼栏肺 捞亥飘甫 悸泼
ENDPROCEDURE
(5)NPC脚本文件npc_sio.qst
; 09/27
; 涅胶飘 NPC 矫坷
; 胶迄困摹 - 酒扼踞
; 扁瓷 - 措拳窍扁 (涅胶飘 ID 0 - 内夸棱扁 涅胶飘)

; 2003/09/23
; 累己磊 : 炼辆巢
; 矫坷
; 涅胶飘 0锅阑 啊瘤绊 乐澜
; 矫累
VAR G_TALKIDX  = -1;
PROCEDURE PROC_START
IF
IsMessageWating() == FALSE
THEN
SendMessage( 0 )   ; "很高兴见到你,年轻人,嗯~~那个什么来着,我在执行任务。我这个人啊!在一个地方呆不久,转悠转悠身体才能好一点啊!找我有事吗?"
  SendMessageButton( 0, 6 )  ; "交谈"
SendMessageButton( 1, 88 )  ; "移动"
SendMessageButton( 2, 2 )  ; "关闭"
ELSE
IF
  GetMessageSelect() == 0
THEN
  CALL PROC_TALK
ENDIF
IF
  GetMessageSelect() == 1

作者: GLDXufos    时间: 2014-6-24 10:37
只有研究,没有代码!




欢迎光临 游戏乐悠悠网游开发网 (http://bbs.yxlyy.club/) Powered by Discuz! X3.2