二.下面来简单的介绍下几个文件的用处
1.description.ext
这个文件主要是任务的各种信息:
任务名称,任务类型,复活的方式,结局,等等诸多可定义的东西.
例子:
class Header
{
gameType = COOP;//任务的类型,可以为DM(死斗),COOP(合作),CTI(夺旗),SANDBOX(沙盒),RPG(角色扮演);
minPlayers = 1;//最小玩家数
maxPlayers = 10;//最大玩家数
};
author = "FusRoDah";//作者名称
onLoadName = "荧惑行动";//任务名称
saving=0;//禁用保存,不仅用则删除这一行
overviewPicture = "duodaozhanyi.jpg";//加载的任务图片
overviewText = "荧惑小队在Altis的武装行动!";//在加载任务是的简报
Respawn = "INSTANT";//复活方式
RespawnDelay = 5;//复活延时
DisabledAI = TRUE;//时候禁用ai,是为true,不是为false
class CfgDebriefing//结尾的提示,用触发器直接选择结局1,2是不是很突兀,在这里定义结局动画
{
class End1
{
title = "";//显示默认为任务成功
subtitle = "你们赢了!";//任务成功下一行的描述,任务完成的原因
description = "你们赢了!";//任务总结
picture = "b_inf";
pictureColor[] = {0.0,0.3,0.6,1};
};
class endLoser
{
title = "";//显示默认为任务成功
subtitle = "人质死亡!";//任务成功下一行的描述,任务失败的原因
description = "人质死亡!";//任务总结
pictureBackground = "";
picture = "b_inf";
pictureColor[] = {0.0,0.3,0.6,1};
};
};
2.init.sqf
这是一个很有用文件,是初始化任务的文件,可以用来创建任务,也可用来当触发器使用,用来呼叫各种脚本.
当作为触发器使用的例子:
[] spawn {
waitUntil {{alive _x} count [sbe] == 0};//当名为sbe的人死亡时,触发
[["objgroup2", "Succeeded"] , "BIS_fnc_taskSetState",false] call BIS_fnc_mp; //设置objgroup2这个任务的状态为成功
"objgroup3" call BIS_fnc_missionTasks;//呼叫下一个任务
{ deleteVehicle _x } forEach allDead;//删除所有死亡
};
3.①.initplayerlocal.sqf
本地玩家的初始化状态,与init.sqf差不多
②.initServer.sqf
服务器的初始化化,某些服务起的东西在这定义
4.mission.sqm
也就是任务的主体,编辑器导出的东西,下面对他进行分析
version=12;
class Mission
{
addOns[]=//这里是游戏所用到的模组,当你玩一个任务没有任务需要的模组可在此删除
{
"A3_Characters_F_BLUFOR",
"a3_characters_f_beta",
"A3_Characters_F_INDEP",
"A3_Characters_F_Civil",
"A3_Characters_F_OPFOR",
"A3_Air_F_Beta_Heli_Transport_01",
"A3_Soft_F_MRAP_01",
"A3_Structures_F_Mil_Helipads",
"A3_Weapons_F_Ammoboxes",
"a3_weapons_f_beta_ammoboxes",
"A3_Soft_F_HEMTT",
"A3_Signs_F",
"A3_Air_F_Beta_Heli_Transport_02",
"a3_map_altis",
"A3_Characters_F_Gamma",
"a3_uav_f_characters_f_gamma",
"A3_Static_F_Gamma",
"A3_Structures_F_Mil_BagFence",
"A3_Animals_F_Rabbit",
"A3_Structures_F_Civ_InfoBoards"
};
addOnsAuto[]=
{
"A3_Characters_F_BLUFOR",
"a3_characters_f_beta",
"A3_Characters_F_Gamma",
"a3_uav_f_characters_f_gamma",
"A3_Characters_F_INDEP",
"A3_Characters_F_Civil",
"A3_Characters_F_OPFOR",
"A3_Weapons_F_Ammoboxes",
"a3_weapons_f_beta_ammoboxes",
"A3_Structures_F_Mil_Helipads",
"A3_Animals_F_Rabbit",
"A3_Structures_F_Civ_InfoBoards",
"a3_map_altis"
};
randomSeed=9114063;
class Intel
{
briefingName="[GHST] Enemy Assault CO36 V2.7";
overviewText="Enemy forces occupy most of Altis. Await orders from command and complete all tasks given. Good Luck.";
resistanceWest=0;
resistanceEast=1;
startWind=0;
forecastWind=0;
forecastWaves=0;
year=2023;
month=3;
day=7;
hour=12;
minute=10;
startFogBase=0.001;
forecastFogBase=0.001;
startFogDecay=0.0049999999;
forecastFogDecay=0.0049999999;
};
class Groups
{
items=18;
class Item0
{
side="WEST";
class Vehicles
{
items=10;
class Item0
{
position[]={14672.732,17.91,16721.188};
azimut=302.116;
offsetY=1;
special="NONE";
id=0;
side="WEST";
vehicle="B_Soldier_F";
player="PLAYER COMMANDER";
leader=1;
skill=1;
text="s1";
init="BIS_grpMain = group this";//相当于编辑器中单位的init一栏
};
5.onPlayerKilled.sqf
玩家重生后调用的脚本和状态用waituntil {alive player};来触发,可调用脚本 |