|
Post by Neo Samurai on Feb 21, 2005 12:00:18 GMT -5
I hope it works with Multiple Choice, because that's the whole reason why I'm using CMS.
|
|
|
Post by Doan the Nado on Feb 21, 2005 14:49:00 GMT -5
The problem is, I don't have any custom songs created yet, so it's hard for me to really test this out. Sometime soon, I'll try to come up with a custom song of decent length and see what I can do with my scripts. Sorry if they don't work the way that I expected them to.
|
|
Deleted
Deleted Member
Posts: 0
|
Post by Deleted on Feb 21, 2005 18:07:20 GMT -5
I'll PM you my password so you can try with one of my songs. Music5 is what I've been working with since it's one instrument all the way through. I'll try a little more today and see if I can get it working.
|
|
Deleted
Deleted Member
Posts: 0
|
Post by Deleted on Feb 21, 2005 19:22:41 GMT -5
All of my scripts typed up here are 100% accurate.
This is what I've done, the best result I've gotten, and THE question to how it MAY be possible to solve:
The scripts are as follows:
Flag304 is set to start On in General Settings.
Main___ Script: Branch: Repeat: Flag304 On Script: Control: Apply Together Script: Call [Music5 Play] Script: Call [Music Counter] Script: Call [Message] Wait 1F Script: Branch End
Music Counter___ MusicCounterMain = MusicCounterMain + 1 MusicCounterTemp = MusicCounterTemp + 1
Music5 Play___ as Doan said, it works fine, the problem's not here
Message___ Text: Message (Close Window is Checked, player must push X or O for it to end and move past this point) Data: Flag304 Off
The Result is:
Music all goes correctly, even while waiting for X or O to be hit on the text message. When the player hits X or O the music stops but the message keeps looping indefinitely. I can stop the message from coming up by putting Script: Conditions and Force Script Ends in the Message Script, but it never stops looping the message script (yet stops looping the music scripts).
Note: Taking the Call [Message] out of this Main Script and adding another "Main" Script that calls this Main Script and the Message Script makes the music go 1F and stop and the message not go at all.
THE BIG Question:
Why does RPGM2 do this result? Somehow it keeps looping the script repeat yet also doesn't because it keeps replaying the message script yet doesn't keep replaying the music script.
I'll put up a new demo with this done in it and give ANYONE who wants the password, if you'd like to try your hand at it.
|
|
|
Post by Doan the Nado on Feb 22, 2005 1:11:43 GMT -5
This isn't the script I gave... I don't know if you are trying to modify it to get something different to work or what, but the way I did it, it worked fine for me. I had like a 20 second looping song that went just fine. Instead of applying it the way you did, mine went:
Flag = On Apply Together Call Content Jukebox Message Window, Multiple Choice, etc Flag = Off
That's it. No repeats belong on the individual events. Where the repeat does come in is in the Content Jukebox script, which is called from every examinable event. That script goes:
Repeat While Flag = On Call: Music Playing Script Call: Counter Wait 1F End Repeat
I think the problem may have something to do with having the Apply Together inside the Repeat, but who knows. The way my script works, the music loops indefinitely as the other things (message window, etc) occur. When the message window and things are complete, the flag is turned off, the music no longer loops, and the script is complete.
Since yours is written with everything inside the repeat loop, it may be causing your script to behave in a way that is unexpected. Beyond that, I really have no idea what's causing it, because like you said, your script looks as though it's working fine.
Edit: I just thought of what might be causing your windows to pop up like that. Perhaps since it is being applied together, a ton of message windows are being opened nearly simultaneously? Try pushing X really fast after you examine an event, then keep on pressing it to see if eventually the windows disappear. Perhaps having the message window applied together in a loop is causing more than one to open.
|
|
|
Post by Doan the Nado on Feb 22, 2005 2:23:16 GMT -5
Okay, I just made a brief song (looping 2 second song, lol) and it works just fine using the scripts that I gave in the very first post of this thread. There is one problem that I run into, and that is the X menu. I do not think there is any way around stopping it when the X menu is up, since that content script cannot be edited. This did not pose a problem when I initially created the Jukebox because I did not plan on using an X-menu in my game, so I paid it no mind. One idea is to disable the X-menu by turning the No Menus flag on. Then, you can allow the X-menu by turning the flag back off on maps which have premade music (or in other circumstances). Besides that problem, nearly any event should execute properly with the Jukebox scripts. I'm going to write a little more of this song and then upload the file for your investigation...
|
|
Deleted
Deleted Member
Posts: 0
|
Post by Deleted on Feb 22, 2005 3:56:51 GMT -5
Okay, I'll change it to the way you had it. I'd thought I'd tried it the way you had before but maybe I didn't. I'd thought of that and tried it too but that wasn't it. I'll come back later tonight after trying again. It's good to hear that you got it working though, that gives me hope for sure.
|
|
Deleted
Deleted Member
Posts: 0
|
Post by Deleted on Feb 22, 2005 4:42:29 GMT -5
Sorry about before. I really'd thought I'd tried exactly what you did before I started trying changing things but I guess not. It works perfectly fine the way you said. I'm very sorry. Have you managed to get it to work without a little (1F I assume) jump that happens when going between the content and action scripts? If not I can live with it no problem. Yay!! You're the man Doan (and Ves)!! I'm finally able to rest knowing my music will make it into my game!
|
|
Deleted
Deleted Member
Posts: 0
|
Post by Deleted on Feb 22, 2005 6:42:51 GMT -5
Yes, Doan's (and Ves's) method works perfectly. I've went to work on formatting a song of mine and the "Music Playing Script" became a big confusing mess, and long story short I thought of, tested, and have found a good way to organize the music in the new method.
The old way music was written was this:
Music Main___ Call [Music Intro1] Call [Music Intro1] Call [Music Intro2] etc.
and each part like Intro1 and Intro2 were like this:
SFX Wait SFX Wait etc.
So I was trying to think of a way to organize Doan's new method like that, so that it was simple and easy to understand, repeat parts, and make like the old way. What I came up with was this:
First, you'll need several variables. You'll need one main variable to keep track of where in the song you are and one sub variable to keep track of where in the different parts of the song (intro, verse, chorus, etc.) for each and every different instrument line you have you are. We'll call those MusicCounterMain, and MusicCounterSub1, 2, and 3 (you may need more).
To explain what I mean by a different instrument line: let's you say you had a song. The song went Verse, Chorus, Verse, Chorus, Bridge, Chorus. A guitar part plays through every Verse, every Chorus, and the Bridge. A bass part plays through the second Verse, second Chorus, and third Chorus. A drums part plays through all the three Choruses and the Bridge. So, the first Verse is made up of only guitar, the first chorus is guitar and drums, the second verse consists of guitar and bass, the second and third choruses are all guitar-bass and drums, and the Bridge is made of guitar and drums. It would take a lot more memory to make every part separately because the first Verse is different than the second Verse and the first Chorus is different than the second and third Chorus. Think about it and you will see that it would be much easier to make one guitar part, one drum part, and one bass part, and apply them together instead of a Verse 1 (guitar), Chorus 1 (guitar+drums), Verse 2 (guitar+bass), Chorus 2 (guitar+drums+bass) part, etc. So you have three parts running separately being applied together if you make one script for each instrument (3 scripts total) as opposed to one script for all the instruments (1 script total for each part that's not exactly the same).
The Music Main script here is equal to and goes where the "Music Playing Script" went in Doan's scripts.
Music Main___ Condition: [MusicCounterMain] = 0 Data: Var: [MusicCounterSub1] = 0 Condition End Condition: [MusicCounterMain] = 192 Data: Var: [MusicCounterSub1] = 0 Condition End Condition: [MusicCounterMain] >= 0 Condition: [MusicCounterMain] =< 191 Call [Music Intro1] Condition End Condition End Condition: [MusicCounterMain] >= 192 Condition: [MusicCounterMain] =< 373 Call [Music Intro1] Condition End Condition End
Music Intro1___ Sort: Var: [MusicCounterSub1] Apply If: 0 SFX To End Apply If: 12 SFX To End (etc., repeat this till the end of that part) Apply If: 180 SFX To End Sort End
Note the difference between the 180 and the 192. That is because during those 12 empty frames till the next part starts the last sound is playing.
There are a few ways to add different instrument lines, but the easiest is to make a new Music Main for each and a new bigger script above that, so that every instrument line looks like the "Music Main" script above and there is a new script above them that calls all of them at the same time. I have yet to test this last part (this paragraph) but will be coming back to verify.
|
|
Deleted
Deleted Member
Posts: 0
|
Post by Deleted on Feb 22, 2005 14:34:06 GMT -5
I've gotten to the same roadblock Jugem did, tried all that I could think of, but couldn't get past it. I did find that it will keep doing only the first line of each script called (called in the first line) until it reaches a script that can have everything in it applied together. I'll upload my file, since I don't quite understand why it's not going back to aplly in order. Didn't your CMS involve around Applying Together with several Call Scripts and each Call Script was Applied in Order? My only thought is that perhaps we are over-running RPGM2 and it's collapsing on us because of it. Maybe someone else can solve it, but I've done all I could...
|
|
|
Post by Jugem on Feb 23, 2005 15:21:40 GMT -5
I've gotten to the same roadblock Jugem did, tried all that I could think of, but couldn't get past it. I did find that it will keep doing only the first line of each script called (called in the first line) until it reaches a script that can have everything in it applied together. I'll upload my file, since I don't quite understand why it's not going back to aplly in order. Didn't your CMS involve around Applying Together with several Call Scripts and each Call Script was Applied in Order? My only thought is that perhaps we are over-running RPGM2 and it's collapsing on us because of it. Maybe someone else can solve it, but I've done all I could... Without reading all these posts and by quickly reading yours, it seems you're having the same problem I did. Are you trying to call the music script from another script? Because if that's the case, try just using the music script commands directly instead of calling the script. Hopefully I've understood your problem correctly.
|
|
Deleted
Deleted Member
Posts: 0
|
Post by Deleted on Feb 23, 2005 21:07:38 GMT -5
What do you mean? Do you mean
Flag = On Apply Together Repeat Flag = On (Apply In Order?) all the stuff in the music counter and music playing script and a 1F Wait Branch End Call: Event Stuff Flag = Off
Can the event stuff then be Applied In Order?
|
|
|
Post by Jugem on Feb 23, 2005 23:44:51 GMT -5
To be honest, I don't really know what I mean. I'd have to go back and look at the whole topic again to remember how the method works. All I recall is calling a music script in another script, and having only one script command played. But when I put all the script commands there instead of the call script command, it worked. Sorry I can't be of more help at the moment. I don't even know if the problem I'm thinking about is the same one you're having.
|
|
|
Post by Doan the Nado on Feb 24, 2005 1:23:31 GMT -5
No, the Apply In Order command shouldn't go there. Isn't it your event stuff that you're trying to apply in order? Can you give me an example of a script that you are trying to do that's not working and perhaps I can come up with a way around it?
|
|
Deleted
Deleted Member
Posts: 0
|
Post by Deleted on Feb 24, 2005 7:45:08 GMT -5
I really want to be able to have my event stuff in Apply in Order, otherwise I'd be missing out on Text Boxes (for people's names when they speak), Multiple Choices, Event: Control Changes, Event/Party: Effects (including Motion Changes), Moving Events/Party; therefore making anything close to a cutscene, custom menu, or non-walking in place townsperson impossible. I'm likely to give up the custom music if I can't. So jugem, have you found a way to get the event's stuff to be in Apply in Order? I'm more than willing to look through yours too to see what you've done.
|
|
|
Post by Doan the Nado on Feb 24, 2005 8:28:01 GMT -5
All of those things should work just fine when Applied Together. Text Boxes are basically "Applied Together" by default: they are simply placed onscreen instantly. The same is true of Event: Control Changes. As for multiple choice menus and event/party effects/movements, the Apply Together is temporarily held up until those commands complete. Whether they are applied together or not really makes no difference.
Basically, in most scripts, you won't need to apply things in order. Please take out all Apply in order commands and see what happens. Or type up a few example scripts and I can re-write them to do the exact same thing but work with the Jukebox.
|
|
|
Post by Jugem on Feb 24, 2005 14:09:08 GMT -5
So jugem, have you found a way to get the event's stuff to be in Apply in Order? I'm more than willing to look through yours too to see what you've done. Look through mine? I don't think I saved anything done with this method. But I'm pretty sure I had everything (including multiple choice menues) working perfectly fine using this method. I think.
|
|
|
Post by Doan the Nado on Feb 24, 2005 14:40:55 GMT -5
Let's say you have a script like this:
Event Movement Event Movement Camera Movement (10F) Multiple Choice Message Window Party Movement Apply Together Camera Movement (15F) Camera Movement (15F) Apply In Order Party Movement
It would be really easy to make this a Jukebox-compatible script:
Flag = On Apply Together Call Content Jukebox Event Movement Event Movement Camera Movement Wait 10F Multiple Choice Message Window Party Movement Camera Movement Camera Movement Wait 15F Party Movement Flag = Off
Do you see how that works? For commands that can be applied together (camera movements, for example), you just have to put a Wait command of the proper length after it (the same length as the action being carried out). All other commands will execute properly whether they are applied together or not. The problem here is that Apply In Order causes RPGM2 to wait for the Content Jukebox to complete before moving on to the following command, but the Content Jukebox is a looping script. That is why the Flag = Off command has to be applied together with it in order to end it.
Any more questions, or if you need a real example script, feel free to ask.
|
|
Deleted
Deleted Member
Posts: 0
|
Post by Deleted on Feb 24, 2005 20:46:07 GMT -5
Okay, this is about the most complex a 'normal' townsperson of mine gets
Event Stuff___ Event Motion Change: Wait Member 1 Motion Change: Wait Member 2 Motion Change: Wait Member 3 Motion Change: Wait Member 4 Motion Change: Wait Event Direction: To Party Leader (preferably the previous 6 could all be separate and be called) Apply Together Camera Distance Zoom In Camera Vertical Angle Change Camera Horizontal Angle Change Apply In Order None Text Box: Little Boy Event Look: Happy Text Message: Asks a question, close window not checked Input: Buttons: Constant Wait Text Box Close Text Message Close Window Input: Multiple Choice Sort: User Choice Apply If 1 Event: Single Action Text Box: Little Boy Script Branch: Treasure Flag01 On Text Message, close window not checked Input: Buttons: Constant Wait Condition End Script Branch: Treasure Flag01 Off Text Message, close window not checked Input: Buttons: Constant Wait Close Text Box Text Message Close Window Call: Random Item Script (gives a random item of a certain type) Data: Treasure Flag01 On Condition End To End Apply If 2 Text Message, close window not checked Input: Buttons: Constant Wait To End Sort End Close Text Box Text Message Close Window Event Look: Normal Call: Camera Reset 30F (resets camera to what player had it set on) Event Motion Change: Walk Member 1 Motion Change: Walk Member 2 Motion Change: Walk Member 3 Motion Change: Walk Member 4 Motion Change: Walk (preferably the previous 5 could all be separate and be called)
|
|
|
Post by Doan the Nado on Feb 25, 2005 5:56:30 GMT -5
Okay, I tried to make a table here, but it didn't come out right at all. The easiest way for me to show you was to make a webpage where you could see the original and the altered script, along with some comments. So go to this page to see a table that should be able to help you out a bit. Hope that's all right, if not, just let me know. It's been a while since I scripted, so I may have forgotten a thing or two.
|
|
Deleted
Deleted Member
Posts: 0
|
Post by Deleted on Feb 26, 2005 3:59:56 GMT -5
Wow. I'll give it a try tomorrow and see if it works. It will be really cool if it does.
|
|
Deleted
Deleted Member
Posts: 0
|
Post by Deleted on Mar 2, 2005 1:20:01 GMT -5
I'll get to trying this soon. I've been real busy with Soul Caliber 2, but I do want to try this. Thank you a bunch Doan.
|
|
|
Post by vespuleth on Mar 2, 2005 19:04:54 GMT -5
Soul Caliber 2 is quite the game. it took me about 4 months to start playing other games again. luckily, it was before i bought rpgm2. now life gets in the way of that.
|
|
|
Post by Jugem on Mar 4, 2005 13:14:17 GMT -5
now life gets in the way of that. Haha, it sure does.
|
|
Deleted
Deleted Member
Posts: 0
|
Post by Deleted on Mar 8, 2005 12:31:16 GMT -5
I don't know why, but when I do this with a Text Box command followed by a Wait XF (or Input: Wait XF) and Close Text Box command it doesn't close the text box (it'll stay there even after the event's content stuff is done and I can walk around), and everything else in the script is working correctly.
|
|