I've manage to create a simple substring function that finally gives some value to a string other than just displaying stuff.
Here they are:
They are both limited when it comes to characters, and won't resolve a "zzzz" string correctly for now. Furthermore, It can't compare uppercase with lowercase. But this is a progress nontheless.
I'll write some simple functions to take further advantage of this. And I'm also including in my next update to the QV triggers for AoM.
Any thoughs?.
-invent00r
My Work: 1 2 3 4 5 6 7 8 9 10
WIP: Master XS Battle Micro AI
Paused: AI (%4.247)
Os segredos são de quem os souber guardar.
Here they are:
string subStr(string sText = "", int startPos = 0, int endPos = 2048)
{
int pos = 0;
string dText = "";
string subText = "";
string currentChar = "";
while(true) // To infinity, and beyond!
{
if(dText == sText)
break;
currentChar = "";
pos++;
if(dText+" " > sText) { currentChar = ""; }
else if(dText+"!" > sText) { currentChar = " "; }
else if(dText+"\"" > sText){ currentChar = "!"; }
else if(dText+"#" > sText) { currentChar = "\""; }
else if(dText+"$" > sText) { currentChar = "#"; }
else if(dText+"%" > sText) { currentChar = "$"; }
else if(dText+"&" > sText) { currentChar = "%"; }
else if(dText+"'" > sText) { currentChar = "&"; }
else if(dText+"(" > sText) { currentChar = "'"; }
else if(dText+")" > sText) { currentChar = "("; }
else if(dText+"*" > sText) { currentChar = ")"; }
else if(dText+"+" > sText) { currentChar = "*"; }
else if(dText+"," > sText) { currentChar = "+"; }
else if(dText+"-" > sText) { currentChar = ","; }
else if(dText+"." > sText) { currentChar = "-"; }
else if(dText+"/" > sText) { currentChar = "."; }
else if(dText+"0" > sText) { currentChar = "/"; }
else if(dText+"1" > sText) { currentChar = "0"; }
else if(dText+"2" > sText) { currentChar = "1"; }
else if(dText+"3" > sText) { currentChar = "2"; }
else if(dText+"4" > sText) { currentChar = "3"; }
else if(dText+"5" > sText) { currentChar = "4"; }
else if(dText+"6" > sText) { currentChar = "5"; }
else if(dText+"7" > sText) { currentChar = "6"; }
else if(dText+"8" > sText) { currentChar = "7"; }
else if(dText+"9" > sText) { currentChar = "8"; }
else if(dText+":" > sText) { currentChar = "9"; }
else if(dText+";" > sText) { currentChar = ":"; }
else if(dText+"<" > sText) { currentChar = ";"; }
else if(dText+"=" > sText) { currentChar = "<"; }
else if(dText+">" > sText) { currentChar = "="; }
else if(dText+"?" > sText) { currentChar = ">"; }
else if(dText+"@" > sText) { currentChar = "?"; }
else if(dText+"a" > sText) { currentChar = "@"; }
else if(dText+"b" > sText) { currentChar = "a"; }
else if(dText+"c" > sText) { currentChar = "b"; }
else if(dText+"d" > sText) { currentChar = "c"; }
else if(dText+"e" > sText) { currentChar = "d"; }
else if(dText+"f" > sText) { currentChar = "e"; }
else if(dText+"g" > sText) { currentChar = "f"; }
else if(dText+"h" > sText) { currentChar = "g"; }
else if(dText+"i" > sText) { currentChar = "h"; }
else if(dText+"j" > sText) { currentChar = "i"; }
else if(dText+"k" > sText) { currentChar = "j"; }
else if(dText+"l" > sText) { currentChar = "k"; }
else if(dText+"m" > sText) { currentChar = "l"; }
else if(dText+"n" > sText) { currentChar = "m"; }
else if(dText+"o" > sText) { currentChar = "n"; }
else if(dText+"p" > sText) { currentChar = "o"; }
else if(dText+"q" > sText) { currentChar = "p"; }
else if(dText+"r" > sText) { currentChar = "q"; }
else if(dText+"s" > sText) { currentChar = "r"; }
else if(dText+"t" > sText) { currentChar = "s"; }
else if(dText+"u" > sText) { currentChar = "t"; }
else if(dText+"v" > sText) { currentChar = "u"; }
else if(dText+"w" > sText) { currentChar = "v"; }
else if(dText+"x" > sText) { currentChar = "w"; }
else if(dText+"y" > sText) { currentChar = "x"; }
else if(dText+"z" > sText) { currentChar = "y"; }
else if(dText+"[" > sText) { currentChar = "z"; }
else if(dText+"\\" > sText){ currentChar = "["; }
else if(dText+"]" > sText) { currentChar = "\\"; }
else if(dText+"[" > sText) { currentChar = "]"; }
else if(dText+"^" > sText) { currentChar = "["; }
else if(dText+"_" > sText) { currentChar = "^"; }
else if(dText+"`" > sText) { currentChar = "_"; }
else if(dText+"{" > sText) { currentChar = "`"; }
else if(dText+"|" > sText) { currentChar = "{"; }
else if(dText+"}" > sText) { currentChar = "|"; }
else if(dText+"~" > sText) { currentChar = "}"; }
else if(dText+"~~" > sText){ currentChar = "~"; }
dText = dText + currentChar;
if(pos >= startPos)
subText = subText + currentChar;
if(pos == startPos+endPos-1)
break;
}
return(subText);
}
int lengthStr(string sText = "")
{
int pos = 0;
string dText = "";
string currentChar = "";
while(true) // To infinity, and beyond!
{
if(dText == sText)
break;
currentChar = "";
pos++;
if(dText+" " > sText) { currentChar = ""; }
else if(dText+"!" > sText) { currentChar = " "; }
else if(dText+"\"" > sText){ currentChar = "!"; }
else if(dText+"#" > sText) { currentChar = "\""; }
else if(dText+"$" > sText) { currentChar = "#"; }
else if(dText+"%" > sText) { currentChar = "$"; }
else if(dText+"&" > sText) { currentChar = "%"; }
else if(dText+"'" > sText) { currentChar = "&"; }
else if(dText+"(" > sText) { currentChar = "'"; }
else if(dText+")" > sText) { currentChar = "("; }
else if(dText+"*" > sText) { currentChar = ")"; }
else if(dText+"+" > sText) { currentChar = "*"; }
else if(dText+"," > sText) { currentChar = "+"; }
else if(dText+"-" > sText) { currentChar = ","; }
else if(dText+"." > sText) { currentChar = "-"; }
else if(dText+"/" > sText) { currentChar = "."; }
else if(dText+"0" > sText) { currentChar = "/"; }
else if(dText+"1" > sText) { currentChar = "0"; }
else if(dText+"2" > sText) { currentChar = "1"; }
else if(dText+"3" > sText) { currentChar = "2"; }
else if(dText+"4" > sText) { currentChar = "3"; }
else if(dText+"5" > sText) { currentChar = "4"; }
else if(dText+"6" > sText) { currentChar = "5"; }
else if(dText+"7" > sText) { currentChar = "6"; }
else if(dText+"8" > sText) { currentChar = "7"; }
else if(dText+"9" > sText) { currentChar = "8"; }
else if(dText+":" > sText) { currentChar = "9"; }
else if(dText+";" > sText) { currentChar = ":"; }
else if(dText+"<" > sText) { currentChar = ";"; }
else if(dText+"=" > sText) { currentChar = "<"; }
else if(dText+">" > sText) { currentChar = "="; }
else if(dText+"?" > sText) { currentChar = ">"; }
else if(dText+"@" > sText) { currentChar = "?"; }
else if(dText+"a" > sText) { currentChar = "@"; }
else if(dText+"b" > sText) { currentChar = "a"; }
else if(dText+"c" > sText) { currentChar = "b"; }
else if(dText+"d" > sText) { currentChar = "c"; }
else if(dText+"e" > sText) { currentChar = "d"; }
else if(dText+"f" > sText) { currentChar = "e"; }
else if(dText+"g" > sText) { currentChar = "f"; }
else if(dText+"h" > sText) { currentChar = "g"; }
else if(dText+"i" > sText) { currentChar = "h"; }
else if(dText+"j" > sText) { currentChar = "i"; }
else if(dText+"k" > sText) { currentChar = "j"; }
else if(dText+"l" > sText) { currentChar = "k"; }
else if(dText+"m" > sText) { currentChar = "l"; }
else if(dText+"n" > sText) { currentChar = "m"; }
else if(dText+"o" > sText) { currentChar = "n"; }
else if(dText+"p" > sText) { currentChar = "o"; }
else if(dText+"q" > sText) { currentChar = "p"; }
else if(dText+"r" > sText) { currentChar = "q"; }
else if(dText+"s" > sText) { currentChar = "r"; }
else if(dText+"t" > sText) { currentChar = "s"; }
else if(dText+"u" > sText) { currentChar = "t"; }
else if(dText+"v" > sText) { currentChar = "u"; }
else if(dText+"w" > sText) { currentChar = "v"; }
else if(dText+"x" > sText) { currentChar = "w"; }
else if(dText+"y" > sText) { currentChar = "x"; }
else if(dText+"z" > sText) { currentChar = "y"; }
else if(dText+"[" > sText) { currentChar = "z"; }
else if(dText+"\\" > sText){ currentChar = "["; }
else if(dText+"]" > sText) { currentChar = "\\"; }
else if(dText+"[" > sText) { currentChar = "]"; }
else if(dText+"^" > sText) { currentChar = "["; }
else if(dText+"_" > sText) { currentChar = "^"; }
else if(dText+"`" > sText) { currentChar = "_"; }
else if(dText+"{" > sText) { currentChar = "`"; }
else if(dText+"|" > sText) { currentChar = "{"; }
else if(dText+"}" > sText) { currentChar = "|"; }
else if(dText+"~" > sText) { currentChar = "}"; }
else if(dText+"~~" > sText){ currentChar = "~"; }
dText = dText + currentChar;
}
return(pos);
}
I'll write some simple functions to take further advantage of this. And I'm also including in my next update to the QV triggers for AoM.
Any thoughs?
WIP: Master XS Battle Micro AI
Paused: AI (%4.247)
Os segredos são de quem os souber guardar.
[This message has been edited by invent00r (edited 03-07-2008 @ 05:13 PM).]