malfuntion script ?
 

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

malfuntion script ?

Started by slick, 19 August, 2005, 03:35:58

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

slick

i'm using Chat Bot v3.5 Coded by   [aXs] Wellx   01/09-03 and i was talking to a regular user in main chat he said he was getting messages every time he posted in main this is what he got



You don't have permission to use the commands to the -Opchat- ask a Operator for permission !!
You don't have permission to use the commands to the -Vipchat- ask a Operator for permission !!


was does this happen ?

Dessamator

This is why it happens, because, he doesnt
QuoteOriginally posted by slick
have permission to use the commands to the -Vipchat- ask a Operator for permission !!
Ignorance is Bliss.

slick

apparantly i didn't make my problem clear :i'm an op and i'm talking to an unregisterd user in the main chat every time he types a line these messages pop up in the main chat during the conversation after every line he types it would make sence if we was using one of the private chats but we're not, i copied this from main this is what the unregistered user is seeing as he uses main chat :


You don't have permission to use the commands to the -Opchat- ask a Operator for permission !!
You don't have permission to use the commands to the -Vipchat- ask a Operator for permission !!
really short
You don't have permission to use the commands to the -Opchat- ask a Operator for permission !!
You don't have permission to use the commands to the -Vipchat- ask a Operator for permission !!
this hubis really quiet
You don't have permission to use the commands to the -Opchat- ask a Operator for permission !!
You don't have permission to use the commands to the -Vipchat- ask a Operator for permission !!
not alot of users

Dessamator

Indeed, there is a problem with the script post the script so we can debug it, hopefully .
Ignorance is Bliss.

slick

i made a change myself apparantly it worked but it gives me a error in the script editor section in hub exe anyway hers the script i changed the color of the section where i made a change SendToAll was SendData


-----------------------------------------------------
-- Chat Bot v3.5 Coded by   [aXs] Wellx   01/09-03
-- Formerly known as the Developer-Chat for TIC50
-- Based on the idea VIPChat from Piglja
-- Thx goes to Piglja & aMutex for Ideas and Help
-----------------------------------------------------

ChatBot = "-Opchat-"   -- Chat Bot Name
CanUseCommands = { 0 , 1 }   -- Can Use Chat Bot Commands Lvl ( 0 = Master ~~ 1 = Operators ~~ 2 = VIPs ~~ 3 = Reg ~~ etc.)

ChatArray={}
ChatFile = "Chatters.tbl"

function Main()
frmHub:RegBot(ChatBot)
ChatArray = LoadFromFile(ChatFile)
end

--========================================================    DataArrival:    =========================================================--

function DataArrival(user, data)
   if (strsub(data, 1, 1) == "<" ) then
   data=strsub(data,1,strlen(data)-1)
   _,_,cmd=strfind(data, "%b<>%s+(%S+)")
   local Commands = (DeveloperCommands(user, data, cmd))
   return Commands
   elseif strsub(data, 1, 5) == "$To: " then
      local s, e, to = strfind(data, "$To: (%S+)")
      if to ~= ChatBot then
         return 0
      else
         if to == ChatBot then
         local data=strsub(data,1,strlen(data)-1)  
         local s,e,from,msg = strfind(data,"From:%s+(%S+)%s+$%b<>%s+(.+)")  
            if ChatArray[user.sName] ~= nil then
            ChatArray[user.sName] = nil
               for i,v in ChatArray do
               Developer=GetItemByName(i)
                  if (Developer~=nil) then
                  Developer:SendData("$To: "..i.." From: "..ChatBot.." $<"..user.sName.."> "..msg.."|")
                  end
               end
            ChatArray[user.sName] = user.sName
            else
            user:SendPM(ChatBot,"You cannot type in here, This is a private chat for ops only send any inquiries to main chat or -ophotline-")
            end
         local _,_,cmd = strfind(data,"$%b<>%s+(%S+)")
         local Commands = (DeveloperCommands(user, data, cmd))
         end
      end
   end
end

--=====================================================      Chat Commands:      ======================================================--

function DeveloperCommands(user, data, cmd)
   if tfind(CanUseCommands, user.iProfile) then
      if (cmd == "+chathelp") then
      DevHelp(user)
      return 1
      elseif (cmd == "+chat") then
      local s,e,cmd,ChatName = strfind( data, "%b<>%s+(%S+)%s+(.*)" )
         if (ChatName == nil) then
         ChatName = user.sName
         end
         if ChatArray[ChatName] == nil then
         ChatArray[ChatName] = ChatName
            for index, value in ChatArray do
            SendPmToNick(index, ChatBot, "  "..ChatName.." Has joined the "..ChatBot)
            end
         else
            for index, value in ChatArray do
            SendPmToNick(index, ChatBot, "  "..ChatName.." Has left the "..ChatBot)
            end
         ChatArray[ChatName] = nil
         end
         SaveToFile(ChatName,ChatFile,ChatArray)
         return 1
      elseif (cmd == "+showchatters") then
         function DevList()
         local DevList = ""
            for index, value in ChatArray do
            local line = index
               if GetItemByName(index) then
                  if (strlen(index) <= 10) then
                  DevList = DevList.." ? "..line.."\t\t\t~ On-line ~\r\n"
                  else
                  DevList = DevList.." ? "..line.."\t\t~ On-line ~\r\n"
                  end
               else
                  if (strlen(index) <= 10) then
                  DevList = DevList.." ? "..line.."\t\t\t? Off-Line ?\r\n"
                  else
                  DevList = DevList.." ? "..line.."\t\t? Off-Line ?\r\n"
                  end
               end
            end
            return DevList
         end
         user:SendPM(ChatBot, "\r\n\r\n(? ?.??.->      "..ChatBot.." Chatters      <-.??.???) \r\n\r\n"..DevList())
         return 1
      end
   else user:SendToAll("You don't have permission to use the commands to the "..ChatBot.." ask a Operator for permission !!") return 0 end
end
   

function DevHelp (user)
   local disp = "\r\n\r\n"
   disp = disp.."~~ Scripted DeveloperChat Commands: ~~\r\n\r\n"
   disp = disp.."   +chat       -   Add or part a user to the list of people that can chat in the "..ChatBot.."\r\n"
   disp = disp.."   +showchatters      -   See which users that can chat in the "..ChatBot.."\r\n"
   disp = disp.."\r\n"
   user:SendPM(ChatBot, disp)
end

--========================================================    Functions:    ===========================================================--

function SaveToFile(arg,file,table)
   local aString = pickle(table)
   writeto(file)
   write(aString)
   writeto()
end

function LoadFromFile(file)
   readfrom(file)
   local aString = read("*all")
   return  unpickle(aString)
end

function tfind(table, key)
return foreachi(table, function(id, tmp) return (tmp == %key) and id end)
end

----------------------------------------------
-- Pickle.lua
-- An table serialization utility for lua
-- Steve Dekorte, http://www.dekorte.com, Apr 2000
-- Freeware
----------------------------------------------
function pickle(t)
return Pickle:clone():pickle_(t)
end

Pickle = {
clone = function (t) local nt={}; for i, v in t do nt=v end return nt end
}

function Pickle:pickle_(root)
   if type(root) ~= "table" then
   error("can only pickle tables, not ".. type(root).."s")
   end
   self._tableToRef = {}
   self._refToTable = {}
   local savecount = 0
   self:ref_(root)
   local s = ""
   while getn(self._refToTable) > savecount do
   savecount = savecount + 1
   local t = self._refToTable[savecount]
   s = s.."{\n"
      for i, v in t do
      s = format("%s[%s]=%s,\n", s, self:value_(i), self:value_(v))
      end
   s = s.."},\n"
   end
return format("{%s}", s)
end

function Pickle:value_(v)
local vtype = type(v)
   if vtype == "string" then return format("%q", v)
   elseif vtype == "number" then return v
   elseif vtype == "table" then return "{"..self:ref_(v).."}"
   else --error("pickle a "..type(v).." is not supported")
   end  
end

function Pickle:ref_(t)
local ref = self._tableToRef[t]
   if not ref then
      if t == self then error("can't pickle the pickle class") end
   tinsert(self._refToTable, t)
   ref = getn(self._refToTable)
   self._tableToRef[t] = ref
   end
return ref
end

----------------------------------------------
-- unpickle
----------------------------------------------

function unpickle(s)
   if type(s) ~= "string" then
   error("can't unpickle a "..type(s)..", only strings")
   end
   local tables = dostring("return "..s)
   for tnum = 1, getn(tables) do
   local t = tables[tnum]
   local tcopy = {}; for i, v in t do tcopy = v end
      for i, v in tcopy do
      local ni, nv
         if type(i) == "table" then ni = tables[i[1]] else ni = i end
         if type(v) == "table" then nv = tables[v[1]] else nv = v end
      t[ni] = nv
      end
   end
return tables[1]
end

SMF spam blocked by CleanTalk