Перейти к содержанию

Дайджесты за январь-февраль

Обновления гайдов и аддонов

Январь Февраль

Мониторинг серверов и редактор аддонов

Представляем вам две легенды. То, о чем можно было только мечтать, стало реальностью.

Мониторинг серверов Редактор аддонов

Подсказки из игры на вашем сайте

Теперь вы можете отображать сведения о внутриигровых элементах простым наведением курсора мыши.

Подробнее

Апдейтер аддонов

Представляем вам программу для автообновления аддонов и делимся подробностями.

Подробнее Скачать

kosh

Пользователь
  • Постов

    210
  • Зарегистрирован

  • Посещение

Сообщения, опубликованные kosh

  1. скриптовики затейники, нуждаюсь в вашей помощи!

    мне нужно понять как можно "это" описать на луа т.е. какие есть варианты (я не совсем догоняю подобной реализации схемы)

    задача

    дано:

    есть "структура" скрипта

    ------------------------------------------------------------------

    local onEvent = {}

    ...

    onBase[ "event_name" ] = function ( param )

    ...

    end

    onEvent[ "event_name2" ] = function ( param )

    ...

    end

    onScript[ "event_name3" ] = function ( param )

    ...

    end

    function RegisterEventHandler( event, eventname )

    common.RegisterEventHandler( function eventname( params ) ??? end )

    end

    function RegisterEventHandlers( eventtypename )

    ....for eventname, event in eventtypename do

    ........RegisterEventHandler( event, eventname )

    ....end

    end

    function Init()

    ....RegisterEventHandlers( onBase )

    ....RegisterEventHandlers( onEvent )

    ....RegisterEventHandlers( onScript )

    end

    init()

    ------------------------------------------------------------------

    p.s. там где ??? нужно вот как-то что-то нужное сделать что что бы регистрились все три типа(onBase, onEvent, onScript) евенты

  2. это не совсем декомпиляция... скорее дизассемблирование..

    нужный софт(забудте о всяких там luadec-ах и еже с ним):

    luac.exe (версии 5.0.2)

    делаем батничег test.bat:

    Code:
    set SNAME=ScriptName

    luac502.exe -p -l %SNAME%_615decomp.lua > %SNAME%_615decomp.luad

    luac502.exe -s -o %SNAME%_615decomp.luac %SNAME%_615decomp.lua

    luac502.exe -s -p -l %SNAME%_615decomp.luac > %SNAME%_615decomp.luad_

    luac502.exe -p -l %SNAME%_615.lua > %SNAME%_615.luad_

    в отдельную папку кладем батник, выдранный из текущей версии нужный скомпилированный скрипт("ScriptName_615.lua") и не компилированный скрипт из старой версии 3.19 ("ScriptName_615decomp.lua")

    запускаем батник:

    появляются новые файлы...

    сравниваем ScriptName_615decomp.luad_ и ScriptName_615.luad_

    правим в ScriptName_615decomp.lua, сохраняем, запускаем батник, сравниваем... и т.д.

    если потерялись в сравнивании - ScriptName_615decomp.luad_ имеет ссылки на строки исходного луа старой версии(это на всякий случай)

    з.ы. "bad header in precompiled chunk" выдает потому что АОскрипты компилировались 5.0.хз версией

  3. в связи с выходом "толстого" патча - приостанавливаю работы по данной теме... т.к. очень много нововведений затрагивают скрипты используемые в существующих фиксах...

    з.ы. я категорически отказываюсь заниматься декомпиляцией скриптов не связаны напрямую с игровым процессом (ака все что не в "Ingame").. сорри, надеюсь поймете

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

    setTargetSelect - это первый вариант фикса моего табСелекта, автор идеи Setras, я только привел все в порядок

    Chatfix - скорее всего нужно делать с нуля, хотя хз... (я не помню для какого чата этот был фикс, для старого или нового, навороченного)

    остальные - я уже занялся...

  5. ув. коллеги...

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

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

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

    что в итоге получилось:

    в двух случаях возможности обоих фиксов были совмещены в один...

    один же случай до сих пор в "конфликте" фиксов, но не авторов...

    посему предлагаю:

    ув. модмейкеры, убедительная просьба, когда вы релизите свое "детище" - указывайте в описании, какие скрипты Вы используете, о несовместимости/совместимости с фиксами использующие эти же скрипты но выпущенные ранее Вашего...

    администрации ресурса:

    предусмотреть наличие соответствующих информационных полей при релизе... ("модификация списка скриптов", "несовместимость с списком фиксов")

    огромное спасибо -=)

  6. извини но не нашел математической разницы между:

    Code:
    local percents = 100 * ( experience.currentExp - experience.currentLevelExp ) / range

    local zed = experience.nextLevelExp - experience.currentExp

    local percentsNext = 100 * zed / range

    local percentsRest = 100 * rest.fatigue / range

    и

    Code:
    local percents = 100 * ( experience.currentExp - experience.currentLevelExp ) / range

    local expexp = experience.nextLevelExp - experience.currentExp

    local percentsNext = 100 * ( experience.nextLevelExp - experience.currentExp ) / range

    local percentsRest = 100 * rest.fatigue / range

    так и не понял что Ты исправил

    к тому же Твой вариант длинее на 3 инструкции и 12 байт =))))

    а ошибка была.. но совершенно в другой функции но она была и я не знал как ее исправить но уже исправил

×
×
  • Создать...

Важная информация

Пользуясь сайтом, вы принимаете Условия использования