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

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

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

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

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

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

Stive_Leroy[GRA]

Изучающий
Регистрация
3 Июл 2012
Сообщения
182
Лучшие ответы
0
Репутация
49
Всем привет, вот вообщем то я заметил, что уроки с пикапами очень плохо описываются, и многи новечки не понимая что тут написано просто напросто, копипастят.
И вот я решил расписать всё подробно.


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

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

PHP:
new mypickup;

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

Есть два пути добавления пикапов. CreatePickup and 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 означает что пикап буден виден во всех виртуальных мирах.


Для примера создадим пачку денег в центре Грув Стрит.
Теперь мы должны выбрать ID модели пикапа здесь. ID пачки денег - 1274.
Так же мы должны выбрать тип добавляемого пикапа. Нам нужно чтобы при подборе, пикап исчезал, а потом через некоторое время появлялся. Под это описание подходит 2-ой тип.
Пикапы обычно создаются при запуске скриптов/модов, то есть в 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;
}

Ну вот вообщем то и всё, надеюсь кому нибудь теперь стало ясно как создаются пикапы.

by Stivka
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу