Скрипт Сохраняющий Данные В Xml, API2 |
Здравствуйте, гость ( Вход | Регистрация )
Скрипт Сохраняющий Данные В Xml, API2 |
8.3.2009, 15:10
Сообщение
#1
|
|
Участник Группа: Пользователи Сообщений: 35 Регистрация: 2.12.2008 Пользователь №: 1 278 Спасибо сказали: 0 раз |
Нужен скрипт который сохранял данные: имя хаба, топик, описание, кол-во юзеров онлайн, общяя шара,
|
|
|
8.3.2009, 15:19
Сообщение
#2
|
|
Освоившийся участник Группа: Пользователи Сообщений: 314 Регистрация: 13.10.2008 Пользователь №: 791 Спасибо сказали: 9 раз |
есть скрипт StatPx делает всё тоже самое. ищи
|
|
|
8.3.2009, 15:28
Сообщение
#3
|
|
Участник Группа: Пользователи Сообщений: 35 Регистрация: 2.12.2008 Пользователь №: 1 278 Спасибо сказали: 0 раз |
Редактировать скрипт StatPx для меня - глупо. В lua я ноль. Мне нужен простой, без лишнеко кода скрипт, так что StatPx не неподходит.
|
|
|
8.3.2009, 15:53
Сообщение
#4
|
|
Освоившийся участник Группа: Пользователи Сообщений: 314 Регистрация: 13.10.2008 Пользователь №: 791 Спасибо сказали: 9 раз |
учи Луа. так как в природе нет такого скрипта с таким функционалом. и без знания Луы не напишешь.
|
|
|
8.3.2009, 16:09
Сообщение
#5
|
|
Участник Группа: Пользователи Сообщений: 35 Регистрация: 2.12.2008 Пользователь №: 1 278 Спасибо сказали: 0 раз |
|
|
|
9.3.2009, 7:58
Сообщение
#6
|
|
Освоившийся участник Группа: Пользователи Сообщений: 314 Регистрация: 13.10.2008 Пользователь №: 791 Спасибо сказали: 9 раз |
поступай как я: ьери скрипт любой простой. и начни его чуток изменять под себя начиная с профилей. потом расширяй его функционал копируя функции из других скриптов.
все так начинали есть поговорка: "Через задницу к звёздам". Удачи! |
|
|
9.3.2009, 10:25
Сообщение
#7
|
|
Местный Группа: Неактивированные Сообщений: 908 Регистрация: 26.12.2008 Пользователь №: 1 574 Спасибо сказали: 1406 раз |
Lpein
Изобрази как это должно выглядеть. |
|
|
9.3.2009, 12:21
Сообщение
#8
|
|
RusHub team lead Группа: Модераторы Сообщений: 4 030 Регистрация: 20.6.2008 Из: г. Королёв (Моск. обл.) Пользователь №: 46 Спасибо сказали: 1708 раз |
Полый синтаксис xml нужно предоставить.
|
|
|
9.3.2009, 22:40
Сообщение
#9
|
|
Участник Группа: Пользователи Сообщений: 35 Регистрация: 2.12.2008 Пользователь №: 1 278 Спасибо сказали: 0 раз |
Полый синтаксис xml нужно предоставить. Надесью правильно тебя понял. CODE <?xml version="1.0" encoding="UTF-8"?><hub> <hub_name>имя хаба</hub_name> <topik>топик</topik> <description>описание</description> <users>кол-во юзеров онлайн</users> <shara>общяя шара</shara> <admins_online>админы онлайн</admins_online> <hub_online>время работы хаба</hub_online> <info>своя инфа</info> </hub> Файл с чатом (выводится 9 последних строкс чата хаба): CODE <?xml version="1.0" encoding="UTF-8"?><chat> <1>[21:29:10] <белый> кто живой</1> <2>[21:29:11] <белый> кто живой</2> <3>[21:29:12] <белый> кто живой</3> <4>[21:29:13] <белый> кто живой</4> <5>[21:29:14] <белый> кто живой</5> <6>[21:29:15] <белый> кто живой</6> <7>[21:29:16] <белый> кто живой</7> <8>[21:29:17] <белый> кто живой</8> <9>[21:29:18] <белый> кто живой</9> </chat> (это пример) |
|
|
9.3.2009, 22:52
Сообщение
#10
|
|
RusHub team lead Группа: Модераторы Сообщений: 4 030 Регистрация: 20.6.2008 Из: г. Королёв (Моск. обл.) Пользователь №: 46 Спасибо сказали: 1708 раз |
нет, не правильно ты меня понял.
ты предоставил примеры, некоторые даже не xml. Данные примеры воплощают далеко не весь синтаксис xml. Или тебе полный xml не надо, а нужно только по эти примеры реализацию? |
|
|
9.3.2009, 23:46
Сообщение
#11
|
|
Участник Группа: Пользователи Сообщений: 35 Регистрация: 2.12.2008 Пользователь №: 1 278 Спасибо сказали: 0 раз |
Поправил. Теперь нормально?
|
|
|
10.3.2009, 0:51
Сообщение
#12
|
|
RusHub team lead Группа: Модераторы Сообщений: 4 030 Регистрация: 20.6.2008 Из: г. Королёв (Моск. обл.) Пользователь №: 46 Спасибо сказали: 1708 раз |
Код <5>[21:29:14] <белый> кто живой</5> Это не xml!Где закрывающийся тэг для тэга <белый>? Правильно будет так: Код <5>[21:29:14] <белый/> кто живой</5> Или же так: Код <5>[21:29:14] <белый></белый> кто живой</5> Или так: Код <5>[21:29:14] <белый> кто живой</5> Либо тебе не совсем xml нужен, либо я не знаю что тебе нужно. |
|
|
10.3.2009, 1:26
Сообщение
#13
|
|
Участник Группа: Пользователи Сообщений: 35 Регистрация: 2.12.2008 Пользователь №: 1 278 Спасибо сказали: 0 раз |
тогда чат ненадо, хватит и первого xml`а
|
|
|
10.3.2009, 11:53
Сообщение
#14
|
|
Местный Группа: Неактивированные Сообщений: 908 Регистрация: 26.12.2008 Пользователь №: 1 574 Спасибо сказали: 1406 раз |
А для чего оно тебе, если не секрет?
|
|
|
10.3.2009, 12:22
Сообщение
#15
|
|
RusHub team lead Группа: Модераторы Сообщений: 4 030 Регистрация: 20.6.2008 Из: г. Королёв (Моск. обл.) Пользователь №: 46 Спасибо сказали: 1708 раз |
Функция для сохранения в один вариант xml файла:
Код local function ST(t, f, c) for i, j in pairs(t) do if type(j)=="table" then f:write(string.rep("\t",c).."<"..tostring(i)..">\n") c=c+1 ST(j, f, c) c=c-1 f:write(string.rep("\t",c).."</"..tostring(i)..">\n") elseif tostring(j) and tostring(j)~="" then f:write(string.rep("\t",c).."<"..tostring(i)..">"..tostring(j).."</"..tostring(i)..">\n") end end end function SaveToXml(sFile, tTable, sStr) local h = io.open(sFile, "w") if h then if sStr and tostring(sStr) then h:write(string.format("%q", tostring(sStr)).."\n") else h:write("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n") end ST(tTable, h, 0) h:flush() h:close() return true end end Использование: Код tTab = {
hub = { hub_name = "имя хаба", topik = "топик", description = "описание", users = "кол-во юзеров онлайн", shara = "общяя шара", admins_online = "админы онлайн", hub_online = "время работы хаба", info = "своя инфа", } } SaveToXml("test.xml", tTab) |
|
|
10.3.2009, 13:52
Сообщение
#16
|
|
Главный ра******й тут... Группа: Главные администраторы Сообщений: 1 727 Регистрация: 18.5.2008 Из: RF, 2la Пользователь №: 1 Спасибо сказали: 776 раз |
Мои маленькие наброски, может пригодиться, думаю надо обязательно включить в функцию замену < > " ' &
CODE newrow = "\r\n" string.g = function(sData, s1, s2) return sData:gsub(s1, Return(s2)) end tNeedGusbsForXml = { ["<"] = "<", [">"] = ">", ["'"] = "'", ["\""] = """, } function Save(tTable, sTableName) local sData = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"..newrow sData = sData..SerializeToString(tTable, sTableName, sTab) return sData end function Return(sData) if type(sData) == "function" then return sData end return function() return sData end end function NeedGusbsForXml(sData) sData = tostring(sData) or "" sData = sData:g("&", "&") for w, t in pairs(tNeedGusbsForXml) do sData = sData:g(w, t) end return sData end function SerializeToString(tTable, sTableName, sTab) local sTab = sTab or "" sTableName = NeedGusbsForXml(sTableName) local sTmp = sTab.."<"..sTableName..">"..newrow for key, value in pairs(tTable) do local sKey = NeedGusbsForXml(key) if type(value) == "table" then sTmp = sTmp..SerializeToString(value, sKey, sTab.."\t") else local sValue = NeedGusbsForXml(value) sTmp = sTmp..sTab.."\t<"..sKey..">"..sValue.."</"..sKey..">"..newrow end end sTmp = sTmp..sTab.."</"..sTableName..">"..newrow return sTmp end tTable = { strings = {}, bools = {}, nums = {}, } for i = 0, 34 do tTable.strings[i] = SetMan.GetString(i) or "" end for i = 0, 113 do tTable.nums[i] = SetMan.GetNumber(i)-- or "" end for i = 0, 55 do tTable.bools[i] = SetMan.GetBool(i) or "false" end Core.SendToAll(Save(tTable, "HubConfig")) Результат примерно такой: CODE <?xml version="1.0" encoding="UTF-8"?> <HubConfig> <nums> <1>0</1> <2>0</2> <3>0</3> <4>0</4> <5>0</5> <6>0</6> <7>0</7> <8>0</8> <9>0</9> <10>0</10> <11>1</11> <12>300</12> <13>5</13> <14>512</14> <15>25</15> <16>20</16> <17>100</17> <18>30</18> <19>20</19> <20>20</20> <21>2</21> <22>5</22> <23>60</23> <24>2</24> <25>2</25> <26>2</26> <27>3</27> <28>10</28> <29>10</29> <30>2</30> <31>5</31> <32>60</32> <33>2</33> <34>2</34> <35>2</35> <36>3</36> <37>2</37> <38>10</38> <39>1</39> <40>1</40> <41>60</41> <42>1</42> <43>6</43> <44>60</44> <45>2</45> <46>1</46> <47>120</47> <48>3</48> <49>10</49> <50>60</50> <51>6</51> <52>2</52> <53>240</53> <54>20</54> <55>10</55> <56>10</56> <57>2</57> <58>1</58> <59>96</59> <60>2</60> <61>64</61> <62>1</62> <63>24</63> <64>100</64> <65>25</65> <66>120</66> <67>600</67> <68>3</68> <69>60</69> <70>300</70> <71>3</71> <72>31</72> <73>300</73> <74>3</74> <75>30</75> <76>900</76> <77>3</77> <78>256</78> <79>500</79> <80>60</80> <81>1</81> <82>5000</82> <83>600</83> <84>0</84> <85>250</85> <86>60</86> <87>1</87> <88>2500</88> <89>600</89> <90>3</90> <91>128</91> <92>160</92> <93>1000</93> <94>60</94> <95>1</95> <96>10000</96> <97>600</97> <98>0</98> <99>1024</99> <100>4</100> <101>128</101> <102>60</102> <103>5</103> <104>256</104> <105>300</105> <106>5</106> <107>10</107> <108>5</108> <109>10</109> <110>5</110> <111>60</111> <112>5</112> <113>10</113> <0>250</0> </nums> <bools> <1>true</1> <2>false</2> <3>false</3> <4>false</4> <5>false</5> <6>false</6> <7>false</7> <8>false</8> <9>false</9> <10>false</10> <11>true</11> <12>false</12> <13>false</13> <14>false</14> <15>false</15> <16>false</16> <17>false</17> <18>true</18> <19>false</19> <20>false</20> <21>false</21> <22>true</22> <23>true</23> <24>false</24> <25>true</25> <26>true</26> <27>true</27> <28>true</28> <29>true</29> <30>false</30> <31>true</31> <32>false</32> <33>false</33> <34>false</34> <35>false</35> <36>false</36> <37>true</37> <38>false</38> <39>false</39> <40>true</40> <41>true</41> <42>false</42> <43>true</43> <44>false</44> <45>true</45> <46>true</46> <47>true</47> <48>true</48> <49>true</49> <50>true</50> <51>true</51> <52>true</52> <53>true</53> <54>false</54> <55>false</55> <0>false</0> </bools> <strings> <1>Admin</1> <2>192.168.0.10</2> <3>1209;411</3> <4>0</4> <5><Enter hub description here></5> <6></6> <7>reg.hublist.org;serv.hubs-list.com;hublist.cz;hublist.dreamland-net.eu;allhublista.myip.hu;hubinfo.myip.hu;publichublist-nl.no-ip.org;reg.hublist.dk</7> <8>Sorry, this hub is only for registered users.</8> <9></9> <10></10> <11>Your share is outside the limits. Min share is %[min], max share is %[max].</11> <12></12> <13>Your slots count is outside the limits. Min slots limit is %[min], max slots limit is %[max].</13> <14></14> <15>Your hubs/slots ratio outside the limit. Maximum allowed ratio is %[hubs]/%[slots].</15> <16></16> <17>Your hubs count is higher than allowed %[hubs] hubs.</17> <18></18> <19>Your client don't send description tag, or your client is not supported here.</19> <20></20> <21>PtokaX</21> <22></22> <23></23> <24>OpChat</24> <25></25> <26></26> <27></27> <28></28> <29>!+-/*</29> <30></30> <31>Your nick length is outside the limit. Allowed min is %[min] and max %[max].</31> <32></32> <33></33> <34>Russian</34> <0>RDW</0> </strings> </HubConfig> |
|
|
10.3.2009, 14:09
Сообщение
#17
|
|
Местный Группа: Неактивированные Сообщений: 908 Регистрация: 26.12.2008 Пользователь №: 1 574 Спасибо сказали: 1406 раз |
А почему бы действительно не использовать StatPX?
Для примера приведу шаблон списка онлайн юзеров: Код <?xml version="1.0" encoding="utf-8" standalone="yes"?> <Online> [ROW_BEGIN] <User Nick="[NICK]" Share="[SHARE]" Client="[CLIENT]" Mode="[MODE]" Hubs="[HUBS]" Slots="[SLOTS]" /> [ROW_END]</Online> Результат работы скрипта совместно с этим шаблоном примерно такой: Код <?xml version="1.0" encoding="utf-8" standalone="yes"?>
<Online> <User Nick="alex82" Share="407.869 GB" Client="StrongDC++ 2.21" Mode="Актив" Hubs="4" Slots="2/0/2" /> <User Nick="alexxx" Share="407.869 GB" Client="StrongDC++ 2.21" Mode="Актив" Hubs="4" Slots="2/0/2" /> <User Nick="www" Share="407.869 GB" Client="StrongDC++ 2.21" Mode="Актив" Hubs="4" Slots="2/0/2" /> </Online> |
|
|
10.3.2009, 21:02
Сообщение
#18
|
|
Участник Группа: Пользователи Сообщений: 35 Регистрация: 2.12.2008 Пользователь №: 1 278 Спасибо сказали: 0 раз |
Всем спасибо за помощь, буду делать!
PS Кстати, StatPX действительно можно использовать. Сначала о нём мысли были другие, казалось, что там всё намного сложнее. Оказывается нет. |
|
|
12.3.2009, 0:46
Сообщение
#19
|
|
RusHub team lead Группа: Модераторы Сообщений: 4 030 Регистрация: 20.6.2008 Из: г. Королёв (Моск. обл.) Пользователь №: 46 Спасибо сказали: 1708 раз |
Иногда стоит присмотреться и сложное окажется очень простым)))
Закрыто. |
|
|
Похожие темы
|
Сейчас: 23.11.2024, 14:15 |