[ZP50][TUT]Extra Items

[ZP50][TUT]Extra Items

Всем привет в данной статье я опишу как сделать броню в extra items для администраторов, ну и описание как это все сделать

Начнем.
1.Создаем файл форматом .sma
2.В него вписываем следующие include

#include <amxmodx>#include <fakemeta>#include <zp50_items>#include <zp50_core>

3.Создаем переменные
new const g_item_name[] =  "Anti-Infection Armor" //Название Extra itemconst g_item_cost = 5//Стоимостьnew const g_sound_buyarmor[] =  "items/tr_kevlar.wav" //Переменная и директория к звуку который будет проигрываться при покупки брониconst g_armor_amount = 100//Кол-во брони выдаваемое за покупкуconst g_armor_limit = 999//Максимальное кол-во брониnew g_itemid_humanarmor//Переменная предмета в extra items


4.Создаем
public plugin_precache()


в нем делаем загрузку клиенту звука
precache_sound(g_sound_buyarmor)

5.Создаем
public plugin_init()


в нем регестрируем плагин и Экстра Вещь
register_plugin("[ZP50]Armor", "1.0", "Vendetta")g_itemid_humanarmor = zp_items_register(g_item_name, g_item_cost)


6.Создаем
public zp_fw_items_select_pre(id, itemid, ignorecost)


Это момент перед покупкой вещи

пишем в нем
if (itemid != g_itemid_humanarmor)//Проверка  return ZP_ITEM_AVAILABLE;if (zp_core_is_zombie(id)) //Если игрок [url=http://zombie-mod.ru]зомби[/url] то ему не показывается данная вещь  return ZP_ITEM_DONT_SHOW;if (get_user_flags(id) == 0)// Если у человека нет никаких флагов админа ему тоже не будет показыватся, специально продемонстрировал это что бы потом вопросов не было  return ZP_ITEM_DONT_SHOW;return ZP_ITEM_AVAILABLE;


7.Создаем
public zp_fw_items_select_post(id, itemid, ignorecost)


Это момент когда человек купил вещь

Пишем в нем
if (itemid != g_ItemID)return;set_pev(player, pev_armorvalue, float(min(pev(player, pev_armorvalue)+g_armor_amount, g_armor_limit)))engfunc(EngFunc_EmitSound, player, CHAN_BODY, g_sound_buyarmor, 1.0, ATTN_NORM, 0, PITCH_NORM)


Вод допустим легкий плагин с помощью которого мы сделал броню для людей с Флагами доступа

Плагин сделанный для примера, может быть вы что-то поймете)
Потом выложу статью с объяснением инклюдов

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

  1. DimeX от 31 марта 2012 09:46
    Спасибо, было познавательно.

    if (itemid != g_ItemID) - вот это строчка ошибку выдает. g_ItemID неопознанный символ.
    --------------------
    Мой канал на youtube: DimeX-By
    Infection Mode - Первая попытка создать зомби шутер на андроид.
  2. nikyta от 31 марта 2012 10:56
    :5:
    Cпасибо за статью, пригодится!!!
  3. shmelev от 31 марта 2012 11:24
    Полезная статья :zz:
  4. 33_RUS_Wolf от 31 марта 2012 11:48
    :5:
  5. Sugarv от 31 марта 2012 16:17
    g_ItemdID замени на g_itemid_humanarmor
  6. DimeX от 31 марта 2012 18:38
    Welcome to the AMX Mod X 1.8.1-300 Compiler.
    Copyright (c) 1997-2006 ITB CompuPhase, AMX Mod X Team

    Warning: Function "zp_fw_items_select_pre" should return a value on line 31
    Warning: Loose indentation on line 36
    Error: Undefined symbol "player" on line 36
    Warning: Expression has no effect on line 36
    Error: Undefined symbol "player" on line 36
    Error: Invalid expression, assumed zero on line 36
    Error: Too many error messages on one line on line 36

    Compilation aborted.
    4 Errors.
    Could not locate output file D:\Games\Server\cstrike\addons\amxmodx\scripting\zp50\zp50_item_armor.am
    x (compile failed).
    --------------------
    Мой канал на youtube: DimeX-By
    Infection Mode - Первая попытка создать зомби шутер на андроид.
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.