|
|
|
|
|
21.03.2018, 14:48
|
|
Обсуждение скриптов в Системе Базис
Letos
Консультант
Регистрация: 28.06.2017
Сообщений: 555
Сказал(а) спасибо: 127
Поблагодарили 1,030 раз(а) в 366 сообщениях
21.03.2018, 14:48
Рейтинг:
()
Если вы не знаете, или не уверены, куда задавать вопрос по скриптам в Системе Базис, то эта тема для вас.
Обратите внимание на полезные ответы в этой теме!
|
Просмотров: 243270
|
2 пользователя(ей) сказали cпасибо:
|
|
21.03.2021, 08:46
|
#271
|
Новичок
Регистрация: 09.11.2020
Сообщений: 7
Сказал(а) спасибо: 3
Поблагодарили 3 раз(а) в 2 сообщениях
Вес репутации: 0
|
Цитата:
Сообщение от sergio1982
У меня нет 11, не смогу помочь, то чем вы поделились - работает в 8. Интересно что такой скрипт уже существует, а для чего это может быть полезно?
|
Менеджеры принимают заказы на распил, кромление присадку, в разных версиях раскроя, чтобы посчитать материал и кромку и пишут сопроводительное письмо на какую деталь поставить какой крепеж петли или пазы. Пока как строить модели в базисе этих деталей, ставить к ним панели для установки крепежа, я ничего не придумал. При этих действиях когда разные материалы и кромки, частенько бывают ошибки. Т.к. менеджеры подписывают у клиента заказ и если клиент не заметил что менеджер не правильно набил размеры и кромки, то это проблема клиента. Т.К на пильный центр и ЧПУ выгружает технолог, то все ошибки, это его штрафы и удержания из ЗП.
|
|
|
21.03.2021, 09:58
|
#272
|
Новичок
Регистрация: 09.11.2020
Сообщений: 7
Сказал(а) спасибо: 3
Поблагодарили 3 раз(а) в 2 сообщениях
Вес репутации: 0
|
Цитата:
Сообщение от DevDemi
Описание: расстановка полок: указываем левую и правую панель, верхнюю и нижнюю грань. Крепеж для левой и правой стороны. Потом в окне указываем количество полок, появятся интервалы. Если 0 - поле рассчитается автоматом, если поле указано - используется значение из него.
Для работы скрипта нужен как минимум БМ 10 версии от января 2018.
|
Скрипт интересный, но у меня в 11 базисе если оставить значение 0 то полки не появляются. Если ставить значения то все работает
|
|
|
26.03.2021, 20:48
|
#273
|
Новичок
Регистрация: 18.12.2019
Сообщений: 3
Сказал(а) спасибо: 5
Поблагодарили 0 раз(а) в 0 сообщениях
Вес репутации: 0
|
Здравствуйте, простите, скрипт запускается только из редактора, кто может помочь с отладкой?
Скрытый текст
PHP код:
var obj = Model.Selected;
if (obj){
var artPos = obj.ArtPos;
var size = obj.GSize;
var х = 120
var xi = х + (Math.round(size.z) + (12))
var xit = xi + (Math.round(size.x) + (12))
var xits = (xit) + (Math.round(size.z) + (12))
var xitst = ((xits)+120)
var xitsts = (Math.round(size.x) * Math.round(size.y) * Math.round(size.z)/1000000000)
var y = ((Math.round(size.z) + (6)) / (2))
var yi = (y + (Math.round(size.y) + (9)))
var yit = (yi + (Math.round(size.x) + (6)))
var yits =( (yit) + (Math.round(size.y) + (9)))
var yitst = ((yits)+(y))
Prop = Action.Properties;
var TextPa = Prop.NewString('Введите текст', х);
var TPar = Prop.NewString('Введите текст', xi);
var TePar = Prop.NewString('Введите текст', xit);
var TexPar = Prop.NewString('Введите текст', xits);
var TextPar = Prop.NewString('Введите текст', xitst);
var TextPara = Prop.NewString('Введите текст', xitsts);
var TPyr = Prop.NewString('Введите текст', y);
var TePyr = Prop.NewString('Введите текст', yi);
var TexPyr = Prop.NewString('Введите текст', yit);
var TextPyr = Prop.NewString('Введите текст', yits);
var TextPyry = Prop.NewString('Введите текст', yitst);
var SizePar = Prop.NewNumber('Размер текста', 5);
var XPar = Prop.NewNumber('X');
var YPar = Prop.NewNumber('y');
var ZPar = Prop.NewNumber('Z');
{symbols = JSON.parse( system.readTextFile('Font.json') ).Font.Symbols.Symbol;
smbMap = {};
for (var k = 0; k < symbols.length; ++k) {
var symbol = symbols[k];
smbMap[symbol.ID] = symbol;}
Text3D = AddContour('Текст');
TextContour = Text3D.Contour;
PosX = 0;
var text = TextPar.Value;
var scale = SizePar.Value;
for (var i = 0; i < text.length; ++i) {
var id = text.charCodeAt(i);
if (id >= 1040) {
id = id - 1040 + 192;}
var symbol = smbMap[id];
if (symbol) {
if (symbol.Lines) {
var lines = symbol.Lines.Line;
for (var k = 0; k < lines.length; ++k) {
var line = lines[k];
TextContour.AddLine(parseFloat(line.x1) * scale + PosX,
parseFloat(line.y1) * scale,
parseFloat(line.x2) * scale + PosX,
parseFloat(line.y2) * scale);}}
PosX += symbol.IncX * scale;}}
Text3D.PositionX = XPar.Value;
Text3D.PositionY = YPar.Value;
Text3D.PositionZ = ZPar.Value;
Text3D.Build();
Action.Commit();}
{symbols = JSON.parse( system.readTextFile('Font.json') ).Font.Symbols.Symbol;
smbMap = {};
for (var k = 0; k < symbols.length; ++k) {
var symbol = symbols[k];
smbMap[symbol.ID] = symbol;}
Text3D = AddContour('Текст');
TextContour = Text3D.Contour;
PosX = 0;
var text = TexPar.Value;
var scale = SizePar.Value;
for (var i = 0; i < text.length; ++i) {
var id = text.charCodeAt(i);
if (id >= 1040) {
id = id - 1040 + 192;}
var symbol = smbMap[id];
if (symbol) {
if (symbol.Lines) {
var lines = symbol.Lines.Line;
for (var k = 0; k < lines.length; ++k) {
var line = lines[k];
TextContour.AddLine(parseFloat(line.x1) * scale + PosX,
parseFloat(line.y1) * scale,
parseFloat(line.x2) * scale + PosX,
parseFloat(line.y2) * scale);}}
PosX += symbol.IncX * scale;}}
Text3D.PositionX = -6;
Text3D.PositionY = 8;
Text3D.PositionZ = ZPar.Value;
Text3D.Build();
Action.Commit();}
{symbols = JSON.parse( system.readTextFile('Font.json') ).Font.Symbols.Symbol;
smbMap = {};
for (var k = 0; k < symbols.length; ++k) {
var symbol = symbols[k];
smbMap[symbol.ID] = symbol;}
Text3D = AddContour('Текст');
TextContour = Text3D.Contour;
PosX = 0;
var text = TePar.Value;
var scale = SizePar.Value;
for (var i = 0; i < text.length; ++i) {
var id = text.charCodeAt(i);
if (id >= 1040) {
id = id - 1040 + 192;}
var symbol = smbMap[id];
if (symbol) {
if (symbol.Lines) {
var lines = symbol.Lines.Line;
for (var k = 0; k < lines.length; ++k) {
var line = lines[k];
TextContour.AddLine(parseFloat(line.x1) * scale + PosX,
parseFloat(line.y1) * scale,
parseFloat(line.x2) * scale + PosX,
parseFloat(line.y2) * scale);}}
PosX += symbol.IncX * scale;}}
Text3D.PositionX = -8;
Text3D.PositionY = 16;
Text3D.PositionZ = ZPar.Value;
Text3D.Build();
Action.Commit();}
{symbols = JSON.parse( system.readTextFile('Font.json') ).Font.Symbols.Symbol;
smbMap = {};
for (var k = 0; k < symbols.length; ++k) {
var symbol = symbols[k];
smbMap[symbol.ID] = symbol;}
Text3D = AddContour('Текст');
TextContour = Text3D.Contour;
PosX = 0;
var text = TPar.Value;
var scale = SizePar.Value;
for (var i = 0; i < text.length; ++i) {
var id = text.charCodeAt(i);
if (id >= 1040) {
id = id - 1040 + 192;}
var symbol = smbMap[id];
if (symbol) {
if (symbol.Lines) {
var lines = symbol.Lines.Line;
for (var k = 0; k < lines.length; ++k) {
var line = lines[k];
TextContour.AddLine(parseFloat(line.x1) * scale + PosX,
parseFloat(line.y1) * scale,
parseFloat(line.x2) * scale + PosX,
parseFloat(line.y2) * scale);}}
PosX += symbol.IncX * scale;}}
Text3D.PositionX = -55;
Text3D.PositionY = 24;
Text3D.PositionZ = ZPar.Value;
Text3D.Build();
Action.Commit();}
{symbols = JSON.parse( system.readTextFile('Font.json') ).Font.Symbols.Symbol;
smbMap = {};
for (var k = 0; k < symbols.length; ++k) {
var symbol = symbols[k];
smbMap[symbol.ID] = symbol;}
Text3D = AddContour('Текст');
TextContour = Text3D.Contour;
PosX = 0;
var text = TextPa.Value;
var scale = SizePar.Value;
for (var i = 0; i < text.length; ++i) {
var id = text.charCodeAt(i);
if (id >= 1040) {
id = id - 1040 + 192;}
var symbol = smbMap[id];
if (symbol) {
if (symbol.Lines) {
var lines = symbol.Lines.Line;
for (var k = 0; k < lines.length; ++k) {
var line = lines[k];
TextContour.AddLine(parseFloat(line.x1) * scale + PosX,
parseFloat(line.y1) * scale,
parseFloat(line.x2) * scale + PosX,
parseFloat(line.y2) * scale);}}
PosX += symbol.IncX * scale;}}
Text3D.PositionX = -55;
Text3D.PositionY = 32;
Text3D.PositionZ = ZPar.Value;
Text3D.Build();
Action.Commit();}}
{symbols = JSON.parse( system.readTextFile('Font.json') ).Font.Symbols.Symbol;
smbMap = {};
for (var k = 0; k < symbols.length; ++k) {
var symbol = symbols[k];
smbMap[symbol.ID] = symbol; }
Text3D = AddContour('Текст');
TextContour = Text3D.Contour;
PosX = 0;
var text = TextPara.Value;
var scale = SizePar.Value;
for (var i = 0; i < text.length; ++i) {
var id = text.charCodeAt(i);
if (id >= 1040) {
id = id - 1040 + 192;}
var symbol = smbMap[id];
if (symbol) {
if (symbol.Lines) {
var lines = symbol.Lines.Line;
for (var k = 0; k < lines.length; ++k) {
var line = lines[k];
TextContour.AddLine(parseFloat(line.x1) * scale + PosX,
parseFloat(line.y1) * scale,
parseFloat(line.x2) * scale + PosX,
parseFloat(line.y2) * scale); }}
PosX += symbol.IncX * scale;}}
Text3D.PositionX = -50;
Text3D.PositionY = 181;
Text3D.PositionZ = ZPar.Value;
Text3D.Build();
Action.Commit();}
{BeginBlock("Размеры");
{symbols = JSON.parse( system.readTextFile('Font.json') ).Font.Symbols.Symbol;
smbMap = {};
for (var k = 0; k < symbols.length; ++k) {
var symbol = symbols[k];
smbMap[symbol.ID] = symbol;}
Text3D = AddContour('Текст');
TextContour = Text3D.Contour;
PosX = 0;
var text = TPyr.Value;
var scale = SizePar.Value;
for (var i = 0; i < text.length; ++i) {
var id = text.charCodeAt(i);
if (id >= 1040) {
id = id - 1040 + 192;}
var symbol = smbMap[id];
if (symbol) {
if (symbol.Lines) {
var lines = symbol.Lines.Line;
for (var k = 0; k < lines.length; ++k) {
var line = lines[k];
TextContour.AddLine(parseFloat(line.x1) * scale + PosX,
parseFloat(line.y1) * scale,
parseFloat(line.x2) * scale + PosX,
parseFloat(line.y2) * scale);}}
PosX += symbol.IncX * scale; }}
Text3D.PositionX = 44;
Text3D.PositionY = -62;
Text3D.PositionZ = ZPar.Value;
Text3D.Build();
Action.Continue();}
{symbols = JSON.parse( system.readTextFile('Font.json') ).Font.Symbols.Symbol;
smbMap = {};
for (var k = 0; k < symbols.length; ++k) {
var symbol = symbols[k];
smbMap[symbol.ID] = symbol;}
Text3D = AddContour('Текст');
TextContour = Text3D.Contour;
PosX = 0;
var text = TePyr.Value;
var scale = SizePar.Value;
for (var i = 0; i < text.length; ++i) {
var id = text.charCodeAt(i);
if (id >= 1040) {
id = id - 1040 + 192;}
var symbol = smbMap[id];
if (symbol) {
if (symbol.Lines) {
var lines = symbol.Lines.Line;
for (var k = 0; k < lines.length; ++k) {
var line = lines[k];
TextContour.AddLine(parseFloat(line.x1) * scale + PosX,
parseFloat(line.y1) * scale,
parseFloat(line.x2) * scale + PosX,
parseFloat(line.y2) * scale);}}
PosX += symbol.IncX * scale; }}
Text3D.PositionX = 48;
Text3D.PositionY = -70;
Text3D.PositionZ = ZPar.Value;
Text3D.Build();
Action.Continue(); }
{symbols = JSON.parse( system.readTextFile('Font.json') ).Font.Symbols.Symbol;
smbMap = {};
for (var k = 0; k < symbols.length; ++k) {
var symbol = symbols[k];
smbMap[symbol.ID] = symbol; }
Text3D = AddContour('Текст');
TextContour = Text3D.Contour;
PosX = 0;
var text = TexPyr.Value;
var scale = SizePar.Value;
for (var i = 0; i < text.length; ++i) {
var id = text.charCodeAt(i);
if (id >= 1040) {
id = id - 1040 + 192;}
var symbol = smbMap[id];
if (symbol) {
if (symbol.Lines) {
var lines = symbol.Lines.Line;
for (var k = 0; k < lines.length; ++k) {
var line = lines[k];
TextContour.AddLine(parseFloat(line.x1) * scale + PosX,
parseFloat(line.y1) * scale,
parseFloat(line.x2) * scale + PosX,
parseFloat(line.y2) * scale);}}
PosX += symbol.IncX * scale;}}
Text3D.PositionX = 79;
Text3D.PositionY = -78;
Text3D.PositionZ = ZPar.Value;
Text3D.Build();
Action.Continue();}
{symbols = JSON.parse( system.readTextFile('Font.json') ).Font.Symbols.Symbol;
smbMap = {};
for (var k = 0; k < symbols.length; ++k) {
var symbol = symbols[k];
smbMap[symbol.ID] = symbol;}
Text3D = AddContour('Текст');
TextContour = Text3D.Contour;
PosX = 0;
var text = TextPyr.Value;
var scale = SizePar.Value;
for (var i = 0; i < text.length; ++i) {
var id = text.charCodeAt(i);
if (id >= 1040) {
id = id - 1040 + 192;}
var symbol = smbMap[id];
if (symbol) {
if (symbol.Lines) {
var lines = symbol.Lines.Line;
for (var k = 0; k < lines.length; ++k) {
var line = lines[k];
TextContour.AddLine(parseFloat(line.x1) * scale + PosX,
parseFloat(line.y1) * scale,
parseFloat(line.x2) * scale + PosX,
parseFloat(line.y2) * scale);}}
PosX += symbol.IncX * scale;}}
Text3D.PositionX = 83;
Text3D.PositionY = -86;
Text3D.PositionZ = ZPar.Value;
Text3D.Build();
Action.Continue();}
{symbols = JSON.parse( system.readTextFile('Font.json') ).Font.Symbols.Symbol;
smbMap = {};
for (var k = 0; k < symbols.length; ++k) {
var symbol = symbols[k];
smbMap[symbol.ID] = symbol;}
Text3D = AddContour('Текст');
TextContour = Text3D.Contour;
PosX = 0;
var text = TextPyry.Value;
var scale = SizePar.Value;
for (var i = 0; i < text.length; ++i) {
var id = text.charCodeAt(i);
if (id >= 1040) {
id = id - 1040 + 192; }
var symbol = smbMap[id];
if (symbol) {
if (symbol.Lines) {
var lines = symbol.Lines.Line;
for (var k = 0; k < lines.length; ++k) {
var line = lines[k];
TextContour.AddLine(parseFloat(line.x1) * scale + PosX,
parseFloat(line.y1) * scale,
parseFloat(line.x2) * scale + PosX,
parseFloat(line.y2) * scale);}}
PosX += symbol.IncX * scale;}}
Text3D.PositionX = 9;
Text3D.PositionY = -94;
Text3D.PositionZ = ZPar.Value;
Text3D.Build();
Action.Commit();}
Model.forEach(function (obj) {
if (obj.Name == "Размеры"){
obj.Visible = !obj.RotateZ(90);}})
[свернуть]
Последний раз редактировалось Uncle; 26.03.2021 в 21:21.
|
|
|
30.03.2021, 12:56
|
#274
|
Новичок
Регистрация: 02.09.2020
Сообщений: 18
Сказал(а) спасибо: 7
Поблагодарили 12 раз(а) в 6 сообщениях
Вес репутации: 0
|
Здравствуйте, объясните пожалуйста, почему при внесения изменении в окне параметров, например выбираю фурнитуру или отказываюсь от дополнительной, в скрипте (в редакторе) появляется сообщение об ошибке. При повторном запуске сообщение об ошибке нет. Сообщение об ошибке появляется только после изменении в окне параметров во время работы скрипта.
Скрытый текст
FileOptions = 'Крепеж.xml'; //файл с параметрами
MakeProperties(); // окно с параметрами
Action.Properties.Load(FileOptions); // смотрим что в файле 'Крепеж.xml'
Action.OnFinish = function() {
Action.Properties.Save(FileOptions); // а здесь сохраняем изменения в 'Крепеж.xml'
}
NewKrep();
Action.Continue();
function NewKrep() {
SetCamera(p3dIsometric);
Polk = GetPanel("Укажите Полку");
Botton = Polk.GabMin.y;
Top = Polk.GabMax.y;
TP = Polk.Thickness;
Bok = GetPanel("Укажите Бок");
Back = Bok.GabMin.z;
Front = Bok.GabMax.z;
TB = Bok.Thickness;
Make();
}
function MakeProperties() {
Prop = Action.Properties;
Krep = Prop.NewGroup('Крепеж'); //группа крепеж
OsKrep = Krep.NewFurniture('Основной крепеж');
Poz = Krep.NewCombo('Замок эксцентрика', 'Снизу\nСверху');
SHK = Krep.NewCombo('Установить доп.крепеж', 'Нет\nДа');
DopKrep = Krep.NewFurniture('Выбор крепежа');
KB = Krep.NewNumber('Крепеж сзади', 37);
KF = Krep.NewNumber('Крепеж спереди', 37);
Step = Krep.NewNumber('Шаг Доп.Крепежа', 32);
OkBtn = Prop.NewButton('Установить');
OkBtn.OnClick = function() {
//Make();
Action.Commit();
Action.AsyncExec(NewKrep);
}
OkBtn = Prop.NewButton('Закончить');
OkBtn.OnClick = function() {
Make();
Action.Finish();
}
Prop.OnChange = function() {
Make();
}
}
function Make() {
DeleteNewObjects();
OSKrep = OsKrep.Value;
DPKrep = DopKrep.Value;
if (Poz.ItemIndex == 0) {
OSKrep.Mount(Polk, Bok, TB, Botton, Back + KB.Value);
OSKrep.Mount(Polk, Bok, TB, Botton, Front - KF.Value);
if (SHK.ItemIndex == 1) {
DPKrep.Mount(Polk, Bok, TB, Botton, Back + KB.Value + Step.Value);
DPKrep.Mount(Polk, Bok, TB, Botton, Front - KF.Value - Step.Value);
}
}
if (Poz.ItemIndex == 1) {
OSKrep.Mount(Polk, Bok, TB, Top, Back + KB.Value);
OSKrep.Mount(Polk, Bok, TB, Top, Front - KF.Value);
if (SHK.ItemIndex == 1) {
DPKrep.Mount(Polk, Bok, TB, Top, Back + KB.Value + Step.Value);
DPKrep.Mount(Polk, Bok, TB, Top, Front - KF.Value - Step.Value);
}
//system.log(OSKrep.Mount);
}
UnSelectAll();
} [свернуть]
|
|
|
10.04.2021, 11:37
|
#275
|
Местный
Регистрация: 22.12.2008
Сообщений: 251
Сказал(а) спасибо: 54
Поблагодарили 224 раз(а) в 159 сообщениях
Вес репутации: 257
|
Цитата:
Сообщение от Uncle
Нужен скрипт по типу функции в Excel "Найти/Заменить" для замены символов (отдельные знаки, буквы, цифры, слова, словосочетания) в наименованиях профилей и панелей.
|
Возможно этот вам подойдет:
Скрытый текст
PHP код:
function FindAll(){ var textToFind = textToSearch.Value; alert(textToFind); if(textToFind != undefined || textToFind != null){ Model.forEach(function(obj){ if(obj.Name.indexOf(textToFind) >= 0){ obj.Selected = true; } }); } }
function ReplaceAll(){ Undo.RecursiveChanging(Model); var textToFind = textToSearch.Value; var replaceText = textForReplace.Value; //alert(textToFind); //alert(replaceText); Model.forEach(function(obj){ obj.Name = obj.Name.replace(textToFind, replaceText); }); Action.Commit(); }
var props = Action.Properties; var textToSearch = props.NewString('Найти:'); var textForReplace = props.NewString('Заменить на:'); props.NewSeparator(); var FindAllButton = props.NewButton('Найти все'); FindAllButton.OnClick = function(){ FindAll(); }; props.NewSeparator(); var ReplaceAllButton = props.NewButton('Заменить все'); ReplaceAllButton.OnClick = function(){ ReplaceAll(); }; props.NewSeparator(); var FinishButton = props.NewButton('Закончить'); FinishButton.OnClick = function(){ Action.Finish(); };
Action.Continue();
[свернуть]
|
|
|
5 пользователя(ей) сказали cпасибо:
|
|
10.04.2021, 11:54
|
#276
|
VIP
Регистрация: 31.10.2009
Адрес: Рівне. УкраЇна
Сообщений: 10,580
Сказал(а) спасибо: 14,588
Поблагодарили 20,026 раз(а) в 6,492 сообщениях
Вес репутации: 5258
|
Цитата:
Сообщение от skromvit
Возможно этот вам подойдет:
|
Не совсем понял как оно работает. Можете инструкцию какую нибудь или видео показать?
__________________
Уж лучше беспокойство в сомнении, чем успокоенность в заблуждении. .
(Мандзони Алессандро)
------------------------------------
Троллей не кормлю...
|
|
|
10.04.2021, 12:09
|
#277
|
Местный
Регистрация: 22.12.2008
Сообщений: 251
Сказал(а) спасибо: 54
Поблагодарили 224 раз(а) в 159 сообщениях
Вес репутации: 257
|
Цитата:
Сообщение от Uncle
Не совсем понял как оно работает. Можете инструкцию какую нибудь или видео показать?
|
Там просто.
1. В поле "Найти" ввести текст который нужно найти, нажать ENTER.
2. Нажать "Найти все" - всё с эти названием подсветится.
3. В поле "Заменить на" ввести текст на который нужно заменить найденное, нажать ENTER.
4. Нажать "Заменить все".
5. Нажать закончить "Закончить".
|
|
|
3 пользователя(ей) сказали cпасибо:
|
|
10.04.2021, 12:26
|
#278
|
VIP
Регистрация: 31.10.2009
Адрес: Рівне. УкраЇна
Сообщений: 10,580
Сказал(а) спасибо: 14,588
Поблагодарили 20,026 раз(а) в 6,492 сообщениях
Вес репутации: 5258
|
Цитата:
Сообщение от skromvit
Там просто.
|
Да, вроде все отлично работает! Спасибо! Сколько я Вам должен? ). Можно в личку..
__________________
Уж лучше беспокойство в сомнении, чем успокоенность в заблуждении. .
(Мандзони Алессандро)
------------------------------------
Троллей не кормлю...
|
|
|
10.04.2021, 13:51
|
#279
|
Местный
Регистрация: 22.12.2008
Сообщений: 251
Сказал(а) спасибо: 54
Поблагодарили 224 раз(а) в 159 сообщениях
Вес репутации: 257
|
Цитата:
Сообщение от Uncle
Да, вроде все отлично работает! Спасибо! Сколько я Вам должен? ). Можно в личку..
|
Да о чем речь? Автор скрипта не я, откуда скачал уже и не помню Пользуйтесь на здоровье!
|
|
|
Пользователь сказал cпасибо:
|
|
10.04.2021, 14:03
|
#280
|
VIP
Регистрация: 31.10.2009
Адрес: Рівне. УкраЇна
Сообщений: 10,580
Сказал(а) спасибо: 14,588
Поблагодарили 20,026 раз(а) в 6,492 сообщениях
Вес репутации: 5258
|
Цитата:
Сообщение от skromvit
Пользуйтесь на здоровье!
|
Спасибо! ). В любом случае, с Вашего позволения, перенесу в общую копилку
__________________
Уж лучше беспокойство в сомнении, чем успокоенность в заблуждении. .
(Мандзони Алессандро)
------------------------------------
Троллей не кормлю...
|
|
|
|
|
|
Нижняя навигация
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Текущее время: 09:58. Часовой пояс GMT +3.
|