|
Вниманию участников! Данный форум теперь является архивом и вскором времени здесь нельзя будет создавать новых тем! Просьба всем для общения и создания новых тем перейти на наш новый форум: http://amxmodx.su/
[ZP] Zombie Radar
|
|
Argus | Дата: Вторник, 23.06.2009, 12:34:40 | Сообщение # 1 |
AMXModX Fan
Группа: Cупер-модеры
Сообщений: 379
Статус: Не в сети
| на зомби сервере раздражает ситуация когда все игроки кроме 1-2 стали зомби, и этот(ти) последний(ие) используя особенности карты заныкаются где-нибудь и смысл игры начинает напоминать игру в прятки. соответственно, нужно как-то было рассекретить позиции Людей для зомби. мне показалась что идея далеко не оригинальная, и уже давно есть куча подобных плагинов. но я нашел только плагин для добавления Item радар для покупки, причем для Людей. а покупать каждый раунд эту важную вещь я не расчитывал. автор Sonic So. ( http://forums.alliedmods.net/showthread.php?t=88336 ) поэтому внес некоторые изменения - это не итем, он работает всегда, для всех участников команды Zombie. к сожалению, плагин не всегда отрабатывает корректно и бывает отображает ложную точку (указывает на другого зомби) - не знаю, по вине Sonic So это, или по моей. + ещё этот плагин также помогает первому единственному зобми не растеряться при игре в 20-30 игроков, и дает шанс спланировать нападение на какую-нибудь одинокую жертву.
Правила форума Поиск плагинов Последние сообщения форума
|
|
| |
HoRRoR | Дата: Воскресенье, 05.07.2009, 19:04:59 | Сообщение # 2 |
Полковник
Группа: Скриптеры
Сообщений: 181
Статус: Не в сети
| Лови. всё работает Code /* Plugin generated by AMXX-Studio */
#include <amxmodx> #include <hamsandwich> #include <zombieplague>
#define PLUGIN "Zombie Plague extra item - Radar (zombie)" #define VERSION "1.3" #define AUTHOR "Sonic Son'edit, HoRRoR"
new g_msgHostageAdd, g_msgHostageDel, g_maxplayers, g_itemid_radar;
new player_has_radar[33]; new zp_radar_beep; new zp_radar_show_dead;
new cvar_zp_radar_beep; new cvar_zp_radar_show_dead;
new const sound_radar_beep[] = "player/heartbeat1.wav"
public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_event("HLTV", "event_round_start", "a") RegisterHam(Ham_Killed, "player", "fw_PlayerKilled")
g_msgHostageAdd = get_user_msgid("HostagePos") g_msgHostageDel = get_user_msgid("HostageK") cvar_zp_radar_beep = register_cvar("zp_zombie_radar_beep", "1") cvar_zp_radar_show_dead = register_cvar("zp_zombie_radar_show_dead", "0") g_maxplayers = get_maxplayers()
g_itemid_radar = zp_register_extra_item("Dinner Scanner", 5, ZP_TEAM_ZOMBIE) for (new i = 1; i<=g_maxplayers;i++) player_has_radar[i] = false; set_task (2.0,"radar_scan",_,_,_,"b"); }
public plugin_precache() { precache_sound(sound_radar_beep) }
public plugin_cfg() { new cfgdir[32] get_localinfo("amxx_configsdir",cfgdir,sizeof cfgdir) server_cmd("exec %s/zp_radar_zombie.cfg", cfgdir) }
public event_round_start() { if (get_pcvar_num(cvar_zp_radar_beep) == 1) zp_radar_beep=true; else zp_radar_beep=false; if (get_pcvar_num(cvar_zp_radar_show_dead) == 1) zp_radar_show_dead=true; else zp_radar_show_dead=false; }
public zp_extra_item_selected(player, itemid) { if (itemid == g_itemid_radar) player_has_radar[player] = true; }
public radar_scan() { new humans_count = 0; new humans_list[32]; new HumansCoords[3]; new id, i; for (new id=1; id<=g_maxplayers; id++) { if (zp_radar_show_dead) { if (!(zp_get_user_zombie(id) || zp_get_user_nemesis(id))) { humans_count++; humans_list[humans_count]=id; } } else { if ((!(zp_get_user_zombie(id) || zp_get_user_nemesis(id)))&&(is_user_alive(id))) { humans_count++; humans_list[humans_count]=id; } } } for (id=1; id<=g_maxplayers; id++) { if ((!is_user_alive(id))||(!player_has_radar[id])) continue; for (i=1;i<=humans_count;i++) { get_user_origin(humans_list[i], HumansCoords) message_begin(MSG_ONE_UNRELIABLE, g_msgHostageAdd, {0,0,0}, id) write_byte(id) write_byte(i) write_coord(HumansCoords[0]) write_coord(HumansCoords[1]) write_coord(HumansCoords[2]) message_end() message_begin(MSG_ONE_UNRELIABLE, g_msgHostageDel, {0,0,0}, id) write_byte(i) message_end() } if (zp_radar_beep) emit_sound(id, CHAN_ITEM, sound_radar_beep, 1.0, ATTN_NORM, 0, PITCH_NORM); } }
public zp_user_infected_post(id, infector) { player_has_radar[id] = false; }
public fw_PlayerKilled(victim, attacker, shouldgib) { player_has_radar[victim] = false; }
public zp_round_ended(winteam) { for (new id=1; id<=g_maxplayers; id++) player_has_radar[id] = false; }
Сообщение отредактировал HoRRoR - Воскресенье, 05.07.2009, 19:14:16 |
|
| |
alien3run | Дата: Воскресенье, 05.07.2009, 21:03:18 | Сообщение # 3 |
Лейтенант
Группа: Пользователи
Сообщений: 54
Статус: Не в сети
| Автор помоему русский, этот Sonic всмысле
3run
|
|
| |
PomanoB | Дата: Воскресенье, 05.07.2009, 22:24:46 | Сообщение # 4 |
Генералиссимус
Группа: Cупер-модеры
Сообщений: 1313
Статус: Не в сети
| Да, и он тут на форуме был причём
http://romanov4400.mybrute.com
|
|
| |
Argus | Дата: Понедельник, 06.07.2009, 16:25:54 | Сообщение # 5 |
AMXModX Fan
Группа: Cупер-модеры
Сообщений: 379
Статус: Не в сети
| Quote (HoRRoR) Лови. всё работает к сожалению, тоже отображает лже точки (режим swarm mode)
Правила форума Поиск плагинов Последние сообщения форума
|
|
| |
Extasy | Дата: Понедельник, 06.07.2009, 18:35:26 | Сообщение # 6 |
Лейтенант
Группа: Пользователи
Сообщений: 61
Статус: Не в сети
| Как мне кажется, данная проблема связана с тем, что при появлении нового зомби, его кидает за другую тиму... мб и ошибаюсь... лично я не видел, чтобы этот плагин, где либо работал корректно
|
|
| |
HoRRoR | Дата: Понедельник, 06.07.2009, 23:02:39 | Сообщение # 7 |
Полковник
Группа: Скриптеры
Сообщений: 181
Статус: Не в сети
| хз, у меня всё нормально. темболее в условии написано если не (игрок зомби ИЛИ игрок немезис) то -- отрисовывать точку стоит на моём сервере. проблемм ен было - показывает правильно всё Добавлено (2009-07-06, 11:02 Pm) --------------------------------------------- причем когда человек перемещается из одной коммынды в другую - на радаре изменения все показываются по подробнее опиши, что там у тебя
|
|
| |
Argus | Дата: Среда, 08.07.2009, 01:02:45 | Сообщение # 8 |
AMXModX Fan
Группа: Cупер-модеры
Сообщений: 379
Статус: Не в сети
| ну, судя по скрину, нужно ещё делать проверку на то что он alive потому что, походу, мигает там, где героически скончались Человеки. + ещё, почему-то, я мигаю.
Правила форума Поиск плагинов Последние сообщения форума
|
|
| |
HoRRoR | Дата: Среда, 08.07.2009, 13:12:37 | Сообщение # 9 |
Полковник
Группа: Скриптеры
Сообщений: 181
Статус: Не в сети
| проверка такая есть - читай код. если есть желание видеть и мертвых - есть квар
|
|
| |
Argus | Дата: Среда, 08.07.2009, 19:50:01 | Сообщение # 10 |
AMXModX Fan
Группа: Cупер-модеры
Сообщений: 379
Статус: Не в сети
| проверка есть, а толку нет
Правила форума Поиск плагинов Последние сообщения форума
|
|
| |
| AMX Mod X Russian Community © 2006-2024 | |
|
| |