NEW_INFO_HUDMESSAGE

  
Добавил NewGame Просмотров: 1293 Комментариев: 14
NEW_INFO_HUDMESSAGE
Данный плагин облегчит не много игру, допустим не придется залазить в турнирную таблицу(TAB) и смотреть свой счет, считать кол-во игроков сервера, прописывать постоянное /rank и смотреть свою статистику, так же отображает карту на которой проходит игра.
Плагин использует функцию set_task с интервалом обновления в 3 секунды.
Значения в плагине постоянно кэшируются.
Здесь же у вас все на лицо. Пользуйтесь на здоровье.

Скачать файл

NEW_INFO_HUDMESSAGE

Дата добавления материала: 2018 » Ноябрь » 5 | время: 18:16
ПРИ ПОЛНОМ КОПИРОВАНИИ МАТЕРИАЛА - УКАЗЫВАЙТЕ ССЫЛКУ НА CS-AMBA.RU!
Всего комментариев: 14
PyccKue
0 PyccKue 18.01.2019 в 11:17
вот я скачал исходник, глянул, я не скриптер, опыт маленький, но я увидел всего один таск, который подписан таск, остальное dhud, где плохие кадры?
помогите кто знает, почему так обсирают плагин? zloy zloy god
HatsuneMike
0 HatsuneMike 18.01.2019 в 13:43
Потому что такой маленький плагин не оптимизирован должным образом!

1. Автор почему то завел константы, которые используются только один раз, а то что повторяется очень много он инициализирует каждый раз (я про 28 строку). В итоге получаются лишние данные в куче и частое копирование строк.

2. Таски для каждого игрока с неоправданно маленьким интервалом. Это максимум 32 объекта вместо одного.

3. Он получает название карты таске, Карл?!

4. В описание написано, что что-то там кэшируется, а на деле ничего.

5. Он еще деньги клянчит.
6u3oH
0 6u3oH 18.01.2019 в 21:18
Я уже писал ниже, что реализация и оптимизация здесь ужасные, тупо продублировали.
Думаю, что подобные плагины вообще не стоят того, чтобы автору делать замечания, ибо он их не примет к сведению
NewGame
0 NewGame 27.01.2019 в 09:59
С чего такой вывод?
Я начинающий скриптер, и мне важна критика, а делать такие уверенные выводы не зная человека, не стоит.
NightFury
0 NightFury 07.11.2018 в 18:48
Код

#include <amxmodx>
#include <fakemeta>
#include <csx>

new g_SyncHud, g_Map[32], g_Humans

public plugin_init()
{
  register_plugin("NEW_INFO_HUDMESSAGE", "2.0", "NewGame_PL + 406")
  g_SyncHud = CreateHudSyncObj()
  get_mapname(g_Map, 31)
  set_task(3.0, "Health_INFO", 6453, _, _, "b")
}

public client_putinserver(player) g_Humans++
public client_disconnect(player) g_Humans--

public Health_INFO(id)
{
  static iPlayers[32], iCount, player, Stats[8], BodyHits[8], iRang, iStatsNum
  iStatsNum = get_statsnum()
  get_players(iPlayers, iCount, "ach")
  set_hudmessage(255, 255, 255, 0.01, 0.20, 0, 0.0, 0.0, 3.0, 0.1)
  for(new i; i < iCount; i++)
  {
  player = iPlayers[i]
  iRang = get_user_stats(player, Stats, BodyHits)
  ShowSyncHudMsg(player, g_SyncHud, "[Map: %s][Humans: %d]^n[Murders: %d][Deaths: %d]^n[Rang: %d/%d]", g_Map, g_Humans, Stats[0], Stats[1], iRang, iStatsNum)
  //ShowSyncHudMsg(player, g_SyncHud, "[Health: %i][Map: %s][Humans: %d]^n[Murders: %d][Deaths: %d]^n[Rang: %d/%d]", pev(player, pev_health), g_Map, g_Humans, Stats[0], Stats[1], iRang, iStatsNum)
  }
}
6u3oH
0 6u3oH 05.11.2018 в 22:15
1. Зачем кол-во тасков, равных кол-ву игроков на сервере? Нужно создавать один таск, в котором по циклу производить работу с игроками. Куда более эффективнее будет в одном таске делать цикл, чем кучей тасков нагружать сервер.
2. Зачем интервал работы таска 0.3 секунды? Единственное, что может часто меняться - здоровье игрока, нахождение которого в информере бесполезно - оно уже отображается стандартным худом. Вывод здоровья нужно убрать, а интервал таска увеличить.
3. Зачем кэшируется кол-во игроков, если эта переменная используется 1 раз? Если это попытка оптимизации, то она неудачная, только зря память занимать будет.
4. Очередной случай, когда айди таска путают с айди игрока.

Ужасная реализация 20 строчек кода.
Ragamafona
0 Ragamafona 05.11.2018 в 23:31
Можно при входе плюсовать переменную, при выходе минуснуть.
NewGame
0 NewGame 05.11.2018 в 23:42
Вы меня конечно извините, но я не опытный скриптер и особых навыков и знаний так сказать нет. Да и плагин я этот писал в 16 году.
Но, я приму к сведению недостатки которые вы указали.
Lunt1ik
0 Lunt1ik 06.11.2018 в 01:13
Ответ от знакомого скриптера который мне делает заказы

1. Таскы не будут накладываться друг на друга в отличие от одного. А значит на один кадр меньше нагрузки

3. Просто и удобно. Лучше чем передавать как массив с данными ИД игрока. И
не надо говорить что в другом плагине будет такой же ИД. Они не
пересекаются
pro100web
0 pro100web 07.11.2018 в 23:13
а вот с третьим пунктом поспорю
Velman
0 Velman 05.11.2018 в 19:37
Проверил работает :)
Код
[ 23] NEW_INFO_HUDMESSAGE  1.5  NewGame_PL  new_info_hudmes  running
NewGame
0 NewGame 05.11.2018 в 19:44
приятного пользования :)
misterdok2018
0 misterdok2018 05.11.2018 в 20:02
Спасибо большое, очень полезный плагин!)
NewGame
0 NewGame 05.11.2018 в 20:12
не за что, пользуйтесь :3
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход
]