绝对女神源码研究笔记2

绝对女神源码研究笔记2

学习教程tuzi2014-07-02 23:12:46A+A-

相关链接:绝对女神全套源代码资源      绝对女神一键端

绝对女神源码研究笔记2 技术文章 gth 绝对女神 绝对女神源码研究笔记 学习教程 第1张

举例:水晶之城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 

THEN 

CALL PROC_TRANSFER_WITH_NPC 

ENDIF

IF 

GetMessageSelect() == 2 

THEN 

CloseMessage() 

ENDIF

ENDIF 

ENDPROCEDURE

PROCEDURE PROC_TRANSFER_WITH_NPC 

IF 

IsMessageWating() == FALSE 

THEN 

SendMessage( 0 ) ; “很高兴见到你,年轻人,嗯~~那个什么来着,我在执行任务。我这个人啊!在一个地方呆不久,转悠转悠身体才能好一点啊!找我有事吗?” 

SendMessageButton( 0, 97 ) ; 冰封溪谷 

SendMessageButton( 1, 98 ) ; 极地雪原 

SendMessageButton( 2, 99 ) ; 地下宫殿1层 

SendMessageButton( 3, 100 ) ; 地下宫殿2层 

SendMessageButton( 4, 101 ) ; 地下宫殿3层 

ELSE 

IF 

GetMessageSelect() == 0 

THEN 

MoveToBindingPosition( 25, 100 ); 

ENDIF

IF 

GetMessageSelect() == 1 

THEN 

MoveToBindingPosition( 26, 400 ); 

ENDIF

IF 

GetMessageSelect() == 2 

THEN 

MoveToBindingPosition( 27, 400 ); 

ENDIF

IF 

GetMessageSelect() == 3 

THEN 

MoveToBindingPosition( 28, 1200 ); 

ENDIF

IF 

GetMessageSelect() == 4 

THEN 

MoveToBindingPosition( 29, 5000 ); 

ENDIF 

ENDIF 

ENDPROCEDURE 

; ———————————————————— 

PROCEDURE PROC_TEMP_STORE 

OpenStore( 0 ); 

CALL PROC_NONE 

ENDPROCEDURE

PROCEDURE PROC_NONE 

ENDPROCEDURE

PROCEDURE PROC_TEMP_SKILL 

IF 

IsMessageWating() == FALSE 

THEN 

SendMessage( 0 ) ; “很高兴见到你,年轻人,嗯~~那个什么来着,我在执行任务。我这个人啊!在一个地方呆不久,转悠转悠身体才能好一点啊!找我有事吗?” 

SendMessageButton( 0, 11 ) ; 训练精神技能 

SendMessageButton( 1, 12 ) ; 训练风系技能 

SendMessageButton( 2, 13 ) ; 训练水系技能 

SendMessageButton( 3, 14 ) ; 训练土系技能 

ELSE 

IF 

GetMessageSelect() == 0 

THEN 

OpenSkillLevelUp( 0 ); 

CALL PROC_NONE 

ENDIF 

IF 

GetMessageSelect() == 1 

THEN 

OpenSkillLevelUp( 1 ); 

CALL PROC_NONE 

ENDIF 

IF 

GetMessageSelect() == 2 

THEN 

OpenSkillLevelUp( 2 ); 

CALL PROC_NONE 

ENDIF 

IF 

GetMessageSelect() == 3 

THEN 

OpenSkillLevelUp( 3 ); 

CALL PROC_NONE 

ENDIF

ENDIF 

ENDPROCEDURE 

; ———————————————————— 

; 涅胶飘 胶跑 眉农

;====================================================================== 

; 措拳 橇肺矫廉 

;====================================================================== 

PROCEDURE PROC_TALK 

IF 

CheckPlayerClass() == 2 ; 沥脚老锭 

THEN 

CALL PROC_QUEST_TALK 

ENDIF 

IF 

CheckPlayerClass() == 3 ; 官恩老锭 

THEN 

CALL PROC_QUEST_TALK 

ENDIF 

G_TALKIDX = 327 

CALL PROC_ALWAYS_TALK ; 老惑利 措拳 贸府 

ENDPROCEDURE

;====================================================================== 

; 老惑利 傍烹 措拳 橇肺矫廉 

;====================================================================== 

PROCEDURE PROC_ALWAYS_TALK 

IF 

IsMessageWating() == FALSE 

THEN 

SendMessage( G_TALKIDX ) ; 

SendMessageButton( 0, 2 ) ; 摧扁 

ELSE 

IF 

GetMessageSelect() == 0 

THEN 

CloseMessage() 

ENDIF 

ENDIF 

ENDPROCEDURE 

PROCEDURE PROC_QUEST_TALK 

IF 

CheckQuestStep( 2, -1 ) == TRUE ; 涅胶飘 0 矫累 

THEN 

CALL PROC_QUEST_0_PREPARE 

ENDIF 

IF 

CheckQuestStep( 2, 0 ) == TRUE ; 内夸狼 惑酒甫 掘绰吝 

THEN 

CALL PROC_QUEST_0_COMPLETE_CHECK 

ENDIF 

IF 

CheckQuestStep( 2, 1 ) == TRUE ; 扁粮 肯丰 纳腐 焊惑 贸府 

THEN 

CALL PROC_QUEST_0_COMPENSATION 

ENDIF 

IF 

CheckQuestStep( 2, 2 ) == TRUE ; 货肺款 肯丰贸府 

THEN 

CALL PROC_QUEST_0_END 

ENDIF

ENDPROCEDURE 

; 涅胶飘 霖厚 

PROCEDURE PROC_QUEST_0_PREPARE 

IF 

IsMessageWating() == FALSE 

THEN 

SendMessage( 1 ) ; 绢辑坷霸唱… 

SendMessageButton( 0, 7 ) ; 矫埃狼 捞赴俊 措秦 汞绰促. 

ELSE 

IF 

GetMessageSelect() == 0 

THEN 

CALL PROC_QUEST_0_START 

ENDIF 

ENDIF 

ENDPROCEDURE 

; 涅胶飘 矫累 

PROCEDURE PROC_QUEST_0_START 

IF 

IsMessageWating() == FALSE 

THEN 

SendMessage( 2 ) ; 矫埃狼 捞赴 

SendMessageButton( 0, 8 ) ; 备秦促 霖促 

SendMessageButton( 1, 9 ) ; 备秦促 林瘤 臼绰促 

ELSE 

IF 

GetMessageSelect() == 0 

THEN 

CALL PROC_QUEST_0_START_0 

ENDIF 

IF 

GetMessageSelect() == 1 

THEN 

CALL PROC_QUEST_0_START_1 

ENDIF 

ENDIF 

ENDPROCEDURE 

; 备秦促 霖促 

PROCEDURE PROC_QUEST_0_START_0 

IF 

IsMessageWating() == FALSE 

THEN 

SendMessage( 3 ) ; 绊缚匙. 磊匙 

SendMessageButton( 0, 2 ) ; 摧扁 

SetQuestStep( 2, 0 ); ; 涅胶飘 胶跑 0栏肺 悸泼 

SetQuestStatus( 2 ); ; 矫埃狼 捞赴 涅胶飘 矫累 

ELSE 

IF 

GetMessageSelect() == 0 

THEN 

CloseMessage() 

ENDIF 

ENDIF 

ENDPROCEDURE 

; 备秦促 林瘤 臼绰促 

PROCEDURE PROC_QUEST_0_START_1 

IF 

IsMessageWating() == FALSE 

THEN 

SendMessage( 4 ) ; 绢辑 备秦促 林霸 

SendMessageButton( 0, 2 ) ; 摧扁 

SetQuestStep( 2, 0 ); ; 涅胶飘 胶跑 0栏肺 悸泼 

SetQuestStatus( 2 ); ; 矫埃狼 捞赴 涅胶飘 矫累 

SendMessageButton( 0, 2 ) ; 摧扁 

ELSE 

IF 

GetMessageSelect() == 0 

THEN 

CloseMessage() 

ENDIF 

ENDIF 

ENDPROCEDURE 

; 掘绰 吝 

PROCEDURE PROC_QUEST_0_COMPLETE_CHECK 

IF 

;CheckQuestItem( 210, 2, 20 ) == TRUE ; 涅胶飘 酒捞袍 眉农 

CheckQuestItem( 210, 2, 10 ) == TRUE ; 040616 内夸狼 惑酒10俺肺 荐沥 

THEN 

;DeleteQuestItem( 210, 2, 20 ) 

DeleteQuestItem( 210, 2, 10 ) ; 040616 内夸狼 惑酒10俺肺 荐沥 

CALL PROC_QUEST_0_COMPLETE 

ELSE 

CALL PROC_QUEST_0_NOT_COMPLETE 

ENDIF 

ENDPROCEDURE 

; 肯丰窃 

PROCEDURE PROC_QUEST_0_COMPLETE 

IF 

IsMessageWating() == FALSE 

THEN 

SendMessage( 5 ) ; 绊缚匙. 抄 捞 拱贩拱贩 

SendMessageButton( 0, 2 ) ; 摧扁 

;AddItem( 209, 0, 0 ); ; 矫埃狼 捞赴 眠啊 

;AddLoot(1000, 0, 0, 0); ; 版氰摹 1000 眠啊 

AddLoot(500, 0, 0, 0); ; 040616 版氰摹 500 栏肺 荐沥 

;SetQuestStep( 2, 1 ) ; 涅胶飘 胶跑 1肺 悸泼 (OLD 滚怜) 

SetQuestStep( 2, 2 ) ; 涅胶飘 胶跑 2肺 悸泼 

CompleteQuest(2); 

ELSE 

IF 

GetMessageSelect() == 0 

THEN 

CloseMessage() 

ENDIF 

ENDIF 

ENDPROCEDURE 

; 肯丰窍瘤 臼澜 

PROCEDURE PROC_QUEST_0_NOT_COMPLETE 

IF 

IsMessageWating() == FALSE 

THEN 

SendMessage( 6 ) ; 磊匙啊 酒流 公攫啊甫 茫瘤 

SendMessageButton( 0, 2 ) ; 摧扁 

ELSE 

IF 

GetMessageSelect() == 0 

THEN 

CloseMessage() 

ENDIF 

ENDIF 

ENDPROCEDURE

; 捞固 肯丰窃 

PROCEDURE PROC_QUEST_0_END 

IF 

IsMessageWating() == FALSE 

THEN 

SendMessage( 7 ) ; 磊匙啊 酒流 公攫啊甫 茫瘤 

SendMessageButton( 0, 2 ) ; 摧扁 

ELSE 

IF 

GetMessageSelect() == 0 

THEN 

CloseMessage() 

ENDIF 

ENDIF 

ENDPROCEDURE 

;————————————————————– 

; 焊惑贸府 

;————————————————————– 

PROCEDURE PROC_QUEST_0_COMPENSATION 

IF 

IsMessageWating() == FALSE 

THEN 

SendMessage( 193 ) ; 焊惑贸府 措荤 

SendMessageButton( 0, 2 ) ; 摧扁 

ELSE 

IF 

GetMessageSelect() == 0 

THEN 

AddLoot(900, 0, 0, 0); ; 900狼 唱农甫 眠啊肺淋 

SetQuestStep( 2, 2 ) ; 涅胶飘 胶跑 2栏肺 悸泼 

CloseMessage() 

ENDIF 

ENDIF 

ENDPROCEDURE 

npc脚本的功能函数

#IsMessageWating() 

———————- 

IsMessageWating(); 

———————- 

返回值 : TRUE, FALSE 

- 返回是否有消息正在等待中

#SendMessage(1) 

———————- 

SendMessage(int msgIdx); 

———————- 

返回值 : 无 

- 发送对话

#SendMessageButton(2) 

———————- 

SendMessageButton(int btnSeqIdx, int btnMsgIdx); 

———————- 

返回值 : 无 

- 设置对话框按钮

#GetMessageSelect() 

———————- 

GetMessageSelect() 

———————- 

返回值 : 您选择的对话框按钮btnSeqIdx 

- 选择对话框按钮返回

#CloseMessage() 

———————- 

CloseMessage() 

———————- 

返回值 : 无 

- 对话结束

——- 以下为增加的功能函数 ———- 

#OpenStore(1) 

———————- 

OpenStore( int storeIdx ) 

———————- 

- 打开商店 

storeIdx : 商店编号

#CloseStore() 

———————- 

ClostStore() 

———————- 

- 商店关闭

#CheckQuestStep(2) 

———————- 

CheckQuestStep( int questIdx, int step ) 

———————- 

- 检测任务是否处于某个步骤 

questIdx : 任务编号 

step : 步骤

#SetQuestStep(2) 

———————- 

SetQuestStep( int questIdx, int step ) 

———————- 

- 设置任务当前的步骤 

questIdx : 任务编号 

step : 步骤

#CheckQuestItem(3) 

———————- 

CheckQuestItem( int questItemIdx, int questIdx, int number ) 

———————- 

- 检测是否有指定数量的指定任务物品 

questItemIdx : 任务物品编号 

questIdx : 任务编号 

number : 数量

#DeleteQuestItem(3) 

———————- 

DeleteQuestItem( int questItemIdx, int questIdx, int number ) 

———————- 

- 删除指定数量的指定任务物品 

questItemIdx : 任务物品编号 

questIdx : 任务编号 

number : 数量

#SetQuestStatus(1) 

———————- 

SetQuestStatus( int questIdx ) 

———————- 

- 设置任务状态 

questIdx : 任务编号

#ClearQuestStatus(1) 

———————- 

ClearQuestStatus( int questIdx ) 

———————- 

- 清除任务状态 

questIdx : 任务编号

#AddItem(4) 

———————- 

AddItem( int itemTableIdx, int optionFlag, int number, int meggageflag ) 

———————- 

- 增加物品 

itemTableIdx : 物品在物品表中的索引 

optionFlag : I can find the option for picking 

number : 数量 

meggageflag : 显示到客户端得消息

#DeleteItem(2) 

———————- 

DeleteItem( int itemTableIdx, int number ) 

———————- 

- 删除物品 

itemTableIdx : 物品在物品表中的索引 

number : 数量

#CompleteQuest(1) 

———————- 

CompleteQuest( int questIdx ) 

———————- 

- 设置任务已经完成 

questIdx : 任务编号

#OpenSkillLevelUp(1) 

———————- 

OpenSkillLevelUp( int genType ) 

———————- 

- 技能升级 

genType : 技能类型

#OpenBinding(1) 

———————- 

OpenBinding( int bindingIdx ) 

———————- 

- 是否打开绑定 

bindingIdx : 绑定编号

#AddLoot(4) 

———————- 

AddLoot( int exp, int genexp, int nak, int gencap ) 

———————- 

- 经验, GEN经验, 纳克, 增加GEN能力

#SendChatMessage(1) 

—————————————————– 

SendChatMessage( int lPackIdx ) 

—————————————————– 

Lpack_Quest 在聊天窗口中输出指定编号的消息

#SetDynamicField(3) 

—————————————————– 

SetDynamicField ( int questIdx, int fieldIdx, int value ) 

—————————————————– 

设置任务动态变量的值

#GetDynamicField(2) 

—————————————————– 

GetDynamicField ( int questIdx, int fieldIdx ) 

—————————————————– 

得到任务动态变量的值

#CheckPlayerClass() 

—————————————————– 

检测玩家的类型 (精神, 风, 水, 土 ..)

#CheckPlayerJob() 

—————————————————– 

检测玩家职业 (沥脚, 官恩, 拱, 入, 规尔扁荤, 清脚扁荤…)

#CheckPlayerLevel() 

—————————————————– 

检测玩家等级

#CheckPlayerGenLevel() 

—————————————————– 

检测玩家GEN等级

#CheckPlayerStatus(1) 

—————————————————– 

CheckPlayerStatus( int statusType ) 

—————————————————– 

得到玩家的状态(0 : force, 1 : soul, 2 : agi, 3 : vit)

#MoveToBindingPosition(2) 

—————————————————– 

MoveToBindingPosition( int bindingIdx, int bindingCost ) 

—————————————————– 

移动到指定移动位置

#AwakenPlayerJob(1) 

—————————————————– 

AwakenPlayerJob( int jobType ) 

—————————————————- 

唤醒玩家职业

#GetCompleteCount(1) 

—————————————————– 

GetCompleteCount(int questIdx) 

—————————————————– 

得到重复完成指定任务的次数 

如果没有执行此指定任务返回-1, 如果正在执行此指定任务则返回0

#OpenDepot(0) 

—————————————————– 

OpenDepot() 

—————————————————– 

打开仓库

#CloseDepot(0) 

—————————————————– 

CloseDepot() 

—————————————————– 

关闭仓库

#OpenPrecocity(0) 

—————————————————– 

OpenPrecotity() 

—————————————————– 

打开成熟仓库

#OpenCraft(0) 

—————————————————– 

OpenCraft() 

—————————————————– 

打开物品制作

#OpenUpgrade(0) 

—————————————————– 

OpenUpgrade() 

—————————————————– 

打开物品升级

#InitPlayerStatus(1) 

—————————————————– 

InitPlayerStatus( int nakPerLevel ) 

—————————————————– 

初始化玩家状态. 需要纳克nakPerLevel * level.

#OpenQuestScroll(0) 

—————————————————– 

OpenQuestScroll() 

—————————————————– 

打开任务卷轴

#AddQuestItem(4) 

—————————————————- 

AddQuestItem(int questItemIdx, int questIdx, int number,int maxnum) 

—————————————————- 

-增加指定数量的指定物品 

questItemIdx : 任务物品编号 

questIdx : 任务编号 

number : 数量 

maxnum : 最大数量

#FindEmptyInventoryPos(0) 

—————————————————- 

FindEmptyInventoryPos() 

—————————————————- 

-找到空闲的包裹位置,如果没有空闲的包裹位置,则返回-1

#SendDialogMessage(0) 

—————————————————- 

SendDialogMessage() 

—————————————————- 

-发送对话框信息 

#CheckAutoQuestType(0) 

—————————————————- 

CheckAutoQuestType() 

—————————————————- 

- 检测自动任务类型

#OpenNpcInventory(0) 

—————————————————- 

OpenNpcInventory() 

—————————————————- 

- 打开NPC包裹.

#OpenGambleStore(1) 

—————————————————– 

OpenGambleStore(int gambletype) 

—————————————————– 

打开Gamble商店

#OpenDanBattleWin() 

—————————————————– 

OpenDanBattleWin(); 

—————————————————– 

打开公会战窗口

#OpenEventCraft() 

—————————————————– 

OpenEventCraft(); 

—————————————————– 

打开事件升级

#GonryunBattle() 

—————————————————– 

GonryunBattle(); 

—————————————————– 

打开昆仑训练

#TransportGolryun() 

—————————————————– 

TransportGolryun(); 

—————————————————– 

传送到昆仑战地图

#TransportArayan() 

—————————————————– 

TransportArayan(); 

—————————————————– 

传送到准备室

#SuggestGolryunBattle() 

—————————————————– 

SuggestGolryunBattle(); 

—————————————————– 

昆仑战申请

#BuyGolryunBattleTicket() 

—————————————————– 

BuyGolryunBattleTicket(); 

—————————————————– 

购买昆仑战门票

#ShareMoney() 

—————————————————– 

ShareMoney(); 

—————————————————– 

共享金钱

#DisplayTournament() 

—————————————————– 

DisplayTournament(); 

—————————————————– 

显示参战人员列表

#CheckPrize() 

—————————————————– 

CheckPrize(); 

—————————————————- 

检测奖品

#OpenPackage() 

—————————————————- 

OpenPackage(); 

—————————————————- 

打开包裹

#helpOpen() 

—————————————————- 

helpOpen(); 

—————————————————- 

打开帮助

#OpenGiftCardWin() 

—————————————————- 

OpenGiftCardWin(); 

—————————————————- 

打开礼物卡片窗口

#ObserveTournament() 

—————————————————– 

ObserveTournament(); 

—————————————————– 

观众模式


点击这里复制本文地址

声明

本站发布所有广告信息、下载资源,均来自互联网,非本站自制,与本站无关。 如有侵犯您的合法权益请来信告之。我们会在三个工作日内予以清除。


本站中所有资料、资源文件均来自于网络搜索,仅作为技术学习研究之用,请必须在24小时内删除所下载文件,切勿用于商业用途,否则由此引发的法律纠纷及连带责任本站和发布者概不承担。


本站保证站内提供的所有可下载资源(软件等等)都是按“原样”提供,本站未做过任何改动;但本网站不保证本站提供的下载资源的准确性、安全性和完整性;同时本网站也不承担用户因使用这些下载资源对自己和他人造成任何形式的损失或伤害。 


访问本站的用户必须明白,[资源爱好者]对提供下载的软件等不拥有任何权利,其版权归该下载资源的合法拥有者所有。


本站所有资源均不提供相关技术服务,如果源码下载地址失效则请联系站长进行补发。


本站所有资源展现图片仅供参考

资源爱好者 © 本站发布所有资源,均来自互联网,非本站自制,分享目的仅供大家学习与参考,与本站无关。
如有侵犯您的合法权益请来信告之。我们会在三个工作日内予以清除。邮箱:admin?aihao.org
关于我们|广告合作|网站地图|冀ICP备14009590号|