|
Вниманию участников! Данный форум теперь является архивом и вскором времени здесь нельзя будет создавать новых тем! Просьба всем для общения и создания новых тем перейти на наш новый форум: http://amxmodx.su/
|
"Сквозные" моджели после фризтайма
|
|
| Romaaa | Дата: Четверг, 20.11.2008, 09:57:30 | Сообщение # 1 |
 Лейтенант
Группа: Скриптеры
Сообщений: 58
Статус: Не в сети
| добрый день, возможно есть такой плагин. но хз по каким критериям его искать в поиске... вообщем суть такова, что обычно в начале раунда после фризтайма некоторые товарищи начинают тупить или как-то через Ж бегать заслояня собой путь другим... это очень не приятно, когда в начале раунда нужно быстро занять позицию, а получается теряешь ценное время... вопрос: есть ли плагин. который в начале раунда после фризтайма делает модели игроков как-бы "сквозными", что бы через них можно было безпрепятсвенно пробегать? из условий: 1. действует это только в бай_зоне в начале каждого раунда 2. время действия таких "сквозняков", допустим, секунд 5-10 после фризтайма спасибо
Сообщение отредактировал Romaaa - Четверг, 20.11.2008, 16:13:26 |
| |
|
|
| Hatebreeder | Дата: Четверг, 20.11.2008, 11:32:48 | Сообщение # 2 |
 Подполковник
Группа: Пользователи
Сообщений: 120
Статус: Не в сети
| В biohazard/zombie plague что-то такое есть зажимаешь 'e' и проходишь сквозь игроков.
|
| |
|
|
| gOOdRich | Дата: Четверг, 20.11.2008, 11:49:53 | Сообщение # 3 |
 Генерал-майор
Группа: Пользователи
Сообщений: 251
Статус: Не в сети
| Поддержу вопрос, вещь крайне полезная!!!
|
| |
|
|
| DaTa | Дата: Четверг, 20.11.2008, 12:27:00 | Сообщение # 4 |
|
Генерал-полковник
Группа: Cупер-модеры
Сообщений: 1025
Статус: Не в сети
| Quote (Romaaa) 1. действует это только в бай_зоне в начале каждого раунда 2. время действия таких "сквозняков", допустим, секунд 5-10 после фризтайма Интересная идея, уверен, кто-то займется ею)
|
| |
|
|
| Argus | Дата: Четверг, 20.11.2008, 12:53:06 | Сообщение # 5 |
 AMXModX Fan
Группа: Cупер-модеры
Сообщений: 379
Статус: Не в сети
| интересная вещь. я щас искал подобное, что-то ничего не нашел. предлагаю потрошить biohazard/zombie plague упомянутый выше.
Правила форума Поиск плагинов Последние сообщения форума
|
| |
|
|
| Hatebreeder | Дата: Четверг, 20.11.2008, 13:02:27 | Сообщение # 6 |
 Подполковник
Группа: Пользователи
Сообщений: 120
Статус: Не в сети
| скорее всего, все таки zombie plague mod
|
| |
|
|
| SV | Дата: Четверг, 20.11.2008, 16:09:01 | Сообщение # 7 |
 Подполковник
Группа: Пользователи
Сообщений: 106
Статус: Не в сети
| Quote (Hatebreeder) скорее всего, все таки zombie plague mod В biohazard'е тоже есть! Но впервые увидел такой плагин на джамп-серверах, где игроки, занимающие очень близкое положение к товарищу, становильсь полупрозрачными и проходимыми, не мешая друг другу прыгать с одной балки на другую.
Сообщение отредактировал SV - Четверг, 20.11.2008, 16:09:14 |
| |
|
|
| CHyCMyMpNk | Дата: Четверг, 20.11.2008, 17:57:12 | Сообщение # 8 |
 Полковник
Группа: Пользователи
Сообщений: 180
Статус: Не в сети
| Quote (Hatebreeder) скорее всего, все таки zombie plague mod В плагуе такого нет , в био есть . Для плагуе я пробовал переделывать , вроде получилось ... но с ошибкой http://forums.alliedmods.net/showpost.php?p=711036&postcount=1 . Буду благодарен если кто поможет её исправить : Code [AMXX] Displaying debug trace (plugin "zp_antiblock.amxx") [AMXX] Run time error 10: native error (native "zp_get_user_zombie") [AMXX] [0] zp_antiblock.sma::fwd_touch (line 40) Вот линия : Code if(!is_user_alive(blocker) || !is_user_alive(id) && !zp_get_user_zombie(id) || !get_pcvar_num(cvar_antiblock)) Вот плаг : Code #include <amxmodx> #include <fakemeta> #include <zombieplague> enum CsTeams { CS_TEAM_UNASSIGNED = 0, CS_TEAM_T = 1, CS_TEAM_CT = 2, CS_TEAM_SPECTATOR = 3 } #define OFFSET_TEAM 114 #define cs_get_user_team(%1) CsTeams:get_pdata_int(%1, OFFSET_TEAM) new cvar_antiblock, Float:g_lasttimetouched[33] // lol public plugin_init() { register_plugin("anti block", "0.1", "cheap_suit") register_forward(FM_Touch, "fwd_touch") register_forward(FM_PlayerPreThink, "fwd_playerprethink") cvar_antiblock = register_cvar("zp_antiblock", "1") } public fwd_playerprethink(id) { if(!is_user_alive(id)) return FMRES_IGNORED static solid; solid = pev(id, pev_solid) if(solid == SOLID_NOT && (get_gametime() - g_lasttimetouched[id]) > 0.34) set_pev(id, pev_solid, SOLID_BBOX) return FMRES_IGNORED } public fwd_touch(blocker, id) { if(!is_user_alive(blocker) || !is_user_alive(id) && !zp_get_user_zombie(id) || !get_pcvar_num(cvar_antiblock)) return PLUGIN_CONTINUE static button[2] button[0] = pev(id, pev_button), button[1] = pev(blocker, pev_button) if(button[0] & IN_USE || button[1] & IN_USE) { static CsTeams:team[2] team[0] = cs_get_user_team(id), team[1] = cs_get_user_team(blocker) if(team[0] != team[1]) return FMRES_IGNORED set_pev(blocker, pev_solid, SOLID_NOT), set_pev(id, pev_solid, SOLID_NOT) static Float:gametime; gametime = get_gametime() g_lasttimetouched[id] = gametime, g_lasttimetouched[blocker] = gametime } return FMRES_IGNORED } А вот собственно для био : Code #include <amxmodx> #include <fakemeta> #include <xs> #tryinclude <biohazard>
#if !defined _biohazard_included #assert Biohazard functions file required! #endif
enum CsTeams { CS_TEAM_UNASSIGNED = 0, CS_TEAM_T = 1, CS_TEAM_CT = 2, CS_TEAM_SPECTATOR = 3 }
#define OFFSET_TEAM 114 #define cs_get_user_team(%1) CsTeams:get_pdata_int(%1, OFFSET_TEAM)
new cvar_antiblock, Float:g_lasttimetouched[33] // lol public plugin_init() { register_plugin("anti block", "0.1", "cheap_suit") is_biomod_active() ? plugin_init2() : pause("ad") }
public plugin_init2() { register_forward(FM_Touch, "fwd_touch") register_forward(FM_PlayerPreThink, "fwd_playerprethink") cvar_antiblock = register_cvar("bh_antiblock", "1") }
public fwd_playerprethink(id) { if(!is_user_alive(id)) return FMRES_IGNORED static solid; solid = pev(id, pev_solid) if(solid == SOLID_NOT && (get_gametime() - g_lasttimetouched[id]) > 0.34) set_pev(id, pev_solid, SOLID_BBOX) return FMRES_IGNORED }
public fwd_touch(blocker, id) { if(!is_user_alive(blocker) || !is_user_alive(id) || !get_pcvar_num(cvar_antiblock)) return FMRES_IGNORED static button[2] button[0] = pev(id, pev_button), button[1] = pev(blocker, pev_button) if(button[0] & IN_USE || button[1] & IN_USE) { static CsTeams:team[2] team[0] = cs_get_user_team(id), team[1] = cs_get_user_team(blocker) if(team[0] != team[1]) return FMRES_IGNORED set_pev(blocker, pev_solid, SOLID_NOT), set_pev(id, pev_solid, SOLID_NOT) static Float:gametime; gametime = get_gametime() g_lasttimetouched[id] = gametime, g_lasttimetouched[blocker] = gametime } return FMRES_IGNORED } По идеи если убрать эти строчки , то можно при нажатии "Е" проходить сквозь игроков и в обычном CS'e . Code #tryinclude <biohazard>
#if !defined _biohazard_included #assert Biohazard functions file required! #endif Code is_biomod_active() ? plugin_init2() : pause("ad")
вечное спасибо r013x'y : )
Сообщение отредактировал CHyCMyMpNk - Четверг, 20.11.2008, 17:58:41 |
| |
|
|
| gOOdRich | Дата: Вторник, 09.12.2008, 11:39:10 | Сообщение # 9 |
 Генерал-майор
Группа: Пользователи
Сообщений: 251
Статус: Не в сети
| Теперь каждый раз сталкиваясь с коллегами на старте, вспоминаю об этом плагине! Может кто все же взялся?
|
| |
|
|
| slogic | Дата: Вторник, 09.12.2008, 12:35:04 | Сообщение # 10 |
|
Генералиссимус
Группа: Админы
Сообщений: 1941
Статус: Не в сети
| Quote (CHyCMyMpNk) if(!is_user_alive(blocker) || !is_user_alive(id) && !zp_get_user_zombie(id) || !get_pcvar_num(cvar_antiblock)) неочевидное условие. && приоритетнее чем ||, т.о. твое условие вылядит так: if(!is_user_alive(blocker) || (!is_user_alive(id) && !zp_get_user_zombie(id)) || !get_pcvar_num(cvar_antiblock)) Скорее всего по моей логике вместо && надо поставить ||. А ошибка навреное из-за того, что ты не подкчлюил какой-от inc файл, в котором объявлена функция zp_get_user_zombie() или она сама дала сбой (в этом случае надо смотреть что внутри этой функции и из-за чего может быть ошибка).
|
| |
|
|
 | AMX Mod X Russian Community © 2006-2026  |  |
|
| |