Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

> Правила форума

Этот раздел, как вы могли заметить по названию, предназначен для решения вопросов по поводу уже существующих модов и плагинов.
Пожалуйста, если у вас проблема с написанием плагина, не путайте этот раздел с разделом по скриптингу.
Для поиска плагинов и модов существует соответствующий раздел.

Название темы должно соответствовать содержанию. Темы с названием типа "Помогите", "Вопрос", "парни подскажите..." - будут удалены.
Все темы, не относящиеся к "Вопросам по модам и плагинам", будут удалены или перемещены в соответствующий раздел.

Правила оформления темы:
1. Помимо заголовка не забудьте верно сформулировать свой вопрос.
2. Выложите исходник (в тег кода + ) или ссылку на плагин который вызывает у вас вопросы.
3. Выложите лог с ошибками (если имеется) под спойлер

Сканер радара

Статус пользователя Fred Perry
сообщение 13.8.2014, 22:30
Сообщение #1


Иконка группы

Стаж: 16 лет

Сообщений: 6594
Благодарностей: 2370
Полезность: 813

Вот есть плагин сканер радара. Когда играешь за зомби, покупаешь сканер радара и потом берешь антидот - на радаре противники не пропадают, а наоборот всех показывает и своих и чужих и себя (типа я был зм и меня как врага показывает)

Код:
#include <amxmodx>
#include <hamsandwich>
#include <zombieplague>

#define PLUGIN "Zombie Plague extra item - Radar"
#define VERSION "1.2"
#define AUTHOR "Sonic Son'edit & Accelerator"

new g_msgHostageAdd, g_msgHostageDel, g_maxplayers, g_itemid_radar;

new player_has_radar[33], playerz_has_radar[33];

public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)

RegisterHam(Ham_Killed, "player", "fw_PlayerKilled")

g_msgHostageAdd = get_user_msgid("HostagePos")
g_msgHostageDel = get_user_msgid("HostageK")

g_maxplayers = get_maxplayers()

g_itemid_radar = zp_register_extra_item("Radar Scanner", 8, ZP_TEAM_HUMAN & ZP_TEAM_ZOMBIE)

set_task (2.0,"radar_human",_,_,_,"b");
set_task (2.1,"radar_zombie",_,_,_,"b");
}

public client_connect(id)
{
player_has_radar[id] = false;
playerz_has_radar[id] = false;
}

public zp_extra_item_selected(player, itemid)
{
if (itemid == g_itemid_radar)
{
if (zp_get_user_zombie(player))
{
playerz_has_radar[player] = true;
}
else
{
player_has_radar[player] = true;
}
client_print(player, print_chat, "[ZP] You bought Radar Scanner");
}
}

public radar_human()
{
new zombie_count = 0;
new zombie_list[32];
new ZombieCoords[3];
new id, i;

for (new id=1; id<=g_maxplayers; id++)
{
if (is_user_connected(id) && zp_get_user_zombie(id) && is_user_alive(id))
{
zombie_count++;
zombie_list[zombie_count]=id;
}
}

for (id=1; id<=g_maxplayers; id++)
{
if (!is_user_alive(id) || !player_has_radar[id]) continue;

for (i=1;i<=zombie_count;i++)
{
get_user_origin(zombie_list[i], ZombieCoords)

message_begin(MSG_ONE_UNRELIABLE, g_msgHostageAdd, {0,0,0}, id)
write_byte(id)
write_byte(i)
write_coord(ZombieCoords[0])
write_coord(ZombieCoords[1])
write_coord(ZombieCoords[2])
message_end()

message_begin(MSG_ONE_UNRELIABLE, g_msgHostageDel, {0,0,0}, id)
write_byte(i)
message_end()
}
}
}

public radar_zombie()
{
new humans_count = 0;
new humans_list[32];
new HumansCoords[3];
new id, i;

for (new id=1; id<=g_maxplayers; id++)
{
if (is_user_connected(id) && !zp_get_user_zombie(id) && is_user_alive(id))
{
humans_count++;
humans_list[humans_count]=id;
}
}

for (id=1; id<=g_maxplayers; id++)
{
if (!is_user_alive(id) || !playerz_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()
}
}
}

public zp_user_infected_post(id, infector)
player_has_radar[id] = false;

public zp_user_humanized_post(id)
playerz_has_radar[id] = false;

public fw_PlayerKilled(victim, attacker, shouldgib)
{
player_has_radar[victim] = false;
playerz_has_radar[victim] = false;
}

public zp_round_ended(winteam)
{
for (new id=1; id<=g_maxplayers; id++)
{
player_has_radar[id] = false;
playerz_has_radar[id] = false;
}
}

Это не помогает
Код:
public zp_user_humanized_post(id)
playerz_has_radar[id] = false;


Гнилой фашистской нечисти
Загоним пулю в лоб,
Отродью человечества
Сколотим крепкий гроб!
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: