Здравствуйте, гость Вход | Регистрация
Наши новости:
|
| Дата поста: | В теме: | За сообщение: | Спасибо сказали: | ||
|---|---|---|---|---|---|
| 2.11.2011, 18:00 | как сделать 1000 фпс | Это вопрос. http://ru.wikipedia.org/wiki/Риторический_вопрос По сабжу, действительно, нафига вам эти 100500 фпс? |
_Skyline | ||
| 1.11.2011, 12:08 | Серв ломают | ЛАМАЙ МЕНЯ ПОЛНОСТЬЮ! |
bomj | ||
| 25.10.2011, 19:05 | Какой античит лучше* | Да вы не шарите, РАК лучше всех! |
bomj, Dale, Kirby Magicman, nоskill | ||
| 23.10.2011, 10:59 | Оптимизированные ядра (kernel's) под hlds | L_O_T_U_S, 1 удали из строки запуска +fps_max так как это к хлдс не имеет отношения 2 используй вместо -sys_ticrate 10000 квару эту же (без -) в server.cfg Код ./hlds_run -game cstrike +ip 192.168.1.129 +port 27015 +maxplayers 32 +map de_dust2 -pingboost 3 Я твой пингбуст 3 труба шатал. Ставьте 2 и не насилуйте проц. |
_Skyline, L_O_T_U_S, ravenyd123 | ||
| 22.10.2011, 16:07 | аптечки ишу | Держи: [attachment=15154:healthkit.zip] Поправил, ещё оптимизировал и немного добавил отсебятины. |
grey | ||
| 22.10.2011, 12:25 | аптечки ишу | Trollface_and_fa..., Обновления радуют Наверное потому что этот плагин нужен не только мне но и тебе кстати, нафлудило 63к строк в консоли, ошибка L 10/22/2011 - 10:36:11: [AMXX] Run time error 10 (plugin "healthkit.amxx") (native "DisableHamForward") - debug not enabled! L 10/22/2011 - 10:36:11: [AMXX] To enable debug mode, add "debug" after the plugin name in plugins.ini (without quotes). L 10/22/2011 - 10:36:11: [HAMSANDWICH] Invalid HamHook handle. L 10/22/2011 - 10:36:11: [AMXX] Run time error 10 (plugin "healthkit.amxx") (native "DisableHamForward") - debug not enabled! L 10/22/2011 - 10:36:11: [AMXX] To enable debug mode, add "debug" after the plugin name in plugins.ini (without quotes). Я ожидал такого :) Включи дебаг. |
grey | ||
| 22.10.2011, 0:54 | аптечки ишу | Держи: [attachment=15152:healthkit.zip] 1. Оптимизировал код (теперь нагрузка будет в разы меньше); 2. Добавил новые настройки на уровне компиляции; 3. Добавил няшный эффект исчезания; 4. Добавил анимацию выпадения аптечки; 5. Убрал твёрдость; P.S. Блин, чёто я сегодня уже чересчур добрый... С тебя печанька. |
grey | ||
| 21.10.2011, 17:40 | аптечки ишу | если интересно - инфо с тестов Нагрузка при 20 человек как на 32, 3 краша за 1 час, но сервер сам по себе не стабильный считается нормальным 1-2 краша за сутки Ну у меня сервер не падает, на нагрузку особо не смотрю т.к. фпс держит. Но то, что он грузит прилично (а грузит тут register_touch) понятно. Для наглядности, если 32 стохелсовых игрока с 101 фпс одновременно станут на аптечки...то функция обработки поднятия вызовится 3232 раза в секунду, а внутри неё ещё 4-5 функций и того до 16000 вызовов в секунду. :). Насчёт ХП - то раз у тебя уже есть 100 хп (пусть и 130 максимум) то аптечка тебе явно незачем. P.S. И это ещё при том, что настройки я сделал дефайнами т.е. код, не используемый в зависимости от настроек, удаляется в процессе компиляции. Случай с кварами намного печальней. |
grey | ||
| 21.10.2011, 14:14 | аптечки ишу | healthkit.sma Код #include <amxmodx> #include <fakemeta> #define HK_GLOW 1 // Подсвечивать аптечки? 0/1 #define HK_FADE 1 // Затемнять экран при поднятии? 0/1 #define HK_REMOVE 1 // Убирать аптечки в начале раунда? 0/1 #define HK_HEALTH 15 // Сколько HP восстанавливает аптечка при простом убийстве? #define HK_HS 30 // Сколько восстанавливает аптечка при хедшоте? #define HK_FC 10 // Каков процент вероятности, что выпадет полная хиллка? #define HK_LIMIT 100 // Максимум HP у игроков? #define HK_TIME 0 // Сколько секунд апечка лежит на земле (0 - неограничено) #define HK_OWNER 0 // Может подобрать только убивший? (1 - да, но после мерти или выхода могут все, 2 - да, после смерти или выхода убирать аптечки, 3 - всегда) // Дальше не трогаем #if HK_TIME > 0 #include <engine> #endif #define min_ex(%1,%2) (%1 <= %2 ? %1 : %2) new msg_pickup; #if HK_FADE == 1 new msg_fade; #endif public plugin_init() { register_plugin("Healthkit", "3.3", "Tuty ft. Sho0ter"); #if HK_REMOVE == 1 register_event("HLTV", "ev_start", "a", "1=0", "2=0") #endif register_event("DeathMsg", "ev_death", "a", "1>0") register_forward(FM_Touch, "fm_touch"); #if HK_TIME > 0 register_think("healthkit_entity", "eg_think"); #endif #if HK_FADE == 1 msg_fade = get_user_msgid("ScreenFade"); #endif msg_pickup = get_user_msgid("ItemPickup"); return PLUGIN_CONTINUE; } public plugin_precache() { precache_model("models/w_medkit.mdl"); precache_sound("items/smallmedkit1.wav"); return PLUGIN_CONTINUE; } public ev_death() { #if HK_OWNER > 0 new kid = read_data(1); if(!is_user_connected(kid)) { kid = 0; } #endif new fc = (random_num(1, 100) <= HK_FC) new id = read_data(2); new hs = read_data(3); #if HK_OWNER == 1 || HK_OWNER == 2 remove_owner(id) #endif static Float:origin[3], ent; pev(id, pev_origin, origin); origin[2] -= 36; if(!pev_valid((ent = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "info_target"))))) { return PLUGIN_CONTINUE; } engfunc(EngFunc_SetOrigin, ent, origin); set_pev(ent, pev_classname, "healthkit_entity"); engfunc(EngFunc_SetModel, ent, "models/w_medkit.mdl"); dllfunc(DLLFunc_Spawn, ent); set_pev(ent, pev_solid, SOLID_BBOX); set_pev(ent, pev_movetype, MOVETYPE_NONE); engfunc(EngFunc_SetSize, ent, Float:{-23.160000, -13.660000, -0.050000}, Float:{11.470000, 12.780000, 6.720000}); engfunc(EngFunc_DropToFloor, ent); #if HK_GLOW == 1 set_pev(ent, pev_renderfx, kRenderFxGlowShell); set_pev(ent, pev_rendercolor, fc ? (Float:{255.0, 0.0, 0.0}) : (hs ? (Float:{0.0, 255.0, 0.0}) : (Float:{0.0, 0.0, 255.0}))); set_pev(ent, pev_rendermode, kRenderFxNone); set_pev(ent, pev_renderamt, 27.0); #endif set_pev(ent, pev_health, fc ? float(HK_LIMIT) : (hs ? float(HK_HS) : float(HK_HEALTH))); #if HK_OWNER > 0 set_pev(ent, pev_iuser1, kid); #endif #if HK_TIME > 0 set_pev(ent, pev_nextthink, get_gametime() + float(HK_TIME)); #endif return PLUGIN_CONTINUE; } public fm_touch(ent, id) { if(!pev_valid(ent)) { return FMRES_IGNORED; } static classname[32]; pev(ent, pev_classname, classname, 31); if(!equal(classname, "healthkit_entity")) { return FMRES_IGNORED; } #if HK_OWNER > 0 new kid = pev(ent, pev_iuser1); if(kid && kid != id) { return FMRES_IGNORED; } #endif new chp = pev(id, pev_health); if(chp >= HK_LIMIT) { return FMRES_IGNORED; } new hkv = pev(ent, pev_health); if(hkv == HK_LIMIT) { set_hudmessage(255, 0, 0, -1.0, 0.80, 0, 6.0, 3.0, 0.1, 0.1); } else if(hkv == HK_HS) { set_hudmessage(0, 255, 0, -1.0, 0.80, 0, 6.0, 3.0, 0.1, 0.1); } else if(hkv == HK_HEALTH) { set_hudmessage(0, 0, 255, -1.0, 0.80, 0, 6.0, 3.0, 0.1, 0.1); } show_hudmessage(id, "+ %d HP", hkv); set_pev(id, pev_health, float(min_ex(chp + hkv, HK_LIMIT))); emit_sound(id, CHAN_ITEM, "items/smallmedkit1.wav", VOL_NORM, ATTN_NORM , 0, PITCH_NORM); message_begin(MSG_ONE_UNRELIABLE, msg_pickup, _, id); write_string("item_healthkit"); message_end(); #if HK_FADE == 1 message_begin(MSG_ONE_UNRELIABLE, msg_fade , _, id); write_short(1 << 10); write_short(1 << 10); write_short(0x0000); write_byte(hkv == HK_LIMIT ? 255 : 0); write_byte(hkv == HK_HS ? 255 : 0); write_byte(hkv == HK_HEALTH ? 255 : 0); write_byte(150); message_end(); #endif engfunc(EngFunc_RemoveEntity, ent); return FMRES_IGNORED; } #if HK_TIME > 0 public eg_think(ent) { if(!pev_valid(ent)) { return FMRES_IGNORED; } engfunc(EngFunc_RemoveEntity, ent); return FMRES_IGNORED; } #endif #if HK_REMOVE == 1 public ev_start() { new ent; while((ent = engfunc(EngFunc_FindEntityByString, ent, "classname", "healthkit_entity"))) { engfunc(EngFunc_RemoveEntity, ent); } return PLUGIN_CONTINUE; } #endif #if HK_OWNER == 1 || HK_OWNER == 2 public client_disconnect(id) { return remove_owner(id); } public remove_owner(id) { new ent; while((ent = engfunc(EngFunc_FindEntityByString, ent, "classname", "healthkit_entity"))) { if(pev(ent, pev_iuser1) == id) { #if HK_OWNER == 1 set_pev(ent, pev_iuser1, 0); #else engfunc(EngFunc_RemoveEntity, ent); #endif } } return PLUGIN_CONTINUE; } #endif Допилил ещё немного и добавил шансовое выпадение 100% хиллки. P.S. Настроил себе под War3FT сервер. P.S.2. Что-то я сегодня добрый... |
grey | ||
| 21.10.2011, 12:35 | HLDS - Segmentation fault (5408) | Экстрасенс ? Или, я не совсем "втюхал" ? :) Скорее всего второе. Ошибку в новом билде Цитата Assert( Assertion Failed: FD_ISSET( fd, (fd_set *)m_pfdset ) ):/home/VALVE/alfred/valve/steam3_rel_client/src/clientdll/../common/ipcserver.cpp:956 Вызывает дефолтный server.cfg в низу которого девелопЫрЫ добавили map de_dust |
TrikSer | ||
| 20.10.2011, 14:13 | аптечки ишу | Какта так Код #include <amxmodx> #include <fakemeta> #define HK_GLOW 1 // Подсвечивать аптечки? 0/1 #define HK_FADE 1 // Затемнять экран при поднятии? 0/1 #define HK_REMOVE 1 // Убирать аптечки в начале раунда? 0/1 #define HK_HEALTH 15 // Сколько HP восстанавливает аптечка при простом убийстве? #define HK_HS 30 // Сколько восстанавливает аптечка при хедшоте? #define HK_LIMIT 100 // Максимум HP у игроков? #define HK_TIME 0 // Сколько секунд апечка лежит на земле (0 - неограничено) #define HK_OWNER 0 // Может подобрать только убивший? (1 - да, но после мерти или выхода могут все, 2 - да, после смерти или выхода убирать аптечки, 3 - всегда) // Дальше не трогаем #if HK_TIME > 0 #include <engine> #endif #define min_ex(%1,%2) (%1 <= %2 ? %1 : %2) new msg_pickup; #if HK_FADE == 1 new msg_fade; #endif public plugin_init() { register_plugin("Healthkit", "3.3", "Tuty ft. Sho0ter"); #if HK_REMOVE == 1 register_event("HLTV", "ev_start", "a", "1=0", "2=0") #endif register_event("DeathMsg", "ev_death", "a", "1>0") register_forward(FM_Touch, "fm_touch"); #if HK_TIME > 0 register_think("healthkit_entity", "eg_think"); #endif #if HK_FADE == 1 msg_fade = get_user_msgid("ScreenFade"); #endif msg_pickup = get_user_msgid("ItemPickup"); return PLUGIN_CONTINUE; } public plugin_precache() { precache_model("models/w_medkit.mdl"); precache_sound("items/smallmedkit1.wav"); return PLUGIN_CONTINUE; } public ev_death() { #if HK_OWNER > 0 new kid = read_data(1); if(!is_user_connected(kid)) { kid = 0; } #endif new id = read_data(2); new hs = read_data(3); #if HK_OWNER == 1 || HK_OWNER == 2 remove_owner(id) #endif static Float:origin[3], ent; pev(id, pev_origin, origin); origin[2] -= 36; if(!pev_valid((ent = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "info_target"))))) { return PLUGIN_CONTINUE; } engfunc(EngFunc_SetOrigin, ent, origin); set_pev(ent, pev_classname, "healthkit_entity"); engfunc(EngFunc_SetModel, ent, "models/w_medkit.mdl"); dllfunc(DLLFunc_Spawn, ent); set_pev(ent, pev_solid, SOLID_BBOX); set_pev(ent, pev_movetype, MOVETYPE_NONE); engfunc(EngFunc_SetSize, ent, Float:{-23.160000, -13.660000, -0.050000}, Float:{11.470000, 12.780000, 6.720000}); engfunc(EngFunc_DropToFloor, ent); #if HK_GLOW == 1 set_pev(ent, pev_renderfx, kRenderFxGlowShell); set_pev(ent, pev_rendercolor, hs ? (Float:{255.0, 0.0, 0.0}) : (Float:{0.0, 255.0, 0.0})); set_pev(ent, pev_rendermode, kRenderFxNone); set_pev(ent, pev_renderamt, 27.0); #endif set_pev(ent, pev_health, hs ? float(HK_HS) : float(HK_HEALTH)); #if HK_OWNER > 0 set_pev(ent, pev_iuser1, kid); #endif #if HK_TIME > 0 set_pev(ent, pev_nextthink, get_gametime() + float(HK_TIME)); #endif return PLUGIN_CONTINUE; } public fm_touch(ent, id) { if(!pev_valid(ent)) { return FMRES_IGNORED; } static classname[32]; pev(ent, pev_classname, classname, 31); if(!equal(classname, "healthkit_entity")) { return FMRES_IGNORED; } #if HK_OWNER > 0 new kid = pev(ent, pev_iuser1); if(kid && kid != id) { return FMRES_IGNORED; } #endif new chp = pev(id, pev_health); if(chp >= HK_LIMIT) { return FMRES_IGNORED; } new hkv = pev(ent, pev_health); if(hkv == HK_HEALTH) { set_hudmessage(0, 255, 0, -1.0, 0.83, 2, 6.0, 3.0); } else { set_hudmessage(255, 0, 0, -1.0, 0.83, 2, 6.0, 3.0); } show_hudmessage(id, "+ %d HP", hkv); set_pev(id, pev_health, float(min_ex(chp + hkv, HK_LIMIT))); emit_sound(id, CHAN_ITEM, "items/smallmedkit1.wav", VOL_NORM, ATTN_NORM , 0, PITCH_NORM); message_begin(MSG_ONE_UNRELIABLE, msg_pickup, _, id); write_string("item_healthkit"); message_end(); #if HK_FADE == 1 message_begin(MSG_ONE_UNRELIABLE, msg_fade , _, id); write_short(1 << 10); write_short(1 << 10); write_short(0x0000); if(chp == HK_HEALTH) { write_byte(255); write_byte(0); } else { write_byte(0); write_byte(255); } write_byte(0); write_byte(75); message_end(); #endif engfunc(EngFunc_RemoveEntity, ent); return FMRES_IGNORED; } #if HK_TIME > 0 public eg_think(ent) { if(!pev_valid(ent)) { return FMRES_IGNORED; } engfunc(EngFunc_RemoveEntity, ent); return FMRES_IGNORED; } #endif #if HK_REMOVE == 1 public ev_start() { new ent; while((ent = engfunc(EngFunc_FindEntityByString, ent, "classname", "healthkit_entity"))) { engfunc(EngFunc_RemoveEntity, ent); } return PLUGIN_CONTINUE; } #endif #if HK_OWNER == 1 || HK_OWNER == 2 public client_disconnect(id) { return remove_owner(id); } public remove_owner(id) { new ent; while((ent = engfunc(EngFunc_FindEntityByString, ent, "classname", "healthkit_entity"))) { if(pev(ent, pev_iuser1) == id) { #if HK_OWNER == 1 set_pev(ent, pev_iuser1, 0); #else engfunc(EngFunc_RemoveEntity, ent); #endif } } return PLUGIN_CONTINUE; } #endif |
grey | ||
| 20.10.2011, 11:48 | проверка cd hack | query_client_cvar вообще говнистая функция. P.S. На работает на патчах ниже 35, на metamod ниже 1.19 и на серверах amd64. |
AndrewZ, FixX | ||
| 18.10.2011, 10:04 | Падает сервер Cs 1.6 | areyouready | |||
| 17.10.2011, 16:34 | HLDS - Segmentation fault (5408) | Dev, f1nik | |||
| 17.10.2011, 10:01 | ОЗУ | Offtop: Цитата Intel Core i7-2600K или Core i7-950 8x3.4 или 8x3.06 MHz Какбэ откуда взялось 8 ядер, если оба указанные процы 4-ехядерные? :) |
_Skyline | ||
| 11.10.2011, 12:09 | Лагает сервер,скачет фпс. | Убрал все вышеперечисленные плагины,-console,поставил pingboost 2. fps ] rcon stats CPU In Out Uptime Users FPS Players 0.00 4.59 5.64 0 1 504.54 1 ] rcon stats CPU In Out Uptime Users FPS Players 0.00 4.93 5.60 0 1 502.01 1 ] rcon stats CPU In Out Uptime Users FPS Players 0.00 4.66 5.60 0 1 500.00 1 ] rcon stats CPU In Out Uptime Users FPS Players 0.00 4.69 5.70 0 1 19.59 1 ] rcon stats CPU In Out Uptime Users FPS Players 0.00 4.82 5.61 3 1 507.61 Отключи метамод и посмотри. Если будет такой же рак - тут уж ничем не поможешь :). |
pahens | ||
| 11.10.2011, 11:51 | Лагает сервер,скачет фпс. | Цитата voteban_by_slimshady.amxx Там 2 бекдура (это так, для справки). Мейксерверу привет, но даже его почитать иногда интересно. Цитата csf_opengl32.amxx csf_anticheat.amxx admin_spec_esp_v1.4_beta.amxx А это приличная нагрузка. Цитата colored_translit.amxx Тоже не торт, но терпимо. |
pahens | ||
| 11.10.2011, 10:35 | Не запускается серв | 27020 порт занят, мб другим сервером, мб хлтв или вообще любым другим приложением. А вообще - поиск сила. |
HLrate | ||
| 11.10.2011, 10:01 | 2 (и более) hlds на одном ядре CPU | troll- скажи что 1090T рулит) стрельба на винде не хуже чем на линуксе А кто сказал что на винде стрельба хуже? Все кто так думает - параноики. Лично для меня приимущества в линуксе перед виндовсом такие: 1. Бесплатность. 2. Гибкость в настройке и управлении. 3. Стабильность (отказоустойчивость). 4. Меньшее потребление ресурсов под саму ОСь. А про стрельбу и т.д. это уже домыслы. А про ex_interp ещё раз повторяю - заходим на сервак и пишем в консоль ex_interp 0. Клиент кса сам настроит его под ваши рейты. Интерп 0.1 надо ставить при пинге более 100 или больших потерях. Да, дефолтное значение 0.1, но не забывайте в каком году этот кс был сделан и какие интернеты тогда были. Цитата ] ex_interp 1 ex_interp forced down to 100 msec // Автоматически выставило значение 0.1 (т.е. это максимально значение. Моделька опережает энтити на 1 секунду). ] ex_interp 0 ex_interp forced up to 9 msec // Автоматически выставило значение 0.009 [1/101] (т.е. это оптимальное значение под мой updaterate 101. Моделька опережает энтити на 9 милисекунд). Даже если рассчитывать ex_interp исходя из пинга, то 0.1 получается для пинга ровно 100. Но при пинге 100 стрельба и так говно как не крути (с). Тем не менее если подумать головой или даже посмотреть мувики на ютубе, то будет видно что не зависимо от пинга моделька всеровно будет опережать энтити потому как кс сам рассчитывает приблизительное движение игрока. Т.е. при значение 0.009 энтити будет масимально проблежен к модельке следовательно куда стреляем туда и попадаем. Правда есть одно но: Маленький интерп + говняный интернет или кривая настройка сервера или кривые рейты = подёргивание моделек. Можете дальше спорить и читать сайты виртусов, но я играл и играть буду с интерпом 0.009 и получать нормальную стрельбу почти на всех серверах ^_^ P.S. Удалите с config.cfg и попробуйте поиграть на дефолтных стройках. Круто, а? |
_Skyline, TrikSer | ||
| 10.10.2011, 21:33 | 2 (и более) hlds на одном ядре CPU | Trollface_and_fa..., слайдшоу получится :DDDDD Настройки клиента? Не, не слышал. ©. Да? :D Ребят я ору с вас, гонитесь за призрачным серверным фпс когда даже клиент настроить не можете... Цитата(WCG) Разрешенные настройки клиента: cl_updaterate 101 cl_cmdrate 101 rate 25000 m_filter 1/0 hud_fastswitch 1/0 zoom_sensitivity_ratio fps_max 101 cl_dynamiccrosshair 1/0 gamma 1/3 brightness 1/3 cl_minmodels 1/0 cl_shadows 1/0 Следующие настройки изменять запрещено: cl_weather mp_corpse_stay mp_decals max_shells max_smokepuffs ex_interp 0.01 |
330863 | ||