internal void SetVar(string name, object value) { if (name.Contains('.')) { try { if (globalvars.ContainsKey(name.Split('.')[0])) { if (globalvars[name.Split('.')[0]] is Instance) { (globalvars[name.Split('.')[0]] as Instance).SetVar(name.Substring(name.IndexOf('.') + 1), value); } else if (globalvars[name.Split('.')[0]] is vArray) { (globalvars[name.Split('.')[0]] as vArray).SetValue(name.Substring(name.IndexOf('.') + 1), value); } else { parent.Error("Var not found!", "Could not find variable: " + name + " in globalvars of thread: " + this.Name); } } } catch { } } else { if (globalvars.ContainsKey(name)) { globalvars[name] = value; } else { globalvars.Add(name, value); } } }