Final Fantasy Hacktics

Modding => Help! => Topic started by: lunar on August 10, 2018, 04:06:19 pm

Title: Unit's ids
Post by: lunar on August 10, 2018, 04:06:19 pm
hello. I have been searching and trying to locate all the unit ids but seem to have trouble doing this. Can some one lead me in the right direction.
Title: Re: Unit's ids
Post by: Xifanie on August 10, 2018, 05:26:55 pm
Unit IDs are pretty much always the unit's main job ID or "Sprite" ID in FFTPatcher, unless the unit is generic or a ghost unit, then it starts with 0x80 and goes up. I don't know if that helps.
Title: Re: Unit's ids
Post by: lunar on August 10, 2018, 05:29:23 pm
ok Ill try that and let you know if it helped.
Title: Re: Unit's ids
Post by: lunar on August 10, 2018, 06:03:15 pm
ok here is the problem now. I'm trying to change Ramza's sprite to  this x16: Critical/Bow
here is the line i am using UnitAnim(x00,x02,x16,x00). I need a little help on this thats why i asked about unit ids if figure out how to do event editing
but it seems i have failed so far.
Title: Re: Unit's ids
Post by: Xifanie on August 10, 2018, 06:18:13 pm
You're trying to use the old format with the newer versions of the tools. The tutorial hasn't been edited yet to reflect that, sorry.

You'll want to look at this:
http://ffhacktics.com/wiki/Event_Instruction_11

You can check the wiki about the proper structure of each instruction and in-depth details:
http://ffhacktics.com/wiki/Event_Instructions

PS: You should be able to just copy the text of an error dialog box by pressing ctrl+c to copy it.
PPS: If that fails, you can use Alt+Printscreen to only screenshot the currently selected window and not your entire monitor.
Title: Re: Unit's ids
Post by: lunar on August 10, 2018, 06:22:53 pm
ok. so for the au and mt i put 02 for ramza?
Title: Re: Unit's ids
Post by: Nyzer on August 10, 2018, 09:51:22 pm
IIRC, that will indeed make Ramza crouch.

In addition to everyone else on the field.
Title: Re: Unit's ids
Post by: lunar on August 10, 2018, 09:53:29 pm
well i did try it like that but it still showed the same error.
Title: Re: Unit's ids
Post by: Xifanie on August 10, 2018, 10:21:49 pm
I'm guessing all the UnitAnims in that event are improperly formatted and not just one. If you still get the error after verifying everything, post your event script in a spoiler.
Title: Re: Unit's ids
Post by: lunar on August 10, 2018, 10:29:01 pm
well i know it is just that one that i have showed you because i deleted the all of the other ones. but it still worked normally, but as i tried to put this one in it wouldn't work.
{Offset(x00004000)
//Remove the previous line if you wish not to override the offset in CONFIG.INI.
//Text(x000008F9)
//Remove the previous line if you wish text to compile directly after instructions.

{7C}()
LoadEVTCHR(x01,x00,x00)
WaitForInstruction(x34,x00)
SaveEVTCHR(x01)
{6D}(r0000)
WarpUnit(x02,x00,001,003,x00,x03)
WarpUnit(x17,x00,001,004,x00,x03)
WarpUnit(x83,x00,001,005,x00,x03)
WarpUnit(x84,x00,001,004,x00,x03)
ColorUnit(x13,x00,x04,-001,-001,-001,000)
Wait(00002)
Camera(+02040,-00572,+00488,+00750,+03074,+00000,+08192,+00001)
WaitForInstruction(x04,x00)
Background(000,000,000,000,000,000,000,x00)
Reveal(128)
ColorField(x04,-004,-004,-004,000)
ColorUnit(x00,x00,x04,-008,-008,-006,000)
{63}(rA8)
CameraFusionStart()
Camera(+01528,-00364,+00488,+00510,+03074,+00000,+05952,+00260)
Camera(+01448,-00328,+00488,+00350,+03202,+00000,+04128,+00080)
Camera(+01256,-00328,+00488,+00334,+03314,+00000,+04032,+00068)
Camera(+01000,-00280,+00496,+00318,+03442,+00000,+03808,+00056)
Camera(+00872,-00220,+00500,+00308,+03552,+00000,+04096,+00032)
Camera(+00840,-00220,+00504,+00302,+03584,+00000,+04096,+00048)
CameraFusionEnd()
AddUnitStart()
AddUnit(x02,x00,x01)
AddUnit(x17,x00,x01)
AddUnit(x83,x00,x01)
AddUnit(x80,x00,x01)
AddUnit(x81,x00,x01)
AddUnitEnd()
Wait(00180)
MapDarkness(x04,+020,+031,+031,004)
DisplayMessage(x10,x09,x0001,x0C,x00,x00,+00000,+00060,+00000,x00)
Wait(00086)
MapDarkness(x04,+000,+000,+000,004)
Wait(00148)
WaitForInstruction(x04,x00)
Camera(+00840,-00220,+00504,+00302,+03584,+00000,+04096,+00004)
WaitForInstruction(x04,x00)
WaitForInstruction(x01,x00)
Wait(00030)
ColorUnit(x00,x00,x04,+000,+000,+000,004)
ColorField(x04,+000,+000,+000,004)
Wait(00060)
DisplayMessage(x10,x12,x0002,x34,x00,x00,+00000,+00000,+00000,x03)
WaitForInstruction(x01,x00)
Wait(00030)
Wait(00030)
DisplayMessage(x10,x91,x0003,x0C,x00,x00,+00000,+00000,+00008,x02)
WaitForInstruction(x01,x00)
ChangeDialog(x01,xFFFF,x00,x00)
WaitForInstruction(x01,x00)
Wait(00050)
Wait(00070)
DisplayMessage(x10,x92,x0004,x34,x00,x00,+00000,+00000,+00000,x03)
WaitForInstruction(x01,x00)
ChangeDialog(x02,xFFFF,x00,x00)
WaitForInstruction(x01,x00)
Wait(00016)
SpriteMove(x13,x00,+00028,+00000,+00000,x00,x01,+00040)
WaitSpriteMove(x13,x00)
Wait(00030)
DisplayMessage(x10,x92,x0005,x13,x00,x00,+00000,-00008,+00012,x02)
WaitForInstruction(x01,x00)
ChangeDialog(x02,xFFFF,x00,x00)
WaitForInstruction(x01,x00)
Wait(00080)
WaitAddUnitEnd()
{6D}(r0000)
ResetPalette(x02,x00)
ResetPalette(x17,x00)
Wait(00001)
ResetPalette(x80,x00)
ResetPalette(x81,x00)
ResetPalette(x83,x00)
Sound(x0048)
Wait(00010)
RotateUnit(x34,x00,x04,x02,x01,x00)
Wait(00020)
RotateUnit(x13,x00,x02,x01,x00,x00)
{63}(rCA)
Camera(+00616,-00220,+00504,+00302,+04432,+00000,+04096,+00064)
BlockStart()
ColorUnit(x17,x00,x01,+000,+000,+000,000)
SpriteMove(x17,x00,-00028,+00000,+00000,x00,x01,+00001)
WaitSpriteMove(x17,x00)
Draw(x17,x00)
ColorUnit(x17,x00,x08,+000,+000,+000,002)
Wait(00017)
SpriteMove(x17,x00,+00000,+00000,+00000,x00,x01,+00028)
WaitSpriteMove(x17,x00)
WalkTo(x17,x00,003,004,x00,x00,+008,x00)
WaitWalk(x17,x00)
BlockEnd()
BlockStart()
Wait(00020)
ColorUnit(x02,x00,x01,+000,+000,+000,000)
SpriteMove(x02,x00,-00028,+00000,+00000,x00,x01,+00001)
WaitSpriteMove(x02,x00)
ColorUnit(x02,x00,x08,+000,+000,+000,002)
Wait(00017)
Draw(x02,x00)
SpriteMove(x02,x00,+00000,+00000,+00000,x00,x01,+00028)
WaitSpriteMove(x02,x00)
WalkTo(x02,x00,002,003,x00,x00,+008,x01)
WalkToAnim(x02,x00,x0002)
BlockEnd()
BlockStart()
Wait(00040)
ColorUnit(x83,x00,x01,+000,+000,+000,000)
SpriteMove(x83,x00,-00028,+00000,+00000,x00,x01,+00001)
WaitSpriteMove(x83,x00)
ColorUnit(x83,x00,x08,+000,+000,+000,002)
Wait(00017)
Draw(x83,x00)
SpriteMove(x83,x00,-00014,+00000,+00000,x00,x01,+00028)
WaitSpriteMove(x83,x00)
WalkTo(x83,x00,002,005,x00,x00,+005,x01)
WalkToAnim(x83,x00,x0002)
WaitWalk(x83,x00)
BlockEnd()
Wait(00020)
Wait(00014)
WaitForInstruction(x08,x00)
EventSpeed(x02)
DisplayMessage(x10,x91,x0006,x17,x00,x00,+00000,+00000,+00000,x01)
WaitForInstruction(x01,x00)
DisplayMessage(x10,x92,x0007,x34,x00,x00,+00000,+00000,+00001,x00)
WaitForInstruction(x01,x00)
ChangeDialog(x01,xFFFF,x00,x00)
Wait(00004)
ChangeDialog(x02,xFFFF,x00,x00)
Wait(00010)
Wait(00005)
Wait(00025)
Wait(00025)
DisplayMessage(x10,x11,x0008,x17,x00,x00,+00000,+00000,+00000,x03)
WaitForInstruction(x01,x00)
Wait(00024)
UnitAnim(x00,x02,x00,x16)
DisplayMessage(x10,x92,x0009,x34,x00,x00,+00000,+00000,+00001,x00)
WaitForInstruction(x01,x00)
Wait(00005)
Wait(00005)
DisplayMessage(x10,x91,x000A,x17,x00,x00,+00000,+00000,+00000,x03)
WaitForInstruction(x01,x00)
Wait(00003)
ChangeDialog(x02,x000B,x00,x00)
WaitForInstruction(x01,x00)
ChangeDialog(x02,xFFFF,x00,x00)
Wait(00003)
ChangeDialog(x01,xFFFF,x00,x00)
Wait(00013)
Wait(00003)
Wait(00015)
DisplayMessage(x10,x11,x000C,x0C,x00,x00,+00000,+00000,+00000,x03)
WaitForInstruction(x01,x00)
Wait(00003)
Wait(00003)
EventSpeed(x01)
Camera(+00616,-00220,+00616,+00302,+04608,+00000,+04096,+00060)
Wait(00030)
WaitForInstruction(x04,x00)
RotateUnit(x34,x00,x09,x01,x00,x00)
Wait(00012)
RotateUnit(x13,x00,x0D,x00,x00,x00)
Wait(00030)
RotateUnit(x0C,x00,x04,x02,x00,x00)
WaitRotateUnit(x0C,x00)
WalkTo(x0C,x00,006,004,x00,x00,+004,x00)
Wait(00075)
RotateUnit(x13,x00,x00,x00,x00,x00)
WaitWalk(x0C,x00)
Wait(00008)
RotateUnit(x0C,x00,x08,x01,x00,x00)
Wait(00030)
DisplayMessage(x10,x91,x000D,x13,x00,x00,+00026,+00014,+00000,x03)
WaitForInstruction(x01,x00)
DisplayMessage(x10,x92,x000E,x0C,x00,x00,+00000,+00000,+00001,x03)
WaitForInstruction(x01,x00)
ChangeDialog(x01,xFFFF,x00,x00)
Wait(00008)
ChangeDialog(x02,xFFFF,x00,x00)
AddUnitStart()
AddUnit(x84,x00,x01)
AddUnitEnd()
Wait(00070)
WaitAddUnitEnd()
{6D}(r8400)
ResetPalette(x84,x00)
Wait(00001)
ColorUnit(x84,x00,x04,-001,-001,-001,000)
Wait(00002)
Sound(x0048)
ColorField(x04,+000,+002,+002,000)
Wait(00002)
ColorField(x04,+000,+001,+001,000)
Wait(00002)
UseFieldObject(x01,x00)
Wait(00006)
Sound(x0048)
ColorField(x04,+000,+000,+000,001)
Wait(00009)
BlockStart()
ColorUnit(x84,x00,x01,+000,+000,+000,000)
Wait(00002)
SpriteMove(x84,x00,-00030,+00000,+00000,x00,x01,+00001)
WaitSpriteMove(x84,x00)
Draw(x84,x00)
ColorUnit(x84,x00,x08,+000,+000,+000,004)
SpriteMove(x84,x00,+00000,+00000,+00000,x02,x0E,+00046)
WaitSpriteMove(x84,x00)
SpriteMove(x84,x00,+00024,+00000,+00000,x02,x0E,+00062)
WaitSpriteMove(x84,x00)
SpriteMove(x84,x00,+00032,+00000,+00000,x01,x0C,+00026)
WaitSpriteMove(x84,x00)
Wait(00006)
Sound(x0028)
BlockEnd()
Camera(+00440,-00204,+00600,+00302,+04608,+00000,+04096,+00064)
RotateUnit(x17,x00,x00,x01,x00,x00)
SpriteMove(x17,x00,-00014,+00000,+00034,x00,x01,+00040)
Wait(00010)
FadeSound(x00,030)
FaceUnit(x84,x00,x0C,x00,x00,x00,x00)
RotateUnit(x13,x00,x04,x01,x01,x00)
RotateUnit(x83,x00,x00,x01,x00,x00)
SpriteMove(x83,x00,-00014,+00000,+00022,x00,x01,+00032)
Wait(00010)
UnitAnimRotate(x02,x00,x06,x0002,x00)
SpriteMove(x02,x00,+00000,+00000,-00016,x00,x01,+00040)
RotateUnit(x34,x00,x04,x00,x01,x00)
Wait(00022)
SpriteMove(x13,x00,-00064,-00001,-00021,x02,x0C,+00100)
Wait(00040)
RotateUnit(x02,x00,x08,x00,x01,x00)
WaitSpriteMove(x13,x00)
Sound(x0041)
Wait(00030)
Music(x01,+096,000)
Wait(00030)
DisplayMessage(x10,x91,x000F,x84,x00,x00,-00011,+00014,+00032,x12)
WaitForInstruction(x01,x00)
ChangeDialog(x01,xFFFF,x00,x00)
DisplayMessage(x10,x12,x0010,x13,x00,x00,-00031,-00006,-00032,x00)
WaitForInstruction(x01,x00)
SpriteMove(x34,x00,+00000,+00000,+00000,x00,x01,+00001)
WaitSpriteMove(x34,x00)
Wait(00010)
UnitAnim(x34,x00,x0004,x00)
Sound(x0030)
SpriteMove(x34,x00,-00012,-00002,+00001,x00,x01,+00008)
WaitSpriteMove(x34,x00)
SpriteMove(x34,x00,-00025,+00000,+00002,x00,x01,+00008)
WaitSpriteMove(x34,x00)
SpriteMove(x34,x00,-00039,-00002,+00003,x00,x01,+00007)
WaitSpriteMove(x34,x00)
SpriteMove(x34,x00,-00054,+00000,+00004,x00,x01,+00007)
WaitSpriteMove(x34,x00)
SpriteMove(x34,x00,-00070,-00003,+00006,x00,x01,+00006)
WaitSpriteMove(x34,x00)
SpriteMove(x34,x00,-00086,+00000,+00008,x00,x01,+00006)
WaitSpriteMove(x34,x00)
RotateUnit(x17,x00,x02,x00,x00,x00)
RotateUnit(x02,x00,x04,x00,x01,x00)
SpriteMove(x34,x00,-00102,-00003,+00009,x00,x01,+00006)
WaitSpriteMove(x34,x00)
SpriteMove(x34,x00,-00118,+00000,+00010,x00,x01,+00006)
WaitSpriteMove(x34,x00)
ColorUnit(x34,x00,x01,+000,+000,+000,002)
SpriteMove(x34,x00,-00134,-00004,+00010,x00,x01,+00006)
WaitSpriteMove(x34,x00)
SpriteMove(x34,x00,-00150,+00000,+00012,x00,x01,+00006)
WaitSpriteMove(x34,x00)
SpriteMove(x34,x00,-00166,+00000,+00012,x00,x01,+00006)
WaitSpriteMove(x34,x00)
Erase(x34,x00)
Wait(00015)
ZERO(x0057)
ADD(x0057,x0000)
BlockStart()
WaitValue(x0057,x001C)
RotateUnit(x02,x00,x08,x00,x00,x00)
WaitValue(x0057,x001E)
RotateUnit(x17,x00,x00,x00,x00,x00)
BlockEnd()
DisplayMessage(x10,x91,x0011,x17,x00,x00,+00020,+00000,+00000,x00)
WaitForInstruction(x01,x00)
WaitForInstruction(x08,x00)
DisplayMessage(x10,x92,x0013,x02,x00,x00,+00000,+00000,-00006,x00)
WaitForInstruction(x01,x00)
ChangeDialog(x01,x0014,x00,x00)
WaitForInstruction(x01,x00)
ChangeDialog(x02,xFFFF,x00,x00)
Wait(00008)
ChangeDialog(x01,xFFFF,x00,x00)
WaitForInstruction(x01,x00)
RotateUnit(x17,x00,x04,x01,x01,x01)
BlockStart()
SpriteMove(x17,x00,-00014,+00000,+00034,x00,x01,+00001)
WaitSpriteMove(x17,x00)
SpriteMove(x17,x00,-00057,+00000,+00012,x00,x01,+00040)
WaitSpriteMove(x17,x00)
RotateUnit(x17,x00,x04,x01,x01,x00)
SpriteMove(x17,x00,-00090,+00000,-00008,x00,x01,+00040)
Wait(00020)
ColorUnit(x17,x00,x01,+000,+000,+000,002)
Wait(00021)
Erase(x17,x00)
BlockEnd()
BlockStart()
Wait(00060)
SpriteMove(x02,x00,+00000,+00000,-00016,x00,x01,+00001)
WaitSpriteMove(x02,x00)
RotateUnit(x02,x00,x04,x02,x00,x00)
WaitRotateUnit(x02,x00)
Wait(00020)
SpriteMove(x02,x00,-00062,+00000,+00008,x00,x01,+00080)
Wait(00060)
ColorUnit(x02,x00,x01,+000,+000,+000,002)
Wait(00021)
Erase(x02,x00)
BlockEnd()
BlockStart()
Wait(00030)
SpriteMove(x83,x00,-00031,+00000,-00006,x00,x01,+00060)
WaitSpriteMove(x83,x00)
RotateUnit(x83,x00,x04,x00,x01,x01)
SpriteMove(x83,x00,-00060,+00000,-00036,x00,x01,+00060)
Wait(00040)
ColorUnit(x83,x00,x01,+000,+000,+000,002)
Wait(00021)
Erase(x83,x00)
BlockEnd()
Wait(00060)
WaitForInstruction(x08,x00)
RemoveUnit(x83,x00)
Wait(00002)
AddUnitStart()
AddUnit(x82,x00,x01)
{82}()
AddUnitEnd()
Wait(00080)
DisplayMessage(x10,x11,x0012,x0C,x00,x00,+00003,+00000,-00002,x00)
WaitForInstruction(x01,x00)
Wait(00020)
{63}(rAA)
Camera(+00680,-00204,+00600,+00430,+04656,+00000,+02656,+00133)
Wait(00070)
ColorField(x00,-031,-031,+000,004)
ColorUnit(x00,x00,x00,-031,-031,+000,004)
Wait(00033)
ColorUnit(x00,x00,x00,-031,-031,-031,004)
ColorField(x00,-031,-031,-031,004)
Wait(00033)
RemoveUnit(x13,x00)
WaitAddUnitEnd()
EventEnd()
}
Title: Re: Unit's ids
Post by: Xifanie on August 10, 2018, 10:37:48 pm
There are two in the event:
UnitAnim(x00,x02,x00,x16) <-- This is not the right format, and all it would do is target all enemy teams and make the units disappear, leaving just a shadow.
UnitAnim(x34,x00,x0004,x00)
Title: Re: Unit's ids
Post by: lunar on August 10, 2018, 10:39:30 pm
oh i see what i have to do now i was doing wrong.
Title: Re: Unit's ids
Post by: lunar on August 10, 2018, 10:45:31 pm
OK. I have fixed it and it works here is what i had to do:
{UnitAnim(x02,x00,x0016,x00)}