kosh
-
Постов
210 -
Зарегистрирован
-
Посещение
Тип контента
Загрузки
Форумы
Статьи и объявления
Гардероб
Маунты
Сообщения Allods Team
Трекер ошибок
Магазин
Галерея
Сообщения, опубликованные kosh
-
-
спасибо за работу...
з.ы. ну как бе, я не все свои секреты рассказываю -=)
-
-
скриптовики затейники, нуждаюсь в вашей помощи!
мне нужно понять как можно "это" описать на луа т.е. какие есть варианты (я не совсем догоняю подобной реализации схемы)
задача
дано:
есть "структура" скрипта
------------------------------------------------------------------
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) евенты
-
это не совсем декомпиляция... скорее дизассемблирование..
нужный софт(забудте о всяких там luadec-ах и еже с ним):
luac.exe (версии 5.0.2)
делаем батничег test.bat:
Code:set SNAME=ScriptNameluac502.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.хз версией
-
-
в связи с выходом "толстого" патча - приостанавливаю работы по данной теме... т.к. очень много нововведений затрагивают скрипты используемые в существующих фиксах...
з.ы. я категорически отказываюсь заниматься декомпиляцией скриптов не связаны напрямую с игровым процессом (ака все что не в "Ingame").. сорри, надеюсь поймете
-
хм.. меня начинает радовать что тут к нас собирается также много и украинцев... -=) мойи прывитання...
-
STI4 хотел сказать что бы "это" добавили к уже существующему фиксу визКрита
-
не в тему...
-
большинство последних скриптов мало чем отличались от своих старых копий.. или просто я когда-то уже начинал их декомпилить, по этому и получилось так быстро...
setTargetSelect - это первый вариант фикса моего табСелекта, автор идеи Setras, я только привел все в порядок
Chatfix - скорее всего нужно делать с нуля, хотя хз... (я не помню для какого чата этот был фикс, для старого или нового, навороченного)
остальные - я уже занялся...
-
гы-гы.. удачи... -=)
-
ув. коллеги...
в очередной раз подымаю вопрос (большинство об этом не в курсе), о взаимодействии и согласовании написания новых фиксов, затрагивающие скрипты которые уже были использованы в написании других фиксов.
на моей памяти было 3 случая когда новый фикс изменял скрипт, так же уже используемый другим, написанным ранее фиксом.
последствия установки обоих фиксов - в лучшем случае не работающий один из фиксов, в худшем оба(маловероятно но возможно, если фикс затрагивает несколько скриптов взаимосвязанных в игре, например набор скриптов чата)...
что в итоге получилось:
в двух случаях возможности обоих фиксов были совмещены в один...
один же случай до сих пор в "конфликте" фиксов, но не авторов...
посему предлагаю:
ув. модмейкеры, убедительная просьба, когда вы релизите свое "детище" - указывайте в описании, какие скрипты Вы используете, о несовместимости/совместимости с фиксами использующие эти же скрипты но выпущенные ранее Вашего...
администрации ресурса:
предусмотреть наличие соответствующих информационных полей при релизе... ("модификация списка скриптов", "несовместимость с списком фиксов")
огромное спасибо -=)
-
60-80% это не значит что на самом деле Ты критуешь... малоли на что именно эти проценты влияют... шютка -=)))
-
не совсем с Тобой согласен ("все как есть"), но мне очень нравиться с какой иронией он это рассказывает...
-
да вы че? издеваетесь?
-
извини но не нашел математической разницы между:
Code:local percents = 100 * ( experience.currentExp - experience.currentLevelExp ) / rangelocal zed = experience.nextLevelExp - experience.currentExp
local percentsNext = 100 * zed / range
local percentsRest = 100 * rest.fatigue / range
и
Code:local percents = 100 * ( experience.currentExp - experience.currentLevelExp ) / rangelocal expexp = experience.nextLevelExp - experience.currentExp
local percentsNext = 100 * ( experience.nextLevelExp - experience.currentExp ) / range
local percentsRest = 100 * rest.fatigue / range
так и не понял что Ты исправил
к тому же Твой вариант длинее на 3 инструкции и 12 байт =))))
а ошибка была.. но совершенно в другой функции но она была и я не знал как ее исправить но уже исправил
-
ScriptContextMultibag - done
ScriptContextDamageVisualization - done
-
спасибо... вылезу из ванны - посмотрю
-
патч был?
-
я могу ошибаться в скрипте крита...
-
-
1. попахивает, нет, воняет читерством
2. непонял? о_О
3. ждем АПИ
-
о_О ...и возможность запускать это все в бровзере телефона...
-
вобще "есть"... но "как" - хз?
декопиляция...
в Вопросы и ответы
Опубликовано
разобрался сам... (подсмотрел)
function RegisterEventHandler( handler, event )
....common.RegisterEventHandler(
........function ( params )
............params.event = event
............handler( params )
........end,
........event
....)
end