essential Posted July 21, 2009 Share Posted July 21, 2009 It a chat via phx Basis: Chat.txt from phx 320 Features: 1. A separate chat window. 2. "Avtospam: one line every X seconds 3. Long text: sending multiline messages 4. Log chat. own script: const MaxMessages = 1000; var m: TMemo; frm:TForm; penel: TPanel; etext: tedit; button: tbutton; box : TCheckBox; every : TEdit; _Name : TEdit; i: Integer; tm:TTimer; Message, Name: String; procedure SendMs(Sender: TObject); var Msg, Nm: String; dd: integer; begin if etext.text<>'' then begin buf:=#$38; case etext.text[1] of '!': begin Msg:=Copy(etext.text,2,1000); dd:=1; nm:=''; end; '$': begin Msg:=Copy(etext.text,2,1000); dd:=9; nm:=''; end; '+': begin Msg:=Copy(etext.text,2,1000); dd:=8; nm:=''; end; '"': begin dd:=pos(' ', etext.text); Msg:=Copy(etext.text,dd+1,1000); nm:=Copy(etext.text,2,dd-3); dd:=2; end; '#': begin Msg:=Copy(etext.text,2,1000); dd:=3; nm:=''; end; '@': begin Msg:=Copy(etext.text,2,1000); dd:=4; nm:=''; end; else begin Msg:=etext.text; dd:=0; nm:=''; end; end; WriteS(Msg); WriteD(dd); if nm<>'' then WriteS(Nm); SendToServerEx(_Name.Text); end; end; procedure onNewCommand(obj:TObject;key:string); var i:integer; var symbol:Variant; var after:string; begin if (key[1]=#$0D) then begin SendMs(obj); symbol := etext.Text[1]; after := ''; if symbol = '#' then after := '#'; if symbol = '!' then after := '!'; if symbol = '@' then after := '@'; if symbol = '$' then after := '$'; etext.Text := after; end; end; procedure onTimer(Sender:TObject); begin tm.Interval := StrToInt(every.Text); if box.checked = true then SendMs(Sender); end; procedure Init; begin frm := TForm.Create(nil); frm.Caption := 'Chat'; frm.BorderStyle := bsSizeable; frm.Position := poDesigned ; frm.Width:=400; frm.Height:=600; m:=TMemo.Create(frm); m.parent:=frm; m.align:=alClient; m.ReadOnly:=true; m.ScrollBars:=ssBoth; penel:=TPanel.Create(frm); penel.parent:=frm; penel.align:=alBottom; penel.height:=48; etext:=tedit.Create(penel); etext.parent:=penel; etext.align:=alTop; button:=tbutton.Create(penel); button.parent:=penel; button.top := etext.height; button.caption:='Send'; button.onClick:=@SendMs; box := TCheckBox.Create(penel); box.parent := penel; box.Top := etext.height + 2; box.Left := button.width + button.left +2; box.Caption := 'Shtorm via: '; every:=tedit.Create(penel); every.parent:=penel; every.Left := box.Left + box.Width; every.Top := button.top; every.Text := IntToStr(3000); tm := TTimer.Create(frm); tm.Interval := 1000; tm.Enabled := true; tm.OnTimer := @OnTimer; etext.OnKeyPress := @onNewCommand; _Name:=tedit.Create(frm); _Name.parent:=frm; _Name.align := alTop; _Name.Text := ''; frm.Show; end; procedure SaveToFile(prefix:string); var name:string; begin name := prefix+'.'+ConnectName+'.'+DateToStr(Date)+'.'+TimeToStr(Time)+'.txt'; while Pos(':',name) <> 0 do begin name[Pos(':',name)] := '-'; end; m.Lines.SaveToFile(name); end; procedure Free; begin SaveToFile('ChatLog'); box.Free; every.Free; tm.Free; etext.Free; button.Free; penel.Free; m.Free; frm.Free; end; var tp:integer; var ct:string; var MessageCounter:integer; begin if _Name.Text = '' then _Name.Text := ConnectName; if FromServer and (ConnectName = _Name.Text) and (pck[1]=#$4a) then begin i:=10; name:=ReadS(i); message:=ReadS(i); tp := ReadD(6); ct := '???'; if tp = 0 then ct := 'GNR'; if tp = 8 then ct := 'TRD'; if tp = 3 then ct := 'PRT'; if tp = 4 then ct := 'CLN'; if tp = 9 then ct := 'ALY'; ct := DateToStr(Date) + ' '+ TimeToStr(Time) + ', '+ ct; if name='' then name:='pronouncing: '; m.Lines.Add('['+ct+'] '+Name+': '+message); if MessageCounter > MaxMessages then begin SaveToFile('Backup'); //m.Lines.Add('BACKUPED'); MessageCounter := 0; end; MessageCounter := MessageCounter+1; end; end. enjoy ;) P.s. Work only on c4-interlude. Quote Link to comment Share on other sites More sharing options...
Mywk Posted July 21, 2009 Share Posted July 21, 2009 Tried with C4 client works fine but unfortunately doesn't work with L2 Gracia :-X Nice share anyway, thanks! Quote Link to comment Share on other sites More sharing options...
Vazelos Posted July 21, 2009 Share Posted July 21, 2009 Noone playing c4 anymore but good share.Hide it Quote Link to comment Share on other sites More sharing options...
essential Posted July 21, 2009 Author Share Posted July 21, 2009 Tried with C4 client works fine but unfortunately doesn't work with L2 Gracia :-X Nice share anyway, thanks! in the end i wrote : P.s. Work only on c4-interlude. Noone playing c4 anymore but good share.Hide it i think 100 posts enought? :) P.s. In interlude work too... Quote Link to comment Share on other sites More sharing options...
DBSK Posted July 21, 2009 Share Posted July 21, 2009 when I use that chat full server can see? Quote Link to comment Share on other sites More sharing options...
essential Posted July 21, 2009 Author Share Posted July 21, 2009 when I use that chat full server can see? Sure Quote Link to comment Share on other sites More sharing options...
essential Posted July 23, 2009 Author Share Posted July 23, 2009 Tingeriukas, read in topic-message(firs post) after "features:" ... Quote Link to comment Share on other sites More sharing options...
mg13gr Posted July 23, 2009 Share Posted July 23, 2009 It's for spamming purpsoses or what? If yes, maybe the server has protection which doesn't allow u to speak so fast. Anyway, thanks. Quote Link to comment Share on other sites More sharing options...
GrisoM Posted July 23, 2009 Share Posted July 23, 2009 It's for spamming purpsoses or what? If yes, maybe the server has protection which doesn't allow u to speak so fast. Anyway, thanks. In some L2J server this works, but is a waste of time ;P Any way, ty for sharing. Quote Link to comment Share on other sites More sharing options...
essential Posted July 24, 2009 Author Share Posted July 24, 2009 It's for spamming purpsoses or what? If yes, maybe the server has protection which doesn't allow u to speak so fast. Anyway, thanks. yes. But if ur server has protection, you can change in script time between repeats. In some L2J server this works, but is a waste of time ;P i dont think so. Anyway it works on most servers(c4-interlude) where works l2phx... Such a server, I would not call a waste of time, since such servers are many and among them there is a decent where online > 2k ;P Quote Link to comment Share on other sites More sharing options...
K4rmaArr0ws Posted July 24, 2009 Share Posted July 24, 2009 lol interesting thing..I have never heard for this.. nice m8 for your gr8 move to share it with us and I am going to try it for the results! 8) [i will edit the results as soon as I test it w8 10 mins] Quote Link to comment Share on other sites More sharing options...
giojuve Posted July 27, 2009 Share Posted July 27, 2009 COOOOOOLLLL worked, big thnx!!!!!! :D :D :D :D :D :D :D :D Quote Link to comment Share on other sites More sharing options...
thodoris21 Posted August 7, 2009 Share Posted August 7, 2009 Yeah work for me!!Thank you! Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.