Envision, Create, Share

Welcome to HBGames, a leading amateur game development forum and Discord server. All are welcome, and amongst our ranks you will find experts in their field from all aspects of video game design and development.

Maplinks V1.2.1

Hey, im bout to finish with my demo ... im testing but i cant play without ur script finished... please release the maplink alone atleast
 
Maplinks 1.2 error, demo works but in my game i have this error:

Script "Maplinks"line 76: NoMethodError ocured.
undefined method "negative_roads="for<Table:0x3ec3c78>
 

regi

Sponsor

I got a similar error, I think it's something to do with the "negative" part... because in previous versions you mistyped it as negitive.
 
busbuzz;304317 said:
Maplinks 1.2 error, demo works but in my game i have this error:

Script "Maplinks"line 76: NoMethodError ocured.
undefined method "negative_roads="for<Table:0x3ec3c78>

Busbuzz, the new version doesn't use the Table class at all. Be sure to insert you old @maps and @sizes data into the new initialize; making sure the lines bolded below are correct.
Code:
  def initialize
    ...
    # Create map layout table for maplinks
    [B]@maps = Object_Table.new(*size)[/B]
    [I]@maps data[/I]
    [B]@maps.negative_read = false[/B]
    # Create map size arrays
    sm, long, large = [20, 15], [80, 15], [40, 30]
    # Define the size of each map
    @sizes = Object_Table.new(*size)
    [I]@sizes data[/I]
    ...
  end

Regimos;304418 said:
I got a similar error, I think it's something to do with the "negative" part... because in previous versions you mistyped it as negitive.

Yes Regimos, I misspelled negative in past versions.
 
I like this script, but I'm no good at anything involving scripting. How do you connect the maps? I checked the post trying to explain it, but I couldn't understand it well. :(
Sorry for my newbness.
 
Thanx, now its working, now i have a question, this part makes an error, if i want to have a hallway with a room to the left how to i put it correctly, this is how i tried it the room was map 45

@maps[1,0,3] = 20
@maps[1,1,3] = 107
@maps[1,2,3] = 106
@maps[0,3,3], @maps[1,3,3] = 45, 95
@maps[1,4,3] = 94
@maps[1,5,3] = 18


ITACHI:
its kinda complicated, it took me awhile to finally know how to plug the maps,

think of ur maps as blocks

OOO 123
OOO 456
OOO 789

^imagine those are blocks of maps of the size 20x15 and the map numbers are the ones to the right

you have 3 lines and 3 columns
in the first line where all the @maps begin youre gonna configure the first line of maps, whic connects to the sides and to north and south with the other maps, meaning that 1 connects only with map 2 and map 4

1rst line example:
@maps[0,0,0], @maps[1,0,0], @maps[2,0,0] = 1, 2, 3

in the numbers of the @maps[] u put X,Y and Z which is the # of the map connection, the first number is 0, not 1, and after the = is the ID of the maps ure joining in the order that u put in the @maps

the second line: Y changes because its the second line, the first number is 0 so the second is 1 and all the Y numbers become 1

@maps[0,1,0], @maps[1,1,0], @maps[2,1,0] = 4, 5, 6

and in the third line you must change the 1 to 2



@maps[0,2,0], @maps[1,2,0], @maps[2,2,0] = 7, 8, 9

and u configured the map's order then we go with the sizes, where u put the sizes of all the maps

in the line that looks like this:

# Create map size arrays
sm, long, large = [20, 15], [20, 30], [40, 15]

You configure the sizes, with their names, meaning that sm is = to 20x15, long is 40x15 and large is 20x30, take in mind that the maps must FIT so its important for this configuracion to be multiples.

in this case we have only small maps, to make it easier
so the next lines would read:

@sizes[0,0,0], @sizes[1,0,0], @sizes[2,0,0] = sm, sm, sm
@sizes[0,0,0], @sizes[1,0,0], @sizes[2,0,0] = sm, sm, sm
@sizes[0,0,0], @sizes[1,0,0], @sizes[2,0,0] = sm, sm, sm

where u specify the location of each map again and you put the size of the map


in case you use another size of the map:

lets say the map in the upper left corner is large: meaning that occupies 2 spaces:

@maps[0,0,0], @maps[1,0,0], @maps[2,0,0] = 1, 1, 3
@maps[0,1,0], @maps[1,1,0], @maps[2,1,0] = 4, 5, 6
@maps[0,2,0], @maps[1,2,0], @maps[2,2,0] = 7, 8, 9

there u specifie that the first and second blocks are occupied by map 1

then in the size part
u dont repeat the map again, u just put the first block 0,0,0 and the 3rd 2,0,0 specifying that the map of first block is large, and the script will know that it takes two blocks

@sizes[0,0,0], @sizes[2,0,0] = large, sm
@sizes[0,0,0], @sizes[1,0,0], @sizes[2,0,0] = sm, sm, sm
@sizes[0,0,0], @sizes[1,0,0], @sizes[2,0,0] = sm, sm, sm


And now if u want to join another set of maps, then u use Z


@maps[0,0,0], @maps[1,0,0], @maps[2,0,0] = 1, 1, 3
@maps[0,1,0], @maps[1,1,0], @maps[2,1,0] = 4, 5, 6
@maps[0,2,0], @maps[1,2,0], @maps[2,2,0] = 7, 8, 9
@maps[0,0,1], @maps[1,0,1], @maps[2,0,1] = 1, 1, 3
@maps[0,1,1], @maps[1,1,1], @maps[2,1,1] = 4, 5, 6
@maps[0,2,1], @maps[1,2,1], @maps[2,2,1] = 7, 8, 9

the ones with 0 in Z joins with the ones with 0 only and the ones with 1 only with the ones with 1, so u can continuing making different sets of maps just changing the Z


Edit: now it is incompatible to mog's map name, my map name only appears once in the whole game, and never again
 
I found new bugs, 1 serious, and another not so serious.

serious 1: it says:

Script "Maplinks" line 358: NoMethodError occured.
undefined method "[]" for nil:NilClass

where line 358 stands for:

shift[0] += @sizes[*@maps.coordinates(skip)][0]

error occurs when i try to pass from coordinates 1,2,2 to 1,1,2 in this map

@maps[0,0,2], @maps[1,0,2], @maps[2,0,2] = 101, 102, 103
@maps[0,1,2], @maps[1,1,2], @maps[2,1,2] = 101, 102, 103
@maps[1,2,2], @maps[2,2,2] = 104, 104
@maps[1,3,2], @maps[2,3,2] = 105, 105

@sizes[0,0,2], @sizes[1,0,2], @sizes[2,0,2] = large, large, large
@sizes[1,2,2] = long
@sizes[1,3,2] = long

sm, long, large = [20, 15], [40, 15], [20, 30]


The not so serious problem is:

an incompatibility with mapnames, which didnt happen with last version, The name of the maps only appears once during gameplay. i mean you change of map and names doesnt show up never again
 
Icarus Featherfight;300650 said:
Sorry Hanmac, I can't create a seamless transition that the player won't perceive. That would require a completely rescipted Game_Map class.
ok^^ i do this.
so you can load all info from all map.
i woulth build a preload function.
 
First of all I'd like to apologize for my extremely slow reply. That said...

busbuzz;304511 said:
Thanx, now its working, now i have a question, this part makes an error, if i want to have a hallway with a room to the left how to i put it correctly, this is how i tried it the room was map 45

@maps[1,0,3] = 20
@maps[1,1,3] = 107
@maps[1,2,3] = 106
@maps[0,3,3], @maps[1,3,3] = 45, 95
@maps[1,4,3] = 94
@maps[1,5,3] = 18

Edit: now it is incompatible to mog's map name, my map name only appears once in the whole game, and never again

busbuzz;305276 said:
I found new bugs, 1 serious, and another not so serious.

serious 1: it says:

Script "Maplinks" line 358: NoMethodError occured.
undefined method "[]" for nil:NilClass

where line 358 stands for:

shift[0] += @sizes[*@maps.coordinates(skip)][0]

error occurs when i try to pass from coordinates 1,2,2 to 1,1,2 in this map

@maps[0,0,2], @maps[1,0,2], @maps[2,0,2] = 101, 102, 103
@maps[0,1,2], @maps[1,1,2], @maps[2,1,2] = 101, 102, 103
@maps[1,2,2], @maps[2,2,2] = 104, 104
@maps[1,3,2], @maps[2,3,2] = 105, 105

@sizes[0,0,2], @sizes[1,0,2], @sizes[2,0,2] = large, large, large
@sizes[1,2,2] = long
@sizes[1,3,2] = long

sm, long, large = [20, 15], [40, 15], [20, 30]


The not so serious problem is:

an incompatibility with mapnames, which didnt happen with last version, The name of the maps only appears once during gameplay. i mean you change of map and names doesnt show up never again
Ok Busbuzz, here's what to do. First make sure you have version 1.2.1. It speeds up processing and fixes a minor bug. Now remember, the maps must all line up. Therefore, empty parts of the @maps and @sizes Object_Tables must be filled. Use 0 as the map id of the empty space and fill the @sizes table as usual. To use your example, instead of...
Code:
    @maps[0,0,2], @maps[1,0,2], @maps[2,0,2] = 101, 102, 103
    @maps[0,1,2], @maps[1,1,2], @maps[2,1,2] = 101, 102, 103
                  @maps[1,2,2], @maps[2,2,2] =      104, 104
                  @maps[1,3,2], @maps[2,3,2] =      105, 105
    ...
    sm, long, large = [20, 15], [40, 15], [20, 30]
    ...
    @sizes[0,0,2], @sizes[1,0,2], @sizes[2,0,2] = large, large, large

                   @sizes[1,2,2]                =        long
                   @sizes[1,3,2]                =        long
use...
Code:
    @maps[0,0,2], @maps[1,0,2], @maps[2,0,2] =  101, 102, 103
    @maps[0,1,2], @maps[1,1,2], @maps[2,1,2] =  101, 102, 103
    @maps[0,2,2], @maps[1,2,2], @maps[2,2,2] =    0, 104, 104
    @maps[0,3,2], @maps[1,3,2], @maps[2,3,2] =    0, 105, 105
    ...
    sm, long, large = [20, 15], [40, 15], [20, 30]
    ...
    @sizes[0,0,2], @sizes[1,0,2], @sizes[2,0,2] = large, large, large

    @sizes[0,2,2], @sizes[1,2,2]                = large, long
                   @sizes[1,3,2]                =        long

As for Mog's Map Name Window, there is no incompatibility what so ever. However by default it disappears when Switch 15 == true.

Code:
# Disable Window Switch.
WM_SWITCH_VIS_DISABLE = 15

hanmac;305490 said:
Icarus Featherfight;300650 said:
Sorry Hanmac, I can't create a seamless transition that the player won't perceive. That would require a completely rescipted Game_Map class.
ok^^ i do this.
so you can load all info from all map.
i woulth build a preload function.
Hanmac loading all the maps in a plane at once would defeat the purpose of this script. I designed it to break a large map into smaller, more manageable parts without the need for hundreds of transfer events. To create the seamless transition your looking for, you would be better off creating one large map.
 
Yes i know about the disable switch i use it for the intro, after the first time showing any map name it didnt show any other mapname again, but i fixed the problem just putting the script below maplinks script
 

Thank you for viewing

HBGames is a leading amateur video game development forum and Discord server open to all ability levels. Feel free to have a nosey around!

Discord

Join our growing and active Discord server to discuss all aspects of game making in a relaxed environment. Join Us

Content

  • Our Games
  • Games in Development
  • Emoji by Twemoji.
    Top