Virtual keyboard

Hello guys i need help doing a virtual keyboard post i’m gonna explain how i would like it works

suppose my password is 041768

my virtual keyboard is

7 or 3
5 or 2
8 or 1
9 or 6
4 or 0

and the post would be like that

{"virtualKeyboard":{"firstDigit":{"first":4,"last":0},"secondDigit":{"first":4,"last":0},"thirdDigit":{"first":8,"last":1},"fourthDigit":{"first":7,"last":3},"fifthDigit":{"first":9,"last":6},"sixthDigit":{"first":8,"last":1}}}

note: the order does not change, it will always be first digit, second digit… And the virtual keyboard does not change too it will always be 7 or 3, 5 or 2…

I made it support even changing virtual keyboard

BLOCK:ConstantString
  value = "041768"
  => VAR @PWD
ENDBLOCK

BLOCK:ConstantList
  value = ["7 or 3", "5 or 2", "8 or 1", "9 or 6", "4 or 0"]
  => VAR @VIRTKEY
ENDBLOCK

var dict = new Dictionary<char, (string, string)>();

foreach (var key in VIRTKEY)
{
  var split = key.Split(' ');
  dict[char.Parse(split[0])] = (split[0], split[2]);
  dict[char.Parse(split[2])] = (split[0], split[2]);
}
BLOCK:ConstantString
  value = $"{\"virtualKeyboard\":{\"firstDigit\":{\"first\":<dict[PWD[0]].Item1>,\"last\":<dict[PWD[0]].Item2>},\"secondDigit\":{\"first\":<dict[PWD[1]].Item1>,\"last\":<dict[PWD[1]].Item2>},\"thirdDigit\":{\"first\":<dict[PWD[2]].Item1>,\"last\":<dict[PWD[2]].Item2>},\"fourthDigit\":{\"first\":<dict[PWD[3]].Item1>,\"last\":<dict[PWD[3]].Item2>},\"fifthDigit\":{\"first\":<dict[PWD[4]].Item1>,\"last\":<dict[PWD[4]].Item2>},\"sixthDigit\":{\"first\":<dict[PWD[5]].Item1>,\"last\":<dict[PWD[5]].Item2>}}}"
  => VAR @POSTDATA
ENDBLOCK
1 Like

thank u ruri, without you i think i would never be able to do this

And then people ask me why I made configs run on bare C# scripts… This is the reason :slight_smile: so I can give all the snippets in the world without making custom blocks for 1 specific person.

for sure running c# code together lolicode was the best improvement of openbullet