ZVSE
********************************************************************************
; Предварительная часть
********************************************************************************
!#UN:P91/?v470; Проверить, включен ли скрипт в настройках WoG-ификации
!#UN:P900/?v471; Проверить, включена ли система опыта существ
********************************************************************************
; Кристальный дракон
********************************************************************************
; Настройка опыта
!?PI&v470=1/v471=1; Пост-триггер, если включены скрипт и система опыта !!EA133:B6/0/0/0/0/0/0/0/0/0/0/0/0/0/0; Обнулить способность !!EA133:B7/0/0/0/0/0/0/0/0/0/0/0/0/0/0; Обнулить способность !!EA133:B8/0/0/0/0/0/0/0/0/0/0/0/0/0/0; Обнулить способность !!EA133:B9/0/0/0/0/0/0/0/0/0/0/0/0/0/0; Обнулить способность !!EA133:B10/0/0/0/0/0/0/0/0/0/0/0/0/0/0; Обнулить способность !!EA133:B11/0/0/0/0/0/0/0/0/0/0/0/0/0/0; Обнулить способность !!EA133:B12/0/0/0/0/0/0/0/0/0/0/0/0/0/0; Обнулить способность !!EA133:B6/1/103/37/50/55/60/65/70/75/80/85/90/95/100;Дать способность "Природа голема", 50-100% !!EA133:B7/1/99/62/0/5/10/15/20/25/30/35/40/45/50;Дать способность колдовать "Ослепление", 1-й уровень, 5-50% !!EA133:B8/1/66/37/0/3/6/9/12/15/18/21/24/27/30;Дать способность "Блок", 1-й уровень, 3-30% !!EA133:B9/1/70/1/0/0/0/0/0/0/0/1/1/1/1; Дать способность "Страх", 7-й уровень
;Предварительная настройка кристального дракона
!?PI&v470=1;Триггер на пост-инструкцию. !!MA : F133/31050 I133/42066 X133/d+131056;Делаем кристального дракона неживым и неподверженным боевому духу и страху и изменяем его AI Value и Fight Value. !!VRz754&v471=0 : S^Голем. Сопротивление магии 50%. Производит кристаллы.^;Записываем описание кристального дракона в переменную. !!VRz754&v471=1 : S^Голем. Сопротивление магии. Производит кристаллы.^;Записываем описание кристального дракона в переменную. !!UN : G1/133/2/z754;Установить описание для кристального дракона.
;Убрать стандартное сопротивление магии и добавить сопротивление голема
!?MR2&v470=1;Когда срабатывает гномье сопротивление. !!MR : M?y-1;Запоминаем, у кого срабатывает сопротивление. !!MR&y-1=133 : Fd-20;Если сопротивление сработало у кристальных драконов, убираем природный шанс на его срабатывание.
!?MR1&v470=1/v471=0;При срабатывании големового сопротивления, если система опыта не включена !!MR : M?y-1 D?y-2;Запоминаем, у кого срабатывает сопротивление и его урон. !!VRy-2 : Sy-2:2;Делим запомненный урон на 2. !!MR&y-1=133 : Fy-2;Если сопротивление сработало у кристальных драконов, изменяем урон на новое, (уменьшенное в 2 раза) значение.
;Прибавка кристаллов по новой формуле.
!#TM65&v470=1 : S8/999/7/255;Таймер каждому игроку на первый день каждой недели, начиная со второй.
!?TM65&v470=1;При срабатывании таймера. !!VRv6000 : S0;Очищаем переменную для счёта кол-ва кристальных драконов в шахтах и гарнизонах. !!VRv6001 : S0;Очищаем переменную для счёта общего кол-ва кристальных драконов. !!FU9003 : P;Вызываем функцию счёта кристальных драконов у героев текущего игрока. !!FU9006 : P;Вызываем функцию счёта кристальных драконов в городах текущего игрока. !!FU9009 : P;Вызываем функцию счёта кристальных драконов в шахтах текущего игрока. !!FU9012 : P;Вызываем функцию счёта кристальных драконов в гарнизонах текущего игрока. !!OW&v6001>0 : R-1/4/d-3;Забираем 3 кристалла у игрока, если у него есть кристальные драконы в городах или у героев. !!VRv6001 : Sv6001+v6000;Прибавляем переменную для счёта кол-ва кристальных драконов в шахтах и гарнизонах к переменной для счёта общего кол-ва кристальных драконов. !!FU9001 : Pv6001/?v6001;Вызываем функцию, вычисляющую целочисленный квадратный корень из числа кристальных драконов (с округлением вниз). !!VRv6001 : Sv6001*5:2;Умножаем целочисленный квадратный корень из числа кристальных драконов на 2,5. !!OW : R-1/4/dv6001; Прибавляем кристаллы за кристальных драконов.
;Функции счёта кристальных драконов в гарнизонах текущего игрока.
!?FU9012&v470=1;Функция подготовки к счёту кристальных драконов в гарнизонах текущего игрока. !!OW : C?y1;Считываем цвет игрока. !!VRv6002 : S-1;Подготавливаем x-координату к поиску координат гарнизонов. !!UN : U33/-1/?y2;Считаем количество гарнизонов на карте. !!DO9013/1/y2/1 : Py1/33;Запускаем цикл, находящий и проверяющий все гарнизоны на карте. !!VRv6002 : S-1;Подготавливаем x-координату к поиску координат гарнизонов. !!UN : U219/-1/?y2;Считаем количество гарнизонов на карте. !!DO9013/1/y2/1 : Py1/219;Запускаем цикл, находящий и проверяющий все гарнизоны на карте.
!?FU9013&v470=1;Функция поиска и проверки гарнизона. !!UN : Ux2/-1/-1/6002;Находим координаты гарнизона. !!GRv6002/v6003/v6004 : O?y1;Считываем цвет владельца гарнизона. !!DO9014/0/6/1&y1=x1 : P;Если владелец гарнизона - текущий игрок, запускаем цикл, считающий кристальных драконов в охране этого гарнизона.
!?FU9014&v470=1;Функция вычисления кол-ва кристальных драконов в слоте охраны гарнизона. !!GRv6002/v6003/v6004 : Gx16/?y1/?y2;Считываем информацию о типе существ в слоте охраны гарнизона и их количестве . !!VRv6000&y1=133 : Sv6000+y2;Если существа - кристальные драконы, то прибавляем их количество к переменной для счёта кол-ва драконов в шахтах и гарнизонах.
;Функции счёта кристальных драконов в шахтах текущего игрока.
!?FU9009&v470=1;Функция подготовки к счёту кристальных драконов в шахтах текущего игрока. !!OW : C?y1;Считываем цвет игрока. !!VRv6002 : S-1;Подготавливаем x-координату к поиску координат шахт. !!UN : U53/-1/?y2;Считаем количество шахт на карте. !!DO9010/1/y2/1 : Py1/53;Запускаем цикл, находящий и проверяющий все шахты на карте. !!VRv6002 : S-1;Подготавливаем x-координату к поиску координат шахт. !!UN : U220/-1/?y2;Считаем количество шахт на карте. !!DO9010/1/y2/1 : Py1/220;Запускаем цикл, находящий и проверяющий все шахты на карте.
!?FU9010&v470=1;Функция поиска и проверки шахты. !!UN : Ux2/-1/-1/6002;Находим координаты шахты. !!MNv6002/v6003/v6004 : O?y1;Считываем цвет владельца шахты. !!DO9011/0/6/1&y1=x1 : P;Если владелец шахты - текущий игрок, запускаем цикл, считающий кристальных драконов в охране этой шахты.
!?FU9011&v470=1;Функция вычисления кол-ва кристальных драконов в слоте охраны шахты. !!MNv6002/v6003/v6004 : Mx16/?y1/?y2;Считываем информацию о типе существ в слоте охраны шахты и их количестве . !!VRv6000&y1=133 : Sv6000+y2;Если существа - кристальные драконы, то прибавляем их количество к переменной для счёта кол-ва драконов в шахтах и гарнизонах.
;Функции счёта кристальных драконов в городах текущего игрока.
!?FU9006&v470=1;Функция подготовки к счёту кристальных драконов в городах текущего игрока. !!OW : C?y1;Считываем цвет игрока. !!UN : U98/-1/?y2;Считаем количество городов на карте. !!VRy2 : Sy2-1;Считаем номер последнего города. !!DO9007/0/y2/1 : Py1;Запускаем цикл, проверяющий все города на карте.
!?FU9007&v470=1;Функция определения хозяина города и проверки слотов его гарнизона или армии гарнизонного героя. !!CA0/x16 : O?y1;Узнаём цвет хозяина города. !!CA0/x16 : H0/?y2;Проверяем, нет ли героя на гарнизоне города, если есть, запоминаем его номер. !!DO9008/0/6/1&x1=y1/y2<0 : Px16;Если хозяин города - текущий игрок, и на гарнизоне городе нет героя, запускаем цикл, считающий кристальных драконов в городе. !!DO9005/0/6/1&x1=y1/y2>=0 : Py2;Если хозяин города - текущий игрок, и на гарнизоне города городе есть герой, запускаем цикл, считающий кристальных драконов в армии этого героя.
!?FU9008&v470=1;Функция вычисления кол-ва кристальных драконов в слоте гарнизона города. !!CA0/x1 : M2/x16/?y1/?y2;Считываем информацию о типе существ в слоте гарнизона города и их количестве. !!VRv6001&y1=133 : Sv6001+y2;Если существа - кристальные драконы, то прибавляем их количество к переменной для счёта общего кол-ва драконов.
;Функции вычисления кол-ва кристальных драконов у героев текущего игрока.
!?FU9003&v470=1;Функция составления списка героев игрока. !!OW : O-1/?y9/?y1/?y2/?y3/?y4/?y5/?y6/?y7/?y8;Записываем номера активных героев игрока в переменные. !!DO9004/1/y9/1 : Py1/y2/y3/y4/y5/y6/y7/y8;Запускаем цикл, проверяющий героев игрока.
!?FU9004&v470=1;Функция проверки слотов армии героя. !!DO9005/0/6/1 : Pxx16;Запускаем цикл, проверяющий количество кристальных драконов в слотах армии героя.
!?FU9005&v470=1;Функция вычисления кол-ва кристальных драконов в слоте армии героя. !!HEx1 : C0/x16/?y1/?y2;Считываем информацию о типе существ в слоте армии героя и их количестве. !!VRv6001&y1=133 : Sv6001+y2;Если существа - кристальные драконы, то прибавляем их количество к переменной для счёта общего кол-ва драконов.
;Функции вычисления целочисленного квадратного корня числа (с округлением вниз).
!?FU9001&v470=1;Функция настройки и запуска цикла вычисления целочисленного квадратного корня числа. !!VRy1 : Sx1+2; !!DO9002/1/y1/2 : Py1/?y1/x1;Настраиваем первую разность и запускаем цикл, вычисляющий целочисленный квадратный корень числа. !!VRx2 : Sy1;Возвращаем значение целочисленного квадратного корня.
!?FU9002&v470=1;Функция шага вычисления целочисленного квадратного корня числа. !!VRx3 : Sx3-x16;Отнимаем текущее нечётное число от текущей разности, что даёт новую текущую разность. !!VRx2&x3<0 : Sx16:2;Если текущая разность отрицательна, записываем половину текущего нечётного числа (с округлением вниз) в переменную возвращаемого значения. !!VRx16&x3<0 : Sx1;Если текущая разность отрицательна, завершаем цикл.
********************************************************************************
;Горыныч
********************************************************************************
!?PI&v470=1/v471=1; Пост-триггер, если включены скрипт и система опыта !!EA168:B6/0/0/0/0/0/0/0/0/0/0/0/0/0/0; Обнулить способность !!EA168:B7/0/0/0/0/0/0/0/0/0/0/0/0/0/0; Обнулить способность !!EA168:B8/0/0/0/0/0/0/0/0/0/0/0/0/0/0; Обнулить способность !!EA168:B9/0/0/0/0/0/0/0/0/0/0/0/0/0/0; Обнулить способность !!EA168:B10/0/0/0/0/0/0/0/0/0/0/0/0/0/0; Обнулить способность !!EA168:B11/0/0/0/0/0/0/0/0/0/0/0/0/0/0; Обнулить способность !!EA168:B12/0/0/0/0/0/0/0/0/0/0/0/0/0/0; Обнулить способность !!EA168:B6/1/100/61/0/4/8/12/16/20/24/28/32/36/40; Дать способность "Бонус защиты", 1-й уровень, 4-40 !!EA168:B7/1/76/49/0/5/10/15/20/25/30/35/40/45/50; Дать способность "Уклонение 50%", 1-й уровень, 5-50% !!EA168:B8/1/87/37/0/3/6/9/12/15/18/21/24/27/30; Дать способность "Сопротивление магии", 1-й уровень, 3-30% !!EA168:B9/1/70/1/0/0/0/0/0/0/0/1/1/1/1; Дать способность "Страх", 7-й уровень
;Предварительная настройка горыныча
!?PI&v470=1;Триггер на пост-инструкцию. !!MA : A168/35 C168/6/17500 C168/0/24 D168/35 E168/60 F168/27145 H168/3 I168/30027 M168/50 P168/750 S168/10 V168/1; Устанавливаем характеристики горыныча. !!VRz755 : S^Заразный. Иммунитет к болезням. Безответная атака всех вокруг.^;Записываем описание горыныча в переменную. !!UN : G1/168/2/z755;Установить описание для горыныча.
;Добавить сопротивление к ослабляющим заклинаниям
!?MR2&v470=1; Когда срабатывает гномье сопротивление !!MR:M?y-1;Запомнить тип существа !!MR:S?y-2; Запомнить тип заклинания !!MR&y-1=168/y-2=45:F100; Добавить иммунитет к заклинанию "Слабость" !!MR&y-1=168/y-2=54:F100; Добавить иммунитет к заклинанию "Медлительность" !!MR&y-1=168/y-2=73:F100; Добавить иммунитет к заклинанию "Болезнь" !!MR&y-1=168/y-2=74:F100; Добавить иммунитет к заклинанию "Паралич" !!MR&y-1=168/y-2=71:F100; Добавить иммунитет к заклинанию "Яд"
;Горыныч колдует заклинание на всех вокруг.
!?BG0;При действии существа... !!BG : A?y-1;Если существо - горыныч, находим, какое действие он совершил. !!FU&y-1<>6 : E;Если действие - не атака, выходим из триггера. !!VRv6001 : S0;Обнуляем контрольную переменную. !!BG : N?v6002;Находим номер атакующего стека. !!BMv6002 : T?y-1;Находим, какое существо атаковало. !!BMv6002 : I?v6070;Считываем принадлежность атакующего стека. !!VRv6001&y-1=168 : S1;Если атаковал горыныч, устанавливаем контрольную переменную в 1. !!BG : E?y-2;Находим номер целевого стека. !!BMy-2 : T?y-3;Находим, какое существо было атаковано. !!VRv6001&y-3=168 : Sv6001+2;Если атаковали горыныча, добавляем к контрольной переменной 2. !!VRv6003&v6001>0 : S6001;Если контрольная переменная больше 0, устанавливаем управляющую переменную целей.
!?MF1&v6001>0;При нанесении физического урона, если контрольная переменная больше 0... !!MF&v6001<3 : N?y-1;Если контрольная переменная меньше 3, считываем номер стека, получающего урон. !!BMy-1&v6001<3 : I?y-2;Если контрольная переменная меньше 3, считываем принадлежность стека, получающего урон. !!FU&v6001=1/y-2=v6070 : E;Если контрольная переменная равна 1, а принадлежность атакующего стека соответствует принадлежности стека, получающего урон, выходим из триггера. !!FU&v6001=2/y-2<>v6070 : E;Если контрольная переменная равна 2, а принадлежность атакующего стека не соответствует принадлежности стека, получающего урон, выходим из триггера. !!MF : E?y-1;Определяем, не был ли урон блокирован. !!FU&y-1=0 : E;Если урон был блокирован, завершаем функцию. !!VRv6003 : Sv6003+4;Устанавливаем управляющую переменную целей на следующее значение. !!VRy-1 : Sv6003-1;Вычисляем вторую управляющую переменную целей. !!VRy-2 : Sv6003+1;Вычисляем третью управляющую переменную целей. !!VRy-3 : Sv6003+2;Вычисляем четвёртую управляющую переменную целей. !!MF : N?vy-1;Определяем номер стека, получающего урон. !!FU9015 : Pv6003;Вызываем функцию наложения заклинаний. !!BMvy-1 : G74/?vv6003/d;Определяем, есть ли пралич, у получающего урон. !!BMvy-1&vv6003>0 : F?y-4;Если стек, получающий урон, парализован, считываем его флаги. !!VRy-4&vv6003>0 : &67108864;Если стек, получающий урон, парализован, проверяем, ходил ли он. !!BMvy-1&vv6003>0/y-4<1 : Fd67108864;Если стек, получающий урон, парализован и не ходил, он теряет ход. !!VRvy-2&vv6003>0/y-4<1 : S1;Если стек, получающий урон, парализован и не ходил, уставливаем переменную потери хода стека. !!BMvy-1&vv6003>0 : R?y-4;Если стек, получающий урон, парализован, проверяем, сколько у него ответных ударов. !!BMvy-1&vv6003>0/y-4>0 : R0;Если стек, получающий урон, парализован и у него есть ответные удары, обнуляем их. !!VRvy-3&vv6003>0/y-4>0 : Sy-4;Если стек, получающий урон, парализован и у него есть ответные удары, записываем их количество в переменную потери ответного удара стека .
!?BG1&v6001>0;После совершения действия, если контрольная переменная больше 0... !!DO9017/6005/v6003/4 : P;Взываем цикл, восстанавливающий паралич у атакованных горынычем существ . !!VRv6001 : S0;Устанавливаем контрольную переменную в 0. !!VRv6002 : S0;Сбрасываем переменную стека, совершившего действие. !!VRv6003 : S0;Сбрасываем управляющую переменную целей.
!?BR&v6001>0;В начале нового раунда, если контрольная переменная больше 0... !!DO9017/6005/v6003/4 : P;Взываем цикл, восстанавливающий паралич у атакованных горынычем существ. !!VRv6001 : S0;Устанавливаем контрольную переменную в 0. !!VRv6002 : S0;Сбрасываем переменную стека, совершившего действие. !!VRv6003 : S0;Сбрасываем управляющую переменную целей.
;Функции наложения и продления заклинания.
!?FU9015;Функция подготовки к наложению заклинаний. !!VRy1 : Sx1-1;Вычисляем адрес номера целевого стека. !!BMvy1 : T?y2;Считываем тип существ целевого стека. !!FU&y2>144/y2<150|y2=168 : E;Если в целевом стеке горынычи или боевая машина или башня, завершаем функцию. !!VRy3 : S1;Устанавливаем переменную рандома в 1. !!VRy3 : R99;Добавляем к переменной рандома в случайное число от 0 до 99. !!FU9016&y3>0/y3<32 : Pvy1/45;Если переменная рандома равна соответствующему числу, вызываем функцию наложения и продления слабости. !!FU9016&y3>31/y3<63 : Pvy1/54;Если переменная рандома равна соответствующему числу, вызываем функцию наложения и продления медлительности. !!FU9016&y3>62/y3<94 : Pvy1/73;Если переменная рандома равна соответствующему числу, вызываем функцию наложения и продления болезни. !!FU9016&y3>93/y3<99 : Pvy1/74;Если переменная рандома равна соответствующему числу, вызываем функцию наложения и продления паралича. !!FU9016&y3>98/y3<101 : Pvy1/75;Если переменная рандома равна соответствующему числу, вызываем функцию наложения и продления старости.
!?FU9016;;Функция наложения и продления заклинания. !!VRz754&x2=45 : S^WEAKNESS.WAV^;Выбираем звук. !!VRz754&x2=54 : S^MUCKMIRE.WAV^;Выбираем звук. !!VRz754&x2=73 : S^DISEASE.WAV^;Выбираем звук. !!VRz754&x2=74 : S^PARALYZE.WAV^;Выбираем звук. !!VRz754&x2=75 : S^AGE.WAV^;Выбираем звук. !!SN : Pz754;Проигрываем звук закла. !!BMx1 : Gx2/?y1/d;Проверяем, не наложено ли заклинание на цель. !!BMx1&y1<1 : Mx2/3/2;Если заклинание не наложено, накладываем его. !!BMx1&y1>0 : Gx2/d3/2;Если заклинание наложено, увеличиваем его длительность на 3 раунда и усиляем его, если надо. !!BMx1:N?y2 T?y3; Запомнить количество и тип существ !!UN&y2=1:N3/z730/y3/0; Если количество существ равно 1 !!UN&y2>1:N3/z730/y3/1; Если количество существ больше 1 ;Настроить текст в зависимости от количества и пола !!VRz731&y2=1:S^^; Любое существо мужского пола !!VRz731&y2=1/y3=30:S^а^; Каменная горгулья !!VRz731&y2=1/y3=31:S^а^; Обсидиановая горгулья !!VRz731&y2=1/y3=36:S^а^; Джинн !!VRz731&y2=1/y3=38:S^а^; Нага !!VRz731&y2=1/y3=39:S^а^; Королева-нага !!VRz731&y2=1/y3=46:S^а^; Адская гончая !!VRz731&y2=1/y3=61:S^о^; Привидение !!VRz731&y2=1/y3=72:S^а^; Гарпия !!VRz731&y2=1/y3=73:S^а^; Гарпия-ведьма !!VRz731&y2=1/y3=76:S^а^; Медуза !!VRz731&y2=1/y3=47:S^а^; Королева-медуза !!VRz731&y2=1/y3=80:S^а^; Мантикора !!VRz731&y2=1/y3=81:S^а^; Скорпикора !!VRz731&y2=1/y3=93:S^а^; Птица-гром !!VRz731&y2=1/y3=102:S^а^; Горгона !!VRz731&y2=1/y3=103:S^а^; Могучая горгона !!VRz731&y2=1/y3=110:S^а^; Гидра !!VRz731&y2=1/y3=111:S^а^; Гидра Хаоса !!VRz731&y2=1/y3=118:S^а^; Маленькая фея !!VRz731&y2=1/y3=119:S^а^; Фея !!VRz731&y2=1/y3=130:S^а^; Огненная птица !!VRz731&y2=1/y3=141:S^а^; Мумия !!VRz731&y2=1/y3=157:S^а^; Кошмарная гидра !!VRz731&y2=1/y3=193:S^а^; Волшебница !!VRz731&y2=1/y3=159:S^о^; Привидение Энрота ;Показать сообщение для одного существа !!VRz799&x2=45/y2=1:S^%Z730 заболел%Z731 и не может сражаться в полную силу!^; Слабость !!VRz799&x2=54/y2=1:S^%Z730 заболел%Z731 и едва стоит на ногах!^; Медлительность !!VRz799&x2=73/y2=1:S^%Z730 заболел%Z731 и не может толком ни атаковать, ни защищаться!^; Болезнь !!VRz799&x2=74/y2=1:S^%Z730 парализован%Z731 неизвестной болезнью!^; Паралич !!VRz799&x2=75/y2>1:S^%Z730 стал%Z731 немощнее старика!^; Старость ;Настроить сообщение для нескольких существ !!VRz799&x2=45/y2>1:S^%Z730 заболели и не могут сражаться в полную силу!^; Слабость !!VRz799&x2=54/y2>1:S^%Z730 заболели и едва стоят на ногах!^; Медлительность !!VRz799&x2=73/y2>1:S^%Z730 заболели и не могут толком ни атаковать, ни защищаться!^; Болезнь !!VRz799&x2=74/y2>1:S^%Z730 парализованы неизвестной болезнью!^; Паралич !!VRz799&x2=75/y2>1:S^%Z730 стали немощнее старика!^; Старость !!BU : Mz799;Пишем сообщение в лог.
!?FU9017;Функция восстаноения паралича. !!VRy1 : Sx16-1;Вычисляем адрес номера стека. !!VRy2 : Sx16+1;Вычисляем адрес потери хода стека. !!VRy3 : Sx16+2;Вычисляем адрес потери ответного удара стека. !!BMvy1&vx16>0 : M74/vx16/2;Воссанавливаем паралич, если он был. !!BMvy1 : F?y4;Считываем флаги стека. !!VRy4 : &67108864;Проверяем, ходил ли стек. !!BMvy1&vy2=1/y4>0 : Fd-67108864;Если стек потерял ход, восстанавливаем его. !!BMvy1 : R?y4;Проверяем количество ответных уаров стека. !!BMvy1&vy3>0/y4=0 : Rvy3;Если стек потерял ответные удары, восстанавливаем их. !!VRvy1 : S0;Сбрасываем переменную номера стека. !!VRvx16 : S0;Сбрасываем переменную длительности паралича. !!VRvy2 : S0;Сбрасываем переменную потери хода стека. !!VRvy3 : S0;Сбрасываем переменную потери ответного удара стека.
GhostManSD, с тебя встраивание берсерка (рандом из поста 476).
Всё, у меня больше нет доступа к компу до конца месяца. Но самое главное я вроде успел сделать.
(This post was last modified: 31.12.2010 19:16 by Sav.)