myDC.ru

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

 
2 страниц V   1 2 >  
Ответить в данную темуНачать новую тему

> Перевод Скриптов Под API 2, синтаксические ошибки

Теги
Нет тегов для показа
D'aspid
сообщение 3.7.2008, 19:14
Сообщение #1


Освоившийся участник
*****

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




Все чаще и чаще появляються синтаксические ошибки при переводе скритов с API 1 на API 2, вот хотелось бы спросить что значит эта ошибка и как ее исправить?
Цитата
[21:55] Синтаксис BirthdayMan.v4.07_newapi.lua:179: attempt to call global 'GetItemByName' (a nil value)

Открывал scripting-interface но непомогло confuse.gif ..
Go to the top of the page
+Quote Post
Wariner
сообщение 3.7.2008, 19:20
Сообщение #2


Самый главный активист :-D
***********

Группа: Модераторы
Сообщений: 2 790
Регистрация: 29.6.2008
Из: г. Тула
Пользователь №: 97
Спасибо сказали: 439 раз




Хех, у меня таже самая проблема...
правда был у меня BirthdayMan.v4.08 но я его куда то дел:'-(

PS как найду отпишусь
Go to the top of the page
+Quote Post
Setuper
сообщение 3.7.2008, 19:52
Сообщение #3


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

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




Цитата(Infernus-pro @ 3.7.2008, 20:14) *
Все чаще и чаще появляються синтаксические ошибки при переводе скритов с API 1 на API 2, вот хотелось бы спросить что значит эта ошибка и как ее исправить?

Открывал scripting-interface но непомогло confuse.gif ..

Это означает что глобальная функция GetItemByName равна пустому значению (nil)!
В старом api эта функция возвращала таблицу онлайн пользователя (например вот так GetItemByName(sNick))
В новом api, во-первых, эта функция стала членом таблицы Core и, во-вторых, изменилось её название:
Код
Core.GetUser(sNick, true)
Go to the top of the page
+Quote Post
Wariner
сообщение 3.7.2008, 22:06
Сообщение #4


Самый главный активист :-D
***********

Группа: Модераторы
Сообщений: 2 790
Регистрация: 29.6.2008
Из: г. Тула
Пользователь №: 97
Спасибо сказали: 439 раз




К сожалению исходного рабочего BirthdayMan.v4.08 так и не нашёл... а тот который остался изрядно мной изуродован((( А самое иинтересное не помню где взял.. Весь инет перерыл beat_brick.gif
Go to the top of the page
+Quote Post
D'aspid
сообщение 4.7.2008, 3:42
Сообщение #5


Освоившийся участник
*****

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




Спс Setuper та ошибка исчезла но появилась другая))
Цитата
[06:40] Синтаксис BirthdayMan.v4.07_newapi.lua:179: bad argument #1 to 'GetUser' (string expected, got nil)

Вот эта строчка
n = n + 1; if Core.GetUser(sNick, true) then sStatus= "*Онлайн*" end;
Go to the top of the page
+Quote Post
Setuper
сообщение 4.7.2008, 6:47
Сообщение #6


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

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




Абалдеть... просто нет слов... ну нельзя же так просто бездумно переписывать!
Вместо sNick надо поставить ник пользователя. Я не знаю структуры вашего скрипта и названия ваших переменных, поэтому я и написал sNick.
Возможно, что у вас будет чтото вроде user.sNick или User.sNick или tUser.sNick. В общем мозгами хоть немного пошевелите и посмотрите как называется таблица пользователя.
Go to the top of the page
+Quote Post
Wariner
сообщение 4.7.2008, 11:01
Сообщение #7


Самый главный активист :-D
***********

Группа: Модераторы
Сообщений: 2 790
Регистрация: 29.6.2008
Из: г. Тула
Пользователь №: 97
Спасибо сказали: 439 раз




[attachment=221:Birthday...8_newapi.lua]Ну вот держите)))) v.4.07 переконвертировал и поправил сам(спасибо Setuper`у), а ещё всётаки отрыл v.4.08
Сильных отличий в них не вижу(кстати обе сыроваты не работает одна функция), поэтому выкладываю обе...
Прикрепленные файлы
Прикрепленный файл  BirthdayMan.v4.07_newapi.lua ( 16.69 килобайт ) Кол-во скачиваний: 10
Прикрепленный файл  BirthdayMan.v4.08_newapi.lua ( 18.24 килобайт ) Кол-во скачиваний: 32
 
Go to the top of the page
+Quote Post
KauH™
сообщение 4.7.2008, 18:33
Сообщение #8


lua-паддаван
***

Группа: Пользователи
Сообщений: 75
Регистрация: 1.7.2008
Из: www.u-l.ru
Пользователь №: 114
Спасибо сказали: 29 раз




Цитата(Wariner @ 4.7.2008, 11:01) *
[attachment=221:Birthday...8_newapi.lua]Ну вот держите)))) v.4.07 переконвертировал и поправил сам(спасибо Setuper`у), а ещё всётаки отрыл v.4.08
Сильных отличий в них не вижу(кстати обе сыроваты не работает одна функция), поэтому выкладываю обе...

Код
    -- Название базы данных ДР
    fBirth = "BirthdayBot/tBirthday.tbl",
    -- Название базы данных изв. людей
    fCelebrity = "BirthdayBot/tCelebrity.tbl"

изменил на
Код
    -- Название базы данных ДР
    fBirth = "scripts/BirthdayBot/tBirthday.tbl",
    -- Название базы данных изв. людей
    fCelebrity = "scripts/BirthdayBot/tCelebrity.tbl"

плюс добавил старый файл базы данных tBirthday.tbl и файл tCelebrity.tbl в созданную папку /BirthdayBot
всё работает , не вылетает , старая база активна
Go to the top of the page
+Quote Post
D'aspid
сообщение 28.7.2008, 20:51
Сообщение #9


Освоившийся участник
*****

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




Кто подскажет как исправить вот эту ошибку:
Цитата
[20:51] Синтаксис DopeWarz.v1.1.LUA5-PtokaX.ru_newapi.lua:646: attempt to call field 'msgMain' (a nil value)

Вот эта строка:
Код
Core.SendPmToNick(user.sNick,tVar.sBot, tPics.msgTop("С возвращением, "..user.sNick).."\r\n"..tPics.msgIntro()..tMenu.msgMain());
Go to the top of the page
+Quote Post
Setuper
сообщение 5.8.2008, 11:10
Сообщение #10


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

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




в таблице tMenu поле msgMain не определено, а должно быть определено как функция!
ищи в скрипте такую строчку:
Код
tMenu.msgMain = function()

или такую:
Код
tMenu["msgMain"] = function()

или вот так:
Код
tMenu={
...
["msgMain"] = function()
...
}

если ничего подобного нет, то в этом ошибка и состоит))
Go to the top of the page
+Quote Post
D'aspid
сообщение 5.8.2008, 19:49
Сообщение #11


Освоившийся участник
*****

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




Не нашел, ошибка возникла при конвертации на API 2 :(
Go to the top of the page
+Quote Post
Mol
сообщение 7.11.2008, 20:01
Сообщение #12


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

Группа: Пользователи
Сообщений: 105
Регистрация: 21.8.2008
Из: Москва
Пользователь №: 404
Спасибо сказали: 1 раз




Скажите пожалуйсто, как сделать так 4тобы команды не были видны ? тоесть такого:
Цитата(Ptokax)
[20:59:35] <FBI> *** Error: There are no saved Birthdays!
[20:59:35] <`SunDayBoy™> !birthdays
Go to the top of the page
+Quote Post
Setuper
сообщение 7.11.2008, 20:06
Сообщение #13


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

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




в старом api надо возвращать 1 (т.е. надо писать return 1)
в новом api надо возвращать true (т.е. надо писать return true)
Go to the top of the page
+Quote Post
Mol
сообщение 7.11.2008, 21:41
Сообщение #14


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

Группа: Пользователи
Сообщений: 105
Регистрация: 21.8.2008
Из: Москва
Пользователь №: 404
Спасибо сказали: 1 раз




Цитата(Setuper @ 7.11.2008, 20:06) *
в старом api надо возвращать 1 (т.е. надо писать return 1)
в новом api надо возвращать true (т.е. надо писать return true)


Спасибо, ошибка исправилась.
Go to the top of the page
+Quote Post
Danilko
сообщение 13.2.2009, 17:32
Сообщение #15


Абсолютный новичок


Группа: Пользователи
Сообщений: 2
Регистрация: 18.1.2009
Пользователь №: 1 866
Спасибо сказали: 0 раз




Цитата(Infernus-pro @ 3.7.2008, 19:14) *
Все чаще и чаще появляються синтаксические ошибки при переводе скритов с API 1 на API 2, вот хотелось бы спросить что значит эта ошибка и как ее исправить?

Открывал scripting-interface но непомогло confuse.gif ..


помоемому с именем связанно напиши мне в асю постораюсь помочь 380-852-240
или выложи скрипт я попробую подправлю
Go to the top of the page
+Quote Post
Wariner
сообщение 14.2.2009, 9:47
Сообщение #16


Самый главный активист :-D
***********

Группа: Модераторы
Сообщений: 2 790
Регистрация: 29.6.2008
Из: г. Тула
Пользователь №: 97
Спасибо сказали: 439 раз




Хм ему ответили в третем посте! Чем ты ещё хочешь помочЬ?!
Go to the top of the page
+Quote Post
PRIZrak
сообщение 3.3.2009, 20:35
Сообщение #17


PRIZrak
***

Группа: Пользователи
Сообщений: 76
Регистрация: 22.7.2008
Пользователь №: 251
Спасибо сказали: 4 раза




attempt to call global 'GetTimer' (a nil value) - выдаёт такую ошибку после конвертации из API 1 в 2 (PtokaX LUA API Converter v0.9c). Где нужно подправить?

Скрипт лежит тута (оригинал): http://mydc.ru/ipb.html?s=&showtopic=2...post&p=1759
Go to the top of the page
+Quote Post
alex82
сообщение 3.3.2009, 20:45
Сообщение #18


Местный
*******

Группа: Неактивированные
Сообщений: 908
Регистрация: 26.12.2008
Пользователь №: 1 574
Спасибо сказали: 1389 раз




Цитата(PRIZrak @ 3.3.2009, 19:35) *
attempt to call global 'GetTimer' (a nil value) - выдаёт такую ошибку после конвертации из API 1 в 2 (PtokaX LUA API Converter v0.9c). Где нужно подправить?

Скрипт лежит тута (оригинал): http://mydc.ru/ipb.html?s=&showtopic=2...post&p=1759

В API2 нету аналога этой функции.

Проверить наличие таймера можно по его ID.
Go to the top of the page
+Quote Post
Wariner
сообщение 3.3.2009, 20:54
Сообщение #19


Самый главный активист :-D
***********

Группа: Модераторы
Сообщений: 2 790
Регистрация: 29.6.2008
Из: г. Тула
Пользователь №: 97
Спасибо сказали: 439 раз




думаю надо бы расписать

Код
function OnStartup()
       tmr = TmrMan.AddTimer(TimeOverWrite*1000)
end

function MyINFOArrival(curUser,data)
      if tmr  then
             tmr = TmrMan.AddTimer(TimeOverWrite*1000)
      end
end

function OnTimer()
       OverWrite(HubBot)
       TmrMan.RemoveTimer(tmr)
           tmr = nil
end
Go to the top of the page
+Quote Post
alex82
сообщение 3.3.2009, 21:19
Сообщение #20


Местный
*******

Группа: Неактивированные
Сообщений: 908
Регистрация: 26.12.2008
Пользователь №: 1 574
Спасибо сказали: 1389 раз




Неполхо бы так:
Код
TmrMan.RemoveTimer(tmr); tmr = nil

Переменная ведь не удаляется при удалении таймера.
Go to the top of the page
+Quote Post

2 страниц V   1 2 >
Ответить в данную темуНачать новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

Collapse

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

  Тема Ответов Автор Просмотров Последнее сообщение
No new ВАЖНО: Topic has attachmentsМодули для скриптов RusHub
26 Setuper 24 579 21.3.2017, 17:31 Посл. сообщение: Alexey
No New Posts ВАЖНО: Topic has attachmentsВопросы Разработчикам Скриптов
вопросы по скриптам (мелкие вопросы)
1 048 Wariner 475 550 12.3.2017, 22:09 Посл. сообщение: Ksan
No New Posts От: Вопросы Разработчикам Скриптов
От темы с ID: 173
0 MIKHAIL 1 384 23.1.2015, 0:56 Посл. сообщение: MIKHAIL
No New Posts От: Установка скриптов
От темы с ID: 5657
0 MIKHAIL 1 789 29.7.2014, 23:37 Посл. сообщение: MIKHAIL
No New Posts Установка скриптов
Нужна помощь по установке
2 _wRz_ 2 515 29.7.2014, 16:11 Посл. сообщение: Артём
No new От: Вопросы Разработчикам Скриптов
От темы с ID: 173
29 Wariner 10 251 28.1.2014, 13:11 Посл. сообщение: Alexey
No New Posts Единая платформа для скриптов
Обсуждения вопроса создания единой платформы скриптов
5 Enyby 4 063 18.1.2012, 20:15 Посл. сообщение: Setuper
No new Topic has attachmentsПеределка скриптов
Прошу помощи
47 Fe(one)X 20 230 26.12.2011, 15:04 Посл. сообщение: Ksan
No new Topic has attachmentsВопросы Разработчикам Скриптов с SQL
вопросы по скриптам (мелкие вопросы)
101 Wariner 12 212 6.12.2011, 0:34 Посл. сообщение: Enyby
No new ВАЖНО: Topic has attachmentsМетод Быстрого Перевода Скриптов Под API_1
Самостоятельный быстрый перевод из API_2 ---> в API_1
30 Setuper 32 096 14.8.2011, 21:16 Посл. сообщение: Олешка
No New Posts От: Переделка скриптов
От темы с ID: 4941
6 Ksan 4 436 12.8.2011, 11:33 Посл. сообщение: Ksan
No new ВАЖНО: Запросы Скриптов
Ваши идеи по разработке скриптов под HeXHuB
36 Setuper 24 684 16.5.2011, 9:40 Посл. сообщение: ANDRBEST
No New Posts Перевод сообщений verlihub
1 Net_Strannik 4 121 7.11.2010, 1:19 Посл. сообщение: Nickolya
No New Posts Документация DBHub - Написание скриптов на Perl
0 Артём 4 238 20.10.2010, 18:08 Посл. сообщение: Артём
No New Posts От: Русский перевод 5.05а
От темы с ID: 3867
0 GaZz-BenziNa 2 062 18.10.2010, 14:51 Посл. сообщение: GaZz-BenziNa

 



RSS Сейчас: 16.8.2018, 7:21