#How do I make the player controllable after this?

89 messages · Page 1 of 1 (latest)

worn iron
#

trying to have the player teleport from lake verity to iron island, but after the teleport, the controls lock up
tried with map change at first, same result
what am I doing wrong?

molten summit
#

MAP_CHANGE should work. You just need to make sure that the script that contains the MAP_CHANGE ends. If you look at all of the other examples, most of them end immediately after calling the MAP_CHANGE command

worn iron
#

tried it, still had the same issue. Forgot to mention i had _EVENT_START and _EVENT_END
do I specify the events in those brackets?

worn iron
molten summit
#

EVENT_END and EVENT_START don't take any arguments.

#

Oh what arguments are you passing to the MAP_CHANGE command?

worn iron
#

_MAP_CHANGE('D24', 1)

molten summit
#

Yeah that should definitely work. The first arg is the zone code of the area that you want to go to (you can find those here), and the second arg is the warp index of that location.

worn iron
#

oh i think i misworded my issue, sorry
i meant that after the map changes the controls lock up and im stuck

molten summit
#

What does the entire script look like?

#

That works for changing the map but locks you

worn iron
#

one part is
ev_d27r0101_rival:
_EVENT_START()
_CALL('ev_block_doc')
_INVISIBLE_OBJ_PROP('D27R0101_DOCTOR', 'fc2003_00_bagskin')
_SET_VISIBILITY('D27R0101_DOCTOR', 0, 0)
_SYS_FLAG_PAIR_RESET()
_LDVAL(@TOWNMAP_GUIDE_SEQUENCE, 900)
_OBJ_ANIME('D27R0101_RIVAL', 'anm_d27r0101_rival_01_00')
_OBJ_ANIME('HERO', 'anm_d27r0101_player_01_00')
_OBJ_ANIME_WAIT()
_RIVAL_NAME(0)
_TALK_KEYWAIT('dp_scenario3%83-msg_d27r0101_rival_01', 1)
_TALK_CLOSE()
_OBJ_ANIME('D27R0101_POKE_01', 'anm_d27r0101_poke_01_01')
_OBJ_ANIME_WAIT()
_TALK_KEYWAIT('dp_scenario3%83-msg_d27r0101_hero_a_01', 1)
_TALK_CLOSE()
_JUMP('ev_d27r0101_common_1')
_END()
ev_d27r0101_common_1:
_MAP_CHANGE('D24', 1)
_END()

#

second is in the d24 ev file
ev_iron_island_intro:
_OBJ_ANIME('HERO', 'anm_player_get_up')
_END()

molten summit
#

You're calling ev_block_doc, but not ev_block_doc_end. Those need to happen together or you won't be able to move at all.

#

At different ends of the scripts ofc

#

But I'm not even sure why you need ev_block_doc here in the first place.

worn iron
#

I just took part of the script from the old ev file and reworked it, was nervous when it came to deleting those sections

#

so just deleting the call will fix this?

molten summit
#

Probably yeah

worn iron
#

gonna try, thank you again!!

molten summit
#

Yeah for sure. And you have the sp scripts set up for when you load up Iron Island to call the ev_iron_island_intro right?

worn iron
#

no, but i assume I can just swap out the flag change in here with the iron_island intro right (and then call the flag change within the iron island intro script)?

molten summit
#

Or the other way around but yeah

worn iron
#

alright, thank you once more!!

molten summit
#

Yeah for sure! Feel free to make another post in here if you get stuck again. There's a lot of messy documentation that we have internally for scripting commands that we're working on prettifying for the public, so don't be afraid to ask questions. It's more than likely we have an answer of some sort.

worn iron
#

it still didn't work when I tried again and i have no idea what else I can change

worn iron
#

nvm nvm nvm ev_block_doc and ev_block_doc_end were both necessary (had to put them at the start and ends of scripts immediately before or after EVENT_START or EVENT_END for future reference)

#

works now

formal kite
#

the block_doc scripts are not strictly neceassary, they're just an extra layer of locking the player controls

worn iron
#

really didnt want to bring up another issue, but now I'm having the opposite issue after the map change

i feel like im making a really basic mistake that ive wasted 2 days over but i dont know what it could be

sorry again

#

(tried calling ev_iron_island_intro from the flag change script the first time but that didnt work, tried having only ev_block_doc in the d27 script and only ev_block_doc_end in the d24 script but that didnt work either [and a few other things that I'm forgetting I tried])

molten summit
#

No worries, there's just a gap in knowledge I can see. The sp files are VERY specific in their naming schemes and get excecuted in a very particular order. The naming scheme is _SP_{zone_id}_{declarative} and the order that they are executed goes as follows:

  1. INIT
  2. OBJ
  3. SCENE
  4. FLAG
    No other scripts will be executed when entering a map
#

So the IRON_ISLAND_GUIDED... won't ever be called when loading up a map

#

Especially since the SP_EVENT_DATA_END ends the sp script right there.

#

So change the call for the ev_iron_island_intro to be inside the ev_d24_flag_change (after the $FLAG_ARRIVE_D24 flag is set trust me). And remove the IRON_ISLAND_GUIDED... script and jump

worn iron
#

forgot to thank you again, sorry!!
sorry for asking, but how would I determine the coordinates of the player at this point?

molten summit
#

Yeah for sure! Glad to see you're making progress! Unfortunately, the only way you're going to be able to find them is by checking if other PlaceData objects were placed there or by trial and error. We have a dev tool that can get those coordinates but it's not compatible with Lumi 2.1F. I can impart 2 things that I've learned tho:

  1. The heightLayer prop (the y coordinate or the direction going exactly up towards the sky) in PlaceData, the higher the number the better. You'll want to start with a large number like 20 or 25 in that because the Objects will snap to the ground. From there, you can hone in the exact y coordinate.
  2. The NorthWest corner of every map that isn't the overworld is 0,0
worn iron
#

I'm really lazy so I'll put off coordinate stuff for later, thanks though!!

Sorry to bother you again, but how would I resize the text here?

molten summit
#

It's probably from other text in that chain of dialogue that you used in the MACRO_TALKMSG. Shorten the longer sections and it should resize itself.

#

And don't worry about bothering. I'm happy to help out when I can.

worn iron
#

thank you, going to try this

molten summit
#

The \n character sets a new line and \r sets a new text bubble just btw.

#

Eventually I'm going to work on an update for ev_as that sets scrolling lines for every subsequent \n character after the first one and before the next \r, but I haven't done it yet.

worn iron
molten summit
#

The \n would be including inside of the apostrophes with no spaces around it like
'sample1\nsample2'

worn iron
#

ohh ok thanks again

molten summit
#

Yup! 😋

worn iron
#

how would I add a script that gives the player a pokemon upon interacting with an item? the placedata shows and i set the talk label to the ev event. what do i need to change in here for that to happen?

#

(ignore the sample1 stuff, the actual script doesnt have that)

molten summit
#

There should be a good example of that in for each of the Reporters in the pokemon centers. Just take a look at the scripts after the TRAINER_BTL_SET commands

worn iron
#

ive been looking over it for a bit and i cant see anything indicating anything about giving the player a pokemon, am I looking at the wrong section?

molten summit
#

You can't find anything for the Reporters in c01pc0101?

#

They should be gifting the starters to the player after beating them in a battle

worn iron
#

i dont see anything

molten summit
#

Huh?

worn iron
#

shoot i forgot to mention ive been using vanilla bdsp for all of this

#

sorry

molten summit
#

You should download Lumi 2.1F and use that as a reference. We've done a lot of stuff like this to make it better for players.

#

If you need to not use Lumi for whatever reason, look into the Jirachi and Mew events. Those should have the commands set up correctly

worn iron
#

ohh ok, thank you again (im very low on disk space so im trying to use as little as i can)

molten summit
#

I believe that would be t02 is Floaroma Town?

worn iron
#

i thought t02 was sandgem

#

t03 is floaroma

#

it works, thank you again so much!!

worn iron
#

sorry for asking another question

if i were to want to have a script be called upon the player entering an area but the area has no sp_ ev file what do i do? can any scripts be executed in that area?

molten summit
worn iron
#

I'm still having issues with that, but I'll put that aside.

Sorry again, but how do I clear the name? I'm trying to have either no name appear or the professor's name appear, but I don't know how to clear the box holding the name.

molten summit
#

Okay so this a 3-part problem that you need to figure out.

  1. Find the message label of the message you want to add/remove. There's 2 commands that format how this label use the label.
  • For the normal _TALKMSG command, the section after the "%" is the message label. For example, _TALKMSG('dp_scenario2%00_msg_c01_meetLooker_008') has a message label of 00_msg_c01_meetLooker_008 which can be found in the file {language}_dp_scenario2.
  • For the macro _MACRO_TALKMSG, the message label is the 2nd arg. For example, _MACRO_TALKMSG('dp_scenario3', '00_msg_c01_lookerblocker_2', 'Anyway, ....') has a message label of 00_msg_c01_lookerblocker_2 that will be added to the {language}_dp_scenario3 file.
  1. After obtaining that message label, we need to find it in the MsgWindowData file which can be found after unpacking the masterdatas file. If the message has a name on top of it, you'll find the message label that we found in step 1 to be in the label property in this file. For example, the 00_msg_c01_meetLooker_008 message has a talk_label of DLP_SPEAKERS_NAME_005.
    • If you wanted to just remove a nameplate from a message, I would recommend just removing the entire entry structure (as shown below) from here.
        {
            "label": "00_msg_c01_meetLooker_008",
            "talk_label": "DLP_SPEAKERS_NAME_005"
        },
  1. After finding that message label in the MsgWindowData file, you'll want to take the talk_label property and look that up in the {language}_dlp_speakers_name file. This will give you a pretty similar structure to the dp_scenario files as shown below, and should be pretty easy to add new entries or change existing ones. One caveat to this is that you can't use tags like you would have in normal messages.
worn iron
#

Works, thanks again!!

worn iron
#

Sorry, but how do I access the placedata for sandgem town? I looked up t02 in the masterdatas export folder but didnt see anything I could use.

Also, how would i start with mapping in this game?

molten summit
#

PlaceData objects in the overworld is different than places that are inside. The files are instead in files named "PlaceData_A01" where the "01" is replaced with the number defined in this image.

#

And currently mapping is in its infancy even behind the scenes so I'm not super comfortable sharing methods on that until we get a bit more established on methods.

worn iron
#

I know this sounds super greedy, but i'm really interested in mapping all of a sudden. What tools are needed to start? If the only edits I want to make are super small ones (ie. adding a line of trees to block off a route) is that feasible? Sorry again, but i really want to try, even if it takes a year for me to learn how to change stuff in 1 map (maybe not that much, but still). I swear I won't ask any more questions about it (hopefully).

molten summit
#

I'll let you know once the mapping documentation has been finished

worn iron
#

I know you said I shouldn't have done this, but I went ahead and followed some of the stuff that was in here and another discord server to edit the map.

Used assetripper to rip the area001 file, exported it as a unity project, and everything else that was stated in the lumitool doc.

Now im onto this step. Sorry for asking, but do i put the file i named bundle in the left side or do i put the area001 file (not the vanilla one) from the fields folder into the left side?

molten summit
#

I... Didn't realize that the LumiTool docs were publicly available. It would be the area001 bundle

formal kite
#

LumiTool is technically publicly available if you want to use it, I have no problems with that

#

I must've posted the docs somewhere public I guess, I don't remember where tho

#

Do keep in mind that some of the tools in it are still experimental, but the bundle prepper is pretty stable nowadays

worn iron
# molten summit I... Didn't realize that the LumiTool docs were publicly available. It would be ...

Thanks!!

I never bothered to change the shaders for any of the objects from the internal error shader (or whatever it was called) that it automatically had when i opened the project before rebuilding the bundle. Is that why everything looks like this? Do i need to change the shaders for all objects before i build the bundle? Or does that just affect how it looks in the project itself? Sorry for asking more.

molten summit
#

That means you didn't copy the structure of the RomFS folder identically. The shaders should be set correctly in the Unity project. If you continue to have problems, just use PlaceData objects to block off the area that you're trying to go.

worn iron
#

Is it possible for me to just use the first romfs dump i had instead?

#

guess it isnt

worn iron
molten summit
#

I'll add this to the list of documentation to add to the website eventually (with better renders).

hollow wharf
#

(I’m working on the renders right now! c:)

molten summit
#

That's the second time that I've mentioned this documentation and you were working on new renders lmao

worn iron