SCAR Code:
Procedure Typesendmistake(txt: String; Chance: Integer);
Var
Key: String;
KeyBoard: Array [0..3] Of TStringArray;
KBx1, KBy1, I: Integer;
Begin
I := 1;
KeyBoard[0] := ['1','2','3','4','5','6','7','8','9','0'];
KeyBoard[1] := ['q','w','e','r','t','y', 'u', 'i', 'o', 'p'];
KeyBoard[2] := ['a','s','d','f','g','h', 'j', 'k', 'l'];
KeyBoard[3] := ['z','x','c','v','b','n', 'm'];
While( I <= Length( txt ) ) Do
Begin
If(Random(100) <= Chance)Then
Begin
For KBx1 := 0 To 3 Do
For KBy1 := 0 To High(KeyBoard[ KBx1 ] ) Do
If(Lowercase(txt [ i ]) = KeyBoard[KBx1][KBy1])Then
Try
Key := KeyBoard[KBx1 + Random(2)][KBy1 + Random(2)];
Except
Try
Key := KeyBoard[KBx1 - Random(2)][KBy1 - Random(2)];
Except
Key := Txt[i];
End;
End;
End Else Key := Txt[i];
TypeByte(GetKeyCode(StrGet(Key, 1)));
Wait(40 + Random(40));
If(Key = txt[i])Then
Inc(I)
Else
Begin
Wait(200+Random(200));
TypeByte(VK_BACK);
Wait(200+Random(200));
End;
End;
TypeByte(GetKeyCode(Chr(13)));
End;
heres another one i created.