Elite Games - Свобода среди звезд!
.
ВНИМАНИЕ!
Наша конференция посвящена космической тематике и компьютерным играм.
Политические вопросы и происходящие в мире события в данный момент на нашем сайте не обсуждаются!

  » Ковыряем новый движок (моддинг) |
Конференция предназначена для общения пилотов. Для удобства она разделена на каналы, каждый из которых посвящен определенной игре. Пожалуйста, открывайте темы только в соответствующих каналах и после того, как убедитесь, что данный вопрос не обсуждался ранее.

Search | Conference rules | Album | Register | Pilots list | Profile | Log in to check your private messages | Log in

   Page 30 of 31
Go to page: Previous  1, 2, 3 ... , 29, 30, 31  Next    Перейти:   All pages
Поиск в этой теме:
Канал X Rebirth » Модовый и скриптовый отсек X Rebirth: «Ковыряем новый движок (моддинг)»
alexalsp
 524 EGP


Модератор
Рейтинг канала: 5(119)
: 56
Posts: 4615

Joined: 12 Aug 2014
Что я один прошу , тут вообще есть живые ))

Кто в скриптах шарит , нужен скрипт который обновит все корабли галлактике

Кто знает как сделать? Все что пробовал , не подходит.

кто добрый дядька , напишите коду плис.

Суть в стом , что надо по всей гале на всех кораблях короче том , что летает обновить двиглы радары и щиты. Без этого не применяются внесенные изменения.

пробовал Дестрой но после этого скунс умирает .

Так что надо все обновит кроме скунса .

Всем спасибо за внимание Улыбка
_________________
CMDR: Fallout(EG)
ED - если застряли: https://discord.gg/yZqwPbJaCq

Пользуйте мои моды как хотите....

Last edited by alexalsp on 23:48 23-12-2017; edited 1 time in total
    Posted: 23:48 23-12-2017   
alexalsp
 524 EGP


Модератор
Рейтинг канала: 5(119)
: 56
Posts: 4615

Joined: 12 Aug 2014
кто подскажет что тут не так, почему оно не работает ? Компоненты находятся, во втором варианте даже удаляются но патч не срабатывает .

Первый вариант.

Code:


<?xml version="1.0" encoding="utf-8" ?>
<mdscript name="patch_skunk_reballance" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="md.xsd">
   <cues>
      <cue name="patch_ships_reballance" version="1"> 
         <conditions>
            <event_game_loaded/>       
         </conditions>
         <actions>
            <find_ship name="$ships" space="player.galaxy" multiple="true"/>
               <do_all exact="$ships.count" counter="$i">
                  <patch_macro object="$ships.{$i}"/>   
               </do_all>            
         </actions>
      </cue>
   </cues>
</mdscript>




Второй вариант

Code:

<?xml version="1.0" encoding="utf-8" ?>
<mdscript name="patch_skunk_reballance" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="md.xsd">
   <cues>
      <cue name="patch_ships_reballance" version="1"> 
         <conditions>
            <event_game_loaded/>       
         </conditions>
         <actions>
            <set_value name="$E_engines_count" exact="0"/>
            
            <find_ship name="$ships" space="player.galaxy" multiple="true"/>
            <remove_value name="$ships.{$ships.indexof.{player.primaryship}}"/>
               <do_all exact="$ships.count" counter="$i">
                  <find_object_component name="$components" class="[class.engine]" object="$ships.{$i}" multiple="true"/>
                     <do_all exact="$components.count" counter="$j">
                        <destroy_object object="$components.{$j}" explosion="false"/>
                        <set_value name="$E_engines_count" operation="add"/>                        
                     </do_all>
                  <patch_macro object="$ships.{$i}"/>   
               </do_all>
               
            <debug_text filter="general" text="'Patched %2 engines in %1 Ships.'.[$ships.count,$E_engines_count]"/>             
         </actions>
      </cue>
   </cues>
</mdscript>

_________________
CMDR: Fallout(EG)
ED - если застряли: https://discord.gg/yZqwPbJaCq

Пользуйте мои моды как хотите....

Last edited by alexalsp on 20:31 24-12-2017; edited 1 time in total
    Posted: 20:30 24-12-2017   
alexalsp
 524 EGP


Модератор
Рейтинг канала: 5(119)
: 56
Posts: 4615

Joined: 12 Aug 2014
В обще мне удалось сделать это Хы...


Возможно у продвинутых скриптеров будут мысли по коду, что то исправить или изменить. Может у кого то более простое решение есть , оставляйте свои мысли.

Рабочий код для обновления движков и оружия на всех кораблях во всей галактике.

Пришлось немного / много попотеть что бы обойти обновление скунса , иначе ему был кирдык. Полностью ломался. Добрые люди помогли ЕгоФорума.

Code:

<?xml version="1.0" encoding="utf-8" ?>
<mdscript name="patch_skunk_reballance" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="md.xsd">
   <cues>
      <cue name="patch_ships_reballance_0_0_1"> 
         <conditions>
            <event_game_loaded/>       
         </conditions>
         <actions>           
            <set_value name="$patching_ships" exact="[]"/>
            <find_ship name="$ships" space="player.galaxy" multiple="true"/>
            <remove_value name="$ships.{$ships.indexof.{player.primaryship}}"/>
            <do_all exact="$ships.count" counter="$i">
               <append_to_list name="$patching_ships" exact="$ships.{$i}"/>
               <find_object_component name="$components" class="[class.engine,class.weapon]" object="$ships.{$i}" multiple="true"/>
                  <do_all exact="$components.count" counter="$c">
                     <destroy_object object="$components.{$c}" explosion="false"/>
                  </do_all>
               </do_all>       
         </actions>
     <cues>
        <cue name="Patch_ship_all_0_0_1">
          <delay exact="5s"/>
          <actions>
          <do_all exact="$patching_ships.count" counter="$i">             
              <patch_macro object="$ships.{$i}"/>
            </do_all>
            <remove_value name="$patching_ships" />               
            <cancel_cue cue="this"/>
          </actions>
        </cue>
      </cues>
    </cue>
  </cues>
</mdscript>

_________________
CMDR: Fallout(EG)
ED - если застряли: https://discord.gg/yZqwPbJaCq

Пользуйте мои моды как хотите....
    Posted: 06:34 25-12-2017   
Romz
 111 EGP


: 11
Posts: 421
Location: Волоколамск
Joined: 11 Mar 2004
Круто! А они полностью пересоздаются, или только меняются компоненты в них?
Собственно, я к чему спрашиваю.
Обратил внимание, что в секторах висит некоторое количество кораблей без приказа. Некоторые с грузом, некоторые - нет. Особенно доставляют те, которые таким образом повисли в заправочных комплексах. При личном присутствии в секторе мои корабли не могут подлезть на заправку.
Так вот! Можно ли с такими кораблями, НПЦ без приказов которые, что-то сделать? Прибить без взрыва, например. Потому что работу назначать - это алес.
А твой скрипт при том, что если корабли пересоздаются, то, может, и работу подхватят...
_________________
СисАадмин - Шаман
    Posted: 15:04 25-12-2017   
alexalsp
 524 EGP


Модератор
Рейтинг канала: 5(119)
: 56
Posts: 4615

Joined: 12 Aug 2014
Только то что указано. Двиги оружие. Убить можно любое корыто, по другому.
_________________
CMDR: Fallout(EG)
ED - если застряли: https://discord.gg/yZqwPbJaCq

Пользуйте мои моды как хотите....

Last edited by alexalsp on 18:21 25-12-2017; edited 2 times in total
    Posted: 18:15 25-12-2017   
Romz
 111 EGP


: 11
Posts: 421
Location: Волоколамск
Joined: 11 Mar 2004
Ну по-одному их отлавливать - не вариант, да и чит-меню ставить тоже не хочется - ибо соблазн, а потом не интересно становится играть. Лучше - скриптом всех, проверка условий, и, если есть соответствие - выносим.
_________________
СисАадмин - Шаман
    Posted: 22:47 25-12-2017   
alexalsp
 524 EGP


Модератор
Рейтинг канала: 5(119)
: 56
Posts: 4615

Joined: 12 Aug 2014
Если бы была возможность или необходимость, думаю кто то бы давно уже из продвинутых что то придумал.
Улыбка
_________________
CMDR: Fallout(EG)
ED - если застряли: https://discord.gg/yZqwPbJaCq

Пользуйте мои моды как хотите....
    Posted: 01:27 26-12-2017   
Romz
 111 EGP


: 11
Posts: 421
Location: Волоколамск
Joined: 11 Mar 2004
alexalsp wrote:
возможность или необходимость

Возможность, я думаю, есть. Необходимость - у меня - точно есть.
У меня нет знаний по MD-скриптам.
Алгоритм я описать могу, а вот реализовать...
Там нужны всего две проверки - на принадлежность корабля игроку, и на наличие у него задания.
Если по обоим пунктам несоответствие - тогда включаем в список.
И далее, вместо компонента, глушим корабль целиком.
Ограничение такого подхода - нужно операцию проделывать или в промежутке между миссиями, или в свободной игре, чтобы миссионные корабли не зацепило. А, ну ещё строителей, потому что они, вроде, тоже висят без задания.
_________________
СисАадмин - Шаман
    Posted: 12:56 26-12-2017   
Andy_MB
 130 EGP


Рейтинг канала: 4(83)
: 10
Posts: 572
Location: Край вселенной, Квазар-1
Joined: 13 Jul 2015
Romz wrote:

Обратил внимание, что в секторах висит некоторое количество кораблей без приказа.

Они НЕ без приказа висят! Они висяn с командой "Ждать"(move idle).
Romz wrote:

Некоторые с грузом, некоторые - нет. Особенно доставляют те, которые таким образом повисли в заправочных комплексах. При личном присутствии в секторе мои корабли не могут подлезть на заправку.

Может стоит заработать, продав на заправку нужные ей ресурсы для производства топлива!? Игрок заработает, а очереди рассосутся!
Romz wrote:

Так вот! Можно ли с такими кораблями, НПЦ без приказов которые, что-то сделать?

1. скриптом можно корабли NPC заправить и дать команду "move generic". Как потом он будет действовать я не могу проанализировать, но с вероятностью 90% все будет хорошо!
Непонятно как узнать, что они в очереди на заправку! Тут может быть сложность с проверкой, а всем подряд менять команду как-то не правильно.
Да, еще и на заправку они летят из основной программы , заправляются и возвращаются к продолжению основной программы.
Много вопросов! (((

2. Уничтожение всех кораблей с командой "Ждать" тоже ни к чему хорошему не приведет.

3. Самым правильным решением будет полный анализ причины такого поведения и устранение самой причины! А на это уйдет много времени и никто не захочет этим заниматься! Пусть Эгософт свои косяки исправляет.

зы: Если хотите посмотреть, что будет через 5-10 часов игрового времени после выполнения скрипта по "заправке" или "уничтожению" то я могу помочь их написать. Разгребать последствия Вам придется. Улыбка

добавлено спустя 32 минуты:
alexalsp wrote:
... что то исправить или изменить. Может у кого то более простое решение есть , оставляйте свои мысли.

Я бы так упростил.
Убрал лишний список (2 одинаковых!)
Задержка в 5 сек думаю, что не нужна.(-1 кую)
instante="false" - выполнится 1 раз, не нужно канселить!

Code:

<?xml version="1.0" encoding="utf-8"?>
<mdscript name="patch_skunk_reballance" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="md.xsd">
  <cues>
    <cue name="patch_ships_reballance_0_0_1" instante="false">
      <conditions>
        <event_game_loaded/>
      </conditions>
      <actions>
        <find_ship name="$ships" space="player.galaxy" multiple="true"/>
        <remove_value name="$ships.{$ships.indexof.{player.primaryship}}"/>
        <do_all exact="$ships.count" counter="$i">
          <find_object_component name="$components" class="[class.engine,class.weapon]" object="$ships.{$i}" multiple="true"/>
          <do_all exact="$components.count" counter="$c">
            <destroy_object object="$components.{$c}" explosion="false"/>
          </do_all>
          <patch_macro object="$ships.{$i}"/>
        </do_all>
      </actions>
    </cue>
  </cues>
</mdscript>


Last edited by Andy_MB on 18:15 11-02-2018; edited 1 time in total
    Posted: 18:15 11-02-2018   
alexalsp
 524 EGP


Модератор
Рейтинг канала: 5(119)
: 56
Posts: 4615

Joined: 12 Aug 2014
Такой вариант я вроде проверял, не срабатывает , а задержка для того что бы скрипт отработал после загрузки игры и сева иначе он срабатывает где то в начале и до окончания загрузки он уже давно закончился )) Как то так.


Ног все равно спасибо. Хоть и с опозданием на месяцок так где то Хы... Подмигиваю
_________________
CMDR: Fallout(EG)
ED - если застряли: https://discord.gg/yZqwPbJaCq

Пользуйте мои моды как хотите....
    Posted: 19:04 11-02-2018   
Andy_MB
 130 EGP


Рейтинг канала: 4(83)
: 10
Posts: 572
Location: Край вселенной, Квазар-1
Joined: 13 Jul 2015
Очень странно!
Так, как условие <event_game_loaded/> срабатывает, только после загрузки сэйва.
Везде, где я использовал <event_game_loaded/> , все отрабатывало как часы!
Предполагаю, что команда patch_macro может работать не так как хочется. )

Ну а со скоростью ответа ты и сам знаешь. Хы...
Просто, подумал, что может пригодиться на будущее.

Last edited by Andy_MB on 21:15 11-02-2018; edited 1 time in total
    Posted: 21:13 11-02-2018   
alexalsp
 524 EGP


Модератор
Рейтинг канала: 5(119)
: 56
Posts: 4615

Joined: 12 Aug 2014
Скорее всего ты прав , patch срабатывает не так как надо. Я тогда намучился с вариантами . Хы...

Но как руки дойдут, проверю твой вариант. кто знает что было месяц назад Хы... Я не помню, что вчера было Улыбка
_________________
CMDR: Fallout(EG)
ED - если застряли: https://discord.gg/yZqwPbJaCq

Пользуйте мои моды как хотите....
    Posted: 23:29 11-02-2018   
Andy_MB
 130 EGP


Рейтинг канала: 4(83)
: 10
Posts: 572
Location: Край вселенной, Квазар-1
Joined: 13 Jul 2015
Заметил странное поведение команды
<cancel_cue cue="this" />
Если вставить в цикл (при проверке условия, например хочу прервать всю "кую")
Нифига не сработает сразу! Только после выполнения всего цикла и команд, следующих за ним!
Пришлось городить конструкцию из брэйков!
Code:
            ...
                  <do_if value="$Temp_true">
                    <break/>
                  </do_if>
                </do_all>
                <do_if value="$Temp_true">
                  <break/>
                </do_if>
              </do_all>
            ...

Только после этого, все заработало правильно!
Полдня на поиск ошибки. Улыбка
Надеюсь кому-то сэкономит время.
    Posted: 19:21 13-02-2018   
Andy_MB
 130 EGP


Рейтинг канала: 4(83)
: 10
Posts: 572
Location: Край вселенной, Квазар-1
Joined: 13 Jul 2015
Кто может подсказать как репутацию перевести из xml-формата в lua-формат, средствами UI ?
 Cкрытый текст   (кликните здесь для просмотра)

UI value mapping (analogously for negative values):
1.0 = 30
0.32 = 25
0.1 = 20
0.032 = 15
0.01 = 10
0.0032 = 5
These values are fixed. Between them, logarithmic interpolation is used. Approximate formulas:
uivalue = 10 * log10(relation * 1000)
relation = 10^(uivalue / 10) / 1000
Between -0.0032 and +0.0032 (UI -5...+5) linear interpolation is used, and 0.00064 equates to one UI value step.

Если обращаться к списку репутаций командой:
menu.relations = GetLibrary("factions")
тогда работает такой объект:
menu.relations[i].relation - получает значения от -30 до +30

а я передаю списком в переменную menu.relations = [0.01,..,-0.032]
menu.relations = menu.param[7]
нашел в библиотеке vmdef.lua -> math вычисление логарифма, но это:
uirelations = 10 * math.log10(menu.relations[i] * 1000)
выдает результат либо 'nan' либо 'inf' , причем пробовал math.log10(3.2) = nan

пробовал тупо к своему списку применить .relation - тоже не работает такая конструкция :
menu.relations[i].relation
Ну тут понятно, что я пытаюсь сравнить список объектов со своим списком чисел Улыбка

... если не получится, то пойду в XML-е пробовать логарифмировать свой список, хоть и не хочется. Улыбка
    Posted: 22:34 15-02-2018   
Romz
 111 EGP


: 11
Posts: 421
Location: Волоколамск
Joined: 11 Mar 2004
Andy_MB wrote:
Они НЕ без приказа висят! Они висяn с командой "Ждать"(move idle)
В том-то и фикус-пикус, что висят они в состоянии "Нет команд".
Про отсутствие ресурсов я в первую очередь подумал, и на заправки конкретно попробовал завезти. На одной тупо ресурсы были, но непись в створе так и висела. На другой таки да, ресов небыло. Но и их завоз ничего не дал.
И вот тогда я начал ковырять глубжее.

P. S. Ничо так у нас разброс по времени получается в диалоге... Гы-гы

добавлено спустя 3 минуты:
Мож, я, конечно, и ошибаюсь...
Могу, для ясности, скинуть папку с модами и сейв. Если интересно, конечно.
_________________
СисАадмин - Шаман

Last edited by Romz on 19:17 29-03-2018; edited 1 time in total
    Posted: 19:17 29-03-2018   
Andy_MB
 130 EGP


Рейтинг канала: 4(83)
: 10
Posts: 572
Location: Край вселенной, Квазар-1
Joined: 13 Jul 2015
Насколько я помню в AI скриптах есть задержки от 30 мин до полутора часов, если произошел какой-то сбой при выполнении скрипта. Там прописывается команда "нет команд". Потом скрипт возобновляет очередь попыток продолжить выполнение.
Конечно можно написать скрипт убивающий определенные корабли неписей с такой командой. Но умрут и те, что не на заправках. Это очень повлияет на экономику, хотя и на руку игроку со своей промышленной империей. )
Можно написать и такой, чтобы убивал только в секторах, где есть заправки. Все это не сложно но лично у меня сейчас нет времени, хоть и интересно. Я последнее время сплю по 4-5 часов. Может еще кто-нибудь возьмется!?
Могу подсказать, что ковырять надо поиском заправок - > в этом секторе поиск L/XL кораблей НПЦ. Потом цикл проверки команды и килить те, у кого совпадает команда с параметром explosion = false

Last edited by Andy_MB on 02:07 30-03-2018; edited 1 time in total
    Posted: 02:07 30-03-2018   
Romz
 111 EGP


: 11
Posts: 421
Location: Волоколамск
Joined: 11 Mar 2004
Andy_MB wrote:
Насколько я помню в AI скриптах есть задержки от 30 мин до полутора часов, если произошел какой-то сбой при выполнении скрипта.
Оне у меня таки долгонько уже висят, явно дольше полутора часов... И это только, когда я на них внимание обратил, а сколько до этого - фикзнат...
Andy_MB wrote:
Все это не сложно но лично у меня сейчас нет времени
Да я и не в претензии. Мне не горит, просто неудобно. Да и играю я сейчас редко. Вот запустил на днях - и вспомнил, что такая бяка возникла.
_________________
СисАадмин - Шаман
    Posted: 12:32 30-03-2018   
Andy_MB
 130 EGP


Рейтинг канала: 4(83)
: 10
Posts: 572
Location: Край вселенной, Квазар-1
Joined: 13 Jul 2015
Написал, но проверить не могу. Не нашел ни одного корабля у себя в игре, который заправляется или стоит в очереди. Попрыгал к разным заправкам - везде пусто!
Хотите попробуйте. Ток сохранитесь, перед подключением мода.
Скрипт просто ищет все заправки, потом все корабли L & XL в зоне с заправкой и пытается их заправить, а пристыкованный - отстыковать. Убивает только те, у которых нет трюма под топливо.

мод не тестировался ни разу Улыбка
Code:
<?xml version="1.0" encoding="utf-8" ?>
<mdscript name="Fast_refuel" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="md.xsd">

  <cues>
    <cue name="Refuel_all" instantiate="true" namespace="this">
      <conditions>
        <event_game_loaded/>
      </conditions>
      <actions>
        <create_group groupname="$fuelstations"/>
        <find_station class="class.station" macro="struct_bt_alb_fuelstation_macro" groupname="$fuelstations" space="player.galaxy"/>
        <do_all exact="$fuelstations.count" counter="$i">
          <find_ship class="class.ship_xl,class.ship_l" space="$fuelstations.{$i}.zone" groupname="$ships" multiple="true"/>
          <do_all exact="$ships.count" counter="$j">
            <do_if value="$ships.{$i}.cargo.{ware.fuelcells}.max == 0 or this.ship.cargo.{ware.fuelcells}.free == 0">
              <set_value name="$failreason" exact="'ERR_FUEL_STORAGE_MISSING'"/>
              <destroy_object object="$ships.{$i}" explosion="false"/>
            </do_if>
            <do_else>
              <set_value name="$wares_in_Cargo" exact="$ships.{$i}.cargo.list" />
              <set_value name="$fuelcells" exact="$wares_in_Cargo.indexof.{ware.fuelcells}" />
              <do_if value="$fuelcells != 0">
                <do_if value="$ships.{$i}.cargo.{ware.fuelcells}.count lt $ships.{$i}.cargo.{ware.fuelcells}.max * 0.2f">
                  <!--set_value name="$amount" exact="$fuelcells.count"/-->
                  <set_value name="$ships.{$i}.cargo.{ware.fuelcells}.count" exact="5000" comment="10000"/>
                  <do_if value="$ships.{$i}.dockslot != 0" comment="пристыкован?">
                    <start_script object="$ships.{$i}" name="move.undock"/>
                  </do_if>
                </do_if>
              </do_if>
            </do_else>
          </do_all>
        </do_all>
      </actions>
    </cue>
  </cues>
</mdscript>


Last edited by Andy_MB on 16:39 31-03-2018; edited 1 time in total
    Posted: 16:35 31-03-2018   
eliseeff
 268 EGP


Рейтинг канала: 6(316)
: 5
Posts: 932

Joined: 07 Mar 2015
Andy_MB wrote:
Заметил странное поведение команды
<cancel_cue cue="this" />
Если вставить в цикл (при проверке условия, например хочу прервать всю "кую")
Нифига не сработает сразу! Только после выполнения всего цикла и команд, следующих за ним!
Пришлось городить конструкцию из брэйков!
Code:
            ...
                  <do_if value="$Temp_true">
                    <break/>
                  </do_if>
                </do_all>
                <do_if value="$Temp_true">
                  <break/>
                </do_if>
              </do_all>
            ...

Только после этого, все заработало правильно!
Полдня на поиск ошибки. Улыбка
Надеюсь кому-то сэкономит время.

А ничего странного.

Из Егософтовского мануала по MD:

Quote:
<cancel_cue> and <reset_cue> only take effect after all remaining actions of the current cue are performed. So you can even safely cancel the cue that you are currently in (keyword “this”) or any ancestor cue, and still perform more actions afterwards.


Перевод wrote:
Эффект от <cancel_cue> и <reset_cue> происходит только после того, как все оставшиеся операции в <actions> текущего куя выполнены. Т.е. вы спокойно можете отменить куй, в котором в текущий момент находитесь (“this”) или любой родительский куй, а после этого продолжать другие операции.


добавлено спустя 36 минут:
Andy_MB wrote:
Кто может подсказать как репутацию перевести из xml-формата в lua-формат, средствами UI ?
 Cкрытый текст   (кликните здесь для просмотра)

UI value mapping (analogously for negative values):
1.0 = 30
0.32 = 25
0.1 = 20
0.032 = 15
0.01 = 10
0.0032 = 5
These values are fixed. Between them, logarithmic interpolation is used. Approximate formulas:
uivalue = 10 * log10(relation * 1000)
relation = 10^(uivalue / 10) / 1000
Between -0.0032 and +0.0032 (UI -5...+5) linear interpolation is used, and 0.00064 equates to one UI value step.

Если обращаться к списку репутаций командой:
menu.relations = GetLibrary("factions")
тогда работает такой объект:
menu.relations.relation - получает значения от -30 до +30

а я передаю списком в переменную menu.relations = [0.01,..,-0.032]
menu.relations = menu.param[7]
нашел в библиотеке vmdef.lua -> math вычисление логарифма, но это:
uirelations = 10 * math.log10(menu.relations[i] * 1000)
выдает результат либо 'nan' либо 'inf' , причем пробовал math.log10(3.2) = nan

пробовал тупо к своему списку применить .relation - тоже не работает такая конструкция :
menu.relations[i].relation
Ну тут понятно, что я пытаюсь сравнить список объектов со своим списком чисел Улыбка

... если не получится, то пойду в XML-е пробовать логарифмировать свой список, хоть и не хочется. Улыбка

Не совсем понимаю, ЧТО именно ты хотел. Создается впечатление, что ты просто перепутал relation и uivalue. И пытаешься брать логарифм там, где наоборот - нужно возводить в степень.

Для начал определимся: uivalue - это то, что мы видим в меню репутаций, т.е. значения от -30 до +30. А relation - это то значение репутации, которе использует и хранит игра, т.е. значения от -1 до +1.

И ни в коем случае не следует забывать, что логарифмическая шкала НЕ ДЕЙСТВУЕТ в диапазоне relation между -0.0032 и +0.0032 (uivalue -5...+5). В этом диапазоне шкала линейна, с шагом 0.00064.

Через некоторое время постараюсь сделать луа-код для пересчета.

Last edited by eliseeff on 18:33 31-03-2018; edited 1 time in total
    Posted: 18:33 31-03-2018   
Andy_MB
 130 EGP


Рейтинг канала: 4(83)
: 10
Posts: 572
Location: Край вселенной, Квазар-1
Joined: 13 Jul 2015
ОООооо! Этот мануал, я читал 4 года назад! К сожалению, я не обладаю идеальной памятью. Улыбка
Привык, что САNCEL ведет себя в других языках программирования определенным образом.

добавлено спустя 5 минут:
eliseeff wrote:

Через некоторое время постараюсь сделать луа-код для пересчета.

Можешь не париться!
Я уже написал тот мод и забыл про него. Я свои задачи решил с его помощью и еще паре человек он понадобился.
Всех устраивает как там все работает.
Я уже давно решил этот вопрос без использования логарифмов.

Last edited by Andy_MB on 18:44 31-03-2018; edited 1 time in total
    Posted: 18:44 31-03-2018   
Канал X Rebirth -> Модовый и скриптовый отсек X Rebirth: «Ковыряем новый движок (моддинг)»
Go to page: Previous  1, 2, 3 ... , 29, 30, 31  Next    Перейти:   All pages
  
Display posts from previous: 
View previous topic | View next topic |
К списку каналов | Наверх страницы
Цитата не в тему: Я, не нарушая НИ ЕДИНОГО ПРАВИЛА конференции, спокойно ужинал профилями пилотов на ЕГе... (докладывает Harley)

  » Ковыряем новый движок (моддинг) |
Каналы: Новости | Elite | Elite: Dangerous | Freelancer | Star Citizen | X-Tension/X-BTF | X2: The Threat | X3: Reunion | X3: Terran Conflict | X Rebirth | X4: Foundations | EVE Online | Orbiter | Kerbal Space Program | Evochron | VoidExpanse | Космические Миры | Онлайновые игры | Другие игры | Цифровая дистрибуция | play.elite-games.ru | ЗВ 2: Гражданская война | Творчество | Железо | Игра Мечты | Сайт
   Дизайн Elite Games V5 beta.18