Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - albert

Pages: [1] 2 3
1
FF8 Tools / Re: [FF8Tools] Ifrit-enhanced - Monster editor
« on: 2025-02-13 06:10:09 »
IfritEnhanced V3.0.0 is here with improved IfritAI and ifritXlsx, enjoy !

Hi hobbitdur:

At First thank you for share this such amazing tool for us, it's great helpful for me to research the monster AI.

I think there are something wrong, when I modify some monster it will not work normally as follow.

This time issue comes on Belhelmel when he with Geezard, but it will looks normal when he with blood soul.

Some combination will show same like: Elite soldier with G-soldier, Elite soldier with paratrooper...

Update:I think problem comes on tool, when I open Belhelmel file and change nothing, just click save, the issue comes on.




And, I wanna share unknown value:



Value 202 means the condition of Only male alive.
Value 203 means the condition of Only female alive.


2
FF8 Tools / Re: [FF8Tools] Ifrit-enhanced - Monster editor
« on: 2024-12-04 23:16:26 »
What version are you using ? Long time I didn't touch it but those error are strange.

Your latest version: IfritEnhanced-v2.1.3

3
FF8 Tools / Re: [FF8Tools] Ifrit-enhanced - Monster editor
« on: 2024-12-03 10:55:39 »
For the size limit, probably I didn't discover it yet. It's a good question that need further testing to find out. But I have modified a lots of monster with long AI and didn't see any length problem.

For the subject ID, there is a var to change it, the first value. Not sure what is the problem.

If you have other question don't hesitate, but the best recommendation is to play with it. I can create a 18 pages explaining every part of the AI, but it will be longer that just testing value around.

For the bug, nice catch I reproduced it. If you could be kind to add it to my github issues would be nice so I don't forget.

There has some error report:

<class 'AttributeError'> 'str' object has no attribute 'get_data_hex' <traceback object at 0x000001C963754C00>
Traceback (most recent call last):
  File "ifritai.py", line 114, in __save_file
  File "ifritmanager.py", line 17, in save_file
  File "ennemy.py", line 124, in write_data_to_file
AttributeError: 'str' object has no attribute 'get_data_hex'

4
FF8 Tools / Re: [FF8Tools] Ifrit-enhanced - Monster editor
« on: 2024-12-02 12:30:18 »
For the size limit, probably I didn't discover it yet. It's a good question that need further testing to find out. But I have modified a lots of monster with long AI and didn't see any length problem.

For the subject ID, there is a var to change it, the first value. Not sure what is the problem.

If you have other question don't hesitate, but the best recommendation is to play with it. I can create a 18 pages explaining every part of the AI, but it will be longer that just testing value around.

For the bug, nice catch I reproduced it. If you could be kind to add it to my github issues would be nice so I don't forget.

Please help

I can not success to save when I add new code in "enemy turn".

For example: I click + and add some code, and click SAVE, whatever I click refresh or close the program and open it again, the code will show the same as it was, nothing change.

but if I just modify the code it can works.

AND I may find some bug in your status_ia.txt, it may should be(I'm not 100% for sure, but I compared many times with revelant status attack in Doomtrain):

00>Death
01>Poison
02>Petrify
03>Darkness
04>Silence
05>Berserk
06>Zombie
07>Unknown
08>VIT0
09>Angel Wing
10>Immune Break
11>Unknown
12>Unknown
13>Unknown
14>Has Magic
15>Summon GF
16>Sleep
17>Haste
18>Slow
19>Stop
20>Regen
21>Protect
22>Shell
23>Reflect
24>Aura
25>Curse
26>Doom
27>Invincible
28>Float
29>Petrifying
30>Confusion
31>Drain
32>Eject
33>Double
34>Triple
35>Defend
36>Physical Immune
37>Magic Immune
38>Charged
39>Back attack
40>VIT 0
41>Invincible Moon
42>Invocation(Zantetsuken?)
43>Unknown
44>Unknown
45>Unknown
46>Got magic
47>Invocation pending

5
Thanks, but it show error
input your choise:
        1.deachieve_Z
        2.achieve_Z
        3.png_trans_astc
        4.astc_trans_png
1
Please_input_the_path_dont_have_any_blankspace:/home/alex2/2
/home/alex2/2/logo.astczDeachieve...
Traceback (most recent call last):
  File "/home/alex2/albert.py", line 87, in <module>
    get_path()
  File "/home/alex2/albert.py", line 64, in get_path
    newData=lz4.block.decompress(data[4:])
_block.LZ4BlockError: Decompression failed: corrupt input or insufficient space in destination buffer. Error code: 12

There are original code:



import sys, os, lz4.block

isDecompress=True
op='1'

astcenc=os.path.join(os.path.abspath(os.path.dirname(__file__)),'etcpack','astcenc-sse2.exe')

def get():
   print('请输入你的选择:\n\t1.解压z文件\n\t2.压缩成z文件\n\t3.png转astc\n\t4.astc转png')
   s=input()
   global op
   if s in ['1','2','3','4','']:
      
      if s=='':
         op='1'
      else:
         op=s
      #if s in ['1','']:
      #   isDecompress=False
      #else:
      #   isDecompress=True
   else:
      print('输入错误。')
      get()

def get_path():   
   path=input('请输入文件夹地址(不能有空格):')
   if os.path.isdir(path):
      pass
   else:
      print('无效的文件夹地址:'+path)
      get_path()
      return -1
   #print(os.getcwd())
   if op=='1':
      exts=['ddsz','pkmz','astcz']
   elif op=='2':
      exts=['dds','pkm','astc']
   elif op=='3':
      os.chdir(os.path.dirname(astcenc))
      exts=['png']
   elif op=='4':
      os.chdir(os.path.dirname(astcenc))
      exts=['astc']
   else:
      pass
   #input(os.getcwd())
   for root,dirs,files in os.walk(path):
      #for d in dirs:
      #   print(d)
      for fn in files:
         #print(os.path.join(root,fn),root,fn)
         ext=fn.split('.')[-1].lower()
         extLen=len(ext)
         #print(fn,exts,ext)
         if ext in exts:
            #print("1")
            p=os.path.join(root,fn)
            if op in ['1','2']:
               fi=open(p,'rb')
               data=fi.read()
               if op=='1':
                  print(p+'正在解压...')
                  newData=lz4.block.decompress(data[4:])
                  fo=open(p[:-1],'wb')
                  fo.write(newData)
               else:
                  print(p+'正在压缩...')
                  newData=lz4.block.compress(data)
                  newData0=(len(newData)+4).to_bytes(4, byteorder='little', signed=True)
                  fo=open(p+'z','wb')
                  fo.write(newData0)
                  fo.write(newData)
               fi.close()
               fo.close()
            elif op in ['3']:
               print('正在转换:'+p)
               os.system(' '.join([astcenc,'-cs',p,p[0:-3]+'astc','4x4','-exhaustive']))
            elif op in ['4']:
               print('正在转换:'+p)
               cmd=' '.join([astcenc,'-d',p,p[0:-4]+'png'])
               print(cmd)
               os.system(' '.join([astcenc,'-ds',p,p[0:-4]+'png']))

               
get()
get_path()

6
can share your script please?


Here you are:



import sys, os, lz4.block

isDecompress=True
op='1'

astcenc=os.path.join(os.path.abspath(os.path.dirname(__file__)),'etcpack','astcenc-sse2.exe')

def get():
   print('input your choise:\n\t1.deachieve_Z\n\t2.achieve_Z\n\t3.png_trans_astc\n\t4.astc_trans_png')
   s=input()
   global op
   if s in ['1','2','3','4','']:
      
      if s=='':
         op='1'
      else:
         op=s
      #if s in ['1','']:
      #   isDecompress=False
      #else:
      #   isDecompress=True
   else:
      print('Inpurt error')
      get()

def get_path():   
   path=input('Please_input_the_path(don't_have_any_blankspace:')
   if os.path.isdir(path):
      pass
   else:
      print('Invalid_path'+path)
      get_path()
      return -1
   #print(os.getcwd())
   if op=='1':
      exts=['ddsz','pkmz','astcz']
   elif op=='2':
      exts=['dds','pkm','astc']
   elif op=='3':
      os.chdir(os.path.dirname(astcenc))
      exts=['png']
   elif op=='4':
      os.chdir(os.path.dirname(astcenc))
      exts=['astc']
   else:
      pass
   #input(os.getcwd())
   for root,dirs,files in os.walk(path):
      #for d in dirs:
      #   print(d)
      for fn in files:
         #print(os.path.join(root,fn),root,fn)
         ext=fn.split('.')[-1].lower()
         extLen=len(ext)
         #print(fn,exts,ext)
         if ext in exts:
            #print("1")
            p=os.path.join(root,fn)
            if op in ['1','2']:
               fi=open(p,'rb')
               data=fi.read()
               if op=='1':
                  print(p+'Deachieve...')
                  newData=lz4.block.decompress(data[4:])
                  fo=open(p[:-1],'wb')
                  fo.write(newData)
               else:
                  print(p+'Achieve...')
                  newData=lz4.block.compress(data)
                  newData0=(len(newData)+4).to_bytes(4, byteorder='little', signed=True)
                  fo=open(p+'z','wb')
                  fo.write(newData0)
                  fo.write(newData)
               fi.close()
               fo.close()
            elif op in ['3']:
               print('Transforming:'+p)
               os.system(' '.join([astcenc,'-cs',p,p[0:-3]+'astc','4x4','-exhaustive']))
            elif op in ['4']:
               print('Transforming:'+p)
               cmd=' '.join([astcenc,'-d',p,p[0:-4]+'png'])
               print(cmd)
               os.system(' '.join([astcenc,'-ds',p,p[0:-4]+'png']))

               
get()
get_path()

7
FF8 Tools / Re: [FF8Tools] Ifrit-enhanced - Monster editor
« on: 2024-09-21 01:18:52 »
For the size limit, probably I didn't discover it yet. It's a good question that need further testing to find out. But I have modified a lots of monster with long AI and didn't see any length problem.

For the subject ID, there is a var to change it, the first value. Not sure what is the problem.

If you have other question don't hesitate, but the best recommendation is to play with it. I can create a 18 pages explaining every part of the AI, but it will be longer that just testing value around.

For the bug, nice catch I reproduced it. If you could be kind to add it to my github issues would be nice so I don't forget.

Thank you for your advise, it help me a lot. :)

8
Dec means Decimal, BIN means Binary.

For example:
In battle command, the first item is Attack, and target shown as 84, it's decimal, when we change it to binary is 0101 0100 and transform it to target info, you will see clearly, it selected:
1.enemy
2.single
3.the option left on single side(i'm sure about it means: can selcet ally or enemy, when this option and Enemy doesn't selected at the same time, target will initialized point at ally only and can not change it to enemy, when this option doesn't selected but Enemy selected, target will initialized point at enemy only and can not change it to ally. but if this option selected you will see whatever you choose enemy or ally you can change the target to oppsite)

BTW the option right on Dead is "random", it will work when the Single option not selected.

So Limit Breaks→Rinoa→commands,there are also have a target shown as Decimal, we can change it to Target info too.

9
I think Quistis hitcount have been fixed in this 1.0.4 version as there was an error. What is the correct value for you ? Btw what is the previous version for you ? The 1.0.1 ? There is no 1.0.3 version: https://github.com/DarkShinryu/doomtrain/releases
What is DEC and BIN ? Not sure what you are speaking about sorry
Zell normally has been fixed in the 1.0.4
I will try to look for the other offset. Don't hesitate to pass on qhimm discord so we can exchange more easily so I can fix it.

Please see this Quote:
Thanks to albert's information i have updated the editor (and the wiki).
v1.0.3 Changelog
- Added Quistis Blue Magic Hit Count
- Added Quistis Blue Magic Target Info

If anyone finds bugs or new information about unknown flags, please let me know in this thread or in PM so I can update the editor.

Download v1.0.3
Wiki

Dec means Decimal, BIN means Binary.

10
FF8 Tools / Re: [FF8Tools] Ifrit-enhanced - Monster editor
« on: 2024-09-20 17:23:14 »
I am not sure what rules you are speaking about.
For the list of all possible command, you can find it here: https://github.com/HobbitDur/ifrit-enhanced/blob/master/ifrit-AI/Resources/ai_info.json
You can find all data info of item for example or else in my dedicated FF8GameData github:
https://github.com/HobbitDur/FF8GameData/tree/master/Resources

The rules I'm talking about is more like AI logic.

I read the code and try to find out the pattern and priority chart, there some item I doesn't know what it is like:

For example

Does AI have a size limit?
I noticed there is a item [Subject ID:X], the number has a marked colour but there are no variable can change it

BTW
Maybe there is a bug in there:
If I open a file but doesn't choose which code on title(last show enemy turn)(just for simulate after I modified a file and open a new one.) , then I click plus botton for insert a new line in front of first line, it can not delete by click minus botton.
and, If I open a new file it doesn't refresh but just insert on front.

11
What are the bugs ? I am really surprised specially knowing what change with 1.04, but it can happen. We can fix it if you tell us your problems :)

When I opened kernel.bin by V1.04, All of Quistis limitbreak hitcount is 43, and show default with 35, I tried open it by perivous version it show normal. I think it was linked with wrong address.

BTW

Battle command, that target as shown as DEC, when you transform it to BIN you will know that is target info.
Rinoa's limit break part I, that target as shown also as DEC, we can transform it as target info too.
Attack flags of Rinoa's limit break part II, also wrong as Zell, it actually offset is 0x0009 1 byte Unknown, not 0x0008.
GF also have target info and hitcount, junctionable GF target info offset is 0x0009 1 byte, and hitcount offset is 0x000C 1 byte. Non junctionable GF target info offset is 0x0007 1 byte, hit count offset is 0x000A 1 byte.

12
As I guess maki will not have the time to update this thread (or even thing about it), new version of the tool have been released mainly with GamberoBallante modification.

Download link

there are some bug in version1.04, I recommand version1.03.

13
Hi, link for the android Version Final and Quick Mod is down, can you re-upload it please?

Please be patient, I'm making a new version. it will be upload in end of this year.

14
FF8 Tools / Re: [FF8] Ifrit-enhanced
« on: 2024-09-18 12:48:26 »
New version 2.1.0 which contains an evolved AI editor with the list of possible values !
Please enjoy :)


Good work, could you share to us the rules of AI modification?


15
General Discussion / Re: Ideas and Wishes - FF8
« on: 2024-06-18 04:38:27 »
Hello.

I would like to share some ideas that I have for those who knows how to make mods and changes. I´m new on this, but like I said i have some ideas, here you are:

Queen of Cards:
- After lose or win againts her could be a good option to add some dialogue, something like this:
"This region is getting boring, do you know a nice place to go? any suggestion?"
Options:
-Dollet
-Galbadia
Etc.

Before game:
- Choose rules and trades.

Cards game:
- At the finish of the game would be nice an option like this:
"Replay the game?"

Draw in battle and world map:
- x100

Visual changes:
- Would be nice to use the Seed outfit during the game:



Zell´s hits:
- He hit twice, right? You can see that in the animation even in the sound.



Why not apply 2xhit combo by default only for him? Something like Double cut of FF7.

New character available:
- What about Xu? apparently she use her hands to fight like Zell:



Maybe he could be a good base for make her playable.
 
And that´s it. I hope someone make possible some of these ideas.

* Sorry for my poor english, I just studied basic long time ago.

Queen of Cards:
It maybe carry out.

Cards game:
It maybe carry out.

Draw in battle and world map:
It can be carry out, but it will lost a lot of fun.

Visual changes:
No way, every field has their own model and it can not be changed for now.

Zell´s hits:
It maybe carry out.

New character available:
No way for now.

16
#################################
 
Pandemona  Current version: 1.1.0     

#################################

Last version link: https://github.com/HobbitDur/pandemona/releases/tag/1.1.0

Hi all. I worked ona m00x.bin and m00x.msg files editor.
This will handle m00x files, which manage the conversion of the different gforce capacity. For example now you can change that the quistis card produce just a stone instead of Samantha Soul, or that you need 100 stone to create 5 blizzard !
I know this is quite specific, but if you want to create a mod that affect the gameplay that can become useful.
You can find it here: https://github.com/HobbitDur/pandemona

Dear mate,

Please consider of modder's OS, my OS is Win11 and It can not run your program, nothing happen.

I think there's difference between our OS, so just a reminder to you. :)

17
FF8 Tools / Re: [PC] HobbitInstaller for FF8
« on: 2024-06-11 15:29:53 »
Good Job mate, you do a lot of thing for modder.

18
FF8 Tools / Re: [PSX/PC] Field editor - Deling (0.12.0b)
« on: 2024-06-11 14:47:08 »
Here: https://ff7-mods.github.io/ff7-flat-wiki/FF8/Field/Script/Opcodes.html

I found a bug in your deling.

opcode CAL DIV actually is MOD, and MOD actually is DIV.

I compared several times to sure about that.

19
FF8 Tools / Re: [PC] Enemy editor - IFRIT (0.11C)
« on: 2024-06-11 14:41:35 »
Hi all ! This is a big update !
I worked tirelessly (literally..) to bring a tool that can edit IA monster !
Quite a journey as I started as not even knowing where to start !
Now you have a tool that can visualize in a fancy manner (in excel) all the data from all monster, even their **AI** !
Then, you can modify it as you like, and it will transform it back to .dat file for you to be able to test it and share it to the world !
I am really excited, I worked really hard, searching for the maximum of info from the game, trying to improve my soft and making it usable by all (little gui, but that want to become an adult haha)
Special thanks to @m... for all the setup, couldn't have done it without him.

Don't hesitate to play with it and ask for help, I am ready to help you learn it. If enough people are interested, I might consider doing a video tutorial.
Also if you see possible improvement, propose it so I can implement, this is still a tool that can be improved !

The link :
https://github.com/HobbitDur/ifrit-enhanced/releases/tag/1.0
The original post: https://discord.com/channels/318179907098116106/1244453452394790992/1244555798135181394

WOW! that's a big step for improve, great job!


21
FF8 Tools / Re: [PSX/PC] Field editor - Deling (0.12.0b)
« on: 2024-06-01 09:15:37 »
You are limited by the game :)

Hi,

Do you have an experience of opcode?

I can not find any information.

Thank you.

22
FF8 Tools / Re: [PC] Enemy editor - IFRIT (0.11C)
« on: 2024-06-01 09:09:52 »
Hi adam_bise.
I have work a lot on this tools since gjoerulv. I have kept his tool nearly untouched (it is working well with fast gui), but I also bringed a new way of modifying the monster files with excel. You can choose your own here:
https://github.com/HobbitDur/ifrit-enhanced

To modify the xp gain, you gonna have to change all the monster xp, but this is rather quick as there is only around 142 monsters so would not take that long.
We cannot modify the xp formula atm.
Don't hesitate if you have question, you can also come to qhimm discord for faster discussion.

Hi Hobbitdur,

I notied that there are some info in your excel.

Monster LVL
Nb animation
Combat text

Can they be modifed?

Does every enemey contains combat AI in it? how can we access?

Thank you.

23
General Discussion / Vars use on another place
« on: 2024-05-31 06:39:18 »
I noticed there are some Vars number doesn't relate anything when I search by deling, but it actually use on somewhere and yet to find out.

For example:

Var72 is related by amount of Gil, Var 256 is related by Scenario process, you can find it by Var manager in Deling.

but, Var10 & Var11 is related by Seed salaray, there are no any information in Field.fs,I just realize that when I make a change.

Does anyone have a experience of that?

24
I see, thank you - does this mean it was meant to be a fire attack, it is a bug?

I believe the original design as a magic Fire attack and Editor just change it to physical in the end, that's all.

25
Hey there! Fellow FF8RE modder here.

Yeah, that limit break priority can get a little crazy with high speed, huh? I've noticed the same thing.

One idea might be a cap on how much the ATB gauge can refill after a Limit Break.  That way, even with super speed, it wouldn't completely lock enemies out.  Or maybe a diminishing return on the refill – the faster you are, the less the gauge refills after a Limit Break.

Just spitballin' here! What do you think?

Hey there, Thanks for your suggestion.
I found a way and try to fix that:
Find kernel.bin
Use doomtrain change the ATB mutiplier by 1
It actually force slow the refilling about 10 times, and it can break the loop, even the character's speed are 255.
But the otherwise,
Only ATB bar are affected, it means duration of all status and GF casting time will still stay the same...
Lot of times status are gone before ATB fully refilled again...
emmmmm...

Pages: [1] 2 3