Steve_Johnson
Компетентный
Доброго Времени Суток Уважаемые Пользователи Pawno-Info!
В данном Уроке я вам расскажу, когда стоит использовать Public, а когда Stock.
Начнем с того, что Public бывают двух видов:
1. Авто Вызываемые
2. Не Авто Вызываемые (когда вы сами вызываете его с помощью forward'ов)
В языке Pawn есть много Авто Вызываемых Public'ов
Так же вы можете создать собственный Public
Для начала нужно создать forward
А потом ко всем Public'ам приписать
Stock может быть и функцией, но так же может быть и переменной, которая при условии не использования в моде, будет проигнорирована при компилировании.
Один минус Stock'ов в том, что они не могут быть использованы в таймерах.
Создать Stock очень просто, вот пример:
Или
Использование:
Ну вот вроде-бы и всё!
Если вы нашли какую-либо недоработку, сообщите!
Автор Урока: Я(Steve_Johnson)
В данном Уроке я вам расскажу, когда стоит использовать Public, а когда Stock.
Начнем с того, что Public бывают двух видов:
1. Авто Вызываемые
2. Не Авто Вызываемые (когда вы сами вызываете его с помощью forward'ов)
В языке Pawn есть много Авто Вызываемых Public'ов
PHP:
public OnGameModeInit() // При включении сервера
public OnGameModeExit() // При отключении сервера
public OnPlayerRequestClass(playerid, classid) // При выборе игроком скина
public OnPlayerConnect(playerid) // При подключении игрока к серверу
public OnPlayerDisconnect(playerid, reason) // При отключении игрока от сервера
public OnPlayerSpawn(playerid) // При спавне игрока
public OnPlayerDeath(playerid, killerid, reason) // При смерти игрока
public OnVehicleSpawn(vehicleid) // При спавне автомобиля
public OnVehicleDeath(vehicleid, killerid) // При уничтожении автомобиля
public OnPlayerText(playerid, text[]) // При отправке игроком сообщения в чат
public OnPlayerCommandText(playerid, cmdtext[]) // При введении игроком команды
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger) // Вызывается, когда игрок садится в транспорт
public OnPlayerExitVehicle(playerid, vehicleid) // Вызывается, когда игрок выходит из транспорта
public OnPlayerStateChange(playerid, newstate, oldstate) // Изменение игроком статуса (в транспорте. пешком и т.д)
public OnPlayerEnterCheckpoint(playerid) // Наступление игроком на Чекпоинт
public OnPlayerLeaveCheckpoint(playerid) // Выход игроком с Чекпоинта
public OnPlayerEnterRaceCheckpoint(playerid) // Наступление игрока на Гоночный Чекпоинт
public OnPlayerEnterRaceCheckpoint(playerid) // Выход игрока с Гоночного Чекпоинт
public OnPlayerPickUpPickup(playerid, pickupid) // Наступление игроком на пикап
public OnRconCommand(cmd[]) // При вводе игроком Ркон-Команды
public OnPlayerUpdate(playerid) // Данный паблик обновляется 25 раз в секунду(если меня не обманывает память)
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys) // нажатие игроком на определенную клавишу
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) // нажатие игроком клавиш в диалоге
Для начала нужно создать forward
PHP:
forward Player(playerid);
PHP:
public Player(playerid)
Один минус Stock'ов в том, что они не могут быть использованы в таймерах.
Создать Stock очень просто, вот пример:
PHP:
stock Player(playerid)
{
GivePlayerMoney(playerid, 3000);
SendClientMessage(playerid, -1, "Вы получили 3.000$");
}
PHP:
stock StringInStock(gagasha, playerid, newstring[])
{
format(newstring, 25, "Стадия: %d/3 ID:%d", gagasha, playerid);
SendClientMessage(playerid, -1, newstring);
}
PHP:
StringInStock(2, playerid); // Получится - Стадия 2/3. ID: playerid
Если вы нашли какую-либо недоработку, сообщите!
Автор Урока: Я(Steve_Johnson)
Последнее редактирование:
