Hi
 

News:

29 December 2022 - PtokaX 0.5.3.0 (20th anniversary edition) released...
11 April 2017 - PtokaX 0.5.2.2 released...
8 April 2015 Anti child and anti pedo pr0n scripts are not allowed anymore on this board!
28 September 2015 - PtokaX 0.5.2.1 for Windows 10 IoT released...
3 September 2015 - PtokaX 0.5.2.1 released...
16 August 2015 - PtokaX 0.5.2.0 released...
1 August 2015 - Crowdfunding for ADC protocol support in PtokaX ended. Clearly nobody want ADC support...
30 June 2015 - PtokaX 0.5.1.0 released...
30 April 2015 Crowdfunding for ADC protocol support in PtokaX
26 April 2015 New support hub!
20 February 2015 - PtokaX 0.5.0.3 released...
13 April 2014 - PtokaX 0.5.0.2 released...
23 March 2014 - PtokaX testing version 0.5.0.1 build 454 is available.
04 March 2014 - PtokaX.org sites were temporary down because of DDOS attacks and issues with hosting service provider.

Main Menu

Hi

Started by night_hawk, 12 February, 2004, 00:48:41

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

night_hawk

ok i need to do this in to parts

can this srcipt be made into a lua file please. For my new hub

_____________________________________________
'Chat Channel 2.11 script for NMDC hub or SBHub by Gadget http://gadget.no-ip.info
'Edited by ShadowLink
Dim sBotName, bPrivate, sUsers, aPowerOps, bIgnoreAway, bIsOpChat
Sub Main()
  sBotName = "Nights Chit Chatt Room"
  bPrivate = True '<- True to allow anyone to join false to allow only vips or ops to join
  bIsOpChat = False '<- False for Vip Chat True For an op only chat
  bIgnoreAway = True '<- Ignore away messages of dc++ and oDC users
  aPowerOps = Array("Admin 1","Admin 2") '<- Vip Chat admins who can mass drop, and can set mode of the chat They stay in chat after everyone is dropped
  sUsers   = ""
  frmHub.RegisterBotName(sBotName)
  On Error Resume Next
  Set wshShell = CreateObject("WScript.Shell")
  sUsers = wshShell.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\NeoModus\Hub\ChatChannelUsers")
  x = wshShell.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\NeoModus\Hub\ChatChannelMode")
  If x="Public" Then bPrivate=False:bIsOpChat=False
  If x="Vips" Then bPrivate=True:bIsOpChat=False
  If y="Ops" Then bPrivate=True:bIsOpChat=True
  If bPrivate=False Then bisOpChat=False
End Sub

Sub DataArival (curUser, sCurData)
If Left(sCurData,4)<>"$To:" Then Exit Sub
  If Left(sCurData,Len(sBotName)+6)="$To: "+sBotName+" " Then
    s=Mid(CStr(sCurData),InStr(CStr(sCurData),">")+2)
    r=""
    If InStr(s," ")>0 Then
      sCmd=Left(s,InStr(s," ")-1)
      sText=Mid(s,InStr(s," ")+1)
    Else
      sCmd=s
    End If
    bLeaving=False
    Select Case LCase(sCmd)
    Case "add","invite","join"
      If sText="" Then sText=curUser.sName
      If (bPrivate And Not bIsVip(curUser.sname) And Not bIsIn(curUser.sName)) or (bIsOpChat And Not curUser.bOperator And Not bIsIn(curUser.sName)) Then
        r="You are not invited on this chat."
      ElseIf Not colUsers.Online(CStr(sText)) Then
        r="User "+sText+" is not online and can't be added"
      ElseIf bIsIn(sText) Then
        r="User "+sText+" is already in "+sBotName
      Else
        If sUsers="" Then
          sUsers=sText
        Else
          sUsers=sUsers+"|"+sText
        End If
        Set wshShell = CreateObject("WScript.Shell")
        WshShell.RegWrite "HKEY_LOCAL_MACHINE\SOFTWARE\NeoModus\Hub\ChatChannelUsers",sUsers,"REG_SZ"
        r="The user "+sText+" is joined "+sBotName
      End If
    Case "inviteall"
      If bIsOpChat Then
        r="Can't invite all users to op chat"
      ElseIf bPrivate Then
        r="Can't invite all users to private chat"
      ElseIf Not curUser.bOperator Then
        r="You can't invite all users"
      Else
        If sUsers = "" Then sUsers = Cstr(curUser.sname)
        For Each oUser In colUsers
          If Not bIsIn(oUser.sName) Then
            sUsers=sUsers+"|"+oUser.sName
          End If
        Next
        Set wshShell = CreateObject("WScript.Shell")
        WshShell.RegWrite "HKEY_LOCAL_MACHINE\SOFTWARE\NeoModus\Hub\ChatChannelUsers",sUsers,"REG_SZ"
        r="All online users have been added to "+sBotName
      End If
    Case "invitevips"
      If bIsOpChat Then
        r="Can't invite all vips to op chat"
      Elseif Not curUser.bOperator Then
        r="You can't invite all vips"
      Else
        If sUsers = "" Then sUsers = Cstr(curUser.sname)
        For Each oUser In colUsers
          If Not bIsIn(oUser.sName) and bIsVip(oUser.sname) Then
            sUsers=sUsers+"|"+oUser.sName
          End If
        Next
        Set wshShell = CreateObject("WScript.Shell")
        WshShell.RegWrite "HKEY_LOCAL_MACHINE\SOFTWARE\NeoModus\Hub\ChatChannelUsers",sUsers,"REG_SZ"
        r="All online vips have been added to "+sBotName
      End If
    Case "inviteops"
      If Not curUser.bOperator Then
        r="You can't invite all Ops"
      Else
        If sUsers = "" Then sUsers = Cstr(curUser.sname)
        For Each oUser In colUsers
          If Not bIsIn(oUser.sName) and oUser.bOperator Then
            sUsers=sUsers+"|"+oUser.sName
          End If
        Next
        Set wshShell = CreateObject("WScript.Shell")
        WshShell.RegWrite "HKEY_LOCAL_MACHINE\SOFTWARE\NeoModus\Hub\ChatChannelUsers",sUsers,"REG_SZ"
        r="All online ops have been added to "+sBotName
      End If
    Case "mode"
      If sText="" Then
        If bIsOpChat Then
          r="This chat is for ops only, others can't join it if they are not invited"
        ElseIf bPrivate Then
          r="This chat is for vips & ops only, others can't join it if they are not invited"
        Else
          r="This chat is public, anyone can join it"
        End If
      ElseIf Not bIsPowerOP(curUser.sName) And Not curUser.bOperator Then
        r="You can't set the mode of this chat"
      ElseIf Not bIsIn(curUser.sName) Then
        r="You are not in this chat"
      ElseIf LCase(sText)="public" Then
        bPrivate=False
        r="Chat mode is set to public"
        Set wshShell = CreateObject("WScript.Shell")
        WshShell.RegWrite "HKEY_LOCAL_MACHINE\SOFTWARE\NeoModus\Hub\ChatChannelMode","Public","REG_SZ"
      ElseIf LCase(sText)="ops" Then
        bPrivate=True
        bIsOpChat=True
        r="Chat mode is set to Ops Only Chat"
        Set wshShell = CreateObject("WScript.Shell")
        WshShell.RegWrite "HKEY_LOCAL_MACHINE\SOFTWARE\NeoModus\Hub\ChatChannelMode","Ops","REG_SZ"
      ElseIf LCase(sText)="vips" Then
        bPrivate=True
        bIsOpChat=False
        r="Chat mode is set to Vip Chat"
        Set wshShell = CreateObject("WScript.Shell")
        WshShell.RegWrite "HKEY_LOCAL_MACHINE\SOFTWARE\NeoModus\Hub\ChatChannelMode","Vips","REG_SZ"
      End If
    Case "leave","drop","remove","kick"
      If sText="" Then sText=curUser.sName
      If LCase(sText)<>LCase(curUser.sName) And Not curUser.bOperator Then
        r="You cant disconnect others from this chat"
      ElseIf Not bIsIn(curUser.sName) Then
        r="You are not in this chat"
      ElseIf Not bIsIn(sText) Then
        r="User "+sText+" is not in "+sBotName
      Else
        aUsers=Split(sUsers,"|")
        sUsers=""
        For i=0 To uBound(aUsers)
          If LCase(aUsers(i))<>LCase(sText) Then sUsers=sUsers+aUsers(i)+"|"
        Next
        If sUsers<>"" Then sUsers=Left(sUsers,Len(sUsers)-1)
        Set wshShell = CreateObject("WScript.Shell")
        WshShell.RegWrite "HKEY_LOCAL_MACHINE\SOFTWARE\NeoModus\Hub\ChatChannelUsers",sUsers,"REG_SZ"
        r="The user "+sText+" has left "+sBotName
        If colUsers.Online(CStr(sText)) Then
          If LCase(sText)<>LCase(curUser.sName) Then colUsers.ItemByName(CStr(sText)).SendData CStr("$To: "+sText+" From: "+sBotName+" $<"+sText+"> "+s+"|")
          colUsers.ItemByName(CStr(sText)).SendData CStr("$To: "+sText+" From: "+sBotName+" $<"+sBotName+"> "+r+"|")
        End If
        bLeaving=True
      End If
    Case "dropusers","removeusers","kickusers"
      If Not bIsPowerOP(curUser.sName) And Not curUser.bOperator Then
        r="You can't disconnect all non-vips from this chat"
      Else
        aUsers=Split(sUsers,"|")
        sUsers=""
        For i=0 To uBound(aUsers)
          If bIsVip(CStr(aUsers(i))) Then sUsers=sUsers+"|"+CStr(aUsers(i))
        Next
        sUsers = Mid(sUsers, 2)
        Set wshShell = CreateObject("WScript.Shell")
        WshShell.RegWrite "HKEY_LOCAL_MACHINE\SOFTWARE\NeoModus\Hub\ChatChannelUsers",sUsers,"REG_SZ"
        r="All Non-Vips are out"
      End If  
    Case "dropvips","removevips","kickvips"
      If Not bIsPowerOP(curUser.sName) And Not curUser.bOperator Then
        r="You can't disconnect all non-ops from this chat"
      Else
        aUsers=Split(sUsers,"|")
        sUsers=""
        On Error Resume Next
        For i=0 To UBound(aUsers)
          If bIsAnOP(Lcase(aUsers(i))) Then sUsers=sUsers+aUsers(i)+"|"
        Next
        If sUsers<>"" Then sUsers=Left(sUsers,Len(sUsers)-1)
        frmHub.DoEventsForMe
        Set wshShell = CreateObject("WScript.Shell")
       


night_hawk

WshShell.RegWrite "HKEY_LOCAL_MACHINE\SOFTWARE\NeoModus\Hub\ChatChannelUsers",sUsers,"REG_SZ"
        r="All Non-Ops are out"
      End If  
    Case "dropall","removeall","kickall"
      If Not bIsPowerOP(curUser.sName) And Not curUser.bOperator Then
        r="You can't disconnect everyone from this chat"
      Else
        sUsers = ""
        For i=0 to UBound(aPowerOps)
          sUsers = sUsers+"|"+CStr(aPowerOps(i))
        Next
        sUsers = Mid(sUsers, 2)
        Set wshShell = CreateObject("WScript.Shell")
        WshShell.RegWrite "HKEY_LOCAL_MACHINE\SOFTWARE\NeoModus\Hub\ChatChannelUsers",sUsers,"REG_SZ"
      r="They are all gone"
      End If  
    Case "help"
      r=sBotName+" commands:"
      r=r+vbCrLf+"join"+vbTab+vbTab+vbTab+"join the chat"
      r=r+vbCrLf+"leave"+vbTab+vbTab+vbTab+"leave the chat"
      r=r+vbCrLf+"mode"+vbTab+vbTab+vbTab+"view the chat mode"
      r=r+vbCrLf+"users"+vbTab+vbTab+vbTab+"view the chat users"
      r=r+vbCrLf+"invite [user]"+vbTab+vbTab+"invite an user"
      If curUser.bOperator Then
        r=r+vbCrLf+"inviteall"+vbTab+vbTab+vbTab+"invites all online users"
        r=r+vbCrLf+"invitevips"+vbTab+vbTab+vbTab+"invites all online vips"
        r=r+vbCrLf+"inviteops"+vbTab+vbTab+vbTab+"invites all online ops"
        r=r+vbCrLf+"remove [user]"+vbTab+vbTab+"remove an user"
        r=r+vbCrLf+"mode [ops/vips/public]"+vbTab+"set the chat mode"
      End If
      If bIsPowerOP(curUser.sName) and curUser.bOperator Then
        r=r+vbCrLf+"dropusers"+vbTab+vbTab+vbTab+"remove all users that are not atleast a vip from the chat"
        r=r+vbCrLf+"dropvips"+vbTab+vbTab+vbTab+"remove all non-Ops from the chat"
        r=r+vbCrLf+"dropall"+vbTab+vbTab+vbTab+"remove all users(except power ops)"
      End If
      r=r+vbCrLf+"!me"+vbTab+vbTab+vbTab+"show what you are doing"
      r=r+vbCrLf+"help"+vbTab+vbTab+vbTab+"show this help"
    Case "users","list"
      aUsers=Split(sUsers,"|")
      If (bPrivate And Not bIsIn(curUser.sName)) And Not curUser.bOperator Then
        r="You are not invited on this chat"
      ElseIf uBound(aUsers)<0 Then
        r="There are no users in "+sBotName
      Else
        aUsers=Split(sUsers,"|")
        x=0
        sOn=""
        sOff=""
        For i=0 To uBound(aUsers)
          If colUsers.Online(CStr(aUsers(i))) Then
            sOn=sOn+aUsers(i)+", "
            x=x+1
          Else
            sOff=sOff+aUsers(i)+", "
          End If
        Next
        If sOn<>"" Then sOn=Left(sOn,Len(sOn)-2)
        If sOff<>"" Then sOff=Left(sOff,Len(sOff)-2)
        r="There are "+CStr(uBound(aUsers)+1)+" users ("+cStr(x)+" online) in "+sBotName+vbCrLf+"Online: "+sOn+vbCrLf+"Offline: "+sOff
      End If
    Case "!me"
      If Not bIsIn(curUser.sName) Then
        r="You are not in this chat"
      ElseIf sText="" Then
        s="***"+curUser.sName+" is needing help***"
      Else
        s="***"+curUser.sName+" "+sText+"***"
      End If
    End Select
    aUsers=Split(sUsers,"|")
    If uBound(aUsers)=>0 Then
      If s<>"" And (bIsIn(curUser.sName) Or bLeaving) Then
        If bIgnoreAway Then
          If Instr(s, " 0 or Instr(s, "    End if
        If LCase(sCmd)<>"!me" Then s="<"+curUser.sName+"> "+s
        For i=0 To uBound(aUsers)
          If colUsers.Online(CStr(aUsers(i))) And (LCase(curUser.sName)<>LCase(aUsers(i)) Or LCase(sCmd)="!me") Then
            colUsers.ItemByName(CStr(aUsers(i))).SendData CStr("$To: "+aUsers(i)+" From: "+sBotName+" $"+s+"|")
          End If
        Next
      End If
      If r<>"" Then
        If bIsIn(curUser.sName) Or bLeaving Then
          For i=0 To uBound(aUsers)
            If colUsers.Online(CStr(aUsers(i))) Then
              colUsers.ItemByName(CStr(aUsers(i))).SendData CStr("$To: "+aUsers(i)+" From: "+sBotName+" $<"+sBotName+"> "+r+"|")
            End If
          Next
        Else
          curUser.SendData CStr("$To: "+curUser.sName+" From: "+sBotName+" $<"+sBotName+"> "+r+"|")
        End If
      End If
    End If
  End If
End Sub

Function bIsIn(sUser)
  bIsIn=False
  aUsers=Split(sUsers,"|")
  If uBound(aUsers)=>0 Then
    aUsers=Split(sUsers,"|")
    For i=0 To uBound(aUsers)
      If LCase(aUsers(i))=LCase(sUser) Then bIsIn=True
    Next
  End If
End Function

Function bIsVIP(sUser)
  bIsVIP=False
  For lPos= 1 To frmHub.lstOps.ListItems.Count
    If Left(frmHub.lstOps.ListItems.Item(lPos).SubItems(1),6)<>"Banned" And LCase(frmHub.lstOps.ListItems.Item(lPos))=LCase(sUser) Then
      bIsVIP=True
    End If
  Next
End Function

Function bIsAnOP(sUser)
  bIsAnOP=False
  For lPos= 1 To frmHub.lstOps.ListItems.Count
    If LCase(frmHub.lstOps.ListItems.Item(lPos))=LCase(sUser) Then
      If frmHub.lstOps.ListItems.Item(lPos).SubItems(2)="True" Then bIsAnOP=True
    End If
  Next
End Function

Function bIsPowerOP(sUser)
  bIsPowerOP=False
  For i=0 to UBound(aPowerOps)
    If LCase(sUser)=LCase(aPowerOps(i)) Then bIsPowerOP=True
  Next
End Function


Thank you very much

nErBoS

Hi,

It would help if you say what you want the script in LUA to do, just say, because to pass of a VB to LUA script is not easy at all. Don't pass scripts in diferent language to be modified, just ask for what you want.

Best regards, nErBoS
--## nErBoS Spot ##--

night_hawk

it is for a chat room i know how to run


SMF spam blocked by CleanTalk