Jump to content

Photo

Book of Mudora

Book of Mudora

  • Please log in to reply
20 replies to this topic

#1 Reflectionist

Reflectionist

    Apprentice

  • Members
  • Real Name:Jake
  • Location:Missouri, US

Posted 30 March 2018 - 07:14 AM

Hey, guys.

Is it possible to make a Book of Mudora item that doesn't change a STRING, but changes the strings FONT?

This way, you wouldn't have to always use a dummy "Hylian" string on its own screen and do a bunch of complicated warping. The keen-eyed player might notice the color-coded words this way, and also, the text is directly translatable anyway, so if you can read Hylian, you don't really even NEED the book upgrade. Its Zelda, but I'm trying to take more advantage of what ZQuest might actually be able to DO.

Ideally, this book item would be upgradable to change Hylian (L1), Goron (L2), and Zoran (L3).

I'm wanting to use this to simulate the Stone Tablets bit from Skyward Sword, only instead of it being repetitive, boring, and bad design, this would only be to get you to the three optional dungeons from the Three Ancients: the Tree, Dragon, and Whale.

Should this also come with basic poses after a string for "praying" and lifting the Sword into the air? Thats more LttP-like.

Edited by Reflectionist, 30 March 2018 - 07:20 AM.


#2 Demonlink

Demonlink

    Lurking in the shadows...

  • Members
  • Real Name:Miguel
  • Location:Wouldn't you like to know?

Posted 30 March 2018 - 02:43 PM


Book of Mudora Code

 

So, I made this and hopefully this fits your needs. A few small notes. I made it in case you have the books equip-able to either the "B" or "A" buttons. Also, if I understood correctly, each book deciphers a specific message according to the language? If that's the case, I wrote it keeping in mind (hopefully), that any of the 3 books can be equipped from the subscreen. Anyway...

 

Load it into your ZScript buffer. Once done, load it into an FFC and put it on top of the signpost/whatever you're using to read/decipher. D0 is the book type it will scan for: Hylian, Goron and Zoran are 1, 2 and 3 respectively. D1 is the string to display when you don't have the needed book (hence a dummy string that displays the encrypted language). And finally, D3 is when you have the book, it will display the translated string (another string with a different font). So, when you have the book and use it, it will display the corresponding string, and permanently trigger screen secrets.

 

As far as I know, you can't directly change a ZQuest string's font with scripting (although I'm not sure about this with scripted strings). That's why it's easier to just make two copies of the message: one that's displayed with the Hylian/Goron/Zoran font and the other that has been translated. 

 

Ehhhhh, I could try to put a praying animation in there as well, but I would like to know if this is how you like it so far before making other drastic changes. Anyways, let me know. :D

 

Edit: Here's a link to the test quest I made too.


Edited by Demonlink, 30 March 2018 - 02:48 PM.

  • Reflectionist likes this

#3 Timelord

Timelord

    The Timelord

  • Banned
  • Location:Prydon Academy

Posted 30 March 2018 - 05:10 PM

You'd need to use two strings in 2.50.x.

The easiest way, is to have an ffc on the screen:


const int I_MUDORA = 100;

ffc script BookText
{
     void run(int s_untranslated, int s_translated, int dist)
     {
          if ( dist <= 0 ) dist = 10;
          while(1)
               if ( Link->Dir == DIR_UP )
               {
                    if ( Link->Y > this-> Y )
                    {
                         if ( Link->PressB )
                         {
                    
                              if ( Abs(CenterLinkX()-CenterX(this)) <= dist )
                              {
                                   if ( Abs(Link->Y - this->Y) <= dist )               
                                   {
                                        if ( GetEquipmentB()  == I_MUDORA )
                                        {
                                             Screen->Message(s_translated);
                                        }
                                        else
                                        {
                                             Screen->Message(s_untranslated);
                                        }
                                   }
                              }
                         }                    
                    }
               }
               Waitframe();
          }
     }
}
Spoiler

  • ShadowTiger and Reflectionist like this

#4 Reflectionist

Reflectionist

    Apprentice

  • Members
  • Real Name:Jake
  • Location:Missouri, US

Posted 30 March 2018 - 07:08 PM

I'm using 2.54, as it happens. :-p

Also, I was thinking it would be one item (well, it would *look* like you were adding book tabs to distinguish non-linear levels).

I guess I hadn't really thought of it as an active item, but that IS how it was in LttP. I am using Moosh's NPC Script as well, so I don't know the logistics of having an NPC (like the Maku Tree) speak Ancient Hylian, and have to actually use the Book to translate him.

Hey, Zoria, any plans to include Breath of the Wild Hylian in future releases of ZC?

Edited by Reflectionist, 30 March 2018 - 07:29 PM.


#5 Timelord

Timelord

    The Timelord

  • Banned
  • Location:Prydon Academy

Posted 30 March 2018 - 09:49 PM

I'm using 2.54, as it happens. :-p
Also, I was thinking it would be one item (well, it would *look* like you were adding book tabs to distinguish non-linear levels).
I guess I hadn't really thought of it as an active item, but that IS how it was in LttP. I am using Moosh's NPC Script as well, so I don't know the logistics of having an NPC (like the Maku Tree) speak Ancient Hylian, and have to actually use the Book to translate him.
Hey, Zoria, any plans to include Breath of the Wild Hylian in future releases of ZC?


In 2.54, you could use a custom combo flag for a message position, and the normal Screen String, set by the ZQ editor to select the string to display:

const int CF_MESSAGE_NORMAL = 159; //Normal messages.
const int CF_MESSAGE_HYLIAN = 160; //Flag for a message to translate.

item script Mudora
{
     void run(int newfont)
     {
          if ( Link->Dir == DIR_UP )
          {
               int cf = ComboF(ComboAt(Link->X+8, Link->Y+8);
               if ( cf == CF_MESSAGE_HYLIAN )
               {
                    messagedata md = Game->LoadMessageData(Screen->String);
                    md->Font = newfont;
                    Screen->Message(Screen->String);
               }
               if ( cf == CF_MESSAGE_NORMAL )
               {
                    Screen->Message(Screen->String);
               }
          }
     }
}

void Read(int button)
{
     int itm;
     if ( button == CB_A ) itm = GetEquipmentA();
     else itm = GetEquipmentB();
     itemdata id = Game->LoadItemData(itm);
     if ( id->Script = Game->GetItemScript("Mudora") ) return;
     if ( Input->Press[button] )
     {
          if ( Link->Dir == DIR_UP )
          {
               int cf = Screen->ComboF(ComboAt(Link->X+8, Link->Y+8) ;
               if ( cf == CF_MESSAGE_NORMAL || cf == CF_MESSAGE_HYLIAN )
               {
                    Screen->Message(Screen->String);
               }
          }
     }
}

global script test
{
     void run()
     {
          int quit;
          while(!quit)
          {
               Read(CB_A);
               Waitdraw();
               Waitframe();
          }
     }
}

Whether or not this compiles, and works, depend on what alpha build you are using.
What specific build are you using?

Insofar as including BotW fonts, I'd rather not. That'd be begging for legal notice.

I'd rather allow adding custom fonts to ZQ in the future.

#6 Reflectionist

Reflectionist

    Apprentice

  • Members
  • Real Name:Jake
  • Location:Missouri, US

Posted 30 March 2018 - 11:39 PM

I'm using Build 28.

Again, thank you guys so much for helping me out with this. I really do appreciate the patience. I'm pretty slow when it comes to ZQuest, but I can follow directions pretty well.

Does this require a script or can it be done with string control codes?

And my quest has...er, more than a few scripts already. I'm still working on planning out my overworld (I'm really OCD about how it works), but I can at least get everything tested out the way I'm wanting first.

:-/

I'm doing my best to not have unnecessary stuff, but to also have plenty of rewards.

I've just been doing the bulk of my planning in Tiled, not ZQuest...

#7 Timelord

Timelord

    The Timelord

  • Banned
  • Location:Prydon Academy

Posted 30 March 2018 - 11:48 PM

I'm using Build 28.
Again, thank you guys so much for helping me out with this. I really do appreciate the patience. I'm pretty slow when it comes to ZQuest, but I can follow directions pretty well.
Does this require a script or can it be done with string control codes?
And my quest has...er, more than a few scripts already. I'm still working on planning out my overworld (I'm really OCD about how it works), but I can at least get everything tested out the way I'm wanting first.
:-/
I'm doing my best to not have unnecessary stuff, but to also have plenty of rewards.
I've just been doing the bulk of my planning in Tiled, not ZQuest...


28? Do you mean the olld 2.future stuff?

That's all pretty much a dead avenue now, and I'll probably need to convert your quest to proper ZC (official) 2.54 format for you. :/

The quest format between the two differs. Exporting it as a 2.50 quest, in 2.future, and loading it in an official 2.54 alpha should work.

ZC 2.54 Alpha 23

#8 Timelord

Timelord

    The Timelord

  • Banned
  • Location:Prydon Academy

Posted 31 March 2018 - 05:26 AM



[...]


P.S. If you encounter issues crossing your quest over to the official ZC 2.54 builds, let me know. I can write a conversion utility to move the data into the correct format, as a support ticket for 2.future.

I have not stopped supporting early-adopters.

2.future came to be, when it seemed that the official devs were abandoning ZC 2.xx and ZScript, to write ZC 3.xx, and once we 2.future blokes became the official devs, and I was (eventually) put in as the lead, the focus shifted toward 2.xx evolution, so 2.future was no longer needed.

I made some terrible decisions while implementing things in 2.future that I refined for the canon builds, and the official 2.54 does far more than what 2.future did, less two or three things that ruffled Saffith's feathers, that I dropped from the official build; replacing them with something less-vulnerable.

The major point, is that the save format is different, so, quests made in 2.future may, or may not, load properly in the official 2.54 alpha builds. Exporting from 2.future as a 2.50.x quest should solve that, but should that routine fail, I can produce a special build of 2.54 (official) that can read in the 2.future format, then save in the new format.

#9 Reflectionist

Reflectionist

    Apprentice

  • Members
  • Real Name:Jake
  • Location:Missouri, US

Posted 31 March 2018 - 07:07 AM

I'm not too far along to change it up. Whats the most recent and stable release that you would recommend? I want to make sure I have the right one.

I was mistaken about 2.54, and now that I know that, I have no idea where I got 2.54 from.

Dude, I'm so sorry lol.

Edited by Reflectionist, 31 March 2018 - 07:10 AM.


#10 Timelord

Timelord

    The Timelord

  • Banned
  • Location:Prydon Academy

Posted 01 April 2018 - 03:32 AM

I'm not too far along to change it up. Whats the most recent and stable release that you would recommend? I want to make sure I have the right one.

I was mistaken about 2.54, and now that I know that, I have no idea where I got 2.54 from.

Dude, I'm so sorry lol.

 

Nothing to be sorry about. I, OTOH, am perpetually sorry for making that confusing build. :/

 

2.54 Alpha 24

 

Fixes: Default sprites for Gohma, Aquamentus, Fire Gleeok, and Gleeok

 

See changelog.txt and todo.txt for other information.


  • Anthus and judasrising like this

#11 Reflectionist

Reflectionist

    Apprentice

  • Members
  • Real Name:Jake
  • Location:Missouri, US

Posted 06 April 2018 - 12:51 PM

Oh, awesome! Thank you! This should help out a ton.

Also, to Demonlink, that was great, but can you make the books be upgrades to the same book instead of separate items?

#12 Demonlink

Demonlink

    Lurking in the shadows...

  • Members
  • Real Name:Miguel
  • Location:Wouldn't you like to know?

Posted 06 April 2018 - 03:09 PM

Oh, awesome! Thank you! This should help out a ton.

Also, to Demonlink, that was great, but can you make the books be upgrades to the same book instead of separate items?

Sure, I could help. But, will the upgrades be able to translate lower level languages? 

 

Level 1: Hylian

Level 2: Hylian and Goron

Level 3: Hylian, Goron and Zoran?

 

Or will each book have a standalone translation?



#13 Reflectionist

Reflectionist

    Apprentice

  • Members
  • Real Name:Jake
  • Location:Missouri, US

Posted 06 April 2018 - 05:56 PM

Hmm. I'm trying to design for non-linearity, but Hylian (gettingthe book) would definitely be the first anyway. His interactions with the Gorons and Zora are at later points, independently.

1 - Hylian Only
2 - Hylian and Goron
3 - Hylian and Zoran
4 -Hylian, Goron, and Zoran.

#14 Demonlink

Demonlink

    Lurking in the shadows...

  • Members
  • Real Name:Miguel
  • Location:Wouldn't you like to know?

Posted 07 April 2018 - 07:12 PM

Hmm. I'm trying to design for non-linearity, but Hylian (gettingthe book) would definitely be the first anyway. His interactions with the Gorons and Zora are at later points, independently.
1 - Hylian Only
2 - Hylian and Goron
3 - Hylian and Zoran
4 -Hylian, Goron, and Zoran.


So, these will be 4 level books? Or options 2 and 3 count as a "Level 2" book depending on which you obtain first?

#15 Reflectionist

Reflectionist

    Apprentice

  • Members
  • Real Name:Jake
  • Location:Missouri, US

Posted 08 April 2018 - 12:04 PM

So, these will be 4 level books? Or options 2 and 3 count as a "Level 2" book depending on which you obtain first?


The middle two would count as a level 2 depending on the order Link acquires them, yes. :-)

Edited by Reflectionist, 08 April 2018 - 12:05 PM.



0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users