Функции заголовочных файлов Pawn. Функции для работы с файлами (file.inc) Вы также можете почитать File Functions чтобы потренироваться в этом. fblockread Эта функция позволяет Вам прочитать данные из файла без кодируюищих и завершающих символов (в двоичном формате) (handle,buffer[],size=sizeof buffer) handle Используемый handle файла, открытый функцией fopen() buffer[] Буфер для сохранения прочитанных данных. size=sizeof buffer Число ячеек для чтения. fblockread(gFile, string, 256); fblockwrite Записывает данные в файл в двоичном формате, игнорируя концы строк и кодировку. (handle,const buffer[],size=sizeof buffer) handle Используемый handle файла, открытый функцией fopen(). const buffer[] Данные для записи в файл. size=sizeof buffer Число ячеек для записи. fblockwrite(gFile, "Save this data!", 15); fclose Закрывает handle файла, ранее открытый функцией fopen. Очень важно использовать эту функцию псоле того, как вы закончили чтение/запись! (handle) handle Закрываемый handle файла, открытый функцией fopen(). fclose(gFile); fexist Проверяет, есть ли указанный файл в папке с Вашими скриптами. (const pattern[]) const pattern[] Имя файла для проверки на существование. Возвращает 1 - если файл существует, 0 - если нет. if(fexist("datafile.txt")){ fgetchar Эта функция читает один символ из файла и сохраняет его в переменной, переданной по ссылке. (handle,&value,utf8=true) handle Используемый handle файла, открытый функцией fopen(). &value Переменая, в которую запишется символ. utf8=true Прочитать символ в кодировке UTF8. fgetchar(gFile, handle, false); flength Проверяет длину уже открытого файла. (handle) handle Используемый handle файла, открытый функцией fopen(). Возвращает Длина файла в байтах. new fileLength = flength(gFile); fmatch Эта функция проверяет, соответствует ли часть данного файла указанной строке. (name[],const pattern[],index=0,size=sizeof name) name[] Имя проверяемого файла. const pattern[] Шаблон соответствия. index=0 Смещение для начала поиска. size=sizeof name Количество символов, в которых будет производится поиск. fmatch("searchFile.txt", "Peter", 0); fopen Открывает указанный файл для чтения, записи или для обеих операций. Эта функция нужна для большинства файловых функций. Важное замечание: Эта функция может привести к вылету Вашей игры, когда папка с скриптами или файл в ней не существуют. (const name[],mode=io_readwrite) const name[] Имя файла, который Вы хотите открыть. mode=io_readwrite Режим, в котором вы хотите открыть файл. Возвращает Handle файла. new File:gFile = fopen("exampleFile.txt", io_readwrite); Доступные режимы открытия файла: Description io_write Записывает в файле, очищает весь ранее записаный текст io_read Читает файл, файл должен существовать или краш сервера io_append Добавление в файл, только запись io_readwrite Читает файл или создаёт новый fputchar Эта функция записывает один символ в файл. (handle,value,utf8=true) handle Используемый handle файла, открытый функцией fopen(). value Символ, который вы хотите записать. utf8=true Должен ли символ быть записан в кодировке UTF8 ? fputchar(gFile, 'e', false); fread Используйте эту функцию, если Вы хотите прочитать строку из файла. Вам понадобится цикл for или while для чтения нескольких строк. (handle,&string[],size=sizeof string,pack=false) handle Используемый handle файла, открытый функцией fopen(). &string[] Переданная по ссылке строка, в которую запишутся данные. size=sizeof string Число байт для чтения. pack=false Должна ли строка быть запакованной ? fread(gFile, string, sizeof(string)); fremove Удаляет существующий файл из папки с Вашими скриптами. Важное замечание: Эта функция может привести к вылету Вашей игры ,если запрошенный файл не существует. (const name[]) const name[] Имя файла, который Вы хотите удалить. fremove("exampleFile.txt"); fseek Изменяет текущую позицию в файле. Вы можете перемещаться по файлу вперед или назад. (handle,position=0,whence=seek_start) handle Используемый handle файла, открытый функцией fopen(). position=0 Позиция для помещения файлового курсора. whence=seek_start Способ, по которому нужно переместиться по файлу. fseek(gFile, 25); ftemp Эта функция открывает файл в папке "tmp" или "temp" для чтения или записи. Файл удалится полсле того, как Вы закроете его функцией fclose(). Важное замечание: Эта функция может привести к вылету Вашей игры, если соответствуящая папка не создана. (Нет параметров) Возвращает Handle файла new File:gFile = ftemp(); fwrite Записывает указанную строку или линию в файл. Помните, что файл должен быть открыт для записи. (handle,const string[]) handle Используемый handle файла, открытый функцией fopen(). const string[] Строка, которую Вы хотите записать в файл. fwrite(gFile, "This will be put in the file!"); Вещественные функции (float.inc) float Эта функция конвертирует целое число в вещественное. (value) value Целое число, которое Вы хотите конверитровать в вещественное. new Float:fVar = float(122); floatabs Возвращает абсолютное значение вещественного числа. (value) value Вещественно число Возвращает Абсолютное значение вещественного числа. new Float:fAbs = floatabs(-123.54); floatadd Вычисляет сумму двух вещественных чисел, то же самое, что и Float1 + Float2. (oper1,oper2) oper1 Первое вещественное число. oper2 Вещественное число, которое вы хотите добавить к первому. Возвращает Сумма двух вещественных чисел. new Float:fSum = floatadd(123.45, 678.90); floatcmp Сравнивает два вещественных числа. (oper1,oper2) oper1 Первое сравниваемое вещественное число. oper2 Второе сравниваемое вещественное число. Возвращает 1 - если первый аргумент больше, -1 - если второй больше. new compare = floatcmp(127.45, 127.450); floatcos Вычисляет правильный косинус вещественного числа с заданной размерностью угла. (value,anglemode=radian) value Вещественное число. anglemode=radian Размерность угла. Возвращает Косинус данного вещественного числа. new Float:fCos = floatcos(87.343, radian); floatdiv Делит вещественное число на значение, указанное вещественным числом, делителем. (dividend,divisor) dividend Делимое вещественное число. divisor Число (вещественное), делитель. Возвращает Частное в виде вещественного числа. new Float:fDivide = floatdiv(128.00, 32.00); floatfract Вычисляет и возвращяет дробную часть вещественного числа. (value) value Вещественное число. Возвращает Дробная часть числа. new Float:fFract = floatfract(3249.34); floatlog Используйте эту функцию, если хотите узнать логарифм вещественного числа. (value,base=10.0) value Вещественное число. base=10.0 Степень логарифма. Возвращает Логарифм числа. new Float:fLog = floatlog(128.0); floatmul Перемножает два вещественных числа и возвращает произведение. (oper1,oper2) oper1 Первый множитель. oper2 И второй. Возвращает Произведение чисел. new Float:fMul = floatmul(128.1,7.9); floatpower Возводит вещественное число в степень. (value,exponent) value Возводимое вещественное число. exponent Степень возведения в виде вещественного числа. Возвращает Вещственное число, возведенное в степень. new Float:fPower = floatpower(128.0, 8.0); // 1024 floatround Округляет вещественное число указанным методом. (value,:method=floatround_round) value Вещественное число. :method=floatround_round Метод округления, который вы хотите использовать. Возвращает Округленное целое число. new round = floatround(128.9, floatround_floor); floatsin Вычисляет синус данного вещественного числа, заданного размерностью в радианах, градусах или градиентах. (value,anglemode:mode=radian) value Вещественное число. mode=radian Размерность угла. Возвращает Синус вещественного числа. new Float:fSin = floatsin(82.4); floatsqroot Вычисляет квадратный корень данного вещественного числа. (value) value Вещественное число. Возвращает Квадратный корень из вещественного числа. new Float:fSqroot = floatsqroot(743.34); floatsub Уменьшает первое число oper1 на число, указанное в oper2. (oper1,oper2) oper1 Вещественное число, которое вы хотите уменьшить на заданное второе. oper2 Значение, на которое надо уменьшить первое число. Возвращает Значение первого аргумента после вычитания. new Float:fSub = floatsub(233.54, 23.34); floattan Вычисляет тангенс данного вещественного числа, заданного в первом аргументе в радианах, градиентах или градусах. (value,mode=radian) value Вещественное число. mode=radian Размерность угла, которую Вы хотите использовать. Возвращает Тангенс числа, заданный вещественным числом. new Float:fTan = floattan(87.4); floatstr Конвертирует строку в соответствующее вещественное число. (const string[]) const string[] Строка, которую Вы хотите конвертироват ьв вещественно число. Возвращает Запрошенное вещественное число. new Float:fFloat = floatstr("124.34"); Строковые функции (string.inc) format Format позволяет Вам использовать переменные в строке; так же как и в printf(), но эта функция возвращает полученную строку. (const format[],...) const format[] Формат, в котором вы хотите напечатать последовательность. %b представлет число в двоичном формате. %c представлет символ. %d представлет тип double (или нормлаьное целое число). %f представлет вещественное число. %i представлет целое число. %s представлет строку. %x представлет число в шестнадцатиричном формате. format(string, sizeof(string), "This %s has %d words.", "string", 4); ispacked Проверяет, запакована ли данная строка, и возвращает результат. (const string[]) const string[] Строка для проверки. Возвращает 1 - если строка запакована, 0 - если нет. if(ispacked(string)){ memcpy memcpy может быть использована для копирования байтов из одного места в другое. (dest[],const source[],index=0,numbytes,maxlength=sizeof dest) dest[] Место назначения копирования. const source[] Источник для копирования, оригинальная строка. index=0 Смещение, с которым копировать из источника. numbytes Число копируемых байтов. maxlength=sizeof dest Размер аргумента-назначения. memcpy(playerNames[playerid], playerName, 0, MAX_PLAYER_NAME); strcat Эта функция конкатенирует две строки в назанченую по ссылке строку. (dest[],const source[],maxlength=sizeof dest) dest[] Назначенная строка для конкатенирования. const source[] Исходная строка. maxlength=sizeof dest Максимальная длина строки-назначения. Возвращает Длина новой полученной строки-назначения. strcat(destination, "Hi, how are you?", sizeof(destination)); strcmp Сравнивает две строки друг с другом, с такими опциями, как игнорирование заглавных букв или максимальная длина. Очень часто используется в OnPlayerCommandText. (const string1[],const string2[],ignorecase=false,length=cellmax) const string1[] Первая сравниваемая строка. const string2[] Строка, которую вы хотите сравнить с string1. ignorecase=false Игнорировать заглавные буквы, если true. length=cellmax Максимальное число проверяемых ячеек. Возвращает 0 - если строки равны между собой. if(strcmp(cmdtext, "/me", true) == 0){ strdel Эта функция удаляет часть строки. (string[],start,end) string[] Строка, из которой вы хотите удалить часть. start Смещение для удаления. end Конец, где надо прекратить удаление (start + number символов) strdel("Peter isn't cool", 8, 10); strfind Используйте эту функцию для поиска подстроки в строке. (const string[],const sub[],ignorecase=false,pos=0) const string[] Строка, в которой будет производиться поиск (haystack). const sub[] Искомая строка (needle). ignorecase=false Игнорировать заглавные буквы, если true. pos=0 Смещение для начала поиска. Возвращает Вхождение подстроки, -1 - если не найдено. new instring = strfind("Are you in here?", "you", true); strins Эта функция вставляет строку в другую строку, заданные аргументами substr и string. (string[],const substr[],pos,maxlength=sizeof string) string[] Строка, в которую вы хотите вставить подстроку. const substr[] Подстрока, которую вы хотите вставить в строку. pos Позиция для вставки. maxlength=sizeof string Максимальный вставляемый размер подстроки. strins("f3llah1n is a ", "silly boy", 15); strlen Эта функция может быть использована для проверки длины указанной строки. (const string[]) const string[] Строка, длину которой вы хотите знать. Возвращает Дляина в виде целого числа. new stringLength = strlen("This is an example string."); strmid Извлекает диапазон символов из строки. (dest[],const source[],start,end,maxlength=sizeof dest) dest[] СТрока, в которую нужно поместить извлеченные символы. const source[] Строка, из которой извлекаются символы. start Позиция первого символа. end Позиция последнего символа. maxlength=sizeof dest Максимальная длина строки-назначения для копирования. strmid(string, "Grab this word: hi!!", 17, 18); strpack Эта функция может быть использована для запаковки строки. (dest[],const source[],maxlength=sizeof dest) dest[] Переданная по ссылке стррока-назначение для сохранения запакованной строки. const source[] Исходная оригинальная строка. maxlength=sizeof dest Максимальный размер строки-назначения для использования. strpack(string, "Hi, how are you?"); strunpack Эта функция распаковывает запакованную строку в строку-назначение. (dest[],const source[],maxlength=sizeof dest) dest[] Строка-назначение для распакованной строки. const source[] Текущая запакованная строка, которую нужно распаковать. maxlength=sizeof dest Длина строки-назначения. strunpack(string, packedString); strval strval может быть использована для конвертирования строки в целое число. (const string[]) const string[] Строка, которую Вы хотите конвертировать в целое число. Возвращает Целое число, извлеченное из строки. new iValue = strval("250"); uudecode Эта функция позволяет Вам декодировать закодированный в UU поток. (dest[],const source[],maxlength=sizeof dest) dest[] Строка-назначение для массива, декодированнной строки. const source[] Исходная, закодированная в UU, строка. maxlength=sizeof dest Максимальный размер строки-назначения для использования. uudecode(decodedString, encodedString); uuencode Строка, которую вы можете декодировать функцией uudecode, должна быть закодирована этой функцией. (dest[],const source[],numbytes,maxlength=sizeof dest) dest[] Строка-назначение для декодированного потока. const source[] Исходная незакодированная строка. numbytes Число байт для кодирования, не должно превышать 45. maxlength=sizeof dest Максимальная длина массива dest[]. uudecode(encodedString, normalString, 45); valstr конвертирует целое число в строку. (dest[],value,pack=false) dest[] Строка, в которое запишется значение. value Конвертируемое целое число. pack=false Запакует строку, если true. valstr(string, 454); Функции для работы с временем (time.inc) getdate Получает текущую дату на сервере, которая запишется в переменные &year, &month и &day. (&year=0,&month=0,&day=0) &year=0 Переданная по ссылке переменная, в которую запишется текущий год. &month=0 Переданная по ссылке переменная, в которую запишется текущий месяц. &day=0 Переданная по ссылке переменная, в которую запишется текущий день. getdate(year, month, day); gettime Получает текущее время на сервере, которое запишется в переменные &hour, &minute и &second. (&hour=0,&minute=0,&second=0) &hour=0 Переданная по ссылке переменная, в которую запишется текущий час. &minute=0 Переданная по ссылке переменная, в которую запишется текущая минута. &second=0 Переданная по ссылке переменная, в которую запишется текущая секунда. gettime(Hour, Minute, Second); tickcount Эта функция может быть использована вместо GetTickCount, так как она возвращает число в миллисекундах с момента последнего запуска. (&granularity=0) &granularity=0 Это переданное по ссылке отображение точности функции. Возвращает Число тиков с момента последнего запуска сервера. new iTickCount = tickcount();
|