Not sure if anyone really cares… this works for me… heres mine… (wcing, u gotta edit for wateva u need)
Function PosArray(SubStr : Array of String; S : String) : Boolean;
Begin
for i := 0 to GetArrayLength(SubStr) - 1 do
Begin
Result := Pos(SubStr[i], S) > 0;
if Result then exit;
end;
end;
Procedure AutoRespond;
var
LolChatter : Integer;
TextFound, Name, OldMessage : String;
Begin
GetLastChatText(TextFound);
if OldMessage = TextFound then exit;
OldMessage := TextFound;
if Not(PosArray(['wc l', 'woodcutting l', 'w/c l', 'wc?', 'wcing l', 'lol', 'haha','hehe','lmao','rofl','hi ','hello',' hey',' yo ','bot ','macro','u noob','u nub','u loser',Lowercase(Capitalize(Players[CurrentPlayer].Name)), Left(Lowercase(Capitalize(Players[CurrentPlayer].Name)), 4), Right(Lowercase(Capitalize(Players[CurrentPlayer].Name)), 4), 'woot','woop'],TextFound)) then exit;
LastChatter(Name);
if Lowercase(Name) = Lowercase(Capitalize(Players[CurrentPlayer].Name)) then exit;
if TimeFromMark(RemoveChatters) >= 50000 then
Begin
if Not(PosArray(['wc l', 'woodcutting l', 'w/c l', 'wc?', 'wcing l', 'lol', 'haha','hehe','lmao','rofl','hi ','hello',' hey',' yo ','bot ','macro','u noob','u nub','u loser',Lowercase(Capitalize(Players[CurrentPlayer].Name)), Left(Lowercase(Capitalize(Players[CurrentPlayer].Name)), 4), Right(Lowercase(Capitalize(Players[CurrentPlayer].Name)), 4), 'woot','woop'],TextFound)) then exit;
MarkTime(RemoveChatters);
for i := 0 to FreeSlot - 1 do
Begin
Chatters[i] := ''
end;
FreeSlot := 1;
end;
for i := 0 to FreeSlot - 1 do
Begin
if Chatters[i] = Name then exit;
end;
for i := FreeSlot to 100 do
if Chatters[i] = '' then
Begin
Chatters[i] := Name;
FreeSlot := FreeSlot + 1;
Break;
end;
if (PosArray(['wc l','woodcutting l', 'w/c l', 'wc?', 'wcing l'],TextFound)) then
Begin
if (Players[CurrentPlayer].Integers[2] <= 0) then
Begin
Players[CurrentPlayer].Integers[2] := GetSkillLevel('WoodCutting');
end;
Case Random(6) of
0: TypeSend2(IntToStr(Players[CurrentPlayer].integers[2] + LevelsGained), 33, 5, 5);
1: TypeSend2('me ' + IntToStr(Players[CurrentPlayer].integers[2] + LevelsGained) + ' u?', 33, 5, 5);
2: TypeSend2(IntToStr(Players[CurrentPlayer].integers[2] + LevelsGained) + ' =p', 33, 5, 5);
3: TypeSend2('I' + chr(39) + 'm ' + IntToStr(Players[CurrentPlayer].integers[2] + LevelsGained), 33, 5, 5);
4: TypeSend2(IntToStr(Players[CurrentPlayer].integers[2] + LevelsGained) + '...', 33, 5, 5);
5: TypeSend2('low lol', 33, 5, 5);
end;
WriteLn(Capitalize(Players[CurrentPlayer].Name) + ': Talked to ' + Name);
talks := talks + 1;
exit;
end;
if (PosArray(['lol','haha','hehe','lmao','rofl'],TextFound)) then
Begin
If TimeFromMark(LolChatter) < 10000 then exit;
MarkTime(LolChatter);
Case Random(10) of
0: TypeSend2('lol', 33, 5, 5);
1: TypeSend2('', 33, 5, 5);
2: TypeSend2('lmao', 33, 5, 5);
3: TypeSend2('rofl', 33, 5, 5);
4: TypeSend2('?', 33, 5, 5);
5: TypeSend2('...', 100, 0, 0);
6: TypeSend2('haha', 33, 5, 5);
7: TypeSend2('hehe', 33, 5, 5);
8: TypeSend2('=]', 33, 5, 5);
9: TypeSend2('', 33, 5, 5);
end;
WriteLn(Capitalize(Players[CurrentPlayer].Name) + ': Talked to ' + Name);
talks := talks + 1;
exit;
end;
if (PosArray(['Hi ','Hello',' hey','sup',' yo '],TextFound)) then
Begin
Case Random(12) of
0: TypeSend2('hi', 33, 5, 5);
1: TypeSend2('hello', 33, 5, 5);
2: TypeSend2('hey', 33, 5, 5);
3: TypeSend2('yo', 33, 5, 5);
4: TypeSend2('sup', 33, 5, 5);
5: TypeSend2('wasup', 33, 5, 5);
6: TypeSend2('g' + chr(39) + 'day', 33, 5, 5);
7: TypeSend2('good mornin!', 33, 5, 5);
8: TypeSend2('good aftanoon!', 33, 5, 5);
9: TypeSend2('good evenin!', 33, 5, 5);
10: TypeSend2('ohaiyogozaimasu - im asian hehe', 33, 5, 5);
11: TypeSend2('hau - im indian =]', 33, 5, 5);
end;
WriteLn(Capitalize(Players[CurrentPlayer].Name) + ': Talked to ' + Name);
talks := talks + 1;
exit;
end;
if (PosArray(['bot ', 'macro'],TextFound)) then
Begin
Case Random(10) of
0: TypeSend2('Wat r they?', 33, 5, 5);
1: TypeSend2('wots the point in gettin sumthin else 2 play 4 u?', 33, 5, 5);
2: TypeSend2('bots r stupid', 33, 5, 5);
3: TypeSend2('i h8 bots', 33, 5, 5);
4: TypeSend2('macros r ruinin rs for us =[', 33, 5, 5);
5: TypeSend2('?', 33, 5, 5);
6: TypeSend2('stupid autos r forcing jagex to fight back... wich affects us 2 =[', 33, 5, 5);
7: TypeSend2('macros made our shop prices rise =[', 33, 5, 5);
8: TypeSend2('bots r so obvious', 33, 5, 5);
9: TypeSend2('wots da point banning macros coz there r bots to even make new bots = /', 33, 5, 5);
end;
WriteLn(Capitalize(Players[CurrentPlayer].Name) + ': Talked to ' + Name);
talks := talks + 1;
exit;
end;
if (PosArray(['u noob','u nub','u loser'],TextFound)) then
Begin
Case Random(10) of
0: TypeSend2('stfu', 33, 5, 5);
1: TypeSend2('look in da mirror', 33, 5, 5);
2: TypeSend2('lmao u r', 33, 5, 5);
3: TypeSend2('...', 33, 5, 5);
4: TypeSend2('omg...', 33, 5, 5);
5: TypeSend2('get a life', 33, 5, 5);
6: TypeSend2('gotta start sumwhea', 33, 5, 5);
7: TypeSend2('shut up', 33, 5, 5);
8: TypeSend2('hmph', 33, 5, 5);
9: TypeSend2('=[', 33, 5, 5);
end;
WriteLn(Capitalize(Players[CurrentPlayer].Name) + ': Talked to ' + Name);
talks := talks + 1;
exit;
end;
if (PosArray([Lowercase(Capitalize(Players[CurrentPlayer].Name)), Left(Lowercase(Capitalize(Players[CurrentPlayer].Name)), 4), Right(Lowercase(Capitalize(Players[CurrentPlayer].Name)), 4)],TextFound)) then
Begin
Case Random(9) of
0: TypeSend2('me?', 33, 5, 5);
1: TypeSend2('wot u want', 33, 5, 5);
2: TypeSend2('...', 33, 5, 5);
3: TypeSend2('leave me alone!', 33, 5, 5);
4: TypeSend2('I' + chr(39) + 'm not in the mood =[', 33, 5, 5);
5: TypeSend2('ye?', 33, 5, 5);
6: TypeSend2('yo?', 33, 5, 5);
7: TypeSend2('uh?', 33, 5, 5);
8: TypeSend2('shudup', 33, 5, 5);
end;
WriteLn(Capitalize(Players[CurrentPlayer].Name) + ': Talked to ' + Name);
talks := talks + 1;
exit;
end;
if (PosArray(['woot','woop'],TextFound)) then
Begin
Case Random(9) of
0: TypeSend2('gratz', 33, 5, 5);
1: TypeSend2('grats', 33, 5, 5);
2: TypeSend2('...', 33, 5, 5);
3: TypeSend2('what?', 33, 5, 5);
4: TypeSend2('huh?', 33, 5, 5);
5: TypeSend2('wat?', 33, 5, 5);
6: TypeSend2('wot?', 33, 5, 5);
7: TypeSend2('uh whatd i miss?', 33, 5, 5);
8: TypeSend2('', 33, 5, 5);
end;
WriteLn(Capitalize(Players[CurrentPlayer].Name) + ': Talked to ' + Capitalize(Name));
talks := talks + 1;
exit;
end;
end;
begin
FreeSlot := 1;
AutoRespond;
It's very long yes… but hey, I havn't got a single black mark yet :D
Also do you think that the
if Not(PosArray(['wc l', 'woodcutting l', 'w/c l', 'wc?', 'wcing l', 'lol', 'haha','hehe','lmao','rofl','hi ','hello',' hey',' yo ','bot ','macro','u noob','u nub','u loser',Lowercase(Capitalize(Players[CurrentPlayer].Name)), Left(Lowercase(Capitalize(Players[CurrentPlayer].Name)), 4), Right(Lowercase(Capitalize(Players[CurrentPlayer].Name)), 4), 'woot','woop'],TextFound)) then exit;
is necessary and is likely to lag my script?