ВНИМАНИЕ! Наша конференция посвящена космической тематике и компьютерным играм. Политические вопросы и происходящие в мире события в данный момент на нашем сайте не обсуждаются!
|
» Скриптописание - делимся опытом, задаем вопросы | |
|
|
|
Канал X3: Reunion »
Модовый и скриптовый отсек X3: Reunion: «Скриптописание - делимся опытом, задаем вопросы» |
|
|
Ander_Donetsk
100 EGP
 Рейтинг канала: 5(122) : 27 Posts: 256 Location: Украина, г. Донецк Joined: 14 Oct 2007
 |
|
1. конечно стоят... XTended и OWM как минимум
но.. если в перечне товаров есть описание на русском нестандартного товара (маскировочное устройство), то в TwareT я его нахожу просто - ware_camouflage
для товара (Микросхемы суперконтроллера) я дне нашел ничего издали похожего , решил выдернуть из рск-файлов ID, ни в одном не нашел словосочетание (Микросхемы суперконтроллера)-поиск в x3editor'е не предусмотрен, может и пропустил...
2. именно этой архитектурой и пользуюсь, но не работает, где-то делаю ошибку.. trader, например, указывал PLAYERSHIP и THIS, нужная станция в секторе присутствует, цену менял (в условных единицах игры она там, не ошибаюсь?)
_________________ Верните космических мух в Х4 Фондюшницу!! |
|
|
RangerMakar
444 EGP
   Рейтинг канала: 7(633) : 100 Posts: 823 Location: Самара Joined: 12 Jan 2008
 |
|
Ander_Donetsk wrote: |
2. Можно ли find station в заданном секторе, указав всего лишь производимый на ней продукт? Не составляя массив с последующим просеиванием по продукту..
|
Качни себе "Справочник скриптовых команд".
Из этого справочника:
Команды поиска станции по товару (кликните здесь для просмотра)
<RetVar/IF> find station: product <Var/Ware> with best price: max.price=<Var/Number>, amount=<Var/Number>, max.jumps=<Var/Number>, startsector=<Var/Sector>, trader=<Var/Ship/Station>
· Команда осуществляет поиск станции продающей продукт <Var/Ware> по наилучшей(наименьшей) цене.
· Условия поиска задаются следующим образом: максимально допустимая цена на продукт max.price=<Var/Number>, минимальное количество имеющегося на станции продукта amount=<Var/Number>, максимальное количество прыжков до станции max.jumps=<Var/Number>, считая от сектора startsector=<Var/Sector>, при этом искомая станция может торговать с объектом trader=<Var/Ship/Station> (подразумевается, что станция известна объекту, объект не является врагом и имеет доступ на станцию).
· Обратите внимание на следующий момент, что эта команда рассчитана на поиск только товаров класс контейнера которых не более XL и апгрейдов.
· Возвращает указатель на станцию, если она найдена, и null если станция соответствующей условиям поиска не обнаружено.
--------------------------------------------------------------------------------
<RetVar/IF> find station: product <Var/Ware> with min. jumps: max.price=<Var/Number>, amount=<Var/Number>, max.jumps=<Var/Number>, startsector=<Var/Sector>, trader=<Var/Ship/Station>
· Команда осуществляет поиск ближайшей станции (см. далее условия поиска) продающей продукт <Var/Ware>.
· Условия поиска задаются следующим образом: максимально допустимая цена на продукт max.price=<Var/Number>, минимальное количество имеющегося на станции продукта amount=<Var/Number>, максимальное количество прыжков до станции max.jumps=<Var/Number>, считая от сектора startsector=<Var/Sector>, при этом искомая станция может торговать с объектом trader=<Var/Ship/Station> (подразумевается, что станция известна объекту, объект не является врагом и имеет доступ на станцию).
· Обратите внимание на следующий момент, что эта команда рассчитана на поиск только товаров класс контейнера которых не более XL и апгрейдов.
· Возвращает указатель на станцию, если она найдена, и null если станция соответствующей условиям поиска не обнаружено.
--------------------------------------------------------------------------------
<RetVar/IF> find station: resource <Var/Ware> with best price: min.price=<Var/Number>, amount=<Var/Number>, max.jumps=<Var/Number>, startsector=<Var/Sector>, trader=<Var/Ship/Station>
· Команда осуществляет поиск станции покупающей ресурс <Var/Ware> по наилучшей(наибольшей) цене.
· Условия поиска задаются следующим образом: минимально допустимая цена на ресурс min.price=<Var/Number>, минимальное количество имеющегося на станции свободного места под ресурс amount=<Var/Number>, максимальное количество прыжков до станции max.jumps=<Var/Number>, считая от сектора startsector=<Var/Sector>, при этом искомая станция может торговать с объектом trader=<Var/Ship/Station> (подразумевается, что станция известна объекту, объект не является врагом и имеет доступ на станцию).
· Обратите внимание на следующий момент, что эта команда рассчитана на поиск только товаров класс контейнера которых не более XL и апгрейдов.
· Возвращает указатель на станцию, если она найдена, и null если станция соответствующей условиям поиска не обнаружено.
--------------------------------------------------------------------------------
<RetVar/IF> find station: resource <Var/Ware> with min. jumps: min.price=<Var/Number>, amount=<Var/Number>, max.jumps=<Var/Number>, startsector=<Var/Sector>, trader=<Var/Ship/Station>
· Команда осуществляет поиск ближайшей станции (см. далее условия поиска) станции покупающей ресурс <Var/Ware>.
· Условия поиска задаются следующим образом: минимально допустимая цена на ресурс min.price=<Var/Number>, минимальное количество имеющегося на станции свободного места под ресурс amount=<Var/Number>, максимальное количество прыжков до станции max.jumps=<Var/Number>, считая от сектора startsector=<Var/Sector>, при этом искомая станция может торговать с объектом trader=<Var/Ship/Station> (подразумевается, что станция известна объекту, объект не является врагом и имеет доступ на станцию).
· Обратите внимание на следующий момент, что эта команда рассчитана на поиск только товаров класс контейнера которых не более XL и апгрейдов.
· Возвращает указатель на станцию, если она найдена, и null если станция соответствующей условиям поиска не обнаружено.
--------------------------------------------------------------------------------
<RetVar/IF> find station sells: resource <Var/Ware> with best price: max.price=<Var/Number>, amount=<Var/Number>, max.jumps=<Var/Number>, startsector=<Var/Sector>, trader=<Var/Ship/Station>
· Команда осуществляет поиск станции продающей ресурс <Var/Ware> по наилучшей(наименьшей) цене. Условия поиска задаются следующим образом: максимально допустимая цена на ресурс max.price=<Var/Number>, мининальное количество на станции ресурса amount=<Var/Number>, максимальное количество прыжков до станции max.jumps=<Var/Number>, считая от сектора startsector=<Var/Sector>, при этом искомая станция может торговать с объектом trader=<Var/Ship/Station> (подразумевается, что станция известна объекту, объект не является врагом и имеет доступ на станцию).
· Обратите внимание на следующий момент, что эта команда рассчитана на поиск только товаров класс контейнера которых не более XL и апгрейдов.
· Возвращает указатель на станцию, если она найдена, и null если станция соответствующей условиям поиска не обнаружено.
--------------------------------------------------------------------------------
<RetVar/IF> find station sells: resource <Var/Ware> with min. jumps: max.price=<Var/Number>, amount=<Var/Number>, max.jumps=<Var/Number>, startsector=<Var/Sector>, trader=<Var/Ship/Station>
· Команда осуществляет поиск ближайшей станции (см. далее условия поиска) продающей ресурс <Var/Ware>.
· Условия поиска задаются следующим образом: максимально допустимая цена на ресурс max.price=<Var/Number> мининальное количество на станции ресурса amount=<Var/Number>, максимальное количество прыжков до станции max.jumps=<Var/Number>, считая от сектора startsector=<Var/Sector>, при этом искомая станция может торговать с объектом trader=<Var/Ship/Station> (подразумевается, что станция известна объекту, объект не является врагом и имеет доступ на станцию).
· Обратите внимание на следующий момент, что эта команда рассчитана на поиск только товаров класс контейнера которых не более XL и апгрейдов.
· Возвращает указатель на станцию, если она найдена, и null если станция соответствующей условиям поиска не обнаружено.
|
В справочнике к этим командам есть доп. сведения и примечания.
Ander_Donetsk wrote: |
2. именно этой архитектурой и пользуюсь, но не работает...
|
А напиши команду полностью - в том виде, как в своем скрипте используешь - подумаем...
Last edited by RangerMakar on 13:31 03-04-2009; edited 1 time in total |
|
|
Ander_Donetsk
100 EGP
 Рейтинг канала: 5(122) : 27 Posts: 256 Location: Украина, г. Донецк Joined: 14 Oct 2007
 |
|
022 $stationcyb= find station: product Киборги
max.price=720 (цена у них при 1 шт на складе 48 000)amount=1 ith min. jumps: 22 startsector= Низвержение безбожника trader= PLAYERSHIP (пробовал THIS и конкретно выбранный TS из собственности)
...
024 $stationcyb=> station add secondary resourse Запчасти дроидов (Мочалки, Сигареты...)
025 старт производства
В данном секторе у меня ПараГнидский Центр Увеличения и 4 из 6 киборгов в байе..
_________________ Верните космических мух в Х4 Фондюшницу!! |
|
|
RangerMakar
444 EGP
   Рейтинг канала: 7(633) : 100 Posts: 823 Location: Самара Joined: 12 Jan 2008
 |
|
Ander_Donetsk wrote: |
022 $stationcyb= find station: product Киборги
max.price=720 (цена у них при 1 шт на складе 48 000)amount=1 ith min. jumps: 22 startsector= Низвержение безбожника trader= PLAYERSHIP ...
|
Как я понял, выглядит так:
Code: |
$stationcyb = find station: product Киборги with min. jumps: max.price=720, amount=1, max.jumps=22, startsector=Низвержение безбожника, trader=[PLAYERSHIP] |
Т. е. в $stationcyb команда возвращает null?
Попробуй после этой команды выполнять еще вот этот страховочный код:
Code: |
if not $stationcyb
$stationcyb = find station sells: resource Киборги with best price: max.price=720 , amount=1 , max.jumps=22 , startsector=Низвержение безбожника , trader= [THIS] |
Так реализовано в стандартном Галоторговце. Т. е., там при поиске сделки по покупке, сначала выполняется та команда, которую ты используешь, а затем, если станция не найдена, то выполняется дополнительный поиск через $stationcyb = find station sells: resource ...
Здесь trader= [THIS] или [PLAYERSHIP] - так же как в первой команде.
Last edited by RangerMakar on 14:39 03-04-2009; edited 1 time in total |
|
|
Ander_Donetsk
100 EGP
 Рейтинг канала: 5(122) : 27 Posts: 256 Location: Украина, г. Донецк Joined: 14 Oct 2007
 |
|
не понял, Киборги ведь не ресурс - это продукт...
021 вывод сообщения $stationcyb ... THRY
может, есть ограничение Киборги - это не продукт, а идет подмена товара, ракет каких-нибудь..
если amount=0, что говорит о пустом складе, не будет ли ошибкой
указывать amount=0?
_________________ Верните космических мух в Х4 Фондюшницу!! |
|
|
RangerMakar
444 EGP
   Рейтинг канала: 7(633) : 100 Posts: 823 Location: Самара Joined: 12 Jan 2008
 |
|
Ander_Donetsk wrote: |
не понял, Киборги ведь не ресурс - это продукт...
|
Что означает эта команда: "$stationcyb = find station sells: resource ..." - возможно, имеются в виду станции, которые продают промежуточный продукт? Т. е. комплексы Игрока... Если это так, то эта страховочная команда не поможет в твоем случае... А ты попробовал уже ее задействовать?
Ander_Donetsk wrote: |
021 вывод сообщения $stationcyb ... THRY
|
Здесь не понял, о чем речь? Т. е. после команды "$stationcyb = find station: product Киборги ..." получилось: $stationcyb != null? Тогда, значит, станция определена. Т. е. в переменной $stationcyb содержится ссылка на найденную станцию. Или здесь что-то другое имелось в виду?
Ander_Donetsk wrote: |
если amount=0, что говорит о пустом складе, не будет ли ошибкой указывать amount=0?
|
По крайней мере, в описании команды нет запрета на amount=0. Видимо, amount=0 использовать можно.
Chem wrote: |
Стоп. Цена у него 48 тысяч кредитов, да ? А ты пытаешься найти за 720 кредитов?
|
О, точно. 48000 - это макс. цена. Значит, мин. цена, скорее всего, окажется не менее, чем в 20000 кр > 720 кр.
Last edited by RangerMakar on 17:12 03-04-2009; edited 1 time in total |
|
|
Chem
780 EGP
          Рейтинг канала: 15(2610) : 248 Posts: 4751 Location: Киев Joined: 08 Jan 2007
 |
|
Ander_Donetsk wrote: |
max.price=720 (цена у них при 1 шт на складе 48 000)
|
Стоп.
Цена у него 48 тысяч кредитов, да ?
А ты пытаешься найти за 720 кредитов?
_________________ Умножим энтропию на 0 :-) |
|
|
Ander_Donetsk
100 EGP
 Рейтинг канала: 5(122) : 27 Posts: 256 Location: Украина, г. Донецк Joined: 14 Oct 2007
 |
|
в самом верху страницы - мой пост, в котором спрашиваю, в чем указывать цену: в игровых единицах или в кредах... я указываю в и.е. учитывая кратность товара 1х68.67
если синтаксис команды в кредитах, то возможно, именно в этом ошибка...
021 вывод сообщения $stationcyb ... THRY - я попытался выводить в лог принудительно сообщение о результатах выполнения функции, мессага приходит пустая, сл-но станция не найдена..
_________________ Верните космических мух в Х4 Фондюшницу!! |
|
|
Chem
780 EGP
          Рейтинг канала: 15(2610) : 248 Posts: 4751 Location: Киев Joined: 08 Jan 2007
 |
|
Ander_Donetsk wrote: |
в игровых единицах или в кредах... я указываю в и.е. учитывая кратность товара 1х68.67
|
а что такое игровые единицы ?
Для меня игровые единицы (то бишь игровая валюта) и есть кредиты.
_________________ Умножим энтропию на 0 :-) |
|
|
Xenon J
1033 EGP
       Рейтинг канала: 11(1675) : 160 Posts: 3390 Location: Ксенонский сектор 472 Joined: 30 Mar 2007
 |
|
Ander_Donetsk wrote: |
1. Подскажите, если не затруднит, как изменить цену на нестандартный товар (микросхемы суперконтроллера)? В TwareT
|
А кто тебе сказал, что это TwareT? Всякий мусор и бодяга, типа плутония и б/у органических удобрений, находятся в TWareN. В скриптредакторе фильтруется по закладке Сельхозпродукты
добавлено спустя 18 секунд:
Chem wrote: |
а что такое игровые единицы ?
|
РелВал
добавлено спустя 1 минуту:
RangerMakar wrote: |
Что означает эта команда: "$stationcyb = find station sells: resource ..." - возможно, имеются в виду станции, которые продают промежуточный продукт?
|
Это ищет торговки с нужным товаром. Для них он вторичный ресурс
_________________ Последний раз редактировалось: Xenon J (23:23 23-03-2023), всего редактировалось 16 раз
Last edited by Xenon J on 17:31 03-04-2009; edited 2 times in total |
|
|
Ander_Donetsk
100 EGP
 Рейтинг канала: 5(122) : 27 Posts: 256 Location: Украина, г. Донецк Joined: 14 Oct 2007
 |
|
Xenon J wrote: |
А кто тебе сказал, что это TwareT? Всякий мусор и бодяга, типа плутония и б/у органических удобрений, находятся в TWareN
|
это понятно и так... перерыл все файлы Tware - найти Микросхемы суперконтроллера не смог, методом тыка (помпоменял\запаковал\загрузил\запустил\понял, что не то\end sub) убил вечер
Chem wrote: |
Стоп.
Цена у него 48 тысяч кредитов, да ?
А ты пытаешься найти за 720 кредитов?
|
- все теперь работает, в синтаксис скриптов действительно ставятся кредиты, а в Tware-файлах для получения желаемой цены продукта в кредитах используется кратность (параметр №9 в строке описания), причем для разных групп товаров ее значение не совпадает...
_________________ Верните космических мух в Х4 Фондюшницу!! |
|
|
Ander_Donetsk
100 EGP
 Рейтинг канала: 5(122) : 27 Posts: 256 Location: Украина, г. Донецк Joined: 14 Oct 2007
 |
|
нашел .!.
если кому-то будет интересно..
вообще бы ввел маркер для поиска в темах скриптописания методику
КАК ИЗМЕНЯТЬ цену/класс контейнера/аудио(видео)метку товаров/ и.т.д., в том числе нестандартных.
- берется справочник по скриптовым командам from DragonP; открывается вкладка "Сводная таблица типов и подтипов товаров и объектов"; так как инфа там уже несколько устарела в свете того же мода XTended, то вытягиваются Tware-файлы из cat\dat №4 (товары для оригинального Reunion)/ сравниваются субтипы с таблицей и определяется наконец-то имя товара который "все это время успешно маскировался под приличного человека..."(Бриллиантовая рука)
в моем случае Микросхемы суперконтроллеров обзывались SS_WARE_SSLAVECHIPS
кратность, которую необходимо поменять для получения новой желаемой цены я вычислял опытным путем. Для правки в блокноте - это девятый параметр в строке-описателе, если для правки использовать внешний X3 Editor TC, то параметр называется Production RelVal (NPC)
|
|
|
Ander_Donetsk
100 EGP
 Рейтинг канала: 5(122) : 27 Posts: 256 Location: Украина, г. Донецк Joined: 14 Oct 2007
 |
|
Какой командой скриптредактора лучше сделать следующее:
- я create ship ... TS, а затем хочу изменить его класс на М5, оставив при этом класс перевозимых контейнеров и все апгрейды от TS, затем, при определенных условиях, вернуть его родной класс? Безопасно ли будет проворачивать подобное с уже пристыкованными кораблями (к TL не стыкуется M5, но стыкуется TS)? Хотелось бы получить мнение знающих людей, а то поднадоели эксперименты с вылетом в Форточки ХР и незагружаемыми сейвами.
Заранее спасибо за квалифицированные ответы по данному вопросу..
|
|
|
Xenon J
1033 EGP
       Рейтинг канала: 11(1675) : 160 Posts: 3390 Location: Ксенонский сектор 472 Joined: 30 Mar 2007
 |
|
Ander_Donetsk wrote: |
я create ship ... TS, а затем хочу изменить его класс на М5,
|
Изменить класс корабля скриптом нельзя.
Ander_Donetsk wrote: |
Безопасно ли будет проворачивать подобное с уже пристыкованными кораблями (к TL не стыкуется M5, но стыкуется TS)?
|
Нет:
Ander_Donetsk wrote: |
вылетом в Форточки ХР и незагружаемыми сейвами.
|
_________________ Последний раз редактировалось: Xenon J (23:23 23-03-2023), всего редактировалось 16 раз |
|
|
RangerMakar
444 EGP
   Рейтинг канала: 7(633) : 100 Posts: 823 Location: Самара Joined: 12 Jan 2008
 |
|
Вопрос к скриптерам (возможно и к обжистам тоже).
На сколько надежно ведет себя скриптовой движок при освобождении памяти, выделенной под массив?
Механизм основан на подсчете ссылок. Если ссылок на массив нет, то память, по идее, должна быть особождена. Все так и происходит? Или есть какие-то проблемы?
Распутывает ли сборщик мусора циклические ссылки?
Вот несколько примеров с вопросами:
1. В простых случаях, надеюсь, память будет освобождена правильно? :
1.1.
Code: |
...
$arr1 = array alloc: size= 1
return null
...
|
1.2.
Code: |
$arr1 = array alloc: size= 1
$arr1 = null
|
2. Освобождается ли память, выделенная под $arr2? :
Code: |
$arr1 = array alloc: size= 1
$arr2 = array alloc: size= 1
$arr1[ 0 ] = $arr2
set global variable: name= "arr1" value= $arr1
set global variable: name= "arr1" value= null
|
3. Будет ли освобождена память, выделенная под $arr1? :
Code: |
$arr1 = array alloc: size= 1
$arr1[ 0 ] = $arr1
$arr1 = null
|
4. Освободится ли память, выделенная под $arr1 и $arr2? :
Code: |
$arr1 = array alloc: size= 1
$arr2 = array alloc: size= 1
$arr1[ 0 ] = $arr2
$arr2[ 0 ] = $arr1
$arr1 = null
$arr2 = null
|
---
Chem wrote: |
АлексаЯра надо теребить
|
Ок.
Last edited by RangerMakar on 09:51 07-04-2009; edited 2 times in total |
|
|
Ander_Donetsk
100 EGP
 Рейтинг канала: 5(122) : 27 Posts: 256 Location: Украина, г. Донецк Joined: 14 Oct 2007
 |
|
ПРОШУ ПОМОЧЬ НАПИСАТЬ ПРИМИТИВ:формирует массив из произвольно введенных текстовых переменных (пробелы в т.ч.),источник-page id="NNNN", при условиях вынимает из массива каждый элемент по порядку и выстраивает их в лог с задержкой , скажем в 0.33 секунды. Размещает весь массив в текущем !!! логе...
не дает покоя интродакшн скриптового редактора
хочу реализовать подобное в BBS... (хотеть не вредно...)
_________________ Верните космических мух в Х4 Фондюшницу!! |
|
|
Chem
780 EGP
          Рейтинг канала: 15(2610) : 248 Posts: 4751 Location: Киев Joined: 08 Jan 2007
 |
|
Ander_Donetsk wrote: |
хочу реализовать подобное в BBS... (хотеть не вредно...)
|
продолжай хотеть, до Х4
добавлено спустя 1 минуту:
RangerMakar wrote: |
На сколько надежно ведет себя скриптовой движок при освобождении памяти, выделенной под массив?
|
АлексаЯра надо теребить
кучу чистит не обж, а экзе.
_________________ Умножим энтропию на 0 :-)
Last edited by Chem on 00:31 07-04-2009; edited 1 time in total |
|
|
Kreven
|
|
Трям здрасти. Строю супермегагига комлекс Настропового масла и Стотт-специй в Царстве Понтивика. Пробую воспльзоваться твоим скриптом гиперпространственный прыжковый комплек чтобы перетенуть из Пустоши проповедника Кр.шахту(три другие L уже не справляются). Скрипт поставил. У Гонеров модуль за лям кредитов купил. Поставил на Мамонта(своего). А вот сколько ресурсов нужно(раймс полотно, микросхемы и т.д )так нигде не нашел. Да и в меню команд корабля строка "Приготовиться к установке гипер-комплекса" так и не появилась. Если не занят помоги разобраться. Заранее спс.
Недоперепилот wrote: |
Приветствую уважаемого Недоперепилот
> Использовал твой "Гиперпространственный прыжковый комплекс.
> " классная и очень нужная вещь, НО
|
|
|
|
Ander_Donetsk
100 EGP
 Рейтинг канала: 5(122) : 27 Posts: 256 Location: Украина, г. Донецк Joined: 14 Oct 2007
 |
|
Продолжаю истощать достопочтенную публику, назойливо, вопросами...
Кто подскажет, какой алгоритм действий XPluginManager'а при добавлении кораблей в игру? У меня после добавления бывало так, что добавленный TL вытеснял с верфей родной TL расы, что не есть быть моим конечным желанием. Пробывал схитрить и добавить в TShips последнего установленного мода строчку из файла TShips добавляемого корабля и получившийся бутерброд запихать в cat от XPluginManager'а, в папке mod игры. результат - от нерабочих сохранок до потери модели корабля игрока (висишь в космосе бестелесным духом, управление не работает). А мне так хотелось от xsp-файл корабликов перейти к единому cat-файлу, добавляемому в хвост кат/датов. Как синтезировать общий TShips? Куда класть сцены? Что членораздельное почитать по этй теме??
_________________ Верните космических мух в Х4 Фондюшницу!! |
|
|
RangerMakar
444 EGP
   Рейтинг канала: 7(633) : 100 Posts: 823 Location: Самара Joined: 12 Jan 2008
 |
|
Ander_Donetsk wrote: |
Продолжаю истощать достопочтенную публику, назойливо, вопросами...
|
Правильно - так и надо. Обсуждения очень полезны, я считаю.
Ander_Donetsk wrote: |
Кто подскажет, какой алгоритм действий XPluginManager'а при добавлении кораблей в игру? ... Как синтезировать общий TShips? Куда класть сцены? Что членораздельное почитать по этй теме??
|
Эти вопросы лучше задать модерам в соответствующих темах:
X3-Modding: Разведка боем
Моделинг Х3
|
|
|
|
|
|
Канал X3: Reunion ->
Модовый и скриптовый отсек X3: Reunion: «Скриптописание - делимся опытом, задаем вопросы» |
|
К списку каналов | Наверх страницы |
Цитата не в тему: Зашла в тему ругаться и забыла, по какому поводу... (расстроилась MeLeK)
|
» Скриптописание - делимся опытом, задаем вопросы | |
|