yuhsing

Untitled

Nov 17th, 2012
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.87 KB | None | 0 0
  1. // Credits to AnnieRuru
  2.  
  3.  
  4. - script IRC -1,{
  5. function IRC_Create;
  6. function IRC_Join;
  7. function IRC_Add;
  8. function IRC_Remove;
  9. function IRC_Broadcast;
  10.  
  11.  
  12. OnInit:
  13. // Max IRC Room
  14. .MaxRoom = 10;
  15. // Max Users in IRC
  16. .MaxUser = 100;
  17.  
  18. // IRC Chat Colour
  19. .WARNING$ = "0xFF0000";
  20. .CHAT$ = "0xFFBBFF";
  21. .SYSTEM$ = "0x00EE55";
  22.  
  23. // IRC Commands
  24. .irc_create$ = "create";
  25. .irc_join$ = "join";
  26. .irc_leave$ = "leave";
  27.  
  28. // IRC Messages ( will add on future )
  29. // .message$[0] = "IRC Room reach limit.";
  30. // .message$[1] = "Please leave your current IRC Room.";
  31. // .message$[2] = "Didnt have any available IRC Room.";
  32. // .message$[3] = "You didnt join any IRC Room";
  33.  
  34. // Delete Data during Test Mode
  35. for ( .@i = 2000000; .@i < 200003; .@i++ ) {
  36. if ( attachrid(.@i) )
  37. set @IRC, 0;
  38. end;
  39.  
  40.  
  41.  
  42.  
  43. OnWhisperGlobal:
  44. if( @whispervar0$ == .irc_create$ ){
  45. if( getarraysize( .IRC_Room$ ) >= .MaxRoom ){
  46. dispbottom "Max IRC Room Reach.";
  47. }else if( @IRC ){
  48. dispbottom "Please leave your current IRC Room";
  49. }else{
  50. for( .@i = 0; .@i < .MaxRoom; .@i++ )
  51. if( .IRC_Room$[.@i] == "" ){
  52. .IRC_Room$[.@i] = IRC_Create();
  53. @IRC = ( .@i + 1 );
  54. IRC_Add( ( @IRC - 1 ),strcharinfo(0) );
  55. end;
  56. }
  57. }
  58. }else if( @whispervar0$ == .irc_join$ ){
  59. if( getarraysize( .IRC_Room$ ) <= 0 ){
  60. dispbottom "Didnt have any available IRC Room.";
  61. }else if( @IRC ){
  62. dispbottom "Please leave your current IRC Room";
  63. }else{
  64. @IRC = IRC_Join();
  65. IRC_Add( ( @IRC - 1 ),strcharinfo(0) );
  66. }
  67. }else if( @whispervar0$ == .irc_leave$ ){
  68. if( !@IRC ){
  69. dispbottom "You didnt join any IRC Room.";
  70. }else{
  71. IRC_Remove( ( @IRC - 1 ),strcharinfo(0) );
  72. }
  73. }else if( @IRC <= 0 ){
  74. dispbottom "You didnt join any IRC Room.";
  75. }else{
  76. set .@MSG$, strcharinfo(0) +" : "+ @whispervar0$;
  77. IRC_Broadcast( ( @IRC - 1 ),.@MSG$,.CHAT$ );
  78. }
  79. close;
  80.  
  81. // getarg(0) = Room
  82. // getarg(1) = Player Name
  83. function IRC_Add {
  84. .@size = getarraysize( getd( ".IRC_Room_"+getarg(0)+"$" ) );
  85. setd( ".IRC_Room_"+getarg(0)+"$["+.@size+"]" ),getarg(1);
  86. if( strcharinfo(0) != getarg(1) ){
  87. .@AID = getcharid(3);
  88. if( attachrid( getcharid(3,getarg(1) ) ) ){
  89. @IRC = ( getarg(0) + 1 );
  90. attachrid( .@AID );
  91. }
  92. }else{
  93. @IRC = ( getarg(0) + 1 );
  94. }
  95. IRC_Broadcast( getarg(0),"( IRC ) : '"+getarg(1)+"' joined this room",.SYSTEM$ );
  96. return;
  97. }
  98.  
  99. // getarg(0) = Room
  100. // getarg(1) = Player Name
  101. function IRC_Remove {
  102. .@size = getarraysize( getd( ".IRC_Room_"+getarg(0)+"$" ) );
  103. for( .@i = 0; .@i < .@size; .@i++ )
  104. if( getd( ".IRC_Room_"+getarg(0)+"$["+.@i+"]" ) == getarg(1) ){
  105. deletearray getd( ".IRC_Room_"+getarg(0)+"$["+.@i+"]" ),1;
  106. if( strcharinfo(0) != getarg(1) ){
  107. .@AID = getcharid(3);
  108. if( attachrid( getcharid(3,getarg(1) ) ) ){
  109. @IRC = 0;
  110. attachrid( .@AID );
  111. }
  112. }else{
  113. @IRC = 0;
  114. }
  115. }
  116. IRC_Broadcast( getarg(0),"( IRC ) : '"+getarg(1)+"' left this room",.SYSTEM$ );
  117. if( getarraysize( getd( ".IRC_Room_"+getarg(0)+"$" ) ) <= 0 )
  118. .IRC_Room$[ getarg(0) ] = "";
  119. return;
  120. }
  121.  
  122.  
  123. // getarg(0) = Room
  124. // getarg(1) = Message
  125. // getarg(2) = Color
  126. function IRC_Broadcast {
  127. freeloop(1);
  128. for( .@i = 0; .@i < getarraysize( getd( ".IRC_Room_"+getarg(0)+"$" ) ); .@i++ )
  129. if( attachrid( getcharid( 3,getd( ".IRC_Room_"+getarg(0)+"$["+.@i+"]" ) ) ) ){
  130. announce getarg(1),bc_self,getarg(2);
  131. }
  132. freeloop(0);
  133. return;
  134. }
  135.  
  136. function IRC_Create {
  137. mes "Please enter a Name for this IRC Channel";
  138. do{
  139. input .@IRC_Name$;
  140. mes "IRC Name : ^0055FF"+.@IRC_Name$+"^000000";
  141. next;
  142. }while( select("Confirm:Change") == 2 );
  143. close2;
  144. return .@IRC_Name$;
  145. end;
  146. }
  147.  
  148. function IRC_Join {
  149. for( .@i = 0; .@i < getarraysize( .IRC_Room$ ); .@i++ )
  150. set .@Menu$,.@Menu$ + "^FF0000[ "+( .@i+1 )+". ] ^0055FF"+.IRC_Room$[.@i]+" ^FF0000( "+getarraysize( getd( ".IRC_Room_"+.@i+"$") )+" / "+.MaxUser+" Users )^000000" +":";
  151. return select( .@Menu$ );
  152. }
  153.  
  154. }
Advertisement
Add Comment
Please, Sign In to add comment