Мелоч В Скрипте(полосочка), не ругайтесь |
Здравствуйте, гость ( Вход | Регистрация )
Мелоч В Скрипте(полосочка), не ругайтесь |
18.12.2008, 1:28
Сообщение
#1
|
|
Начинающий Группа: Пользователи Сообщений: 25 Регистрация: 12.12.2008 Пользователь №: 1 397 Спасибо сказали: 0 раз |
полосочку ПОД КНОПКОЙ ПОКАЗАТЬ 100 ЛУЧШИХ на которою я указал не могу не как убрать! кто поможет? знаете мелоч канеш но не приятно! знаю достал... но чтож я поделаю... я только учусь! CODE tProfiles = {
[0] = "Администратор", [1] = "Оператор", [2] = "Специальный пользователь", [3] = "Зарегистрированный пользователь", [-1] = "Незарегистрированный пользователь", } iRunkNumberToDoVip = 0 -- Номер ранга, с которого зарегеный юзер получит VIP iProfileToMakeFromVip = 0 -- профиль с которого повышается до випа iProfileToMakeToVip = 0 -- профиль випа iTimeToSave = 10 -- время в минутах на сохранение таблицы с рангами (на всякий) bWelcomeMsg = 0 -- Отправлять ли сообщение о ранге юзера при входе (если есть хоть 1 сообщение) sBot = "Rank" -- Имя бота MaxShowed = 100 -- Максимально выводимое кол-во участников ранжирования bMenu = "Лучшие сообщения" -- Название меню UserCommands = 1 -- Включить менюшку 1=да/0=нет RankFile = "LZ_Rank 1.0 Data Base.tbl" -- Файл, в котором будут сохраняться участники ранжирования RankNamesFile = "LZ_Rank 1.0 Title.tbl" -- Файл с вариантами рангов (новый!) RankMembersName = "LaMBDaZ" -- Выберите стандартный тип рангов (можно в tRanks.tbl создать свою группу рангов) -- Выберете, кто будет учавствовать в рангах: tSetProfile = { [0] = 1, [1] = 1, [2] = 1, [3] = 1, [-1] = 0, } ------------------------------------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------------------------------------ tCommands = {} tFunctions = {} tRankingTable = {} tRankCounts = {} tRankNumbers = {} Main = function() assert(nil, "Эта версия скрипта пердназначена для API 2") end OnStartup = function() sScriptsPath = Core.GetPtokaXPath():gsub("/", "\\").."scripts\\" iTimeToSave = iTimeToSave * 60 if loadfile(sScriptsPath..RankFile) then dofile(sScriptsPath..RankFile) end dofile(sScriptsPath..RankNamesFile) tRankMembers = tRanks[RankMembersName] tRanks = nil for i,v in pairs(tRankMembers) do tRankCounts[v[1]] = i end for i,v in pairs(tRankingTable) do local sRankName, iRankNumber = tFunctions.GetRankName(v) tRankNumbers[i] = iRankNumber end TmrMan.AddTimer((iTimeToSave * 60 * 1000), "SaveScriptData") TmrMan.AddTimer(1000, "RemoveTrash") end ABD = function() -- add bot data return "<"..sBot.."> " end SFBTU = function(tUser, sData) -- send from bot to user local sData = ABD()..sData Core.SendToUser(tUser, sData) end RemoveTrash = function() collectgarbage("collect") end SaveScriptData = function() OnExit() end OnExit = function() saveTableToFile(sScriptsPath..RankFile, tRankingTable, "tRankingTable") end ChatArrival = function(user, data) local data = string.sub(data,1,-2) local s,e,prefix =string.find(data, "%b<>%s+%p(%S+)") local bReturn = 0 if prefix == "topranks" then SFBTU(user, tFunctions.ShowRanks()) bReturn = 1 elseif prefix == "top100ranks" then SFBTU(user, tFunctions.ShowRanks(1)) bReturn = 1 elseif prefix == "getrank" then local s,e,name = string.find(data, "%b<>%s+%S+%s+(%S+)") if name then if tRankingTable[name] then if name == user.sNick then SFBTU(user, "*** Ты оставил(а) в чате "..tRankingTable[name].." сообщений, ваш ранг №"..tRankNumbers[name]..": "..tRankMembers[tRankNumbers[name]][2].."") else SFBTU(user, "*** "..name.." оставил в чате "..tRankingTable[name].." сообщений, его ранг №"..tRankNumbers[name]..": "..tRankMembers[tRankNumbers[name]][2].."") end else if name == user.sNick then if tSetProfile[user.iProfile] and tSetProfile[user.iProfile] == 1 then SFBTU(user, "Вы не оставили в чате ни одного сообщеня!") else SFBTU(user, "Вы не участвуете в системе ранжирования сообщений чата!") end else SFBTU(user, "Пользователь "..name.." не оставил ни одного сообщения в чате!") end end else SFBTU(user, "*** Используйте команду: !getrank <ник>") end bReturn = 1 elseif prefix == "ranksinfo" then local iRankValue = 1 local Info = "\n\n\t«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»\r\n\t\tТаблица рангов\r\n" Info = Info.."\t«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»\r\n\t\t№:\tСообщений:\tРанг:\r\n" for i = 1, table.maxn(tRankMembers) do local VipOrNot = "" if i == iRunkNumberToDoVip then VipOrNot = "\t [VIP]" end Info = Info.."\t\t "..i.."\t"..string.format("%0.f", iRankValue).."\t\t"..tRankMembers[i][2]..VipOrNot.."\r\n" iRankValue = tRankMembers[i][1] end SFBTU(user, Info) bReturn = 1 elseif prefix == "changerank" then if user.iProfile == 0 then tFunctions.ChangeRank(user, data) else SFBTU(user, "У вас нет доступа к этой команде!") end bReturn = 1 elseif prefix == "showranksinfo" then SFBTU(user, ShowRanksStats()) bReturn = 1 end if bReturn == 1 then return true elseif tSetProfile[user.iProfile] and tSetProfile[user.iProfile] == 1 then tFunctions.UpdateRanks(user) end end UserConnected = function(user) if tRankingTable[user.sNick] and bWelcomeMsg == 1 then SFBTU(user, "(->) Вы оставили в чате "..tRankingTable[user.sNick].." сообщений. Ваш текущий ранг №"..tRankNumbers[user.sNick]..": "..tRankMembers[tRankNumbers[user.sNick]][2].."") end tFunctions.SendCommands(user) end RegConnected = UserConnected OpConnected = UserConnected --// Functions --------------------------------------------------------------------------------------------------------- tFunctions.GetRankName = function(points) local iMaxRank = table.maxn(tRankMembers) local iRank,iRankValue,iNumber = tRankMembers[iMaxRank][1],1,iMaxRank for i = 1, iMaxRank do local iStart,iEnd = iRankValue, tRankMembers[i][1] if points >= iStart and points <= iEnd then iRank = tRankMembers[i][2] iNumber = i break end iRankValue = iEnd end return iRank, iNumber end tFunctions.ShowRanks = function(bAll) local tTemp = {} for i,v in pairs(tRankingTable) do table.insert(tTemp,{i,v}) end table.sort(tTemp,function(a,b) return (a[2] > b[2]) end) local disp = "\r\n\r\n\t«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»\r\n" if bAll then disp = disp.."\t\t100 лучших пользователей\r\n" else disp = disp.."\t\tЛучшие пользователи по количеству набраных сообщений\r\n" end disp = disp.."\t----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------\r\n" disp = disp.."\t\tМесто\tНабрал\tРанг\t\t\tПсевдоним\r\n" local iFor = MaxShowed if bAll then iFor = 100 disp = disp.."\t----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------\r\n" end for i = 1, iFor do if tTemp[i] then disp = disp.."\t\t"..i..".\t"..tTemp[i][2].."\t№"..tRankNumbers[tTemp[i][1]]..": "..tRankMembers[tRankNumbers[tTemp[i][1]]][2].."\t\t"..tTemp[i][1].."\r\n" end end disp = disp.."\t«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»\r\n" return disp end function ShowRanksStats() local tTemp = {} local iTopRanksCount = 0 local iMaxRanksCount = 0 local iAllRanksCount = 0 for i,v in pairs(tRankingTable) do table.insert(tTemp,{i,v}) end table.sort(tTemp,function(a,b) return (a[2] > b[2]) end) local disp = "\n\n\t«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»\r\n\t\tТекущая статистика рангов:\r\n" local disp = disp.."\t«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»«»\r\n" for i, v in pairs(tTemp) do if i <= 10 then iTopRanksCount = iTopRanksCount + v[2] end if i <= 100 then iMaxRanksCount = iMaxRanksCount + v[2] end iAllRanksCount = iAllRanksCount + v[2] end local disp = disp.."\t\tСообщений оставлено 10 лучшими пользовалетями"..iTopRanksCount.."\r\n" local disp = disp.."\t\tСообщений оставлено 100 лучшими пользовалетями"..iMaxRanksCount.."\r\n" local disp = disp.."\t\tВсего сообщений оставлено в чате: "..iAllRanksCount.."\r\n" local disp = disp.."\t\tСтатус специальный с "..iRunkNumberToDoVip.."-го ранга ("..tRankMembers[iRunkNumberToDoVip][2]..")\r\n" local disp = disp.."\t\tКол-во сообщений для достижения: "..tRankMembers[iRunkNumberToDoVip - 1][1].."\r\n" return disp end tFunctions.UpdateRanks = function(user) local iUpdate = tRankingTable[user.sNick] if not iUpdate then iUpdate = 0 tRankNumbers[user.sNick] = 0 end iUpdate = iUpdate + 1 tRankingTable[user.sNick] = iUpdate if tRankCounts[iUpdate] then tRankNumbers[user.sNick] = tRankNumbers[user.sNick] + 1 if user.iProfile ~= -1 and tRankNumbers[user.sNick] >= iRunkNumberToDoVip and user.iProfile == iProfileToMakeFromVip then local tReg = RegMan.GetReg(user.sNick) end end end tFunctions.SendCommands = function(user) if UserCommands == 1 then Core.SendToUser(user, "$UserCommand 1 3 "..bMenu.."\\Показать 100 лучших$<%[mynick]> !top100ranks|") if user.iProfile == 0 then end end end Serialize = function(tTable, sTableName, hFile) hFile:write(sTableName.." = {\n") for key,value in pairs(tTable) do local sKey = (type(key) == "string") and string.format("[%q]",key) or string.format("[%d]",key) if(type(value) == "table") then Serialize(value,sKey,hFile) else local sValue = (type(value) == "string") and string.format("%q",value) or tostring(value) hFile:write(sKey.." = "..sValue) end hFile:write(",\n") end hFile:write("}") end saveTableToFile = function(file, table, tablename) local handle = io.open(file,"w") Serialize(table,tablename,handle) handle:close() end |
|
|
18.12.2008, 1:43
Сообщение
#2
|
|
RusHub team lead Группа: Модераторы Сообщений: 4 030 Регистрация: 20.6.2008 Из: г. Королёв (Моск. обл.) Пользователь №: 46 Спасибо сказали: 1708 раз |
Разделитель задаётся командой $UserCommand 0
В данном скрипте этой команды нету. Возможно она есть в другом скрипте, например, в следующем за этим в списке твоих скриптов. |
|
|
18.12.2008, 1:46
Сообщение
#3
|
|
Начинающий Группа: Пользователи Сообщений: 25 Регистрация: 12.12.2008 Пользователь №: 1 397 Спасибо сказали: 0 раз |
как это нету а как же?
Код Core.SendToUser(user, "$UserCommand 1 3 "..bMenu.."\\Показать 100 лучших$<%[mynick]> !top100ranks|") я тут ноль ставил када 0 ставлю ваще исчезает менюшка напиши примерно код как должно выглядеть мож сюда добавить можна? |
|
|
18.12.2008, 2:07
Сообщение
#4
|
|
RusHub team lead Группа: Модераторы Сообщений: 4 030 Регистрация: 20.6.2008 Из: г. Королёв (Моск. обл.) Пользователь №: 46 Спасибо сказали: 1708 раз |
Я что непонятно написал? Может ещё раз вдумчиво прочитаешь мой ответ?
|
|
|
18.12.2008, 2:16
Сообщение
#5
|
|
Начинающий Группа: Пользователи Сообщений: 25 Регистрация: 12.12.2008 Пользователь №: 1 397 Спасибо сказали: 0 раз |
тока не кричи, всмысле нету? типа неотуда появился чтоль разделитель? или другой скрипт виноват?
я пасмарел другие скрипты там везде так же... хотя разделительной полоски нету... Ааааааа все дошло я правильно понял... оказывается в реге эа команда стояла... убрал ее и все кул... Спасибо =) |
|
|
Похожие темы
|
Сейчас: 27.11.2024, 4:44 |