kosh Posted January 18, 2010 Share Posted January 18, 2010 прошу администрацию прикрепить тему... т.к. этим больше никто не занимается постараюсь деомпилить скрипты по мере поступлений запросов все законченные проекты буду выкладывать тут что уже декомпилено на данный момент: \Interface\Ingame\ContextPlates\ScriptContextPlates.lua компилированный v1.0.05.28 декомпилированный v1.0.05.28 оригинал v1.0.03.19 \Interface\Ingame\ContextTooltip\ScriptContextTooltipTemplates.lua компилированный v1.0.05.28 декомпилированный v1.0.05.28 оригинал v1.0.03.19 \Interface\Ingame\Warnings\ScriptWarnings.lua компилированный v1.0.05.28 декомпилированный v1.0.05.28 оригинал v1.0.03.19 \Interface\Ingame\ContextCharacter\ScriptContextCharacter.lua компилированный v1.0.05.28 декомпилированный v1.0.05.28 оригинал v1.0.03.19 \Interface\Ingame\ContextMultibag\ScriptContextMultibag.lua компилированный v1.0.05.28 декомпилированный v1.0.05.28 оригинал v1.0.03.19 \Interface\Ingame\ContextDamageVisualization\ScriptContextDamageVisualization.lua компилированный v1.0.05.28 декомпилированный v1.0.05.28 оригинал v1.0.03.19 \Interface\Ingame\ContextPlayerTrade\ContextPlayerTradeScript.lua компилированный v1.0.05.28 декомпилированный v1.0.05.28 оригинал v1.0.03.19 \Interface\Ingame\Inspect\ScriptInspect.lua компилированный v1.0.05.28 декомпилированный v1.0.05.28 оригинал v1.0.03.19 \Interface\Ingame\TabSelector\ScriptTabSelector.lua компилированный v1.0.05.28 декомпилированный v1.0.05.28 оригинал v1.0.03.19 \Interface\Ingame\TargetSelection\ScriptTargetSelection.lua компилированный v1.0.05.28 декомпилированный v1.0.05.28 оригинал v1.0.03.19 в разработке: AncestralVendorTradeScript Quote Link to comment Share on other sites More sharing options...
SLA Posted January 18, 2010 Share Posted January 18, 2010 Kosh, спасибо! Это очень радостная новость!! Для тех кто не понял, это это значит - это возможность исправить "баги" в аддонах, починить нерабочие аддоны, и создавать новые, которые будут работать без "багов" P.S. Может можно и jCritVisuator (ScriptContextDamageVisualization.lua) починить? Вроде, не самый нужный аддон, но в запросах на разработку его просили уже несколько раз. Он самый востребованный из нерабочих аддонов. Quote Link to comment Share on other sites More sharing options...
kosh Posted January 18, 2010 Author Share Posted January 18, 2010 вот как раз ScriptWarnings и нужен =) Quote Link to comment Share on other sites More sharing options...
Guest Valltron Posted January 18, 2010 Share Posted January 18, 2010 Во! отлично. Молодец. А то я хотел заняться тоже, но все времени не мог найти. А у тебя уже и опыт есть просьба вот это декомпильнуть: \Interface\Ingame\ContextCharacter\ScriptContextCharacter.lua Quote Link to comment Share on other sites More sharing options...
kosh Posted January 19, 2010 Author Share Posted January 19, 2010 ScriptWarnings - done. ScriptContextCharacter - started. осталась одна меленькая функция.. утром доделаю... нет доделал... ScriptContextCharacter - done. -=) Quote Link to comment Share on other sites More sharing options...
Guest Phantasmagor Posted January 19, 2010 Share Posted January 19, 2010 Спасибо огромное за ScriptContextCharacter! С меня причиается! P.S. Если будет времечко свободное, посмотри плиз ContextMultibag Quote Link to comment Share on other sites More sharing options...
Guest Valltron Posted January 23, 2010 Share Posted January 23, 2010 присоединяюсь. хотя, как я понял, там различия если есть то минимальны. хотелось бы вот эти еще увидеть скрипты: Ingame\Chat\ScriptChatEvents.lua Wrap\MainMenu\ConnectionProgress\ScriptConnectionProgress.lua Wrap\MainMenu\LoginAccount\ScriptLoginAccount.lua Wrap\MainMenu\ShardSelect\ScriptShardSelect.lua Заранее благодарен Quote Link to comment Share on other sites More sharing options...
SLA Posted January 23, 2010 Share Posted January 23, 2010 Возможно, какие-то скрипты в этом списке не менялись с версии 1.0.03. Например, я недавно игрался с ScriptShardSelect.lua, и он прекрасно работал в современной версии. Valltron, раз уж ты решил завтра заняться скриптами, как ты сам проболтался где-то на днях то может ты можешь починить jCritVisuator? Kosh говорит, нужно править не тот файл, который сейчас в аддоне, а ScriptWarnings.lua. Я посмотрел его, там есть 3 места, где используется функция PlayTextScaleEffect(), но нигде нет и намёка на визуализацию именно урона. Т.е. нужно, видимо, скидывать в user.cfg содержимое кое-каких структур, используемых около этой функции, и выуживать, где там зарыт результат атаки с критическим уроном. Я этим никогда не занимался, поэтому, мне придётся потратить целый день, чтобы научиться, а сейчас я по уши занят. Может, если у тебя побольше опыта в этом деле, может ты можешь починить jCritVisuator? Если нет, то я доберусь до него, но только через какую неделю. Quote Link to comment Share on other sites More sharing options...
kosh Posted January 23, 2010 Author Share Posted January 23, 2010 я могу ошибаться в скрипте крита... Quote Link to comment Share on other sites More sharing options...
SLA Posted January 23, 2010 Share Posted January 23, 2010 Кстати, а почему ты решил, что криты теперь находятся не в ScriptContextDamageVisualization.lua, а в ScriptWarnings.lua? Quote Link to comment Share on other sites More sharing options...
Guest Valltron Posted January 24, 2010 Share Posted January 24, 2010 просмотрел скрипт ScriptWarnings... он как отвечал только за, так называемые, Warning-сообщения, так и отвечает. за визуализацию дамага отвечает именно ScriptContextDamageVisualization.lua так что как появится данный скрипт декомпиленный так появится и critvisuator Quote Link to comment Share on other sites More sharing options...
SLA Posted January 24, 2010 Share Posted January 24, 2010 Kosh? Please help Quote Link to comment Share on other sites More sharing options...
Guest Valltron Posted January 24, 2010 Share Posted January 24, 2010 в ScriptContextPlates походу ошибка есть. не показывает tooltip при наведении на полоску опыта. Quote Link to comment Share on other sites More sharing options...
Guest uselinux Posted January 24, 2010 Share Posted January 24, 2010 Would you be willing to share information on how to decompile the lua scripts? I attempted to use LuaDec, btut I came up with many errors regarding read errors. Many addons simply don't work out too well for the NA version, and I have some experience making addons in other games and I really want to get a kick start on allods before its all official. So any information would be nice. I used a translator... hope it didn't turn out horrible for any non-english speaking people --- Вы были бы охотно готовы делить информацию на как к decompile сценарии lua? Я попытал использовать LuaDec, btut я пришел вверх с много ошибок относительно ошибок считывания. Много расширений просто don' t разрабатывает слишком наилучшим образом для версии NA, и я имею некоторый опыт сделать расширения в других играх и я действительно хочу получить старт пинком на allods перед своим всем должностным лицом. Настолько любая информация была бы славна. Я использовал упование переводчика… оно didn' поворот t вне ужасный для всех non-английских говоря людей Quote Link to comment Share on other sites More sharing options...
kosh Posted January 24, 2010 Author Share Posted January 24, 2010 патч был? Quote Link to comment Share on other sites More sharing options...
SLA Posted January 24, 2010 Share Posted January 24, 2010 First, take a look at what exactly Kosh is doing here. See examples, how code looks BEFORE and AFTER reconstruction: http://ui9.ru/forum/develop/topic/87 This work looks like reverse engineering Assembler code. Hardcore! Now I will explain what exactly he is doing: he takes a script from last saved open-source LUA scripts from v.1.0.03.26 (developers compiled all LUA scripts starting from version 1.0.04.*) and then he COMPILES this script, and DECOMPILES it to assembler-like code. Also, he decompiles the modern compiled script from current game version. Then he VISUALLY COMPARES those 2 scripts. When he finds any difference (for example, he finds a block of new code), he tries to GUESS, what this block is doing, by using all his knowledge and experience. (also, by seeing some variable names in decompiled code, and by comparing this block with other similar "known" blocks from other scripts. When the reconstruction is finished, he manually upgrades the LUA code from v.1.0.03.26, and tries to compile/decompile it again, to visually compare with 1.0.05 again. If he gets an IDENTICAL code, that means, he reconstructed the block correctly Good news: there is really not much difference between 1.0.03 and 1.0.05 scripts. Usually 1-2 new blocks per script, resulting in several strings of LUA code. Another good news for you: in your North-American version, all scripts are identical to ours. That means, when your version will be upgraded to 1.0.05.*, you will be able to use those scripts made by Kosh... Also, your current scripts (v.1.0.04) are something IN MIDDLE between 1.0.03.26 and Kosh's 1.0.05.28, so you can use Kosh's decompiled scripts as a hint. Now I gonna ask Kosh to explain which tools he is using for compilation and decompilation. Kosh, напиши, каким софтом ты компилируешь/декомпилируешь скрипты. Нам тоже, кстати, интересно. Quote Link to comment Share on other sites More sharing options...
Guest Valltron Posted January 24, 2010 Share Posted January 24, 2010 нет небыло, может ты не тот файл выложил? незаконченный? тем не менее вот я поправил что не так было File: ScriptContextPlates_.zip Quote Link to comment Share on other sites More sharing options...
Guest uselinux Posted January 24, 2010 Share Posted January 24, 2010 Wonderful that is a good amount of information. I stumbled on tools on google that would drop the bytecode to assembler code, but I didn't think it would be much use. I could see by opening the files portions of code, and point some things out, like parenthesis go here, etc. But that's really a lot better idea of it. Glad to hear the scripts are identical I've been extracting what information I can from google translator, but that is not the best tool. Does it's job pretty well though, I get the gist of things for the most part. This is the only site on the web I found relating to allods addons, so definite props to that I just feel like a jerk for going to another site and speaking english haha. I know we get mad when people start up foreign discussions in our forums. :/ Quote Link to comment Share on other sites More sharing options...
SLA Posted January 24, 2010 Share Posted January 24, 2010 UI9.RU is the ONLY website on the web, which main purpose is to make and distribute addons for "Allods Online". And this is the FIRST such website, all existing addons was born on UI9.RU, nowhere else. Do you know, WHY we have to do this extremely hard work - LUA decompilation? This is because game developers intentionally compiled all LUA scripts to make our "illegal" activity harder. They did it after we (guys from UI9.RU) made an addon "AutoLogin", which developers called "unsafe" and "dangerous", since it saves login/pass in user.cfg file, and this file then can be stolen, theoretically. You can speak in english here, since most of us understand english quite well. Quote Link to comment Share on other sites More sharing options...
kosh Posted January 24, 2010 Author Share Posted January 24, 2010 спасибо... вылезу из ванны - посмотрю Quote Link to comment Share on other sites More sharing options...
Guest uselinux Posted January 24, 2010 Share Posted January 24, 2010 Oh yeah I understand that. I only found 1 english site, and it was a forum thread which pointed here It really is surprising that none of this has transfered over to other websites by now... its been a while haha. Yeah I understand that, from what I've read lua bytecode really doesn't provide any optimization, so the only reason is the addons. There will be more things we can do when addons are officially supported. Creating custom frames and whatnot... that is always nice to have I toy around with reversing from time to time.. so I know a bit how the devs try to mess with people doing things they don't want done Ok, I will continue to do so. I can see you understand quite well. Us americans aren't really urged to learn any foreign languages. But that's another discussion all together ;] Quote Link to comment Share on other sites More sharing options...
kosh Posted January 26, 2010 Author Share Posted January 26, 2010 ScriptContextMultibag - done ScriptContextDamageVisualization - done Quote Link to comment Share on other sites More sharing options...
kosh Posted January 26, 2010 Author Share Posted January 26, 2010 извини но не нашел математической разницы между: 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 байт =)))) а ошибка была.. но совершенно в другой функции но она была и я не знал как ее исправить но уже исправил Quote Link to comment Share on other sites More sharing options...
SLA Posted January 26, 2010 Share Posted January 26, 2010 УРА!!! Вернусь к своему компьютеру, через 2-3 часа - сделаю jCritVisuator =) У моего персонажа шанс крита где-то 60-80%, так что, и протестирую без проблем Quote Link to comment Share on other sites More sharing options...
kosh Posted January 26, 2010 Author Share Posted January 26, 2010 60-80% это не значит что на самом деле Ты критуешь... малоли на что именно эти проценты влияют... шютка -=))) Quote Link to comment Share on other sites More sharing options...
Recommended Posts