The documentation for ScenEdit_SetKeyValue reads:
There is no indication that either string has any limitation, however the key name string is limited to letters, numbers, hyphens and underscores. Some might say, "DUH, it's a name" but There is a bank here in the US called BB&T, whose name does not meet that criteria.ScenEdit_SetKeyValue (key,value,forCampaign)
Sets the value for a key in the persistent key store.
This function allows you to add values,associated with keys,to a persistent store KeyStore that is retained when the game is saved and resumed. Keys and values are both represented as non-nil strings.The value is retrieved by ScenEdit_GetKeyValue.
Parameters
key string The key to associate with
value string The value to associate
for Campaign boolean Pass the store to next scenario in campaign. Optional, default = false
My first complaint is there is not indication that the limitation exists in the documentation.
My second is less a complaint and more a question:
why the character limitation? Does allowing a special characters in the name here actually cause issues? Perhaps the storage/retrieval mechanism imposes the limits. In this case, please, document it, so that the users are not guessing and trying various combinations. If this is not the case, can we remove the limitation?
FYI:
Characters permitted in Key Names: all letters (a-z,A-Z), numbers (1-9) and - _ .
Characters NOT permitted in Key Names: , / < > ? ; \ ' : " [ ] \ { } | ` = ~ ! @ # $ % ^ & * ( ) +
There is no limitation to characters on the Key Value string.