3DMGAME 3DM首页 新闻中心 前瞻 | 评测 游戏库 热门 | 最新 攻略中心 攻略 | 秘籍 下载中心 游戏 | 汉化 购买正版 论坛

注册 登录

QQ登录

只需一步,快速开始

查看: 2318|回复: 6
打印 上一主题 下一主题

[求助] 關於任務跟NPC的Script 我有些疑問想請教~還請前輩們多多指教

[复制链接]

7

主题

231

帖子

247

积分

中级玩家

Rank: 3Rank: 3

贡献度
7
金元
2190
积分
247
精华
0
注册时间
2011-9-3
跳转到指定楼层
主题
发表于 2011-9-15 16:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 bruce345548 于 2011-9-15 16:37 编辑

大家好~ 我是才剛踏入script這塊的玩家,所以對於這塊非常有疑問,還請各位大大不吝指教。

我嘗試寫了一個npc的mod,這個mod是這樣的:

一個叫做bruce的NPC他在商業區四處閒逛,當玩家進入商業區後他會主動跑來跟玩家講一段對話,對話結束後他就會繼續閒逛,並且也不會再找玩
家說話,玩家跟他說話時他只是個普通路人甲。


接著"過了一天後"如果玩家再次進入商業區,那麼brcue又跑主動跑來跟玩家說話,之後又去閒逛。  

我想寫的就是像這樣重複再每一天做同一種動作的NPC但是他不會在短時間內連續重複動作,必須過一段時間。



我已經開始實作,也做出了一點成果但是有一個關鍵部分我卡住了。


首先我創造一個新的QUEST 命名為TALKING,我在裡面新增topic 命名為bruceistalking並且打好內容。

我在QUEST裡放了一個script 內容是

scn BRUCEScript

short DoOver

begin gamemode



end
(補上: SORRY剛剛忘記講,我在topic對話內容裡寫上了 set TALKING.DoOver to 1 以防止bruce連續跟玩家對話)

接著我在bruce身上使用script,內容是

scriptname bruce

begin GameMode

if ( TALKING.DoOver == 0 )
   
StartConversation player bruceistalking

else

endif

end


如此一來我實做出他能夠在我接進他的時候跑過來跟我講話,但是如果我希望過一段時間或是隔天他又再跑來跟玩家說話我該怎麼寫才對?
照理說我應該在BRUCEScript裡面加上一段if的判定句來初始化DoOver這個值,這樣bruce又會跑來找玩家說話,問題就是到底要怎樣才能得到遊戲內的值呢? (遊戲中的時間或是玩家的能力等等)

因為使用if總要有條件,但我不知道該怎樣才能叫到我要的條件,例如過了一天或是現在是遊戲中的幾點這樣子。這就是我的問題了,有沒有會寫script的前輩能指導我一下呢? 感激不盡。




另外有沒有大大知道有哪個網站有介紹關於能夠在script呼叫來做為判定的值,像是玩家的力量、魅力、現在遊戲裡是幾點、玩家使否正在睡覺等等的。

以上 感謝您看完這冗長的問題,如果你是跟我一樣只知道一點點皮毛的script新人,哪怕是一點小小的建議也請提供給我感恩~!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|3DMGAME ( 京ICP备14006952号-1  沪公网安备 31011202006753号

GMT+8, 2026-4-8 00:32 , Processed in 0.025903 second(s), 16 queries , Memcached On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表