Track command

For the discussion of general topics about the game.
Post Reply
Aysa
Sword Grand Master
Sword Grand Master
Posts: 266
Joined: Sun Jan 26, 2014 9:37 pm

Track command

Post by Aysa » Fri Sep 25, 2015 6:51 pm

Right now, the command allows 'track <subject>'... and I can attempt to follow the path of a known person.

Question... would it be possible code wise to do 'track' without the subject. In other words, I walk into a room, see that there are dead bodies lying about... but I don't know who did it. However, 'track' would allow me to find footprints and I'd follow that track until I stumbled across the person or until the trail goes cold? I don't know how easy that would be to code.

Just a thought...
Ungtar
Sword Grand Master
Sword Grand Master
Posts: 478
Joined: Sat Sep 27, 2014 7:28 pm

Re: Track command

Post by Ungtar » Fri Sep 25, 2015 7:40 pm

I did that in Diku once. Required adding 30 storage values to the room and some cleanup code on the tick.

Per room:

Value A: creature (player or mob), Value B: age of tracks, Value C: direction of tracks

That would let me track the last 10 things that had been through the room, how long ago, and which direction they went. The players track skill determined how long they would see tracks for, and how many sets of tracks they would see (up to 10).

Where I went wrong with it though was not considering the terrain or weather. After I was done I didn't feel it was very realistic to be able to track people through caves, rainstorms, or whatnot.

I agree though that this would add a LOT to our game. Particularly in finding people to roleplay with who aren't currently in Market Square.
Beskytter
Sword Master
Sword Master
Posts: 229
Joined: Fri Apr 19, 2013 1:24 pm
Location: Los Angeles
Contact:

Re: Track command

Post by Beskytter » Fri Sep 25, 2015 7:57 pm

Maybe we can simply adjust the track command itself?

Instead of having to add vars to the rooms, maybe we just check for the number of players within a specific number of rooms from the tracking player and display a number of tracks with generic descriptions for each.
Then, the subject could be something less specific and be more like track <race/large/med/small/odd> to give us a general tracking as we move.

Our skill would increase the range the game checks for, inept is next room, adept is ten rooms, GM is thirty rooms, or however it might work out. That way there's no need for a massive overhaul on the room system in order make this work. (Unless added vars to rooms would be easier... someone with code knowledge please inform)
I'm a raptor, doin' what I can, gonna eat everything till he appearance of man. Yo yo see me, I'm living below the soil. I'll be back, but I'm comin' as oil.
Ungtar
Sword Grand Master
Sword Grand Master
Posts: 478
Joined: Sat Sep 27, 2014 7:28 pm

Re: Track command

Post by Ungtar » Fri Sep 25, 2015 8:47 pm

Beskytter wrote:Maybe we can simply adjust the track command itself?

Instead of having to add vars to the rooms, maybe we just check for the number of players within a specific number of rooms from the tracking player and display a number of tracks with generic descriptions for each.
Then, the subject could be something less specific and be more like track <race/large/med/small/odd> to give us a general tracking as we move.

Our skill would increase the range the game checks for, inept is next room, adept is ten rooms, GM is thirty rooms, or however it might work out. That way there's no need for a massive overhaul on the room system in order make this work. (Unless added vars to rooms would be easier... someone with code knowledge please inform)
Not entirely familiar with the Smaug base so I may be talking out my arse some here, but the limitations with that (I think) would be the lack of a specific object to call in the memory. If I type "track beskytter" then it finds the object named beskytter and draws a line between my game location and that object. Having it check for all potential objects within a given range would require a complete rewrite of the function.

I'm just participating in the conversation here and I don't want to dampen anyone's enthusiasm at all. I don't know the Smaug code, and I don't know the modifications that have been made here either. And even more importantly, I don't speak with any authority at all. I'm a nobody. Just rambling aloud on a topic that interests me.

Oh, as I consider your idea though, one modification might be to call an aspect of the "where" function which I think was part of both Merc and Diku from which Smaug was derived. It would check the zone and display all players in that zone. Based off your cool idea, what if the rangers and such who use track had the ability to "where" when in forest terrain and see who else is in the zone/vicinity?

Sort of giving you the ability to sense through either magic or your keen wilderness senses to detect when someone has entered your forest.
Aysa
Sword Grand Master
Sword Grand Master
Posts: 266
Joined: Sun Jan 26, 2014 9:37 pm

Re: Track command

Post by Aysa » Sat Sep 26, 2015 5:01 am

I kinda like the 'where' command... or an "IC" 'who' command that's based on the zone, in regards to 'tracking' who's in the area
Beskytter
Sword Master
Sword Master
Posts: 229
Joined: Fri Apr 19, 2013 1:24 pm
Location: Los Angeles
Contact:

Re: Track command

Post by Beskytter » Sat Sep 26, 2015 6:30 am

I have absolutely no knowledge of how the code base works with these things, I just base my suggestion on my knowledge of how I'd write it (I was a programmer until recently) if I were to make a track function in a program.
Now I do know that Smaug can handle command with and without parameters. (but he can't handle hobbits) Checking the num Playerbits within N-vnums of initiator prior to calling the track skill's main function itself and returning a number of tracks should be a quick fix for this idea.

if( cmd == track) {
numPCBs=findNumPCB(get(cmd_org_Vnum));
trackables = comp(checkSkill(PCVnum,track),randDC(10,getDifs(cmd_org_Vnum), maxNum);
if(trackables >=1){echo(PCVnum,"You notice the tracks of " +trackables +" nearby.";}
trackingSDesc = foreach(trackables,getAdj(PCVnum));
return echo(PCVnum, You can see that," +trackingSDesc+" has/have passed through here recently.";}

//This is obviously very underwritten but it sort of explains what I see in my head when I consider writing a //command like this. Something along the lines of working with a new function for calling 'just' the track //command without parameters.

Anyways, I do like the idea about a 'where' command for zones. I take a lot of my ideas from my foundations in MUSHing and being an admin of one, and where commands are commonplace... in fact a MU* without a where command is often looked at like a our marketplace without a constable. As in, [string of dwarven expletives that don't translate well] is this place?

I can understand reasons why it ICly isn't possible to know this and why staff likely decided against one way back when (if they had to decide at all that is), but I suppose it would aid in consolidating RP if players were able to know where others are in their given zone. In my mind I could see writing that some fancy wizard figures out how to adjust our amulets so that we can know of other amulets in a given range and roughly where they are. Or, something, something, something, Where command, something something, it works ICly now. (Immagine senator Palpatine saying it.)
I'm a raptor, doin' what I can, gonna eat everything till he appearance of man. Yo yo see me, I'm living below the soil. I'll be back, but I'm comin' as oil.
Ungtar
Sword Grand Master
Sword Grand Master
Posts: 478
Joined: Sat Sep 27, 2014 7:28 pm

Re: Track command

Post by Ungtar » Sat Sep 26, 2015 1:37 pm

With your existing knowledge, you ought to go download the Smaug base and play around with it. You can get it uncompiled and just browse through the code or if you're running Windows you can compile it using cygwin and then run it as a process.

It's quite a put together thing but it's well commented. I recommend the SmaugFUSS set. You can get a tar file out there from various places on the internet, either ready to run or ready to be compiled.
Beskytter
Sword Master
Sword Master
Posts: 229
Joined: Fri Apr 19, 2013 1:24 pm
Location: Los Angeles
Contact:

Re: Track command

Post by Beskytter » Sat Sep 26, 2015 6:16 pm

Ungtar wrote:With your existing knowledge, you ought to go download the Smaug base and play around with it. You can get it uncompiled and just browse through the code or if you're running Windows you can compile it using cygwin and then run it as a process.

It's quite a put together thing but it's well commented. I recommend the SmaugFUSS set. You can get a tar file out there from various places on the internet, either ready to run or ready to be compiled.
That's a good point and I need to find the download for it. I had looked at it forever ago but never DL'd anything, now's as good a time as any. :D
I'm a raptor, doin' what I can, gonna eat everything till he appearance of man. Yo yo see me, I'm living below the soil. I'll be back, but I'm comin' as oil.
Ungtar
Sword Grand Master
Sword Grand Master
Posts: 478
Joined: Sat Sep 27, 2014 7:28 pm

Re: Track command

Post by Ungtar » Sat Sep 26, 2015 7:32 pm

Don't go start your own mud though. :)
Post Reply