Здесь я рассмотрю public'и их функцию и предназначение. Не судите строго, урок делаю для тех кто начал писать в Pawno, но не полностью орентируется в нём.
public OnFilterScriptInit() или public OnGameModeInit()//данный public отвечает за запуск скрипта или мода. То есть что в данном public есть, то в первую очередь отобразится. Обычно сюда добавляют объекты и авто.
Code
SetGameModeText("Название мода)");
SetTimer("Имя", 1000, true);//Таймер (не обязательно)
ShowPlayerMarkers(1);//показывать иконки игроков на радаре 1-вкл 0-выкл
ShowNameTags(1);//Показать ники 1-вкл 0-выкл
EnableStuntBonusForAll(1);//Деньги за трюки 1-вкл 0-выкл
AddPlayerClass(id скина,X,Y,Z,Угол,Weapon1,ammo1,Weapon2,ammo2,Weapon3,ammo3);//добавить скин игрока при включении сервера
AddStaticVehicle(id,X,Y,Z,Угол,цвет1,цвет2);//добавить авто при включении сервера
public OnPlayerConnect(playerid)//данный public отвечает за подключение игрока или вход на сервер
(некоторые люди любят вставлять суда функцию, которая показывает кто подключился )
Code
GameTextForPlayer(playerid, "~w~PYCCK~b~NN CE~r~PBEP!", 5000, 3);
SendClientMessage(playerid, 0xFFFF00AA, "Добро пожаловать к нам .");//Тексты которые видят игроки, когда заходят к вам (конектятся)
SetPlayerMapIcon( playerid, ID иконки, 414.5210, 2535.6313, 19.1484, 5, 0 );//Иконка на радар для пришедших игроков (координаты постав те свой)
new string[85],pname[24];
GetPlayerName(playerid,pname,24);
format(string,sizeof(string),"*** %s пришел(а) к нам.(ID:%d)",pname,playerid);//эта функция показывает кто пришел к нам
SendClientMessageToAll(COLOR_GREEN,string);
public OnPlayerDisconnect(playerid, reason)//даный public отвечает за выход игрока из сервера
Code
new string[85],pname[24];
GetPlayerName(playerid,pname,24);
format(string,sizeof(string),"*** %s покинул(а) наш сервер.(ID:%d) Прощай мишка!!! ",pname,playerid);
SendClientMessageToAll(COLOR_GREEN,string);
public OnPlayerSpawn(playerid)//данный public отвечает за появление игрока в начале игры и после смерти
Code
GivePlayerMoney(playerid, 50000);//даем денег
TogglePlayerClock(playerid,1);//устанавливаем время
public OnPlayerDeath(playerid, killerid, reason)//данный public отвечает за смерть игрока(сюда вставлять фраги и деньги за убийства)
Code
if(killerid == INVALID_PLAYER_ID)
{
SetPlayerScore(playerid,GetPlayerScore(playerid)-1);//отнимаем 1 очко у горе игрока
}
else
{
SetPlayerScore(playerid,GetPlayerScore(playerid)-1);//отнимаем 1 очко у игрока которому не повезло встретится с другим игроком
SetPlayerScore(killerid,GetPlayerScore(killerid)+1 );//Прибавляем 1 очко убийце
}
public OnPlayerCommandText(playerid, cmdtext[])//данный public отвечает за команды
Code
if (strcmp("/своя команда", cmdtext, true, 10)==0)//здесь проведена команда телепорт
{
SetPlayerPos(playerid, 1669.0194, 1569.9172, 10.7752);
SendClientMessage(playerid, 0xFFFFFFAA, "Вы оказались в Лас Вентурас ");
public OnPlayerText(playerid, text[])//данный public отвечает за чат
Code
GivePlayerMoney(playerid, -10);//отнимаем деньги за разговор в чате
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)//данный public отвечает за "вход" в машину
public OnPlayerExitVehicle(playerid, vehicleid)//данный public отвечает за "выход" из машины
public OnPlayerEnterCheckpoint(playerid)//данный public отвечает за "вход" в маркер/чекпойнт
public SetupPlayerForClassSelection(playerid)//данный public отвечает за выбор игрока (экран выбора)
Code
SetPlayerInterior(playerid,14);
SetPlayerPos(playerid,258.4893,-41.4008,1002.0234);//позиция
SetPlayerFacingAngle(playerid, 270.0);//угол
SetPlayerCameraPos(playerid,256.0815,-43.0475,1004.0234);//позиция камеры
SetPlayerCameraLookAt(playerid,258.4893,-41.4008,1002.0234);
Если у Вас есть public Имя_любое(playerid), но в public OnGameModeInit() есть SetTimer("Имя_любое",время,true);//то данный public отвечает за действие после истечения времени
Code
public Имя таймера()
{
действие после истечения времени
}
Здесь проведены конечно не все publici, но они все таки встречаются при написании мода и скрипта!