【Arma3脚本教程】一、基本介绍_arma 3 sqf-程序员宅基地

技术标签: 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

智能推荐

葵花8号全球影像nc产品按波段转成tiff_葵花8号 nc 转 tif matlab-程序员宅基地

import numpy as npimport netCDF4 as ncfrom osgeo import gdal, osr, ogrimport osimport globdef NC_to_tiffs(data, Output_folder): # 读取一下基本信息 nc_data_obj = nc.Dataset(data) Lon = nc_data_obj.variables["longitude"][:] Lat = nc_data_obj.v_葵花8号 nc 转 tif matlab

libevent之 C++ RAII封装 定时器-程序员宅基地

前言: 这两天读Bitcoin代码,不禁感慨作者的强大,代码的精妙不是我这码农虔诚膜拜便能读懂的,更远远谈不上企及。于是默默埋头,收起尾巴。回想本屌,工作七年还是个默默无闻不及格的码农,黯然内流~~C/C++那种非人性化的吐槽: 相信很多童鞋跟本农一样,吃过饭之后就是不想洗碗收拾桌子。那太麻烦了,像我们这样怕麻烦的,吃饭首选快餐。以致于错过了自己做饭的乐趣。C/C++就是这样麻烦的发明...

C++面试题:看代码找错—vector容器的使用-程序员宅基地

C++面试题:看代码找错—vector容器的使用考点:理解vector容器的使用出现频率:★★★★ typedef vector IntArray; IntArray array; array.push_back( 1 ); array.push_back( 2 ); array.push_back(

Chord算法实现具体-程序员宅基地

背景Chord算法是DHT(Distributed Hash Table)的一种经典实现。下面从网上无节操盗了一段介绍性文字:Chord是最简单。最精确的环形P2P模型。“Chord”这个单词在英文中是指“弦”,在分布式系统中指“带弦环”,在P2P领域则指基于带弦环拓扑结构的分布式散列表(DHT)或者构建与其上的P2P网络。尽管MIT和UC Berkeley的研究早在200...

Common Subsequene POJ 1458 LCS最长公共子序列问题,寒假集训_我不是手机的博客-程序员宅基地

A subsequence of a given sequence is the given sequence with some elements (possible none) left out. Given a sequence X = < x1, x2, …, xm > another sequence Z = < z1, z2, …, zk > is a subsequence of X if there exists a strictly increasing seque

unity物体的移动和旋转脚本实现_uniyy如何实现控制物体进行移动或者旋转(挂载脚本)-程序员宅基地

unity物体的移动和旋转脚本实现用Transform移动物体transform.Translate学习内容:提示:这里可以添加要学的内容例如:1、 搭建 Java 开发环境2、 掌握 Java 基本语法3、 掌握条件语句4、 掌握循环语句学习时间:提示:这里可以添加计划学习的时间例如:1、 周一至周五晚上 7 点—晚上9点2、 周六上午 9 点-上午 11 点3、 周日下午 3 点-下午 6 点学习产出:提示:这里统计学习计划的总量例如:1、 技术笔记 2 遍_uniyy如何实现控制物体进行移动或者旋转(挂载脚本)

随便推点

不同种类的单片机通讯分析_2种通用单片机-程序员宅基地

电子技术的飞速发展,单片机也步如一个新的时代,越来越多的功能各异的单片机为我们的设计提供了许多新的方法与思路。对于莫一些场合,比如:复杂的后台运算及通信与高实时性前台控制系统、软件资源消耗大的系统、功能强大的低消耗系统、加密系统等等。如果合理使用多种不同类型的单片机组合设计,可以得到极高灵活性与性能价格比,因此,多种异型单片机系统设计渐渐成为一种新的思路,但单片机之间的通信一直是困扰这种方法拓展的..._2种通用单片机

MySQL 主从同步延迟的测试与重复数据的探讨 (ab 压力测试)_主从数据延迟导致 重复订单-程序员宅基地

如果,初次配置完成了 MySQL 数据库的读写分离操作那么,后面遇到稍大流量访问时;首先遭遇到的便是 【“主从同步延迟”】 造成的后果环境Linux系统: CentOS7.2mySQL版本: mySQL5.7.32DDL : 数据定义语言, DML :数据操纵语言MySQL的主从复制都是单线程的操作,主库对所有 DDL 和 DML 产生的日志写进 binlog,由于binlog 是顺序写,所以效率很高。Slave 的S_主从数据延迟导致 重复订单

ac3165无线网卡驱动linux,intel ac 3165无线网卡驱动下载v20.110.0 官方版_包阳明频道的博客-程序员宅基地

ac3165网卡驱动是支持英特尔双频带Wireless-AC3165无线网卡的安装程序,让用户的台式电脑也可以接受wifi,并且不卡顿的玩游戏和浏览网页,低延迟、高速率,同插网线一样的网速效果,有该产品的可以试试,安装傻瓜式,即可识别!intelac3165无线网卡驱动介绍Intel Wireless 3165 WiFi Driver此软件包提供英特尔Wireless 3165 WiFi驱动程序,..._centos7 网卡驱动 ac3165

余贞侠C语言程序设计课后参考答案(续9.4)_野性的鬼的博客-程序员宅基地

第九章 (后续9.4之后的题)(答案仅供参考),有问题大家可以在评论区一起讨论。9.5//给定两个链表。每个链表中的结点包括学号,成绩。求两个链表的交集#include<stdio.h>#include<stdlib.h>#include<string.h>struct STU { char num[11];//学号 float score;//成绩 struct STU *next;//链表指针域;};struct STU *Create(i

2020-11-27 tocken方式前后端验证_is-first_login tocken-程序员宅基地

2 返回token给前端,前端通过token获取该用户信息,后端通过在redis中获取,返回给前端信息,若获取不到,证明未登陆,或者已经过期。5 用户更新密码: 前端将旧密码,新密码,都RSA 在base64 传给后端,后端首先校验旧密码是否正确,同4 ,之后在将新密码 同3 处理。3 后端接到后,首先用base64解密,并用RSA私钥解密,得到密码明文,加盐后,MD5加密存储在数据库中。后端收到,base64解密,并查找该用户得到该密钥,然后用密钥解密,得到明文,然后将明文加盐后 MD5加密。_is-first_login tocken