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

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

MyDC.ru _ Kорзина _ Скрипт Автосохранения

Автор: malkolm2009 22.5.2009, 20:46

Народ,есть дейтсвие которое должно выполняться раз в 120 секунд. self:ChatMsg(".save") .Как это можно реализовать?подскажите пожалуйста.

Автор: Wariner 22.5.2009, 20:57

Код
function OnStartup()
    TmrMan.AddTimer(120000)
end

function OnTimer()
     self:ChatMsg(".save")
end


PS: что то у меня такое ощущение что это не имеет никакого отношения к птоке, а если так то выше приведённый код конечно же работать не будет.
PPS: если моё ощущение верно, тема будет перемещена или закрыта!

Автор: Setuper 22.5.2009, 22:49

По-моему это имеет прямое отношение к языку lua, однако, представленный тобою код работать не будет из-за того, что метод ChatMsg является методом функции таблицы. Данный метод надо вызывать либо внутри функции таблицы, либо вместо self писать истинное имя таблицы.

У автора тему хочу спросить в какой таблице определён данный метод? Если задаёшь вопрос, то задавай его корректно, чтобы можно было реализовать! Ты предоставил неработающий глобально метод self:ChatMsg(".save"), поэтому реализовать твой запрос невозможно! Либо говори структуру, либо тема идёт в корзину.

Автор: malkolm2009 22.5.2009, 23:05

хм...обьясните мне что вообще обозначает структура и если можно с примерами.

впринципе вот рабочий код

function MangAdmin:SavePlayer()
if self:Selection("player") or self:Selection("self") or self:Selection("none") then
local player = UnitName("target") or UnitName("player")
self:ChatMsg(".save")
self:LogAction("Saved player "..player..".")
else
self:Print(Locale["selectionerror1"])
end
end

как определить какая таблица задейсвована?

Автор: Setuper 22.5.2009, 23:29

Говорю ещё раз. Вызвать таким способом метод можно только внутри другого метода таблицы!

Пример:

Код
tTable = {}

function tTable:SomeMethod(params)
  self:ChatMsg(".save") -- <--- ВОТ ТАК - вызов внутри другого метода, внутри метода SomeMethod таблицы tTable
end

--определение метода ChatMsg
function tTable:ChatMsg(param)
  ...
end


Поэтому я и говорю, что нужно знать название таблицы
Код
tTable:ChatMsg(".save")


Вот это я и имел ввиду:
Код
MangAdmin:ChatMsg(".save")


Кстати, есть такое ощущение, что ты пришёл не по адресу, так как тут интерпретатор lua работает на хабе PtokaX. И таймер реализуется с помощью API функций PtokaX, поэтому ты в своём скрипте не сможешь сделать реализацию таймера!

Тема вскоре будет закрыта и удалена.