RainySummer's Blog

Hexo site of RainySummer

0%

本文仍在施工中…… 👷🚧

Hexo从入门……到出门(并没有)

Hexo 是一个快速、简洁且高效的博客框架。Hexo 使用 Markdown(或其他渲染引擎)解析文章,在几秒内,即可利用靓丽的主题生成静态网页。

个人认为Hexo非常适用于在Github.io上部署静态博客。如读者所见,本博客即为Hexo所生成。

Hexo的安装十分简洁,在官网上也有十分详细的教程

安装 Hexo 相当简单。然而在安装前,您必须检查电脑中是否已安装下列应用程序:

  • Node.js (Node.js 版本需不低于 8.6,建议使用 Node.js 10.0 及以上版本)
  • Git

如果您的电脑中已经安装上述必备程序,那么恭喜您!接下来只需要使用 npm 即可完成 Hexo 的安装。

$ npm install -g hexo-cli

主题

以Vexo为例:

cd your-hexo-folder
git clone https://github.com/yanm1ng/hexo-theme-vexo.git themes/vexo
cp -R themes/vexo/_source/* source/

修改_config.yml文件:

themes: vexo

通过修改themes/vexo/_config.yml文件来个性化设置主题。

代码高亮

Hexo自带的代码高亮功能有些许不完善之处,在此以Hexo-Prism-Plugin来替代。

安装

npm i -S hexo-prism-plugin

使用

修改_config.yml并添加以下设置:

prism_plugin:
  mode: 'preprocess'    # realtime/preprocess
  theme: 'default'
  line_number: false    # default false
  custom_css: 'path/to/your/custom.css'     # optional

并且确认关闭默认的高亮功能:

highlight:
  enable: false

参数

mode:

  • realtime (Parse code on browser in real time)
  • preprocess (Preprocess code in node)

theme:

 主题列表参见 https://github.com/PrismJS/prism-themes#available-themes

  • default
  • coy
  • dark
  • funky
  • okaidia
  • solarizedlight
  • tomorrow
  • twilight
  • atom-dark
  • base16-ateliersulphurpool.light
  • cb
  • duotone-dark
  • duotone-earth
  • duotone-forest
  • duotone-light
  • duotone-sea
  • duotone-space
  • ghcolors
  • hopscotch
  • pojoaque
  • vs
  • xonokai

line_number:

  • true (Show line numbers)
  • false (Default, Hide line numbers)

no_assets:

  • true (Stop loading asset files)
  • false (Default, load script and stylesheets files)

图片压缩

一般来说我们准备的图片素材都比较大,严重影响了博客访问的速度和体验。
这时就要介绍TinyPNG这个神奇的站点了。
这个网站支持.png.jpg格式,而且一般都能将图片压缩为原来的70%-80%左右,而且很难分辨出压缩前后的区别。

TinyPNG

其实不仅仅是网页加载的速度,本地Hexo的generatedeploy的速度更是快了许多。

Hexo

Font Awesome 图标

Font Awesome是一套绝佳的图标字体库和CSS框架。Font Awesome字体可以提供可缩放的矢量图标,这些图标可以定制大小、颜色、阴影以及任何可用的CSS样式。

目前确定Next主题自带Font Awesome支持,尚不清楚其他Hexo主题是否自带支持。

要在网页中添加Font Awesome图标,可以在Mardown文档中以如下形式添加:

内容 <i class="fa fa-id-card"></i> 其他内容

效果为:
内容 其他内容

其中fa fa-id-card是图标的id,可以在4.7.0版本的官网上查到你想要的图标对应的id。

需要注意的是,Next主题中自带的Font Awesome版本是4.7.0。这个版本是大版本4的最后一个版本,发布于2016年末。这个版本图标的数量比现在少很多,而且缺少一些相应的修改和优化。

但是如果需要更新的同学可能需要另寻他路了。我尝试用5.11.2的css和font文件替换.\themes\vexo\source\lib\font-awesome\下的文件,但是似乎新版本的架构不同,亦或许是其他原因,新的图标还是不能显示。

字体

对于Vexo主题,需要修改.\themes\vexo\source\css\style.styl文件(如果是其他主题请自寻探索)。

位于第2行的:

@font-face
  font-family: 'Source Sans Pro'
  src: url('../fonts/SourceSansPro.ttf')

用于加载位于..\fonts\目录下的自定义字体。例如加载SourceSansPro.ttf并命名为Source Sans Pro

我们可以修改body下的(第11行):
这里的语句用于设置正文中的字体

font-family: 'Source Sans Pro', 'Helvetica Neue', Arial, sans-serif

以及.tag-code下的(第73行):
这里的语句用于设置代码高亮部分的等宽字体

font-family: 'Roboto Mono', Monaco, courier, monospace

字体子集化方案

字蛛

如果要使用自定义的中文字体,而且字体文件过大,我们可以使用字蛛来压缩。

字蛛 + Hexo的解决方案

Fontmin

由于字蛛与Hexo有些兼容性的问题,需要编写脚本。为简便我们使用Fontmin的应用程序来压缩字体。

Fontmin

如图所示的界面,我们选定需要压缩的字体文件,然后指定子集化的字符串后,就可以生成新的压缩后的字体。

WebGIS(网络地理信息系统)是指工作在Web网上的GIS,是传统的GIS在网络上的延伸和发展,具有传统GIS的特点,可以实现空间数据的检索、查询、制图输出、编辑等GIS基本功能,同时也是Internet上地理信息发布、共享和交流协作的基础。
—— 孟令奎,《网络地理信息系统原理与技术:科学出版社》,2010年

为达到在网页中展示出行轨迹的效果,我们在这里使用百度地图的Javascript API v3.0

百度地图JavaScript API是一套由JavaScript语言编写的应用程序接口,可帮助您在网站中构建功能丰富、交互性强的地图应用,支持PC端和移动端基于浏览器的地图应用开发,且支持HTML5特性的地图开发。

请通过上方的链接访问百度地图Javascript API的官方文档作为具体开发参考,本文仅简述本人所做的尝试。

PS: 文中所有涉及隐私的信息均以 █ 代替。

期望达到的效果

将旅行所拍照片中的GPS地理位置信息导出,并将时间上相邻的两点以直线相连,来描绘出旅行/出行的轨迹。
上述信息将在网页的地图中展示。

导出照片/视频中的GPS信息

相关Github项目:MediaFileRenamer

照片中的Exif数据

JPEG

JFIF

Exif IFD0

Exif SubIFD

Interoperability

GPS
[GPS] GPS Version ID - 2.200
[GPS] GPS Latitude Ref - N
[GPS] GPS Latitude - 2█° ██’ 40.58”
[GPS] GPS Longitude Ref - E
[GPS] GPS Longitude - 1█1° ██’ 22.29”
[GPS] GPS Altitude Ref - Below sea level
[GPS] GPS Altitude - 0 metres
[GPS] GPS Time-Stamp - 11:██:09.000 UTC
[GPS] GPS Processing Method - GPS
[GPS] GPS Date Stamp - 2019:08:██
Exif Thumbnail

File Type

File

使用C#代码读取

var subdirGps = directories.OfType<GpsDirectory>().FirstOrDefault();
var strLng = subdirGps?.GetDescription(GpsDirectory.TagLongitude);
var strLat = subdirGps?.GetDescription(GpsDirectory.TagLatitude);
var strLngRef = subdirGps?.GetDescription(GpsDirectory.TagLongitudeRef);
var strLatRef = subdirGps?.GetDescription(GpsDirectory.TagLatitudeRef);
var strAlt = subdirGps?.GetDescription(GpsDirectory.TagAltitude);
var strAltRef = subdirGps?.GetDescription(GpsDirectory.TagAltitudeRef);

视频中的Metadata元数据

General
Complete name : █:\██\DCIM\██\████.mp4
Format : MPEG-4
Format profile : Base Media / Version 2
Codec ID : mp42
File size : 53.1 MiB
Duration : 23s 292ms
Overall bit rate : 19.1 Mbps
Encoded date : UTC 2019-08-██ 08:██:44
Tagged date : UTC 2019-08-██ 08:██:44
﹛yz : +2█.1██7+1█3.3██3/
com.android.version : 9
Video

Audio

使用C#代码读取

var mi = new MediaInfo();
mi.Open(file.FullName);
strGps = mi.Get(StreamKind.General, 0, "xyz");
mi.Close();
var strGpsSplit = strGps.Split('+', '-');
var strLat = strGpsSplit[1];
var strLng = strGpsSplit[2];
var strRef = strGps.Replace(strLat, "").Replace(strLng, "");
int intLatRef = 1, intLngRef = 1;
switch (strRef[0])
{
    case '+':
        intLatRef = 1;
        break;
    case '-':
        intLatRef = -1;
        break;
}
switch (strRef[1])
{
    case '+':
        intLngRef = 1;
        break;
    case '-':
        intLngRef = -1;
        break;
}
var dblLat = intLatRef * double.Parse(strLat);
var dblLng = intLngRef * double.Parse(strLng.Replace("/", ""));

转换为百度地图BD-09坐标系

目前国内主要有以下三种坐标系:
WGS84:为一种大地坐标系,也是目前广泛使用的GPS全球卫星定位系统使用的坐标系。
GCJ02:又称火星坐标系,是由中国国家测绘局制订的地理信息系统的坐标系统。由WGS84坐标系经加密后的坐标系。
BD09:为百度坐标系,在GCJ02坐标系基础上再次加密。其中bd09ll表示百度经纬度坐标,bd09mc表示百度墨卡托米制坐标。
非中国地区地图,服务坐标统一使用WGS84坐标。
百度对外接口的坐标系为BD09坐标系,并不是GPS采集的真实经纬度,在使用百度地图JavaScript API服务前,需先将非百度坐标通过坐标转换接口转换成百度坐标。

在这里采用C#预先转换的方式,而非Javascript的形式。

var dictCovt = new Dictionary<string, string>();
const string apiUrl = "http://api.map.baidu.com/geoconv/v1/?";
var coords = "coords=" + dictGps["longitude"] + "," + dictGps["latitude"];
const string ak = "ak=iNq████xv██████Lhf7████Ga████4sv";
var requestUrl = apiUrl + coords + "&from=1&to=5&" + ak;
var request = (HttpWebRequest)WebRequest.Create(requestUrl);
request.Method = "GET";
string result;
try
{
    var response = (HttpWebResponse)request.GetResponse();
    using (var reader = new StreamReader(response.GetResponseStream() ?? throw new InvalidOperationException(), Encoding.UTF8))
    {
        result = reader.ReadToEnd();
    }
}
catch (Exception)
{
    return null;
}
var o = JObject.Parse(result);
var status = (string)o.SelectToken("status");
if (status != "0")
{
    return null;
}
var resultToken = o.SelectToken("result")[0];
var longitude = (string) resultToken.SelectToken("x");
var latitude = (string)resultToken.SelectToken("y");

自定义地图样式

个性化地图,顾名思义用户可对地图进行个性化配置。通过该服务,允许用户将传统默认的地图样式按需配置,自由控制地图元素显隐及对应的元素样式。
用户可以通过个性化地图样式编辑器,按需编辑地图的底图样式,再按相应应用端的功能要求,将样式应用在JavaScript API和地图SDK中。

通过样式ID调用个性化地图样式:

<!DOCTYPE html>
<html>
    <head>
        <meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title>Hello, World</title>
        <style type="text/css">
            html{height:100%}
            body{height:100%;margin:0px;padding:0px}
            #container{height:100%}
        </style>
        <script type="text/javascript" src="http://api.map.baidu.com/api?v=3.0&ak=您的密钥">
        //v3.0版本的引用方式:src="http://api.map.baidu.com/api?v=3.0&ak=您的密钥"
        </script>
    </head>
    <body>
        <div id="container"></div>
        <script type="text/javascript">
            var map = new BMap.Map("container");
            // 创建地图实例
            var point = new BMap.Point(116.404, 39.915);
            // 创建点坐标
            map.centerAndZoom(point, 15);
            // 初始化地图,设置中心点坐标和地图级别
            map.setMapStyleV2({
                styleId: '3d████a4ce█████d339████dee0████d'
            });
        </script>
    </body>
</html>

向地图添加标注

所有叠加或覆盖到地图的内容,我们统称为地图覆盖物。覆盖物拥有自己的地理坐标,当您拖动或缩放地图时,它们会相应的移动。
覆盖物主要分为:标注(点标注、矢量图形(包括折线、多边形、圆))、信息窗口、图层。

可以使用map.addOverlay方法向地图添加覆盖物,使用map.removeOverlay方法移除覆盖物,注意此方法不适用于InfoWindow。

网页HTML中数据点的储存方法(csv等数据库的方式请另行参考):
请注意导出的位置数据以时间为顺序。

var mapPoints = [
    {x:2.24██21,y:13.26██34},
    ...
];

之后以先后顺序,将两两相邻的坐标点以直线相连。(为避免坐标点之间距离过长干扰效果,设置距离阙值)

for (;i<mapPoints.length-1;i++) {
    var pointA = new BMap.Point(mapPoints[i].y,mapPoints[i].x);
    var pointB = new BMap.Point(mapPoints[i+1].y,mapPoints[i+1].x)
    var polyline = new BMap.Polyline([pointA, pointB], {
        strokeColor:"#FFFF99",
        strokeWeight:1,
        strokeOpacity:1
    });
    if (map.getDistance(pointA,pointB) < 300000) {
        map.addOverlay(polyline);
    }
}

最终效果

Demo 1

Demo 2

已知的问题

  • 使用个性化地图样式时,如自定义参数过多,在网页地图中会导致HTTP Error 414. The request URL is too long.错误,即请求URL过长的错误。
  • 在使用多个数据集时,部分位置信息会无法显示。目前未知允许的数据集/数据的上限数量。
  • 对多个数据点进行标注时,网页加载会非常迟缓(如1w+数据时)。

Minecraft启动器

Minecraft启动器(Minecraft Launcher)是一个提供登录和下载功能的前端界面,但是它独立于客户端。它负责下载主要Java包,包括含有游戏代码和诸如材质等资源的minecraft.jar以及LWJGL。

HMCL
我推荐HMCL启动器(hmcl.huangyuhui.net),它有以下的优点:

  • 可以同时支持离线、在线登录
  • 多游戏目录管理
  • 自动式安装
    • 可以安装几乎所有从早前到最新的Minecraft版本
    • 可以便利地安装Forge、Liteloader、Optifine等
    • 可以安装Mod等

快捷键

  • F2:截图
  • F3:数据面板(可以查看诸如当前xyz坐标等信息)

Mod

Yarr Cute Mob Models

  • 官方页面:https://www.curseforge.com/minecraft/mc-mods/yarr-cute-mob-models-remake/

    This mod replaces generic minecraft models with the designs used in mobtalker mod. It’s mostly just a visual change, though some options allow to change the mob’s model to match its hitbox, as well as a few other small things like removing the blaze’s smoke or blaze rods.

这是一款可以把Minecraft中怪物们“萌化”的Mod,把原本可怕的怪物们换成巨可爱的妹纸们(╹▽╹)。当然,原本的行为都不会发生改变,苦力怕娘还是会悄悄地黏上你然后“Boom!”爆炸,蜘蛛娘还是会对着你挥动着她的手来攻击你。因此我觉得这个Mod唯一的缺点怕是换上之后,会对着可爱的怪物们一脸懵,然后被掉血而亡(ಥ_ಥ)。
蜘蛛娘
↑ 蜘蛛娘
骷髅娘
↑ 骷髅娘
苦力怕娘
↑ 苦力怕娘

转眼间树莓派基金会就发布了新一代的树莓派,Raspberry Pi 4 Model B(下文称树莓派4B)。
配置比较(图中有些许错误,仅供参考)
其在性能上较上一代的树莓派3B+有大幅度的提升,我们就借此机会了解一下树莓派4B的硬件配置。

  • Broadcom BCM2711, Quad core Cortex-A72 (ARM v8) 64-bit SoC @ 1.5GHz
  • 1GB, 2GB or 4GB LPDDR4-2400 SDRAM
  • 2.4 GHz and 5.0 GHz IEEE 802.11ac wireless, Bluetooth 5.0, BLE
  • Gigabit Ethernet
  • 2 USB 3.0 ports; 2 USB 2.0 ports.

REF: Raspberry Pi 4 Model B Datasheet

CPU

树莓派4B的CPU是Broadcom BCM2711,包含4x Cortex-A72。由前一代树莓派3B+的Cortex-A53升级为Cortex-A72。Cortex-A是ARM处理器的其中一个系列,其他的系列还包括Cortex-R、Cortex-M、Neoverse、SecurCore以及Machine Learning。其中“A”系列面向尖端的基于虚拟内存的操作系统和用户应用;“R”系列针对实时系统;“M”系列则针对微控制器。
ARM处理器天梯图
Cortex-A72最早发布于2015年初,也是基于ARMv8-A架构,采用台积电16nm FinFET制造工艺。根据ARM官方,A72处理尤为适合用于移动应用。例如华为Mate 8手机上搭载的麒麟950包含4x Cortex-A53及4x Cortex-A72。
官方表示,这比上一代树莓派3B+性能提升近3倍。

GPU

GPU方面,树莓派3B+的400MHz核心频率的Broadcom VideoCore IV显卡升级为树莓派4B上500MHz的VideoCore VI。使得树莓派4B得以支持4K 60fps的视频输出,或者4K 30fps的双视频输出。
但是说实话似乎在日常生活中较少用到4K分辨率的输出,甚至于在树莓派上输出双视频。当然这扩展了树莓派的用途,而且每个人的玩法大有不同嘛。

Memory

LPDDR: Low-Power Double Data Rate Synchronous Dynamic Random Access Memory。我们可以简单理解为是一种低功耗内存的技术。
LPDDR面向低功耗内存而制定的通信标准,以低功耗和小体积著称,专门用于移动式电子产品。

树莓派3B+所使用的是LPDDR2 SDRAM,而树莓派4所使用的是LPDDR4 SDRAM。LPDDR4比起LPDDR3,甚至两代前的LPDDR2,LPDDR4有着带宽更大,频率更高,而且功耗更低的优点。

USB

USB 2.0的最高传输速度可达480Mbit/s,而树莓派4B上搭载的USB 3.0的最高传输速度可达5Gbit/s。很明显在USB接口的传输速度上有着非常显著的提升,这一点和千兆以太网接口与CPU的升级也使得树莓派4非常适合作为一款小巧而不失实力的NAS/私人网盘方案。

🔗 有兴趣的同学欢迎参考我的另一篇文章:树莓派4B部署NextCloud

Power Supply

官方要求为树莓派提供5V/3A的电源,且注明了其中包括了预留给下游USB设备的额外的500mA。也就是说,如果没有连接USB设备,或者这些设备消耗的电流小于500mA,那么5V/2.5A的电源也是OK的。

⚠ 带有电子标记的USB-C线缆会拒绝给当前版本的Raspberry Pi 4供电

新一代的Raspberry Pi在USB Type-C的兼容性上存在问题。按常理来说,USB Type-C端口上两个CC引脚中的每一个都应该获得自己的电阻器,但是Raspberry Pi 4中,其电路设计显示它们共用了一个电阻,而这样会直接导致了USB-C配件的不兼容。
针对这一问题,Raspberry Pi联合创始人Eben Upton在接受外媒TechRepublic采访时承认,“带有电子标记线缆电缆的智能充电器会错误地将Raspberry Pi 4识别为音频适配附件,并拒绝向其供电。这一问题,我希望在未来的电路板中修复该问题。”

笔者实测绿联的USB-C线材是可以正常供电的。

好啦,趁着少女前线三周年活动之际,我们来聊聊两周年的事儿(???)。
开玩笑的啦,其实不知不觉才发现一年就过去了。而且三周年也一如既往的有不少有趣的活动,就借此机会记录一下。

首先还是少不了人形制造概率UP,但是一方面陆陆续续把想要的枪造出来了,另一方面资源也比较缺(日常咸鱼),所以这次的UP就专攻RF,因为RF有几把新枪很好看,而且一直心心念念美服的那位筷子腿小姐姐(M200)。
一共也就造了50 ~ 100发左右吧,也没仔细数。中途官方服务器似乎出了个“体感不良”的bug(笑),之后就返还了之前消耗的票。然而我在那之前也没有造多少,所以大概就那样吧~ 结果如下,M200抱回家了w,还有造出了卡妹她姐(各x2)。
卡姐
M200
还有K31地狱,我认识你吗?K31小姐姐?
K31
这么多,于是干脆直接满扩吧┑( ̄Д  ̄)┍
K31满扩
最后附带一堆“核心+1”。小姐姐们,出了你们就拆真的很抱歉~ 加起来有100多核心,也算不错了。

当然,还有最重要的“真核面具”。今年也是签到7天送一个面具。这次就选择换AA-12,SG的重建消耗还是太大了,而且一直想要AA缺造不出。
AA-12
Get到之后,当然是直接喂到满级,满扩,接着再婚了呀(●’◡’●)
AA-12满扩
AA-12结婚

关于妖精、重装之类的记录,之后再补充(咕咕咕)。

Imported from 简书 (jianshu.com)

主角:一块损坏的硬盘
HGST Disk

这件事的起源是这样的:
上图的这块HGST盘,是从一台废旧的笔记本上卸下来的。通过一个硬盘盒,得以再次派上用场。之前年少无知,我一直是将它作为移动硬盘、以及NAS的挂载盘来使用,如今想想,这不正是损坏硬盘的两大凶手嘛!
于是乎,该来的总是要来的,在去上海、南京玩了一圈,并且将照片全数储存在这块硬盘里之后,我不小心把它狠狠的“啪叽”摔在了地上……
刚开始,一切都很正常,我也不以为意。然而,某一天,在某一次强行拔出硬盘后,再插入时,就已经无法正常读取这块硬盘了。


在正文开始之前,我想先感谢LinusTechTip的视频,给予我很大的帮助。
LinusTechTip
本文中的许多要点均来源于该视频。


我的这张坏盘的具体表现是这样的,如果你手上有相似情况的硬盘,可以考虑尝试本文的操作:

  • 接入硬盘后,系统会完全卡死(尤其是打开资源管理器(我的电脑)时)。

  • 一切与硬盘相关的任务均不能进行,包括无法运行硬盘相关的软件、任务管理器和设备管理器等。
    电脑完全卡住了

  • 即使能读取到硬盘中的文件,速度也非常慢,或者没有速度。
    速度为0

  • 读取时,硬盘发生类似“咔嗒”、“哒哒”的异常声响。

这是因为,硬盘上存在逻辑 / 物理上的错误,包括但不限于坏道,导致系统读取硬盘超时,而超时后系统又重试读取硬盘,进而陷入了无止境的死循环。在这时,我们就需一点小小的技巧,来避免系统陷入死循环的状态中:

  1. 使用管理员权限运行CMD命令提示符
  2. 运行DISKPART工具
  3. 运行以下指令:
    automount disable
    automount scrub

这几条指令能禁止系统自动加载硬盘,从而使系统避免陷入死循环中。
Diskpart


接下来,我们就可以使用专业的硬盘软件进行操作了。在这里,我们使用DiskGenius,一款十分专业的硬盘操作及数据恢复软件。
请注意,该软件需要注册为标准版或专业版,以解除相关限制。

打开DiskGenius后,我们能看见被识别出的损坏硬盘,并且可能会有修复分区表的提示。
DiskGenius
在点击“更正”后,我们继续浏览硬盘中的文件,并尝试将数据拷贝至另一正常且足够空间的硬盘中。

对于存在物理错误的硬盘,复制文件的过程中可能会发生错误。典型的错误为I/O Device Timeout,即I/O设备超时。对于此类的错误,一般将无法恢复对应的文件。此时,我们选择“全部跳过”,软件将跳过全部超时的文件,复制全部还能读取的文件。
DiskGenius
上述恢复数据的过程将会是十分缓慢的,请耐心等待全部数据复制完成。

所有数据的恢复完成后,即使还有屏蔽坏道等“抢救”硬盘的操作,我依旧十分不建议继续使用损坏了的硬盘

最后,希望本文对于读者们有所帮助。顺便也送大家一句话:

数据无价,谨慎操作!

谢谢 Thanks ♪(・ω・)ノ

Imported from Wordpress.

刚刚好从iOS平台转到Android平台不久,就碰上了少女前线的两周年活动。这次活动很丰富,其中有个“人形制造概率UP”对于我们这种抽卡收集党很是吸引。由于萌新资源稀少,于是便只能乖乖的投身普通的人形制造,而放弃重型制造了。
这两天,我趁着概率UP活动把所有的资源都投进去了,甚至还氪了一波金(悄咪咪)。结果还算是比较令人满意的(不考虑投入的话…… 啊喂),然后出了很多高等级的萌妹纸(╹▽╹)。
以下是各位新出的妹纸图,14个新的人形,而其实高星级的也是蛮厉害多的啦:
PPS-43
Garand
80
Colt
Shipka
TAR-21
Ribeyrolles
97
G41
Welrod
RFB
AK-12
Thompson
MG5

然后然后,5月签到的第21天,也打包了人形小姐姐*T77 *送上呢:
T77

周年庆签到第7天也赠送了“真核面具”×1,可以兑换指定列表中的任意一位人形小姐姐!(指挥官傻笑中)。
于是乎就选定了 内格夫 (^U^)ノ~YO棒棒哒!
Negev