[教程]从" 0 "认识SAMP服务端开游及简单脚本编写 (送给萌新)
samp吧
全部回复
仅看楼主
level 7
AIA🐶 楼主
=================================RT==================================
2020年02月27日 09点02分 1
level 11
[滑稽]
2020年02月27日 10点02分 2
level 10
顶技术贴
2020年02月27日 10点02分 3
level 13
终于来了,gkd
2020年02月27日 10点02分 4
level 7
AIA🐶 楼主
1. Q: 侠盗猎车手:圣安地列斯的SAMP联机器官网地址是什么?
A: www点sa-mp点com。
2. Q: SAMP服务端在哪里可以下载?
A: SAMP联机器官网 - Downloads - "SA-MP Windows Server Download"下有个橙色字体"SA-MP 0.3.7-R2 Windows Server" 。
(PS : 0.3.7-R2是服务端的版本,“ - “前面就是玩家客户端所需要对应的版本,假设你开的是0.3.7-R2的服务端,知道是0.3.7的客户端都可以连接到你的服务器且0.3DL的客户端则无法连接)。
3. Q: 编写SAMP服务器脚本工具是什么?
A: Pawno(在服务端里面有个自带的Pawno,在下面会说到)。
4. Q: 我需要去学习一些什么专业的语言吗?
A: 当然,SAMP脚本用到的语言是最基础的"C语言"。
5. Q: 可是我什么都不会,以前从来没有接触过怎么办?
A: 不尝试接触,怎么能学会?SAMP的脚本程序还是很好理解的。
= =真的就是一些很简单的问题,但是很多人都会疏忽这些小东西。这些小东西反而是很多小白找不到的。
2020年02月27日 10点02分 5
level 7
AIA🐶 楼主
现在开始我一步一步来,能讲到最细我就讲到最细(尽我所能让你更能理解)。
首先我们需要从官网下载服务端 (就是你要架设服务器用到的工具) ,因为你下载下来的是一个压缩包,所以我们需要将它解压出来 (解压到哪里随意,你开心就好,这个无关紧要),然后你会看到以下文件:
filterscripts-------------脚本文件(在主体脚本上附加一些游戏内容)
gamemodes-----------主体文件(服务器的内容核心文件,需要里面的内容才能成功架设服务器)
include------------------文件库(因为我用的很少,所以具体它的工作是什么,我也不是很清楚:大佬可以补充下)
npcmodes--------------NPC文件(俗称BOT,机器人,电脑玩家,你可以录制一些机器人将他们的行为内容等放进去)
pawno-------------------脚本编写器(就是我上面说到的我们需要用到的脚本编写工具)
scriptfiles---------------信息存储文件(比如玩家的信息,车辆信息,乱七八糟的功能信息都在这,这里是放存储的并非说你在里面建立一个文本,名字是你,那这个服务器就有你这个玩家了。后面我会说到如何存储)
announce--------------这个应该是一个通知程序(你不会去打开它,也无法编辑它。所以可以忽略,大佬知道可以补充)
samp-license---------申明文件(里面有SAMP官方想对你说的话及各种事件声明。可以不用理它)
samp-server----------服务器架设就靠它了(你需要运行它,才能让你的服务器运行)
server------------------服务器设置(里面的内容我会单独说)
server-readme-------服务器事件记录(里面会有你服务器在运行中所产生的内容:可以查到玩家的对话)
==============上述有问题,大家可以在层里纠正下,毕竟我也不是非常的熟悉,谢谢=================
2020年02月27日 10点02分 6
更正:server-readme是提供给开服者使用服务端的基本教程
2020年02月27日 10点02分
@Zh0n9. 感谢你的更正[真棒]
2020年02月27日 10点02分
include文件夹的意义,在于与SAMP自带的pawno/include里的inc文件区分整理,include文件夹一般存放非自带的inc,但是大多数人们习惯将inc放入pawno/include里,用法分别是#include "../include/*****" 与 #include <******>
2020年02月27日 13点02分
开服后会自动生成一个server_log.txt,记录服务器日志等,代码里使用print和printf所输出的内容也会保存至server_log.txt, LZ加油 不错的教程 顶
2020年02月27日 13点02分
level 7
楼主辛苦了[太开心]
2020年02月27日 11点02分 7
level 9
福利,谢谢楼主
2020年02月27日 11点02分 8
level 7
AIA🐶 楼主
首先,我们来试一下架设一个属于我们自己的服务器。
双击运行我上面说到的"samp-server"应用文件(exe可以运行文件)。 并且在你的客户端添加IP:127.0.0.1(这个是本地IP,可以在本地玩,当然你要是能将你的内网映射到公网或者你有自己的服务器,你可以在百度IP下你的地址并添加进去。)
你会发现就跳出来一个黑色的框框一闪而过,然后什么都没有。你们会以为或许他在后台运行了吧,刷新下 客户端发现他还是关着的。(这个有很多问题会导致你不能架设成功你的服务器,当然黑框保持运行,上面且没有错误信息,那我也不知道了。)
碰到一闪而过问题,首先我们找到同目录下的 "server" 配置文件(cfg结尾的文件),你双击他会需要你打开他的应用文件。我们右击它,找到 "用记事本打开" 。
一切设置完以后,我们在运行下 "samp-sever"你就会看到一个黑色的框框保持着运行。
一个简单的服务器就算架设完成了,你可以到你的127.0.0.1:7777游玩属于你自己的服务器。
2020年02月27日 11点02分 9
你理解错了,那个"rate"指的是频率,onfoot_rate指的是玩家步行状态时,发包的频率 改的越大,玩家看起来就越卡 改的越小,玩家看起来就更流畅,但是会消耗更多的网络资源 weapon_rate和incar_rate也是一样,分别是 子弹/瞄准 和车内的同步频率
2020年04月04日 02点04分
Server.cfg文件可以百度翻一下 “samp-readme”里面的内容,它里面说的更详细
2020年02月27日 11点02分
一般什么都没动打开黑框闪退的话,比较常见的一种是因为指定gamemode的pwn没有编译成amx,其次是Scriptfile文档文件夹未建立,还有一种是Plugins问题,
2020年02月27日 12点02分
从官网下载的服务端如打开闪退 请修改server.cfg里的password 闪退是为了防止RCON密码没有更换
2020年02月27日 17点02分
level 7
AIA🐶 楼主
我们来到客户端:这边会显示一些我们刚才在"server.cfg"里面的内容:比如服务器名称,玩家数量等
进入游戏,双击跳过界面,在双击选择人物,选择完以后,点击下方spawn的按钮 出生,就来到了下面这个界面。
2020年02月27日 11点02分 10
[滑稽]服务器hostname修改中文乱码是为什么呢
2020年02月27日 15点02分
回复 小白路过☜服务器名字支持中文的,怎么会乱码呢。除非你自己把它打成乱码
2020年02月27日 15点02分
@AIA🐶 [黑线]我也理解不了为什么 别的端的名字都可以设置中文 samp的官方端设置不了
2020年02月28日 02点02分
@小白路过☜ 可能存在编码问题,试试将server.cfg用Notepad或Vscode转一下中文编码?[哈哈]
2020年02月28日 02点02分
level 15
[真棒]
2020年02月27日 13点02分 11
level 7
AIA🐶 楼主
上面的教程和层里大家的补充,已经可以让你独立架设一个自己的服务器了。
接下来开始讲修改部分。
先介绍下我们的编辑器 "pawno" 的界面。
新建一个Pwn后缀的脚本文件(快捷键:Ctrl+N)
打开一个Pwn后缀的脚本文件(快捷键:Ctrl+O)
存储当前文档内容(并不会告诉你哪里错误,只是单纯的保存.)(快捷键:Ctrl+S)
查询 “关键字”(快捷键:Ctrl+F)
查询下一个/上一个关键字(他需要建立在查询上还能使用)(快捷键:下一个查询[F3] 上一个查询[F4])
关键词替换(很实用的工具,可以批量帮你替换,而不是你一个个去替换)(快捷键:Ctrl+H)
编译(上面说了,服务端只会读取amx后缀文件,pwn不会读取。它就是创造amx后缀文件的神奇按钮。)
(快捷键:编译[F5],查询第几行[Ctrl+G])
编译介绍:
上图出现一堆东西,那三行你不知道啥意思,我来解释下:
三行前面都是一致的,说明这是警告(Warnings)地方的所在位置,可以在途中看到
()括号内的数字代表了警告内容的位置在哪。
后面就是为什么警告。
最后出现3 Warnings.意思就是告诉你,你的脚本有三处警告,但是还不至于错误。所以他是可以编译出amx的。
那错误的样子如下图:
最后一行显示5 Error,
和上面相同的道理:地址,行数,然后会告诉你哪个是警告,哪个是错误,为什么错误。
错误的话就不会形成amx结尾的文集,就没法读取你的游戏脚本。
2020年02月27日 14点02分 12
这三行Warning,指的是在这张图中已经定义了gArmySpawn等,但是并没有调用,因此发出警告,提醒注意这些地方。
2020年02月28日 02点02分
level 12
[真棒][真棒][真棒][真棒]
2020年02月27日 14点02分 13
level 7
AIA🐶 楼主
现在尝试着改变下游戏里的文字:
要用到的按钮有:
找到我们的 "Gamemodes" 文件夹,在里面寻找我们在 "Server.cfg" 中 gamemode 选项后填写的文件名字。

打开 “”grandlarc.pwn“” pwn后缀的文件,这个就是我们的游戏主脚本。(amx是打不开的)
然后里面就会看到密密麻麻让你头大的英文单词。然后把它最小化,开启我们的服务器,进入它。
进去之后我们会在左上角看到下图:
SA-MP 0.3.7-R4 版本启动:客户端运行的,我们是无法在游戏脚本中修改的
Connecting to 127.0.0.1:7777....:连接到 [服务器的地址+端口]
Connected.Joining the game... :接通.并加入这个游戏
后面开始除了Connected to 是无法在游戏脚本中修改的,其余的都可以。
========================================================
我们来试着修改下 [ Welcome to Grand Larceny ]
首先,我们将游戏最小化。
将 [Pawno最大化] ,又是密密麻麻的英文,看的头疼。

查询关键词: [ Welcome to ](关键词内容可以你自己看情况而定)
他会跳到一个和关键词一样的地方,并且给那个和关键词一样的地方上色,一眼就能看到。
使用
按钮你会听到系统发出警报声:dong dong dong。(是搜索到最上面/下面一个关键词,告诉你到底/顶了)
SendClientMessage看字面意思,或者你百度翻一下:【发送客户端消息】
那意思就是 [ SendClientMessage ]这个函数是给玩家客户端发送消息所使用的。使用这个函数的效果就和我们一开始要搜索 【 Welcome to 】是一样的。(这样你就知道了,这个函数使用后的效果是啥样子的)
然后,你发现看不懂后面啥意思,那我们就需要上 [ wiki点sa-mp点com ] 去查找这个函数的使用方法。
2020年02月27日 14点02分 14
level 7
AIA🐶 楼主
打开 wiki网站,就会如下图:
你会说都是英文我咋看得懂。很多浏览器是自带网页翻译的,你可以勉强看看机器化翻译。
然后找到下图地方:
在 [ search ] 有一个编辑框,你可以在里面输入你不知道如何使用的函数。输入完成点 [ Go ] 按钮。
来到下图界面。寻找到和你函数一样的英文,在可以点击的地方,点击进去。
就会来到下图这个网页,他会给你解释,和举一些简单的例子。
====================================================================================
在 [""] 号之间我们可以看到 【Welcome to {88AA88}G{FFFFFF}rand {88AA88}L{FFFFFF}arceny】这么一串英文。
看不懂里面还有什么 88AA88 没关系,我们尝试这先将它删除。
得到 【 Welcome to Grand Larceny】,这和我们一开始看到的英文是一样的,我们尝试给他改成 【 欢迎来到我的第一个服务器 】
那每次修改,只保存是不会让地图生成的。我们给他
编译下。编译器的内容会显示出现3个Warning。
上面说到出现 【 警告 】,脚本还是会生成新的amx的,所以我们暂时不理他。
将服务端关闭在打开一次,到游戏里在看看会有什么变化。
已经和我们第一次进游戏时不同了,下图是为修改。
游戏中 [ Welcome to Grand Larceny ] 变成了我们在Pwn文本里修改的 [ 欢迎来到我的第一个服务器 ]
恭喜你解锁第一个成就,"Hello,World!"
2020年02月27日 15点02分 15
{88AA88}为颜色代码 {xxxxxx}为这里的字体修改xxxx颜色
2020年02月27日 17点02分
wiki首页是带中文的,官方有中文,中文的地方不多[你懂的]不过起码查函数这里都是有中文
2020年02月28日 07点02分
1 2 3 尾页