myDC.ru

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

 
4 страниц V  « < 2 3 4  
Тема закрытаНачать новую тему

> Скачивание Странички Из Интернета И Вывод Информации В Чате, Api1 желательно

Теги
Нет тегов для показа
Setuper
сообщение 12.3.2009, 17:42
Сообщение #61


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

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




Я понимаю, что он так выглядит. Я хочу понять какой символы с каким lua-кодом не могут выводиться в чат, для того чтобы их убрать. Что выводит код моего предыдущего поста?
Go to the top of the page
+Quote Post
IIPu3PAK
сообщение 12.3.2009, 17:42
Сообщение #62


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

Группа: Пользователи
Сообщений: 80
Регистрация: 25.2.2009
Пользователь №: 2 359
Спасибо сказали: 6 раз




вот что выдало на ваш последний скрипт
Цитата
[00:42:07 | 172.16.153.15] <IIPu3PAK> !send
[00:42:08] Length of data = 152
[00:42:08] 255, 255, 255, 255, 73, 38, 76, 101, 102, 116, 32, 52, 32, 68, 101, 97, 100, 32, 115, 101, 114, 118, 101, 114, 32, 40, 118, 101, 114, 115, 117, 115, 32, 98, 121, 32, 73, 73, 80, 117, 51, 80, 65, 75, 32, 97, 110, 100, 32, 74, 111, 104, 110, 55, 49, 48, 41, 0, 108, 52, 100, 95, 118, 115, 95, 104, 111, 115, 112, 105, 116, 97, 108, 48, 52, 95, 105, 110, 116, 101, 114, 105, 111, 114, 0, 108, 101, 102, 116, 52, 100, 101, 97, 100, 0, 76, 52, 68, 32, 45, 32, 86, 101, 114, 115, 117, 115, 32, 45, 32, 78, 111, 114, 109, 97, 108, 0, 1, 0, 0, 8, 0, 100, 119, 0, 0, 49, 46, 48, 46, 48, 46, 57, 0, 160, 135, 105, 101, 109, 112, 116, 121, 44, 97, 108, 108, 116, 97, 108, 107, 44, 0,
[00:42:08] яяяяI&Left 4 Dead server (versus by IIPu3PAK and John710)
Go to the top of the page
+Quote Post
Setuper
сообщение 12.3.2009, 17:43
Сообщение #63


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

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




Отлично, ща напишу функцию замены символов)))
Go to the top of the page
+Quote Post
IIPu3PAK
сообщение 12.3.2009, 17:49
Сообщение #64


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

Группа: Пользователи
Сообщений: 80
Регистрация: 25.2.2009
Пользователь №: 2 359
Спасибо сказали: 6 раз




и еще некоторые коды символов котырые неможет выводить луа мне надо преобразовывать в специальные другие коды которые она сможет показать...надеюсь вы мне обьясните как
Go to the top of the page
+Quote Post
Setuper
сообщение 12.3.2009, 17:51
Сообщение #65


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

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




Попробуй:
Код
function CorrectData(sData, sReplace)
  local sStr, iSmb = ''
  for i = 1, sData:len() do
    iSmb = sData:byte(i)
    if iSmb > 31 then
      sStr = sStr..string.char(iSmb)
    else
      sStr = sStr..sReplace
    end
  end
  return sStr
end

function OnTimer()
  local sData, sError = ReceiveData()
  if not sError and sData then
    -- мы получили какие-то данные sData и тут уже их обрабатываем
    StopTimer()
    SendToAll(CorrectData(sData, '*'))
  end
end


Невыводимые символы заменяются на *
Go to the top of the page
+Quote Post
IIPu3PAK
сообщение 12.3.2009, 18:00
Сообщение #66


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

Группа: Пользователи
Сообщений: 80
Регистрация: 25.2.2009
Пользователь №: 2 359
Спасибо сказали: 6 раз




Теперь вообще ничего не выводит
Go to the top of the page
+Quote Post
Setuper
сообщение 12.3.2009, 18:01
Сообщение #67


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

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




Исправил
Go to the top of the page
+Quote Post
IIPu3PAK
сообщение 12.3.2009, 18:03
Сообщение #68


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

Группа: Пользователи
Сообщений: 80
Регистрация: 25.2.2009
Пользователь №: 2 359
Спасибо сказали: 6 раз




Цитата(Setuper @ 12.3.2009, 18:01) *
Исправил

ничего опять не выводит
Go to the top of the page
+Quote Post
Setuper
сообщение 12.3.2009, 18:10
Сообщение #69


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

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




5 сек. Ща исправлю.

Вот так должно работать
Код
function CorrectData(sData, sReplace)
  local sStr, iSmb = ''
  for i = 1, sData:len() do
    iSmb = sData:byte(i)
    if iSmb > 31 then
      sStr = sStr..string.char(iSmb)
    else
      sStr = sStr..sReplace
    end
  end
  return sStr
end
Go to the top of the page
+Quote Post
IIPu3PAK
сообщение 12.3.2009, 18:13
Сообщение #70


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

Группа: Пользователи
Сообщений: 80
Регистрация: 25.2.2009
Пользователь №: 2 359
Спасибо сказали: 6 раз




зы спасибо с последним скриптом вывел то что надо [01:13:45 | 172.16.153.15] <IIPu3PAK> !send
[01:13:46] яяяяI&Left 4 Dead server (co-op)*l4d_deadcity01_riverside9*left4dead*L4D - Co-op - Expert******dw**1.0.0.9* ‡iempty,alltalk,*

еще в хекс коде есть такая строчка "00 01 00 00 08 00 " .....
это количество игроков на сервере т.е. играет 1 слотов на карте 8 (эти значения могут меняться но всегда находятся между 00 ....как бы их поймать? тк они тоже невыводимые)
это те самые куча звездочек которые тут Expert******dw

и последнее если сервер вырублен то из-за скрипта жестоко лагает птоха

и еще количество символов 00 в ответе всегда одно и тоже

во сам исправил примерно так
Код
function CorrectData(sData, sReplace)
  local sStr, iSmb = ''
  for i = 1, sData:len() do
    iSmb = sData:byte(i)
    if iSmb > 31 then
      sStr = sStr..string.char(iSmb)
    elseif iSmb < 15 and iSmb > 0 then
      sStr = sStr..iSmb
    else
      sStr = sStr..sReplace
    end
  end
  return sStr
end


Код
[01:41:01] яяяяI&Left 4 Dead server (co-op)*l4d_deadcity01_riverside9*left4dead*L4D - Co-op - Expert*1**4*dw**1.0.0.9* ‡iempty,alltalk,*


но это неидеальный вариант :(
Go to the top of the page
+Quote Post
Setuper
сообщение 12.3.2009, 18:45
Сообщение #71


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

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




Попробуй вот так, но я не уверен:
Код
function CorrectData(sData, sReplace)
  local iN, sStr, iSmb = 0, ''
  for i = 1, sData:len() do
    if iN == 0 then
      iSmb = sData:byte(i)
      if iSmb > 31 then
        sStr = sStr..string.char(iSmb)
      else
        local sP = GetPlayers(i, sData)
        if sP then
          sStr, iN = sStr..sP, 4
        else
          sStr = sStr..sReplace
        end
      end
    else
      iN = iN - 1
    end
  end
  return sStr
end

function GetPlayers(iNum, sData)
  local t, sStr, iSmb = {" Players: ", false, " Slots: ", false}, ''
  iSmb = sData:byte(iNum)
  if iSmb == 0 then
    for i,w in ipairs(t) do
      iSmb = sData:byte(iNum + i)
      if w then
        if iSmb == 0 then
          return
        end
        sStr = sStr..w..iSmb
      else
        if iSmb ~= 0 then
          return
        end
      end
    end
    return sStr
  end
end
Go to the top of the page
+Quote Post
IIPu3PAK
сообщение 12.3.2009, 18:50
Сообщение #72


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

Группа: Пользователи
Сообщений: 80
Регистрация: 25.2.2009
Пользователь №: 2 359
Спасибо сказали: 6 раз




неа так непашет...ничего невыдет в итоге
Go to the top of the page
+Quote Post
Setuper
сообщение 12.3.2009, 19:05
Сообщение #73


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

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




Кое что исправил. Попробуй.
Должно пахать. Я протестировал работоспособность.
Go to the top of the page
+Quote Post
IIPu3PAK
сообщение 12.3.2009, 19:20
Сообщение #74


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

Группа: Пользователи
Сообщений: 80
Регистрация: 25.2.2009
Пользователь №: 2 359
Спасибо сказали: 6 раз




ничего не выводит
Go to the top of the page
+Quote Post
Setuper
сообщение 12.3.2009, 19:27
Сообщение #75


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

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




А ошибки какие-нибудь скрипт выдаёт?
Почему у меня выводит, а у тебя не выводит?
Go to the top of the page
+Quote Post
IIPu3PAK
сообщение 12.3.2009, 20:16
Сообщение #76


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

Группа: Пользователи
Сообщений: 80
Регистрация: 25.2.2009
Пользователь №: 2 359
Спасибо сказали: 6 раз




вообще никаких ошибок просто ничего непоказывает и все и лагает жутко птоха, как будто неподключилась к серверу(серв запущен)
Go to the top of the page
+Quote Post
Setuper
сообщение 12.3.2009, 20:26
Сообщение #77


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

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




Вот полный код. Не знаю. Чем смог, тем помог.

CODE
local sDatagram = " FF FF FF FF 54 53 6F 75 72 63 65 20 45 6E 67 69 6E 65 20 51 75 65 72 79 00 " -- отсылаемые данные
local sServerIp = "127.0.0.1" -- айпи
local sServerPort = 1209 -- порт
local iTimeOut = 1/100 -- таймаут соединения на получение
local iBuferSize = nil -- размер буфера (nil - стандартный)
----------------------------------------------------------------------------

-- loads the socket module
local socket = require("socket")

local myudp = socket.udp()

myudp:settimeout(iTimeOut)
myudp:setpeername(sServerIp, sServerPort)

-- уже точно не помню какие функции в старом апи, так что поправьте если накосячил!
function Main()
SetTimer(1000)
end

function GetPlayers(iNum, sData)
local t, sStr, iSmb = {" Players: ", false, " Slots: ", false}, ''
iSmb = sData:byte(iNum)
if iSmb == 0 then
for i,w in ipairs(t) do
iSmb = sData:byte(iNum + i)
if w then
if iSmb == 0 then
return
end
sStr = sStr..w..iSmb
else
if iSmb ~= 0 then
return
end
end
end
return sStr
end
end

function CorrectData(sData, sReplace)
local iN, sStr, iSmb = 0, ''
for i = 1, sData:len() do
if iN == 0 then
iSmb = sData:byte(i)
if iSmb > 31 then
sStr = sStr..string.char(iSmb)
else
local sP = GetPlayers(i, sData)
if sP then
sStr, iN = sStr..sP, 4
else
sStr = sStr..sReplace
end
end
else
iN = iN - 1
end
end
return sStr
end

function OnTimer()
local sData, sError = ReceiveData()
if not sError and sData then
-- мы получили какие-то данные sData и тут уже их обрабатываем
StopTimer()
SendToAll(CorrectData(sData, '*'))
end
end

function ChatArrival(tUser, sData)
local sCmd = sData:match"%b<> !send"
if sCmd then
StartTimer()
local _, sError = myudp:send(sDatagram, sServerIp, sServerPort)
if sError then
-- ошибка!
end
end
end

function OnExit()
myudp:close()
end
OnError = OnExit

function ReceiveData()
local sData, sError = myudp:receive(iBuferSize)
if sError then
-- ошибка!
return nil, sError
end
return sData
end
Go to the top of the page
+Quote Post
IIPu3PAK
сообщение 14.3.2009, 18:41
Сообщение #78


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

Группа: Пользователи
Сообщений: 80
Регистрация: 25.2.2009
Пользователь №: 2 359
Спасибо сказали: 6 раз




вот пока еще не идеальный скрипт мониторинга
Код
local c = string.char
local sDatagram = c(0xFF)..c(0xFF)..c(0xFF)..c(0xFF)..c(0x54)..c(0x53)..c(0x6F)..c(0x75)..
c(0x72)..c(0x63)..c(0x65)..c(0x20)..c(0x45)..c(0x6E)..c(0x67)..c(0x69)..c(0x6E)..
c(0x65)..c(0x20)..c(0x51)..c(0x75)..c(0x65)..c(0x72)..c(0x79)..c(0x00)
--"0xFF..0xFF..0xFF..0xFF..0x54..0x53..0x6F..0x75..0x72..0x63..0x65..0x20..0x45..0x6E..0x67..0x69..
0x6E..0x65..0x20..0x51..0x75..0x65..0x72..0--x9..0x00" -- отсылаемые данные
local sServerIp = "192.168.23.15" -- айпи
local sServerPort = "27015" -- порт
local iTimeOut = 1 -- таймаут соединения на получение
local iBuferSize = nil -- размер буфера (nil - стандартный)
BotName = "Курильщик"        -- имя бота
BotDesc = "Закуривай;)"    -- описание бота
BotEmail = "hub@mail.ru"    -- email бота
----------------------------------------------------------------------------
-- loads the socket module
local socket = require("socket")

local myudp = socket.udp()

myudp:settimeout(iTimeOut)
myudp:setpeername(sServerIp, sServerPort)

-- уже точно не помню какие функции в старом апи, так что поправьте если накосячил!
function Main()
  SetTimer(1000)
  frmHub:RegBot(BotName, 1, BotDesc, BotEmail)
end

function CorrectData(sData, sReplace)
  local sStr, iSmb = ''
  for i = 1, sData:len() do
    iSmb = sData:byte(i)
    if iSmb > 243 and iSmb < 256 then
      sStr = sStr..sReplace
    elseif iSmb > 31 then
      sStr = sStr..string.char(iSmb)
    elseif  iSmb < 1 then
      sStr = sStr..sReplace
    elseif iSmb >= 1 then
    sStr = sStr..iSmb
    end
  end
  return sStr
end


function ChatArrival(tUser, sData)
  local sCmd = sData:match"%b<> !л4д"
  if sCmd then
    StartTimer()
    local _, sError = myudp:send(sDatagram, sServerIp, sServerPort)
    if sError then
      -- ошибка!
    end
  end
end

function OnExit()
  myudp:close()
end
OnError = OnExit

function ReceiveData()
  local sData, sError = myudp:receive(iBuferSize)
  if sError then
    -- ошибка!
    return nil, sError
  end
  return sData
end

function OnTimer()
  local sData, sError = ReceiveData()
  if not sError and sData then
    -- мы получили какие-то данные sData и тут уже их обрабатываем
    StopTimer()
    z=CorrectData(sData,'?')
   _,_,a,b,c,d,f= string.find(z,"????I7(.-)?(.-)?(.-)?(.-)?(.+)")
   f=string.sub(f, 3)
_,_,f,r,t= string.find(f,"(%d*)(%d)(.+)")
_,_,t= string.find(t,"(%d%p%d+%p%d+%p%d+)")
    SendToAll("Курильщик","Айпи адрес сервера--->192.168.23.15:27015")
    SendToAll("Курильщик","Название сервера--->"..a.."")
    SendToAll("Курильщик","Карта на сервере--->"..b.."")
    SendToAll("Курильщик","Тип и сложность игры--->"..d.."")
    if f==nil then
    SendToAll("Курильщик","Игроков на сервере--->"..f.."/"..r.."")
    else
    SendToAll("Курильщик","Игроков на сервере--->0/"..r.."")
    end
    SendToAll("Курильщик","Версия сервера--->"..t.."")
  end
end



как сделать в этом скрипте так чтобы отправлялась мессага юзеру а не всем.... З.Ы. как можно видеть из скрипта сообщения отправляются в функции онтаймер... а в этой функции нет tUser из chatarrival

еще вопрос вот строчка в коде _,_,a,b,c,d,f= string.find(z,"????I7(.-)?(.-)?(.-)?(.-)?(.+)") если изменить ее на _,_,a,b,c,d,f= string.find(z,"????(.-)?(.-)?(.-)?(.-)?(.+)") то переменный a,b становятся nil , с очтальными все норм....почему так?
Go to the top of the page
+Quote Post
Setuper
сообщение 16.3.2009, 12:41
Сообщение #79


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

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




Закрыто, дабы автор темы создал тему в готовых скриптах.
Go to the top of the page
+Quote Post

4 страниц V  « < 2 3 4
Тема закрытаНачать новую тему
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

Collapse

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

  Тема Ответов Автор Просмотров Последнее сообщение
No New Posts Topic has attachmentsВывод последний N сообщений чата при входе
Verlihub
2 Vizunchik 9 940 13.9.2014, 9:53 Посл. сообщение: Ahton
No New Posts Topic has attachmentsИнфомер в чате
Помогите
1 BADam 5 638 5.6.2014, 22:20 Посл. сообщение: Артём
No New Posts Поиск по TTH и вывод на веб-сервер
1 Panasonic 7 408 1.11.2013, 17:07 Посл. сообщение: Alexey
No New Posts Скачивание файла большого объема с нескольких источников
5 nail 10 697 27.7.2012, 16:27 Посл. сообщение: nail
No new Не могу качать с пользователей с интернета
???
16 Miha 17 407 26.7.2011, 11:23 Посл. сообщение: Nickolya
No New Posts От: Сбор информации(ник, время, IP)
От темы с ID: 4850
0 demondroid 4 213 28.5.2011, 18:41 Посл. сообщение: demondroid
No New Posts Отправка информации с сайта по запросу
Отправка информации с сайта по запросу
4 sania 8 469 28.5.2011, 9:51 Посл. сообщение: sania
No New Posts Сбор информации(ник, время, IP)
Нужен скрипт сбора информации о пользователе
2 bes_dimm 6 473 25.5.2011, 20:10 Посл. сообщение: OCTAGRAM
No new Скачивание файл-листа, nmdc
Последовательность команд
16 HackFresse 25 924 3.11.2010, 12:48 Посл. сообщение: Atlant
No New Posts Есть ли такая команда чтобы немогли писать в чате без регистрации?
2 GaZz-BenziNa 8 549 30.9.2010, 22:51 Посл. сообщение: переподвыподверт
No New Posts От: Есть ли такая команда чтобы немогли писать в чате без регистрации?
От темы с ID: 3903
6 infection 8 659 27.9.2010, 6:46 Посл. сообщение: Invisible
No New Posts От: Скрипт, скрывающий ник в чате
От темы с ID: 3257
0 _Deagle_Factory_ 4 411 10.4.2010, 11:33 Посл. сообщение: _Deagle_Factory_
No new "Словарь" интернета
вот такое вот разочарование
14 Nickolya 16 887 29.3.2010, 21:03 Посл. сообщение: Saymon21
No New Posts Скрипт, скрывающий ник в чате
2 SAG 8 447 22.3.2010, 17:15 Посл. сообщение: SAG
No New Posts невыполненные команды в чате
как избежать вывода в чат невыполняемых скриптом команд
4 степашка 8 208 13.3.2010, 23:20 Посл. сообщение: степашка

 



RSS Сейчас: 13.11.2024, 9:33