Удаление перков

Тема в разделе "Техподдержка", создана пользователем Legi, 6 апр 2017.

  1. Legi

    Legi

    Регистрация:
    18 фев 2017
    Не знаю как удалить перк у персонажа.
    Хочу при репликации, удалять все перки игрока, которые он получил до своей кончины.

    В replication.fos@ReplicateCritter
    после cr.StatBase[ ST_REPLICATION_COUNT ]++;
    пишу:
    if(cr.StatBase[ PE_LIVING_ANATOMY ] > 0)
    cr.StatBase[ PE_LIVING_ANATOMY ] = 0;

    Сервер рукается:
    Код:
    [47:847] FOServer::SScriptFunc::DataRef_Index : Script error: Index is greater than maximum. : replication : void ReplicateCritter(Critter&inout) : 12498, 1 : FOServer::ProcessCritter : sdsdssdfdf.
    Ставил эту же проверку в main.fos в функции смерти и репликации игрока. Там ошибок не выдает, но результата нет.
  2. Medvedev

    Medvedev

    Регистрация:
    17 сен 2014
    Legi, Возможно потому, что PE_LIVING_ANATOMY - это не cr.StatBase а cr.PerkBase?
    Legi нравится это.
  3. SEGA_RUS

    SEGA_RUS

    Регистрация:
    23 окт 2012
    Какая наркомания.
    У тебя есть PID перков.
    __PerkBegin = 300;
    __PerkEnd = 418;
    И через цикл ставишь значение этих перков на 0.

Поделиться этой страницей