[ZP5.0][TUT]Extra Items №2



В данной новости мы будем рассматривать natives и forwards из zp50_items.ini, а так же будем рассматривать наглядные примеры.
Начнем с natives


1.Данный натив регистрирует extra item

native zp_items_register(const name[], cost)

Параметр name - название предмета
Параметр cost - стоимость предмета

Пример:
public plugin_init()           g_itemid = zp_items_register("Item", 10")


в нашем случае g_itemid - переменная самой экстра вещи

2.Данный натив делает проверку экстра вещей

native zp_items_get_id(const real_name[])


Параметр name - имя предмета

Пример:
if(zp_items_get_id(Item))         Ваш код...


В данном примере мы делаем проверку то есть если это вещь название которой Item то... там ваш код=).
Item - это параметр name в нативе который мы разобрали первым

3.данный натив делает проверку на стоимость вещи

native zp_items_get_cost(itemid)


Параметр itemid - itemid предмета из 1 натива который мы разобрали itemid это g_itemid

Пример:
if(zp_items_get_cost(g_itemid) > 20)        Ваш код..


по другому если стоимость предмета переменная которого g_itemid более 20 то исполняется ваш код.

4.Данный натив показывает меню Extra Items

native zp_items_show_menu(id)


Параметр id - Индекс игрока которому покажет это меню

Пример:
public fw_SpawnPost(id)        zp_items_show_menu(id)


в данном примере я написал если персонаж возрождается то ему показывается меню, естественно я ранее зарегистрировал forward fw_SpawnPost

5.Данный натив выдает игроку вещь указанную вами из Extra items

native zp_items_force_buy(id, itemid, ignorecost = false)


Параметр id - Индекс игрока которому дастся данный предмет

Параметр itemid - itemid вещи которая дастся

Параметр ignorecost - Игнорирование стоимости, то есть если вы напишите true тогда у игрока не отнимется игровая валюта, а если false тогда игрок заплатит полную стоимость данной вещи

Пример:
public fw_SpawnPost(id)   zp_items_force_buy(id, g_itemid, true)


я здесь написал когда игрок возрождается ему бесплатно выдается вещь с переменной g_itemid

Переходим на forwards

1.Данный forward отслеживает момент перед покупкой вещи

forward zp_fw_items_select_pre(id, itemid, ignorecost)


Параметр id - Индекс Игрока
Параметр itemid - Индекс Вещи
Параметр ignorecost - игнорирование стоимости предмета

Пример:
zp_fw_items_select_pre(id, itemid, ignorecost)           if(itemid == g_itemid)                                   if(zp_core_is_zombie(id))                                return ZP_ITEM_DONT_SHOW           



Здесь я написал если Индекс вещи g_itemid и если игрок зомби то данный предмет просто не показывается ему в главном меню extra items

2.Данный forward отслеживает момент когда человек купил вещь

forward zp_fw_items_select_post(id, itemid, ignorecost)



Параметр id - Индекс Игрока
Параметр itemid - Индекс Вещи
Параметр ignorecost - игнорирование стоимости предмета

Пример:
public zp_fw_items_select_post(id, itemid, ignorecost)                 if(itemid == g_itemid)                                           cs_set_user_money(id, cs_get_user_money(id) + 10)                  

Здесь я написал если itemid вещи g_itemid то ему дается 10 money

Вот и все мы с вами разобрали не все нативы, но это хоть что-то)

Комментарии 8

  1. DeMNiX от 1 апреля 2012 10:29
    Полезно =) Спасибо, некоторые не знал
  2. DimeX от 1 апреля 2012 10:32
    Молодец, с твоими статьями можно потиху кодингу научиться. Как на счет статьи о том, как класику из zp50 добавить свои звуки, вот так же подробно?)

    Знаю что информации по этому приему достаточно, но все-таки.
    --------------------
    Мой канал на youtube: DimeX-By
    Infection Mode - Первая попытка создать зомби шутер на андроид.
  3. Sugarv от 1 апреля 2012 10:37
    я уже делал примерно такую статью, но если хотите позже еще подробнее выложу

    zombie-mod*ru/counte_strike/stati/8123-tutzpsounds*html#more
  4. DRON_PRO от 1 апреля 2012 10:51
    ааеееее спс большое :10:
  5. Oleg от 1 апреля 2012 11:09
    :5:
  6. DimeX от 1 апреля 2012 11:55
    Ну обычный класик с zp50 сбалансированный зомби без всяких способностей.

    kazan, именно на примере классика хотелось бы.
    --------------------
    Мой канал на youtube: DimeX-By
    Infection Mode - Первая попытка создать зомби шутер на андроид.
  7. DarkSlayerXIV от 1 апреля 2012 12:06
    Хех не знал некоторого :hi:
  8. Geet от 5 апреля 2012 12:35
    Знал , но спс за статью думаю многим пригодится)))
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.