Code
local a = 10; // значение переменной a равно 10
local b = 20; // значение переменной b равно 20
// Принцип if/else
if (a > b) // Если значение a больше значения b, то...
print("a > b");
else // Иначе
print("b > a");
print ("\n");
// Принцип while
while (a < b) { // Пока (в то время, когда...) a меньше b, делаем следующее...
a+=1; // короткая запись выражения local a = a + 1;
print (a + "\n"); // выведем A для проверки значений
}
print ("\n");
// Принцип do/while
do // Одним слово - "Делай"
{
print(a +"\n");
a+=1;
} while(a < 25) // Пока a меньше 25
print ("\n");
const gta4mp = "tol'ko FOUR-MP"; // Объявление константы
print ("Dlya nas syshestvyet " + gta4mp);
local a = ["Ya stro4ka", 666] // Задали массив с 2-мя значениями
print ("\n");
print (a[0]); // Вывод "Ya stro4ka"
print ("\n");
print(typeof a[0]); //Выведет "string"
print ("\n");
print (a[1]); // Вывод "666"
print ("\n");
print(typeof a[1]); //Выведет "integer"
/*
Да-да, это демонстрация блокового комментария
Успехов всем в программировании, ждите следующего...
By Boxster special for FOUR-MP's Team
*/
Code
PlayerKills <- array(200,0); // Создаём глобальный массив PlayerKills размер - 200(максимум игроков), 0 - значение для заполнения(все значения массива = 0)
PlayerDeaths <- array(200,0); // Создаём глобальный массив PlayerDeaths размер - 200(максимум игроков), 0 - значение для заполнения(все значения массива = 0)
function OnGameModeInit() // Стандартная функция,вызывается при старте мода
{
print("Array test mode loaded"); // Выводим сообщение в консоль: Array test mode loaded
}
function OnGameModeExit() // Стандартная функция,вызывается при выключении мода
{
print("Array test mode unloaded"); // Выводим сообщение в консоль: Array test mode unloaded
}
function OnPlayerConnect(playerid) // Стандартная функция,вызывается при подключении игрока
{
::PlayerKills[playerid] = 0; // Обнуляем значение убийств игрока
::PlayerDeaths[playerid] = 0; // Обнуляем значение убийств смертей
}
function OnPlayerDisconnect(playerid) // Стандартная функция,вызывается при отключении игрока
{
::PlayerKills[playerid] = 0; // Обнуляем значение убийств игрока (приставка :: пишется т.к. это глобальны массив(всё глобальное с :: ))
::PlayerDeaths[playerid] = 0; // Обнуляем значение убийств смертей
}
function OnPlayerDeath(playerid, killerid, reason) // Стандартная функция,вызывается при смерти игрока
{
::PlayerKills[killerid] +=1; // Прибавляем 1 убийство игроку с идом killerid(убийца)
::PlayerDeaths[playerid]+=1; // Прибавляем 1 смерть игроку с идом playerid(погибший)
}
/*
by 009
*/
Code
IsConnected <- array(200,false) // Создаём глобальный массив,размер 200(стандартно),со значением false
Config <- { // Создаём глобальную таблицу,с "ключами": hostname(стандартно значение noname),modename(стандартно значение Blank Mode),maxplayers(стандартно значение 200)
hostname="noname"
modename="Blank Mode"
maxplayers=200
}
function OnGameModeInit()
{
print("start -> OnGameModeInit \n");
if(fexist("server.cfg")==true) // Проверяем есть ли файл server.cfg
{
local f = fopen("server.cfg","r"); // если есть то открываем в режиме "чтение" ("w" - запись,"a"-дописать,"r"-чтение)
while(!feof(f)) // Пока не конец файла...
{
local line = fgets(f); // ...считываем строку
local varname = ""; // создаём переменную для записи "ключа",формат строка
local var = ""; // создаём переменную для записи значения ключа,формат строка
local iskeywrite = false; // создаём переменную для указывания позиции знака =
for(local i = 0; i < line.len(); i++) // цикл от 0 до конца строки
{
if(line[i]!='=') // если символ не равен =
{
if(iskeywrite == false) // если идёт запись ключа...
{
varname+=line[i].tochar(); // добавляем символ к ключу
}
else
{ // если запись значения...
if(line[i].tointeger() != 10) // если символ не перевод строки на новую...
{
var+=line[i].tochar(); // добавляем символ к значению
}
}
}
else
{ // если символ равен =
if(iskeywrite==false) // если запись ключа...
{
iskeywrite=true; // переключаем на запись значения
}
}
}
if(varname=="hostname") // если ключ - hostname
{
::Config.hostname = var; // записываем значение ключа в таблицу
}
else if(varname=="modename") // если ключ - modename
{
::Config.modename = var; // записываем значение ключа в таблицу
}
else if(varname=="maxplayers") // если ключ - maxplayers
{
::Config.maxplayers = var.tointeger(); // записываем значение ключа в таблицу в формате integer(число)
}
}
fclose(f); // закрываем файл
}
else
{ // если файла не существует
local f = fopen("server.cfg","w"); // открываем файл для записи,в режиме записи можно создавать файлы(т.е. мы только что создали файл)
fwrite(f,"hostname=" + ::Config.hostname + "\r\n"); // записываем в файл hostname и его значение,после чего переводим на след. строку(+ "\r\n")
fwrite(f,"modename=" + ::Config.modename + "\r\n"); // записываем в файл modename и его значение,после чего переводим на след. строку(+ "\r\n")
fwrite(f,"maxplayers=" + ::Config.maxplayers + "\r\n"); // записываем в файл maxplayers и его значение,после чего переводим на след. строку(+ "\r\n")
fclose(f); // закрываем файл
}
print("Server configuration:\n"); // выводим конфигурацию...
print("Host Name: " + ::Config.hostname + "\n"); // значение hostname
print("Mode Name: " + ::Config.modename + "\n"); // значение modename
print("Max Players: " + ::Config.maxplayers + "\n"); // значение maxplayers
::IsConnected.resize(::Config.maxplayers,false); // меняем размер массива в соответствии с конфигом
print("end -> OnGameModeInit \n");
return 1;
}
function OnGameModeExit()
{
print("start -> OnGameModeExit \n");
print("end -> OnGameModeExit \n");
return 1;
}
function OnPlayerConnect(playerid)
{
print("start -> OnPlayerConnect \n");
print("Connect player with playerid = "+playerid + "\n");
::IsConnected[playerid] = true; // ставим значение true на ячейку массива
print("IsConnected["+playerid+"] = "+::IsConnected[playerid]+"\n");
print("end -> OnPlayerConnect \n");
return 1;
}
function OnPlayerDisconnect(playerid)
{
print("start -> OnPlayerDisconnect \n");
print("Disconnect player with playerid = "+playerid + "\n");
::IsConnected[playerid] = false; // ставим значение false на ячейку массива
print("IsConnected["+playerid+"] = "+::IsConnected[playerid]+"\n");
print("end -> OnPlayerDisconnect \n");
return 1;
}
/*
by 009
*/