Доступ к архиву

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

Все о public's в pawno

Статус
В этой теме нельзя размещать новые ответы.

ChIp*

Компетентный
У всех часто возникают вопросы,а как,что куда?
Все много знают про функции павно,примера SetPlayerPos и так далее...
В этом уроке я расскажу вам о пабликах (public)

PHP:
public OnFilterScriptInit() 
{ 
print("\n--------------------------------------"); 
print(" Blank Filterscript by your name here"); 
print("--------------------------------------\n"); 
return 1; 
}
Вот наш первый паблик. Этот паблик включает себя все, что должно происходить при включении фильтерскрипта.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

PHP:
public OnFilterScriptExit() 
{ 
return 1; 
}
Этот паблик отвечает за все происходящее при выключении фильтерскрипта.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

PHP:
public OnGameModeInit() 
{ 
// Don't use these lines if it's a filterscript 
SetGameModeText("Blank Script"; 
AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0); 
return 1; 
}
А вот он уже паблик мода. В нем все функции, приходящие в действие при включении мода.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

PHP:
SetGameModeText("Blank Script");
Это название мода. Меняем Blank Script на своё, например DM 2010.

PHP:
AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
Вот с этим уже разберемся поподробней. Это скин, заключенный в мод. Если все так и будет, то в моде будет доступен всего лишь 1 скин CJ, который будет спавниться в Лас Вентурас. Для того, чтобы исправить это, открываем папку с игрой (GTA San Andreas), находим файл samp_debug и выбираем Launch Debug. Происходит обычная загрузка SA-MP, но вместо обычного вида на пляж в Лос Сантос мы появляемся в Лос Сантос около надписи VINEWOOD Сиджеем. Не пугайтесь, это обычное дело. Итак, насчет скинов. Для начала выберите место, где хотите, чтобы появлялся ваш скин. Выбрали? Окей. Идем к этому месту. Если нужна машина, вызываем окно чата кнопкой F6 и прописываем команду /vsel. Листать авто можно кнопками L.Shift и R.Shift. Находим нужное авто и кликаем Enter. Вот мы добрались до нужного места. Становимся на это место именно так, как хотели бы, чтобы появлялся персонаж. Теперь кликаем клавиши F11 и F12, выбираем нужный скин и прописываем команду /save. Вот мы сохранили спавн игрока.Теперь заходим в \Мои документы\GTA San Andreas User Files\SAMP и открываем файл savedpositions.txt. Последняя строка, начинающаяся на AddPlayerClass это и есть спавн игрока. Вставляем её в public OnGameModeInit(). Если мы хотим несколько скинов, то втавляем спавны один за другим.
Теперь попробую обьяснить еще подробнее.
Строку

PHP:
AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
Можно обьяснить иначе

PHP:
AddPlayerClass(Модель игрока, X, Y, Z, Направление, Оружие 0, Боеприпасы 0, Оружие 1, Боеприпасы 1, Оружие 2, Боеприпасы 2);
Модель игрока можно узнать здесь, "X", "Y" and "Z" - координаты точки возрождения, "направление" - направление куда лицом смотрит персонаж. Номера оружия можно найти ниже, а номера боеприпасов - просто количество боеприпасов на оружие которое вы хотите им давать при возрождении (Количество боеприпасов оружия ближнего боя всегда должно равняться 0).

Теперь поговорим о спавнах авто. Спавны авто также следует вставлять в public OnGameModeInit(). Спавн авто выглядит примерно так

[phpAddStaticVehicle(445,1364.4244,-1287.0857,13.3821,24.7950,30,30);[/php]
Это спавн авто Гринвуд у аммунации Лос Сантоса.
Для того, чтобы поставить свой спавн авто, совершаем уже знакомую нам операцию. Открываем папку с игрой (GTA San Andreas), находим файл samp_debug и выбираем Launch Debug. Появляемся в Лос Сантос около надписи VINEWOOD Сиджеем. Для начало выберем место, где хотим, чтобы появлялось наше авто, затем вызываем окно чата кнопкой F6 и прописываем команду /vsel. Находим нужное авто и кликаем Enter. Вот мы добрались до нужного места. Не вылезая из авто прописываем команду /save. Вот мы сохранили спавн авто.Теперь заходим в \Мои документы\GTA San Andreas User Files\SAMP и открываем файл savedpositions.txt. Последняя строка, начинающаяся на AddStaticVehicle это и есть спавн авто. Вставляем её в public OnGameModeInit(). Если мы хотим несколько авто, то втавляем спавны один за другим.

Теперь попробую обьяснить еще подробнее.
Строку

PHP:
AddStaticVehicle(445,1364.4244,-1287.0857,13.3821,24.7950,30,30);
Можно обьяснить иначе

PHP:
AddStaticVehicle(Модель авто, X, Y, Z, Направление, Цвета);
Модель авто можно узнать здесь, "X", "Y" and "Z" - координаты точки возрождения, "направление" - направление куда направлено передом авто, "цвета" - цвет авто.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

PHP:
public OnGameModeExit() 
{ 
return 1; 
}
Этот паблик отвечает за все происходящее при выключении мода.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

PHP:
public OnPlayerRequestClass(playerid, classid) 
{ 
SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746); 
SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746); 
SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746); 
return 1; 
}
Этот паблик отвечает за все происходящее при выборе персонажа.

SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
- Позиция персонажа при выборе

SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
- Позиция камеры

SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
- Направление камеры на определенное место

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

PHP:
public OnPlayerConnect(playerid) 
{ 
return 1; 
}
Этот паблик отвечает за все происходящее при присоединении игрока к серверу. Сюда можно вставить привествие. Будет выглядить так.

PHP:
public OnPlayerConnect(playerid) 
{ 
SendClientMessage(playerid,0xFF66FFAA,"Добро пожаловать на наш сервер"); 
return 1; 
}
Если сделать так, то при входе игрока на сервер ему будет выдаваться сообщение розовым цветом Добро пожаловать на наш сервер.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

PHP:
public OnPlayerDisconnect(playerid, reason) 
{ 
return 1; 
}
Этот паблик отвечает за все происходящее при отсоединении игрока от сервера.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

PHP:
public OnPlayerSpawn(playerid) 
{ 
return 1; 
}
Этот паблик отвечает за все происходящее при спавне игрока.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

PHP:
public OnPlayerDeath(playerid, killerid, reason) 
{ 
return 1; 
}
Этот паблик отвечает за все происходящее при смерти игрока.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

PHP:
public OnVehicleSpawn(vehicleid) 
{ 
return 1; 
}
Этот паблик отвечает за все происходящее при спавне авто.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

PHP:
public OnVehicleDeath(vehicleid, killerid) 
{ 
return 1; 
}
Этот паблик отвечает за все происходящее при взрыве авто.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

PHP:
public OnPlayerText(playerid, text[]) 
{ 
return 1; 
}
Этот паблик отвечает за все происходящее при написании игрока в чат любого символа.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

PHP:
public OnPlayerPrivmsg(playerid, recieverid, text[]) 
{ 
return 1; 
}
Этот паблик отвечает за все происходящее при получении игроку приватного сообщения.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

PHP:
public OnPlayerCommandText(playerid, cmdtext[]) 
{ 
if (strcmp("/mycommand", cmdtext, true, 10) == 0) 
{ 
// Do something here 
return 1; 
} 
return 0; 
}
Этот паблик отвечает за все команды сервера. Здесь уже создана команда /mycommand, но действие к ней не предназначено. Попробуем убить игрока. Вместо

PHP:
// Do something here
Напишем

PHP:
SetPlayerHealth(playerid, 0);
Теперь при вводе команды /mycommand игрок будет умирать.
Дальше.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

PHP:
public OnPlayerInfoChange(playerid) 
{ 
return 1; 
}
Этот паблик отвечает за все происходящее при изменении информации игрока.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

PHP:
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger) 
{ 
return 1; 
}
Этот паблик отвечает за все происходящее при входе игрока в авто.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

PHP:
public OnPlayerExitVehicle(playerid, vehicleid) 
{ 
return 1; 
}
Этот паблик отвечает за все происходящее при выходе игрока из авто.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

PHP:
public OnPlayerStateChange(playerid, newstate, oldstate) 
{ 
return 1; 
}
Этот паблик отвечает за все происходящее при изменении статистики игрока.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

PHP:
public OnPlayerEnterCheckpoint(playerid) 
{ 
return 1; 
}
Этот паблик отвечает за все происходящее при входе игрока на чекпоинт.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

PHP:
public OnPlayerLeaveCheckpoint(playerid) 
{ 
return 1; 
}
Этот паблик отвечает за все происходящее при выходе игрока с чекпоинта.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

PHP:
public OnPlayerEnterRaceCheckpoint(playerid) 
{ 
return 1; 
}[php]
Этот паблик отвечает за все происходящее при входе игрока на гонку. 

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

[php]public OnPlayerLeaveRaceCheckpoint(playerid) 
{ 
return 1; 
}
Этот паблик отвечает за все происходящее при выходе игрока с гонки.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

PHP:
public OnRconCommand(cmd[]) 
{ 
return 1; 
}
Этот паблик отвечает за все происходящее при использовании игрока ркон команды.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


PHP:
public OnObjectMoved(objectid) 
{ 
return 1; 
}
Этот паблик отвечает за все происходящее при движении обьекта.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

PHP:
public OnPlayerObjectMoved(playerid, objectid) 
{ 
return 1; 
}
Этот паблик отвечает за все происходящее при движении игрока обьекта.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

PHP:
public OnPlayerPickUpPickup(playerid, pickupid) 
{ 
return 1; 
}
Этот паблик отвечает за все происходящее при входе игрока на пикап.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

PHP:
public OnPlayerSelectedMenuRow(playerid, row) 
{ 
return 1; 
}
Этот паблик отвечает за все происходящее при выборе игрока пункта меню.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

PHP:
public OnPlayerExitedMenu(playerid) 
{ 
return 1; 
}
Этот паблик отвечает за все происходящее при закрытии меню игрока.


Источник: wiki.wiki.pawno-info.ru
Извините если ошибся разделом)
 
Последнее редактирование модератором:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу