Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- stock strreplace(string[], const search[], const replacement[], bool:ignorecase = false, pos = 0, limit = -1, maxlength = sizeof(string)) {
- // No need to do anything if the limit is 0.
- if (limit == 0)
- return 0;
- new
- sublen = strlen(search),
- replen = strlen(replacement),
- bool:packed = ispacked(string),
- maxlen = maxlength,
- len = strlen(string),
- count = 0
- ;
- // "maxlen" holds the max string length (not to be confused with "maxlength", which holds the max. array size).
- // Since packed strings hold 4 characters per array slot, we multiply "maxlen" by 4.
- if (packed)
- maxlen *= 4;
- // If the length of the substring is 0, we have nothing to look for..
- if (!sublen)
- return 0;
- // In this line we both assign the return value from "strfind" to "pos" then check if it's -1.
- while (-1 != (pos = strfind(string, search, ignorecase, pos))) {
- // Delete the string we found
- strdel(string, pos, pos + sublen);
- len -= sublen;
- // If there's anything to put as replacement, insert it. Make sure there's enough room first.
- if (replen && len + replen < maxlen) {
- strins(string, replacement, pos, maxlength);
- pos += replen;
- len += replen;
- }
- // Is there a limit of number of replacements, if so, did we break it?
- if (limit != -1 && ++count >= limit)
- break;
- }
- return count;
- }
- ChangeLetters(source[]) {
- new ret[MAX_PLAYER_NAME];
- strcat(ret, source);
- new lt_arr[][10] = {
- "Ą","Č","Ę","Ė","Į","Š","Ų","Ū","Ž",
- "ą","č","ę","ė","į","š","ų","ū","ž"
- };
- new en_arr[][10] = {
- "A","C","E","E","I","S","U","U","Z",
- "a","c","e","e","i","s","u","u","z"
- };
- for(new i; i < sizeof lt_arr; ++i) {
- strreplace(ret, lt_arr[i], en_arr[i]);
- }
- return ret;
- }
Advertisement
Add Comment
Please, Sign In to add comment