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

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

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

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

TripMine_Laser_Customizer

, FM_AddToFullPack
Статус пользователя ssx
сообщение 14.6.2015, 20:50
Сообщение #1


Стаж: 12 лет

Сообщений: 2237
Благодарностей: 1343
Полезность: 836

Начитался в инете что FM_AddToFullPack жрет много ЦП .

У меня эту функцию юзает плагин "TripMine Laser Customizer" "0.1.1" "PomanoB, KORD_12.7"

Код плагина
Код:
/* AMX Mod X
* TripMine Laser Customizer
*
* http://aghl.ru/forum/ - Russian Half-Life and Adrenaline Gamer Community
*
* This file is provided as is (no warranties)
*/

#include <amxmodx>
#include <fakemeta_util>
#include <hamsandwich>

#define PLUGIN "TripMine Laser Customizer"
#define VERSION "0.1.1"
#define AUTHOR "PomanoB, KORD_12.7"

new
Array: g_Colors,
g_CvarTripmineRender,
g_CvarLaserColor,
g_CvarLaserBrightness,
g_CvarLaserNoise,
g_IsRandomRGB,
g_BrightCached,
g_NoiseCached,
g_RGB[3]

public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_cvar("tripmine_custom", VERSION, FCVAR_SPONLY | FCVAR_SERVER | FCVAR_UNLOGGED)

register_forward(FM_AddToFullPack, "fwdAddToFullPack", 1)
RegisterHam(Ham_Spawn, "monster_tripmine", "fw_TripmineSpawnPost", 1)

g_CvarLaserColor = register_cvar("tripmine_laser_color", "random")
g_CvarLaserBrightness = register_cvar("tripmine_laser_brightness", "128")
g_CvarLaserNoise = register_cvar("tripmine_laser_noise", "1")
g_CvarTripmineRender = register_cvar("tripmine_render", "1")

g_Colors = ArrayCreate(8)
}

public plugin_cfg()
{
new color[16]
get_pcvar_string(g_CvarLaserColor, color, charsmax(color))

if(equali(color, "random"))
{
g_IsRandomRGB = 1

new i, maxEnt = global_get(glb_maxEntities)

for(i = 0; i < maxEnt; i++)
ArrayPushArray(g_Colors, {0, 0, 0})
}
else
{
g_IsRandomRGB = 0

new r[4], g[4], b[4]; trim(color)
parse(color, r, charsmax®, g, charsmax(g), b, charsmax(b))

g_RGB[0] = str_to_num®
g_RGB[1] = str_to_num(g)
g_RGB[2] = str_to_num(b)
}

g_BrightCached = get_pcvar_num(g_CvarLaserBrightness)
g_NoiseCached = get_pcvar_num(g_CvarLaserNoise)
}

public plugin_end()
{
ArrayDestroy(g_Colors)
}

public fw_TripmineSpawnPost(ent)
{
if(pev_valid(ent))
{
new rgb[3]

if(g_IsRandomRGB)
{

rgb[0] = random_num(0, 255)
rgb[1] = random_num(0, 255)
rgb[2] = random_num(0, 255)

ArraySetArray(g_Colors, ent, rgb)
}
else
{
rgb[0] = g_RGB[0]
rgb[1] = g_RGB[1]
rgb[2] = g_RGB[2]
}

if(get_pcvar_num(g_CvarTripmineRender))
fm_set_rendering(ent, kRenderFxGlowShell, rgb[0], rgb[1], rgb[2], kRenderNormal, 16)
}

return HAM_IGNORED
}

public fwdAddToFullPack(es, e, ent, host, flags, player, set)
{
if(pev_valid(ent))
{
static classname[32]
pev(ent, pev_classname, classname, charsmax(classname))

if(equali(classname, "beam"))
{
static ent2
ent2 = pev(ent, pev_skin)

if(pev_valid(ent2))
{
pev(ent2, pev_classname, classname, charsmax(classname))

if(equali(classname, "monster_tripmine"))
{
if(g_IsRandomRGB)
{
static rgb[3]; ArrayGetArray(g_Colors, ent2, rgb)
set_es(es, ES_RenderColor, rgb)
}
else
set_es(es, ES_RenderColor, g_RGB)

set_es(es, ES_RenderAmt, g_BrightCached)
set_es(es, ES_Body, g_NoiseCached)

return FMRES_HANDLED
}
}
}
}

return FMRES_IGNORED
}



Помогите сделать что бы не юзал функцию FM_AddToFullPack/не жрало много ЦП


[Half-Life DM FFA] 78.152.169.100:27016
[CS 1.6 GunGame] 78.152.169.100:27018
[CS 1.6 DM AIM] 78.152.169.100:27017
[CS 1.6 DM FFA] 78.152.169.100:27015
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Safety1st
сообщение 14.6.2015, 21:17
Сообщение #2
Стаж: 14 лет
Город: Moscow

Сообщений: 7228
Благодарностей: 8071
Полезность: 196

Откажись от эффекта. Если бы луч можно было настраивать без фуллпака - они бы так и сделали.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя ssx
сообщение 14.6.2015, 21:31
Сообщение #3


Стаж: 12 лет

Сообщений: 2237
Благодарностей: 1343
Полезность: 836

Случайно наткнулся на тему: https://forums.alliedmods.net/showthread.php?t=183762


Код плагина
Код:
/* AMX Mod X
* TripMine Laser Customizer
*
* <a href="http://aghl.ru/forum/" target="_blank">http://aghl.ru/forum/</a> - Russian Half-Life and Adrenaline Gamer Community
*
* This file is provided as is (no warranties)
*/

#include <amxmodx>
#include <fakemeta_util>
#include <hamsandwich>

#define PLUGIN "TripMine Laser Customizer"
#define VERSION "0.2"
#define AUTHOR "KORD_12.7, [LF] | Dr.Freeman"

new
Array: g_Colors,
g_CvarTripmineRender,
g_CvarLaserColor,
g_CvarLaserBrightness,
g_CvarLaserNoise,
g_IsRandomRGB,
Float:g_BrightCached,
g_NoiseCached,
g_RGB[3]

#define m_pBeam 176

public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_cvar("tripmine_custom", VERSION, FCVAR_SPONLY | FCVAR_SERVER | FCVAR_UNLOGGED)

RegisterHam(Ham_Spawn,"monster_tripmine","fw_TripmineSpawnPost",1)

g_CvarLaserColor = register_cvar("tripmine_laser_color", "random")
g_CvarLaserBrightness = register_cvar("tripmine_laser_brightness", "128.0")
g_CvarLaserNoise = register_cvar("tripmine_laser_noise", "1")
g_CvarTripmineRender = register_cvar("tripmine_render", "1")

g_Colors = ArrayCreate(8)
}

public plugin_cfg()
{
new color[16]
get_pcvar_string(g_CvarLaserColor, color, charsmax(color))

if(equali(color, "random"))
{
g_IsRandomRGB = 1

new i, maxEnt = global_get(glb_maxEntities)

for(i = 0; i < maxEnt; i++)
ArrayPushArray(g_Colors, {0, 0, 0})
}
else
{
g_IsRandomRGB = 0

new r[4], g[4], b[4]; trim(color)
parse(color, r, charsmax®, g, charsmax(g), b, charsmax(b))

g_RGB[0] = str_to_num®
g_RGB[1] = str_to_num(g)
g_RGB[2] = str_to_num(b)
}

g_BrightCached = get_pcvar_float(g_CvarLaserBrightness)
g_NoiseCached = get_pcvar_num(g_CvarLaserNoise)
}

public plugin_end()
{
ArrayDestroy(g_Colors)
}

public fw_TripmineSpawnPost(ent)
{
if(pev_valid(ent))
{
new rgb[3]

if(g_IsRandomRGB)
{

rgb[0] = random_num(0, 255)
rgb[1] = random_num(0, 255)
rgb[2] = random_num(0, 255)

ArraySetArray(g_Colors, ent, rgb)
}
else
{
rgb[0] = g_RGB[0]
rgb[1] = g_RGB[1]
rgb[2] = g_RGB[2]
}

if(get_pcvar_num(g_CvarTripmineRender))
fm_set_rendering(ent, kRenderFxGlowShell, rgb[0], rgb[1], rgb[2], kRenderNormal, 16)


set_task(2.5,"fw_BeamSpawn",ent)
}

return HAM_IGNORED
}

public fw_BeamSpawn(ent){
if(!pev_valid(ent))
return PLUGIN_CONTINUE

new beam = get_pdata_cbase(ent,m_pBeam,4)

if(!pev_valid(beam)){
set_task(0.05,"fw_BeamSpawn",ent) // Failed

return PLUGIN_CONTINUE
}

static Float:render[3]

if(g_IsRandomRGB){
static rgb[3]
ArrayGetArray(g_Colors,ent,rgb)

render[0] = float(rgb[0])
render[1] = float(rgb[1])
render[2] = float(rgb[2])

set_pev(beam,pev_rendercolor,render)
}else{
render[0] = float(g_RGB[0])
render[1] = float(g_RGB[1])
render[2] = float(g_RGB[2])
}

set_pev(beam,pev_renderamt,g_BrightCached)
set_pev(beam,pev_body,g_NoiseCached)

return PLUGIN_CONTINUE
}


На сколько этот плаг меньше грузит сервер от предыдущего ?

Отредактировал: ssx, - 14.6.2015, 21:32


[Half-Life DM FFA] 78.152.169.100:27016
[CS 1.6 GunGame] 78.152.169.100:27018
[CS 1.6 DM AIM] 78.152.169.100:27017
[CS 1.6 DM FFA] 78.152.169.100:27015
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Stimul1
сообщение 14.6.2015, 21:54
Сообщение #4


Стаж: 13 лет

Сообщений: 227
Благодарностей: 262
Полезность: 977

ssx, процентов на 95 меньше грузит, эта версия новее и без фуллпака (кэп).
Код:
#define PLUGIN "TripMine Laser Customizer"
#define VERSION "0.1.1"
#define AUTHOR "PomanoB, KORD_12.7"

#define PLUGIN "TripMine Laser Customizer"
#define VERSION "0.2"
#define AUTHOR "KORD_12.7, [LF] | Dr.Freeman"
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Legend21
сообщение 14.6.2015, 22:30
Сообщение #5
Стаж: 14 лет
Город: Винница

Сообщений: 604
Благодарностей: 229
Полезность: 561

ssx, любой тобой зареганный форвард будет создавать нагрузку. Но чем меньше этих форвардов в плагинах, тем меньше будет нагрузка.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Legend21
сообщение 14.6.2015, 22:44
Сообщение #6
Стаж: 14 лет
Город: Винница

Сообщений: 604
Благодарностей: 229
Полезность: 561

Stimul1, интересно, зачем тогда там остался fakemeta ? Таски тоже не лучшая идея, тем более если нету его перезагрузки.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя KORD_12.7
сообщение 14.6.2015, 22:47
Сообщение #7


Стаж: 15 лет

Сообщений: 39
Благодарностей: 57
Полезность: 753

ssx, множество оригинальных плагинов для HL ты можешь найти здесь: http://aghl.ru/forum/

Отредактировал: KORD_12.7, - 14.6.2015, 22:51
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 2 раз
   + Цитировать сообщение
Статус пользователя SISA
сообщение 14.6.2015, 22:57
Сообщение #8
Стаж: 15 лет

Сообщений: 2774
Благодарностей: 2956
Полезность: 994

Цитата(ssx @ 14.6.2015, 23:31) *
На сколько этот плаг меньше грузит сервер от предыдущего ?


Шило на мыло... Заменили фуллпак на таски, которые в каждом фрейме обрабатываются. Оно конечно меньше жрет в разы, но нагрузка всё равно будет.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Safety1st
сообщение 14.6.2015, 23:03
Сообщение #9
Стаж: 14 лет
Город: Moscow

Сообщений: 7228
Благодарностей: 8071
Полезность: 196

А в десятки тысяч раз? smile.gif
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: