變化的記錄
ifexists(select*fromdbo.sysobjectswhereid=
object_id(N'[user]')andOBJECTPROPERTY(id,N
'IsUserTable')=1)
droptable[user]
GO
createtable[user](idintidentity(1,1),numbe
rvarchar(4),namevarchar(10),statebit)
go
--創建觸發器,維護state字段的值
createtriggert_stateon[user]
afterupdate
as
update[user]setstate=1
from[user]ajoininsertedbona.id=b.id
wherea.stateisnotnull
go
--為了方便同步處理,創建鏈接服務器到要同步
的服務器
--這里的遠程服務器名為:xz,用戶名為:sa,無密
碼
ifexists(select1frommaster..sysserverswher
esrvname='srv_lnk')
execsp_dropserver'srv_lnk','droplogins'
go
execsp_addlinkedserver'srv_lnk','','SQLOLE
DB','xz'
execsp_addlinkedsrvlogin'srv_lnk','false',
null,'sa'
go
--創建同步處理的存儲過程
ifexists(select*fromdbo.sysobjectswhereid=
object_id(N'[dbo].[p_synchro]')andOBJECTPR
OPERTY(id,N'IsProcere')=1)
dropprocere[dbo].[p_synchro]
GO
createprocp_synchro
as
--setXACT_ABORTon
--啟動遠程服務器的MSDTC服務
--execmaster..xp_cmdshell'isql/S"xz"/U"sa"
/P""/q"execmaster..xp_cmdshell''買粉絲startms
dtc'',no_output"',no_output
--啟動本機的MSDTC服務
--execmaster..xp_cmdshell'買粉絲startmsdtc',n
o_output
--進行分布事務處理,如果表用標識列做主鍵,用
下面的方法
--BEGINDISTRIBUTEDTRANSACTION
--同步刪除的數據
deletefromsrv_lnk.test.dbo.[user]
whereidnotin(selectidfrom[user])
--同步新增的數據
insertintosrv_lnk.test.dbo.[user]
selectid,number,namefrom[user]wherestateis
null
--同步修改的數據
updatesrv_lnk.test.dbo.[user]set
number=b.number,name=b.name
fromsrv_lnk.test.dbo.[user]a
join[user]bona.id=b.id
whereb.state=1
--同步后更新本機的標志
update[user]setstate=0whereisnull(state,1)
=1
--COMMITTRAN
go
--創建作業,定時執行數據同步的存儲過程
ifexists(SELECT1frommsdb..sysjobswherename
='數據處理')
EXECUTEmsdb.dbo.sp_delete_job@job_name='數
據處理'
execmsdb..sp_add_job@job_name='數據處理'
--創建作業步驟
declare@sqlvarchar(800),@dbnamevarchar(250
)
select@sql='execp_synchro'--數據處理的命令
,@dbname=db_name()--執行數據處理的數據庫名
execmsdb..sp_add_jobstep@job_name='數據處
理',
@step_name='數據同步',
@subsystem='TSQL',
@database_name=@dbname,
@買粉絲mand=@sql,
@retry_attempts=5,--重試次數
@retry_interval=5--重試間隔
--創建調度
EXECmsdb..sp_add_jobschele@job_name='數
據處理',
@name='時間安排',
@freq_type=4,--每天
@freq_interval=1,--每天執行一次
@active_start_time=00000--0點執行
go
《突襲4》Steam版附帶有官方的MOD制作工具(即地圖編輯器),這對喜歡自己設計關卡的朋友十分有意義,下面是由官方發布的《突襲4》MOD制作工具安裝使用教程,教大家突襲4的地圖編輯器怎么用,一起來學習下吧。
親愛的MOD制作者們,感謝各位對我司游戲的興趣和投入。《突襲4》和其MOD制作工具是我們數年努力的成果。在使用游戲資源和MOD制作工具時請務必尊敬幕后的工作人員。我們在此祝您制作愉快,MOD成功。
我要如何獲取MOD制作工具?有什么需求嗎?
MOD制作工具可以在Steam的“工具”區找到。您可以將鼠標移至游戲庫上,然后選中下拉欄中的“工具”區進入。在工具區內,您可以找到一個名為“Sudden Strike 4 – Editor”的條目。下載完成之后,運行該工具將解壓出您在《突襲4》MOD制作過程中所需的所有文件。內容包括一個UnityEditor工程。這意味著你需要先下載一個免費的Unity editor并且創建一個Unity賬戶才能進行《突襲4》MOD制作。請注意你必須使用Unity 5.5.4版本(而并非最新版)。您可以用瀏覽器打開這個地址進行下載:點擊進入
MOD制作工具(地圖編輯器)安裝教程:點擊進入
鏈接里還包含了Unity的教程鏈接。當然了,也歡迎你將MOD制作中遇到的問題發到我們的Steam論壇里。
《突襲4》MOD制作工具能做什么?
MOD制作工具提供了制作《突襲4》關卡和任務的必要資源。包括了基礎的地形,環境制作,可互動植被/裝飾品的擺放等功能。MOD制作工具中可以放置《突襲4》中所有出現的的建筑,橋梁等人造物。
自然,MOD制作工具中也包含了《突襲4》中的所有單位類型,任你擺布,您也可以調整其屬性和能力,甚至是其組織和行動的AI。
各位MOD制作者們還可以使用MOD制作工具內自帶的完整關卡界面來編寫自己想要的任務關卡。
《突襲4》MOD制作工具不能做什么?
當前無法加入可操作的自定義外觀內容,或是修改已有單位的外觀。這意味著不能添加新的單位模型,建筑外觀或是帶有行為的裝飾道具。無行為的裝飾道具仍然可以加入自定義關卡。
后續更新
我們知道當前版本功能尚不完善。游戲中某些復雜物品(裝飾,道路,水面,天氣,遭遇戰AI,連鎖關卡)需要針對性開發才能加入MOD制作工具。除了性能優化之外我們還將在后續更新中陸續加入以上內容
MOD制作工具內容
《突襲4》MOD制作工具是一個完整的Unity工程,可以直接用Unity Editor 5.5.4加載。里面含有必要的資源,代碼以及工具可以讓玩家來自己制作關卡,編寫任務事件并將其發布到Steam創意工坊供其他玩家下載。
資源
制作工具中包含三類不同的資源:
打包游戲資源(資源組)是制作和進行游戲所需的必要內容。此資源無法在editor中瀏覽或修改。請注意,游戲中使用的資源組和MOD制作工具是不可互換的!游戲只會使用其自帶的資源組,引用其自有運行邏輯,因此與MOD資源包里的內容并不產生交集。因此,修改資源組中的內容對于游戲內資源不會有改動。
不可鏈接的游戲資源(例如地形材質以及天空盒;它們位于Assets目錄下的Textures文件夾內)。由于諸多原因,我們只能提供少量樣本,但是您可以自由添加自己的內容。
功能性資源是制作工具補充內容。它們是在本地運行自定義關卡的必要內容,但是對于它們的修改不會影響游戲中MOD的內容。
代碼
在SDK文件夾內,除了幾個功能性DLL之外最重要的就是GameLib.dll了。它包含了操作運行MOD關卡必要的游戲資源,游戲邏輯,運行需求以及腳本互動界面。
必須指出的是正式發布的游戲內容中并不存在GameLib.dll文件。所以指向它的Unity腳本可能會在editor里有用但是真進了游戲就沒用了。
Unity腳本
Editor腳本
MOD制作工具已經包含了制作MOD關卡所有必須的editor腳本。當然,你也可以自行編寫或者修改已有腳本。
鏈接腳本
沒有這些腳本,MOD內容和游戲之
2024-07-20 22:53
2024-07-20 22:05
2024-07-20 22:00
2024-07-20 21:16
2024-07-20 21:09
2024-07-20 20:21