Web Gearbox

C уважением администрация!

оставьте комментарий »

Решил попробовать писать. Какая разница – так все равно интересней..

ЗЫ. Меня тошнит от кокосового печенья (

ЗЗЫ. Кликабельно:

Написано Andrienko

Февраль 25, 2011 в 4:28 пп

Опубликовано в Uncategorized

Отчет о путешествии на НьюРашу

Написано Andrienko

Февраль 21, 2011 в 4:26 пп

Опубликовано в Uncategorized

Хотелка

с одним комментарием

Я люблю СЛ. Иногда мне нравится “торчать” в нем часами. Зачем? А чёрт его знает… Попробую описать, что для меня влияет на так сказать “рейтинг” сима. Ведь важно не столько разрекламировать место, сколько наличие у этого места некоей “изюминки”, чего-то, что заставит пользователей вернуться еще раз и ещё раз. Итак, далеко не полный список:

  • Права. Я люблю, когда в посещаемом мной месте можно реззить объекты. Пусть даже и с авторетурном. Глупы закрывающие рез на симе, боясь гриферов. Любой нормальный скриптер может “положить” сим и без реза. С другой стороны люди (а особенно – новички) любят пострелять, покататься на машинах, похвастаться какой-нибудь штуковиной. Я терпеть не могу, когда мне без нужды “обрезают крылья”, запрещая полёт. Вызывает резкую неприязнь отсутствие возможности использовать скрипты  - т.к. я сам скриптер. Да и АОшки и прочие прибамбасы в бесскриптовых зонах не работают или работают убого.
  • Правила. Меня дико бесят драконовские ограничения, особенно на mature/PG симах. Ну кого смущают сиськи? Почему людей бесит мат? С какого перепуга модератор всегда прав? Это ведь СЛ, где все любят свободу действий. Почему они должны любить место, где эта свобода ограничена? Конечно, неприятно, когда мне пишут “ах ты сраный мудоёб” – но это, прежде всего, мои проблемы, а не случайно оказавшегося рядом и услышавшего модератора. В конце концов, есть же mute. Хороший модератор банит только по жалобе, которую трижды перепроверяет. А не ищет основания для бана, якобы хорошо справляясь со своими обязанностями.
  • Близость песочницы. Ну да, я строитель. Если рядом (близко, не на соседнем симе за 3-мя стенами) есть песочница – это плюс к желанности места.
  • Изюминка. У места должно быть что-то, что отличает его от других. Поэтому десятки однотипных “ночных клубов” – это банально скучно. И поэтому толпы людей бродят по уникальным симам-паркам.
  • Размеры. Люди не любят огромных пространств. Место должно быть огорожено – не важно как, забором, или деревьями, клумбой, перилами, чем угодно. Пусть даже условно. Посреди футбольного поля стоять и болтать с друзьями как-то некомфортно.
  • Общество. Оно во многом определяется местом, но и определяет место тоже. Люди – звери социальные, любят общаться, смотреть на других и, особенно, показывать себя. Перед этим, последним пунктом по ценности остальные меркнут. Можно и в клубе “тусить”, если люди интересные.

Если вам кажется, что если взять огромное пространство, понаставить на нем “развлекалок” вроде карточных столов, поналепить вокруг однообразных магазинов-киосков, позапрещать все, что только можно (для безопасности), развешать везде, где только можно, рекламу – это привлечет толпы народа и обеспечит месту популярность – вы жестоко ошибаетесь. Здесь нет никакого рецепта в принципе, но внимательно перечитайте рекоммендации и подумайте.

Написано Andrienko

Ноябрь 4, 2010 в 12:56 дп

Опубликовано в Бред

Строительство: О примах и линксетах

оставьте комментарий »

Как Вам, может быть, известно, все в СЛ состоит из примов. Примы – это мельчайшие детали любой постройки (А я говорю именно об объектах). Шарики, кубики, торы, кольца, скульптурные примы – все это – базовые частички, “кирпичики”, из которых в СЛ состоит буквально всё.

Построив наш объект (например, дом, или пистолет, или карусельку, или, например, примовую причёску..) мы, понятное дело, захотим сделать его цельным (то есть чтобы это была не просто куча примов, а цельный объект).

Соединить несколько примов в один объект значит “слинковать” (link) объект. Любой объект (даже если состоит всего из одного прима, кстати) называется “линксетом” (linkset).

Для того, чтобы слинковать объект – необходимо выделить все объекты, которые хотим слинковать, и нажать кнопку линковки (Tools > Link) или комбинацию клавиш Ctrl+L.

Для того, чтобы объект слинковался, необходимо выполнить ряд требований:

  1. Всего примов должно быть не больше 256. То есть от 1 до 256 включительно.
  2. Все примы должны быть расположены в радиусе 10 метров. Можно и больше, но об этом двумя абзацами позже.
  3. Все примы должны принадлежать вам. То есть нельзя прилинковать ваш кубик к шарику друга. Даже если друг даст вам право модифицировать его объекты.
  4. У вас должны быть права modify на все объекты. При этом, если хоть на один из примов нет прав копирования (no copy) – то и весь слинкованній объект, содержащий этот прим, станет no-copy.

Если все сделано правильно – наши примы объединятся в один  объект.

После линковки все объекты, кроме одного, выделятся голубым. Единственный оставшийся объект, выделенный желтым, называется “Главным Примом”, “Родительским Примом” или “Рут-Примом” (Main Prim, Parent Prim, Root Prim) – называют по разному, но суть одна. Остальные же примы, подсвеченные теперь голубым – будут зваться “Подчиненными примами” или “Примами-детьми” (Child Prim).

От этого главного прима зависит очень многое. Собственно, большая часть свойств всего линксета будет зависеть именно от свойств главного прима. Имя объекта, имя его создателя, его координаты и вращение, его содержимое (содержимое подчиненных примов никуда, собственно, не денется, равно как и имена из создателей).

Важная деталь: центры всех примов линксета должны находиться не дальше 10 метров от рут-прима. Иначе они просто не слинкуются.

Написано Andrienko

Июнь 8, 2010 в 11:41 дп

LSL Scripting Tips&Tricks #3 – Перебор элементов списка и вообще любого списка элементов

с одним комментарием

Иногда бывает нужно пройтись циклом по элементам, например, цикла.
Очевидный способ:

list haystack=["foo","bar","baz","make","it","simple"];
integer i=0;
integer num=llGetListLength(haystack);

for(i=0;i<llGetListLength(haystack);i++){
   if(llToLower(llList2String(haystack,num))=="needle")llSay(0,"Gotcha!");
}

Однако можно сэкономить одну переменную, написав следующее:

list haystack=["foo","bar","baz","make","it","simple"];
integer num=llGetListLength(haystack);

while(num--){
   if(llToLower(llList2String(haystack,num))=="needle")llSay(0,"Gotcha!");
}

Применять это стоит, когда порядок перебора элементов не важен. Например, нужно взять имя каждого элемента инвентаря и поместить его в список. Или сказать “Привет” каждому обнаруженному сенсором человеку. Или, скажем, добавить его имя в список радара..

sensor(integer num_detected){
   while(num_detected--){
      llSay(0,"Привет, "+llDetectedName(num_detected));
   }
}

P.S. Конечно, первый приведенный пример – несколько бессмысленный, потому что есть функция llListFindList. Но на то он и пример :)

Написано Andrienko

Май 18, 2010 в 11:11 дп

Опубликовано в Uncategorized

LSL Scripting Tips&Tricks #2 – Case Of Two

оставьте комментарий »

Частенько возникает задача выбрать одно из двух. Например, если переменная i истинна – написать “Вкл”, иначе – написать “Выкл”.

Можно написать вот так:

if(i)return "Вкл";
else return "Выкл";

А чтобы сэкономить место можно вот так:

return llListToString(["Выкл","Вкл"],i);

таким образом, если i истинно – то есть равно 1 – вернётся второй элемент списка, то есть “Вкл”. Если же i ложно – то есть, равно 0 – вернётся “Выкл”.

Позволяет неплохо сэкономить время и место.

Также можно наоборот. Например, присвоить 1, если поьзователь сказал “Вкл” или 0 – если сказал “Выкл”.

listen(integer l_channel,integer l_name,key l_id,string l_message){
   integer i=llListFindList(["выкл","вкл"],[llToLower(l_message)])
}

Таким образом, елси пользователь скажет, например вырбрыкл – i станет равно -1, что тоже может быть удобно.

Также, используйте списки вместо конструкций типа

if(i==1)return "красный";
else if(i==2)return "зелёный";
else if(i==3)return "синий";
else if/.../return "чёрный";

представленное выше – “китайский код”, вы уж извините. Надо писать вот так:

return llListToString(["красный","зеленый","синий",/../,"чёрный"],i);

Написано Andrienko

Апрель 28, 2010 в 4:20 пп

Опубликовано в Скрипт-related

Отмечено как ,

LSL Scripting Tips&Tricks #1 – String Replace

оставьте комментарий »

Замена всех вхождений подстроки в строке

Допустим, надо найти все вхождения в строку haystack строки needle и заменить их на строку replace.

Обычно это достигается длинной нудной функцией, замесом из llSubStringIndex, llDeleteSubString, llInsertString и llGetSubString:

string str_replace(string from, string to, string str)
{
    integer e = llStringLength(from) - 1;
    if(e > -1)
    {
        string  b = str;
        integer c = -1;
        integer f = llStringLength(to) - 1;
        @loop;
        integer d = llSubStringIndex(b, from) + 1;
        if(d)
            b = llGetSubString(str = llInsertString(llDeleteSubString(str,c+=d,c+e), c, to), (c += f) + 1, 0x4000);
            jump loop;
        }
    }
    return str;
}

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

Предлагаю более простой (и, кстати, очень даже очевидный) способ замены подстроки:

string wgReplaceString(string haystack,string needle,string replace){
return llDumpList2String(llParseStringKeepNulls(haystack,[needle],[]), replace)
}

llParseStringKeepNulls – разбивает строку на список по заданному разделителю. Удаляя разделители. При чем, если идут два разделителя подряд – в список вставляются пустые элементы, что немаловажно.
llDumpList2String – склеивает из списка строку, вставляя заданные разделители.

Фактически, мы просто меняем один разделитель на другой. А разделителем служит строка поиска needle =)

Написано Andrienko

Апрель 28, 2010 в 1:19 пп

Опубликовано в Скрипт-related

Отмечено как , ,

Russian Archipelago Commission Vendor – Инструкция для Продавца

с 2 комментариями

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

Читать далее…

Написано Andrienko

Апрель 19, 2010 в 6:31 пп

Опубликовано в Uncategorized

Отмечено как ,

Икстрит объединил аккаунты.

оставьте комментарий »

Да, это некоторым трудно понять сразу. До меня дошло только спустя 3 часа. Теперь счёт ОБЩИЙ для SL и для XstreetSL. Теперь НЕ НАДО пополнять счёт – он теперь один.

То есть в игре 200 л у вас – и на икстрите тоже 200л. Тратите в игре – и с икстрита исчезает. Тратите на икстрите – исчезает и с игры.

Другими словами, на икстрите теперь покупают за внутриигровые деньги.

Написано Andrienko

Апрель 2, 2010 в 11:33 дп

Опубликовано в Uncategorized

Учимся делать гестурки

оставьте комментарий »

Казалось бы – зачем? Но некоторые методом тыка научиться не могут..

1. Создаем гестурку. Правой кнопкой клацаем по папке с гестурами и клацаем “New Gesture”

2. В появившемся окне:

  • Description – описание гестурки
  • Trigger – чат-команда, которая активирует рестурку
  • Replace With – текст, которым будет заменена гестура
  • Shortcut Key – сочетание клавиш, активирующее гестуру
  • Library – доступные для гестуры команды
  • Steps – команды, выполняемые гестурой
  • Поле под Steps – параметры текущей выбраной команды гестуры
  • Add >> – добавить команду
  • Move Up, Move Down – двигать выбранную команду в списке соответственно вверх и вниз
  • Remove –  удалить текущую команду из списка

Команды следующие:

  • Animation – запустить или остановить анимацию
  • Sound – проиграть звук
  • Chat – сказать что-либо в чат. Можно также говорить в другие каналы чата.
  • Wait – задержка

Осталось немножко помозговать…

    Написано Andrienko

    Апрель 1, 2010 в 9:23 дп

    Опубликовано в SL - Техническое

    Отмечено как

    Учимся торговать на XstreetSL

    оставьте комментарий »

    Меня часто спрашивают “а как торговать на XSTreet”. Да, знаю, где-то есть статьи и вообще… Но вот  решил свою такую написать. Причем такую, чтобы даже самый последний конченый дебил смог разобраться, как торговать на xstreet-е… Читать далее…

    Написано Andrienko

    Апрель 1, 2010 в 9:10 дп

    Опубликовано в SL - Техническое

    Отмечено как , ,

    “Хортиця”

    оставьте комментарий »

    Я собой по праву горжусь =) То, что я делаю мегаофигенный скрипт, каких еще не был в сл – меня не вдохновляет. А вот то, что я сваял скромненький скульпт – просто ВАУ!

    Написано Andrienko

    Март 6, 2010 в 2:41 дп

    Немножко о мегапримах

    оставьте комментарий »

    Мегапримы – примы, которые хотя бы по одной из осей больше максимального размера (10 м).

    Создать новый мегаприм нельзя. Раньше ограничение размера было на уровне вьювера – т.е., сам вьювер не позволял создавать мегапримы. Молодчики-программисты в то время хакнули вьювер и насоздавали массу примов, размер которых больше обычных. После это дело пофиксили – теперь сами сервера не позволяют создавать их.
    Читать далее…

    Написано Andrienko

    Февраль 23, 2010 в 12:02 пп

    Pro LSL – Самокопирующиеся объекты.

    с 5 комментариями

    Для чего это может понадобиться? Используется, например, при создании мульти-реззеров. Или, к примеру, игрушка : кубик, который при клике на него создает в месте клика такой же кубик. Или, например, объект, который раз в 10 минут «перереззывается». Или чтобы нареззить массу объектов и уронить сим. Применений — масса.

    Читать далее…

    Написано Andrienko

    Февраль 23, 2010 в 12:15 дп

    Опубликовано в Скрипт-related, SL - Техническое

    Отмечено как ,

    Немножко счастья

    оставьте комментарий »

    Надеюсь, надолго. Если в РЛ все будет хорошо – то и здесь надолго… Надеюсь…

    Написано Andrienko

    Январь 28, 2010 в 2:17 дп

    Опубликовано в Uncategorized

    Western Cape

    с одним комментарием

    Это такая офигенная гавань/набережная. Называется Western Cape.. Расположена на континенте. (SLURL)

    Писать историю и описывать прелести не буду – на вкус и цвет.. да и к тому же, вам интереснее будет самим побродить. Это же не репортаж для сраши, в конце то концов..

    Дальше-больше : Читать далее…

    Написано Andrienko

    Январь 27, 2010 в 12:54 пп

    ARRGH!

    с одним комментарием

    Вотося, нашел =) Всего за 1 л – такие зубки… Легко настраивать/подгонять, есть худ, чтобы делать “рррявк”. Скульптовые – да еще и с закрытым ртом нормально смотрятся (т.е. их не видно :) ) Единственный минус – крепится в два аттача. Зато модифи, то есть “продвинутые” пользователи вполне могут сделать из двух предметов один ;)

    Нрааица =)

    Написано Andrienko

    Январь 27, 2010 в 12:46 пп

    Находка, что-ли?..

    с одним комментарием

    Картинки из SL-А можно отображать на вебе!

    достаточно указать адрес – http://secondlife.com/app/image/UUID/РЕЖИМ

    где UUID – ключ картинки, режим – цифры 1, 2 или 3. 1- картинка, 2 – картинка поменьше, 3 – превьюшка картинки.

    Прикольно!

    З.Ы: Майка рулит! Ё!

    Написано Andrienko

    Январь 26, 2010 в 12:29 пп

    Серьезность подхода

    с 2 комментариями

    Хотят “серьезного подхода”.

    Серьезный подход требует четких сроков – и высокой оплаты. Мой серьезный подход вам просто не по карману

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

    Написано Andrienko

    Январь 25, 2010 в 7:59 дп

    Опубликовано в Бред

    Отмечено как ,

    оставьте комментарий »

    Несколько причин, по которой владельцам магазинов одежды/драгоценностей стоит засовывать товар в коробку, после чего эту коробку уже засовывать в вендор. А не продавать копию вендора, как некоторые делают. Причем коробки делать безликие.

    1) Неприятно же =) Когда девушка распаковывает новое платье на глазах у жениха – ей не хочется, чтобы парень увидел его изображение на коробке.

    1.а) Ага, а чтоб сама девушка увидела это платье – вставляйте в коробку с платьем его скриншот. Который на вендоре. Причем делайте его коп/трансфер, чтобы девушка могла дать его подруге, а та дала своему жениху, который купил бы ей такое же платье =)

    2) А что, если у вас несколько товаров? Например, мультивендор.. Тогда удобнее засунуть в вендор несколько коробок с товаром.

    2.а) А когда в одном вендоре – коробки, а в другом – “как есть” – тогда, конечно, не комильфо.

    Написано Andrienko

    Январь 21, 2010 в 11:31 дп

    Опубликовано в Бред

    Отмечено как , ,

    с одним комментарием

    Весь сл кишит аватарами Н’ави…

    Задолбали.

    Написано Andrienko

    Январь 20, 2010 в 12:53 пп

    Опубликовано в Бред

    Отмечено как , , , ,

    Наверное…

    оставьте комментарий »

    ..есть, чем гордиться. ЖеньБер спросил, чем занимаются в СЛ фотографы. Не бывает их, СЛ-фотографов…

    Написано Andrienko

    Январь 18, 2010 в 8:31 дп

    Опубликовано в скрины

    Отмечено как ,

    Размышления о вечности…

    с 4 комментариями

    Один аватар заявил, что в рл его не существует… Как же иногда хочется переместиться на грид целиком, со всеми потрохами. И каково-же все-таки понимание, что я НЕ хочу жить на гриде целиком, пусть даже это было бы возможно…

    Читать далее…

    Написано Andrienko

    Январь 18, 2010 в 8:13 дп

    Опубликовано в Мои Постройки

    Отмечено как , , ,

    Обещаний/Немножко/Строить

    оставьте комментарий »

    Строить будущее, строить – будем учить вас строить. Наобещаю – буду постить статьи. Стараться чиабельными делать и понимабельными. Щас иду спать. Людям с русским интерфейсом – сочувствую.

    Написано Andrienko

    Январь 14, 2010 в 3:59 дп

    Опубликовано в Uncategorized

    Однопримовый позстенд. Фри =)

    с 2 комментариями

    Вот, я его доделал. Это, по сути, готовое решение для владельцев всяких там магазинов, которые хотели бы продавать свою, скажем, одежду – и вместе с одеждой раздавать “становилку” со своим логотипом (обычная-таки практика).

    Бесплатен и фуллперм… Взять пока что  только у меня с рук, пока на стрите непонятки с фриби.

    Встроенные 3 анимации, их переключатель =) Надеюсь, Вам понравится.

    Написано Andrienko

    Январь 13, 2010 в 8:59 дп

    Опубликовано в Мои Постройки

    Отмечено как , , , ,

    Отношения с заказчиками =)

    оставьте комментарий »

    Ребятки, время моё относительно недорого =) То есть за несложный скрипт я беру от тысячи Л. Некоторые из скриптов вам будет дешевле купить в готовом виде. Если это что-то совсем простенькое, с чем управлюсь не больше чем за 15 минут – это будет совсем недорого, а то и бесплатно.

    Многоуважаемые господа заказчики! Если вы не уверены, что станете у меня заказывать разработку скрипта… В общем, я в СЛ-е не для того, чтобы производить впечатление. И не для того, чтобы играть в догонялки с “конкурентами”. Все же для меня это, во многом, игра. Поэтому не надо угрожать мне “найду другого скриптера” – и уж тем более не надо думать про меня “человек несолидный, в себе неуверен”. Если вам так кажется – лучше тогда мне просто не пишите.

    Если же я не уверен, что смогу сделать работу – я за нее попросту не буду браться.

    Чао :)

    Написано Andrienko

    Январь 13, 2010 в 8:52 дп

    Опубликовано в Uncategorized

    Отмечено как

    Follow

    Get every new post delivered to your Inbox.