Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //SetClientDvar and GetClientDvar functionality for saving strings and integers for clients even after game has ended.
- //Also includes StringContains (such as string.Contains() method from C#), and getIndexOf (for getting the index of a char in a string)
- //YouViolateMe
- //SetClientDvar parameters = player, dvar name, dvar value (set to undefined if you want to remove the client value)
- //GetClientDvar parameters = player, dvar name, dvar value type to return back ("int" or "string" for now)
- //resetDvar should be pretty easy to understand....
- //make sure you are NOT saving to a host-only (predefined) dvar! must be a custom dvar!
- //StringContains parameters = string, substring you want to search for
- //getIndexOf parameters = string, char or string you want the index of, starting index to search at (0 if you don't know)
- resetDvar(dvar)
- {
- setDvar(dvar, "");
- }
- SetClientDvar(player, dvar, dvar_value)
- {
- dvarstring = "";
- if (isDefined(getDvar(dvar)))
- dvarstring = getDvar(dvar);
- valuearray = strTok(dvarstring, ";");
- dvarstring = "";
- foreach(value in valuearray)
- {
- if (!StringContains(value, getName(player)))
- dvarstring += value + ";";
- }
- if (isDefined(dvar_value))
- dvarstring += getName(player) + "=" + dvar_value + ";";
- valuearray = undefined;
- setDvar(dvar, dvarstring);
- }
- GetClientDvar(player, dvar, type)
- {
- if (!isDefined(getDvar(dvar)))
- return undefined;
- dvarvalue = getDvar(dvar);
- values = strTok(dvarvalue, ";");
- foreach(value in values)
- {
- name = getName(player);
- if (StringContains(value, name))
- {
- string_value = getSubStr(value, getIndexof(value, "=", 0) + 1, value.size);
- if (type == "int")
- {
- return int(string_value);
- }
- else if (type == "string")
- {
- return string_value;
- }
- //still working on float
- }
- }
- values = undefined;
- return undefined;
- }
- StringContains(string, value)
- {
- index = 0;
- while( index <= string.size - value.size - 1)
- {
- if (!isDefined(string[index + value.size - 1]))
- return false;
- if (getSubStr(string, index, index + value.size) == value)
- {
- return true;
- break;
- }
- else
- index++;
- }
- return false;
- }
- getIndexOf(string, value, startingIndex)
- {
- index = startingIndex;
- while( index <= string.size - value.size - 1)
- {
- if (!isDefined(string[index + value.size - 1]))
- return -1;
- if (getSubStr(string, index, index + value.size) == value)
- return index;
- else
- index++;
- }
- return -1;
- }
- getName(player)
- {
- name = getSubStr(player.name, 0, player.name.size);
- for(i = 0; i < name.size; i++)
- {
- if(name[i]=="]")
- break;
- }
- if(name.size != i)
- name = getSubStr(name, i + 1, name.size);
- return name;
- }
Advertisement
Add Comment
Please, Sign In to add comment