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

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

MyDC.ru _ Общалка aka Флуд _ Единая платформа для скриптов

Автор: Enyby 18.1.2012, 15:03

У меня тут возникла идея создания такой платформы.

Причины:



Что предлагаю:

Кто что думает по этому поводу?

Автор: Saymon21 18.1.2012, 15:06

Простите, ещё одного экзекутора не надо! И кстати, посмотри API русхаба, там практически всё заготовлено, что нужно.

Автор: Enyby 18.1.2012, 15:12

Не экзекутор. Все намного проще. Например, для чистой кроссплатформенность можно разработать интерфейс API, который будет общим для всех платформ. Для использования на нужной платформе, в начале надо будет просто подключить модуль с реализацией этого интерфейса на данной платформе.

Но мне больше интересен не этот вопрос, а скорее вопрос взаимодействия скриптов. Например, вызов SearchArrival другого скрипта, после отправки команды $Search с предыдущего скрипта.

Автор: Saymon21 18.1.2012, 15:22

Цитата
Core.Call(sScriptName, sFunc, ...)
Описание: Функция вызывает функцию sFunc другого скрипта sScriptName с параметрами, которые указываются в аргументе 3, 4 и тд.
Параметры функции и возвращаемые значения функции могут быть только следующих типов: string, number, boolean, table и userlightdata.
Функция Core.Call возвращает все те значения, которые возвращает функция sFunc скрипта sScriptName.
В случае ошибки функция возвращает nil и сообщение об ошибке.

http://mydc.ru/topic2378.html ???

Автор: Enyby 18.1.2012, 15:34

Не, ну это хорошо, конечно. но вот у меня стоит скрипт, допустим, дописывающий имена стран в описание пользователям. а потом я решил поставить скрипт, исправляющий флаг актива на пассив у отдельных личностей. Я должен теперь первый скрипт завязать на второй? Или пробежать все скрипты, проверить нет ли там MyInfoArrival и если есть, вызывать его? Плюс еще считать конфиг скриптов и определить те скрипты, которые включены и идут после текущего? Имхо, многовато операций. Да и модуль не должен быть завязан на все остальные модули, а то модульности никакой не будет.

Автор: Setuper 18.1.2012, 20:15

В русхабе это делается очень просто, тем более на последней версии.
скрипт1:

Код
function OmMyINFO(tUser, sData)
  tUser.sDesc = "Новое описание"
end


скрипт2:
Код
function OmMyINFO(tUser, sData)
  tUser.sMode = "P"
end


Нечто универсальное считаю неправильным, ибо функционал даёт очень разные возможности.
Конечно можно сделать нечто универсальное, но это может ухудшить работу.