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

Тема в разделе "Программирование / Скриптинг", создана пользователем SHAREN, 22 апр 2016.

Метки:
  1. SHAREN

    SHAREN Servers-Info.Ru

    Сообщения:
    203
    Симпатии:
    13
    В ксго хочу установить игрокам свой счет
    Код:
      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);
     
  2. gibs

    gibs Фитиль народного волненья

    Сообщения:
    536
    Симпатии:
    133
    А вот это даже странно. Я думал ты более опытен. На форуме свыше пяти лет)) Но не суть.
    Специально ради тебя посмотрел дампы. Проп с названием m_iScore есть только в Prop_Send. Но ты правильно понял к какой ентити его применять. Выглядеть должно примерно так
    PHP:
    int ent GetPlayerResourceEntity();
    int offset FindSendPropOffs("CCSPlayerResource""m_iScore");
    for (
    int i 1MAXPLAYERSi++)
        if (
    IsClientConnected(i) && IsClientInGame(i) && !IsFakeClient(i))
            
    SetEntData(entoffset + (4), iScore);
    Но удивительно не это. Что конкретно ты пытаешься сделать? С помощью этого ты изменишь только значения в скорборде.
     
    Последнее редактирование: 22 апр 2016
    SHAREN нравится это.
  3. Hejter

    Hejter Mapper Source Engine

    Сообщения:
    1.771
    Симпатии:
    259
    Код:
    stock Client_SetAssists(client, value)
    {
        new assists_offset = FindDataMapOffs( client, "m_iFrags" ) + 4;
        SetEntData(client, assists_offset, value );
    }
     
    SHAREN нравится это.
  4. SHAREN

    SHAREN Servers-Info.Ru

    Сообщения:
    203
    Симпатии:
    13
    Нее, я только сейчас начал активно разбираться.:rolleyes2:
    Как раз и хотел чтобы отображалось в скорборде в последнем столбце.

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

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

    Нашел CS_SetClientContributionScore

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

    Вложения:

  5. Hejter

    Hejter Mapper Source Engine

    Сообщения:
    1.771
    Симпатии:
    259
    SHAREN нравится это.
  6. Reiko1231

    Reiko1231 AlexTheRegent

    Сообщения:
    237
    Симпатии:
    569
    PHP:
    IsClientConnected(i) && IsClientInGame(i)
    Первая проверка лишняя. Если игрок IsClientInGame(), то он заведомо IsClientConnected().
     
    SHAREN нравится это.
  7. gibs

    gibs Фитиль народного волненья

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