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

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

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

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

Проблема с моделями игроков

Статус пользователя CH0CAPIC
сообщение 30.5.2014, 18:06
Сообщение #1


Стаж: 12 лет

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

Здравствуйте ! На сервере стоит плагин смены моделей всем игрокам. Проблема в том, что, когда на сервере онлайн достигает до 18-20 человек, то всех выкидывает с ошибкой Reliable Channel Overflowed. Помогите исправить, заранее благодарен.

ps.gif Пробывал на основе admin_models, а также плагина смены моделей от ConnorsLeod, но всё равно не помогло.

Код:
#include < amxmodx >
#include < cstrike >
#include < hamsandwich >

new cvar_enable

public plugin_init( ) {
RegisterHam( Ham_Spawn, "player", "FwdHamPlayerSpawn", 1 );
cvar_enable = register_cvar("eswc", "1")
}

public FwdHamPlayerSpawn( const id )
{
if(is_user_alive( id ) )
{
switch( cs_get_user_team( id ) )
{
case CS_TEAM_T:
if(!get_pcvar_num(cvar_enable))
cs_reset_user_model( id );
else
cs_set_user_model( id, "model_TT" ); //<<<<<<<<<<<<<
case CS_TEAM_CT:
{
cs_reset_user_model( id );
else
if(!get_pcvar_num(cvar_enable))
cs_reset_user_model( id );
else
cs_set_user_model( id, "model_CT" ); //<<<<<<<<<<<<<
}
}
}
}

public plugin_precache( )
{
precache_model( "models/player/model_TT/model_TT.mdl" ); //<<<<<<<<<<<<<
precache_model( "models/player/model_CT/model_CT.mdl" ); //<<<<<<<<<<<<<
}


Отредактировал: CH0CAPIC, - 30.5.2014, 18:08
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя AndrewZ
сообщение 31.5.2014, 9:51
Сообщение #2


Иконка группы

Стаж: 18 лет
Город: Санкт-Петербург


Сообщений: 4700
Благодарностей: 2452
Полезность: 1018

CH0CAPIC,
используй [CS] Player Models API: http://forums.alliedmods.net/showthread.php?t=161255

Инклуд кидаешь в папку include,
Добавляешь #include <cs_player_models_api>

и заменяешь cs_set_user_model на cs_set_player_model
cs_reset_user_model на cs_reset_player_model

Так же, плагин cs_player_models_api.amxx необходимо установить на сервер.
Все плагины, меняющие модели игрокам, следует перевести на этот апи, иначе будут неприятные конфликты.


Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 4 раз
   + Цитировать сообщение
Статус пользователя giorgi_miami
сообщение 26.4.2015, 9:16
Сообщение #3
Стаж: 14 лет

Сообщений: 83
Благодарностей: 12
Полезность: 115

Цитата(AndrewZ @ 31.5.2014, 9:51) *
CH0CAPIC,
используй [CS] Player Models API: http://forums.alliedmods.net/showthread.php?t=161255

Инклуд кидаешь в папку include,
Добавляешь #include <cs_player_models_api>

и заменяешь cs_set_user_model на cs_set_player_model
cs_reset_user_model на cs_reset_player_model

Так же, плагин cs_player_models_api.amxx необходимо установить на сервер.
Все плагины, меняющие модели игрокам, следует перевести на этот апи, иначе будут неприятные конфликты.

Можно установить такую выдачу моделей на basebuilder, ничего не меняя? Или всё-таки плагины будут конфликтовать?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя AndrewZ
сообщение 26.4.2015, 12:00
Сообщение #4


Иконка группы

Стаж: 18 лет
Город: Санкт-Петербург


Сообщений: 4700
Благодарностей: 2452
Полезность: 1018

Цитата(giorgi_miami @ 26.4.2015, 11:16) *
Можно установить такую выдачу моделей на basebuilder, ничего не меняя? Или всё-таки плагины будут конфликтовать?

Не знаю, не видел код этого плагина.


Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя giorgi_miami
сообщение 26.4.2015, 12:32
Сообщение #5
Стаж: 14 лет

Сообщений: 83
Благодарностей: 12
Полезность: 115

Цитата(AndrewZ @ 26.4.2015, 14:00) *
Не знаю, не видел код этого плагина.

Вырезал код выдачи моделей из basebuilder-а:

Код:
public ham_PlayerSpawn_Post(id, taskid)
{
if (is_user_alive(id))
{
if (g_isZombie[id])
{
ArrayGetString(g_zclass_playermodel, g_iZombieClass[id], g_szPlayerModel[id], charsmax(g_szPlayerModel[]))
new szCurrentModel[32]
fm_get_user_model(id, szCurrentModel, charsmax(szCurrentModel))
if (!equal(szCurrentModel, g_szPlayerModel[id]))
{
if (get_gametime() - g_fRoundStartTime < 5.0)
set_task(5.0 * MODELCHANGE_DELAY, "fm_user_model_update", id + TASK_MODELSET)
else
fm_user_model_update(id + TASK_MODELSET)
}

}
else if (g_isCustomModel[id])
{
fm_reset_user_model(id)
}
}

public fw_SetClientKeyValue(id, const infobuffer[], const key[])
{
if (g_isCustomModel[id] && equal(key, "model"))
return FMRES_SUPERCEDE
return FMRES_IGNORED
}

public fw_ClientUserInfoChanged(id)
{
if (!g_isCustomModel[id])
return FMRES_IGNORED
static szCurrentModel[32]
fm_get_user_model(id, szCurrentModel, charsmax(szCurrentModel))
if (!equal(szCurrentModel, g_szPlayerModel[id]) && !task_exists(id + TASK_MODELSET))
fm_set_user_model(id + TASK_MODELSET)
return FMRES_IGNORED
}

public fm_user_model_update(taskid)
{
static Float:fCurTime
fCurTime = get_gametime()

if (fCurTime - g_fModelsTargetTime >= MODELCHANGE_DELAY)
{
fm_set_user_model(taskid)
g_fModelsTargetTime = fCurTime
}
else
{
set_task((g_fModelsTargetTime + MODELCHANGE_DELAY) - fCurTime, "fm_set_user_model", taskid)
g_fModelsTargetTime += MODELCHANGE_DELAY
}
}
public fm_set_user_model(player)
{
player -= TASK_MODELSET
engfunc(EngFunc_SetClientKeyValue, player, engfunc(EngFunc_GetInfoKeyBuffer, player), "model", g_szPlayerModel[player])
g_isCustomModel[player] = true
}

stock fm_get_user_model(player, model[], len)
{
engfunc(EngFunc_InfoKeyValue, engfunc(EngFunc_GetInfoKeyBuffer, player), "model", model, len)
}

stock fm_reset_user_model(player)
{
g_isCustomModel[player] = false
dllfunc(DLLFunc_ClientUserInfoChanged, player, engfunc(EngFunc_GetInfoKeyBuffer, player))
}


Отредактировал: giorgi_miami, - 26.4.2015, 12:33
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя giorgi_miami
сообщение 27.4.2015, 7:49
Сообщение #6
Стаж: 14 лет

Сообщений: 83
Благодарностей: 12
Полезность: 115

AndrewZ, что скажете?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя csnet
сообщение 27.4.2015, 8:48
Сообщение #7
Стаж: 12 лет

Сообщений: 4808
Благодарностей: 3849
Полезность: 690

на форуме есть нормальный код, ищи girl vip model плагин, или админ модели. на форуме точно есть, со сменой чекез fakemeta


go v cs:go
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
OverGame
сообщение 27.4.2015, 12:43
Сообщение #8
Стаж: 11 лет

Сообщений: 384
Благодарностей: 217
Полезность: 348

Код:
#include < amxmodx >
#include < cstrike >
#include < hamsandwich >

public plugin_init ( )
{
register_plugin ( "WTF Model", "1.0", "OverGame" )

RegisterHam ( Ham_Spawn, "player", "FwdHamPlayerSpawn", 1 )
}

public plugin_precache( )
{
precache_model ( "models/player/model_TT/model_TT.mdl" )
precache_model ( "models/player/model_CT/model_CT.mdl" )
}

public FwdHamPlayerSpawn ( id )
{
switch ( get_user_team ( id ) )
{
case 1:
{
cs_set_user_model ( id, "model_TT" )
}
case 2:
{
cs_set_user_model ( id, "model_CT" )
}
}
}


Отредактировал: OverGame, - 27.4.2015, 12:43
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: