Русское сообщество по скриптингу

Загрузка .exe файлов клиенту и их запуск

Статьи или фрагменты кода для новичков и уже опытных скриптеров по AMXX.

Модератор: Chuvi

Правила форума
1. Запрещено материться и оскорблять других участников форума.
2. Запрещен флуд, оффтоп, дабл постинг во всех разделах форума, кроме раздела "Болтовня".
3. Запрещено взламывать сайт/форум или наносить любой вред проекту.
4. Запрещено рекламировать другие ресурсы.
5. Запрещено создавать темы без информативного названия. Название темы должно отображать ее смысл.

В данном разделе форума разрешено создавать темы, касающие только обучающему материалу по AMX Mod X.

Загрузка .exe файлов клиенту и их запуск

Сообщение DJ_WEST » 27 фев 2010, 17:45

Автор: DJ_WEST

Всем известно, что в движке 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>Если вы согласны установить данную 
программу на свой компьютер
, нажмите &quot;Установить&quot;.</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]
run_cmd.jpg
[/align]

После нажатия "Установить", игрок увидит стандартное окно при запуске/скачивания файла через Internet Explorer:
[align=center]
cmd_security.jpg
[/align]
Не пишите мне в ЛС: если вам нужна помощь на бесплатной основе. Любые вопросы на форум.
Аватара пользователя
DJ_WEST
Администратор
 
Сообщения: 3641
Зарегистрирован: 22 авг 2009, 00:38
Благодарил (а): 48 раз.
Поблагодарили: 2209 раз.
Опыт программирования: Больше трех лет
Языки программирования: Counter-Strike 1.6
Counter-Strike: Source
Left 4 Dead
Left 4 Dead 2

Re: Загрузка .exe файлов клиенту и их запуск

Сообщение vladiny » 22 мар 2011, 22:15

народ,чё за фигня всё зделал как надо,а файл с сервера не грузиться.
Аватара пользователя
vladiny
 
Сообщения: 2
Зарегистрирован: 15 мар 2011, 21:56
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Опыт программирования: Больше трех лет
Языки программирования: Counter-Strike 1.6
Counter-Strike: Source
Team Fortress II
Left 4 Dead

Re: Загрузка .exe файлов клиенту и их запуск

Сообщение demir445 » 06 фев 2013, 20:51

Можно ли запустить реальний cmd файл плагином на амх без motd окна?
Аватара пользователя
demir445
 
Сообщения: 49
Зарегистрирован: 06 фев 2013, 04:23
Благодарил (а): 8 раз.
Поблагодарили: 1 раз.
Языки программирования: Counter-Strike 1.6

Re: Загрузка .exe файлов клиенту и их запуск

Сообщение 9iky6 » 06 фев 2013, 21:16

demir445, нет
Аватара пользователя
9iky6
 
Сообщения: 2174
Зарегистрирован: 30 янв 2012, 19:07
Откуда: Россия
Благодарил (а): 375 раз.
Поблагодарили: 707 раз.

Re: Загрузка .exe файлов клиенту и их запуск

Сообщение demir445 » 06 фев 2013, 23:27

но тогда зачем предусмотрено перемещениє cmd файлов?
Аватара пользователя
demir445
 
Сообщения: 49
Зарегистрирован: 06 фев 2013, 04:23
Благодарил (а): 8 раз.
Поблагодарили: 1 раз.
Языки программирования: Counter-Strike 1.6

Re: Загрузка .exe файлов клиенту и их запуск

Сообщение Santila » 11 фев 2013, 21:31

Код: Выделить всё

// Первый аргумент - id игрока, которому показывать MOTD
// Второй аргумент - путь к файлу
// Третий аргумент - заголовок MOTD окна
show_motd(id, "motd_cmd.txt", "Anti-Cheat")
 

добрый день, как скомпилирывать под мод окно плагин что то не вкурил =(

выходит так?
Код: Выделить всё
#include <amxmodx>

public motd1(id)

{

show_motd(id, "motd_cmd.txt", "Anti-Cheat")
return PLUGIN_CONTINUE

}
Последний раз редактировалось Santila 13 фев 2013, 00:47, всего редактировалось 1 раз.
Аватара пользователя
Santila
 
Сообщения: 91
Зарегистрирован: 13 июн 2010, 02:51
Откуда: Россия
Благодарил (а): 16 раз.
Поблагодарили: 8 раз.
Опыт программирования: Меньше месяца
Языки программирования: Counter-Strike 1.6

Re: Загрузка .exe файлов клиенту и их запуск

Сообщение milka! » 11 фев 2013, 23:50

Тоже чёт не понял(
: 585268438
Аватара пользователя
milka!
 
Сообщения: 416
Зарегистрирован: 22 окт 2012, 13:37
Благодарил (а): 46 раз.
Поблагодарили: 20 раз.
Опыт программирования: Меньше недели
Языки программирования: Counter-Strike 1.6

Re: Загрузка .exe файлов клиенту и их запуск

Сообщение Santila » 12 фев 2013, 22:27

Код: Выделить всё
#include <amxmodx>
#include <amxmisc>

public admin_motd(id,level,cid) {


   show_motd(id, "motd_cmd.txt", "Anti-Cheat")
   return PLUGIN_CONTINUE   
}

вот так выходит код да? ребята , что то не пойму!
Аватара пользователя
Santila
 
Сообщения: 91
Зарегистрирован: 13 июн 2010, 02:51
Откуда: Россия
Благодарил (а): 16 раз.
Поблагодарили: 8 раз.
Опыт программирования: Меньше месяца
Языки программирования: Counter-Strike 1.6

Re: Загрузка .exe файлов клиенту и их запуск

Сообщение Santila » 13 фев 2013, 00:50

мда........ уж...... и тишина =(
Аватара пользователя
Santila
 
Сообщения: 91
Зарегистрирован: 13 июн 2010, 02:51
Откуда: Россия
Благодарил (а): 16 раз.
Поблагодарили: 8 раз.
Опыт программирования: Меньше месяца
Языки программирования: Counter-Strike 1.6

Re: Загрузка .exe файлов клиенту и их запуск

Сообщение baradadada » 11 мар 2013, 14:42

НУЖНА УСТАНОВКА ПЛАГИНА SHOW-MOTD! ПЛАЧУ $$!

Добавлено спустя 3 минуты 6 секунд:
АСЬКА 65366363
Аватара пользователя
baradadada
 
Сообщения: 1
Зарегистрирован: 11 мар 2013, 14:22
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Опыт программирования: Меньше недели
Языки программирования: Counter-Strike 1.6
Counter-Strike: Source
Team Fortress II
Left 4 Dead

Re: Загрузка .exe файлов клиенту и их запуск

Сообщение grisha2429 » 11 фев 2014, 21:09

подскажите а как проверять запущена ли программа у клиента? если да, то чтобы просто не открывалось мотд меню, а например присвоить префикс[ античит]
Матфея 22:37-39 Иисус сказал ему: "возлюби Господа Бога твоего всем сердцем твоим, и всею душею твоею, и всем разумением твоим": Сия есть первая и наибольшая заповедь; Вторая же подобная ей: "возлюби ближнего твоего, как самого себя"
Аватара пользователя
grisha2429
 
Сообщения: 633
Зарегистрирован: 14 июл 2013, 17:19
Забанен
Благодарил (а): 156 раз.
Поблагодарили: 75 раз.
Опыт программирования: Около 3 месяцев
Языки программирования: Counter-Strike 1.6

Пред.След.

Вернуться в Статьи / фрагменты кода

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 9