Page 2 of 3

Re: Mudlet 3.0.0-delta Mapper

PostPosted: Wed Feb 01, 2017 10:41 am
by Gorka
Off topic, but given splork's anxiety about displaying damage as part of the game, could they invisibly msdp it instead? :twisted:

Re: Mudlet 3.0.0-delta Mapper

PostPosted: Wed Feb 01, 2017 1:24 pm
by *teker*
I'm thinking that perhaps the room vnum should appear at the top of the "look" data in case clients want to capture more information. Something like:

Room Vnum: 8000
West Gate
This is the west gate of the port city of Bal Harbor. A wide dirt
roadway leads in between a pair of squarish-looking guard towers into the
city to the east, and to west disappears into a flat grassy plain. Visible
to the far west is what appears to be a forest or jungle that rims the
entire western horizon. To the east, the roadway can be seen to lead into
a distant town square.
Exits: East West Up


It seems like that would allow clients to grab the vnum and then the title, description, and exits if desired. Does that work? Does it really help you guys to have brackets and such around the values?


Teker is there a central teleport function, which could trigger a msdp room vnum update? I know currently all the variables spit out on a timer, but how hard would it be to have it update when it changes, i.e. when player teleports (i.e. tranfers via any method)?


There is a function for adding a player/mobile to a room where it would make sense to refresh that information in MSDP. I'm barely familiar with MSDP but I can look into it further to see if I could add something that doesn't break the clients. I don't like the current structure of the MSDP data - I would prefer that we send down tables of data instead of lots of little pieces. Instead of having ROOM_VNUM and ROOM_NAME, for example, we would have a single table called ROOM that would contain both values (and probably more). Similar to how the GROUP table works now.

There will be a couple of text changes coming in the next reboot (not today's) to help in syncing the client.
1) After entering a correct password:
Old: Password accepted. Press return to continue...
New: Welcome back [Character Name]! Press return to continue...

2) After creating a new character:
Old: New character creation complete!
New: New character creation complete! Welcome [Character_Name]!

These will allow us to get the character name ahead of time so that we can load character specific settings into the client.

3) When attempting to cast a spell that we don't know.
Old: Sorry, you can't do that.
New: Sorry, you don't know how to [cast|play|sing] '[spell/song name]'.

This will allow for the client to notify the group if the player can't cast 'visage' or other spells requested by the leader.


Off topic, but given splork's anxiety about displaying damage as part of the game, could they invisibly msdp it instead?


We've discussed allowing players to see this data in some form but I don't think any progress has been made in that direction. I'll see if I can remove an obstacle or two.

Re: Mudlet 3.0.0-delta Mapper

PostPosted: Wed Feb 01, 2017 2:10 pm
by Gorka
Room Vnum: 8000


That will work... as long as it is unique was all I was asking for, I doubt any room descriptions have "Room Vnum:" in them. Just check it's not the name of next new epic... VnumVnumkpa

Re: Mudlet 3.0.0-delta Mapper

PostPosted: Wed Feb 01, 2017 2:45 pm
by Filk
I would prefer it within room name.
Like:
West Gate [id:1234]
West Gate **1234
Just to avoid another line, since it adds little spam :)
But any variant works, since i could gag anything i dont want to see.

Re: Mudlet 3.0.0-delta Mapper

PostPosted: Wed Feb 01, 2017 7:45 pm
by *teker*
West Gate [id:1234]


I was thinking that long term it might be beneficial to do similar things with items - how would you match against this? Originally I was thinking:

Room Vnum: 8000: West Gate


since that would be searchable by Room Vnum at the start of the line. Is that easy enough for all of you to parse? In Mudlet as a Perl RegEx it'd be "^Room Vnum: (.*): (.*)$" to put the vnum in matches[2] and the room name in matches[3].

I did some playing around with MSDP and I have created a new variable (next reboot) called LOCATION that will send data in a structure that looks like this:

LOCATION
- CONTINENT
- - VNUM
- - NAME
- ZONE
- - VNUM
- - NAME
- ROOM
- - VNUM
- - NAME

It gets updated every time a player is placed into a room so I think it should be fairly accurate.

Re: Mudlet 3.0.0-delta Mapper

PostPosted: Wed Feb 01, 2017 11:27 pm
by Filk
In terms of parsing, no big difference where specific text pattern will be placed, at start of the line or end. So putting it in end least eye breaking probably.
But well, if msdp value will be acurate enough, then maybe ingame displaying not necessary. Though trigger for detect room changing will be way easier with vnum on the screen.

Not sure, why you want vnum displaying for items tbh. I dont see any real purpose in it. All things you want to do with items automaticaly, could be done with their names probably. At least i never met situation where i needed that value ingame.

Re: Mudlet 3.0.0-delta Mapper

PostPosted: Thu Feb 02, 2017 10:01 am
by *juggleblood*
This is just my 2 cents but I like:

Room 8000: West Gate

I don't see a need to put the word 'vnum' or a need for 2 colons. To me the word vnum is technical jargon and makes it even worse that we are displaying the room vnum. And I def agree with Filk that we don't want an extra line.

And WOW, I can't believe you made that msdp room table that updates on room change already! You rock!

If you made that, do we even need an option to display room vnum?

Re: Mudlet 3.0.0-delta Mapper

PostPosted: Thu Feb 02, 2017 11:54 am
by Gorka
You could try using the MSDP table first. A single speedrun to another area echoing the room vnum and you will find out how functional using msdp will be. I doubt it will work, msdp just doesn't update fast enough. Having the number in the room description is "bomb proof." MSDP good for some things, not for others. It's a case of using the best tool for the right job.

Re: Mudlet 3.0.0-delta Mapper

PostPosted: Thu Feb 02, 2017 5:04 pm
by *teker*
Room 8000: West Gate


I like that also.

I doubt it will work, msdp just doesn't update fast enough.


I'm optimistic that this new method will work better. It's should be sending the MSDP info right after the room name/description show (or even if they don't show on teleport). Since you can currently run 2 rooms between the MSDP updates (or more if falling), I can see how it would get out of sync.

Not sure, why you want vnum displaying for items tbh.


At some point it'd be nice to be able to tell if there's a difference between a gray gemstone shard and another gray gemstone shard. Or other items that can be forged/enchanted but don't change names. And if we were to import the EQList into Mudlet (like I know some of you have) you would be able to pull correct stats on the items you're seeing.

Re: Mudlet 3.0.0-delta Mapper

PostPosted: Sat Feb 04, 2017 11:28 am
by Filk
Checked new location update. Its funny actually. Now its so fast, that its update even before you actually enter the room :lol:
Any pretyped moving do the same. Game counts you in some room along your pretyped moving, before sending you data about current room.

Code: Select all
Rose Bush
Exits: East  South  West  * Rose Bush[89314]
<907hp 1101ma 351mv>
e
e

Magnolia
Exits: East  South  West * Lower Path[89310]

<907hp 1101ma 352mv>

Lower Path
Exits: North  West  * Lower Path[89310]


So it should be fixed to update self only after data about room entering was sent to player.
Or we will be reverted back to idea of direct ingame room displaying :)

Update1:
Often value of location is incorrect. Sending some golsland room, always the same one. Dont see logic when that happens yet.

CONTINENT: VNUM=0, NAME=Godsland
ZONE: VNUM=0, NAME=Godsland
ROOM: VNUM=2, NAME=Transmutation Storage Room

Re: Mudlet 3.0.0-delta Mapper

PostPosted: Sat Feb 04, 2017 6:46 pm
by *Breeze*
those 2 rooms are the void and where your real body goes when you shapeshift.

Re: Mudlet 3.0.0-delta Mapper

PostPosted: Sun Feb 05, 2017 1:30 am
by Filk
Ok. Seems correct.
Transmutation Storage Room appears after i kill any mob while shifted. And last until i move out from the room. No matter what i do in the room after the kill - shift back, shift again, any other actions - transmutation room persists.
After any movement location is correct again, even if i still shifted.

Not happens after each kill, but quite often and stable. Maybe 1/3-1/2 of kills or near so leads to that situation.

Re: Mudlet 3.0.0-delta Mapper

PostPosted: Sun Feb 05, 2017 10:38 am
by *juggleblood*
Maybe there could be a check on the msdp room update such that if the room vnum is one of those 2 rooms, do not update msdp.ROOM?

Re: Mudlet 3.0.0-delta Mapper

PostPosted: Mon Feb 06, 2017 8:55 pm
by *teker*
I'll do some more testing and try to figure out how to get around these two issues.

I've attached 3 files in LUA format that contain info about the Sloth world.
- continents.txt is a list of the continents and their vnums
- 18-BalHarborTown.txt is a list of all the rooms and their exits in the zone
- 8-TheDraconisSewers.txt is a list of all the rooms and their exits in the zone

The data is stripped down (no room or exit descriptions, for example). The rooms seem to have X,Y data in them already but I have no idea how good it is. I've been loading the data into mudlet from the command line using the command "lua table.load("c:/temp/thenameofthefile.txt", nil)". This creates a variable called World and put the data underneath it. Right now it seems to delete the old data that's in there.

Let me know if you guys have any luck building maps from these and we can consider moving forward with more.

Re: Mudlet 3.0.0-delta Mapper

PostPosted: Tue Feb 07, 2017 9:15 am
by Gorka
Well done Teker!

I've modified my mudlet mapper code to suck in Teker's data... I generated the rooms and exits... and I have this to show you guys...

Untitled.jpg
Untitled.jpg (17.15 KiB) Viewed 17613 times


I am situated in BH Auction, look for the red line. I used the supplied X,Y coordinates to make this and they actually mostly work... mudlet mapper also requires a Z coordinate but I supplied that myself.

Hmm, where do we go from here Teker?