Zombie Plague
Разное
Мастерская
Статистика
Статистика материалов Файлов: 270 Форум: 8/17 Комментариев: 53
Зарег. на сайте
Всего: 97 Новых за месяц: 0 Новых за неделю: 0 Новых вчера: 0 Новых сегодня: 0
Сайт живет
Онлайн всего: 2
Гостей: 2
Пользователей: 0
Наши баннера
[TUT ZP] Добавляем зум на Extra Items
12 Мар 2013, 20:28
И так, расскажу вам в этой статье как приделать зум вашему итему. Сразу говорю, если ваше оружие написано под такие оружия как: (AUG, SG552), то этот код вам не будет полезен, так как у AUG (CT(buy 4-4)) и у SG552 (T(buy 4-4)) имеется такой зум. И так начнем. Буду писать на примере этого оружия: [ZP] Extra Item: AK47 Red Dragon Ищем следующую строку: Код
new const Fire_Sounds[][] = { "weapons/ak47-1.wav" }
Сразу под ней добавляем следующую строку: Код
new const Sound_Zoom[] = { "weapons/zoom.wav" }
Должно получится так: Код
new const Fire_Sounds[][] = { "weapons/ak47-1.wav" } new const Sound_Zoom[] = { "weapons/zoom.wav" }
Дальше после этого добавляем эффекты для зума: Код
new g_hasZoom[33], g_Reload[33], Float:g_flNextUseTime[33]
Должно получится примерно так: Код
new const Fire_Sounds[][] = { "weapons/ak47-1.wav" } new const Sound_Zoom[] = { "weapons/zoom.wav" } new g_hasZoom[33], g_Reload[33], Float:g_flNextUseTime[33]
Далее в public plugin_init() регистрируем следующие Ham'ы, и Forward'ы: Код
RegisterHam(Ham_Item_Holster, "weapon_ak47", "akdragon_Holster_Post", 1) register_forward(FM_CmdStart, "fw_CmdStart")
Должно получится так:
public plugin_init() { register_plugin("[ZP] Extra: AK47 Red Dragon", "1.0", "Crock") register_message(get_user_msgid("DeathMsg"), "message_DeathMsg") register_event("CurWeapon","CurrentWeapon","be","1=1") RegisterHam(Ham_Item_AddToPlayer, "weapon_ak47", "fw_akdragon_AddToPlayer") RegisterHam(Ham_Use, "func_tank", "fw_UseStationary_Post", 1) RegisterHam(Ham_Use, "func_tankmortar", "fw_UseStationary_Post", 1) RegisterHam(Ham_Use, "func_tankrocket", "fw_UseStationary_Post", 1) RegisterHam(Ham_Use, "func_tanklaser", "fw_UseStationary_Post", 1) for (new i = 1; i < sizeof WEAPONENTNAMES; i++) if (WEAPONENTNAMES[i][0]) RegisterHam(Ham_Item_Deploy, WEAPONENTNAMES[i], "fw_Item_Deploy_Post", 1) RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_ak47", "fw_akdragon_PrimaryAttack") RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_ak47", "fw_akdragon_PrimaryAttack_Post", 1) RegisterHam(Ham_Item_PostFrame, "weapon_ak47", "akdragon_ItemPostFrame") RegisterHam(Ham_Weapon_Reload, "weapon_ak47", "akdragon_Reload") RegisterHam(Ham_Weapon_Reload, "weapon_ak47", "akdragon_Reload_Post", 1) RegisterHam(Ham_TakeDamage, "player", "fw_TakeDamage") register_forward(FM_SetModel, "fw_SetModel") register_forward(FM_UpdateClientData, "fw_UpdateClientData_Post", 1) register_forward(FM_PlaybackEvent, "fwPlaybackEvent") RegisterHam(Ham_Item_Holster, "weapon_ak47", "akdragon_Holster_Post", 1) register_forward(FM_CmdStart, "fw_CmdStart") RegisterHam(Ham_TraceAttack, "worldspawn", "fw_TraceAttack", 1) RegisterHam(Ham_TraceAttack, "func_breakable", "fw_TraceAttack", 1) RegisterHam(Ham_TraceAttack, "func_wall", "fw_TraceAttack", 1) RegisterHam(Ham_TraceAttack, "func_door", "fw_TraceAttack", 1) RegisterHam(Ham_TraceAttack, "func_door_rotating", "fw_TraceAttack", 1) RegisterHam(Ham_TraceAttack, "func_plat", "fw_TraceAttack", 1) RegisterHam(Ham_TraceAttack, "func_rotating", "fw_TraceAttack", 1) cvar_dmg_akdragon = register_cvar("zp_akdragon_dmg", "1.0") cvar_recoil_akdragon = register_cvar("zp_akdragon_recoil", "1.0") cvar_clip_akdragon = register_cvar("zp_akdragon_clip", "30") cvar_spd_akdragon = register_cvar("zp_akdragon_spd", "1.0") cvar_akdragon_ammo = register_cvar("zp_akdragon_ammo", "180") g_itemid_akdragon = zp_register_extra_item("[As. Rifle] \rAK47 Red Dragon", 5, ZP_TEAM_HUMAN) g_MaxPlayers = get_maxplayers() gmsgWeaponList = get_user_msgid("WeaponList") }
Зеленым текстом выделено то, что я вставил. Далее в public plugin_precache() где нибудь с новой строки, добавляем прекеш файла звука зума Код
precache_sound(Sound_Zoom)
У меня получилось так: Зеленым текстом выделено то что я вставил. Далее, где нибудь в центре кода добавляем следующий текст:
public fw_CmdStart(id, uc_handle, seed) { if(g_Reload[id]) return PLUGIN_HANDLED if(!is_user_alive(id)) return PLUGIN_HANDLED if((get_uc(uc_handle, UC_Buttons) & IN_ATTACK2) && !(pev(id, pev_oldbuttons) & IN_ATTACK2)) { new szClip, szAmmo new szWeapID = get_user_weapon(id, szClip, szAmmo) if(szWeapID == CSW_AK47 && g_has_akdragon[id] && !g_hasZoom[id] == true) { g_hasZoom[id] = true cs_set_user_zoom(id, CS_SET_AUGSG552_ZOOM, 0) emit_sound(id, CHAN_ITEM, Sound_Zoom, 0.20, 2.40, 0, 100) } else if(szWeapID == CSW_AK47 && g_has_akdragon[id] && g_hasZoom[id]) { g_hasZoom[id] = false cs_set_user_zoom(id, CS_RESET_ZOOM, 0) } } return PLUGIN_HANDLED } public akdragon_Holster_Post(weapon_entity) { static Player Player = get_pdata_cbase(weapon_entity, OFFSET_WEAPONOWNER, OFFSET_LINUX_WEAPONS) g_flNextUseTime[Player] = 0.0 if(g_has_akdragon[Player]) { cs_set_user_zoom(Player, CS_RESET_ZOOM, 1) } }
Отлично! Теперь ищем следующую строку: Код
public akdragon_Reload_Post(weapon_entity)
В нее где то по центру добавляем следующую функцию: Код
cs_set_user_zoom(id, CS_RESET_ZOOM, 1)
У меня получилось так:
public akdragon_Reload_Post(weapon_entity) { new id = pev(weapon_entity, pev_owner) if (!is_user_connected(id)) return HAM_IGNORED if (!g_has_akdragon[id]) return HAM_IGNORED if (g_akdragon_TmpClip[id] == -1) return HAM_IGNORED set_pdata_int(weapon_entity, m_iClip, g_akdragon_TmpClip[id], WEAP_LINUX_XTRA_OFF) set_pdata_float(weapon_entity, m_flTimeWeaponIdle, AK47DRAGON_RELOAD_TIME, WEAP_LINUX_XTRA_OFF) set_pdata_float(id, m_flNextAttack, AK47DRAGON_RELOAD_TIME, PLAYER_LINUX_XTRA_OFF) set_pdata_int(weapon_entity, m_fInReload, 1, WEAP_LINUX_XTRA_OFF) cs_set_user_zoom(id, CS_RESET_ZOOM, 1) UTIL_PlayWeaponAnimation(id, AK47DRAGON_RELOAD) return HAM_IGNORED }
Зеленым текстом выделено где то, что я вставил. Так же, если вы хочете сделать зум на другое оружие то вам надо: Заменить везде weapon_ak47 на то оружие, под которое у вас написан плагин. Полный список оружий, с правильным названием: Так же, все надписи akdragon , вам нужно будет заменить на название вашего Extra Item'а! Внимание! Надписи CSW_AK47 то же нужно менять на свои! К примеру на m4a1: CSW_M4A1 И они должны быть обязательно с большой буквы! Вот и все. Вот такая легенькая статья которая научит вас делать зум для вашего оружия! Источник: zombie-panic.com.ua
Категория: Статьи | Добавил: Вадим
| Теги: добавляем , items , Extra , Tut
Просмотров: 1505
| Рейтинг: 0.0 /0
Добавлять комментарии могут только зарегистрированные пользователи.
[
Регистрация |
Вход ]
• Nexon Zombies •
На данный момент сервер в разработке
Наш чат
Copyright by Z ombie-P anic.C om.U a © 2012-2024
Скачать ZP, Скачать ZP MOD, Скачать Zombie plague, Скачать зомби мод, Плагины для зомби сервера, Скачать плагины для зомби сервера, Скачать Extra items, Скачать модели оружия для зомби сервера, Скачать зомби сервер, CS 1.6 zombie mod, Готовые зомби сервера, CS 1.6 Зомби мод, Игровые зомби сервера, Зомби сервера.