ID:134695
 
There should be a real key procedure that returns the exact key. Sort of opposite to the ckey. I know this is possible by parsing byond.com/people and members.byond.com, but that's terribly unreasonable. Those two pages will have a lot of content that is definately not needed and will be extracted slowly. I was thinking of some php script or cgi script that'd access BYOND's key list (hopefully they're not truncated too) and spit back the real key version. Hopefully this'll be added soon.
What exactly do you mean by 'real key'? The 'key' variable returns the actual key to the best of the hub's ability.
In response to Nadrew
If I'm not connected to x game, and x game uses ckey to save stuff, how is it going to figure out my real key is "Crashed" and not "crashed"?

I'm making a DMCGI app, and I want it to display the 'real key' for something. I don't want the ckeyed version.
In response to Crashed
Store the person's key in the savefile with all of their other information. (Since of course, if you have access to ckey while saving you'd have access to key too.)
In response to Nadrew
1. I don't want a massive list of people's keys.
2. There's a chance the user has never logged on.

Is it that impossible to make a simple database grab and display feature for us?
In response to Crashed
Crashed wrote:
1. I don't want a massive list of people's keys.

You're using savefiles, right? Just put their key in the savefile. Then when you need it load it.

2. There's a chance the user has never logged on.

Then how does it get their ckey? If you've got their ckey you could have gotten their key.

Is it that impossible to make a simple database grab and display feature for us?

I think it's possible but they simply wouldn't bother when you should have just saved the key in the first place.
In response to DarkView
DarkView wrote:
You're using savefiles, right? Just put their key in the savefile. Then when you need it load it.

That would be a list of keys that I don't want.

Then how does it get their ckey? If you've got their ckey you could have gotten their key.

The user types in a key to search.
In response to Crashed
The user types in a key to search.

Then search by ckey(searchparam) and if they typed in the proper key to search by then you'll get the right ckey :P.
In response to Crashed
That's the only way you're doing to do it, I don't see anything wrong with storing ONE extra variable in each file. There's not much chance of getting access to a key database.
In response to Crashed
I don't get why you'd have any reason to want to have someone search for a key such as "hieAD" and return "Hiead" to them.

Hiead
In response to Hiead
What if soemone searches "hi ead"? Or something along those lines? I don't want to spit back some improper key name, nor do I want to filter out the things I don't need. Not only that, but that search feature could also be used to see if a keyname is taken (more quickly).
In response to Crashed
Crashed wrote:
What if soemone searches "hi ead"? Or something along those lines? I don't want to spit back some improper key name, nor do I want to filter out the things I don't need.

I'm just wondering what purpose your site has for searching for such a thing.

Not only that, but that search feature could also be used to see if a keyname is taken (more quickly).

Well, if you count going to a completely different site and performing a search and then coming back to register as being quicker than simply trying to register and risk a small error message about it being taken.

Hiead
In response to Hiead
The same search engine can be used to check if a key was all ready taken at the key wizard, but someone else could probably make a small program that users can check if a key is taken before they download BYOND and before they start up the key wizard.
In response to Crashed
All BYOND keys have a unique ckey. I can't register 'C-R-A-S-H-E-D' or 'C-rashed' or 'c r a shed' or 'c!r@a#s$h%e^d' or even 'crashed!'. You can just search for the ckey of what's been typed.

Anyway, look at the key variable. That holds all the information you need.
In response to Jp
The only response I'll give is: Read the damned posts. You missed the point.
In response to Crashed
Crashed wrote:
The only response I'll give is: Read the damned posts. You missed the point.

I think you missed his point.

If someone types in "hi ead" and you don't want it turning up invalid keys due to the space just do a ckey conversion of whatever they typed in for the actual search, and then use the search string to display it back to them. If the user types in "hi ead" you ckey it to a seperate variable, then use the ckey to check if it exists or not. If it does then tell them that the name is taking, using the original search string in place of the ckey'ed variable.

Your other option, and really the simple option is just make a savefile storing their realkey if its really that big of a deal.
In response to Nick231
Nick231 wrote:

If someone types in "hi ead" and you don't want it turning up invalid keys due to the space just do a ckey conversion of whatever they typed in for the actual search, and then use the search string to display it back to them.

"What if soemone searches "hi ead"? Or something along those lines? I don't want to spit back some improper key name, nor do I want to filter out the things I don't need."


Your other option, and really the simple option is just make a savefile storing their realkey if its really that big of a deal.

"2. There's a chance the user has never logged on."


Read, please just read.

I'm making DS talk to a DMCGI app on a website, some keys have some funky characters that might mess up the topic. So instead of sending keys, I send ckeys. Now how the hell am I supposed to figure out the key?
In response to Crashed
Crashed wrote:
Nick231 wrote:

If someone types in "hi ead" and you don't want it turning up invalid keys due to the space just do a ckey conversion of whatever they typed in for the actual search, and then use the search string to display it back to them.

"What if soemone searches "hi ead"? Or something along those lines? I don't want to spit back some improper key name, nor do I want to filter out the things I don't need."

The way ckey works you won't end up with some improper key. You'll either find it or not find it.

Your other option, and really the simple option is just make a savefile storing their realkey if its really that big of a deal.

"2. There's a chance the user has never logged on."

If the user has never logged in to begin with why the heck do you need any info on them?
In response to Nick231
I made an edit at the bottom of my original post to answer your question.

"The way ckey works you won't end up with some improper key. You'll either find it or not find it."
What I meant by that is you search in a form for a key, and it responds back with that person's records like kills and such. But as the title it'll show the key you searched for. So if I searched for "hi ea d", as the title I'll get "hi ea d". I probably didn't make this clear in the beginning: the problem ISN'T finding the key, it's DISPLAYING the key.
In response to Crashed
I'm making DS talk to a DMCGI app on a website, some keys have some funky characters that might mess up the topic. So instead of sending keys, I send ckeys. Now how the hell am I supposed to figure out the key?

Editing posts while some one is replying=evil.

Topic() shouldn't get messed up by odd characters in a key. World.Export() always worked fine for the names used by a number of my Korean players, so I would imagine that Topic would aswell.
If it doesn't an alternative would be to use text2ascii, seperate each character by (for example) an underscore, than go back through it using ascii2text to get the actual format. So for example AAA would get sent as 65_65_65_ which you could then parse back after it has been sent.
Page: 1 2