Attribute byte limit?

Groctel
18 Jan 2017, 15:08So I was moving and copying attributes strings for a script I developed and realised that the longest strings are not transferred and make the script crash. Is this because there is a limit on the size in bytes an attribute con hold or did I break the engine again?
Thanks :D
hegemonkhan
18 Jan 2017, 16:38yes, all Attribute/Data Types should have a size limit, though not sure with how exactly quest works, though maybe you just made some code mistake, or maybe it could be that both occured. Can we see your code of it? (we may need to see the entire game code too, to be certain no mistakes were made with the code too).
a simple testing you can do, is to try shortening your strings, and if that causes the problem to disappear, then examine the part that you removed, checking to see if there's any errors in the code (or post it here and we can do that), and if there's not, then start adding/removing the size of the string, until you find it's size / the cutoff length where it goes from working to error.
for a pretend example:
our new 'alphabet_string' Attribute/Data Type's size limit: 26 (in real example would be some size/number/amount of memory units)
alphabet_string = "a" ---> NO error
alphabet_string = "abcdefghijklmnopqrstuvwxyz" ---> NO error
alphabet_string = "abcdefghijklmnopqrstuvwxyzAAAA" ---> ERROR (size limit exceeded: technically, this is a human coding error too, lol)
alphabet_string = 12345 ----> ERROR (human coding error: incorrect values for Attribute/Data Type)
google search: data type size
(you'll get links for many various languages --- they can differ between languages: the smallest memory unit is the 'bit', but this only exists within the machine code language, the lowest language --- closest to the physical hardware/circuitry itself -- which the machine code is just literally a bunch of logical '0' and '1' bits --- completely UN-readable by humans, whereas all other languages are higher languages as they build up to make it more human friendly and more capable, so they use larger memory sizes, X bytes: 1 byte = 8 bits: the byte is the smallest memory unit that you can act-upon/manipulate via in the low-level Assembly Language: don't confuse the '0' and '1' numbers of higher level languages for the logical bits of '0' and '1', as they're characters/symbols, which are 'Char' and/or 'String' Data Types: X bytes in size, for their created Data Types: primitive data types such as the 'Integer' Data Type and the non-primitive data types such as the 'String' Data Type) --- but again, I don't know how quest works.