0.前言
兩年前用CS1.6金源引擎做了一張闖關(guān)解密型的地圖,走的是恐怖和陰森的風(fēng)格,玩家在屋子里尋找線索和鑰匙,最后找到方法打開通往地下室的鐵門,不過地下室的章節(jié)現(xiàn)在還沒有想好。
劇情中有一扇門需要玩家輸入密碼解鎖,這就是本篇主要介紹的內(nèi)容。

gifeditor_20190417_224952.gif
1.參與工作的實(shí)體
1)func_button:按鈕實(shí)體:

image.png
2)func_door_rotating:由軸心和門板組成的旋轉(zhuǎn)門,需要設(shè)置好旋轉(zhuǎn)軸:

image.png
3)multi_manager:多源控制實(shí)體,使用它來同時(shí)向多個(gè)實(shí)體發(fā)出信號(hào),這里用來實(shí)現(xiàn)總電閘啟動(dòng)后開燈和密碼鎖通電的效果:

image.png
4)trigger_changetarget:密碼鎖邏輯的核心,用來更改其他實(shí)體的目標(biāo)作用實(shí)體,做密碼鎖要用到20多個(gè):

image.png
2.核心邏輯ー狀態(tài)控制機(jī)
密碼鎖的工作原理是狀態(tài)的跳轉(zhuǎn),在不同的狀態(tài)下按下不同的按鈕會(huì)跳轉(zhuǎn)到相應(yīng)的狀態(tài)。

image.png
3.實(shí)現(xiàn)過程
在金源引擎SDK,使用trigger_changetarget實(shí)體來實(shí)現(xiàn)狀態(tài)的跳轉(zhuǎn)。原理是每按一個(gè)按鈕,就使用trigger_changetarget把密碼板上的數(shù)字按鈕的目標(biāo)作用實(shí)體修改掉。
具體實(shí)體設(shè)置如下圖,實(shí)體間的關(guān)系看起來比較復(fù)雜,一句話描述就是通過trigger_changetarget不斷地修改按鈕的作用對(duì)象,最后輸對(duì)密碼后將開門按鈕的作用目標(biāo)修改為旋轉(zhuǎn)門。
別的不多說,一張圖說明一切。

image.png
4.地圖劇情分享
開場動(dòng)畫

cstrike 2016-02-03 01-20-19-07.avi_1454433968.gif
密碼鎖斷電效果

gifeditor_20190418_225524.gif
開電閘

gifeditor_20190418_225739.gif
密碼鎖

gifeditor_20190418_230049.gif
解鎖地下室

gifeditor_20190418_233018.gif
大結(jié)局

gifeditor_20190418_233257.gif
未完待續(xù),爭取早日填坑。
地圖文件分享:
鏈接:https://pan.baidu.com/s/16V-9cIOrefLygL_B1D4ivw
提取碼:x5au