Последние новости закрыть

Последние ответы

Администраторы
0
Evil Monster
17:13, 19.02.2012 №106981
0
Если есть то заскринь и скинь скришоты с ошибками.
Администраторы
0
Evil Monster
17:11, 19.02.2012 №106982
0
DimaLaim, когда пробуешь присоединить аккумулятор и кресло, выскакивают lua ошибки в правом верхнем углу экрана?
Администраторы
0
Evil Monster
Посетители
0
Активный участник
07:26, 18.02.2012 №106985
0

поменяй уже наконец цвет текста :)
V.I.P.
0
Упртй
12:13, 17.02.2012 №106989
0
Не стесняемся,скидываем любимые зампакто,интерестные моменты из манги


V.I.P.
0
Упртй
21:58, 16.02.2012 №106990
0
EginKaman, ну как бы да)


Администраторы
0
Evil Monster
21:56, 16.02.2012 №106991
0
cilak, фингер спалил
Администраторы
0
Evil Monster
21:53, 16.02.2012 №106993
0
cilak, истинный анимешник
V.I.P.
0
Упртй
21:44, 16.02.2012 №106994
0
Sanimuri
21:52, 16.02.2012
Вот например банкай и шикай моего зампакто,зовут Hilena.Способность шикая:музыкай подчинять или разрушать мозг противника.Имя банкая Kinagi Hilena способность банкая:поглошять все кидо образные атаки,потом с добовлением моей ряцу высвобождает во врага.


V.I.P.
0
Source Моддер
15:43, 11.02.2012 №106995
+ 1
Senny
20:15, 13.02.2012
Итак, виртуальные достижения, в народе зовущиеся «ачивментами», «ачивками» и т.д.
Для кого-то они бессмысленны (это ж надо – 100 часов в игру резаться, чтобы получить картинку с надписью!), для кого-то весьма ценны. Но совершенно понятно, что способ их получения – личное дело каждого. В этом материале мы постараемся описать не читерские, но вполне приемлемые способы заработать ачивменты из Left 4 Dead, не проводя для этого лишних бессонных ночей за компьютером.

Названия достижений взяты как из английской, так и из русской версии, поэтому к неточностям перевода автор и ogl.ru отношения не имеют.

Dead Stop (Тупик)
Условия получения: оглушите Охотника в (его) прыжке

Один из самых легких ачивментов. Если вы услышите крик Охотника, то бегите прямо в его направлении. Завидев издалека, не начинайте палить из винтовки в направлении опасного субъекта, а направляйтесь прямо к нему, размахивая прикладом. Две-три попытки – и Охотник попросту не долетит до цели, а вы сможете получить достижение.

Drag and Drop (Хватай и тяни)
Условия получения: освободите товарища по команде от языка Курильщика до того как он получит повреждения

После обновления, исправляющего баланс некоторых классов - в том числе и Курильщика - получить этот ачивмент стало немного сложнее. Всё дело в том, что освободить выжившего ударом приклада теперь нельзя до момента «подвешенности» (когда жертва становится беспомощна и начинает получать повреждения). Чтобы безболезненно освободить жертву Курильщика нужно либо нанести удар по языку, либо подстрелить его кашляющего обладателя.

CR0WND (Инкивизитор)
Условия получения: победите монстра «Ведьма» одним выстрелом в голову

В игре этот ачивмент получить одновременно просто и сложно. Некоторые игроки начинают нервничать когда приближаются к этому виду монстра, хотя до определенных пределов он не опасен. Собственно, добываем автоматический дробовик, подбегаем со спины (обязательно вплотную) и стреляем.

Untouchables (Неуязвимые)
Условия получения: Выжившие не получают повреждений после вызова спасательного транспорта.

Иными словами, вы доходите до финала, дважды звоните по радио… И всё, с этого момента любая полученная царапина запарывает ачивмент. Но разработчики не звери, поэтому на singleplayer-картах заботливо оставили недосягаемые для зомби места, в которых так приятно окопаться. Однако, в любом случае, это одно из самых «нервных» игровых достижений. Не пытайтесь получить его с ботами в команде. Не пытайтесь получить его на уровне сложности Expert. Одно из самых примечательных мест для обороны есть в финале кампании Dead Air – небольшая площадка рядом с терминалом, либо же взлетно-посадочная полоса. Четверо выживших вооружаются винтовками, становятся в круг и усиленно отстреливаются. А в конце, уже запрыгивая в транспорт, следят за спинами, дабы не огорчить друзей.

Blind Luck (Слепая удача)
Условия получения: будучи испачканным слизью «Бумера», выживший не получает повреждений

Известный факт: если Бумер покрыл слизью кого-то из выживших, то на других зомби не обращают внимания. При наличии адекватных товарищей по команде достижение получается элементарно – жертва прячется в угол, присаживается и размахивает прикладом, лишних зомби в этот момент отстреливают соратники. Как только действие слизи заканчивается, избежавший повреждений радуется ачивменту.

My bodyguard (Мой телохранитель)

Условия получения: защитите выжившего от нападающих Инфицированных 50 раз.

Достижение из разряда «играй-играй» - не забывающий прикрывать спины соратников игрок получает этот ачивмент довольно быстро.

Akimbo Assassin (Элегантный убийца)


Условия получения: пройдите целую кампанию используя только пистолеты

Элементарный ачивмент. Запускаете любую кампанию на Easy, достаете пистолет (два пистолета также допускаются) и отправляетесь в путь. На Коктейли Молотова, гранаты и «большие» стволы внимания обращать не придется – лучше даже не переключаться на них, так как достижение может запороть всего одно нажатие на спусковой крючок УЗИ. И ещё – лучше получать это достижение с ботами, так как некоторых игроков такое «стильное прохождение» товарища по команде может вывести из себя.

Field Mediс (Полевой медик)

Условия получения: вылечите соратников 25 раз при помощи аптечки

Достижение учит не зажимать последнюю аптечку, а лечить побитых соратников, которые свои медицинские наборы уже потратили. Если вы обнаружили аптечку, а все члены команды ещё здоровы и не потратили ни одной, то подлечите самого побитого и оперативно забирайте найденное с собой: возвращаться за вещами в Left 4 Dead не принято.

Pharm Assist (Доктор Айболит)

Условия получения: передайте баночку с обезболивающими другому игроку 10 раз

Ещё один «наживной» ачивмент. Особенно забавно получать его при игре с ботами – те, отхватив приятный подарочек, но обладая нормальным количеством здоровья, возвращают баночку отправителю и открывают тем самым очень быстрый путь к достижению.

Helping Hand (Рука помощи!)

Условия получения: поднимите выживших соратников с земли 50 раз

Когда у одного из героев заканчиваются хит-пойнты, то он просто падает на землю, продолжая стрелять из пистолетов. Вы вольны помочь ему, подойдя поближе и нажав «Е». Обычно это достижение получается спустя всего пару дней игры.

Hero Closet (Возврат к жизни)

Условия получения: спасите выжившего, запертого в комнате.

Элементарнейшее достижение, особенно легко его получить при игре на уровне сложности Expert, где «гибель» одного из героев – обычное дело. Спустя некоторое время персонаж возрождается в какой-нибудь подсобке и зовет на помощь (внимание на светящийся контур). Откройте дверь и оба будете довольны – спасенный продолжит путь к побегу, а вы получите «ачивку».

Hunter Punter (Охота на Охотника)

Условия получения: спихните Охотника, устроившегося на беспомощной жертве

Это достижение не зависит от карты или кампании – выполнить его проще простого. Когда Охотник схватит кого-нибудь из выживших, используйте приклад вместо шквального огня по лежащей парочке.

Tongue Twister (Язык мой - враг мой)


Условия получения: убейте Курильщика, который уже схватил вашего героя языком

Данный субъект обвивает жертву языком не сразу, оставляя шанс вырваться из опасных объятий.
Понять, что вашего персонажа «тянут», можно по капелькам жидкости, накладывающимся на изображение, а также истошному крику героя. Часто Курильщик хватает добычу в невыгодных для себя условиях – в закрытом тесном помещении. Это делает его идеальной мишенью и средством для получения ачивмента.

No Smoking Section (Здесь не курят)

Условия получения: победите 10 Курильщиков, схвативших ваших соратников

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

101 Cremations (Введение в кремацию)

Условия получения: подожгите 101-го зомби

Ситуация точно такая же, как и с достижением «No Smoking Section»: просто узнайте, для чего используются в игре канистры с бензином и коктейли Молотова.

Do not disturb (Не беспокоить)

Условия получения: пройдите целую кампанию, не потревожив ни одну «Ведьму»

Это достижение лучше всего зарабатывать при игре на сложности Easy с ботами – тогда у них точно не будет искушения потревожить опечаленную даму. Единственная проблема состоит в том, что иногда грозный подарочек оказывается в тесном коридоре, и обойти его нелегко. В этом случае игроку нужно как следует разбежаться, перепрыгнуть опасность и бежать дальше что есть мочи: при сильном отдалении от живого игрока боты переносятся поближе. Хотя, честно говоря, намного легче перезапустить кампанию.

Man vs. Tank (Человек против Танка)

Условия получения: убейте Танка в одиночку

Есть несколько способов выполнить такое каверзное задание: основная сложность состоит не в победе над Танком (особенно после недавних обновлений), а в том, чтобы ни одна пуля от другого игрока не задела этого босса.
Способы разные:
1-оторваться от AI-соратников и таким образом встретиться с Танком в одиночку.
2-кикнуть AI-соратников через консоль. Назвать способ читовым проблематично, поскольку переменная sv_cheats не блокирует данную команду, а аватар остаётся один перед всеми опасностями уровня, и в случае нападения Охотника или Курильщика вынужден будет начинать уровень заново. Увы, команды «подождать» для ботов в игре нет.
Но идти на Танка с пистолетом тоже не очень разумно, поэтому вооружитесь автоматическим дробовиком.

Tankbusters (Антитанк)

Условия получения: убейте Танка и не дайте ему нанести вреда выжившим.

Под словом «вред» здесь подразумевается удар или кусок асфальта, задевший любого из четверых выживших. Ну, перво-наперво, это достижение почти невозможно получить с ботами (подставляются под удары), поэтому нужно либо договориться с другими игроками заранее, либо – что куда проще – получить заветную картинку вместе с Man vs. Tank. Технология та же, просто не дайте Танку добраться до вас.

Safety first (Безопасность превыше всего)

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

То есть без friendly fire. Это достижение лучше получать с ботами и на уровне сложности Easy. Поскольку ai не приучен стрелять по своим и делает это весьма редко, основная опасность – неосторожный выстрел самого игрока. Поэтому пользуйтесь прикладом (для пущей безопасности можно взять в руки аптечку вместо автомата), от Танков убегайте, а для разгона толп зомби используйте гранаты.

No-one left behind (Никто не погиб)
Условия получения: погрузитесь в спасательный транспорт вчетвером

Обычно достигается очень просто – либо игрой в «кооператив» с грамотными соратниками, либо игрой на Easy с ботами. Интересны и условия зачета, которые, видимо, менялись: павшего непосредственно в транспорте соратника могут не засчитать как выжившего.

Unbreakable (Несгибаемый)

Условия получения: завершите кампанию ни разу не использовав аптечку на себе.

Один парень попытался получить это достижение на уровне сложности Expert с живыми соратниками – те «не одобрили». Поэтому ещё одно достижение с ботами и на сложности Easy. Единственное, о чем следует помнить: шкуру аватара нужно беречь в этот раз куда тщательнее. Ai обматывает героя бинтами как только у того остается около 50 хит-поинтов, а отказаться от подобной услуги можно только достав собственную аптечку.

Witch Hunter (Охотник на Ведьм)

Условия получения: победите “Ведьму» так, чтобы она не успела ударить выжившего

Обычно сия вещица получается одновременно с CR0WND. Технология – чуть выше.

Red Mist (Кровавый туман)

Условия получения: убейте 1000 инфицированных с помощью пулемета.

Обычно пулемет можно найти на финальных уровнях любой кампании и некоторых других (например, No Mercy – Subway). За одну «сессию» можно приблизиться к цели где-то на 50 единиц, однако перезапускать карту 20 раз ради ачивмента не совсем разумно. Просто играйте.

Pyrotechician (Пиротехник)

Условия получения: взорвите 20 инфицированных одной гранатой

Нужно просто бросить гранату при чудовищном наплыве зомби.

Zombie Genocidest (Истребитель зомби)

Условия получения: одолейте 53, 595 зомби.

Такая цифра взята не с потолка – Valve подшутили над разработчиками игры Dead Rising, где давали достижение за 53, 594 поверженных зомби. Посмотрим, примет ли вызов Capcom.
Что до самой «ачивки» – не думайте о ней. Если Left 4 Dead не надоест вам за два месяца инстенсивной игры, то однажды в правом нижнем углу возникнет заветная картинка.
Чисто для арифметики – за одну кампанию можно настрелять около четырех сотен зомби.

Dead Giveaway (Последний подарок)

Условия получения: Выживший, у которого менее 10-ти хит-поинтов, лечит соратника.

Сложность не важна, однако чаще всего такие ситуации бывают на Expert – вся четверка, едва стоящая на ногах, внезапно обнаруживает аптечку. И кто-то кого-то лечит. Кстати, передавать можно и баночку с таблетками.

Ground Cover (Наземное прикрытие)

Условия получения: спасите другого Выжившего от босса Инфицированных лежа на земле.

Опять же, случается при игре на Expert в самые критические моменты. Последний из команды силится спасти товарищей, однако на него прыгает Охотник или цепляет языком Курильщик. Направляем пистолеты на агрессоров, жмем на курок и получаем достижение.

Clean Kill (Чистая победа)

Условия получения: оттолкните Бумера и взорвите его так, чтобы он никого не забрызгал.

Достижение легче всего получить при игре в режиме Versus: многие игроки, управляя Бумером,
рвутся к Выжившим напролом. Что ж, тем проще стукнуть вражину прикладом и, отойдя на небольшое расстояние, выстрелить.

Stand Tall (Стоять насмерть)

Условия получения: пройдите всю кампанию ни разу не получив статуса «Down».

Проще говоря, не упадите. Легко получается с ботами на уровне сложности Easy. Вовремя лечить аватара, при необходимости глотать таблетки из баночки – вот и вся наука.

Back 2 Help (Вернуться на помощь)

Условия получения: вернитесь за павшим соратником, покинув безопасную комнату.

Элемент драмы в игре – в том же Versus уцелевший товарищ по команде означает большее количество очков, в Cooperative приносит ощущение легкого геройства. Если кто-то из четверки валяется снаружи, а другие не против – почему бы не спасти?

Zombicidial Maniac (Маниакальный истребитель зомби)

Условия получения: пройдите любую кампанию на уровне сложности Expert.

Это достижение очень нелегко даётся при игре с ботами, поэтому найдите соратников в онлайне – благо желающих хватает. Единственное замечание: проходил слух, что павшим буквально перед спасательным транспортом выжившим не засчитывали «ачивку» (хотя были и обратные заявления). И ещё – начинать нужно с самой первой в кампании карты, желательно не передавать управление боту или хотя бы самостоятельно брать оружие в самом начале карты (да, вот такая хитрая механика).

Nothing Special (Ничего особенного)

Условия получения: пройдите любую кампанию без повреждений от боссов Инфицированных.

Непростое достижение. Учитывая концентрацию боссов на один уровень, получать его придется аж в несколько попыток, при этом с живыми товарищами по команде – здешний Ai… Ну вы знаете, хорош, но от Охотника не побегает.
Burn the witch (Сжечь Ведьму)

Условия получения: подожгите монстра “Ведьма” коктейлем Молотова

Элементарное достижение. Последствия сего неосмотрительного поступка – уже другой разговор.

Towering inferno (Пылающий громила)

Условия получения: подожгите Танка коктейлем Молотова

Обычно достижение получается спустя час игры. Игроки, наслышанные о способах истребления Танка, наблюдают его в списках ещё быстрее.

Spinal Tap (Перелом позвоночника)

Условия получения: убейте зомби одним ударом сзади

Оригинальная, но простая «ачивка». Можно просто подбежать к зазевавшемуся зомби и хорошенько огреть его прикладом.

Brain Salad (Каша из мозгов)

Условия получения: 100 хэдшотов

Зарабатывается очень быстро. Чтобы не сделать ни одного хэдшота в Left 4 Dead, нужно постараться, поскольку зомби повсюду.

Jump Shot (Смерть в прыжке)

Условия получения: подстрелите Охотника в голову во время прыжка.

Случайное достижение. Специально задаваться целью его получить не стоит – рано или поздно Инфицированный всё равно нарвется на свинцовый подарочек. Эффективно стрелять в момент непосредственно начала прыжка, когда Охотник присел и вот-вот совершит атаку.

Mecry Killer/Dead Baron/Grim Reaper/Toll collector (Сострадательный убийца/Мёртвый барон/Мрачный жнец/Падение городка)


Условия получения: пройдите сюжетные кампании от начала до конца.

Пожалуй, эти четыре «ачивки» в комментариях не нуждаются.

Barf Bagged (Заблевать всё)


Условия получения: покройте слизью Бумера всех четырех выживших

Поначалу это была довольно трудная для добычи лычка. После нескольких обновлений и появления любителей попрятаться в подсобках ситуация улучшилась. Собственно, нужно просто вовремя изрыгнуть свой гнев на окопавшихся в тесном помещении героев и радоваться. Вдогонку одна деталь – засчитывается только блевотина. Если вы, скажем, испачкали троих, а затем взорвались и достали четвертого – достижение не засчитают. Так-то.

Big Drag (Большая прогулка)

Условия получения: играя за Курильщика схватите Выжившего языком и протащите его 100 футов (около 30-ти метров)

Почти «рандом». Задача – протащить Выжившего 30 метров. Это значит, что на пути не должно быть препятствий и возвышенностей. Подходящие для этого условия – в финале кампании No Mercy и почти во всей кампании Blood Harvest. Если выживший зацепился за стенку, но всё равно продолжает скользить по полу - счетчик тикает.

Chain Smoker (Здесь курят)

Условия получения: играя за Курильщика схватите языком двух Выживших за одну жизнь

Сделать достижение проще простого – достаточно не лезть на рожон и выбирать для атаки возвышенности (например, крыши или холмы). Находящегося далеко монстра не так-то просто пристрелить, поэтому схваченную жертву, скорее всего, освободят без взаимных потерь. Выжидаем момент, хватаем ещё раз – дело в шляпе.

Double jump (Двойной прыжок)

Условия получения: играя за Охотника схватите двух Выживших за одну жизнь

А вот это посложнее. Обычно играющие за Выживших не очень милосердны к Охотникам на своих товарищах, и предпочитают сделать пару выстрелов для верности. Однако если вокруг толпа зомби, навевающая панику, то могут обойтись и прикладом. Тем лучше – нужно сразу убежать в темный уголок и после атаковать.

All 4 Dead (Все четверо мертвы)

Условия получения: играя за Танка уложите всех четырех выживших на землю

Не переоценивайте название – нужно только довести Выживших до статуса «Down». На обычных versus-картах это сделать проблематично, особенно если соперники попались адекватные. Самые удобное для попытки место – первая карта кампании No Mercy. Многие серверы возрождают танка поблизости от узкого переулка с автомобилями, и одного удара по тяжеленной штуковине зачастую хватает, чтобы получить достижение.

Dead Wreckening (Разгул мертвецов)

Условия получения: играя за Инфицированных нанесите выжившим 5000 пунктов урона.

Ещё одна задачка из разряда «играй-играй». Просто не забывайте о Выживших и игровых задачах Инфицированных.

Outbreak (Эпидемия)


Условия получения: персонаж подхватывает редкий штамм инфекции и передает его другому персонажу.

А вот это уже настоящий рандом. Для получения этого достижения нужен Бумер. Иногда, когда он покрывает слизью кого-то из выживших, на экране появляется сообщение вроде «Vasya Pupkin has spread infection on Killer007», где Vasya Pupkin и Killer 007 – ники игроков. Если infection has spread на вашего персонажа, то бегите в ближайшему товарищу по команде – он вряд ли будет рад такому повороту событий, но достижение будет засчитано.

What are you trying to prove? (Что ты пытаешься доказать?)

Условия получения: пройдите все сюжетные кампании на уровне сложности Expert.

Одно из самых сложных достижений. Нужны адекватные товарищи, несколько дней и много упорства, чтобы преодолеть все трудности и запрыгнуть в спасательный транспорт. Будьте внимательны: есть мнение, что прошедшему кампанию, но не уехавшему на транспорте достижение могут не засчитать.

Stomach Upset (Проблемы с желудком)


Условия получения: все выжившие проходят кампанию ни разу не испачкавшись в слизи Бумера

Осторожно: хардкор! Представьте себе достижение Untouchables, помноженное в пять раз, и получите картину того, как внимательно и осторожно нужно себя вести во время прохождения.
Единственный совет – если слышите характерное для Бумера бульканье, то выбегайте на открытую территорию по возможности избегая углов зданий и комнат – этот класс очень любит устраивать засады.

Lamb 2 Slaughter (Избиение младенца)

Условия получения: доведите Выжившего, который зашел и вышел из безопасной комнаты, до статуса «Down»
В виду имеется не та комната, с которой Выжившие начинают своё путешествие на любой карте, а та, в которую они обычно спешно забегают, хлопая дверью. Ставка идет на желающих отхватить побольше очков в режиме versus – обычно именно они отправляются спасать лежащего на земле соратника. Лучше всего зарабатывать достижение классом Охотника – его не так легко сбросить с жертвы. Кстати, это «ачивка» с сюрпризом. До сих пор множество получивших её могут наблюдать достижение в игре, а в community-профиле – нет.


Администраторы
0
Evil Monster
15:12, 11.02.2012 №106996
0
Если вы нашли какой либо баг на сайте, пожалуйста, отпишитесь в этой теме с указанием вашего браузера и опишите подробно вашу проблему, если можете то со скриншотами.
V.I.P.
0
Упртй
10:05, 11.02.2012 №106997
+ 9
Введение: Wire Expression 2 – дополнение Garry’s mod, позволяющее использовать сразу несколько чипов в одном. С помощью него можно создавать различные устройства, и он поможет вам воплотить все ваши мечты в игре. В Expression 2 используется язык, похожий на многие другие языки программирования, поэтому тем, кто хорошо знает Английский язык и какой-нибудь из языков программирования, будет легче изучить этот. Здесь показаны самые основные и важные приемы обращения с чипами, но, хорошо изучив эту справку, вам в будущем будет намного легче работать с ними и изучать новое.

Часть I Ознакомление

Сначала ознакомимся с первыми пятью строками:

@name - Имя чипа, которое будет отображаться, когда вы наведёте на него курсор. Параметр необязателен. Но если его оставить пустым, то при
наведении на него курсора будет написано "generic".
@inputs – Строка, в которой перечислены входы. Здесь могут быть подключены различные кнопки, значения и т.д. Объяснение: Здесь будет информация, поступающая в чип.
@outputs - Строка, в которой перечислены выходы. Здесь могут быть подключены все устройства, требующие управление. Например, если создаёте машину, могут быть подключены те же турбины, парящие шары, турели и т.д.
@persist – Строка, в которой перечислены переменные, которые будут храниться внутри чипа и меняться. Сложный и важный параметр.

Первый пример:
Код:
@name Add Expression
@inputs A B
@outputs Out
@persist
@trigger All
Out = A + B

Такой чип складывает значения A и B и выводит результат на выход Out. Пример: К A подключено значения константы 5, а к B значение константы 2. К выходу Out подключен экран, и он показывает результат «7». @trigger All обозначает «Включить всё».
Внимание! Чипы очень чувствительны к регистру. Поэтому читайте всё внимательно. Например, если вы напишете IF или If вместо if, то это будет ошибкой.

Чипы могут выполнять и другие математические действия:
Out = A – B (вычитание)
Out = A / B (деление)
Out = A * B (умножение)
Out = A ^ B (возведение A в степень В)

Часть II If – Then - Else конструкция

Функция if — самая элементарная и часто используемая. Она работает на принципе клапана и читается так: Если (if) условие, верно, то (then) сделать действие первое, иначе (else) сделать действие второе.

Пишется так:
Код:
if (A == 1) {Out = B} else {Out = C}

То есть если A равно единице, то значение Out будет равно В, иначе будет равно С. Внимание! В условии «равно» пишется не =, а == (два знака равно).

Вот и пример:
Код:
@name Control
@inputs Button
@outputs Out
@persist
@trigger All
if (Button == 1) {Out = 30} else {Out = 5}



Я думаю, что тут всё понятно. Button – это кнопка, подключенная к чипу. Если её значение равно 1 (это стандартное значение нажатой кнопки), то выполнить условие.
Внимание! В некоторых случаях можно писать без Else (без второго действия).
if (Button) {Out = 30}
В этом случае значение не сбрасывается и после нажатия на нашу кнопку, значение Out продолжит быть 30, пока мы не сделаем другое условие которое будет принимать нужное нам значение.
Вот еще один пример.

Пример спидометра

@name Speed
@inputs Speedometer Button
@outputs Out
@persist
@trigger All
if(Button == 1) {Out = Speedometer} else {Out = 0}

У нас есть значение A и к выходу подключен звук. Работает так: Если значение A больше, либо равно десяти, то включаем звук, иначе «молчим». С помощью этого примера можно сделать будильник, думаю чуть позже вы сможете его сделать.
Так же можно вставлять несколько условий.

Вот пример:
Код:
@name Test
@inputs Button1 Button2
@outputs Out
@persist
@trigger All
if (Button1 ==1 | Button2 == 1) {Out = 5} else {Out = 0}

Код:
@name Test
@inputs Button1 Button2
@outputs Out
@persist
@trigger All
if (Button1 >= 0 & Button2 == 54) {Out = 5} else {Out = 0}



Если значение первой кнопки больше, либо равно нулю и значение второй кнопки равно «54», то подать на выход значение «5», иначе «0».

Часть IV Функция «Интервал»

Теперь ознакомимся с функцией interval(), которая показывает, через какое время код будет заново перезапускаться. Выражается она в миллисекундах. Сделаем простой таймер:
Код:
@name Timer
@inputs
@outputs Explode
@persist Time
@trigger All
interval(1000)
Time = Time + 1
if(Time == 10) {Explode = 1, Timer = 0} else {Explode = 0}



Разберём по строкам.
К выходу у нас подключен динамит «Explode».
Time - Переменная для времени, она используется в конструкции if.
«interval(1000)» - Делаем так, чтобы код перезапускался каждые 1000 мс или каждую секунду.
«Time = Time + 1» - при запуске кода прибавляем к времени 1 единицу, поскольку у нас код перезапускается каждую секунду, получается, что каждую секунду мы прибавляем к времени единицу. Так же может записываться как «Time += 1» или «Time++» (последняя команда означает поднятие на единицу). Если бы мы поднимали значение не на единицу то использовать её нельзя было бы.
Как работает: Если время будет равно «10», то на выход будет подано значение «1», и динамит взорвётся, а таймер сбросится. А если время меньше «10», то на выход подаём значение «0».

Вот ещё более сложный код:
Код:
@name Timer
@inputs Button
@outputs Explode
@persist Time
@trigger All
interval(1000)
if(Button) {
Time = Time + 1
if(Time == 10) {Explode = 1} else {Explode = 0}
} else {Time = 0}



Если кнопка включена, то прибавляется время.
Если время больше «10», то подать на Explode значение «1», иначе значение «0».
А если кнопка выключена, то время сбрасывается на «0». Данный пример называется «Условие в условии».



Если нажата одна или другая кнопка, то подать на выход значение «5».
Новые знаки: Знак | обозначает «или», а знак & обозначает «и». Можно делать и более сложные комбинации:

Часть V Векторы

Векторы - одно из нововведений в Еxpression 2 в отличии от первого. Является небольшим массивом вида X,Y,Z. Зачем же он вообще нужен? В основном для определения местоположения чего-либо и передвижения (см. ниже), так же вектором удобнее задавать какую-то определённую точку. Вектор и простые числа - это разные типы входов, выходов и переменных.
Внимание! Пример неправильной операции:
Код:
vec(300,200,300) + 8



В данном случае чип скажет, что это недопустимая операция, т.к. мы попытались сложить 2 разных типа переменных. А правильный код должен выглядеть так:
Код:
vec(300,200,300) + vec(8,8,8) = vec(308,208,308)



Естественно, что не обязательно чтобы у второго слагаемого были одинаковые X, Y и Z.
Чтобы чип различал типы переменных к векторным входам\выходам надо добавлять постфикс :vector
Код:
@name GPS
@inputs GPS:vector Button
@outputs Out:vector
@persist
@trigger All
if(Button == 1) {Out = GPS} else {Out = vec()}



Где vec() - нулевой вектор, можно также записать как vec(0,0,0).
Векторам можно отдельно задавать каждый параметр:
Код:
V:setX(#)
V:setY(#)
V:setZ(#)



Где # - необходимое значение.
А если вам надо получить какое-то значение с вектора, то можно использовать это.
Код:
V:x()
V:y()
V:z()



Для примера узнаем высоту, на которой мы находимся:
Код:
@name Height
@inputs GPS:vector
@outputs Height
@persist
@trigger All
Height = GPS:z()



Так же к векторам можно отнести applyForce(), но о нём я расскажу после entity...

Часть VI Entity

Entity - объекты, то есть тип переменной, хранящей в себе информацию о каком-нибудь предмете, боте или игроке. Отсюда можно узнать его местоположение, имя, модель и т.д. В Wire есть альтернатива - Beacon Sensor, но всё-таки у Еxpression 2 намного больше возможностей.
Предположим, что мы хотим знать точно где расположен наш чип. У чипа есть собственная Entity - entity(), из которой можно узнать вектор. Ну а из вектора можно "извлечь" координаты.

Вот пример:
Код:
@name GPS
@outputs X Y Z
@persist Ent:entity Vec:vector
@trigger All
interval(10)
Ent = entity()
Vec = entity():pos()
X = entity():pos():x()
Y = entity():pos():y()
Z = entity():pos():z()



Здесь мы сначала нашли Entity чипа, затем из него выразили все координаты. Заметьте, совсем не обязательно делать столько переменных, я их сделал для пущей наглядности. Как вы поняли Entity тоже имеют свой постфикс - :entity. Посколько координаты чипа могут меняться, поставим интервал – 10 мс.
applyForce(V)
Теперь можно ознакомится с одной из самых интересных функций чипа - применением силы. Вектором задаётся тяга.
Код:
@name Force Test
@persist
@trigger All
entity():applyForce( vec(0,0,1000) )



Как видите, тут тоже появляются Entity, именно они тянут. В данном случае на сам чип прилагается сила в 1000 единиц, то есть он летит вверх (если вы конечно его не заморозили). Если бы мы подали не 1000 а -1000, то чип бы стремился вниз, и так по всем осям.

Как же сделать простой предмет-убийцу? Давайте попробуем.
Код:
@name MingeProp
@inputs Player:entity
@persist
interval(10)
LocalPos = Player:pos() - entity():pos()
entity():applyForce(LocalPos*10000000)



Для того чтобы приложить силу в направлении какого либо игрока, нужно знать локальные координаты относительно чипа, они узнаются (координата назначения минус координата положения чипа). Но поскольку вектор получается не очень большим, мы его умножаем на очень большое число (чем больше, тем больнее ). Поскольку мы ещё не умеем находить игроков самим чипом, предусмотрен вход Entity, который можно получить с помощью Target Finder. Интервал здесь нужен для обновления информации о местоположении. Когда вы запустите вашего убийцу, то он сразу полетит в направлении игрока.

Часть VII Strings

В Еxpression 2 появился новый тип данных – strings или "тексты". Они нужны для чат-ботов, Console Screen и Entity Discover (всё это будет ниже). Сами тексты записываются в виде "test" и отображаются серым цветом, в первых четырёх строках у них постфикс S:string.
Тексты можно складывать ("Te" + "st" = "Test"), сравнивать (if (S == "string") {...} ) и использовать команду += ( if (Button) {Text += "a"} )

Разберём простой пример:
Код:
@name String Test
@inputs Button
@persist
@trigger All
if (Button) {
print("Hello world!")
}



Когда мы нажимаем на кнопку, у нас в чате появляется Hello world!
Теперь напишем код, чтобы отслеживать статистику сервера.
Код:
@name Server Info
@persist
@trigger All
interval(50) #интервал нужен для обновления последнего сообщения чата
if ( lastSaid() == "getinfo") {
print( hostname() )
print( "Map: " + map() )
print( "Players: " + toString(numPlayers()) + "/" + toString(maxPlayers()) )
}



Когда мы в чат пишем getinfo, то получаем информацию: Имя сервера, карту и количество игроков.
Здесь я собрал несколько наиболее часто используемых команд, связанных с текстами.
lastSaid() - команда означает последнее сообщение чата
toString(#) - команда которая переводит цифры в текстовый формат ( toString(5) + " test" = "5 test")
print( "Map: " + map() ) – показать имя карты.
print( "Players: " + toString(numPlayers()) + "/" + toString(maxPlayers()) ) – показать количество игроков.

Часть VIII Array и Table

Я решил совместить массивы и таблицы, потому что по сути это почти одно и то же. Массив - это группа нескольких значений (цифры, тексты, Entity), причём каждое значение имеет свой номер, а таблица - это несколько значений (те же типы), но каждое имеет своё название в форме текста (string). На первых четырёх строках постфиксы переменных R:array и T:table соответственно.
Разберёмся сначала с массивом.
Изменяется информация в ячейках массива командами:

R:setNumber(<номер ячейки>,<число>)
R:setString(<номер ячейки>,<текст>)
R:setEntity(<номер ячейки>,<объект>)
Получать же значения из ячеек мы будем с помощью команд:
R:<тип>(<номер ячейки>)
Где тип - number, string или entity.

Пример для демонстрации:
Код:
@name Array Test
@persist R:array
@trigger All
R:setString(1,"lolwut?")
R:setString(2,"omg")
R:setString(3,"NOOO")
Мы создали небольшой массив, его можно представить так:
1 lolwut?
2 omg
3 NOOO



Теперь выведем это к нам в чат:
Код:
@name Array Test
@persist R:array
@trigger All
R:setString(1,"lolwut?")
R:setString(2,"omg")
R:setString(3,"NOOO")
print( R:string(1) )
print( R:string(2) )
print( R:stirng(3) )



Таблицы - это те же самые массивы только вместо ячеек - названия, то есть код будет выглядеть весьма знакомо:
Код:
@name Array Test
@persist R:array
@trigger All
R:setString("ololo1","lolwut?")
R:setString("ololo2","omg")
R:setString("ololo3","NOOO")
print( R:string("ololo1") )
print( R:string("ololo2") )
print( R:stirng("ololo3") ).


V.I.P.
0
Упртй
09:17, 11.02.2012 №106998
+ 2
bekolo
07:00, 20.06.2014
Сюда вы можете кидать свои видео,комиксы,мангу и Т.Д.