От: Метод Быстрого Перевода Скриптов Под Api_1, От темы с ID: 605 |
Здравствуйте, гость ( Вход | Регистрация )
От: Метод Быстрого Перевода Скриптов Под Api_1, От темы с ID: 605 |
6.3.2009, 8:16
Сообщение
#1
|
|
Участник Группа: Пользователи Сообщений: 30 Регистрация: 11.12.2008 Пользователь №: 1 392 Спасибо сказали: 0 раз |
]>http://mydc.ru
]]-- Sec=1000 Min=60*Sec Hour=60*Min Day=24*Hour slots,nslots={},0 slotmessage = "--> %s has %d free slots" --Таймер = 1*Sec tabTimers,tabAdvert = {n=0},{} iTopics = iTopics or 1 Topics,Messages,away,Command = {},{},{},{} B_Search = {} tbTable = {} UserInfo,KickTable,WarnTable,tibicTable = {},{},{},{} NetworkTable,FriendlyTable = {},{} Gag = {} Tables = {} Counters = {} rel = {} offlinemsg = {} Path = Core.GetPtokaXPath().."scripts/" UserInfoFile = Path.."LV_DataBase/tbl/UserInfo.tbl" MessagesFile = Path.."LV_DataBase/lua/Messages.lua" ProfileSettingsFile = Path.."LV_DataBase/Profile_Settings.ini" ScriptSettingsFile = Path.."LV_DataBase/Script_Settings.ini" BigTable = Path.."LV_DataBase/tbl/Big_Table.tbl" IPTable = Path.."LV_DataBase/tbl/IP_check.tbl" NetworkFile = Path.."LV_DataBase/txt/Network.txt" CmdFile = Path.."LV_DataBase/tbl/CmdHelpSettings.tbl" FriendlyFile = Path.."LV_DataBase/txt/Friendly.txt" Counter_table = Path.."LV_DataBase/tbl/counters.tbl" AF_IP = Path.."LV_Database/tbl/D2AFFB/IP.tbl" AF_Nick = Path.."LV_Database/tbl/D2AFFB/Nick.tbl" AF_Share = Path.."LV_Database/tbl/D2AFFB/Share.tbl" AF_Trig = Path.."LV_Database/tbl/D2AFFB/Trigs.tbl" DNSB = Path.."LV_Database/tbl/dns.bans.tbl" ReleaseFile = Path.."LV_Database/tbl/releases.tbl" OfflineMsgFile = Path.."LV_Database/tbl/offline_msg.tbl" dofile(MessagesFile) dofile(ProfileSettingsFile) dofile(ScriptSettingsFile) dofile(BigTable) dofile(IPTable) dofile(AF_IP ) dofile(AF_Nick) dofile(AF_Share) dofile(AF_Trig) dofile(DNSB) dofile(OfflineMsgFile) dofile(FriendlyFile) dofile(Path.."LV_DataBase/lua/Functions.lua") dofile(Path.."LV_DataBase/tbl/Command_Orders.tbl") dofile(Path.."LV_DataBase/tbl/CmdHelpSettings.tbl") dofile(Path.."LV_DataBase/tbl/CmdHelpLines.tbl") dofile(Path.."LV_DataBase/lua/Commands.lua") dofile(Path.."LV_DataBase/txt/Network.txt") dofile(Path.."LV_DataBase/txt/Friendly.txt") local f,e = io.open(UserInfoFile, "a+" ) if f then f:write("" ) f:close() end dofile(UserInfoFile) local f,e = io.open(Counter_table, "a+" ) if f then f:write("" ) f:close() end dofile(Counter_table) local f,e = io.open(ReleaseFile, "a+" ) if f then f:write("" ) f:close() end dofile(ReleaseFile) assert(package~=nil,"***ОШИБКА: Ваша PtokaX совместима с Lua 5.0.2, а для работы скрипта необходима поддержка 5.1!") local socket = require("socket") Version = "4.0" Pro = { -- Protection table [0] = {[0] = 1,[1] = 1,[2] = 1,[3] = 1,[-1] = 1,}, [1] = {[2] = 1,[3] = 1,[-1] = 1,}, [2] = {}, [3] = {}, [-1] = {}, } Bad = {["$"]=1,["|"]=1,["<"]=1,[">"]=1,[":"]=1,["?"]=1,["*"]=1} -- Запрещенные символы в нике/пароле Cvrt = { S1={[0]="Disabled",[1]="Enabled"}, S2={off=0,on=1}, S3={enable=1,disable=0}, S4={off=1,on=0}, P1={master=0,operator=1,vip=2,reg=3,user=-1}, P2={[0]="Master",[1]="Operator",[2]="Vip",[3]="Reg",[-1]="User"}, P3={master=0,operator=1,vip=2,reg=3}, A1={disable=0,ignore=1,warn=2,disconnect=3,kick=4,tempban=5,permban=6}, A2={inform=0,warn=1,disconnect=2,kick=3,tempban=4,permban=5}, A3={off=0,main=1,kickbar=2,opchat=3}, A4={[0]="disable",[1]="ignore",[2]="warn",[3]="disconnect",[4]="kick",[5]="tempban",[6]="permban"}, A5={[0]="disconnect",[1]="kick",[2]="tempban",[3]="permban"}, A6={disconnect=0,kick=1,tempban=2,permban=3}, M1={A="Active",P="Passive",["5"]="Socket 5",S="Socket 5"}, M2={active="A",passive="P",socket="S"}, C1={week=7,day=1}, C2={sec=1000,min=60*1000,hour=60*60*1000,day=24*60*60*1000}, C3={min=1,hour=60,day=24*60,week=7*24*60}, } Tmr = {Lucifer = 0,MemClean = 0,HubBanner = 0,LoginTimes = 0,Records = 0,TimedTopic = 0,Chatter = 0} wrong = "*** Синтаксическая ошибка в команде! Используйте: !" function Core.OnStartup() local desc = string.char(67,111,110,116,114,111,108,108,101,100,32,119,105,116,104,32,76,101,118,105,97,116,104,9 7,110,32,118)..Version..string.char(32,102,114,111,109,32,67,234,241,111,223,121,134,234,32,38,32,84 , 239,77,234,134,114,229,86,234,108,108,233,82) SetMan.SetString(21,Cfg.Bot_Name) SetMan.SetString(22,desc) SetMan.SetString(23,Cfg.Bot_EMail) Core.UnregBot(Cfg.Bot_Name) Core.RegBot(Cfg.Bot_Name,desc,Cfg.Bot_EMail,true) SetMan.SetHubBot(true,Cfg.Bot_Name,desc,Cfg.Bot_EMail,true) SetMan.SetString(5,ChangeHubDescription()) SetMan.SetBool(6,true) SetMan.SetBool(7,true) SetMan.SetBool(8,true) SetMan.SetBool(10,true) UpdateStats("Script_started") UpdateStats("StartDate",os.date()) Scan_User_Infos() DayChanges = os.date("%x") Tmr.Lucifer = TmrMan.AddTimer(60000,"Lucifer") Tmr.MemClean = TmrMan.AddTimer(10*Min,"MemCleaner") if Cfg.Timed_Hub_Banner.On_Off == "on" then Tmr.HubBanner = TmrMan.AddTimer(Cfg.Timed_Hub_Banner.Time*Cvrt.C2[Cfg.Timed_Hub_Banner.What:lower()],"HubBanner") end Tmr.LoginTimes = TmrMan.AddTimer(1*Min,"LoginTimes") if Cfg.Timed_Topic.On_Off == "on" then Tmr.TimedTopic = TmrMan.AddTimer(Cfg.Timed_Topic.Time*Cvrt.C2[Cfg.Timed_Topic.What],"TimedTopic") end if Cfg.Chatter.On_Off == "on" then Tmr.Chatter = TmrMan.AddTimer(Cfg.Chatter.Time*Cvrt.C2[Cfg.Chatter.What],"Chatter") end Tmr.Records= TmrMan.AddTimer(10*Sec,"Records") end function Core.CloseArrival(user,data) if Cfg["Debug_Mode"] == "yes" then Core.SendToProfile(0,"<•Debug•LV•"..Version.."> "..data) end end function Core.OnExit() UpdateStats("Script_stopped") local hFile = io.open(UserInfoFile,"w+") Serialize(UserInfo,"UserInfo",hFile) hFile:close() SaveToFile(BigTable,Tables,"Tables") SaveToFile(UserInfoFile,UserInfo,"UserInfo") end function ChangeHubDescription() local Description = string.gsub(SetMan.GetString(5) or "", "%s*Leviathan v(.+)", "") Description = Description.." Leviathan v"..Version return Description end function Lucifer() for key, value in pairs(tabAdvert) do if (tabAdvert[key].iClock > os.clock()+60) then tabAdvert[key] = nil end end end function MemCleaner() Clear() end function HubBanner() Clear() Timed_Hub_Banner() end function LoginTimes() -- we clean old <-- v4 database craps ;) for i,v in pairs(UserInfo) do if not v.onoff then v.onoff = {online = (v.TotalTime or 0),offline = 0,dbclr = 0} v.Leave = os.date() v.TotalTime = nil v.Julian = nil v.SessionTime = nil v.Enter = nil v.Users_Registered = nil end end -- cleaning done were updated ;) for id,who in pairs(RegMan.GetRegs()) do if Core.GetUser(who.sNick) then UserInfo[who.sNick:lower()]["onoff"]["online"] = UserInfo[who.sNick:lower()]["onoff"]["online"] + 1 -- UserInfo[who.sNick:lower()]["lastseen"] = os.date() else UserInfo[who.sNick:lower()]["onoff"]["offline"] = UserInfo[who.sNick:lower()]["onoff"]["offline"] + 1 UserInfo[who.sNick:lower()]["onoff"]["dbclr"] = UserInfo[who.sNick:lower()]["onoff"]["dbclr"] + 1 end end SaveToFile(UserInfoFile,UserInfo,"UserInfo") end function TimedTopic() if next(Tables.Topics) then -- do we have any topics? iTopics = GetNextTableItem(iTopics,Tables.Topics) SetMan.SetString(10,Tables.Topics[iTopics]) else -- if not we stop timer and set it off TmrMan.RemoveTimer(Tmr.TimedTopic) Cfg.Timed_Topic.On_Off = "off" saveTableToFile(ScriptSettingsFile,Cfg,"Cfg") end end function Chatter() if next(Tables.Messages) then local iCount = math.random(table.getn(Tables.Messages)) if Cfg.Chatter.Where == "main" then Core.SendToAll("<"..Cfg.Bot_Name..">\r\n\r\n\t"..Tables.Messages[iCount].."\r\n") else Core.SendToAll("\t"..Tables.Messages[iCount].."\t\t\t\t\t\t\t\t\t\t\t is kicking because:") end else TmrMan.RemoveTimer(Tmr.Chatter) Cfg.Chatter.On_Off = "off" saveTableToFile(ScriptSettingsFile,Cfg,"Cfg") end end function Records() if Counters.records then if tonumber(Counters.records.share or 0) < Core.GetCurrentSharedSize() then -- is current share bigger than logged Counters.records["share"] = Core.GetCurrentSharedSize() -- if it was we log it end if tonumber(Counters.records.users or 0) < Core.GetMaxUsersPeak() then Counters.records["users"] = Core.GetMaxUsersPeak() end for a,i in pairs(Core.GetOnlineUsers()) do if tonumber(Counters.records["topshare"]["share"] or 0) < Core.GetUserValue(i,16) then Counters.records["topshare"]["share"] = Core.GetUserValue(i,16) Counters.records["topshare"]["who"] = i.sNick end end if tonumber(Counters.records.uptime or 0) < Core.GetUpTime() then Counters.records["uptime"] = Core.GetUpTime() end else Counters.records = {uptime = Core.GetUpTime(),share = Core.GetCurrentSharedSize(),users = Core.GetUsersCount(),topshare = {share = 0,who = ""}} end SaveToFile(Counter_table,Counters,"Counters") Clear() end function Clear() collectgarbage("collect") end function Core.ChatArrival(user,data) if Gag[user.sNick] then Core.SendToNick(user.sNick,"<"..Cfg.Bot_Name.."> Не стоит даже пытаться ") return true end UpdateStats("Chat_Messages_Sended") if Prf[user.iProfile]["Chat_Block"]== "yes" then Core.SendToNick(user.sNick,"<"..Cfg.Bot_Name.."> *** Главный чат заблокирован") return true end if UserInfo[user.sNick:lower()] then UpdateMessages(user,"Main") if UserInfo[user.sNick:lower()].away and (data:find("!back") == nil or data:find("!away") == nil) then UserInfo[user.sNick:lower()].away = nil SaveToFile(UserInfoFile,UserInfo,"UserInfo") return Core.SendToAll("<"..Cfg.Bot_Name.."> *** "..Cvrt.P2[user.iProfile].." "..user.sNick.." вернулся в "..os.date("%T")),true end end Advert_Main_Check(user,data) local data = string.sub(data,1,(string.len(data)-1)) pm = false return GetCommands(user,data) end function Core.ToArrival(user,data) if RegMan.GetReg(user.sNick) then UpdateMessages(user,"PM") end local data = string.sub(data,1,(string.len(data)-1)) local s,e,to,from,msg = data:find("%$To:%s+(%S+)%s+From:%s+(%S+)%s+%$%b<>%s+(.+)") if to == Cfg.Bot_Name then pm = true return GetCommands(user,data) end UpdateStats("PM_Messages_Sended") D2AFFB(user,data) Advert_PM_Check(user,data) end function SendMessage(user,from,what) if pm then Core.SendPmToNick(user,from,what) else Core.SendToNick(user,"<"..from.."> "..what) end Clear() end function Core.SearchArrival(user,data) UpdateStats("Searches_Done") Check_User_Info(user,Hubs,Slots,Share,Limiter,Client,Mode,data) if Cfg.RegistryCleaner.Automatic == "yes" then if DayChanges ~= os.date("%x") then DayChanges = os.date("%x") Do_Database_Clean() end end if Prf[user.iProfile]["Block_Download_Search"] == "yes" then local _,_,what = data:find("$Search %S+%s%S+?%S+?%S+?%S+?(.*)|") return Core.SendToNick(user.sNick,"$SR "..Cfg.Bot_Name.." Restrictions\\Search\\"..(what or "").."\\Searching "..(what or "").." is blocked here!!"..string.char(5).."0 0/0"..string.char(5).."TTH:SEARCHBLOCKEDBYLEVIATHAN ("..(SetMan.GetString(2) or "")..":"..(SetMan.GetString(3) or "")..")"),true end if Prf[user.iProfile]["Enable_Search_Check"] == "yes" then local _,_,what = data:find("$Search %S+%s%S+?%S+?%S+?%S+?(.*)|") for deny,key in pairs(Tables.Search_Check.bad) do for allow,key in pairs(Tables.Search_Check.good) do if string.find(string.lower((what or "")),string.lower((allow or ""))) then return true end if string.find(string.lower((what or "")),string.lower((deny or ""))) then BadSearch_Message(user,what,deny) return Core.SendToNick(user.sNick,"$SR "..Cfg.Bot_Name.." Restrictions\\Search\\"..(what or "").."\\Search Blocked.<"..(what or "").."> is forbidden to search here!!"..string.char(5).."0 0/0"..string.char(5).."TTH:BADSEARCHBLOCKEDBYLEVIATHAN ("..SetMan.GetString(2)..":"..SetMan.GetString(3)..")"),true end end end end Clear() end function Core.ConnectToMeArrival(user,data) Core.UpdateStats("ConnectToMe_Arrivals") if Prf[user.iProfile]["Block_Download_Search"] == "yes" then data = string.sub(data,1,-2) local _,_,who = data:find("%S+%s+(%S+)") return Block_DL(user,who) end end function Core.RevConnectToMeArrival(user,data) UpdateStats("RevConnectToMe_Arrivals") if Prf[user.iProfile]["Block_Download_Search"] == "yes" then data = string.sub(data,1,-2) local _,_,who = data:find("%S+%s+(%S+)") return Block_DL(user,who) end end function Core.MultiConnectToMeArrival(user,data) UpdateStats("MultiConnectToMe_Arrivals") if Prf[user.iProfile]["Block_Download_Search"] == "yes" then data = string.sub(data,1,-2) local _,_,who = data:find("%S+%s+(%S+)") return Block_DL(user,who) end end function Core.UDPSRArrival(user,data) UpdateStats("UDPS_Arrivals") end function Core.SRArrival(user,data) local _,_,free,all = data:find(" (%d+)/(%d+)\005") if free ~= "0" then if not slots[user.sNick] then nslots = nslots + 1 end slots[user.sNick] = { tonumber(free), os.clock() } end UpdateStats("SR_Arrivals") end function Core.MyINFOArrival(user,data) UpdateStats("MyINFOs_Detected") checkTibic(user,data) Check_User_Info(user,Hubs,Slots,Share,Limiter,Client,Mode,data) end function Core.OpConnected(user,data) if Prf[user.iProfile] then if user.sNick:find("CксoЯy†к") or user.sNick:find("TпMк†rеVкllйR") then Core.SendToAll("<"..Cfg.Bot_Name.."> Вау! Разработчик скрипта на хабе '"..user.sNick.."';)") end if socket.dns.tohostname(user.sIP) then if dns_bans[socket.dns.tohostname(user.sIP)] then Core.SendToNick(user.sNick,"<"..Cfg.Bot_Name.."> Ваше DNS-имя забанено!") Core.Disconnect(user.sNick) if Cfg["Debug_Mode"] == "yes" then Core.SendToProfile(0,"<•Debug•LV•"..Version.."> "..user.sNick.." отключен, так как его DNS-имя забанено: "..socket.dns.tohostname(user.sIP)) end end end if Prf[user.iProfile]["Clone_Block"] then -- check that profile has clone block in settings if Prf[user.iProfile]["Clone_Block"] == string.lower("yes") then -- check do we block profiles clones for _,v in pairs(Core.GetOnlineUsers()) do -- fetch online nicks if user.sIP == v.sIP then -- is ip allready connected Core.SendToOps("<"..Cfg.Bot_Name.."> отключен "..user.sNick.." ("..user.sIP..") причина: Клон IP "..v.sNick.." ("..v.sIP..")") -- inform OPs Core.SendToNick(user.sNick,"<"..Cfg.Bot_Name.."> Юзер с таким IP уже на хабе.") -- send message to user BanMan.TempBanIP(user.sIP, 0,"Клон IP ("..user.sNick.."/"..v.sNick..")",Cfg.Bot_Name,true) -- tempban ip Core.Disconnect(user.sNick) -- disconnect user end end end else Prf[user.iProfile]["Clone_Block"] = "no" -- clone block werent in settings.. now it is SaveToFile(ProfileSettingsFile,Prf, "Prf") -- we save it Core.SendToOps("<"..Cfg.Bot_Name.."> Missing Clone Block added to profile "..user.iProfile.." (default not blocked)") -- and inform it end if user.iProfile == -1 and D2AFFB_Shares[tostring(Core.GetUserValue(user,16))] and D2AFFB_Nicks[user.sNick] and D2AFFB_IPs[user.sIP] then local msg = "Вы были отключены !!\r\n" msg = msg.."\tПричина:\r\n" msg = msg.."\tIP & Nick & Sharesize is logged as Adult Friend Finder spammer bot\r\n" msg = msg.."\t Если эта информация неверна.. Найдите одного из операторов хаба и дайте ему знать!!\r\n" Core.SendPmToNick(user.sNick,Cfg.Bot_Name,msg) Core.SendToOps("<"..Cfg.Bot_Name.."> "..user.sNick.." / "..user.sIP.." с шарой "..Core.GetUserValue(user,16).." отключен") Core.Disconnect(user.sNick) end UpdateStats("Users_Logged_IN") if IP_Check[user.sNick] then Check_IP(user,data) end if Prf[user.iProfile]["Login_Message"] == string.lower("yes") then Login_Message(user,data) end if Prf[user.iProfile]["Block_Download_Search"] == string.lower("yes") then Core.SendToNick(user.sNick,"<"..Cfg.Bot_Name.."> Скачивание и поиск недоступны для вашего профиля !!") end Notify_Login(user,data) if RegMan.GetReg(user.sNick) then if UserInfo[user.sNick:lower()] then UserInfo[user.sNick:lower()].onoff.dbclr = 0 UserInfo[user.sNick:lower()].Enter = os.date() UserInfo[user.sNick:lower()].Tag = user.sTag UserInfo[user.sNick:lower()].IP = user.sIP if UserInfo[user.sNick:lower()].dns then if socket.dns.tohostname(user.sIP) then UserInfo[user.sNick:lower()].dns = socket.dns.tohostname(user.sIP) end else UserInfo[user.sNick:lower()].dns = socket.dns.tohostname(user.sIP) end SaveToFile(UserInfoFile,UserInfo, "UserInfo") end end if Prf[user.iProfile].Send_RightClick == "yes" then SendCommands(user) end Check_User_Info(user,Hubs,Slots,Share,Limiter,Client,Mode,data) if RegMan.GetReg(user.sNick) and offlinemsg[user.sNick:lower()] then Core.SendToNick(user.sNick,"<"..Cfg.Bot_Name.."> *** Вы получили сообщение ! (Введите команду !readmessages для того, чтобы прочитать сообщение. После прочтения сообщения оно автоматически будет удалено.)") Core.SendPmToNick(user.sNick,Cfg.Bot_Name,"*** Вы получили сообщение ! (Введите команду !readmessages для того, чтобы прочитать сообщение. После прочтения сообщения оно автоматически будет удалено.)") end else Core.SendToNick(user.sNick,"<"..Cfg.Bot_Name.."> Скрипт Левиафан не поддерживает ваш профиль =( (Сообщите владельцу хаба о необходимости внести ваш профиль в файл Profiles.xml из папки ./scripts\LV_DataBase\Cfg files)") Core.Disconnect(user.sNick) Core.SendToAll("<"..Cfg.Bot_Name.."> \r\n\tUser "..user.sNick.." Скрипт Левиафан не поддерживает ваш профиль =(\r\n\t(Сообщите владельцу хаба о необходимости внести ваш профиль в файл Profiles.xml из папки ./scripts\LV_DataBase\Cfg files)\r\n") end end Core.UserConnected,Core.RegConnected = Core.OpConnected,Core.OpConnected function Core.OpDisconnected(user,data) UpdateStats("Users_Logged_OUT") Notify_Logout(user,data) if RegMan.GetReg(user.sNick) then if UserInfo[user.sNick:lower()] then UserInfo[user.sNick:lower()]["Leave"] = os.date() SaveToFile(UserInfoFile,UserInfo, "UserInfo") end end end Core.UserDisconnected,Core.RegDisconnected = Core.OpDisconnected,Core.OpDisconnected function UnknownArrival(user,data) UpdateStats("Unknown_Arrivals") if Prf[user.iProfile]["Allow_USERIP_v1"] == "yes" then return true else USERIP_v1_Check(user,data) end end function Core.OpForceMoveArrival(user,data) if user.iProfile == 0 or Command_Permission["redirect"][user.iProfile] then UpdateStats("Manual_redirects") return false else Forbidden(user) return true end end function Core.KickArrival(user,data) if user.iProfile == 0 or Command_Permission["kick"][user.iProfile] then UpdateStats("Client_side_kicks") return false else Forbidden(user) return true end end function Core.OnError(ErrorMsg) tbl = {} local vrs = Core.Version UpdateStats("Script_Errors") local _,_,msg = ErrorMsg:find("%/scripts%/(.*)") local f,e = io.open("LV_DataBase/error.log", "a+" ) if f then f:write("") f:close() end dofile("LV_DataBase/error.log") local ErrorMsg,ErrorMsg = msg,ErrorMsg if tbl[msg or ErrorMsg] then Core.SendToOps("<"..Cfg.Bot_Name.."> *** Обнаружена неизвестная ошибка!") return true else Core.SendToOps("<"..Cfg.Bot_Name.."> \r\n\r\n\tОбнаружена ошибка в работе скрипта. Пожалуйста свяжитесь с разработчиками на ]]-- Sec=100...t://http://mydc.ru[/post] ]]-- Sec=100...t://http://mydc.ru[/post] ]]-- Sec=100...t://http://mydc.ru[/post] ]]-- Sec=100...ndex>]]> \r\n") Core.SendToOps("<"..Cfg.Bot_Name.."> *** Ошибка записана в лог !") tbl[msg or ErrorMsg] = os.date() SaveToFile("LV_DataBase/error.log",tbl,"tbl") end end function Core.BotINFOArrival(user,data) UpdateStats("Pinger_Visited") end function LoadFile(file) local handle = io.open(file,"r") if handle then local sdata = "" local line = "" for line in handle:lines() do sdata = sdata..line.."\r\n" end return sdata else sdata = "Файл / команда не доступна!" return sdata end handle:close() end function Serialize(tTable,sTableName,hFile,sTab) sTab = sTab or "" hFile:write(sTab..sTableName.." = {\n") for key,value in pairs(tTable) do if (type(value) ~= "function") then local sKey = (type(key) == "string") and string.format("[%q]",key) or string.format("[%d]",key) if(type(value) == "table") then Serialize(value,sKey,hFile,sTab.."\t") else local sValue = (type(value) == "string") and string.format("%q",value) or tostring(value) hFile:write(sTab.."\t"..sKey.." = "..sValue) end hFile:write(",\n") end end hFile:write(sTab.."}") end function SaveToFile(file,table,tablename) local hFile = io.open(file,"w+") Serialize(table,tablename,hFile) hFile:close() io.flush() end"]LV_4.00.lua Почемуто я не могу этот скрипт перевести( |
|
|
Похожие темы
Тема | Ответов | Автор | Просмотров | Последнее сообщение | |
---|---|---|---|---|---|
ВАЖНО: Вопросы Разработчикам Скриптов вопросы по скриптам (мелкие вопросы) |
1 049 | Wariner | 988 938 | 3.2.2019, 12:51 Посл. сообщение: MIKHAIL | |
ВАЖНО: Модули для скриптов RusHub | 26 | Setuper | 45 297 | 21.3.2017, 17:31 Посл. сообщение: Alexey | |
От: Вопросы Разработчикам Скриптов От темы с ID: 173 |
0 | MIKHAIL | 4 329 | 23.1.2015, 0:56 Посл. сообщение: MIKHAIL | |
От: Установка скриптов От темы с ID: 5657 |
0 | MIKHAIL | 4 795 | 29.7.2014, 23:37 Посл. сообщение: MIKHAIL | |
Установка скриптов Нужна помощь по установке |
2 | _wRz_ | 7 307 | 29.7.2014, 16:11 Посл. сообщение: Артём | |
Метод взятия имени/пути скрипта Метод взятия имени/пути этого скрипта в самом скрипте и других |
2 | Karumo | 7 016 | 6.4.2014, 22:24 Посл. сообщение: Alexey | |
От: Вопросы Разработчикам Скриптов От темы с ID: 173 |
29 | Wariner | 25 937 | 28.1.2014, 13:11 Посл. сообщение: Alexey | |
Единая платформа для скриптов Обсуждения вопроса создания единой платформы скриптов |
5 | Enyby | 9 032 | 18.1.2012, 20:15 Посл. сообщение: Setuper | |
Переделка скриптов Прошу помощи |
47 | Fe(one)X | 41 281 | 26.12.2011, 15:04 Посл. сообщение: Ksan | |
Вопросы Разработчикам Скриптов с SQL вопросы по скриптам (мелкие вопросы) |
101 | Wariner | 62 148 | 6.12.2011, 0:34 Посл. сообщение: Enyby | |
Скрипт сервисов перевода PtokaX API2 API2 переводчик translate.google.com |
3 | Phazeus | 11 843 | 6.11.2011, 4:30 Посл. сообщение: MIKHAIL | |
ВАЖНО: Метод Быстрого Перевода Скриптов Под API_1 Самостоятельный быстрый перевод из API_2 ---> в API_1 |
30 | Setuper | 51 136 | 14.8.2011, 21:16 Посл. сообщение: Олешка | |
От: Переделка скриптов От темы с ID: 4941 |
6 | Ksan | 9 663 | 12.8.2011, 11:33 Посл. сообщение: Ksan | |
ВАЖНО: Запросы Скриптов Ваши идеи по разработке скриптов под HeXHuB |
36 | Setuper | 49 234 | 16.5.2011, 9:40 Посл. сообщение: ANDRBEST | |
Документация DBHub - Написание скриптов на Perl | 0 | Артём | 7 662 | 20.10.2010, 18:08 Посл. сообщение: Артём |
|
Сейчас: 23.11.2024, 12:14 |