Author Topic: Вынос переменных в отдельный файл  (Read 4138 times)

0 Members and 1 Guest are viewing this topic.

droll

  • Зашел в гости
  • *
  • Posts: 7
    • View Profile
Вынос переменных в отдельный файл
« on: October 16, 2014, 09:32:34 PM »
Доброго времени суток. Интересует такой вопрос: возможно ли вынести все объявленные переменные в отдельный файл и затем в теле скрипта каким либо образом просто их все одной строчкой подгрузить в скрипт? Если данное действие не возможно с переменными, то возможна ли данная операция с константами т.к. используемые мною переменные статичны и вполне могут и как константы задаваться. Интересуюсь данным вопросом в силу того, что сильно большое кол-во заданных значений вначале скрипта портят его читаемость и затрудняют саму навигацию и правку по нему. Спасибо.

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Вынос переменных в отдельный файл
« Reply #1 on: October 16, 2014, 10:30:36 PM »
Используй include. Файл переменные.cms приложи к скрипту и туда сложи все объявления переменных.

Первой строчкой пишешь
Code: (clickermann) [Select]
#include "переменные.cms"
Но вообще как я посмотрю как некоторые пишут скрипты, так они себе потенциальные проблемы сами создают.

droll

  • Зашел в гости
  • *
  • Posts: 7
    • View Profile
Re: Вынос переменных в отдельный файл
« Reply #2 on: October 17, 2014, 12:43:13 PM »
Премного благодарен.

Kedrick

  • Освоившийся
  • **
  • Posts: 70
    • View Profile
Re: Вынос переменных в отдельный файл
« Reply #3 on: November 24, 2014, 11:36:48 PM »
Но вообще как я посмотрю как некоторые пишут скрипты, так они себе потенциальные проблемы сами создают.

Мне тоже вопрос с переменными был интересен, а почему ты считаешь что в этом могут быть проблемы?

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

Вот бы в кликермане можно было сделать еще и некоторый интерфейс для бота, чтобы там по списку выбрать нужные действия, проставить галочки, временные интервалы работы и тыкнуть старт.

Kedrick

  • Освоившийся
  • **
  • Posts: 70
    • View Profile
Re: Вынос переменных в отдельный файл
« Reply #4 on: November 25, 2014, 10:04:44 AM »
Скрипт отдельно, переменные отдельно, настройки отдельно, что ещё желаете отделить господа сепаратисты?  :P
неужели, по вашему, это повышает читаемость? мне кажется всё с точностью до наоборот.

 чем вас эта функция неустраивает или просто недобрались до её существования?
DIALOGBOX("message", buttons, icon) - числовая функция; выводит диалоговое окно с кнопками

Мне читаемость не нужна, я пишу не для того чтобы это кто-то читал (хотя и форматирование текста и комментарии втыкаю часто и качественно), моим скриптом будут пользоваться при помощи кнопки старт - все!
Сейчас мне придется кучу переменных вынести в отдельный файл "настроек бота", и в зависимости от проставленных там единичек и ноликов бот и будет выполнять или игнорировать прописанные действия. В разное время, разным персонажам нужно выполнять разные телодвижения.
Как короткий пример:
Code: (clickermann) [Select]
// Или через DEFINE тут лучше все сделать?
$raz = 0 // 1 атаковать арену
$dva_swich = 0 // 1 деньги, 2 деньги и ресы, 3 ресы - складывать в банк
$tri = 0 // 1 ставить работу
$chet = 0 // 1 ставить поиск ресов
$piat = 0 //  1 заходить на эвент
$shes = 0 // 1 заходить на лохотрон
$sem = 0 // 1 использовать лечилку
$vosem = 0 // 1 использовать баф


Диалогбокс не позволяет изменить десяток переменных разом, для этого лучше пользовать те программы, которые дают написать интерфейс.
И тут где-то недавно я находил тему о том, что диалогбокс имеет жесткий размер и если буков туда пихать много, он не показывает все, обрезает.
« Last Edit: November 25, 2014, 10:26:30 AM by Kedrick »

Луций

  • Активный участник
  • ***
  • Posts: 248
  • чат в телеге: https://t.me/klickermannchat
    • View Profile
    • Пишу скрипты на заказ:
Re: Вынос переменных в отдельный файл
« Reply #5 on: November 25, 2014, 10:23:31 AM »
кажется он начинает понимать что такое ини файлы и инклюды, возрадуемся же!

пс бота то выкладуй, нам любопытно (то что его тут кто то найдет, утащит и будет продавать - вероятность крайне мала!)

Kedrick

  • Освоившийся
  • **
  • Posts: 70
    • View Profile
Re: Вынос переменных в отдельный файл
« Reply #6 on: November 25, 2014, 10:28:25 AM »
Бот еще не дописан так, чтобы можно было хвалиться :)
Работает, но хочется круче, такчто пока не покажу.

Huligan812

  • Зашел в гости
  • *
  • Posts: 13
    • View Profile
Re: Вынос переменных в отдельный файл
« Reply #7 on: December 08, 2014, 11:29:48 AM »
ИМХО вынос переменных в отдельный файл надо использовать когда у тебя больше 1 скрипта.

Например: у меня есть основной скрипт, который фармит по времени.
Так же есть еще несколько скриптов, которые я запускаю руками.
У меня есть 2 файлика var.cms и functions.cms в которых живут переменные и вспомогательные функции которые я использую во всех своих скриптах.
Сделано это для того, чтобы не копировать кучу кода в разные скрипты и для того, чтобы централизованно править/модернизировать некоторое функции.

Kedrick

  • Освоившийся
  • **
  • Posts: 70
    • View Profile
Re: Вынос переменных в отдельный файл
« Reply #8 on: January 24, 2015, 11:55:25 AM »
Дополню тему ответом на вопрос "зачем что-то выносить в отдельный файл и инклюдить потом его в скрипт?"
Поначалу это для меня было просто интересной возможностью.
Сейчас я начал активно использовать потоки, и уперся в проблему. Все, что исполняется в потоке, должно быть написано внутри потока. (Джонни обещал это решить с годами, я помню :) )
У меня одних только подпрограмм на 500 строк, в боте 3 потока, если все писать в одном файле, то баян растягивается на 800++ строк, а если все подпрограммы тиснуть в отдельный файл и в каждом потоке заинклюдить их одной строкой, то все вмещается в 500+ строк в одном файле и около сотни во втором, где переменные, потоки и запуск всего этого.