Доброго времени суток!
Меня зовут Виталий! И сегодня я бы хотел немного помочь новичкам разобраться с Pawno. А точнее, в его стандартных пабликах.

Для начала объясню на понятном для всех языке:
- Паблик ( public ) - это "комната для кода", в которой каждая строка кода выполняет только то действие, которое разрешает ему паблик ( в зависимости от названия ).

* Подобного урока не нашел в поиске, по-этому решил написать
** Данный урок направлен на то, чтобы новичку было легче разобраться, что и куда "пихать"
*** Модераторы, другого места для размещения темы не нашел, если что, приношу свои извенения

А теперь приступим к ознакомлению!

public OnGameModeInit()

1) Паблик вызываеться, когда срабатывает старт сервера ( запуска samp-server.exe )
Примечание: в него обычно помещают служебные данные ( загрузка домов, обнуление переменных, загрузка авто и т.д. )

public OnGameModeExit()

2) Этот паблик отвечает за действия, которые будут выполняться после закрытия сервера ( samp-server.exe )
Примечание: обычно там можно увидить обнуление переменных, удаление таймера и т.д.

public OnPlayerRequestClass(playerid, classid)

3) Паблик вызываеться, когда игрок выбирает себе класс ( скин )
Примечание: можно красиво оформить подключение и установить камеру

public OnPlayerConnect(playerid)

4) Паблик вызываеться, когда игрок подключился к серверу, и он выступает поверх остальных пабликов
Примечание: можно сделать отправку сообщения в чат с приветствием и т.д.

public OnPlayerDisconnect(playerid, reason)

5) Паблик вызываеться, когда игрок отсоединиться от сервера
Примечание: отсутсвуют ( думаю и так всё ясно )

public OnPlayerSpawn(playerid)

6) Паблик вызываеться, когда игрок заспавнился ( отправился на место спавна )
Примечание: заспавнить игрока можно функцией SpawnPlayer(playerid);

public OnPlayerDeath(playerid, killerid, reason)

7) Паблик вызываеться, когда игрок умирает
Примечание: для ДМ/ТДМ серверов можно сделать повышение очков ( Score )

public OnVehicleSpawn(vehicleid)

8) Паблик вызываеться, когда транспорт заспавнился
Примечание: можно применить тюнинг или прикрепить 3D text и т.д.

public OnPlayerText(playerid, text[])

9) Паблик вызываеться, когда игрок отправляет сообщение в чат
Примечание: можно изменить цвет игрока ( SetPlayerColor(playerid, color); )

public OnPlayerCommandText(playerid, cmdtext[])

10) Пожалуй один из самых использованых пабликов, который срабатывает, когда игрок вызывает команду
Примечание: с помощью комманд можно изменять любые параматры

public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)

11) Паблик вызываеться, когда игрок садиться в транспорт
Примечание: можно изменить параметры автомобиля ( замок, фары, движок и т.д. )

public OnPlayerStateChange(playerid, newstate, oldstate)

12) Паблик вызываеться, когда игрок меняет статус ( в транспорте, пешком и т.д. )
Примечание: можно узнать статус игрока функцией GetPlayerState(playerid);

public OnPlayerEnterCheckpoint(playerid)

13) Паблик вызываеться, когда игрок находиться с чекпоинте
Примечание: с чекпоинтами можно сделать гонки, например

public OnPlayerPickUpPickup(playerid, pickupid)

14) Паблик вызываеться, когда игрок находиться в пикапе
Примечание: проверку на пикап ставить с помощью pickupid

public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)

15) Паблик вызываеться, когда игрок нажимает на определённую клавишу
Примечание: ID клавиши Alt = 1024

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])

16) Паблик вызываеться, когда игрок нажимает на одну из влавиш в диалоге
Примечание: можно сделать систему помощи или описания чего-либо

Это не все стандартные паблики, но, скажу одно, большенство из них отвечают за то, как они называються!

Хотелось бы добавить, что Вы можете создать и свой паблик. Для этого нужно его сначала объявить

forward NamePublic(); // вместо NamePublic можно использовать любое, незарезервированое имя

А дальше можно его и вызывать

public NamePublic()
{
    return 1;
}