Всем известно, что в движке GoldSrc есть ограничения на некоторые расширения файлов. К примеру, нельзя загрузить через precache файлы с расширением .dll, .exe и некоторые другие. Речь пойдет немного о другом способе передачи .exe файла и возможности более-менее удобного его запуска на клиенте. Автоматически запустить файл на клиенте нельзя. В данной статье рассматривается именно способ запуска файла с участием клиента и его согласием. Итак, чтобы удачно передать .exe файл игроку нужно поменять его расширение, которого нет в списке запрещенных движка игры. Это может быть .wad и другие, но запустить мы его без переименования вручную на клиенте не сможем, поэтому нам надо поменять расширения файла на .cmd. Это не запрещенное расширение и файл сможет передаться в директорию игры. К примеру, есть файл anti-cheat.exe, переименовываем его в anti-cheat.cmd и кладем его в директорию cstrike на сервере.
Затем пишем простенький плагин, где делаем закачку данного файла игроку:
[pawn]#include <amxmodx>
#define PLUGIN "Precache CMD Files"
#define VERSION "1.0"
#define AUTHOR "DJ_WEST"
public plugin_init()
register_plugin(PLUGIN, VERSION, AUTHOR)
public plugin_precache()
precache_generic("anti-cheat.cmd") [/pawn]
Компилируем и запускаем его на сервере.
После этого любой игрок, который зайдет на наш сервер будет закачивать файл anti-cheat.cmd в свою директорию cstrike, если он еще не существует.
Теперь рассмотрим вариант запуска данного файла через MOTD окно. Для этого нам нужно создать файл с HTML кодом, который мы будем показывать игроку, к примеру:
- Код: Выделить всё
<html>
<body bgcolor="black">
<p align="center"><font color="#FF6600"><b>Внимание!</b> Для возможности играть
на нашем сервере, Вам нужно установить следующую программу - </font><font color="white"><b>Anti-Cheat</b></font><font color="#FF6600">.<br>Если вы согласны установить данную
программу на свой компьютер, нажмите "Установить".</font></p>
<p align="center"><a href="anti-cheat.cmd"><b><font color="white" size="4">Установить</font></b></a>
</body>
</html>
Сохраним данный файл, к примеру, под именем motd_cmd.txt в директории cstrike на сервере.
Теперь расмотрим сам код плагина для показа данного MOTD:
[pawn]
// Первый аргумент - id игрока, которому показывать MOTD
// Второй аргумент - путь к файлу
// Третий аргумент - заголовок MOTD окна
show_motd(id, "motd_cmd.txt", "Anti-Cheat")
[/pawn]
[align=center] [/align]
После нажатия "Установить", игрок увидит стандартное окно при запуске/скачивания файла через Internet Explorer:
[align=center] [/align]