AMX MOD X
Среда, 31.12.2025, 18:59:28



Приветствую Вас Гость | RSS
[ Главная ] [ Скрытие количества живых противников - Страница 3 - AMX Mod X Форум ] [ Регистрация ] [ Вход ]
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]

Вниманию участников! Данный форум теперь является архивом и вскором времени здесь нельзя будет создавать новых тем! Просьба всем для общения и создания новых тем перейти на наш новый форум: http://amxmodx.su/

  • Страница 3 из 4
  • «
  • 1
  • 2
  • 3
  • 4
  • »
Модератор форума: AlMod, slogic  
Скрытие количества живых противников
DaTaДата: Суббота, 30.08.2008, 13:14:29 | Сообщение # 31
Генерал-полковник
Группа: Cупер-модеры
Сообщений: 1025
Репутация: 16
Статус: Не в сети
Quote (Brute)
Тут всё написано

эт я давно уже прочитал

возможно эти сообщения как-то взаимодействуют порядком О_.

 
BruteДата: Суббота, 30.08.2008, 14:23:05 | Сообщение # 32
Генерал-полковник
Группа: Скриптеры
Сообщений: 1123
Репутация: 9
Статус: Не в сети
Quote (DaTa)
возможно эти сообщения как-то взаимодействуют порядком О_.

хз, хз если DeathMsg не блокировать, тогда ScoreAttrib не устанавливается-вот как всё взаимо связано. %)
 
BruteДата: Суббота, 30.08.2008, 16:45:19 | Сообщение # 33
Генерал-полковник
Группа: Скриптеры
Сообщений: 1123
Репутация: 9
Статус: Не в сети
Code
#include <amxmodx>

#define OPTIMTIME 0.1

public plugin_init()
{
  register_plugin("Score Attrib Block", "T 2.0", "Brute")
  register_cvar("amx_score_msg_block", "1")
  register_message(get_user_msgid("DeathMsg"), "death_msg_block")
  register_message(get_user_msgid("ScoreAttrib"), "score_msg_block")
}
public score_msg_block()
{
  if(get_cvar_num("amx_score_msg_block") == 1)
  {
   if(get_msg_arg_int(2) == 1)
    set_msg_arg_int(2, ARG_SHORT, 0)
  }
}

public death_msg_block()
{
  if(get_cvar_num("amx_score_msg_block") == 1)
  {
   new victim = read_data(2)
   set_task(OPTIMTIME, "CheckTeam", victim)
   return 1
  }
  return 0
}

public CheckTeam(victim)
{
  new team = get_user_team(victim)
  new players[32], pnum = 0
  if(team == 1)
  {
   get_players(players, pnum, "ceh", "TERRORIST")
   for(new i=0; i<pnum; i++)
    create_msg(players[i], victim, 1)
   get_players(players, pnum, "ceh", "CT")
   for(new i=0; i<pnum; i++)
    create_msg(players[i], victim, 0)
  }
  if(team == 2)
  {
   get_players(players, pnum, "ceh", "TERRORIST")
   for(new i=0; i<pnum; i++)
    create_msg(players[i], victim, 0)
   get_players(players, pnum, "ceh", "CT")
   for(new i=0; i<pnum; i++)
    create_msg(players[i], victim, 1)
  }
  get_players(players, pnum, "ceh", "SPECTATOR")
  for(new i=0; i<pnum; i++)
   create_msg(players[i], victim, 1)
}

public create_msg(id, victim, flag)
{
  message_begin(MSG_ONE, get_user_msgid("ScoreAttrib"), _, id)
  write_byte(victim)
  write_byte(flag)
  message_end()
}

Теперь всё... Тестим, товарищи из колхоза... ;)

Прикрепления: 1055755.sma (1.5 Kb)
 
gOOdRichДата: Суббота, 30.08.2008, 17:08:57 | Сообщение # 34
Генерал-майор
Группа: Пользователи
Сообщений: 251
Репутация: 2
Статус: Не в сети
Учитывать будешь информацию кого ты убил и кто тебя убил, как в Дизаблере у Хроника?
 
BruteДата: Суббота, 30.08.2008, 17:12:37 | Сообщение # 35
Генерал-полковник
Группа: Скриптеры
Сообщений: 1123
Репутация: 9
Статус: Не в сети
Quote (gOOdRich)
Учитывать будешь информацию кого ты убил и кто тебя убил, как в Дизаблере у Хроника?

Что-то не очень понял. ЗЫ я не смотрел другие плагины, просто блокирую DeathMsg и ScoreAttrib, потом определяю команду игрока и посылаю его комрадам(и спектрам) ScoreAttrib о том, что их товарищь труп.
 
gOOdRichДата: Суббота, 30.08.2008, 17:26:22 | Сообщение # 36
Генерал-майор
Группа: Пользователи
Сообщений: 251
Репутация: 2
Статус: Не в сети
Глянь, как опцию можно внедрить эти сообщения! Death Message Disabler - AlliedModders
 
BruteДата: Суббота, 30.08.2008, 17:43:22 | Сообщение # 37
Генерал-полковник
Группа: Скриптеры
Сообщений: 1123
Репутация: 9
Статус: Не в сети
Quote (gOOdRich)
Глянь, как опцию можно внедрить эти сообщения! Death Message Disabler - AlliedModders

Может проще не блокировать DeathMsg? :D Просто отпустить...

Quote (Brute)
Может проще не блокировать DeathMsg? :D Просто отпустить...

Чё за хрень если месагу пустить дальше, то выставляется dead... Короче ладно сделаю опчию принта в чат, как у хроника.

Quote (gOOdRich)
Глянь, как опцию можно внедрить эти сообщения! Death Message Disabler - AlliedModders

Там сообщения выводятся только киллеру и пострадавшему, также хочешь?


Сообщение отредактировал Brute - Суббота, 30.08.2008, 17:43:51
 
gOOdRichДата: Суббота, 30.08.2008, 18:00:14 | Сообщение # 38
Генерал-майор
Группа: Пользователи
Сообщений: 251
Репутация: 2
Статус: Не в сети
Совершенно верно! Сообщения киллеру и жертве! Ну, если асилишь оставить спрайты дезмессаг только им же, было бы - сильно!!!
 
BruteДата: Воскресенье, 31.08.2008, 09:52:42 | Сообщение # 39
Генерал-полковник
Группа: Скриптеры
Сообщений: 1123
Репутация: 9
Статус: Не в сети
вот смотри, не куда не чего не печатает, просто создает заново DeathMsg для победившего и побежденного.
Нашёл один мощный баг, в прошлой версии я не совсем правильно использовал get_user_msgid("DeathMsg"), в результате команда не определялась. Короче мне самому понравился это плагин, а мне редко что нравится.

Добавлено (2008-08-30, 7:38 Pm)
---------------------------------------------
Забыл сказать я поменял название квары и самого исходника, а ещё я забыл впечатать код сюда:

Code
#include <amxmodx>

#define OPTIMTIME 0.2

public plugin_init()
{
  register_plugin("Score Attrib Block", "T 3.0", "Brute")
  register_cvar("amx_score_attrib_block", "1")
  register_event("DeathMsg", "death_event", "a")
  register_message(get_user_msgid("DeathMsg"), "death_msg_block")
  register_message(get_user_msgid("ScoreAttrib"), "score_msg_block")
}

public score_msg_block()
{
  if(get_cvar_num("amx_score_attrib_block") != 0)
  {
   if(get_msg_arg_int(2) == 1)
    set_msg_arg_int(2, ARG_SHORT, 0)
  }
}

public death_msg_block()
{
  if(get_cvar_num("amx_score_attrib_block") != 0)
   return 1
  return 0
}

public death_event()
{
  if(get_cvar_num("amx_score_attrib_block") != 0)
  {
   new killer = read_data(1)
   new victim = read_data(2)
   new headshot = read_data(3)
   new weapon[32]
   read_data(4, weapon, 31)
   create_deathmsg(killer, killer, victim, headshot, weapon)
   create_deathmsg(victim, killer, victim, headshot, weapon)
   set_task(OPTIMTIME, "CheckTeam", victim)
  }
}

public CheckTeam(victim)
{
  new players[32], specnum, playersnum
  new teamname[12]
  get_user_team(victim, teamname, 11)
  get_players(players, playersnum, "e", teamname)
  for(new i=0; i<playersnum; i++)
   create_msg(players[i], victim, 1)

  get_players(players, specnum, "e", "SPECTATOR")
  for(new i=0; i<specnum; i++)
   create_msg(players[i], victim, 1)
}

public create_deathmsg(id, killer, victim, headshot, weapon[])
{
  message_begin(MSG_ONE, get_user_msgid("DeathMsg"), _, id)
  write_byte(killer)
  write_byte(victim)
  write_byte(headshot)
  write_string(weapon)
  message_end()
}

public create_msg(id, victim, flag)
{
  message_begin(MSG_ONE, get_user_msgid("ScoreAttrib"), _, id)
  write_byte(victim)
  write_byte(flag)
  message_end()
}

Добавлено (2008-08-31, 9:52 Am)
---------------------------------------------
Ну работает хоть?

Прикрепления: score_attrib_bl.sma (1.7 Kb)
 
gOOdRichДата: Воскресенье, 31.08.2008, 14:29:58 | Сообщение # 40
Генерал-майор
Группа: Пользователи
Сообщений: 251
Репутация: 2
Статус: Не в сети
Ток завтра тесты, у меня же на работе все! Завтра отчет! ;)
 
gOOdRichДата: Понедельник, 01.09.2008, 07:18:35 | Сообщение # 41
Генерал-майор
Группа: Пользователи
Сообщений: 251
Репутация: 2
Статус: Не в сети
Валицца сервер с игроками... :(

Прикрепления: 2373318.jpg (7.3 Kb)


Сообщение отредактировал gOOdRich - Понедельник, 01.09.2008, 07:25:32
 
WhiteBearДата: Вторник, 02.09.2008, 03:04:56 | Сообщение # 42
Подполковник
Группа: Пользователи
Сообщений: 132
Репутация: 2
Статус: Не в сети
не гуд ((

идея плагина оочень хороша !!!!!

 
BruteДата: Среда, 03.09.2008, 21:22:13 | Сообщение # 43
Генерал-полковник
Группа: Скриптеры
Сообщений: 1123
Репутация: 9
Статус: Не в сети
Code
#include <amxmodx>

#define OPTIMTIME 0.2

public plugin_init()
{
  register_plugin("Score Attrib Block", "T 3.1", "Brute")
  register_cvar("amx_score_attrib_block", "1")
  register_event("DeathMsg", "death_event", "a")
  register_message(get_user_msgid("DeathMsg"), "death_msg_block")
  register_message(get_user_msgid("ScoreAttrib"), "score_msg_block")
}

public score_msg_block()
{
  if(get_cvar_num("amx_score_attrib_block") != 0)
  {
   if(get_msg_arg_int(2) == 1)
    set_msg_arg_int(2, ARG_SHORT, 0)
  }
}

public death_msg_block()
{
  if(get_cvar_num("amx_score_attrib_block") != 0)
   return 1
  return 0
}

public death_event()
{
  if(get_cvar_num("amx_score_attrib_block") != 0)
  {
   new killer = read_data(1)
   new victim = read_data(2)
   new headshot = read_data(3)
   new weapon[32]
   read_data(4, weapon, 31)
   create_deathmsg(killer, killer, victim, headshot, weapon)
   if(killer != victim)
    create_deathmsg(victim, killer, victim, headshot, weapon)
   set_task(OPTIMTIME, "CheckTeam", victim)
  }
}

public CheckTeam(victim)
{
  new players[32], specnum, playersnum
  new teamname[12]
  get_user_team(victim, teamname, 11)
  get_players(players, playersnum, "e", teamname)
  if(playersnum > 0)
  {
   for(new i=0; i<playersnum; i++)
    create_msg(players[i], victim, 1)
  }
  get_players(players, specnum, "e", "SPECTATOR")
  if(specnum > 0)
  {
   for(new i=0; i<specnum; i++)
    create_msg(players[i], victim, 1)
  }
}

public create_deathmsg(id, killer, victim, headshot, weapon[])
{
  if(!is_user_connected(id))
   return 1

  message_begin(MSG_ONE, get_user_msgid("DeathMsg"), _, id)
  write_byte(killer)
  write_byte(victim)
  write_byte(headshot)
  write_string(weapon)
  message_end()

  return 1
}

public create_msg(id, victim, flag)
{
  message_begin(MSG_ONE, get_user_msgid("ScoreAttrib"), _, id)
  write_byte(victim)
  write_byte(flag)
  message_end()
}
Прикрепления: score_attrib_bl.sma (1.9 Kb)
 
gOOdRichДата: Четверг, 04.09.2008, 06:46:39 | Сообщение # 44
Генерал-майор
Группа: Пользователи
Сообщений: 251
Репутация: 2
Статус: Не в сети
Теперь все вроде в норме!!! Молодца !!! ;)
Еще одна деталь, если не сможешь, то не страшно!!!
Если смотришь спектром за своим игроком, неплохо было бы видеть его дезмесаги, т.н. кого он завалил и кто его!!!
 
BruteДата: Четверг, 04.09.2008, 14:05:55 | Сообщение # 45
Генерал-полковник
Группа: Скриптеры
Сообщений: 1123
Репутация: 9
Статус: Не в сети
Code
#include <amxmodx>

#define OPTIMTIME 0.2

new players[32], specnum, playersnum

public plugin_init()
{
  register_plugin("Score Attrib Block", "S 4.0", "Brute")
  register_cvar("amx_score_attrib_block", "1")
  register_event("DeathMsg", "death_event", "a")
  register_message(get_user_msgid("DeathMsg"), "death_msg_block")
  register_message(get_user_msgid("ScoreAttrib"), "score_msg_block")
}

public score_msg_block()
{
  if(get_cvar_num("amx_score_attrib_block") != 0)
  {
   if(get_msg_arg_int(2) == 1)
    set_msg_arg_int(2, ARG_SHORT, 0)
  }
}

public death_msg_block()
{
  if(get_cvar_num("amx_score_attrib_block") != 0)
   return 1
  return 0
}

public death_event()
{
  if(get_cvar_num("amx_score_attrib_block") != 0)
  {
   new killer = read_data(1)
   new victim = read_data(2)
   new headshot = read_data(3)
   new weapon[32]
   read_data(4, weapon, 31)
   create_deathmsg(killer, killer, victim, headshot, weapon)
   if(killer != victim)
    create_deathmsg(victim, killer, victim, headshot, weapon)
   get_players(players, specnum, "e", "SPECTATOR")
   if(specnum > 0)
   {
    for(new i=0; i<specnum; i++)
     create_deathmsg(players[i], killer, victim, headshot, weapon)
   }
   set_task(OPTIMTIME, "CheckTeam", victim)
  }
}

public CheckTeam(victim)
{
  new teamname[12]
  get_user_team(victim, teamname, 11)
  get_players(players, playersnum, "e", teamname)
  if(playersnum > 0)
  {
   for(new i=0; i<playersnum; i++)
    create_msg(players[i], victim, 1)
  }
  get_players(players, specnum, "e", "SPECTATOR")
  if(specnum > 0)
  {
   for(new i=0; i<specnum; i++)
    create_msg(players[i], victim, 1)
  }
}

public create_deathmsg(id, killer, victim, headshot, weapon[])
{
  if(!is_user_connected(id))
   return 1

  message_begin(MSG_ONE, get_user_msgid("DeathMsg"), _, id)
  write_byte(killer)
  write_byte(victim)
  write_byte(headshot)
  write_string(weapon)
  message_end()

  return 1
}

public create_msg(id, victim, flag)
{
  message_begin(MSG_ONE, get_user_msgid("ScoreAttrib"), _, id)
  write_byte(victim)
  write_byte(flag)
  message_end()
}
Прикрепления: score_attrib_bl.sma (2.1 Kb)
 
  • Страница 3 из 4
  • «
  • 1
  • 2
  • 3
  • 4
  • »
Поиск:

AMX Mod X Russian Community © 2006-2025