myDC.ru

Здравствуйте, гость ( Вход | Регистрация )

 
53 страниц V  « < 39 40 41 42 43 > »   
Ответить в данную темуНачать новую тему

> Вопросы Разработчикам Скриптов, вопросы по скриптам (мелкие вопросы)

Sekretchik
сообщение 11.1.2011, 18:54
Сообщение #801


Продвинутый участник
****

Группа: Пользователи
Сообщений: 104
Регистрация: 1.4.2009
Из: Россия
Пользователь №: 2 871
Спасибо сказали: 42 раза




Если значение:
Код
          if #sMsg != 0 then

то при старте скрипта ошибка:

Если исправить на
Код
          if #sMsg ~= 0 then

То все работает отлично big_smile.gif
Вы просто наверно ошиблись клавишей. Простите.


Спасибо сказали:
Go to the top of the page
+Quote Post
Setuper
сообщение 11.1.2011, 20:21
Сообщение #802


RusHub team lead
**************

Группа: Модераторы
Сообщений: 4 030
Регистрация: 20.6.2008
Из: г. Королёв (Моск. обл.)
Пользователь №: 46
Спасибо сказали: 1708 раз




хехе.
Да да, я не клавишей ошибся, я языком ошибся. Написал как в с++ big_smile.gif


Спасибо сказали:
Go to the top of the page
+Quote Post
AirKobra45
сообщение 16.1.2011, 18:26
Сообщение #803


Активный участник
***

Группа: Пользователи
Сообщений: 94
Регистрация: 2.10.2010
Из: Якутия, г.Нерюнгри
Пользователь №: 7 820
Спасибо сказали: 21 раз




Вроде всё норм, код:
Код
function ChatArrival(tUser, sData)
    sData = sData:sub(1,-2)
    for g1, data1 in sData:gmatch"<g1 name=\"(.-)\">(.-)</g1>" do
        Core.SendToNick(tUser.sNick, "{\""..g1.."\",")
        for count1, g2, data2 in data1:gmatch"<g2 elementsCount=\"(%d-)\" name=\"(.-)\">(.-)</g2>" do
            Core.SendToNick(tUser.sNick, "{\""..g2.."\",    {")
            for address, c1, c2, c3, city, name, t1, t2, t3 in data2:gmatch"<e address=\"(.-)\" c1=\"(.-)\" c2=\"(.-)\" c3=\"(.-)\" city=\"(.-)\" name=\"(.-)\" t1=\"(.-)\" t2=\"(.-)\" t3=\"(.-)\"/>" do
                Core.SendToNick(tUser.sNick, "{\""..address.."\", \""..c1.."\", \""..c2.."\", \""..c3.."\", \""..city.."\", \""..name.."\", \""..t1.."\", \""..t2.."\", \""..t3.."\",},")
            end
            Core.SendToNick(tUser.sNick,"},\n},")
        end
        Core.SendToNick(tUser.sNick,"},")
    end
end

работает (я сделал так)
только приходится по немногу перебирать БД (вводить в чат значения из БД на XML и получать ответ в чате), что не устраивает.
А такая конструкция не сработала:
Код
sFile = Core.GetPtokaXPath().."scripts/Games/BIS.txt"
function ChatArrival(tUser, sData)
    sData = LoadText(sFile)
    for g1, data1 in sData:gmatch"<g1 name=\"(.-)\">(.-)</g1>" do
        Core.SendToNick(tUser.sNick, "{\""..g1.."\",")
        for count1, g2, data2 in data1:gmatch"<g2 elementsCount=\"(%d-)\" name=\"(.-)\">(.-)</g2>" do
            Core.SendToNick(tUser.sNick, "{\""..g2.."\",    {")
            for address, c1, c2, c3, city, name, t1, t2, t3 in data2:gmatch"<e address=\"(.-)\" c1=\"(.-)\" c2=\"(.-)\" c3=\"(.-)\" city=\"(.-)\" name=\"(.-)\" t1=\"(.-)\" t2=\"(.-)\" t3=\"(.-)\"/>" do
                Core.SendToNick(tUser.sNick, "{\""..address.."\", \""..c1.."\", \""..c2.."\", \""..c3.."\", \""..city.."\", \""..name.."\", \""..t1.."\", \""..t2.."\", \""..t3.."\",},")
            end
            Core.SendToNick(tUser.sNick,"},\n},")
        end
        Core.SendToNick(tUser.sNick,"},")
    end
end
--------------------
function LoadText(sFile)
    local message = ""
    local f = io.open( sFile , "r" )
        if f then
        message = f:read("*all")
        message = message:gsub("|","")
        f:close()
        end
    return message
end

Не пойму почему (просто .txt в файл выводило). И как можно загрузив и обработав данные с файла, вывести их в файл? (это нужно, т.к. БД может меняться и соответственно в справочнике должны быть новые данные)
Пока так, дальше буду меню делать под справочник..
P.S: Для Nickolya _ БД меняется и мне необходимо единожды преобразовать её в мета таблицу желательно прям в ДЦ и потом просто ею пользоваться. big_smile.gif
Столько дней тишина... где все?
Go to the top of the page
+Quote Post
Nickolya
сообщение 18.1.2011, 22:22
Сообщение #804


Главный ра******й тут...
*********

Группа: Главные администраторы
Сообщений: 1 727
Регистрация: 18.5.2008
Из: RF, 2la
Пользователь №: 1
Спасибо сказали: 776 раз




Как обычно, вы объясняете абстрактно, получаете абстрактный код... Можно было бы приложить твой справочник и тогда всё было бы намного очевидней, еще надо было всё рассказать и разжевать. Вообще зачем что-то выводить в чат? И зачем сохранять в файл? Потом этот файл прямо так и выводится через текстовые команды? Но там же таблица луа...

Не знаю, поможет ли этот код, но смотрите, пробуйте дальше...
Код
sFile = Core.GetPtokaXPath().."scripts/Games/BIS.txt"
sFile2 = Core.GetPtokaXPath().."scripts/Games/BIS_out.txt"

function ChatArrival(tUser, sData)
    Load()
end

function Load()
    sData = LoadText(sFile)
    local sStr = ""
    for g1, data1 in sData:gmatch"<g1 name=\"(.-)\">(.-)</g1>" do
        sStr = sStr.."{\""..g1.."\","
        for count1, g2, data2 in data1:gmatch"<g2 elementsCount=\"(%d-)\" name=\"(.-)\">(.-)</g2>" do
             sStr = sStr.."{\""..g2.."\",    {"
            for address, c1, c2, c3, city, name, t1, t2, t3 in data2:gmatch"<e address=\"(.-)\" c1=\"(.-)\" c2=\"(.-)\" c3=\"(.-)\" city=\"(.-)\" name=\"(.-)\" t1=\"(.-)\" t2=\"(.-)\" t3=\"(.-)\"/>" do
                 sStr = sStr.."{\""..address.."\", \""..c1.."\", \""..c2.."\", \""..c3.."\", \""..city.."\", \""..name.."\", \""..t1.."\", \""..t2.."\", \""..t3.."\",},"
            end
             sStr = sStr.."},\n},"
        end
         sStr = sStr.."},"
    end
    local f = io.open( sFile2 , "w+" )
    f:write(sStr)
    f:flush()
    f:close()
end

function LoadText(sFile)
    local message = ""
    local f = io.open( sFile , "r" )
    if f then
        message = f:read("*all")
        f:close()
    end
    return message
end
Go to the top of the page
+Quote Post
AirKobra45
сообщение 19.1.2011, 17:18
Сообщение #805


Активный участник
***

Группа: Пользователи
Сообщений: 94
Регистрация: 2.10.2010
Из: Якутия, г.Нерюнгри
Пользователь №: 7 820
Спасибо сказали: 21 раз




Цитата(Nickolya @ 19.1.2011, 4:22) *
Как обычно, вы объясняете абстрактно, получаете абстрактный код... Можно было бы приложить твой справочник и тогда всё было бы намного очевидней, еще надо было всё рассказать и разжевать. Вообще зачем что-то выводить в чат? И зачем сохранять в файл? Потом этот файл прямо так и выводится через текстовые команды? Но там же таблица луа...

Всё работает. См. в прикреплённом файле (часть БД для наглядно-показательного примера).. можете посмотреть. а ввод-вывод используется только когда меняется БД для создания таблицы LUA. А пока хочу получить разрешение на использование базы на хабе.. (у соответствующей организации)
В конце циклов сделал так:
Код
            end
            sStr = sStr.."            },\n        },\n"
        end
        sStr = sStr.."    },\n"
    end
    sStr = sStr.."}\n"
    sStr = sStr:gsub("&quot;","\\\"")

просто в базе кавычки идут как &quot;
И спасибо огромное за помощь.
P.S: В приложенный скрипт я вставляю базу ручками. а как можно загрузить эту табличку из файла? А вот и сам отвечу! Почитал мануал и вот что вышло:
Код
sFile = Core.GetPtokaXPath().."scripts/Games/BiS_Out.txt"
function LoadBase()
    if not loadfile(sFile) then
       Core.SendToOpChat("Не загрузили базу данных справочника BiS")
    else
        dofile(sFile)
    end
end

Прикрепленные файлы
Прикрепленный файл  TelSprav.lua ( 4.04 килобайт ) Кол-во скачиваний: 4
 
Go to the top of the page
+Quote Post
AirKobra45
сообщение 26.1.2011, 19:25
Сообщение #806


Активный участник
***

Группа: Пользователи
Сообщений: 94
Регистрация: 2.10.2010
Из: Якутия, г.Нерюнгри
Пользователь №: 7 820
Спасибо сказали: 21 раз




Есть такой вопрос: в некоторых скриптах использую такое меню
Код
Core.SendToUser(user,"$UserCommand 1 3 Меню хаба\\Действия$<%[mynick]> !me %[line:Сообщение]|")

Видел как после ответа в таком окошке появляется такое же с новым вопросом. Пробовал сделать также высылая юзеру команду.. но не получается. Подскажите как правильно такое осуществить.

Сам отвечу: оказалось всё так просто... допишем так
Код
Core.SendToUser(user,"$UserCommand 1 3 Меню хаба\\Действия$<%[mynick]> !me %[line:Сообщение]
%[line:Сообщение 2] %[line:Сообщение 3]|")

хоть сотню окошек..
Go to the top of the page
+Quote Post
Saymon21
сообщение 26.1.2011, 19:27
Сообщение #807


Site Reliability Engineer
*********

Группа: Модераторы
Сообщений: 1 772
Регистрация: 27.6.2009
Из: Чувашия, г. Чебоксары
Пользователь №: 3 719
Спасибо сказали: 479 раз




Код
$<%[mynick]> !me %[line:Сообщение] %[line:Сообщение2]
если правильно понял....
Go to the top of the page
+Quote Post
AirKobra45
сообщение 26.1.2011, 19:45
Сообщение #808


Активный участник
***

Группа: Пользователи
Сообщений: 94
Регистрация: 2.10.2010
Из: Якутия, г.Нерюнгри
Пользователь №: 7 820
Спасибо сказали: 21 раз




Цитата(Saymon @ 27.1.2011, 1:27) *
Код
$<%[mynick]> !me %[line:Сообщение] %[line:Сообщение2]
если правильно понял....

Да вот сам только увидел что ответили, а тут уж и мне светлая мысль пришла! Только отписался и увидел..

1. И тогда сразу такой вопрос: строка получается только после ответа на все вопросы как я понял и нет возможности проверить первое условие (в 1-м окошке) и уж если не соответствует не выдавать второе и т.д. ?

2. И куда это сообщение Core.SendToOpChat(sData) отправляется? описание скудное и никак не заработало.
Go to the top of the page
+Quote Post
Setuper
сообщение 26.1.2011, 21:23
Сообщение #809


RusHub team lead
**************

Группа: Модераторы
Сообщений: 4 030
Регистрация: 20.6.2008
Из: г. Королёв (Моск. обл.)
Пользователь №: 46
Спасибо сказали: 1708 раз




1 - так и есть
2 - в оп-чат; предварительно опчат должен быть включен и доступен тебе (твоему профилю)
Go to the top of the page
+Quote Post
Ksan
сообщение 26.1.2011, 22:29
Сообщение #810


Белый Волк
*********

Группа: Пользователи
Сообщений: 1 723
Регистрация: 11.9.2008
Из: г.Томск
Пользователь №: 516
Спасибо сказали: 657 раз




Можно сделать проверку на пустые ответы...
Если не ответил на первый или ответил отрицательно (ну я не знаю, что там за вопросы и условия), то следующие просто пропускаешь нажатием ОК на пустое окошко..
Go to the top of the page
+Quote Post
AirKobra45
сообщение 27.1.2011, 0:20
Сообщение #811


Активный участник
***

Группа: Пользователи
Сообщений: 94
Регистрация: 2.10.2010
Из: Якутия, г.Нерюнгри
Пользователь №: 7 820
Спасибо сказали: 21 раз




1.
Цитата(Ksan @ 27.1.2011, 4:29) *
Можно сделать проверку на пустые ответы...
Если не ответил на первый или ответил отрицательно (ну я не знаю, что там за вопросы и условия), то следующие просто пропускаешь нажатием ОК на пустое окошко..

Такс это уже интересно примерно есть какой вариант (самый общий) разберёмся

2.
Цитата(Setuper @ 27.1.2011, 3:23) *
2 - в оп-чат; предварительно опчат должен быть включен и доступен тебе (твоему профилю)

Вот и проблемка: Я не нашёл где и как включить, а как сделать доступным профилю?
Код
if (tUser.iProfile == 0 or tUser.iProfile == 1)   then
"Что надо тут написать?"
end

Go to the top of the page
+Quote Post
Ksan
сообщение 27.1.2011, 2:41
Сообщение #812


Белый Волк
*********

Группа: Пользователи
Сообщений: 1 723
Регистрация: 11.9.2008
Из: г.Томск
Пользователь №: 516
Спасибо сказали: 657 раз




AirKobra45, окошки будут всё равно, их содержание начинает проверяться только когда все окошки проходишь, неважно, писал там или нет. Но задачу можно облегчить пропусканием пустых окошек (в смысле ОК при пустом окошке), а далее уже проверка содержания каждого окошка, далее действия в зависимости от этих содержаний...Можно проверить наличие хоть чего-то, наличие отпределённых слов (ДА/НЕТ, 0/1/2 и т.д.), фиксация отсутствия вообще никаких символов, и в зависимости от всего этого строить дальнейшие действия скрипта.
Вот пример скрипта (тут только не заданы сами вопросы, на которые юзер должен ответить):
Пример скрипта (клацнуть сюда изо всей силы):
Код
-- Юзер должен на все три вопроса ответить "да" (без кавычек), иначе - отказ
-- Подачу вопросов, думаю, организуете сами

local sBot = SetMan.GetString(21)
local sMsgToUser1 = "*** Хорошо, уговорил, вот тебе база.."
local sMsgToUser2 = "*** Эээ, мы пошутили, нет у нас никакой базы!"
local sMsgToOpchat1 = " *** Юзер %s принимает все наши условия и достоин допуска к телу базы."
local sMsgToOpchat2 = " *** Юзер %s не согласен с некоторыми или всеми нашими условиями и не может быть допущен к телу нашей базы!"

function UserConnected(tUser)
    Core.SendToUser(tUser,"$UserCommand 1 3 Меню хаба\\Действия$<%[mynick]> !me 0%[line:Сообщение] 0%[line:Сообщение 2] 0%[line:Сообщение 3]|")
end
RegConnected = UserConnected
OpConnected = UserConnected

function ChatArrival(tUser, sData)
    local sData = sData:sub(1,-2)
    local sCmd, sAnsw1, sAnsw2, sAnsw3 = sData:match("^%b<>%s+(%S+)%s+(%d%S*)%s+(%d%S*)%s+(%d%S*)")
    local bYes1, bYes2, bYes3 = true, true, true
    if sCmd and sCmd == "!me" then
        bYes1 = YesNo(sAnsw1)
        bYes2 = YesNo(sAnsw2)
        bYes3 = YesNo(sAnsw3)

--    Тут варианты в зависимости от ответов юзера
        if bYes1 and bYes2 and bYes3 then
            Core.SendToOpChat(sMsgToOpchat1:format(tUser.sNick))
            Core.SendToUser(tUser, "<"..sBot.."> "..sMsgToUser1)
--            тут ваши дальнейшие действия относительно юзера (у него все ответы положительные). Например, открываете ему вход в базу :)
        else
            Core.SendToOpChat(sMsgToOpchat2:format(tUser.sNick))
            Core.SendToUser(tUser, "<"..sBot.."> "..sMsgToUser2)
--            тут что ещё сами добавите
        end
        collectgarbage()
        return true
    end
end

function YesNo(answ)
    local b = true
    if answ ~= "0" then
        answ = answ:match"^%d(%S+)"
        if answ ~= "да" then
            b = false
        end
    else
        b = false
    end
    return b
end
Только вот команду надо заменить - вместо "!me" сделать другую, иначе будет проблемно обойти другие сообщения от третьего лица, не имеющие отношения к данному скрипту и требуемым ответам.

UPD: Скрипт исправлен и передобавлен.
Go to the top of the page
+Quote Post
AirKobra45
сообщение 30.1.2011, 13:29
Сообщение #813


Активный участник
***

Группа: Пользователи
Сообщений: 94
Регистрация: 2.10.2010
Из: Якутия, г.Нерюнгри
Пользователь №: 7 820
Спасибо сказали: 21 раз




Какие есть ещё команды (работающие без скрипта?) подобные !me !passwd и прочие, как именно работают? Но лучше всего бы литературу ссылки.

Вот спасибки (за сообщение ниже) всё понял.. профиль в птоке настроил и ты видешь только то что доступно отлично!
Всё ясно
Go to the top of the page
+Quote Post
Ksan
сообщение 30.1.2011, 15:24
Сообщение #814


Белый Волк
*********

Группа: Пользователи
Сообщений: 1 723
Регистрация: 11.9.2008
Из: г.Томск
Пользователь №: 516
Спасибо сказали: 657 раз




Вот вся литература:
!help - в чат отправь.
Go to the top of the page
+Quote Post
AirKobra45
сообщение 22.2.2011, 12:23
Сообщение #815


Активный участник
***

Группа: Пользователи
Сообщений: 94
Регистрация: 2.10.2010
Из: Якутия, г.Нерюнгри
Пользователь №: 7 820
Спасибо сказали: 21 раз




смотрю тут по чужим скриптам такие записи:
Код
f,e = io.open(Core.GetPtokaXPath().."scripts/Hider/HiddenUsers.lst", "w" ) или такое
local chandle,e = io.open(Core.GetPtokaXPath().."scripts/asciiclock/"..cfileh, "r")

и не пойму что это ",e" значит. Зачем оно?
Go to the top of the page
+Quote Post
Alexey
сообщение 22.2.2011, 15:51
Сообщение #816


7 квадратиков
*******

Группа: Модераторы
Сообщений: 793
Регистрация: 21.1.2009
Пользователь №: 1 895
Спасибо сказали: 301 раз




Сообщение об ошибке. Читай внимательней.
Go to the top of the page
+Quote Post
AirKobra45
сообщение 22.2.2011, 19:03
Сообщение #817


Активный участник
***

Группа: Пользователи
Сообщений: 94
Регистрация: 2.10.2010
Из: Якутия, г.Нерюнгри
Пользователь №: 7 820
Спасибо сказали: 21 раз




Цитата(Alexey @ 22.2.2011, 21:51) *
Сообщение об ошибке. Читай внимательней.

Если бы понял, то не спросил бы.. да и вообще у них данные поменять надо на такие (3 нижние строки):
Код
"r+": режим изменения, все ранее записанные данные сохраняются;
"w+": режим изменения, все ранее записанные данные стираются;
"a+": режим изменения с дозаписью в конец, все ранее записанные данные сохраняются, запись разрешена только в конец файла.

(Им уже написал) А то у них там "+" нету, да ещё "w+" чего написали в нижней строке где должно быть почитайте! Зато в .chm файле о LUA у меня есть.
Вопрос открыт.
Go to the top of the page
+Quote Post
Ksan
сообщение 22.2.2011, 19:58
Сообщение #818


Белый Волк
*********

Группа: Пользователи
Сообщений: 1 723
Регистрация: 11.9.2008
Из: г.Томск
Пользователь №: 516
Спасибо сказали: 657 раз




Хмм...интересно, а какая разница тогда между "r+" и "a+" ?
Ведь по сути одно и то же...неужели в первом случае запись производится не в конец, а в начало?
Go to the top of the page
+Quote Post
Setuper
сообщение 22.2.2011, 20:25
Сообщение #819


RusHub team lead
**************

Группа: Модераторы
Сообщений: 4 030
Регистрация: 20.6.2008
Из: г. Королёв (Моск. обл.)
Пользователь №: 46
Спасибо сказали: 1708 раз




На lua.ru плохо написано.


"r" - открыть файл для чтения. Файл должен существовать.
"w" - создать пустой файл для записи. Если файл с таким именем уже существует, то его содержание будет удалено, а файл будет рассматриваться как новый пустой файл.
"a" - добавить в файл. Дописывает данные в конец файла. Файл создается, если он не существует.
"r+" - открыть файл как для чтения, так и для записи. Файл должен существовать.
"w+" - создать пустой файл для чтения и записи. Если файл с таким именем уже существует, то его содержание будет удалено, а файл будет рассматриваться как новый пустой файл.
"a+" - открыть файл для чтения и добавления. Все операции записи выполняются в конец файла. Файл создается, если он не существует.

Кроме этого, для работы с бинарными файлами существуют моды: "rb", "wb", "ab", "r+b", "w+b", "a+b", то есть теже самые моды но с буквой b на конце.
Буква b может также находится и в середине: "rb+", "wb+", "ab+".


Спасибо сказали:
Go to the top of the page
+Quote Post
AirKobra45
сообщение 22.2.2011, 20:32
Сообщение #820


Активный участник
***

Группа: Пользователи
Сообщений: 94
Регистрация: 2.10.2010
Из: Якутия, г.Нерюнгри
Пользователь №: 7 820
Спасибо сказали: 21 раз




на ответ ниже... всё понял.. если ошибка присваиваем второму значению отчёт так.. Нр: " **директория файла ** No such file or directory"
Go to the top of the page
+Quote Post

53 страниц V  « < 39 40 41 42 43 > » 
Ответить в данную темуНачать новую тему
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

Collapse

> Похожие темы

  Тема Ответов Автор Просмотров Последнее сообщение
No new ВАЖНО: Topic has attachmentsМодули для скриптов RusHub
26 Setuper 43 408 21.3.2017, 17:31 Посл. сообщение: Alexey
No new ВАЖНО: Topic has attachmentsВаши Вопросы И Предложения По Поводу Форума
447 Svyat 304 031 20.10.2015, 19:39 Посл. сообщение: Ksan
No New Posts От: Вопросы Разработчикам Скриптов
От темы с ID: 173
0 MIKHAIL 4 037 23.1.2015, 0:56 Посл. сообщение: MIKHAIL
No new Topic has attachmentsВопросы по протоколу NMDC
Делаю программу
26 Master255 27 606 12.1.2015, 0:38 Посл. сообщение: Master255
No New Posts Вопросы к Phazeus по Экзекутору
Мастер может забанить мастера, как решить в Экзекуторе?
1 AndreiDC 5 025 31.10.2014, 19:20 Посл. сообщение: Ksan
No New Posts От: Установка скриптов
От темы с ID: 5657
0 MIKHAIL 4 487 29.7.2014, 23:37 Посл. сообщение: MIKHAIL
No New Posts Установка скриптов
Нужна помощь по установке
2 _wRz_ 6 824 29.7.2014, 16:11 Посл. сообщение: Артём
No new От: Вопросы Разработчикам Скриптов
От темы с ID: 173
29 Wariner 24 410 28.1.2014, 13:11 Посл. сообщение: Alexey
No new Topic has attachmentsВопросы по RusHub
Технические вопросы
316 Jaska 252 481 19.12.2013, 13:59 Посл. сообщение: mod
No new Topic has attachmentsМелкие вопросы
44 Wariner 48 438 19.9.2013, 12:34 Посл. сообщение: Alexey
No New Posts От: Ваши Вопросы И Предложения По Поводу Форума
От темы с ID: 753
3 anila 8 587 28.3.2013, 16:02 Посл. сообщение: настя
No New Posts Единая платформа для скриптов
Обсуждения вопроса создания единой платформы скриптов
5 Enyby 8 460 18.1.2012, 20:15 Посл. сообщение: Setuper
No new Topic has attachmentsПеределка скриптов
Прошу помощи
47 Fe(one)X 38 819 26.12.2011, 15:04 Посл. сообщение: Ksan
No new Topic has attachmentsВопросы Разработчикам Скриптов с SQL
вопросы по скриптам (мелкие вопросы)
101 Wariner 57 388 6.12.2011, 0:34 Посл. сообщение: Enyby
No New Posts От: Вопросы по RusHub
От темы с ID: 2902
4 Otshelnik-Fm 7 948 19.10.2011, 9:23 Посл. сообщение: Mangust

 



RSS Сейчас: 19.4.2024, 8:34