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

Shark

Прохожие
  • Постов

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

  • Посещение

Информация о Shark

Достижения Shark

Прохожий

Прохожий (2/14)

  • First Post
  • Conversation Starter
  • Week One Done
  • One Month Later
  • One Year In

Последние значки

0

Репутация

  1. Is the project dead, seeing how it's last commit was 12 months ago, around the time of this post?
  2. Shark

    Pozhalujsta

    They are for ScrMaker.exe obviously - their content is a names of commands and variables used in script editor. I've unpacked game's .dat files a very long time ago, but I'm pretty sure that one of these .dat archives contains "semes" folder and files in it. If it's not, then these files are in "data\semes" folder outside of .dat archives - it is also works well (data in archived files are replaced by the files in "data" forder when the game starts - that's why my ATR mod don't have any .dat archives and contains only pure files in appropriate folders, what allows anyone, who uses it, to easily make some changes). Aha, thank you for the clarification. It turns out, the semes/ folder wasn't really needed for the scripts to work. Maybe I'll need it if I'm going to write new scripts that spend fuel, but in that case, i'll just grab the whole semes/ folder from somewhere and use only the modified effects.mes from it. The binary patch did most of the work, now some content-related issue(s) are showing up
  3. Shark

    Help regarding .proto files

    So, while trying to merge some of the Positiff's weapon changes with the UAP2.0.2 changes, one weapon in particular is giving me problems. Pyro Bow. I want to have it visually looking like in UAP2.0.2 - shoots a flaming arrow, with an explosion when it hits. I want to have it functioning like in ATR - so that bonus flame damage depends on spending fuel. For now, i got kinda close: - shoots a normal arrow, plays explosion when it hits, spends fuel When i try to get that last "missing stuff" by comparing 006166.proto, i either break the .proto, or the game refuses to load. By "breaking the proto" i mean, the game no longer shows the item as part of my test background, but the game loads and works fine. "Game refusing to load" is simply the game crashing due to a malformed .proto file. I have pinpointed some critical portions of it, that seems to control some "flags", whether the item has a WeaponEyeCandy or a script attached, as well as which script triggers. 01CD is the two byte, little endian, hex of the script to invoke. 1609 seems to be important, because ATR's version has 24 there. UAP's has 08. There is alot of room (between 160E-2400) where UAP's version has non-zero values, but ATR's has just 00s. So, i'm kinda trying out to either just use UAP's values and keeping the important/critical sections with ATR values, or somehow superimpose the values (if they're a bitmask/flags, i essentially just OR them.) and that's what got me this close. However, i'm trying to get the *ideal* case. The explosion-on-hit is declared in WeaponEyeCandy. The script is in the proto file. The projectile also seems to be in the proto file. Currently, i'm just missing the projectile, which i suspect is somewhere in the 1609-160D range. example; - using 08 on 1609 and 00 on 160D gives me the flaming projectile, but doesn't invoke the script. - using 24 on 1609 and 6C on 160D gives me a normal projectile, but does invoke the script. The stuff in between - i don't know what those are, so they might be less important for now. Just blindly copying them over from UAP's proto can work, but proto breaks as soon as I make an illegal combo on these two important addresses/offsets. So, I can post some images / hex comparisons of ATR vs UAP proto file. But, to make this less of a X/Y problem (where I think the problem is X when it's really Y) - is there any good document on .proto files, on what each byte means, and what the values on those positions mean? I'm looking more for a "file specification" kind of thing, and less for a "I did this, here's a tutorial on how i did it where I explain just a few necessities which I had to change" like the ones i found so far. EDIT: I found Krupp's stuff, lets see where that gets me in the following days Image, of the stuff that currently works, My changed version of ATR's 006166.proto on the left, the UAP2.0.2+pyro visuals on the right. https://ibb.co/41PTXBC
  4. Shark

    Pozhalujsta

    Thanks a bunch, i'll give it a try one of these days. Hopefully the patch works out, since i'm doing it on top of UAP. And sure, if it gets released (and doesn't remain just for personal use) - you'll get credit. Having finally dug out the origin of the feature and the author's name. BTW, these semes files - what are they for? I see your mod has them, and ATR has them. Didn't see them anywhere else. Game's .dat files don't seem to have them either.
  5. Shark

    Pozhalujsta

    It seems that, in his (ATR) version of the game and ScrMaker ``` scroll distance: store in 1 ``` is decompiled/translated into ``` drain 1 fuel from Triggerer ``` However, the Multiverse ScrMaker doesn't see it that way in their install, yet it still works. Putting that ScrMaker (and the rest of the ATR binaries) into any of my installs (vanilla, Multiverse, UAP) doesn't see that line as "drain 1 fuel from Triggerer". .... so it seems that I'm missing more things. It simply doesn't make much sense to me, that when I use MV/ATR binary in the UAP folder, it works fine (which lead me to believe that i just need to patch the UAP arcanum.exe), but only when I use ATR's ScrMaker in it's native environment, the script shows "drain 1 fuel from triggerer". And yet, the script works with both ATR and MV binaries, in or outside of their native environment (e.g. using those binaries in the UAP folder) A very non-trivial lottery problem to find out just the bytes/addresses that facilitate this behaviour. :'(
  6. Shark

    Pozhalujsta

    I can deal with the mes files myself, and I somehow doubt the ScrMaker.exe makes any difference, whether it's the one from UAP/Multiverse or a normal one from vanilla, but i'm open to learning. I believe the scripts are parsed by the main binary - arcanum.exe, and that's what i need the engine patch for. From what I see, there's 54 differences between the UAP arcanum.exe and Multiverse arcanum.exe - so I just need to find the minimal subset of changes that contains the change I need. For some yet unknown reason, I don't want to just use the multiverse arcanum.exe binary because it may have other gamebreaking bugs/changes in it that i'm not interested in. I just need this one for now, so first things first - keep applying binary difference patches from MV to UAP until I get the necessary result, then minimize the change until I find just the thing I need. I will look into finding the Arcanum Total Rebalance and maybe do a comparison between it and UAP, maybe there's less differences to sift through. ---- Я могу разобраться с файлами MES, и я каким -то образом сомневаюсь в scrmaker.exe, имеет ли это какое -либо значение, будь то тот, кто от UAP/Multiverse или обычный от ванили, Но я открыт для обучения. Я полагаю, что сценарии проанализированы основным бинарным - arcanum.exe, и это то, для чего мне нужен патч двигателя. Из того, что я вижу, существует 54 различия между UAP Arcanum.exe и Multiverse Arcanum.exe - поэтому мне просто нужно найти минимальное подмножество изменений, которое содержит необходимое изменение. По какой -то еще неизвестной причине я не хочу просто использовать бинарную мультивсеров Arcanum.exe, потому что в нем могут быть другие ошибки/изменения, которые меня не заинтересованы. Мне просто нужен это на данный момент, так что первые вещи Сначала - продолжайте применять патчи бинарной разницы от MV к UAP, пока я не получу необходимый результат, а затем минимизируйте изменение, пока не найду то, что мне нужно. Я рассмотрю общий перебалансирование Arcanum и, возможно, проведу сравнение между ним и UAP, возможно, есть меньше различий, чтобы просеять.
  7. Shark

    Pozhalujsta

    Please help me, i'm trying to make pyro tech weapons consume fuel and charged tech weapons consume batteries. I was successful in making "charged" weapons spend batteries, however I just don't know how to make "pyrotechnic" weapons spend fuel. I see that Multiverse has done such thing as well, however i'm unable to port that to my own mod. How do they do it? How to make scripts spend fuel? Sorry for bad russian, I don't speak it and just use a translator ---- Пожалуйста, помогите мне, я пытаюсь заставить пиро -техническое оружие потреблять топливо и заряженное техническое оружие потреблять батареи. Мне удалось сделать «заряженное» оружие тратить батареи, однако я просто не знаю, как сделать «пиротехническое» оружие тратить топливо. Я вижу, что мультивселен также сделал такую вещь, однако я не могу перенести это в свой собственный мод. Как они это делают? Как заставить сценарии тратить топливо? Извините за плохую русскую, я не говорю на нем и просто использую переводчик EDIT: Hmm... I seems it's a binary change, it works when I simply use the multiverse arcanum.exe .... How did they repurpose the scroll distance to use up fuel? ``` description "" MAX_LINES_ALLOCATED 20 0. IF Triggerer has item named 2402 THEN goto line 2 1. return and RUN default 2. random number 10 to 40: store in Local 0 3. damage Extra Object for Local 0 points of type 3 damage 4. scroll distance: store in 1 5. script eye candy: play 77 on Extra Object 6. stat stat_level of Extra Object: store in Local 1 7. IF Local 1 <= 0 THEN goto line 10 8. Local 2 = Local 0 * 18 9. stat 18 of Player: adjust by Local 2 10. return and RUN default ``` Which one of these lines uses fuel? --- Хм ... я, кажется, это бинарное изменение, оно работает, когда я просто использую мультивселенную arcanum.exe .... как они перепрофилировали расстояние прокрутки, чтобы использовать топливо? ``` description "" MAX_LINES_ALLOCATED 20 0. IF Triggerer has item named 2402 THEN goto line 2 1. return and RUN default 2. random number 10 to 40: store in Local 0 3. damage Extra Object for Local 0 points of type 3 damage 4. scroll distance: store in 1 5. script eye candy: play 77 on Extra Object 6. stat stat_level of Extra Object: store in Local 1 7. IF Local 1 <= 0 THEN goto line 10 8. Local 2 = Local 0 * 18 9. stat 18 of Player: adjust by Local 2 10. return and RUN default ``` Какая из этих линий использует топливо?
×
×
  • Создать...