Многие ищут всякие функции для создания сервера и т.д, давайте без оффтопа и флуда, просто выклыдываем свои функции,макросы,массивы или из интернета и пишим для чего они предназначены, это намного облегчит поиск.
Так-же в этой теме предлогаю чтобы любой мог написать функции которая ему нужна (если ещё её не выкладывали) это также позволит пополнять список функций.
Извлекаем левую часть строки в leftside
Code
stock bool: GetLeftString(const string[],const center[],leftside[],sizeof_leftside)
{
strmid(leftside,string,0,strfind(string,center,true),sizeof_leftside);
return true;
}
Извлекаем правую часть строки в rightside
Code
stock bool: GetRightString(const string[],const center[],rightside[],sizeof_rightside)
{
strmid(rightside,string,strfind(string,center,true)+1,strlen(string),sizeof_rightside);
return true;
}
Записывает в лог русскими буквами (кириллица)
Code
stock fwriteRUS(File:file,string[])
{
for(new i ; i < strlen(string); i++)
fputchar(file,string[i],false);
return 1;
}
Функция дописывает строку string в файл filename
Code
stock WriteLog(string[],filename[])
{
new File:hFile;
hFile = fopen(filename, io_append);
fwriteRUS(hFile, string);
fclose(hFile);
return 1;
}
Например:
Code
WriteLog("Тестируем лог\n","test.log");
В файл с именем "test.log" в скриптфайлах, допишется строка "Тестируем лог"
Если этого файла нет - он автоматически будет создан
Действие '/me'
Code
stock MeAction(playerid,string[],Float:radius)
{
new p = GetMaxPlayers();
for(new i; i < p; i++)
{
if(IsPlayerNearPlayer(playerid,i,radius))
SendClientMessage(i,0xC2A2DAAA,string);
}
return 1;
}
Возвращает имя игрока
Code
stock FirstName(string[])
{
new end = strfind(string,"_",true),
result[MAX_PLAYER_NAME];
strmid(result,string,0,end,MAX_PLAYER_NAME);
return result;
}
Возвращает фамилию игрока
Code
stock LastName(string[])
{
new start = strfind(string,"_",true),
result[MAX_PLAYER_NAME];
strmid(result,string,start+1,strlen(string),MAX_PLAYER_NAME);
return result;
}
Возвращает скорость транспортного средства
Code
stock GetVehicleSpeed(carid)
{
new Float:Vx,Float:Vy,Float:Vz,Float:rtn;
GetVehicleVelocity(carid,Vx,Vy,Vz);
rtn = floatsqroot(Vx*Vx+Vy*Vy+Vz*Vz);
return floatround(rtn * 100);
}
Узнать наибольшее ИД автомобиля
Code
stock GetMaxVehicleID()
{
for(new i = 1; i < MAX_VEHICLES; i ++)
{
if(GetVehicleModel(i) < 400 || GetVehicleModel(i) > 611)
return i-1;
}
return MAX_VEHICLES;
}