LonWolf
-
Постов
138 -
Зарегистрирован
-
Посещение
Тип контента
Профили
Форумы
Календарь
Сообщения, опубликованные LonWolf
-
-
на стрелу
Begin arrowtrap short counter float posx float posy float posz float playerx float playery float playerz float xdif float ydif float zdif float dist if ( menumode ) return endif ;чтобы не гонять скрипт пока гг далеко, ;выч только позицию до движения if ( GetDistance player > 1000 ) return endif if ( triggered != 1 );глоб. переменная, по идее устанавливаемая в скрипте с наступлением на пол return endif Move y, 100; начинаем движение по направлению локального вектора вперед, 100 - скорость. if ( counter < 10 );задержка в 10 кадров Set counter to ( counter + 1 ) return endif Set counter to 0 ;берем координаты стрелы Set posx to ( GetPos x ) Set posy to ( GetPos y ) Set posz to ( GetPos z ) ;...и игрока Set playerx to ( player -> GetPos x ) Set playery to ( player -> GetPos y ) Set playerz to ( player -> GetPos z ) ;вычисляем разницу Set xdif to ( playerx - posx ) Set ydif to ( playery - posy ) Set zdif to ( playerz - posz ) ;x^2 + y^2 + z^2 = d^2 Set dist to ( ( xdif * xdif ) + ( ydif * ydif ) + ( zdif * zdif ) ) Set dist to GetSquareRoot dist ;при стыковке с игроком хертим его и проигрываем звук if ( dist < 100 );к примеру Player -> ModCurrentHealth -50 PlaySound3d "Health Damage" SetAtStart Set triggered to 0 elseif ( dist > 1000 );если улетела в далекую даль SetAtStart Set triggered to 0 endif End
что-то вроде этого. все цифры нужно настраивать как лучше. я примерно написал.
-
сетпос не будет обрабатывать предмет в инвентаре. проще заранее разместить и задизейблить. а чтобы не придумывать велосипед смотрим музей артефактов. и две версии вещи - одна 'висячая', другая для пользования. например так вот:
на крюк
Begin positioning if ( OnActivate ) if ( "ItemID_expos" -> GetDisabled ) if ( player -> GetItemCount "ItemID" > 0 ) player -> RemoveItem "ItemID" 1 "Item ID_expos" -> Enable endif endif endif End
на expos (выставочную) версию
Begin expos_item short state if ( state == 0 ) Disable Set state to 1 endif if ( OnActivate ) player -> Additem "ItemID" 1 Set state to 0 endif End
нащет стрел из стен я бы лично сделал тупым move, getdistance и тригонометрией. вообще у меня смутные сомнения что стрела пущеная по кричу хертит плейера. по-моему все стрелы изначально не предназначавшиеся игроку как цели атаки проходят сквозь довольно таки безболезненно. хотя точно не помню. и к тому же из скрипта нельзя управлять выпущенной кем-то стрелой.
-
Хм, что то я сомневаюсь.
Капитан Очевидность сообщает: это была порция сатиры. Так-то!
про свободу слова в америке, негров и прочие материи есть такие пара песенок у человека по имени Маршал Мэзерс III - White America и Mosh. Вкуривается куда понятней разных длинных псевдоисследовательских статей.
И вообще всех обиженных "этими злыми модераторами" милости просим на удафком. :D
-
А за бан на форуме будем в суд подавать? Лол, moderate - значит 'умеренный'. делаем вывод - следить, чтобы все знали меру. Наглядный пример - наше любимая конституция.
Статья 29
1. Каждому гарантируется свобода мысли и слова.
2. Не допускаются пропаганда или агитация, возбуждающие социальную, расовую, национальную.....
..
5. Гарантируется свобода массовой информации. Цензура запрещается.
И где здесь логика? Почему спрашивается понятие свободы слова не распространяется на разжигание какой-либо вражды? И если цензура запрещается, то как, согласно закону, эта пропаганда пресекается? Потому что черт возьми мы живем отнюдь не по писаным законам, и модерация по ее основному понятию необходима практически в любой сфере, другой вопрос что эта самая модерация зачастую может переходить рамки, как было в достославном СССР.
-
Приложу пожалуй вам сюда к истории.
Вот этот самый гимн я сочинил в свое время по просьбе Алекса,когда на фуле все еще было хорошо,и пели птицы,и лучи от радиоактивного солнца не пронзали разноцветный купол.Билет на Фуллрест
Эй,парень?Стоять!Получи ка билет.
Бесплатно?!Звиняй,но пожалуй что нет...
Ведь это билет прямо в крепость Фуллрест.
А ты никогда не видал таких мест!
У нас на Фуллресте спокойный народ,
И лишь иногда попадется урод
который не хочет платить за проезд...
Земля ему пухом и бронзовый крест!
Крестьяне живут,прожигают свой траффик
Могли бы вообще укокошить их нафиг...
Едим за двоих,пьем когда поздравляют.
И деньги крестьян это нам позволяют.
Ну полно,дружище-ведь скоро обед.
Купи же скорей этот чертов билет!
Ах сколько он стоит?Пустяк пустяков!
Каких-то там двадцать золотняков.
Забудь ты про деньги,что мог расточить.
Зато сколько кайфа ты б мог плучить.
О,я ведь забыл рассказать вам про драки.
Мы можем дать фору дворовой собаке.
У нас лудший способ узнать отношенья.
Устроить по чести большое сраженье.
Приходишь к противнику-только вы двое
И скажешь:"Мой друг,я чертовски расстроен-
-назавтра давай к пустырю приходи.
Устроим сраженье один на один!"
Назавта приводишь знакомых,друзей,
Соседей и братьев и просто гостей.
А если своих для борьбы не хватало.
Приводишь людей из чужого квартала....
Сбирается банда под сто человек.
Таких никому не оcилить вовек.
Но ты не подумай что это нечестно,
Противник приходит с толпой 200 местных...
И сходимся в поле,подняв дикий вой
Вхывая братьев на решительный бой
Где зубы летят из разорванных ртов,
И каждый дубиною вмазать готов
Один чьей-то длинной кишкой подпоясан
Другой отчищает катану от мяса.
Какие мы делали славные битвы!
Какие проклятья,какие молитвы...
И жены всегда аморально готовы.
К тому что назавтра они станут вдовы.
И тысячи люда ТУДА уходили,
Ведь "Дядюшку джона назвали дебилом"
Такую,напившись,затеем резню....
Но лучше давай про билет обьясню
Послушай..Ну ладно,без всяких там взяток.
Тебе я билет продаю за десяток...
Не ври!Ты при мне положил их в карман
За эти средства я б купил караван,
Постой,у нас добрый народ на Фуллресте
Разносятся быстро хорошие вести
Никто не задумает пакость друг-другу,
И друг никогда не завидует другу.
Недавно купил я роскошный доспех
Пришел в гости ХочуВбан:"Привет,как успех"...
А я говорю:"Ну вобще-процветаю,
Подобные вещи себе позволяю"
-А можешь ли мне одолжить поносить?
Хоть мне совсем не легко попросить?"
А я отвечал :"Ну о чем разговор!?-
-неделю носи,начинай с этих пор "
Доспехи унес за собой HungerGhost
И в этот же вечер отправил их в рост
Кирасу сменял на полтинник в трактире
А Поножи сделал он ставкою в тире.
Наплечник продал дорогим кузнецам
Ботинки сломались-ушли к праотцам
Наручники были для истинных Рук
Рука прикупил их по кличке Вирук
Однако перчатки он выбросил в реку
Они не по нраву РукоЧеловеку.
Наручники вынесло в западный берег
Где их отыскал страж по имени Деррек
"Хе-хе,-думал деррек,-мне везет иль как?
их купит любой впечатленный дурак
И Деррек составил особеный план
Но вырвал перчатки голодный Баклан
Баклан дал Ворам больше ста очков форы
Наручник понес прямиком в Садрид-мору
А там стоял Гельмут-большой некромант
Стоял и смотрел на огромный сервант
Сервант весь блестел,и светился,и даже
был куплен со скидкой в кредит в распродажу.
Но клюв был ослаблен-подул свежий бриз
Наплечник с Бакланом отправился вниз
Ба-бах-и разбился любимый сервант
И тяжко вхдохнул молодой некромант..
"Ну что-ж,все равно он был куплен со скидкой"
И Гельмут ушел с жутковатой улыбкой.
Наручники тихо и мирно ржавели
Шли дни,вслед за ними скакали недели
Но вот их Алхимик-старик подобрал
И ценный металл без зазренья прибрал
Потом-безо всяких существенных правил
Перчатки на золото он переплавил
Пошел в магазин и купил банку Шейна,
И радостно принял его внутришейно..
Затем приключилась большая нелепость
Монеты пошли прямиком в нашу крепость
В аптеке,где я прикупил себе бром
Мне сдачу отдали моим Серебром....
Вам плохо?Я вижу что очень и очень...
А здесь раскладушка-для отдыха.Впрочем
тебе на нее не присесть,ясно,Педик?
Пока ты не получишь заветный билетик
Стоять!Ну куда и зачем так спешишь...
У нас на Фуллресте прекрасный гашишь.
Могу по секрету дать тайную справку,
где можно купить замечательной травки...
Лады-пять монет!!!От души отрываю
Внутри я кричу-от стыда завываю.
Ага!В чем причина я понял,наверно
ты просто не слышал про наши таверны!
А мы очень любим устроить пирушку
Сидишь час за часом,за кружкою кружка
Сидим,философствуем,травим беседы
Сосед уважает любого соседа
А как мы танцуем!Гопак,краковяк.
Чечетка и Танго и "Бешенный хряк"..!
Какой можно сбацать заманчивый танец...
КУДА ТЫ???Стоять,растреклятый засранец
А может,боитесь:"Враги вас достанут?"
Такие года никогда не настанут!
Ведь крепость закрыта огромной стеною.
Враги не управятся с нашей страною...
Недавно на нас нападали-и что же?
Мы дали как следует гадам по роже
И каждый-,кто молод,кто стар,-был бы рад
Отправить захватчиков пряменько в ад
Я помню,кузнец был особенно весел
Троих он в лесу самолично подвесил
Троих покосил под безжалостным дулом,
Еще четверых-на сьеденье акулам...
Да что ты,парень!?Терпение хрупко!
Ведь я выхожу на любые уступки.
Купи же!Билетик-один золотой
Впридачу-пакетик с едой и водой
КУДА ТЫ БЕЖИШЬ?ВЫ КУДА ПОБЕЖАЛИ?
Зачем же вы деньги свои так зажали
Купи же билетик,купи-и-и-,ну купи...!
Не можешь сейчас-так потом накопи...
Фух-как же меня этот бег доканал
Стоять!Не уйдешь!Я почти что догнал!
Плохому такие как я не научат!
У нас на Фуллресте нигде не наскучит.
А если устал от тревог и побоев
Возьми свой кораблик и выберись в море
Пиратский камзол,и повязка,и латы!
Ты можешь податся в морские пираты!
На флаге фрегата и череп,и крест
И черным по белому: "Грозный Фуллрест"
Послушай,не надо устраивать сценок.
Тебе я билетик отдам за БЕСЦЕНОК,
Не надо здесь плакать,о камешки бится.
Тебе от меня и вовеки не скрытся...
Нет!Только попробуй!...Сбежал..Не догнать..
Сейчас он дошутится,будет мне знать!..
Ну где же лежал именной арбалет
Ни разу осечки не дал много лет
Я вскинул..Прицелился..Выстрелил..Тю!....
Низом пошел-Вероятно к дождю....
Эх парень-когда в небесах надоест,
Пожалуйте к нам,в достославный Фуллрест...
Тупая ты,старая,дохлая кляча!
Могло бы все быть абсолютно иначе...
А мне чтоб попасть-был не нужен билет.
Вошел-Дверь захлопнулась.Выхода нет..
И годы прошли,и текли как вода.
Остался я в крепости жить навсегда.....
Хотя далеко не в любви было дело.
Хотел я сбежать-да душа не хотела.
Ведь если о бегстве моем бы узнали.
Меня бы поймали и четвертовали
Такое проходит вторую неделю
Вербовка-поверьте,нелегкое дело. =)
ууу, до сих пор оказывается частично автозамена ХГ))
-
-
осталось еще написать утилиту для вычисления таланта.
-
Хы. Здравая мысль поискать на официальном. Токо не вздумай там писать о скачивании самого бэтлспайра. И на русском языке.
-
Сначала выложи свое. Опиши обстановку и алгоритм. А тебе уже скажут, что не так.
-
как интересно похлопаем граждане раньше такие подводные камни нам не встречались. :(
bottomline: не EXPRESSION left eval случайно?
или может все дело в том что использовалось ативирование вместо активирования? а как насчет убрать пробел в названии и наслаждаться отсутствием ошибок?
-
#1
Begin staff_shield_script Short OnPCEquip Short stat if ( menumode ) return endif if ( OnPCEquip == 1 ) player -> addspell "staff_s" Set OnPCEquip to 0 Set stat to 1 endif if ( player -> HasItemEquipped "объект" == 0 ) if ( stat == 1 ) player -> removespell "staff_s" Set stat to 2 endif End
#4
Возможно ли с помощью стандартного конструктора создать строчку диалога внутри Greeting 1 и при этом не рисковать порчей существующих диалогов?
AFAIK, вполне.
-
ты неправильно понял. она сослалась к этому:
попробуй повесить телепортацию игрока при определенном расстоянии от двери. ты подойдешь и тебя выкинет куда надо, а компаньона - нет.
-
без вызова OnActivate перед этим ничего не выйдет. как ни крути.
"ID двери"->Activate, player
А вот это вообще нонсенс. Дверь не может активировать игрока, который тут является аргументом. Хотя синтаксис Player -> Activate "loaddoor" тоже не прокатит.
-
-
плохо искал.
-
переменная типа long это целое знаковое 32-битное число, которое сохраняет диапазон значений от -2147483648 до 2147483647. ни строк ни символов она не сохраняет. если мне кто-то докажет обратное я согласен убить себя с разбегу.
-
извиняюсь за задержку, у меня сейчас мало свободного времени. я разумеется никогда не воображал себя великим профессионалом, но вот мои наработки:
скрипт на контейнере
scn LW_test1 short cv short chance short tmp short tmp2 short skillraise short button Begin GameMode if ( cv == 1 ) if ( GetItemCount "Torch02" >= 5 ) RemoveItem "Torch02" 5 AddItem "WeapAkaviriLongSword" 1 Set cv to 0 Activate endif elseif ( cv == 3 ) RemoveItem "Torch02" 5 Set cv to 0 endif if ( cfskill >= 5 ) && ( cfskill < 20 ) Set tmp to 5 elseif ( cfskill >= 20 ) && ( cfskill < 35 ) Set tmp to 8 elseif ( cfskill >= 35 ) && ( cfskill < 50 ) Set tmp to 11 elseif ( cfskill >= 50 ) && ( cfskill < 75 ) Set tmp to 14 elseif ( cfskill >= 75 ) && ( cfskill < 90 ) Set tmp to 17 elseif ( cfskill >= 90 ) Set tmp to 21 endif if ( cfskill != 100 ) && ( skillraise >= tmp ) Set cfskill to ( cfskill + 1 ) Message "Ваш навык ремесла возрос до %g." cfskill 2 Set skillraise to 0 endif if ( tmp2 == 1 ) Set button to GetButtonPressed if ( button == -1 ) return elseif ( button == 0 ) Disable Player.AddItem "LWtesttan" 1 elseif ( button == 1 ) Set cv to 2 Activate endif Set tmp2 to 0 endif End Begin OnActivate if ( IsActionRef player == 1 ) if ( cv == 0 ) if ( tmp2 == 0 ) MessageBox "Что вы хотите сделать?" "Взять" "Создать предмет" Set tmp2 to 1 endif elseif ( cv == 2 ) Set chance to ( GetRandomPercent + ( cfskill / 2 ) ) if ( chance > 49 ) Message "Вы успешно создали новый предмет." 2 Set skillraise to ( skillraise + 1 ) Set cv to 1 else Message "У вас ничего не вышло." 2 Set cv to 3 endif endif endif End
Делает следующее: положишь в него пять факелов(понимаю что глупо, это для теста) и нажмешь на него - появится надпись вышло или нет. Если вышло в контейнере появится клинок акавири, если нет факелы исчезнут. шанс зависит от значения условного навыка ремесла, реализованного глобальной переменной. базовое - пять. от успешных созданий увеличивается значение навыка. формула следующая:
(x + ( y / 2 )).
где x - случайное целое от 0 до 99, а y - значение навыка. Также я сделал все возможное чтобы обеспечить возможность добавления контейнера в инвентарь, т. е. я насколько возможно реализовал морровский принцип манекенов: при нажатии встает выбор взять или открыть, если взять - конт исчезает, а в инвентарь добавляется *другой предмет*. при выкладывании его на землю он снова становится контейнером. разумеется модели должны быть те же у обоих, различается только тип. Вот тщательно оттестированный скрипт на *другом предмете*:
scn LWtest2 ref cont float zpos1 float zpos2 float zangle1 float zangle2 float timer Begin GameMode Set cont to GetContainer if ( GetDisabled == 0 ) && ( cont == 0 ) if ( timer < 1 ) Set zpos1 to GetPos z Set zangle1 to GetAngle z elseif ( timer > 3 ) Set zpos2 to GetPos z Set zangle2 to GetAngle z if ( zpos1 == zpos2 ) && ( zangle1 == zangle2 ) Disable PlaceAtMe "LWtestcrate" 1 endif Set timer to 0 endif Set timer to ( timer + GetSecondsPassed ) endif End
В идеале должен быть еще большой глобальный скрипт, запускающийся и останавливающийся из базового, проверяющий комбинации и рецепты и заменяющий одни предметы другими. если необходимо скрипт обратного разбора написать не составит труда. Я приложил также плаг для теста, он добавляет сундук на перекрестке торговой площади имперского города, для нужд тестирования модели сундука и предмета добавляющегося в инвентарь разные (это кувшин :1anim_ag: ). положите в него пять факелов и активируйте)) если будет интерес постараюсь выкраивать время на продолжение работы по сему. все. смотрим думаем. эээ чуть не забыл - плаг под версию 1с но из принципа на других тоже должен работать.
ЗЫ не уверен что возможно сделать открытие без выкладывания на землю. Если кто-то реализует что-то лучше практичнее и/или элегантнее я буду только рад.
-
отнюдь. и не думаю что 'уже' будет раньше чем через неделю т. к. я ухожу на время в оффлайн. возможно создам сырую заготовку, просто на тест. модели я делать не умею сразу предупрежу. все, ждите.
-
какие рецепты предложиш? у меня на такие вещи фантазии маловато.
-
начнем с того что окна никакие типа алхимии не получатся. я на данный момент предполагаю одну более-менее путевую реализацию: имеется некий контейнер, который можно носить в инвентаре, в него кладется несколько ингредиентов. далее жмем на него и получаем либо то что надо, либо ничего, в зависимости от навыка (навык будет скриптовой, невидимый в меню). такое устроит?
-
наигрался в проклятые земли? :1anim_ag: рассказал бы поточнее как ты себе это представляешь и пару конкретных примеров. в принципе я бы мог поковыряться если выдастся свободная минутка. хотя ничего не обещаю.
-
в принципе могу быть ведущим по Lore, знаю много обо всем этом.. хотя разумеется мне не на что рассчитывать... а что конкретно подразумевается под ведущим, Боблен?
-
Боблен ты забыл что через RemoveAllItems квестовые предметы не удаляются. Нужно скриптом отобрать у игрока всё что у него есть с собой, включая квестовые предметы. Есть еще функция копирнуть все предметы в контейнер, но на них пропадут скрипты.
ps а тему лучше в TES4 скрипторий.
-
модером быть на самом деле не так весело как кажется. не знаю почему многие страстно гонятся за постом, зачастую даже не сознавая ответственности.
Скрипты на заказ
в TES III: TES Construction Set
Опубликовано
нет. этот на стрелу. кстати лучше брать какой-нибудь коврик, т.е. - активатор, на статик всеравно не повесишь ничего.
на пол:
triggered на забыть объявить как short в меню Globals.