【Arma3脚本教程】一、基本介绍_arma3源码-程序员宅基地

技术标签: arma3  Arma3  sqf  

目录

基本介绍

1.前言

2.编辑环境

3.第一行代码

4.地图文件夹

5.基本语法解释

6.记笔记


基本介绍

1.前言

        想必看到此文章的人想要学习Arma3的地图编辑,不过国内很少有人研究这个,即使会的也不是专业程序员,即使是专业程序员,也需要花不少时间学习它的特定写法。

        如果你英语及格,逻辑水平还行,应该可以看懂本教程。另外欢迎加群讨论:762195010。废话不多说开始。

2.编辑环境

        首先,Arma3的脚本文件格式为sqf文本文件,也就是用记事本编辑的脚本代码。为了更好的编辑代码,必要安装notepad++。请自行百度如何安装中文版,另外代码中有中文时需要将其保存为utf8编码(是其他编码则选择下方的转为UTF-8编码),如下图所示:

3.第一行代码

        一个地图(任务)文件,包含许多sqf脚本文件。不过我们也可以在游戏的控制台窗口直接输入代码来执行。

systemChat "开始学习Arma3脚本!";

        打开地图编辑器,放置一个角色,然后进入单人游戏。将上面代码输入或复制到控制台窗口,点击本地执行,即可看到左下角的文字输出。

         左下角输出了文字,当然这是最简单的命令之一,这里只是为了展示基本用法,请实际尝试一下才有得进步,不要觉得太简单了。

4.地图文件夹

        在地图编辑器中,按ctrl+s保存地图,注意左侧选择MPMissions文件夹,表示这个地图可以联机。

        保存后,通过下面的方式找到我们的地图文件:

         下图中的test.Stratis则是我们保存的地图文件夹,里面存放了地图需要的各种文件。现在只有一个mission.sqm文件,它表示地图编辑器所编辑的内容,一般来说不需要手动编辑它。

         接下来我们在这里创建一个init.sqf文本文件(右键新建文本文件,然后修改名字和后缀为init.sqf,如果没有后缀则百度如何显示文件后缀),然后便可打开它编辑代码。如下,我们延迟1秒钟,输出一段文字,然后设置玩家损坏为0.1(也就是10%生命值):

         注意此文件必须是UTF8编码!然后我们进入游戏,就应该能看到代码执行的效果。可以发现,玩家受到伤害,坐下角并输出了文字。

5.基本语法解释

        sqf脚本的写法有点像C语言,但语法区别很大。它自带了许多命令,例如上面的sleep命令,它的作用就是延时。一段代码的基本执行顺序是从上到下的,也就是一条一条的。执行到sleep时就会等待所指定的时间,比如sleep 60便会等待1分钟,再往后执行代码。

        注意,一个语句结束需要有分号,并且你需要保证你的标点符号是半角的(也就是英文输入状态的符号)。

        第二个命令是systemChat,表示系统输出一段文字,后面参数表示字符串,字符串需要用双引号括起来,比如我们想输出“援军10分钟后到达!”,则如下写:

systemChat "援军10分钟到达!";

        主要双引号是半角的,末尾还需接一个分号。

        而setDamage这个命令,则需要两个参数,第一个是谁,第二个是损害值。而player代表当前玩家,0.1是我们设置的损害值。如果我们这样写(直接设置损坏为1.0),就可以杀死玩家:

player setDamage 1.0;

        如果进入游戏玩家马上死亡,则说明代码生效了,此章的内容你便理解了。

6.记笔记

        虽然我没有记笔记的习惯,但如果你英文不太好的话,可以找个本子把命令记下来,如下所示:

sleep x 延时代码x秒执行
systemChat "字符串" 输出字符串
player 表示玩家
player setDamage x 玩家设置损坏为x,1.0表示死亡

        如果你觉得有用,就点赞收藏关注一下,如果没人看的话,我就不会更新了。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/u014629601/article/details/127037569

智能推荐

分包组包 北斗通信_一种基于北斗的低功耗双向非实时通信方法-程序员宅基地

文章浏览阅读474次。一种基于北斗的低功耗双向非实时通信方法【技术领域】[0001]本发明涉及一种基于北斗的低功耗双向非实时通信方法,属于北斗系统通信技术领域。【背景技术】[0002]北斗卫星系统具备的短报文通信功能在水文、气象、海洋、林业领域的遥测系统已经广泛应用。但鉴于目前北斗通讯终端的功耗较大,发信频度受限的问题,这些遥测系统在应用北斗卫星作为数据传输载体时,一般只实现了野外遥测站向数据采集中心站的单向传输功能,..._北斗双向通信

windows域名映射_windows域名映射文件-程序员宅基地

文章浏览阅读981次,点赞2次,收藏2次。windows域名映射_windows域名映射文件

C++程序打包_c++打包-程序员宅基地

文章浏览阅读1.9k次。首先我用的vs2017对现有的项目进行打包处理,当然首先的有打包的工具就是下图的这个vs小工具,找不到的话可以在工具中打开扩展与更新,在里面查找相应的工具名之后就是在项目上新建一个setup项目,前提是你已经安装了上面的那个小工具,之后就是对项目进行添加要输出的项目,设为主输出,然后再第二个文件上进行存放该项目的快捷方式,这个是在桌面的上的,而第三个文件夹是在开始菜单栏里添加的在其中加入所需要的依赖以及项目再进行生成就会出现项目的安装的exe文件在你生成的项目下..._c++打包

输入打开文件-程序员宅基地

文章浏览阅读86次。import fnmatch, osimport reyy = input('')def edd(user_name): def allFiles(root, patterns = '*', single_level = False, yield_folders = False): patterns = patterns.split(';') ..._输打开

Eplan教学视频合集-百度网盘-收集于网络_eplan教程 百度网盘-程序员宅基地

文章浏览阅读9.4k次,点赞5次,收藏18次。Eplan教学视频合集-百度网盘-收集于网络https://yun.baidu.com/s/1djYbk#list/path=%2Fhttps://pan.baidu.com/s/14DHLr31mLq2N8qbxd7vcbw //code:cva8https://yun.baidu.com/s/1qYfdJLM#list/path=%2Fhttps://yun.baidu.co..._eplan教程 百度网盘

keep-alive vue不起作用的原因_vue3+vite的keep-alive浏览器返回不生效-程序员宅基地

文章浏览阅读2w次。keep-alive 从列表页进入到详情页,再回到列表页,然后页面又重新请求,而不是直接读缓存里面的(ps:之前keep-alive用在项目中是可以起作用的,但是不知道为什么这两天就出现了这样的问题。就连activated,deactivated这两个钩子函数也是没有触发到) 具体代码如下 我尝试在项目中新建一个很简单的页面,也是没有效果。一开始以为是vue的版本过低导致的,看了一下v..._vue3+vite的keep-alive浏览器返回不生效

随便推点

elasticsearch-setup-passwords interactive_bash: elasticsearch-setup-passwords: command not f-程序员宅基地

文章浏览阅读2.6k次。elasticsearch-setup-passwords interactive[root@node-zwf ~]# su elasticsearch[elasticsearch@node-zwf root]$ cd /home/elasticsearch/elasticsearch-7.8.0/[elasticsearch@node-zwf elasticsearch-7.8.0]$ elasticsearch-setup-passwords interactiveba..._bash: elasticsearch-setup-passwords: command not found

学校公共计算机保用规定,湖南中医药大学涉密计算机和涉密移动存储介质保密管理规定...-程序员宅基地

文章浏览阅读922次。第一条为了进一步加强学校涉密计算机和涉密移动存储介质(移动硬盘、U盘、软盘、光盘、存储卡等)的安全保密工作,维护国家安全和利益,维护学校稳定和发展,结合我校工作实际,特制定本规定。第二条学校保密委员会负责全校涉密计算机、移动存储介质保密管理的指导、协调和监督工作。保密技术防范和管理工作由学校网络中心负责。第三条涉密计算机的日常管理制度(一)涉密计算机不得直接或间接接入国际互联网、校园网和其他公共信..._大学 涉密计算机安全保密策略

Vue.js复习_下列代码中,应用v-for指令遍历数组items-程序员宅基地

文章浏览阅读380次。Vue 实例有⼀个完整的⽣命周期,也就是从开始创建、初始化数据、编译模版、挂载Dom -> 渲染、更新 -> 渲染、卸载等⼀系列过程,称这是Vue的⽣命周期。_下列代码中,应用v-for指令遍历数组items

删除安装Google Chrome浏览器时捆绑安装的Google 文档、表格、幻灯片、Gmail、Google 云端硬盘、YouTube网址链接(Mac)_chrome自带的表格怎么删-程序员宅基地

文章浏览阅读5.2k次,点赞3次,收藏2次。Mac mini操作系统,安装完 Google Chrome 浏览器以后,单击 启动台 桌面左下角的“显示应用程序”,我们发现捆绑安装了。进入目录 /Users/用户名/Applications/Chrome 应用。那如何删除这些网址连接呢?,一个个单击打开,发现都是网址链接。已删除,干干净净,启动台回来了。进入或者删除整个文件夹。_chrome自带的表格怎么删

基于Java+SpringBoot+vue+elementui图书商城系统设计实现_图书商城后台管理系统设计与实现-程序员宅基地

文章浏览阅读3.9w次,点赞153次,收藏430次。主要功能包括管理员:首页、个人中心、图书分类管理、回收类别管理、新书榜管理、特价区管理、旧书回收管理、用户管理、订单评价管理、回收预约管理、图书回收管理、管理员管理、系统管理、订单管理。前台使用:首页、新书榜、特价区、旧书回收、公告资讯、个人中心、后台管理、购物车、客服。用户:首页、个人中心、订单评价管理、回收预约管理、图书回收管理、我的收藏管理、订单管理等功能。_图书商城后台管理系统设计与实现

【JZ2440笔记】裸机实验使用SDRAM_京累里101123-程序员宅基地

文章浏览阅读393次。S3C2440A 存储器控制器为访问外部存储的需要器提供了存储器控制信号。S3C2440A 包含以下特性:–大/小端(通过软件选择)–地址空间:每个 Bank 有 128M 字节(总共 1G/8 个 Bank)–大/小端(通过软件选择)–除了 BANK0(16/32 位)之外,其它全部 BANK 都可编程访问宽度(8/16/32 位)–总共 8 个存储器 Bank6 个存储器 Bank 为 ROM,SRAM 等其余 2 个存储器 Bank 为 ROM,SRAM,SDRAM 等–7 个固定的_京累里101123