Доброго времени суток!
Меня зовут Виталий! И сегодня я бы хотел немного помочь новичкам разобраться с 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;
}