SRL Archive - News and General

Anyone willing to help me create an Autoresponder?


Sandstorm

2008-11-22 17:30:14

This is probably in the wrong spot, but I'll put it here anyways, because I'm not 100% sure where it goes.

I'm creating an autoresponder for personal use (it will be released in the Public Test Corner), and I'm seeking out some people who are willing to help me create this. It will hopefully be able to handle a wide range of questions and random lines, having as many as 20-30 replies for each question/line, with them being from a whole range of personalities. I'm going to make this use a mixture of Quickchat (QC include ftw?) and TypeSend. I might even make it personality based, so that even if 10 people are using the exact same script, you might not always get the same reply from them.

I'm still trying to find a decent personality test that I could use to base it off of. If you have any suggestions, let me know :).

Ie, someone asks "Wc levels?", and two people have the same script in the same spot. One is a calm person, the other is a person who takes offense easily (a little TO easily?). The calm person replies "55, you?", while the offensive person replies "What's it to you? If you must know, it's 72.". Just speculation here, don't quote me on anything ^.^.

This is where you come in. What I would like you to do is this:
  1. Get a bot running in an area that is full of people. Watch it, tell me what some of the most frequent questions are, what the most frequent answers are, and how YOU would answer it.
  2. Same as 1, only you do it legit (fat chance right? ^.^).
  3. Tell me anything you think should be in an autoresponder, as well as what your answer would be to the question.

Let me know if you think this is a good idea or not, and WHY.

~Sandstorm

botsrs

2008-11-22 17:32:10

I'd like to help.

Sandstorm

2008-11-22 17:33:10

Read through what you can do to help then :).

HarryJames

2008-11-23 10:20:05

and try not to have a responce to a reply :D

Person 1: Wc levels
Person 2: 32, you?
Person 3: 3 lol
person 1: 7
person 3: lol
person 2: lol
person 3: lol
person 2: lol
person 3: lol
person 2: lol
person 3: lol
person 2: lol
person 3: lol

Person 2 and person 3 are the botters.

etc, like have a boolean or somthing on a timer for responces.

MylesMadness

2008-11-23 10:32:52

From: 05hartor
and try not to have a responce to a reply :D

Person 1: Wc levels
Person 2: 32, you?
Person 3: 3 lol
person 1: 7
person 3: lol
person 2: lol
person 3: lol
person 2: lol
person 3: lol
person 2: lol
person 3: lol
person 2: lol
person 3: lol

Person 2 and person 3 are the botters.

etc, like have a boolean or somthing on a timer for responces.
I have seen that more than once….Do you need help with the coding or only responses?

Sandstorm

2008-11-23 11:23:21

Only the responding. I think I can puzzle the rest out. In fact, the base is almost done (the only thing I need help with is getting it to stop replying to itself). If anyone can help me with that, please shoot me a pm :).

botsrs

2008-11-23 11:27:32

Maybe make it search for the players name, and if it returns false, then respond?

Sandstorm

2008-11-23 11:35:16

Yea, I was going to try that. I'm not entirely sure if InChat would work for black text though. If it does, I'm set :). Arrays FTW. I've already got like 3 rofl.

Sandstorm

2008-11-23 11:35:16

Yea, I was going to try that. I'm not entirely sure if InChat would work for black text though. If it does, I'm set :). Arrays FTW. I've already got like 3 rofl.

Kyle Undefined

2008-11-23 14:48:06

From: Sand Storm
This is probably in the wrong spot, but I'll put it here anyways, because I'm not 100% sure where it goes.

I'm creating an autoresponder for personal use (it will be released in the Public Test Corner), and I'm seeking out some people who are willing to help me create this. It will hopefully be able to handle a wide range of questions and random lines, having as many as 20-30 replies for each question/line, with them being from a whole range of personalities. I'm going to make this use a mixture of Quickchat (QC include ftw?) and TypeSend. I might even make it personality based, so that even if 10 people are using the exact same script, you might not always get the same reply from them.

I'm still trying to find a decent personality test that I could use to base it off of. If you have any suggestions, let me know :).

Ie, someone asks "Wc levels?", and two people have the same script in the same spot. One is a calm person, the other is a person who takes offense easily (a little TO easily?). The calm person replies "55, you?", while the offensive person replies "What's it to you? If you must know, it's 72.". Just speculation here, don't quote me on anything ^.^.

This is where you come in. What I would like you to do is this:
  1. Get a bot running in an area that is full of people. Watch it, tell me what some of the most frequent questions are, what the most frequent answers are, and how YOU would answer it.
  2. Same as 1, only you do it legit (fat chance right? ^.^).
  3. Tell me anything you think should be in an autoresponder, as well as what your answer would be to the question.

Let me know if you think this is a good idea or not, and WHY.

~Sandstorm


I think it's a great idea. I would be more than happy to help, just where is the best place to watch conversations? I like the personality thing, it would give it some variety. I'll answer your #3 after I watch some. I'll post some soon :)

~Camo

Sandstorm

2008-11-23 14:51:10

If anyone wants to see what I have so far, and possibly make suggestions, here it is. Also, let me know if my standards are right xD.


Program New;
{.include srl/srl.scar}

Const
StartPersonality='angry';

Var
Respond1, I : Array Of String;
Personality : String;
N : Integer;

function InChatMulti(text: TStringArray): boolean;
var
i : integer;
s: string;
begin
for i:=0 to high(text) do
begin
if (not (GetLastChatText(s))) then
LastChatter(s);
Result := (Pos(Text[i], s) > 0);
end;
end;

Procedure ChangeMoods;
Var
Mood : String;
Begin
Wait(100)
Case lowercase(Personality) Of
'laid back' : Case random(3) of
0 : Mood:='polite';
1 : Mood:='bored';
2 : Mood:='angry';
end;
'polite' : Case random(3) of
0 : Mood:='laid back';
1 : Mood:='bored';
2 : Mood:='angry';
end;
'bored' : Case random(3) of
0 : Mood:='polite';
1 : Mood:='laid back';
2 : Mood:='angry';
end;
'angry' : Case random(3) of
0 : Mood:='polite';
1 : Mood:='bored';
2 : Mood:='laid back';
end;
End;
Personality:=Mood;
End;


Begin
SetupSrl;
Personality:=StartPersonality;
If InChatMulti(['lvl', 'level', 'lv', 'lev', 'leve', 'hi', 'hello', 'sup', 'yo']) Then
Begin
I:=['oodcutting', 'oodcut', 'ishing', 'ish', 'ine', 'ining', 'hi', 'hello', 'sup', 'yo'];
For N:=0 To GetArrayLength(I) Do
Case InChat(I[N]) Of
True : Begin
Case I[N] Of
1, 2 : Begin
Case Personality Of
'laid back' : Respond1:=['Tis ', 'Yo, my wc lvl is ', ''];
'polite' : Respond1:=['Thanks for asking', 'It is ', ''];
'bored' : Respond1:=['Lolz, it''s ', 'dood! My wc level is ', ''];
'angry' : Respond1:=['What''s it matter? If you must know it''s ', 'Bah. ', ''];
End;
TypeSend(Respond1[Random(GetArrayLength(Respond1))]);
End;
3, 4 : Begin
Case Personality Of
'laid back' : Respond1:=['Tis ', 'Yo, my fishing lvl is ', 'It''s ', ''];
'polite' : Respond1:=['Thanks for asking', 'It is ', ''];
'bored' : Respond1:=['Lolz, it''s ', 'dood! My fishing level is ', ''];
'angry' : Respond1:=['What''s it matter? If you must know it''s ', 'Bah. ', ''];
End;
TypeSend(Respond1[Random(GetArrayLength(Respond1))]);
End;
5,6 : Begin
Case Personality Of
'laid back' : Respond1:=['Tis ', 'Yo, my mining lvl is ', ''];
'polite' : Respond1:=['Thanks for asking', 'It is ', ''];
'bored' : Respond1:=['Lolz, it''s ', 'dood! My mining level is ', ''];
'angry' : Respond1:=['What''s it matter? If you must know it''s ', 'Bah. ', ''];
End;
TypeSend(Respond1[Random(GetArrayLength(Respond1))]);
End;
7, 8, 9, 10 : Begin
Case Personality Of
'laid back' : Respond1:=['Yo!', 'Sup?', 'Sup man?'];
'polite' : Respond1:=['Hello.', 'Good day to you.'];
'bored' : Respond1:=['Ohaider!', 'Hi.'];
'angry' : Respond1:=['What?', 'Leave me alone!', 'Go away!'];
End;
TypeSend(Respond1[Random(GetArrayLength(Respond1))]);
End;
End;
End;
False : WriteLn('Didn''t find anything');
End;
wait(10)
End;
End.

How do you like the nesting of Cases? o.o.

Gu3st...

2008-11-23 14:56:16

You probaldy want it to sy something like that, but your doing well so far. :)

Sandstorm

2008-11-23 15:06:41

I'm pretty sure it shouldn't reply to itself, I have yet to test that. Anyways, I'm also going to add a timer on it so two bots don't just go Lol Lol Lol Lol over and over.

botsrs

2008-11-24 19:42:27

Well, it doesn't reply to itself, and it responds. Me and Sand Storm tested it. It seems like it's going good.

Sandstorm

2008-11-24 19:43:18

Quite. All I really need is suggestions and q/a's.

Here's the current script:


{
I'd like to thank many people!

Viral, for pointing me towards, and posting, Nava's InChatArr function.
Wt-Fakawi, for creating the InChatArr function (I believe).
Nava, for posting the InChatArr function where Viral got it, regardless of the original creator.
Camo Kyle, for sitting with me in Lumbridge tower while we tried to figure out why it wasn't working (PSST! InChatMulti was broken!)
Botsrs, for sitting with me in Lumbridge tower and helping me try the fixed version.}

{.include srl/srl/misc/QuickChat.scar}

const
StartPersonality = 'polite';
TimeBetweenResponds = 10000;

var
Respond1, I : array of string;
Personality : string;
N, C, TimeMarkerNow : Integer;

function InChatArr(Text: array of string): Boolean;
var
I, H: integer;
s: string;
begin
H := High(Text);
if (not (GetLastChatText(s))) then
LastChatter(s);
for I := 0 to H do
begin
if (Pos(Lowercase(Text[i]), (Lowercase(s))) > 0) then
begin
Result := true;
Exit;
end;
end;
end;


Procedure SetupAutorespond;
Begin
Personality := StartPersonality;
TimeMarkerNow := TimeBetweenResponds + 1;
End;

procedure Responding;
begin
If Not TimeFromMark(TimeMarkerNow) > TimeBetweenResponds Then
Begin
WriteLn('Time from the last mark is NOT higher then the set time to wait between responses!');
Exit;
End;
if not FindBlackChatMessage(Players[currentplayer].name) and InChatArr(['oodcutting', 'oodcut', 'ishing', 'ish', 'ine', 'ining', 'hi', 'hello', 'sup', 'yo', 'lol', 'lmao', 'rofl', 'haha']) then
begin
WriteLn('Here we go!');
I := ['oodcutting', 'oodcut', 'ishing', 'ish', 'ining', 'hi ', 'hello ', 'sup ', 'yo ', 'lol', 'lmao ', 'rofl ', 'haha '];
for N := 0 to GetArrayLength(I)-1 do
case InChat(I[N]) of
True:
begin
C := N;
case C of
0..1:
begin
case lowercase(Personality) of
'laid back': Respond1 := ['Tis ', 'Yo, my wc lvl is ', ''];
'polite': Respond1 := ['Thanks for asking ', 'It is ', ''];
'bored': Respond1 := ['Lolz, it''s ', 'dood! My wc level is ', ''];
'angry': Respond1 := ['What''s it matter? If you must know it''s ', 'Bah. ', ''];
end;
case Random(4) of
0..2: TypeSend(Respond1[Random(GetArrayLength(Respond1))] + IntToStr(GetSkillInfo('woodcutting', True)));
3: QCSayLevel('woodcutting');
end;
Marktime(TimeMarkerNow);
end;
2..3:
begin
case lowercase(Personality) of
'laid back': Respond1 := ['Tis ', 'Yo, my fishing lvl is ', 'It''s ', ''];
'polite': Respond1 := ['Thanks for asking', 'It is ', ''];
'bored': Respond1 := ['Lolz, it''s ', 'dood! My fishing level is ', ''];
'angry': Respond1 := ['What''s it matter? If you must know it''s ', 'Bah. ', ''];
end;
case Random(4) of
0..2: TypeSend(Respond1[Random(GetArrayLength(Respond1))] + IntToStr(GetSkillInfo('fishing', True)));
4: QCSayLevel('woodcutting');
end;
Marktime(TimeMarkerNow);
end;
4..5:
begin
case lowercase(Personality) of
'laid back': Respond1 := ['Tis ', 'Yo, my mining lvl is ', ''];
'polite': Respond1 := ['Thanks for asking', 'It is ', ''];
'bored': Respond1 := ['Lolz, it''s ', 'dood! My mining level is ', ''];
'angry': Respond1 := ['Whats it matter? If you must know its ', 'Bah. ', ''];
end;
case Random(4) of
0..2: TypeSend(Respond1[Random(GetArrayLength(Respond1))] + IntToStr(GetSkillInfo('mining', True)));
3: QCSayLevel('woodcutting');
end;
Marktime(TimeMarkerNow);
end;
6..9:
begin
case lowercase(Personality) of
'laid back': Respond1 := ['Yo!', 'Sup?', 'Sup man?'];
'polite': Respond1 := ['Hello.', 'Good day to you.'];
'bored': Respond1 := ['Ohaider!', 'Hi.'];
'angry': Respond1 := ['What?', 'Leave me alone!', 'Go away!'];
end;
case Random(4) of
0..2: TypeSend(Respond1[Random(GetArrayLength(Respond1))]);
3: Begin
TypeByte(13);
TypeSend('GH' + IntToStr(Random(5)));
End;
end;
Marktime(TimeMarkerNow);
end;
10..13:
begin
case lowercase(Personality) of
'laid back': Respond1 := ['dood, funneh!', 'hehe', 'l0lz'];
'polite': Respond1 := ['That was funny!', 'Please tell another joke, that was very funny!', 'Heh'];
'bored': Respond1 := ['roflc0pt3rz', 'lool', 'roflzzz', 'lmao!'];
'angry': Respond1 := ['What''s so funny, punk?', 'Stop laughing, that was horrible'];
end;
TypeSend(Respond1[Random(GetArrayLength(Respond1))]);
Marktime(TimeMarkerNow);
end;
False: WriteLn('Didn''t find anything');
end;
end;
end;
end;
end;

Well, include I guess I should say.

botsrs

2008-11-24 19:53:12

Saved to drive! Thanks!

Kyle Undefined

2008-11-24 21:45:27

Well I'm glad it's working now. How did you fix the InChatMulti? You don't have to thank me, I'm more than happy to help :)

~Camo

Sandstorm

2008-11-24 21:51:18

I just used a different function for it :P.

Kyle Undefined

2008-11-24 21:53:46

Lol. Well it worked :p

~Camo

Sandstorm

2008-11-24 22:01:28

Yes, it did ^.^. My main priority right now is more questions/responses. If you want another personality added, your going to have to come up with an answer or three for each question for it ^.^.

Kyle Undefined

2008-11-24 22:44:52

Here is some I thought of.
Angry:
  1. "Fr00b leave m3 alonez!"
  2. "Highr than u can emagine"
  3. "zomg! y u care??@@! froob"

Laidback:
  1. "it be…"

Bored:
  1. "teh same numbr even backwards 99 lol"
  2. "cuz im so bored! instead of hood lol its "
  3. "100cahjilion! duh lolz"
  4. "lolcatz say "

Polite:
  1. "It's…good sir."
  2. "Why yes, it is "
  3. "Jolly ho good fellow, it's "

That is what I have so far lol. I'll add more when I come up with some more.

Also, I noticed that even if it is answering for fishing or mining it still calls up the woodcutting level.
case lowercase(Personality) of
'laid back': Respond1 := ['Tis ', 'Yo, my fishing lvl is ', 'It''s ', ''];
'polite': Respond1 := ['Thanks for asking', 'It is ', ''];
'bored': Respond1 := ['Lolz, it''s ', 'dood! My fishing level is ', ''];
'angry': Respond1 := ['What''s it matter? If you must know it''s ', 'Bah. ', ''];
end;
case Random(4) of
0..2: TypeSend(Respond1[Random(GetArrayLength(Respond1))] + IntToStr(GetSkillInfo('fishing', True)));
4: QCSayLevel('woodcutting');


case lowercase(Personality) of
'laid back': Respond1 := ['Tis ', 'Yo, my mining lvl is ', ''];
'polite': Respond1 := ['Thanks for asking', 'It is ', ''];
'bored': Respond1 := ['Lolz, it''s ', 'dood! My mining level is ', ''];
'angry': Respond1 := ['Whats it matter? If you must know its ', 'Bah. ', ''];
end;
case Random(4) of
0..2: TypeSend(Respond1[Random(GetArrayLength(Respond1))] + IntToStr(GetSkillInfo('mining', True)));
3: QCSayLevel('woodcutting');
I didn't know if that's what you wanted but I'm just letting you know.

Here are some greetings I have thought of also.
Angry:
  1. "hi noob"
  2. "stupid froob wont leave meh alonez"
  3. "was i talkin 2 u"

Laidback:
  1. "sup dawg"
  2. "hola"
  3. "whats happenin"

Bored:
  1. "whats crackalackin?"
  2. "konicheewa!"
  3. "h3110"
  4. "well h to the i"

Polite:
  1. "cheerio"
  2. "hello mate"
  3. "how are you doing today?"

Sorry if it's not what you're looking for.

~Camo

Sandstorm

2008-11-24 23:01:28

That's EXACTLY what I'm looking for! I'll look at what you gave me and put what I think would fit ^.^.

Kyle Undefined

2008-11-24 23:06:04

Ok, I was just sitting at the computer and typed what came to my head lol.

~Camo

Sandstorm

2008-11-25 18:27:21

Thanks for the suggestions, added some of them in (I don't like leetspeak, if you'd like I can do it though, if people think it's worth adding).


{
I'd like to thank many people!

Viral, for pointing me towards, and posting, Nava's InChatArr function.
Wt-Fakawi, for creating the InChatArr function (I believe).
Nava, for posting the InChatArr function where Viral got it, regardless of the original creator.
Camo Kyle, for sitting with me in Lumbridge tower while we tried to figure out why it wasn't working (PSST! InChatMulti was broken!)
Botsrs, for sitting with me in Lumbridge tower and helping me try the fixed version.}

{.include srl/srl/misc/QuickChat.scar}

const
StartPersonality = 'polite';
TimeBetweenResponds = 10000;

var
Respond1, I : array of string;
Personality : string;
N, C, TimeMarkerNow : Integer;

function InChatArr(Text: array of string): Boolean;
var
I, H: integer;
s: string;
begin
H := High(Text);
if (not (GetLastChatText(s))) then
LastChatter(s);
for I := 0 to H do
begin
if (Pos(Lowercase(Text[i]), (Lowercase(s))) > 0) then
begin
Result := true;
Exit;
end;
end;
end;


Procedure SetupAutorespond;
Begin
Personality := StartPersonality;
TimeMarkerNow := TimeBetweenResponds + 1;
End;

procedure Responding;
begin
If Not LoggedIn Then
Exit;
If Not TimeFromMark(TimeMarkerNow) > TimeBetweenResponds Then
Begin
WriteLn('Time from the last mark is NOT higher then the set time to wait between responses!');
Exit;
End;
if not FindBlackChatMessage(Players[currentplayer].name) and InChatArr(['oodcutting', 'oodcut', 'ishing', 'ish', 'ine', 'ining', 'hi', 'hello', 'sup', 'yo', 'lol', 'lmao', 'rofl', 'haha']) then
begin
WriteLn('Here we go!');
I := ['oodcutting', 'oodcut', 'ishing', 'ish', 'ining', 'hi ', 'hello ', 'sup ', 'yo ', 'lol', 'lmao ', 'rofl ', 'haha ', 'rafting', 'raft', ''];
for N := 0 to GetArrayLength(I)-1 do
case InChat(I[N]) of
True:
begin
C := N;
case C of
0..1 :
begin
case lowercase(Personality) of
'laid back': Respond1 := ['Tis ', 'Yo, my wc lvl is ', 'My level be ', 'It be ', ''];
'polite': Respond1 := ['Thanks for asking, it is ', 'It is ', ''];
'bored': Respond1 := ['Lolz, it''s ', 'dood! My wc level is ', '', 'Aren''t you smart? It''s obviously 99, duh!', 'Lolcat sayz it be ', 'Lolwut! My level be '];
'angry': Respond1 := ['What''s it matter? If you must know it''s ', 'Bah. ', ''];
end;
case Random(4) of
0..2 : TypeSend(AddMistakes(Respond1[Random(GetArrayLength(Respond1))] + IntToStr(GetSkillInfo('woodcutting', True)), 20));
end;
TimeMarkerNow:=0;
Marktime(TimeMarkerNow);
end;
2..3 :
begin
case lowercase(Personality) of
'laid back': Respond1 := ['Tis ', 'Yo, my fishing lvl is ', 'It''s ', '', 'My level be ', 'It be '];
'polite': Respond1 := ['Thanks for asking, it is ', 'It is ', ''];
'bored': Respond1 := ['Lolz, it''s ', 'dood! My fishing level is ', '', 'Aren''t you smart? It''s obviously 99, duh!', 'Lolcat sayz it be ', 'Lolwut! My level be '];
'angry': Respond1 := ['What''s it matter? If you must know it''s ', 'Bah. ', ''];
end;
case Random(4) of
0..2 : TypeSend(AddMistakes(Respond1[Random(GetArrayLength(Respond1))] + IntToStr(GetSkillInfo('fishing', True)), 20));
end;
TimeMarkerNow:=0;
Marktime(TimeMarkerNow);
end;
4..5 :
begin
case lowercase(Personality) of
'laid back': Respond1 := ['Tis ', 'Yo, my craft lvl is ', '', 'My level be ', 'It be '];
'polite': Respond1 := ['Thanks for asking, my crafting level is ', 'It is ', ''];
'bored': Respond1 := ['Lolz, it''s ', 'dood! My crafting level is ', '', 'Aren''t you smart? It''s obviously 99, duh!', 'Lolcat sayz it be ', 'Lolwut! My level be '];
'angry': Respond1 := ['Whats it to you? If you must know its ', 'Bah. ', ''];
end;
case Random(4) of
0..2 : TypeSend(AddMistakes(Respond1[Random(GetArrayLength(Respond1))] + IntToStr(GetSkillInfo('crafting', True)), 20));
end;
TimeMarkerNow:=0;
Marktime(TimeMarkerNow);
end;
6..9 :
begin
case lowercase(Personality) of
'laid back': Respond1 := ['Yo!', 'Sup?', 'Sup man?', 'Sup dawg', 'Yo dawg', 'What''s happenin?', 'Hola'];
'polite': Respond1 := ['Hello.', 'Good day to you.', 'It''s nice to see you!', 'G''day mate', 'How are you doing today?'];
'bored': Respond1 := ['Ohaider!', 'Hi.', 'Y0z!', 'Lolwut it''s you!', 'Koneecheewah', 'h3110', 'H to the E to the L to the L to the O', 'Well then, H to the I'];
'angry': Respond1 := ['What?', 'Wha''dyawant', 'Leave me alone!', 'Go away!', 'Hi noob', 'Was I talking to you?', 'Stupid noob, leave me alone!'];
end;
case Random(4) of
0..2 : TypeSend(AddMistakes(Respond1[Random(GetArrayLength(Respond1))], 20));
end;
TimeMarkerNow:=0;
Marktime(TimeMarkerNow);
end;
10..13 :
begin
case lowercase(Personality) of
'laid back': Respond1 := ['dood, funneh!', 'hehe', 'l0lz'];
'polite': Respond1 := ['That was funny!', 'Please tell another joke, that was very funny!', 'Heh'];
'bored': Respond1 := ['roflc0pt3rz', 'lool', 'roflzzz', 'lmao!'];
'angry': Respond1 := ['What''s so funny, punk?', 'Stop laughing, that was horrible'];
end;
case Random(4) of
0..2 : TypeSend(AddMistakes(Respond1[Random(GetArrayLength(Respond1))], 20));
End;
TimeMarkerNow:=0;
Marktime(TimeMarkerNow);
end;
14..15 :
begin
case lowercase(Personality) of
'laid back': Respond1 := ['Tis ', 'Yo, my mining lvl is ', '', 'My level be ', 'It be '];
'polite': Respond1 := ['Thanks for asking', 'It is ', ''];
'bored': Respond1 := ['Lolz, it''s ', 'dood! My mining level is ', '', 'Aren''t you smart? It''s obviously 99, duh!', 'Lolcat sayz it be ', 'Lolwut! My level be '];
'angry': Respond1 := ['Whats it matter? If you must know its ', 'Bah. ', ''];
end;
case Random(4) of
0..2 : TypeSend(AddMistakes(Respond1[Random(GetArrayLength(Respond1))] + IntToStr(GetSkillInfo('mining', True)), 20));
end;
TimeMarkerNow:=0;
Marktime(TimeMarkerNow);
end;
False: WriteLn('Didn''t find anything');
end;
end;
end;
end;
end;

botsrs

2008-11-25 19:06:04

Are you going to add the "Rip-a-part" tutorial? That'd be sweet, although, you could just overwrite what's written.

Sandstorm

2008-11-25 19:13:17

Hmm? What do you mean? I tried my hand at it, but decided it wasn't worth the time it takes people to capitalize their names in the declare players :/.

botsrs

2008-11-25 19:25:29

Huh? I just meant showing new people how to put in their own stuff.

Sandstorm

2008-11-25 19:53:35

Oh! That'll be easy. I'm going to wait until I get a decent amount of replies though.

botsrs

2008-11-25 20:00:16

Oh, okay. You should add a 1337 Sp33k onto your script. I'm sure that it'll bring it into RS. :)

Sandstorm

2008-11-25 20:03:40

Yea, I'm going to, possibly add a boolean for whether to leetspeak or not, then 1337'erize the replies :P.

Kyle Undefined

2008-11-25 20:31:16

From: Sand Storm
Thanks for the suggestions, added some of them in (I don't like leetspeak, if you'd like I can do it though, if people think it's worth adding).


That's fine, I just know that alot of kids on there type like that so that's why I put it up lol.

~Camo

Magiic

2008-11-26 15:30:59

i wouldn't do l33t speak it's just not normal, i never find myself typing like that and i never see anybody else either, tbh theres not much point.

Sandstorm

2008-11-26 15:38:29

I'm also using the addmistakes SRL function, so it'll vary itself.

Not sure if it's changed since I last posted:

{
I'd like to thank many people!

Viral, for pointing me towards, and posting, Nava's InChatArr function.
Wt-Fakawi, for creating the InChatArr function (I believe).
Nava, for posting the InChatArr function where Viral got it, regardless of the original creator.
Camo Kyle, for sitting with me in Lumbridge tower while we tried to figure out why it wasn't working (PSST! InChatMulti was broken!)
Botsrs, for sitting with me in Lumbridge tower and helping me try the fixed version.}

{.include srl/srl/misc/QuickChat.scar}

const
StartPersonality = 'polite';
TimeBetweenResponds = 10000;

var
Respond1, I : array of string;
Personality : string;
N, C, TimeMarkerNow : Integer;

function InChatArr(Text: array of string): Boolean;
var
I, H: integer;
s: string;
begin
H := High(Text);
if (not (GetLastChatText(s))) then
LastChatter(s);
for I := 0 to H do
begin
if (Pos(Lowercase(Text[i]), (Lowercase(s))) > 0) then
begin
Result := true;
Exit;
end;
end;
end;


Procedure SetupAutorespond;
Begin
Personality := StartPersonality;
TimeMarkerNow := TimeBetweenResponds + 1;
End;

procedure Responding;
begin
If Not LoggedIn Then
Exit;
If Not TimeFromMark(TimeMarkerNow) > TimeBetweenResponds Then
Begin
WriteLn('Time from the last mark is NOT higher then the set time to wait between responses!');
Exit;
End;
if not FindBlackChatMessage(Players[currentplayer].name) and InChatArr(['oodcutting', 'oodcut', 'ishing', 'ish', 'ine', 'ining', 'hi', 'hello', 'sup', 'yo', 'lol', 'lmao', 'rofl', 'haha']) then
begin
WriteLn('Here we go!');
I := ['oodcutting', 'oodcut', 'ishing', 'ish', 'ining', 'hi ', 'hello ', 'sup ', 'yo ', 'lol', 'lmao ', 'rofl ', 'haha ', 'rafting', 'raft', ''];
for N := 0 to GetArrayLength(I)-1 do
case InChat(I[N]) of
True:
begin
C := N;
case C of
0..1 :
begin
case lowercase(Personality) of
'laid back': Respond1 := ['Tis ', 'Yo, my wc lvl is ', 'My level be ', 'It be ', ''];
'polite': Respond1 := ['Thanks for asking, it is ', 'It is ', ''];
'bored': Respond1 := ['Lolz, it''s ', 'dood! My wc level is ', '', 'Aren''t you smart? It''s obviously 99, duh!', 'Lolcat sayz it be ', 'Lolwut! My level be '];
'angry': Respond1 := ['What''s it matter? If you must know it''s ', 'Bah. ', ''];
end;
case Random(4) of
0..2 : TypeSend(AddMistakes(Respond1[Random(GetArrayLength(Respond1))] + IntToStr(GetSkillInfo('woodcutting', True)), 20));
end;
TimeMarkerNow:=0;
Marktime(TimeMarkerNow);
end;
2..3 :
begin
case lowercase(Personality) of
'laid back': Respond1 := ['Tis ', 'Yo, my fishing lvl is ', 'It''s ', '', 'My level be ', 'It be '];
'polite': Respond1 := ['Thanks for asking, it is ', 'It is ', ''];
'bored': Respond1 := ['Lolz, it''s ', 'dood! My fishing level is ', '', 'Aren''t you smart? It''s obviously 99, duh!', 'Lolcat sayz it be ', 'Lolwut! My level be '];
'angry': Respond1 := ['What''s it matter? If you must know it''s ', 'Bah. ', ''];
end;
case Random(4) of
0..2 : TypeSend(AddMistakes(Respond1[Random(GetArrayLength(Respond1))] + IntToStr(GetSkillInfo('fishing', True)), 20));
end;
TimeMarkerNow:=0;
Marktime(TimeMarkerNow);
end;
4..5 :
begin
case lowercase(Personality) of
'laid back': Respond1 := ['Tis ', 'Yo, my craft lvl is ', '', 'My level be ', 'It be '];
'polite': Respond1 := ['Thanks for asking, my crafting level is ', 'It is ', ''];
'bored': Respond1 := ['Lolz, it''s ', 'dood! My crafting level is ', '', 'Aren''t you smart? It''s obviously 99, duh!', 'Lolcat sayz it be ', 'Lolwut! My level be '];
'angry': Respond1 := ['Whats it to you? If you must know its ', 'Bah. ', ''];
end;
case Random(4) of
0..2 : TypeSend(AddMistakes(Respond1[Random(GetArrayLength(Respond1))] + IntToStr(GetSkillInfo('crafting', True)), 20));
end;
TimeMarkerNow:=0;
Marktime(TimeMarkerNow);
end;
6..9 :
begin
case lowercase(Personality) of
'laid back': Respond1 := ['Yo!', 'Sup?', 'Sup man?', 'Sup dawg', 'Yo dawg', 'What''s happenin?', 'Hola'];
'polite': Respond1 := ['Hello.', 'Good day to you.', 'It''s nice to see you!', 'G''day mate', 'How are you doing today?'];
'bored': Respond1 := ['Ohaider!', 'Hi.', 'Y0z!', 'Lolwut it''s you!', 'Koneecheewah', 'h3110', 'H to the E to the L to the L to the O', 'Well then, H to the I'];
'angry': Respond1 := ['What?', 'Wha''dyawant', 'Leave me alone!', 'Go away!', 'Hi noob', 'Was I talking to you?', 'Stupid noob, leave me alone!'];
end;
case Random(4) of
0..2 : TypeSend(AddMistakes(Respond1[Random(GetArrayLength(Respond1))], 20));
end;
TimeMarkerNow:=0;
Marktime(TimeMarkerNow);
end;
10..13 :
begin
case lowercase(Personality) of
'laid back': Respond1 := ['dood, funneh!', 'hehe', 'l0lz'];
'polite': Respond1 := ['That was funny!', 'Please tell another joke, that was very funny!', 'Heh'];
'bored': Respond1 := ['roflc0pt3rz', 'lool', 'roflzzz', 'lmao!'];
'angry': Respond1 := ['What''s so funny, punk?', 'Stop laughing, that was horrible'];
end;
case Random(4) of
0..2 : TypeSend(AddMistakes(Respond1[Random(GetArrayLength(Respond1))], 20));
End;
TimeMarkerNow:=0;
Marktime(TimeMarkerNow);
end;
14..15 :
begin
case lowercase(Personality) of
'laid back': Respond1 := ['Tis ', 'Yo, my mining lvl is ', '', 'My level be ', 'It be '];
'polite': Respond1 := ['Thanks for asking', 'It is ', ''];
'bored': Respond1 := ['Lolz, it''s ', 'dood! My mining level is ', '', 'Aren''t you smart? It''s obviously 99, duh!', 'Lolcat sayz it be ', 'Lolwut! My level be '];
'angry': Respond1 := ['Whats it matter? If you must know its ', 'Bah. ', ''];
end;
case Random(4) of
0..2 : TypeSend(AddMistakes(Respond1[Random(GetArrayLength(Respond1))] + IntToStr(GetSkillInfo('mining', True)), 20));
end;
TimeMarkerNow:=0;
Marktime(TimeMarkerNow);
end;
False: Exit;
end;
end;
end;
end;
end;

Kyle Undefined

2008-11-26 21:49:45

Is the InChatMulti working? Or did you replace it with something else? It keeps getting better and better lol.

~Camo

Sandstorm

2008-11-27 00:04:24

I'm using Wt-Fakawi's (or Nava's, not sure), InChatArr for it :).

Woo lol:


Kyle Undefined

2008-11-27 00:48:23

W00t! That looks smexy! Like mine?


~Camo

Sean[714]

2008-11-27 22:20:48

Cool idea man.
I've always thought SCAR needs one of these :P.

I was thinking more like auto respond through quick chat,
whcih would be a lot easier, but w\e :)

Sandstorm

2008-11-27 22:57:56

Nah, I found it didn't work so well :/. That's why I removed it. Anyways, I'm going to add in all the f2p skills today/tomorrow, when I get a chance. Long. Boring. Lots of typing. Oh joy.

~Sandstorm

P.S. - I still want more replies!

Enchanted

2008-11-28 02:26:10

What happens if people go "–WC—LEVELS?" or "*space*space*WC*space*space*space*space*LEVELS", i'm not sure if you'd be able to do this put theres a "trim" function for strings, could you use that to help?

Enchanted.

Sandstorm

2008-11-28 10:26:23

I don't think it matters. It searches for the string level, lvl, levl, etc., and if it finds it, it goes onto looking for the rest, wc for example. So even if it's wc LVLs? It'd still find the lvl part of the string, allowing it to continue, then the wc part of the string. I think. Lol.

Magiic

2008-11-28 11:55:25

for caps you'd have to use if InChat(LowerCase('lvls')); not just InChat('lvls');

Sandstorm

2008-11-28 12:38:25

I'll keep that in mind, thanks :).

BlackThursday

2008-11-28 17:55:42

So I looked over some of your proposed responses and frankly they are a tad strange. No one uses the phrase "Good sir" anymore. However, I will help you develop a shitload of wonderful phrases to chat with if you'd like. The key is slight differences but not to the point where its ridiculous.

Sandstorm

2008-11-28 19:15:16

Lol. I was just coming up with stuff for examples, and filler xD.

Kyle Undefined

2008-11-28 22:09:50

Is it updated? Lol…happy Sand?

~Camo

Sandstorm

2008-11-28 22:11:00

No it isn't updated :o.

Here's the updated one, it's got the capability to be un-capitalized in declare players, unlike my other versions. <3 delete function :).

{
I'd like to thank many people!

Viral, for pointing me towards, and posting, Nava's InChatArr function.
Wt-Fakawi, for creating the InChatArr function (I believe).
Nava, for posting the InChatArr function where Viral got it, regardless of the original creator.
Camo Kyle, for sitting with me in Lumbridge tower while we tried to figure out why it wasn't working (PSST! InChatMulti was broken!)
Botsrs, for sitting with me in Lumbridge tower and helping me try the fixed version.}

{.include srl/srl/misc/QuickChat.scar}

const
StartPersonality = 'polite';
TimeBetweenResponds = 10000;

var
Respond1, I : array of string;
Personality : string;
N, C, TimeMarkerNow : Integer;

function InChatArr(Text: array of string): Boolean;
var
I, H: integer;
s: string;
begin
H := High(Text);
if (not (GetLastChatText(s))) then
LastChatter(s);
for I := 0 to H do
begin
if (Pos(Lowercase(Text[i]), (Lowercase(s))) > 0) then
begin
Result := true;
Exit;
end;
end;
end;


Procedure SetupAutorespond;
Begin
Personality := StartPersonality;
TimeMarkerNow := TimeBetweenResponds + 1;
End;

procedure Responding;
Var
EditedName : String;
begin
If Not LoggedIn Then
Exit;
If Not TimeFromMark(TimeMarkerNow) > TimeBetweenResponds Then
Begin
WriteLn('Time from the last mark is NOT higher then the set time to wait between responses!');
Exit;
End;
EditedName := Players[currentplayer].name;
Delete(EditedName, 1, 1);
if not FindBlackChatMessage(EditedName) and InChatArr(['oodcutting', 'oodcut', 'ishing', 'ish', 'ine', 'ining', 'hi', 'hello', 'sup', 'yo', 'lol', 'lmao', 'rofl', 'haha']) then
begin
WriteLn('Here we go!');
I := ['oodcutting', 'oodcut', 'ishing', 'ish', 'ining', 'hi ', 'hello ', 'sup ', 'yo ', 'lol', 'lmao ', 'rofl ', 'haha ', 'rafting', 'raft', ''];
for N := 0 to GetArrayLength(I)-1 do
case InChat(lowercase(I[N])) of
True:
begin
C := N;
case C of
0..1 :
begin
case lowercase(Personality) of
'laid back': Respond1 := ['Tis ', 'Yo, my wc lvl is ', 'My level be ', 'It be ', ''];
'polite': Respond1 := ['Thanks for asking, it is ', 'It is ', ''];
'bored': Respond1 := ['Lolz, it''s ', 'Dood! My wc level is ', '', 'Aren''t you smart? It''s obviously 99, duh!', 'Lolcat sayz it be ', 'Lolwut! My level be '];
'angry': Respond1 := ['What''s it matter? If you must know it''s ', 'Bah. ', ''];
end;
case Random(4) of
0..2 : TypeSend(AddMistakes(Respond1[Random(GetArrayLength(Respond1))] + IntToStr(GetSkillInfo('woodcutting', True)), 20));
end;
TimeMarkerNow:=0;
Marktime(TimeMarkerNow);
end;
2..3 :
begin
case lowercase(Personality) of
'laid back': Respond1 := ['Tis ', 'Yo, my fishing lvl is ', 'It''s ', '', 'My level be ', 'It be '];
'polite': Respond1 := ['Thanks for asking, it is ', 'It is ', ''];
'bored': Respond1 := ['Lolz, it''s ', 'dood! My fishing level is ', '', 'Aren''t you smart? It''s obviously 99, duh!', 'Lolcat sayz it be ', 'Lolwut! My level be '];
'angry': Respond1 := ['What''s it matter? If you must know it''s ', 'Bah. ', ''];
end;
case Random(4) of
0..2 : TypeSend(AddMistakes(Respond1[Random(GetArrayLength(Respond1))] + IntToStr(GetSkillInfo('fishing', True)), 20));
end;
TimeMarkerNow:=0;
Marktime(TimeMarkerNow);
end;
4..5 :
begin
case lowercase(Personality) of
'laid back': Respond1 := ['Tis ', 'Yo, my craft lvl is ', '', 'My level be ', 'It be '];
'polite': Respond1 := ['Thanks for asking, my crafting level is ', 'It is ', ''];
'bored': Respond1 := ['Lolz, it''s ', 'dood! My crafting level is ', '', 'Aren''t you smart? It''s obviously 99, duh!', 'Lolcat sayz it be ', 'Lolwut! My level be '];
'angry': Respond1 := ['Whats it to you? If you must know its ', 'Bah. ', ''];
end;
case Random(4) of
0..2 : TypeSend(AddMistakes(Respond1[Random(GetArrayLength(Respond1))] + IntToStr(GetSkillInfo('crafting', True)), 20));
end;
TimeMarkerNow:=0;
Marktime(TimeMarkerNow);
end;
6..9 :
begin
case lowercase(Personality) of
'laid back': Respond1 := ['Yo!', 'Sup?', 'Sup man?', 'Sup dawg', 'Yo dawg', 'What''s happenin?', 'Hola'];
'polite': Respond1 := ['Hello.', 'Good day to you.', 'It''s nice to see you!', 'G''day mate', 'How are you doing today?'];
'bored': Respond1 := ['Ohaider!', 'Hi.', 'Y0z!', 'Lolwut it''s you!', 'Koneecheewah', 'h3110', 'H to the E to the L to the L to the O', 'Well then, H to the I'];
'angry': Respond1 := ['What?', 'Wha''dyawant', 'Leave me alone!', 'Go away!', 'Hi noob', 'Was I talking to you?', 'Stupid noob, leave me alone!'];
end;
case Random(4) of
0..2 : TypeSend(AddMistakes(Respond1[Random(GetArrayLength(Respond1))], 20));
end;
TimeMarkerNow:=0;
Marktime(TimeMarkerNow);
end;
10..13 :
begin
case lowercase(Personality) of
'laid back': Respond1 := ['dood, funneh!', 'hehe', 'l0lz'];
'polite': Respond1 := ['That was funny!', 'Please tell another joke, that was very funny!', 'Heh'];
'bored': Respond1 := ['roflc0pt3rz', 'lool', 'roflzzz', 'lmao!'];
'angry': Respond1 := ['What''s so funny, punk?', 'Stop laughing, that was horrible'];
end;
case Random(4) of
0..2 : TypeSend(AddMistakes(Respond1[Random(GetArrayLength(Respond1))], 20));
End;
TimeMarkerNow:=0;
Marktime(TimeMarkerNow);
end;
14..15 :
begin
case lowercase(Personality) of
'laid back': Respond1 := ['Tis ', 'Yo, my mining lvl is ', '', 'My level be ', 'It be '];
'polite': Respond1 := ['Thanks for asking', 'It is ', ''];
'bored': Respond1 := ['Lolz, it''s ', 'dood! My mining level is ', '', 'Aren''t you smart? It''s obviously 99, duh!', 'Lolcat sayz it be ', 'Lolwut! My level be '];
'angry': Respond1 := ['Whats it matter? If you must know its ', 'Bah. ', ''];
end;
case Random(4) of
0..2 : TypeSend(AddMistakes(Respond1[Random(GetArrayLength(Respond1))] + IntToStr(GetSkillInfo('mining', True)), 20));
end;
TimeMarkerNow:=0;
Marktime(TimeMarkerNow);
end;
False: Exit;
end;
end;
end;
end;
end;

SubiN

2008-11-29 06:17:31

make the personality automatically change . like depending on the question..
e.g. Ur on an angry personality and someone asks u "whats ur woodcut level =)" then u reply in a calmer tone ..

Sandstorm

2008-11-29 11:45:14

Yea, I haven't implemented that yet either. Gonna do that sometime today, if I get time off from my duel script thing.

Still looking for replies!

~Sandstorm

Kyle Undefined

2008-11-29 12:02:49

From: Sand Storm
Yea, I haven't implemented that yet either. Gonna do that sometime today, if I get time off from my duel script thing.

Still looking for replies!

~Sandstorm


Your duel script sucks! You type too fast! Lol

~Camo

Sandstorm

2008-11-29 12:07:03

Lol. This isn't the thread for that. And it's only because the only wait I have is a check to see if someone challenged me rofl.

turbobk

2008-11-29 23:08:31

Looks nice so far..
Would be good if the Dev's / Admins released their own private AutoResponder.

That would be leet. :D

Sandstorm

2008-11-29 23:37:21

Thanks. And yea, that would be awesome xD.

Sandstorm

2008-12-04 18:18:58

Sorry for the double post, but I have changed some minor things, and added mood changing (not very advanced yet). Looking for more tips, suggestions, etc.

This will be entered in the SRL Comp (conveniently came right after I started this eh? xD), so I'm hoping to make it really good for it.

Here's the updated version, which doesn't seem to like compiling right now :confused::

{
I'd like to thank many people!

Viral, for pointing me towards, and posting, Nava's InChatArr function.
Wt-Fakawi, for creating the InChatArr function (I believe).
Nava, for posting the InChatArr function where Viral got it, regardless of the original creator.
Camo Kyle, for sitting with me in Lumbridge tower while we tried to figure out why it wasn't working (PSST! InChatMulti was broken!)
Botsrs, for sitting with me in Lumbridge tower and helping me try the fixed version.

Here's an example of what you can expect from the responses, may be
changed in later versions!
'laid back': Respond1 := ['Tis ', 'Yo, my wc lvl is ', 'My level be ', 'It be ', ''];
'polite': Respond1 := ['Thanks for asking, it is ', 'It is ', ''];
'bored': Respond1 := ['Lolz, it''s ', 'Dood! My wc level is ', '', 'Aren''t you smart? It''s obviously 99, duh!', 'Lolcat sayz it be ', 'Lolwut! My level be '];
'angry': Respond1 := ['What''s it matter? if you must know it''s ', 'Bah. ', ''];
}

const
StartPersonality = 'polite'; //Which personality to start with.
TimeBetweenResponds = 10000; //Time inbetween responds
RespondsToChangeAt = 10; //Number of times to respond before changing personality.
AngryToWhat = 'polite'; //Which personality to change to, from angry?
BoredToWhat = 'angry'; //Which personality to change to, from bored?
LaidBackToWhat = 'bored'; //Which personality to change to, from laid back?
PoliteToWhat = 'bored'; //Polite to which personality?

var
Respond1, I : array of string;
Personality : string;
N, C, TimeMarkerNow : Integer;

function InChatArr(Text: array of string): Boolean;
var
I, H: integer;
s: string;
begin
H := High(Text);
if (not (GetLastChatText(s))) then
LastChatter(s);
for I := 0 to H do
begin
if (Pos(Lowercase(Text[i]), (Lowercase(s))) > 0) then
begin
Result := true;
Exit;
end;
end;
end;


procedure SetupAutorespond;
begin
Personality := StartPersonality;
TimeMarkerNow := TimeBetweenResponds + 1;
end;

procedure Responding;
var
EditedName : string;
Responds : Integer;
begin
if not LoggedIn then
Exit;
if not TimeFromMark(TimeMarkerNow) > TimeBetweenResponds then
begin
WriteLn('Time from the last mark is not higher then the set time to wait between responses!');
Exit;
end;
EditedName := Players[currentplayer].name;
Delete(EditedName, 1, 1);
if not FindBlackChatMessage(EditedName) and InChatArr(['oodcutting', 'oodcut', 'ishing', 'ish', 'ine', 'ining', 'hi', 'hello', 'sup', 'yo', 'lol', 'lmao', 'rofl', 'haha']) then
begin
WriteLn('Here we go!');
I := ['oodcutting', 'oodcut', 'ishing', 'ish', 'ining', 'hi ', 'hello ', 'sup ', 'yo ', 'lol', 'lmao ', 'rofl ', 'haha ', 'rafting', 'raft', ''];
for N := 0 to GetArrayLength(I)-1 do
case InChat(lowercase(I[N])) of
True:
begin
C := N;
case C of
0..1 :
begin
case lowercase(Personality) of
'laid back': Respond1 := ['Tis ', 'Yo, my wc lvl is ', 'My level be ', 'It be ', ''];
'polite': Respond1 := ['Thanks for asking, it is ', 'It is ', ''];
'bored': Respond1 := ['Lolz, it''s ', 'Dood! My wc level is ', '', 'Aren''t you smart? It''s obviously 99, duh!', 'Lolcat sayz it be ', 'Lolwut! My level be '];
'angry': Respond1 := ['What''s it matter? if you must know it''s ', 'Bah. ', ''];
end;
case Random(4) of
0..2 : TypeSend(AddMistakes(Respond1[Random(GetArrayLength(Respond1))] + IntToStr(GetSkillInfo('woodcutting', True)), 20));
end;
TimeMarkerNow:=0;
Marktime(TimeMarkerNow);
Responds := Responds + 1;
end;
2..3 :
begin
case lowercase(Personality) of
'laid back': Respond1 := ['Tis ', 'Yo, my fishing lvl is ', 'It''s ', '', 'My level be ', 'It be '];
'polite': Respond1 := ['Thanks for asking, it is ', 'It is ', ''];
'bored': Respond1 := ['Lolz, it''s ', 'dood! My fishing level is ', '', 'Aren''t you smart? It''s obviously 99, duh!', 'Lolcat sayz it be ', 'Lolwut! My level be '];
'angry': Respond1 := ['What''s it matter? if you must know it''s ', 'Bah. ', ''];
end;
case Random(4) of
0..2 : TypeSend(AddMistakes(Respond1[Random(GetArrayLength(Respond1))] + IntToStr(GetSkillInfo('fishing', True)), 20));
end;
TimeMarkerNow:=0;
Marktime(TimeMarkerNow);
Responds := Responds + 1;
end;
4..5 :
begin
case lowercase(Personality) of
'laid back': Respond1 := ['Tis ', 'Yo, my craft lvl is ', '', 'My level be ', 'It be '];
'polite': Respond1 := ['Thanks for asking, my crafting level is ', 'It is ', ''];
'bored': Respond1 := ['Lolz, it''s ', 'dood! My crafting level is ', '', 'Aren''t you smart? It''s obviously 99, duh!', 'Lolcat sayz it be ', 'Lolwut! My level be '];
'angry': Respond1 := ['Whats it to you? if you must know its ', 'Bah. ', ''];
end;
case Random(4) of
0..2 : TypeSend(AddMistakes(Respond1[Random(GetArrayLength(Respond1))] + IntToStr(GetSkillInfo('crafting', True)), 20));
end;
TimeMarkerNow:=0;
Marktime(TimeMarkerNow);
Responds := Responds + 1;
end;
6..9 :
begin
case lowercase(Personality) of
'laid back': Respond1 := ['Yo!', 'Sup?', 'Sup man?', 'Sup dawg', 'Yo dawg', 'What''s happenin?', 'Hola'];
'polite': Respond1 := ['Hello.', 'Good day to you.', 'It''s nice to see you!', 'G''day mate', 'How are you doing today?'];
'bored': Respond1 := ['Ohaider!', 'Hi.', 'Y0z!', 'Lolwut it''s you!', 'Koneecheewah', 'h3110', 'H to the E to the L to the L to the O', 'Well then, H to the I'];
'angry': Respond1 := ['What?', 'Wha''dyawant', 'Leave me alone!', 'Go away!', 'Hi noob', 'Was I talking to you?', 'Stupid noob, leave me alone!'];
end;
case Random(4) of
0..2 : TypeSend(AddMistakes(Respond1[Random(GetArrayLength(Respond1))], 20));
end;
TimeMarkerNow:=0;
Marktime(TimeMarkerNow);
Responds := Responds + 1;
end;
10..13 :
begin
case lowercase(Personality) of
'laid back': Respond1 := ['dood, funneh!', 'hehe', 'l0lz'];
'polite': Respond1 := ['That was funny!', 'Please tell another joke, that was very funny!', 'Heh'];
'bored': Respond1 := ['roflc0pt3rz', 'lool', 'roflzzz', 'lmao!'];
'angry': Respond1 := ['What''s so funny, punk?', 'Stop laughing, that was horrible'];
end;
case Random(4) of
0..2 : TypeSend(AddMistakes(Respond1[Random(GetArrayLength(Respond1))], 20));
end;
TimeMarkerNow:=0;
Marktime(TimeMarkerNow);
Responds := Responds + 1;
end;
14..15 :
begin
case lowercase(Personality) of
'laid back': Respond1 := ['Tis ', 'Yo, my mining lvl is ', '', 'My level be ', 'It be '];
'polite': Respond1 := ['Thanks for asking', 'It is ', ''];
'bored': Respond1 := ['Lolz, it''s ', 'dood! My mining level is ', '', 'Aren''t you smart? It''s obviously 99, duh!', 'Lolcat sayz it be ', 'Lolwut! My level be '];
'angry': Respond1 := ['Whats it matter? if you must know its ', 'Bah. ', ''];
end;
case Random(4) of
0..2 : TypeSend(AddMistakes(Respond1[Random(GetArrayLength(Respond1))] + IntToStr(GetSkillInfo('mining', True)), 20));
end;
TimeMarkerNow:=0;
Marktime(TimeMarkerNow);
Responds := Responds + 1;
end;
False: Exit;
end;
end;
end;
end;
if Responds = RespondsToChangeAt then
begin
Responds := 0;
case lowercase(Personality) of
'laid back' : Personality := LaidBackToWhat;
'polite' : Personality := PoliteToWhat;
'bored' : Personality := BoredToWhat;
'angry' : Personality := AngryToWhat;
end;
end;
end;
end;

Brodyf11

2008-12-07 18:58:58

Hope this goes through…it would be cool

Raskolnikov

2008-12-15 22:45:49

Have some suggestions

Bored:

"Yo man"
"Yo"
"ya man wat up?"
"hey"
"heya"
"wats up"

Angry:

"I hate u man"
"y u bothering me you froob"
"lol you are noobish"
"go be an idiot like your dad"

Also, if you need more insults to piss people off, look at the following:

http://forum.419eater.com/forum/viewtopic.php?t=118139

Cut em2 it

Sandstorm

2008-12-16 08:10:41

Hah, thanks. I'll look into that topic!

Blender

2008-12-19 08:13:58

I could make a website with just some TextBoxes where people just have conversations. Then it would record them into like a 10 mb SCAR script file…

crazz

2008-12-19 08:20:53

i could never creae these code:/ im not THAT bright

Sandstorm

2008-12-19 08:49:11

Ok Crazz, your point?

@Blender - I don't think that would help all that much, people talk differently here then on RS. Mainly because of the maturity levels on rs, but yea.

Magiic

2008-12-19 17:16:37

From: crazz
i could never creae these code:/ im not THAT bright

don't worry it's easy when you get into it ;)