"SetEntProp" ... "m_iScore" not found (entity 2/player)

SHAREN

Servers-Info.Ru
Сообщения
232
Реакции
32
В ксго хочу установить игрокам свой счет
C-подобный:
  for (int i = 1; i < MAXPLAYERS; i++)
        if (IsClientConnected(i) && IsClientInGame(i) && !IsFakeClient(i))
                SetEntProp(i, Prop_Data, "m_iScore", iScore);
получаю такую ошибку
[SM] Native "SetEntProp" reported: Property "m_iScore" not found (entity 2/player)


P.S. так тоже не получается
SetEntProp(GetPlayerResourceEntity(), Prop_Data, "m_iScore", iScore, _, i);
 

gibs

Фитиль народного волненья
Сообщения
722
Реакции
407
Мошенник
А вот это даже странно. Я думал ты более опытен. На форуме свыше пяти лет)) Но не суть.
Специально ради тебя посмотрел дампы. Проп с названием m_iScore есть только в Prop_Send. Но ты правильно понял к какой ентити его применять. Выглядеть должно примерно так
PHP:
int ent = GetPlayerResourceEntity();
int offset = FindSendPropOffs("CCSPlayerResource", "m_iScore");
for (int i = 1; i < MAXPLAYERS; i++)
    if (IsClientConnected(i) && IsClientInGame(i) && !IsFakeClient(i))
        SetEntData(ent, offset + (i * 4), iScore);
Но удивительно не это. Что конкретно ты пытаешься сделать? С помощью этого ты изменишь только значения в скорборде.
 
Последнее редактирование:

Hejter

xor ebx, ebx
Сообщения
1,759
Реакции
393
C-подобный:
stock Client_SetAssists(client, value)
{
    new assists_offset = FindDataMapOffs( client, "m_iFrags" ) + 4;
    SetEntData(client, assists_offset, value );
}
 

SHAREN

Servers-Info.Ru
Сообщения
232
Реакции
32
А вот это даже странно. Я думал ты более опытен. На форуме свыше пяти лет)) Но не суть.
Специально ради тебя посмотрел дампы. Проп с названием m_iScore есть только в Prop_Send. Но ты правильно понял к какой ентити его применять. Выглядеть должно примерно так
PHP:
int ent = GetPlayerResourceEntity();
int offset = FindSendPropOffs("CCSPlayerResource", "m_iScore");
for (int i = 1; i < MAXPLAYERS; i++)
    if (IsClientConnected(i) && IsClientInGame(i) && !IsFakeClient(i))
        SetEntData(ent, offset + (i * 4), iScore);
Но удивительно не это. Что конкретно ты пытаешься сделать? С помощью этого ты изменишь только значения в скорборде.
Нее, я только сейчас начал активно разбираться.:rolleyes2:
Как раз и хотел чтобы отображалось в скорборде в последнем столбце.

Спасибо за ответы.

Как смотреть дампы я не понял, вводил sm_dump_netprops 22.txt там m_iScore есть, но m_iFrags нету.

Нашел CS_SetClientContributionScore

Как можно поменять СЦИ (звездочки) предпоследний столбец?
 

Вложения

  • 20160422201601_1.jpg
    20160422201601_1.jpg
    37.6 КБ · Просмотры: 37

Reiko1231

AlexTheRegent
Сообщения
508
Реакции
1,336
PHP:
IsClientConnected(i) && IsClientInGame(i)
Первая проверка лишняя. Если игрок IsClientInGame(), то он заведомо IsClientConnected().
 

gibs

Фитиль народного волненья
Сообщения
722
Реакции
407
Мошенник
Как раз и хотел чтобы отображалось в скорборде в последнем столбце.
Ты меня не понял. Я сказал буквально. Через эти оффсеты, применяя их к ентити "cs_player_manager", ты изменишь только значения в скорборде.
Можно показывать фейковый пинг. Скрывать, что игрок мёртвый. Указывать фейковую команду. То-есть игрок в команде кт, а в скорборде будет как т. И так далее. А реальные манипуляции со счётом игрока выполняй через стандартные функции сорсмода, не лезь к пропам.
 
Сверху Снизу