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

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

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

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

Пикап с выдачей чего-либо.(Подробно)

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

#Config

Умник
Всем привет, вот вообщем то я заметил, что уроки с пикапами очень плохо описываются, и многи новечки не понимая что тут написано просто напросто, копипастят.
И вот я решил так сказать, испробовать свои силы.
​

Объявление переменной.​

Первое что нужно сделать при добавлении пикапа, это объявить переменную, которая будет присваивать ID добавляемого пикапа. Это будет глобальная переменная.(Т.е может быть использована в нескольких функциях) мы будем её использовать при добавлении пикапа, и в авто вызываемой функции. Объявление этой переменной желательно в начале мода(или хотя бы до функций OnGameModeInIt и OnPlayerPickupPickup). На примере дадим название переменной "Mypickup".​

PHP:
new mypickup;

Добавление пикапа.​

Есть два пути добавления пикапов. CreatePickup и AddStaticPickup. AddStaticPickup не возвращает ID созданного пикапа при его создании, не может быть удален и может быть добавлен исключительно в OnGameModeInit_RU, по этому мы будем использовать 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 для создания пикапов с оружием.
​

PHP:
mypickup = CreatePickup(1274, 2, 2491.7900, -1668.1653, 13.3438, -1);

Указание того, что будет при подборе пикапа.​

Когда вы подбираете пикап, автоматически вызывается функция OnPlayerPickUpPickup_RU, используя playerid (ID игрока, поднявшего пикап) и pickupid, ID подбираемого пикапа.
Там мы можем добавить действий над игроком и пикапом.
Некоторые пикапы, такие как здоровье, броня, оружия по умолчанию запрограммированы, и не нуждаются в использовании OnPlayerPickUpPickup.
Когда игрок поднимает наш пикап, мы хотим дать ему 100$, но чтобы это сделать мы должны проверить, подобрал ли он именно денежный пикап:​

PHP:
public OnPlayerPickUpPickup(playerid, pickupid) 
{ 
if(pickupid == mypickup) // Проверка, поднял ли игрок именно денежный пикап 
{ 
         SendClientMessage(playerid, 0xFFFFFFFF, "Вы получили $100!"); // Сообщить игроку 
         GivePlayerMoney(playerid, 100); // Давание игроку денег 
} 
// Если вы хотите использовать это для других пикапов: 
else if (pickupid == название_другой_переменной) 
{ 
         // Необходимые действия... 
} 
return 1; 
}
Ну в общем-то всё. Надеюсь что кому-нибудь я помог.
Удачи!
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу