• Welcome to Final Fantasy Hacktics. Please login or sign up.
 
April 19, 2024, 11:55:10 pm

News:

Don't be hasty to start your own mod; all our FFT modding projects are greatly understaffed! Find out how you can help in the Recruitment section or our Discord!


CONMAN SCREWS EVENTS-solved!

Started by CONMAN, July 03, 2014, 09:46:53 pm

CONMAN

July 03, 2014, 09:46:53 pm Last Edit: July 12, 2014, 05:31:40 pm by CONMAN
So....yeah I'm not that great at eventing- and sometimes not sure where/why I am f'ing up!  I try not ask too many questions and see if I can solve something on my own.  Sometimes you go back and forth trying stuff... take several months off and then relearn... only to rinse and repeat. 

...So yeah, this should be one of my top 2 favorite events (that don't work right) and a couple things are still off- but I know I can fix them.  The one reoccurring screw up I can't fix actually plays out several times in this event!  This scene is a replacement for the old attack on Beoulve.  Namely, my villain should cast bolt and kill 3 guys in a row- (not all at once).  They should take a pain loop animation, get hit+ bolt sound, cry out, and fall down dead.  Typically- my 1st guy would play out- get hit by lightening, fall down and then get the fuck back up!  I actually just retried this and simply added a wait and he failed to fall at all.  So this is exactly where I am failing.....
Simple recap on this event- hit 3 guys with bolt- fall down dead.  Walk up to Zalbag and dodge a sword strike (works).Villain leaps into the air(cool).  3 more bolt strikes: injure Dycedarg, kill 4th random dude, blocked by Zalbag.  Change map to the balcony outside off Igros Office(cool). Villain drops in: final line of dialogue-end scene


A couple of little problems in this event I can totally fix- and I'm happy that it most of it plays out the way I want but- fuck   

EVENT FOLLOWS:
Offset(x0006C000)
//Remove the previous line if you wish not to override the offset in CONFIG.INI.

Weather(x03,x00)
{60}(r0000)
Camera(+00616,-01180,+00392,+00190,+03488,+00000,+04096,+00001)
{4D}(r14)
{3E}(r0128281E0000000A00)
Wait(00030)

DisplayMessage(x10,x01,x0012,x01,x00,x09,+00000,+00000,+00000,x03)
WaitForInstruction(x01,x00)
Wait(00060)



UnitAnim(x00,x00,x02,x00,x00)
UnitPresent(x01,x00,x01)
AddUnitStart()
Wait(00030)
AddUnitEnd()
BgSound(x14,+090,+084,x01,012)
Weather(x04,x00)

WarpUnit(x01,x00,004,000,x00,x01)
Wait(00025)
UnitAnim(x01,x00,x02,x00,x00)
Draw(x01,x00)
FaceUnit(x81,x00,x01,x00,x00,x05,x00)
WaitFaceUnit()
Wait(00030)

Camera(+00448,+00048,+00336,+00302,+03584,-00000,+04096,+00200)
Wait(00150)


WalkTo(x81,x00,004,002,x00,x00,+032,x01)
WaitWalk(x81,x00)
UnitAnim(x81,x00,x02,x00,x00)
WaitForInstruction(x0B,x00)
Wait(00120)
DisplayMessage(x10,x11,x0001,x81,x00,x00,+00000,+00000,+00000,x03)
WaitForInstruction(x01,x00)
Wait(00030)
DisplayMessage(x10,x11,x0002,x01,x00,x00,+00000,+00000,+00000,x03)
WaitForInstruction(x01,x00)

UnitAnim(x01,x00,x2A,x00,x00)
WaitForInstruction(x0B,x00)
Wait(00030)
Effect(x0015,x81,004,002,x00)

EffectStart()

UnitAnim(x81,x00,x19,x00,x00)
WaitForInstruction(x0B,x00)
Wait(00030)
Sound(x0044)
EffectEnd()
Wait(00030)
UnitAnim(x81,x00,x1A,x00,x00)
WaitForInstruction(x0B,x00)
Wait(00030)

BlockStart()
WalkTo(x89,x00,003,004,x00,x00,+032,x01)
WaitWalk(x89,x00)
Wait(00030)
WalkTo(x80,x00,005,004,x00,x00,+032,x01)
WaitWalk(x80,x00)
Wait(00030)
BlockEnd()

UnitAnim(x80,x00,x22,x00,x00)
WaitForInstruction(x0B,x00)
UnitAnim(x89,x00,x22,x00,x00)
WaitForInstruction(x0B,x00)
Wait(00060)
DisplayMessage(x10,x11,x0003,x89,x00,x00,+00000,+00000,+00000,x03)
WaitForInstruction(x01,x00)

Effect(x0015,x89,003,004,x00)

UnitAnim(x89,x00,x19,x00,x00)
WaitForInstruction(x0B,x00)
EffectStart()

Sound(x0044)
EffectEnd()
Wait(00030)
UnitAnim(x89,x00,x1A,x00,x00)
WaitForInstruction(x0B,x00)
Wait(00060)

Effect(x0015,x80,005,004,x00)
UnitAnim(x80,x00,x19,x00,x00)
WaitForInstruction(x0B,x00)
EffectStart()
Sound(x0044)
EffectEnd()

UnitAnim(x80,x00,x1A,x00,x00)
WaitForInstruction(x0B,x00)
Wait(00060)

{48}()
Wait(00020)
UseFieldObject(x01,x00)
WaitFieldObject()
{6A}(r1254000108)
Wait(00008)
WarpUnit(x09,x00,004,007,x00,x00)
Sound(x004C)

UnitPresent(x09,x00,x01)
AddUnitStart()
Wait(00030)
AddUnitEnd()
WarpUnit(x09,x00,004,007,x00,x00)

UnitAnim(x09,x00,x02,x00,x00)
WaitForInstruction(x0B,x00)
Draw(x09,x00)
Wait(00030)

WalkTo(x09,x00,003,006,x00,x00,+008,x01)
WaitWalk(x09,x00)
UnitAnim(x09,x00,x02,x00,x00)
WaitForInstruction(x0B,x00)
Wait(00060)

DisplayMessage(x10,x11,x0004,x09,x00,x00,+00000,+00000,+00000,x03)
WaitForInstruction(x01,x00)

WarpUnit(x82,x00,004,007,x00,x00)
Sound(x004C)


UnitPresent(x82,x00,x01)
AddUnitStart()
Wait(00030)
AddUnitEnd()
WarpUnit(x82,x00,004,007,x00,x00)

UnitAnim(x82,x00,x02,x00,x00)
WaitForInstruction(x0B,x00)
Draw(x82,x00)
Wait(00030)

WalkTo(x82,x00,005,006,x00,x00,+008,x01)
WaitWalk(x82,x00)
UnitAnim(x82,x00,x02,x00,x00)
WaitForInstruction(x0B,x00)
Wait(00010)
WarpUnit(x08,x00,004,007,x00,x00)
Sound(x004C)

AddUnitPrep()
UnitPresent(x08,x00,x01)
AddUnitStart()
Wait(00010)
AddUnitEnd()
WarpUnit(x08,x00,004,007,x00,x00)

UnitAnim(x08,x00,x02,x00,x00)
WaitForInstruction(x0B,x00)
Draw(x08,x00)
Wait(00010)

WalkTo(x08,x00,004,006,x00,x00,+008,x01)
WaitWalk(x08,x00)
UnitAnim(x08,x00,x02,x00,x00)
WaitForInstruction(x0B,x00)
Wait(00010)
DisplayMessage(x10,x11,x0005,x08,x00,x00,+00000,+00000,+00000,x03)
WaitForInstruction(x01,x00)

WalkTo(x01,x00,004,004,x00,x00,+008,x01)
WaitWalk(x01,x00)
UnitAnim(x01,x00,x02,x00,x00)
WaitForInstruction(x0B,x00)
Wait(00010)
WalkTo(x08,x00,004,005,x00,x00,+008,x01)
WaitWalk(x08,x00)
UnitAnim(x08,x00,x02,x00,x00)
WaitForInstruction(x0B,x00)
Wait(00010)
TempWeapon(x08,x00,x16)

BlockStart()
UnitAnim(x08,x00,x41,x00,x00)
WaitForInstruction(x0B,x00)
UnitAnim(x01,x00,x18,x00,x00)
WaitForInstruction(x0B,x00)
Sound(x0013)
BlockEnd()
Wait(00060)

UnitAnim(x01,x00,x22,x00,x00)
WaitForInstruction(x0B,x00)

DisplayMessage(x10,x11,x0006,x01,x00,x00,+00000,+00000,+00000,x03)
WaitForInstruction(x01,x00)

UnitAnim(x01,x00,x75,x00,x00)
WaitForInstruction(x0B,x00)
Effect(x0015,x09,003,006,x00)
Wait(00030)

UnitAnim(x09,x00,x19,x00,x00)
WaitForInstruction(x0B,x00)
EffectStart()

Sound(x0044)
EffectEnd()
Wait(00030)
Effect(x0015,x82,005,006,x00)
UnitAnim(x09,x00,x16,x00,x00)
WaitForInstruction(x0B,x00)

UnitAnim(x82,x00,x19,x00,x00)
WaitForInstruction(x0B,x00)
EffectStart()

Sound(x0044)
EffectEnd()
Wait(00010)
UnitAnim(x82,x00,x1A,x00,x00)
WaitForInstruction(x0B,x00)
Wait(00010)
Effect(x0015,x08,004,005,x00)
Wait(00030)

UnitAnim(x08,x00,x17,x00,x00)
WaitForInstruction(x0B,x00)
EffectStart()

EffectEnd()

UnitAnim(x08,x00,x1A,x00,x00)
WaitForInstruction(x0B,x00)
Wait(00100)
RemoveUnit(x01,x00)


ChangeMap(011,x00)


Camera(+00560,-00150,+01120,+00302,+01536,+00000,+04096,+00001)
WaitForInstruction(x04,x00)
{49}()
UnitPresent(x01,x00,x01)
AddUnitStart()
Wait(00030)
AddUnitEnd()
WarpUnit(x01,x00,003,010,x00,x01)


Wait(00025)
UnitAnim(x01,x00,x76,x00,x00)
WaitForInstruction(x0B,x00)
Draw(x01,x00)
Wait(00010)
UnitAnim(x01,x00,x02,x00,x00)
WaitForInstruction(x0B,x00)
Wait(00010)
DisplayMessage(x10,x11,x0007,x01,x00,x00,+00000,+00000,+00000,x03)
WaitForInstruction(x01,x00)




//original junk below


Wait(00030)
{7C}()
{3E}(r02000000FFFFFF8C00)
WaitForInstruction(x0C,x00)
ZERO(x006E)
ADD(x006E,x0009)
ZERO(x01C4)
ADD(x01C4,x0001)
ZERO(x01C5)
ADD(x01C5,x0001)
ZERO(x0278)
ADD(x0278,x0001)
ZERO(x03C0)
ADD(x03C0,x0002)
ZERO(x03C1)
ADD(x03C1,x0002)
ZERO(x03C5)
ADD(x03C5,x0002)
ZERO(x03EF)
ADD(x03EF,x0002)
ZERO(x03F2)
ADD(x03F2,x0001)
ZERO(x03F3)
ADD(x03F3,x0001)
{63}(r10)

EventEnd()

//INSTRUCTION SECTION END -  TEXT START
//Message x01
{font:08}Servant{br}
{font:00}I'm sorry, the Beoulves are{br}
not taking visitors at the moment.{end}

//Message x02
{font:08}Magnus{br}
{font:00}Don't worry, this won't{br}
take me long.{end}

//Message x03
{font:08}Guard{br}
{font:00}That was no random bolt!{br}
INTRUDER!!!{end}

//Message x04
{font:08}Dycedarg{br}
{font:00}The hell...?{end}

//Message x05
{font:08}Zalbag{br}
{font:00}....Magnus?!!  Whoever{br}
you are, prepare to die.{end}

//Message x06
{font:08}Magnus{br}
{font:00}I'm not here to see you.{br}
This will have to wait.{end}

//Message x07
{font:08}Magnus{br}
{font:00}Dream time.{end}

//Message x08
{font:08}Zalbag{br}
{font:00}Brother!!{end}

//Message x09
{font:08}Dycedarg{br}
{font:00}I, I'm all right......{br}
What about ...Alma....?{end}

//Message x0A
{font:08}Alma{br}
{font:00}Yes. I'm fine.{br}
What an awful wound....{end}

//Message x0B
{font:08}Dycedarg{br}
{font:00}I never thought they'd come{br}
here. They're after me.{end}

//Message x0C
{font:08}Zalbag{br}
{font:00}Five people were killed, and{br}
Teta was kidnapped.{end}

//Message x0D
{font:08}Dycedarg{br}
{font:00}After them....Leave no stone{br}
unturned until you find them.{end}

//Message x0E
{font:08}Alma{br}
{font:00}Please don't talk anymore!{end}

//Message x0F
{font:08}Dycedarg{br}
{font:00}Death Corps.....bastard.{end}

//Message x10
{font:08}Alma{br}
{font:00}Are you all right!?{end}

//Message x11
{font:08}Zalbag{br}
{font:00}Hey! Anybody there!?{end}

//Message x12
{delay:05}Meanwhile,{delay:14} {delay:05}at Igros{delay:14},{br}
{delay:05}capital of Gallione{delay:14},{br}
{delay:05}Beoulve castl{delay:2D}e{end}

//Message x13



PS: I assume I should remove all units when the map changes (a couple of them appear in the Igros Office)

PPS: shall I post further help questions in this topic and change it's name, or mark it as solved and start a new one when needed?






  • Modding version: PSX

3lric

You have the right idea adding in that wait, the reason this happens is because an effect casted on a unit resets the unit, so what you need to do is find that
exact amount of wait time before calling the death frame, otherwise he will get right back up. I usually do a Wait(00050) and work down from there.
Currently you have a Wait(00030) wish is likely just not long enough, which is causing your issues.

If you have other questions not concerning this error it (for the sake of new eventers looking for solutions) would be better to mark as solved once it has
been and make another topic for the next question.

I hope this solves that first issue atleast, and you can usually always find me on IRC if you need a faster response.

For the changemap, are you using the new config? cuz the original Changemap and the one we have now function differently, the new one will darken the
screen first, then you can switch the map with the byte it uses. Once you change it it's like beginning a whole new event, you have to use a camera and its
associated commands again just as you did at the beginning of the event. Saying this, what I normally do when using changemap is delete the chars I don't
want on screen before using the camera functions to reveal the new map.
  • Modding version: PSX