Доступ к готовым решениям

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info
  • Новые темы в этом разделе публикуются автоматически при добавлении файла в менеджер ресурсов.
    Ручное создание новых тем невозможно.

System Control

Zhenia

Компетентный
Материал скопирован.​

Версия 0.3
Автор: jhonyxakep (Андрей Недобыльский)
Mail:jhonyxakep@qip.ru
ICQ:354794596
Jabber:jhonyxakep@qip.ru

Описание:

Плагин использует библиотеку BASS (un4seen.com) для работы со звуковыми файлами.

В плагине собрано несколько очень полезных функций, отсутствующих в SA:MP.



Установка:

Windows:
Положите файлы из папки plugins в папку plugins на сервере.
В связи с особенностями сервера, файл bass.dll надо поместить в корневой каталог сервера (те там, где samp-server.exe), в системный каталог windows, или прописать пусть в переменных среды.

Linux:
Файл libbass.so надо положить в папки /lib/, /usr/lib/, /usr/local/lib/.

Пропишите плагин в секции plugins в конфиге SA:MP.

Для работы с функциями плагина подключите файл SystemControl.inc к вашему скрипту.

Код:
0.3
исправлена проблема с функцией Sleep. На Linux работала в 10 раз меньше =)
Добавлены ListDirs, ListFiles и соответствующие коллбеки
Добавлены математические константы
Использование:

Функции:

ClearConsole(); - очищает консоль сервера. В Windows использует вызов CLS, в Linux - clear


system(file[]); - запускает внешнее приложение с ожиданием его завершения. Возвращает код завершения приложения. В Linux эквивалентно функции WinExec.

WinExec(file[],ShowParam); - запуск внешнего приложения без ожидания

В аргументе file указывается путь до приложения, которое надо запустить.
ShowParam принимает одну из констант:

PHP:
#define SW_HIDE             0 
#define SW_SHOWNORMAL       1 
#define SW_NORMAL           1 
#define SW_SHOWMINIMIZED    2 
#define SW_SHOWMAXIMIZED    3 
#define SW_MAXIMIZE         3 
#define SW_SHOWNOACTIVATE   4 
#define SW_SHOW             5 
#define SW_MINIMIZE         6 
#define SW_SHOWMINNOACTIVE  7 
#define SW_SHOWNA           8 
#define SW_RESTORE          9 
#define SW_SHOWDEFAULT      10 
#define SW_FORCEMINIMIZE    11 
#define SW_MAX              12
В Linux версии является оболочкой над функцией system, в этом случае аргумент ShowParam игнорируется

Подробнее о работе функции можно почитать на MSDN:


Sleep(milliseconds); - приостанавливает выполнение кода на указанное кол-во миллисекунд

Можно использовать в совокупности с плагинами мультипоточности.
В Linux использует usleep




GetCursorPos(&x,&y); - позволяет получить позицию курсора на экране (сервер)

GetCurPosX(); - получение позиции курсора по отдельности
GetCurPosY(); - получение позиции курсора по отдельности

Возвращают позицию курсора на сервере.
В Linux возвращают 0.




GetAudioURLFileLengthSec(URL[]); - возвращает длину аудио потока в секундах
GetAudioURLFileLengthBytes(URL[]); - возвращает длину аудио потока в байтах

Используют библиотеку BASS для работы. Позволяют получить длину аудио потока или файла с сервера.
Если поток не имеет длины функции возвращают -1, в противном случае GetAudioURLFileLengthSec возвращает длину в секундах, GetAudioURLFileLengthBytes - в байтах.


ListDirs(path[]); - листинг папок в указанной директории. Вызывает OnListDir при нахождении папки.

PHP:
public OnFilterScriptInit() 
{ 
           ListDirs("."); //вывести список папок в текущей директории (папка сервера SA:MP) 
    return 1; 
} 

public OnListDir(dir[]) 
{ 

    new string[35]; 
    format(string,sizeof(string),"Найдена папка: %s",dir); 
    print(string); 
    return 1;
}

ListFiles(path[]); - листинг папок в указанной директории. Вызывает OnListFile при нахождении папки.

PHP:
public OnFilterScriptInit() 
{ 
           ListFiles("."); //вывести список файлов в текущей директории (папка сервера SA:MP) 
    return 1; 
} 

public OnListFile(file[]) 
{ 

    new string[35]; 
    format(string,sizeof(string),"Найден файл: %s",dir); 
    print(string); 
    return 1; 
}
Фильтр скрипт с примерами использования:
PHP:
/* 
System Control Plugin 
by jhonyxakep 

Mail:jhonyxakep@qip.ru 
ICQ:354794596 
Jabber:jhonyxakep@qip.ru 
 */ 

#include <a_samp> 
#include "SystemControl" 

public OnFilterScriptInit() 
{ 



    WinExec("notepad.exe",SW_NORMAL);//В Windows эта функция запустит блокнот, с показом окна в обычном режиме 
//в Linux будет использован вызов функции system 
//Функция system останавливает выполнение текущего процесса до завершения выполнения внешней программы 

    new string[35]; 
    format(string,sizeof(string),"Stream Length: %d Seconds",GetAudioURLFileLengthSec("http://listen.radio-mixer.ru:8000/DNB")); //вернет -1 
    print(string); 

    format(string,sizeof(string),"Stream Length: %d Seconds", GetAudioURLFileLengthSec("http://upload.wikimedia.org/wikipedia/ru/4/4d/Omen.ogg")); //вернет 35 секунд 
    print(string); 

    return 1; 
} 

public OnPlayerText(playerid,text[]) 
{ 
    return 1; 
} 

public OnPlayerUpdate(playerid) 
{ 
    ClearConsole(); //очистка консоли 

    new x, y; 
    GetCursorPos(x,y);//x,y содержит положение курсора на экране (пиксели), в Linux функция возвращает 0 

    new string[35]; 
    format(string,sizeof(string),"X:%d Y:%d",x,y); 

    print(string); 

    return 1; 
}
Колбеки:

public OnListDir(dir[]) - вызывается, при нахождении папки после вызова ListDirs
пример см. выше.

public OnListFile(file[]) - вызывается, при нахождении файла после вызова ListFiles
пример см. выше.

Константы:

Дополнительные математические константы:
PHP:
* M_E        - e 
 * M_LOG2E    - log2(e) 
 * M_LOG10E   - log10(e) 
 * M_LN2      - ln(2) 
 * M_LN10     - ln(10) 
 * M_PI       - pi 
 * M_PI_2     - pi/2 
 * M_PI_4     - pi/4 
 * M_1_PI     - 1/pi 
 * M_2_PI     - 2/pi 
 * M_2_SQRTPI - 2/sqrt(pi) 
 * M_SQRT2    - sqrt(2) 
 * M_SQRT1_2  - 1/sqrt(2)
Скачать -
Проверка от Microsoft
 
Сверху Снизу