Jump to content
Alloder.pro  about Allods with love 😱
Search In
  • More options...
Find results that contain...
Find results in...

Results of the competition "Allods and Life"

Stories, that warm souls.

Read More

Digest April

We talk about what was done and updated in the past month. We help keep abreast of events.

Read more

Game tooltips

Tooltips provide a way for 3rd party fansites and extensions to display detailed information on mouseover.

Read more

декомпиленные оффициальные скрипты


kosh
 Share

Recommended Posts

прошу администрацию прикрепить тему...

т.к. этим больше никто не занимается постараюсь деомпилить скрипты по мере поступлений запросов

все законченные проекты буду выкладывать тут

что уже декомпилено на данный момент:

\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

Link to comment
Share on other sites

Kosh, спасибо! Это очень радостная новость!! :)

Для тех кто не понял, это это значит - это возможность исправить "баги" в аддонах, починить нерабочие аддоны, и создавать новые, которые будут работать без "багов" :)

P.S. Может можно и jCritVisuator (ScriptContextDamageVisualization.lua) починить? Вроде, не самый нужный аддон, но в запросах на разработку его просили уже несколько раз. Он самый востребованный из нерабочих аддонов.

Link to comment
Share on other sites

Guest Valltron

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

просьба вот это декомпильнуть:

\Interface\Ingame\ContextCharacter\ScriptContextCharacter.lua

Link to comment
Share on other sites

ScriptWarnings - done.

ScriptContextCharacter - started. осталась одна меленькая функция.. утром доделаю...

нет доделал...

ScriptContextCharacter - done.

-=)

Link to comment
Share on other sites

Guest Phantasmagor

Спасибо огромное за ScriptContextCharacter! С меня причиается!

P.S. Если будет времечко свободное, посмотри плиз ContextMultibag

Link to comment
Share on other sites

Guest Valltron

присоединяюсь. хотя, как я понял, там различия если есть то минимальны.

хотелось бы вот эти еще увидеть скрипты:

Ingame\Chat\ScriptChatEvents.lua

Wrap\MainMenu\ConnectionProgress\ScriptConnectionProgress.lua

Wrap\MainMenu\LoginAccount\ScriptLoginAccount.lua

Wrap\MainMenu\ShardSelect\ScriptShardSelect.lua

Заранее благодарен :)

Link to comment
Share on other sites

Возможно, какие-то скрипты в этом списке не менялись с версии 1.0.03. Например, я недавно игрался с ScriptShardSelect.lua, и он прекрасно работал в современной версии.

Valltron, раз уж ты решил завтра заняться скриптами, как ты сам проболтался где-то на днях :) то может ты можешь починить jCritVisuator? Kosh говорит, нужно править не тот файл, который сейчас в аддоне, а ScriptWarnings.lua. Я посмотрел его, там есть 3 места, где используется функция PlayTextScaleEffect(), но нигде нет и намёка на визуализацию именно урона. Т.е. нужно, видимо, скидывать в user.cfg содержимое кое-каких структур, используемых около этой функции, и выуживать, где там зарыт результат атаки с критическим уроном. Я этим никогда не занимался, поэтому, мне придётся потратить целый день, чтобы научиться, а сейчас я по уши занят. Может, если у тебя побольше опыта в этом деле, может ты можешь починить jCritVisuator? :) Если нет, то я доберусь до него, но только через какую неделю.

Link to comment
Share on other sites

Guest Valltron

просмотрел скрипт ScriptWarnings... он как отвечал только за, так называемые, Warning-сообщения, так и отвечает. за визуализацию дамага отвечает именно ScriptContextDamageVisualization.lua так что как появится данный скрипт декомпиленный так появится и critvisuator

Link to comment
Share on other sites

Guest Valltron

в ScriptContextPlates походу ошибка есть. не показывает tooltip при наведении на полоску опыта.

Link to comment
Share on other sites

Guest uselinux

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-английских говоря людей

Link to comment
Share on other sites

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, напиши, каким софтом ты компилируешь/декомпилируешь скрипты. Нам тоже, кстати, интересно.

Link to comment
Share on other sites

Guest uselinux

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 :D

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 :D

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. :/

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

Guest uselinux

Oh yeah I understand that. I only found 1 english site, and it was a forum thread which pointed here :P

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 :P

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 ;]

Link to comment
Share on other sites

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

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 байт =))))

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

Link to comment
Share on other sites

УРА!!! Вернусь к своему компьютеру, через 2-3 часа - сделаю jCritVisuator =)

У моего персонажа шанс крита где-то 60-80%, так что, и протестирую без проблем :)

Link to comment
Share on other sites

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

By using our site you agree to the Terms of Use