#Config
Умник
Всем привет, вот вообщем то я заметил, что уроки с пикапами очень плохо описываются, и многи новечки не понимая что тут написано просто напросто, копипастят.
И вот я решил так сказать, испробовать свои силы.
И вот я решил так сказать, испробовать свои силы.
Объявление переменной.
Первое что нужно сделать при добавлении пикапа, это объявить переменную, которая будет присваивать ID добавляемого пикапа. Это будет глобальная переменная.(Т.е может быть использована в нескольких функциях) мы будем её использовать при добавлении пикапа, и в авто вызываемой функции. Объявление этой переменной желательно в начале мода(или хотя бы до функций OnGameModeInIt и OnPlayerPickupPickup). На примере дадим название переменной "Mypickup".
PHP:
new mypickup;
Добавление пикапа.
Есть два пути добавления пикапов. CreatePickup и AddStaticPickup. AddStaticPickup не возвращает ID созданного пикапа при его создании, не может быть удален и может быть добавлен исключительно в OnGameModeInit_RU, по этому мы будем использовать CreatePickup.
Синтаксис функции CreatePickup:
Параметры:
Синтаксис функции CreatePickup:
Параметры:
(model,type,Float:X,Float:Y,Float:Z,Virtualworld)
model Модель добавляемого пикапа.
type Тип создаваемого пикапа.
Float:X X-координата добавляемого пикапа.
Float:Y Y-координата добавляемого пикапа.
Float:Z Z-координата добавляемого пикапа. Virtualworld ID виртуального мира пикапа. ID -1 означает что пикап буден виден во всех виртуальных мирах.
Для примера создадим пачку денег в центре Grove Street.
Теперь мы должны выбрать ID модели пикапа здесь. ID пачки денег - 1274.
Так же мы должны выбрать тип добавляемого пикапа. Нам нужно чтобы при подборе, пикап исчезал, а потом через некоторое время появлялся. Под это описание подходит 2-ой тип.
Пикапы обычно создаются при запуске скриптов/модов, т.e в OnGameModeInit_RU или OnFilterScriptInit_RU, но мы можем добавлять их и в других функциях (например в OnPlayerDeath_ru для создания пикапов с оружием.
Теперь мы должны выбрать ID модели пикапа здесь. ID пачки денег - 1274.
Так же мы должны выбрать тип добавляемого пикапа. Нам нужно чтобы при подборе, пикап исчезал, а потом через некоторое время появлялся. Под это описание подходит 2-ой тип.
Пикапы обычно создаются при запуске скриптов/модов, т.e в OnGameModeInit_RU или OnFilterScriptInit_RU, но мы можем добавлять их и в других функциях (например в OnPlayerDeath_ru для создания пикапов с оружием.
PHP:
mypickup = CreatePickup(1274, 2, 2491.7900, -1668.1653, 13.3438, -1);
Указание того, что будет при подборе пикапа.
Когда вы подбираете пикап, автоматически вызывается функция OnPlayerPickUpPickup_RU, используя playerid (ID игрока, поднявшего пикап) и pickupid, ID подбираемого пикапа.
Там мы можем добавить действий над игроком и пикапом.
Некоторые пикапы, такие как здоровье, броня, оружия по умолчанию запрограммированы, и не нуждаются в использовании OnPlayerPickUpPickup.
Когда игрок поднимает наш пикап, мы хотим дать ему 100$, но чтобы это сделать мы должны проверить, подобрал ли он именно денежный пикап:
Там мы можем добавить действий над игроком и пикапом.
Некоторые пикапы, такие как здоровье, броня, оружия по умолчанию запрограммированы, и не нуждаются в использовании OnPlayerPickUpPickup.
Когда игрок поднимает наш пикап, мы хотим дать ему 100$, но чтобы это сделать мы должны проверить, подобрал ли он именно денежный пикап:
PHP:
public OnPlayerPickUpPickup(playerid, pickupid)
{
if(pickupid == mypickup) // Проверка, поднял ли игрок именно денежный пикап
{
SendClientMessage(playerid, 0xFFFFFFFF, "Вы получили $100!"); // Сообщить игроку
GivePlayerMoney(playerid, 100); // Давание игроку денег
}
// Если вы хотите использовать это для других пикапов:
else if (pickupid == название_другой_переменной)
{
// Необходимые действия...
}
return 1;
}
Удачи!
