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

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

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

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

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

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

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

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

Переделать плагин.

, ZP 4.3
Hacker
сообщение 26.1.2013, 2:57
Сообщение #1
Стаж: 14 лет

Сообщений: 89
Благодарностей: 21
Полезность: 0

Всем привет :)

В общем есть плагин "Zombie human scanner"

Суть плагина: В магазин к зомби добавляется бонус покупки сканер радара
Т.е. зомби буду видеть людей на радаре за определенную сумму аммо-паков на 1 раунд.

Хотелось бы переделать его, чтоб зомби видели людей на радаре постоянно без всяких покупок.

Вот исходник плагина
SMA

/* 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;
}



Скажите реально ли это ?) И может кто-то переделать за "Спасибо" ?)

Отредактировал: haackje, - 26.1.2013, 2:58
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
  Тема закрытаНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: