添加自动下载功能

可以使用此功能为客户端补充必要的文件,例如声音文件、模型文件、等

autotabledownloader.sp

#include <sourcemod>
#include <sdktools>
static String:DownloadPath[64]
public Plugin:myinfo = {
    name = "Auto Table Downloader",
    author = "Master(D)",
    description = "Auto Table Downloader",
    version = "1.1.1",
    url = ""
}
public Action:Command_CheakDownloadTables(Client,Args) {
    PrintToConsole(Client,"Cheaking Download Table...")
    new Handle:fileh = OpenFile(DownloadPath, "r")
    new String:buffer[256]
    while (ReadFileLine(fileh, buffer, sizeof(buffer))) {
        new len = strlen(buffer)
        if (buffer[len-1] == ‘\n‘) {
            buffer[--len] = ‘\0‘
        }
        if (FileExists(buffer)) {
            PrintToConsole(Client,"Download: %s",buffer)
        } else {
            PrintToConsole(Client,"Ignore: %s",buffer)
        }
        if (IsEndOfFile(fileh)) {
            break
        }
    }
    return Plugin_Handled
}
public OnMapStart(){
    BuildPath(Path_SM, DownloadPath, 64, "configs/download.txt")
    if(FileExists(DownloadPath) == false) SetFailState("[SM] ERROR: Missing file ‘%s‘", DownloadPath)
    new Handle:fileh = OpenFile(DownloadPath, "r")
    new String:buffer[256]
    while (ReadFileLine(fileh, buffer, sizeof(buffer))) {
        new len = strlen(buffer)
        if (buffer[len-1] == ‘\n‘) {
            buffer[--len] = ‘\0‘
        }
        if (FileExists(buffer)){
            AddFileToDownloadsTable(buffer)
        }
        if (IsEndOfFile(fileh)) {
            break;
        }
    }
}
public OnPluginStart() {
        RegAdminCmd("sm_dlcheck", Command_CheakDownloadTables, ADMFLAG_SLAY, "<Name> <Id> - Checks download.txt")
        CreateConVar("dlversion", "1.1.1", "auto table downloader version",FCVAR_PLUGIN|FCVAR_SPONLY|FCVAR_UNLOGGED|FCVAR_DONTRECORD|FCVAR_REPLICATED|FCVAR_NOTIFY)

}

此外,需要在服务端添加需要检测下载的列表文件

游戏目录/left4dead2/addons/sourcemod/config/download.txt



Example Sounds:
Sound/masters_opening.mp3
Sound/consnd/city.mp3

Example Models:
Models/Player/headcrab.mdl
Models/Player/Headcrab.dx80.vtx
Models/Player/Headcrab.sw.vtx
Models/Player/Headcrab.dx90.vtx
Models/Player/headcrab.vvd
Models/Player/Headcrab.phy

///////////////////////////////////////////////////////////////////////////////////

        Remember To Remove All Of The Content Of This Page

///////////////////////////////////////////////////////////////////////////////////

最后,客户端需要设置为允许下载的类型,才会自动下载

cl_allowdownload 1
cl_downloadfilter all
其他选项还有:
all, none, nosounds

下载服务端与游戏服务器分离的方法:

服务端通过设置 sv_downloadurl 指定到可下载的游戏目录,来实现下载与服务器分离。例如:

sv_downloadurl "http://d.l4dol.com/left4dead2_v2121/left4dead2"

原文地址:https://www.cnblogs.com/jkcx/p/9569185.html

时间: 2024-10-10 08:25:38

添加自动下载功能的相关文章

用汇编语言给XP记事本添加“自动保存”功能 good

[文章标题]: 用汇编语言给XP记事本添加“自动保存”功能 [文章作者]: newjueqi [作者邮箱]:[email protected] [作者QQ]:190678908 [使用工具]: OD, LordPE,eXeScope[操作平台]: XP-SP2[作者声明]: 本人平时一般的文字处理都是用记事本(用Word好像大材小用了),电脑自从拿去大修后有时候会莫名其妙的重启,弄得经常重写(本人常常忘记保存^-^),于是想给记事本增加类似于Word的自动保存功能,以图个方便.失误之处敬请诸位大

在Word中为标题样式添加自动编号功能

原文地址:http://blog.chinaunix.net/uid-16685753-id-2738270.html 摘要: 本文可以帮助你在Office 2007中为Word标题样式添加和设置自动编号功能. 正文: 近日因工作需要,需要编制一份Word文档,并需要为标题提供编号,而系统默认的标题样式并没有自动编号的功能,系统默认的标题样式效果如下图: 因各种层级的标题数量比较大,且在编制过程中会不停的增.删.改各种层级的标题,所以手工输入标题编号显然不是明智之举,无奈,在网上查了很多资料,查

Laravel添加代码自动提示功能

在使用Laravel框架的时候,可能会碰上代码无法自动提示的情况,那么如何添加自动提示功能呢? 1,首先在composer.json中加入以下内容: "require": { "php": ">=5.6.4", "laravel/framework": "5.4.*", "laravel/tinker": "~1.0", "barryvdh/larav

在MyEclipse显示struts2源码和doc文档及自动完成功能

分类: struts2 2010-01-07 16:34 1498人阅读 评论(1) 收藏 举报 myeclipsestruts文档xmlfileurl 在MyEclipse显示struts2源码和doc文档及自动完成功能 在MyEclipse中显示struts的源码 -------右键点击/webAppName/WebRoot/WEB-INF/lib/struts2-core-2.1.8.1.jar -------propertes -------Java Source Attachment

自己Cookie写的自动登录功能

sql表 username  password字段 User类 有 id username password等字段 Service有一函数 1 @Override 2 3 public User findUser(String username) 4 { 5 return userDao.findUser(username); 6 } 实现 1 @Override 2 public User findUser(String username) { 3 try { 4 return qr.quer

3D打印机如何添加自动调平功能

原理说明 Kossel/Rostock等Delta(并联/三角洲)类型的机器,可以参考:http://learn.makerlab.me/guides/11 3d打印打印时最重要的是第一层的效果,如果第一层能够很好的粘在打印平台上,后面的如果不出意外,都可以顺利完成.但是第一层的打印并没有那么容易,其中一个原因就是打印平台是否水平的问题.如果平台不水平,可能导致模型的第一层在一个位置非常牢固,在另一个位置却根本没有粘上.甚至会损坏打印头(平台不平,由低的位置运动到高的位置可能会撞坏打印头). 本

wuzhicms 字段的添加以及实现下载功能

1.字段的添加 发布内容--> 栏目管理--> 字段管理-->添加字段 下面根据需求进行相应的设置. 然后提交即可. 2.下载功能的实现 实例说明: 会员中心相关页面下载功能的实现 下载功能的功能代码位置: coreframe/app/content/libs/function/content.func.php 当位于会员中心的会员中心的核心代码路径coreframe/app/member 在index.php中调用content方法 load_function('content','c

wuzhicms字段的添加以及实现下载功能

1.字段的添加 发布内容--> 栏目管理--> 字段管理-->添加字段 下面根据需求进行相应的设置. 然后提交即可. 2.下载功能的实现 实例说明: 会员中心相关页面下载功能的实现 下载功能的功能代码位置: coreframe/app/content/libs/function/content.func.php 当位于会员中心的会员中心的核心代码路径coreframe/app/member 在index.php中调用content方法 load_function('content','c

为Debian/Ubuntu的apt-get install添加自动补齐/完成功能

Debian/Ubuntu的apt-get太常用了,不过偶尔可能也会碰到不太熟悉,想不起来的包的名称,除了去debian packages去查找,另外的方法就是给Debian/Ubuntu添加自动补齐/完成功能.方法如下: 1.安装bash-completion apt-get install bash-completion 2.编辑~/.bashrc 文件 添加如下内容: if [ -f /etc/bash_completion ]; then . /etc/bash_completion f