Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

MyDC.ru _ Kорзина _ Помогите Переделать Api 2 На Api 1

Автор: STAJIKER 15.11.2008, 19:44

все наверняка видели фишку в новых действиях на новом апи если нет я поясню
вот так выглядят старые действия [19:38:45] * S.T.А.Л.K.E.R Патыкол Острой пАлочкОй ((Alexx)) (Живойе Нед?)
а вот так выглядят новые действия [19:38:45] ---==xX] S.T.А.Л.K.E.R Патыкол Острой пАлочкОй ((Alexx)) (Живойе Нед?) [Xx==---

ну так вот я бы хотел тоже самое на апи 1 для этого нужно переделать это под апи 1...
ChatArrival = function(tUser,sData)
local s,e,cmd, S1= string.find(sData,"%b<>%s(%S+)%s(.+)")
if ((cmd=="!экшн") or (cmd=="!action")) and (tProfiles[tUser.iProfile]==0) then
Core.SendToUser(tUser,"<"..SetMan.GetString(21).."> Недостаточно прав для выполнения команды")
return true
end
S1 = string.sub(S1,1,string.len(S1)-1)
if cmd == "!me" then
Core.SendToAll("---==xX] "..tUser.sNick.." "..S1.." [Xx==---")
return true
end
if cmd == "+me" then
Core.SendToAll("- - -==xX] "..tUser.sNick.." "..S1.." [Xx==- - -")
return true
end

end
Буду очень презнателен тому кто поможет big_smile.gif

Автор: Setuper 15.11.2008, 19:52

Код
ChatArrival = function(tUser,sData)
  local s,e,cmd, S1= string.find(sData,"%b<>%s(%S+)%s(.+)")
  if ((cmd=="!экшн") or (cmd=="!action")) and (tProfiles[tUser.iProfile]==0) then
    tUser:SendData("<"..frmHub:GetHubBotName().."> Недостаточно прав для выполнения команды")
    return 1
  end
  S1 = string.sub(S1,1,string.len(S1)-1)
  if cmd == "!me" then
    SendToAll("---==xX] "..tUser.sName.." "..S1.." [Xx==---")
    return 1
  end
  if cmd == "+me" then
    SendToAll("- - -==xX] "..tUser.sName.." "..S1.." [Xx==- - -")
    return 1
  end
end

Автор: Voice 16.11.2008, 10:41

Цитата(STAJIKER @ 15.11.2008, 23:44) *
все наверняка видели фишку в новых действиях на новом апи если нет я поясню
вот так выглядят старые действия [19:38:45] * S.T.А.Л.K.E.R Патыкол Острой пАлочкОй ((Alexx)) (Живойе Нед?)
а вот так выглядят новые действия [19:38:45] ---==xX] S.T.А.Л.K.E.R Патыкол Острой пАлочкОй ((Alexx)) (Живойе Нед?) [Xx==---

ну так вот я бы хотел тоже самое на апи 1 для этого нужно переделать это под апи 1...
ChatArrival = function(tUser,sData)
local s,e,cmd, S1= string.find(sData,"%b<>%s(%S+)%s(.+)")
if ((cmd=="!экшн") or (cmd=="!action")) and (tProfiles[tUser.iProfile]==0) then
Core.SendToUser(tUser,"<"..SetMan.GetString(21).."> Недостаточно прав для выполнения команды")
return true
end
S1 = string.sub(S1,1,string.len(S1)-1)
if cmd == "!me" then
Core.SendToAll("---==xX] "..tUser.sNick.." "..S1.." [Xx==---")
return true
end
if cmd == "+me" then
Core.SendToAll("- - -==xX] "..tUser.sNick.." "..S1.." [Xx==- - -")
return true
end

end
Буду очень презнателен тому кто поможет big_smile.gif


Почитай вот эту тему. http://mydc.ru/topic605.html

Автор: STAJIKER 16.11.2008, 13:37

Цитата(Voice @ 16.11.2008, 10:41) *
Почитай вот эту тему. http://mydc.ru/topic605.html

пробовал...не работает нифика...

Автор: Setuper 16.11.2008, 13:46

Неправильно значить что-то делал. Надо внимательнее читать. Этот код лёгкий, поэтому работать должно 100%.

Кладём в папку scripts файл old_api.lu и пишем скрипт:

Код
dofile(frmHub:GetPtokaXLocation().."scripts/old_api.lu")
Core.ChatArrival = function(tUser,sData)
local s,e,cmd, S1= string.find(sData,"%b<>%s(%S+)%s(.+)")
if ((cmd=="!экшн") or (cmd=="!action")) and (tProfiles[tUser.iProfile]==0) then
Core.SendToUser(tUser,"<"..SetMan.GetString(21).."> Недостаточно прав для выполнения команды")
return true
end
S1 = string.sub(S1,1,string.len(S1)-1)
if cmd == "!me" then
Core.SendToAll("---==xX] "..tUser.sNick.." "..S1.." [Xx==---")
return true
end
if cmd == "+me" then
Core.SendToAll("- - -==xX] "..tUser.sNick.." "..S1.." [Xx==- - -")
return true
end

end

ну и конечно если это не весь код скрипта, то в остальном коде также надо дописывать у основных функций Core. спереди

Автор: STAJIKER 16.11.2008, 17:50

Часто вылазиет вот такой трабл ...........lua:7: bad argument #1 to 'len' (string expected, got nil) и скрипт вырубается. bad_smile.gif
S1 = string.sub(S1,1,string.len(S1)-1) вот что то тут птошке не нравится

Автор: Setuper 16.11.2008, 17:56

нет проверки на то, что переменная S1 ничего не содержит

Код
S1=S1 or ""
S1 = string.sub(S1,1,string.len(S1)-1)