modified: SPLITCHA.PAS
This commit is contained in:
parent
860bf057e1
commit
cbce28713d
|
@ -35,7 +35,9 @@ VAR
|
||||||
UserYPos,
|
UserYPos,
|
||||||
SysOpXPos,
|
SysOpXPos,
|
||||||
SysOpYPos: Byte;
|
SysOpYPos: Byte;
|
||||||
|
Cmd : Char;
|
||||||
|
ChatHelp : Boolean;
|
||||||
|
ClrHlp : Shortint;
|
||||||
PROCEDURE RequestSysOpChat(CONST MenuOption: Str50);
|
PROCEDURE RequestSysOpChat(CONST MenuOption: Str50);
|
||||||
VAR
|
VAR
|
||||||
User: UserRecordType;
|
User: UserRecordType;
|
||||||
|
@ -225,14 +227,26 @@ BEGIN
|
||||||
END;
|
END;
|
||||||
|
|
||||||
PROCEDURE SysOpChatWindow;
|
PROCEDURE SysOpChatWindow;
|
||||||
|
Var SysopNameLength : Integer;
|
||||||
BEGIN
|
BEGIN
|
||||||
|
Printf('SPLTCHAT');
|
||||||
|
IF NOT NoFile THEN exit;
|
||||||
|
|
||||||
|
SysopNameLength := ( 80 - Length(General.SysOpName) );
|
||||||
CLS;
|
CLS;
|
||||||
ANSIG(1,1);
|
ANSIG(1,1);
|
||||||
Prompt('ユヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘク');
|
Prompt('^4ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ');
|
||||||
|
ANSIG( ( SysopNameLength - 5 ), 1);
|
||||||
|
Prompt('^4[ ^5' + General.SysOpName + ' ^4]');
|
||||||
ANSIG(1,12);
|
ANSIG(1,12);
|
||||||
Prompt('ニヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘオ CTRL-Z Help ニヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘオ');
|
Prompt('^4ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ');
|
||||||
|
ANSIG(31,12);
|
||||||
|
Prompt('^4[ ^5Ctl^4+^5Z for Help ^4]');
|
||||||
ANSIG(1,23);
|
ANSIG(1,23);
|
||||||
Prompt('ヤヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘヘセ');
|
Prompt('^4ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ');
|
||||||
|
ANSIG(3,23);
|
||||||
|
Prompt('^4[ ^5'+ ThisUser.Name + ' ^4]');
|
||||||
|
|
||||||
END;
|
END;
|
||||||
|
|
||||||
PROCEDURE SysOpSplitChat;
|
PROCEDURE SysOpSplitChat;
|
||||||
|
@ -263,6 +277,18 @@ VAR
|
||||||
Counter,
|
Counter,
|
||||||
Counter1: Byte;
|
Counter1: Byte;
|
||||||
BEGIN
|
BEGIN
|
||||||
|
|
||||||
|
IF C = #27 THEN { Esc Exit }
|
||||||
|
BEGIN
|
||||||
|
InChat := False;
|
||||||
|
Update_Screen;
|
||||||
|
END;
|
||||||
|
IF C = #63 THEN { F5 Exit }
|
||||||
|
BEGIN
|
||||||
|
InChat := False;
|
||||||
|
Update_Screen;
|
||||||
|
END;
|
||||||
|
|
||||||
IF (CPos < 79) THEN
|
IF (CPos < 79) THEN
|
||||||
BEGIN
|
BEGIN
|
||||||
ANSIG(XPos,YPos);
|
ANSIG(XPos,YPos);
|
||||||
|
@ -383,6 +409,7 @@ VAR
|
||||||
END;
|
END;
|
||||||
|
|
||||||
PROCEDURE DOCarriageReturn(VAR CPos,XPos,YPos: Byte; VAR S: AStr);
|
PROCEDURE DOCarriageReturn(VAR CPos,XPos,YPos: Byte; VAR S: AStr);
|
||||||
|
Var i : Integer;
|
||||||
BEGIN
|
BEGIN
|
||||||
|
|
||||||
S[0] := Chr(CPos - 1);
|
S[0] := Chr(CPos - 1);
|
||||||
|
@ -391,7 +418,27 @@ VAR
|
||||||
|
|
||||||
Inc(YPos);
|
Inc(YPos);
|
||||||
XPos := 2;
|
XPos := 2;
|
||||||
ANSIG(XPos,YPos);
|
{ Fix Splitscreen so user and op stay on their own sides }
|
||||||
|
If (YPos = 12) Then
|
||||||
|
Begin
|
||||||
|
For i := 2 To 10 Do
|
||||||
|
Begin
|
||||||
|
ANSIG(1,i);
|
||||||
|
Clear_EOL;
|
||||||
|
End;
|
||||||
|
YPos := 2;
|
||||||
|
End
|
||||||
|
Else If (YPos = 23) Then
|
||||||
|
Begin
|
||||||
|
For i := 13 To 21 Do
|
||||||
|
Begin
|
||||||
|
ANSIG(1,i);
|
||||||
|
Clear_EOL;
|
||||||
|
End;
|
||||||
|
YPos := 13;
|
||||||
|
End;
|
||||||
|
|
||||||
|
ANSIG(XPos,YPos);
|
||||||
|
|
||||||
(* Do Cmds Here or add as Ctrl *)
|
(* Do Cmds Here or add as Ctrl *)
|
||||||
|
|
||||||
|
@ -508,6 +555,14 @@ BEGIN
|
||||||
DoChar(C,SysOpCPos,SysOpXPos,SysOpYPos,SysOpLine,SysOpChat,SysOpLastLineStr)
|
DoChar(C,SysOpCPos,SysOpXPos,SysOpYPos,SysOpLine,SysOpChat,SysOpLastLineStr)
|
||||||
ELSE
|
ELSE
|
||||||
DoChar(C,UserCPos,UserXPos,UserYPos,UserLine,UserChat,UserLastLineStr);
|
DoChar(C,UserCPos,UserXPos,UserYPos,UserLine,UserChat,UserLastLineStr);
|
||||||
|
3 : BEGIN
|
||||||
|
FOR ClrHlp := 18 TO 21 DO {Ctrl+Z Help Clear - (Ctrl+C) }
|
||||||
|
BEGIN
|
||||||
|
ANSIG(38,ClrHlp);
|
||||||
|
Clear_EOL;
|
||||||
|
END;
|
||||||
|
ANSIG(SaveWhereX,SaveWhereY);
|
||||||
|
END;
|
||||||
7 : IF (OutCom) THEN
|
7 : IF (OutCom) THEN
|
||||||
Com_Send(^G);
|
Com_Send(^G);
|
||||||
8 : IF (WColor) THEN
|
8 : IF (WColor) THEN
|
||||||
|
@ -534,7 +589,55 @@ BEGIN
|
||||||
ELSE
|
ELSE
|
||||||
DOBackSpaceLine(UserCPos,UserXpos,UserYPos,UserStr);
|
DOBackSpaceLine(UserCPos,UserXpos,UserYPos,UserStr);
|
||||||
|
|
||||||
26 : ; { Help }
|
26 : Begin { Ctrl+Z }
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
PrintF('CHATHELP');
|
||||||
|
|
||||||
|
If Not nofile Then
|
||||||
|
|
||||||
|
Begin
|
||||||
|
|
||||||
|
OneK(Cmd,#27#26,FALSE,FALSE);
|
||||||
|
|
||||||
|
Case Ord(Cmd) Of
|
||||||
|
|
||||||
|
26,27 : SysOpChatWindow; { Escape }
|
||||||
|
|
||||||
|
End; { /case }
|
||||||
|
|
||||||
|
End { /If Not }
|
||||||
|
|
||||||
|
Else
|
||||||
|
|
||||||
|
Begin
|
||||||
|
|
||||||
|
ChatHelp := TRUE;
|
||||||
|
|
||||||
|
ANSIG(38,18);
|
||||||
|
|
||||||
|
Print('^5Chat Help |15: ^4(^5Ctrl+C ^5:: ^4Clear Help^5)');
|
||||||
|
|
||||||
|
ANSIG(38,19);
|
||||||
|
|
||||||
|
Print('^5Ctrl+G |15: ^4Hangup ^5Ctrl+W |15: ^4Delete Word');
|
||||||
|
|
||||||
|
ANSIG(38,20);
|
||||||
|
|
||||||
|
Print('^5Ctrl+H |15: ^4Backspace ^5Ctrl+X |15: ^4Delete Line');
|
||||||
|
|
||||||
|
ANSIG(38,21);
|
||||||
|
|
||||||
|
Print('^5Ctrl+H |15: ^4Tab ^5Ctrl+Q |15: ^4Quit|07');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
ANSIG(SaveWhereX,SaveWhereY);
|
||||||
|
|
||||||
|
End; { /If Not else case }
|
||||||
|
|
||||||
|
End; { /26 } { Help }
|
||||||
END;
|
END;
|
||||||
|
|
||||||
(*
|
(*
|
||||||
|
|
Loading…
Reference in New Issue