Элуаль Опубликовано 29 августа, 2006 Автор Жалоба Поделиться Опубликовано 29 августа, 2006 Чтобы сделать адекватный плагин - если его делает несколько человек - его надо обсудить. Не надо, пожалуйста, засорять тему.По теме: контейнер - это условность. Имеется в виду так. Нажали на ножницы - открылся контейнер. Это просто удобная форма создания этого дела. Положили туда то, что надо - 3 шкуры, 5 слитков меди или что еще. Закрыли контейнер. Получили - или не получили - то что нужно. Ссылка на комментарий Поделиться на другие сайты Поделиться
XaoS Опубликовано 29 августа, 2006 Жалоба Поделиться Опубликовано 29 августа, 2006 Что-то куда-то класть - это только лишний гемморойпроще если скрипт сам будет проверять наличие необходимого материала в инвентаре игрока и выводить сообщение типа "Фиг вам", если у персонажа нет необходимого Ссылка на комментарий Поделиться на другие сайты Поделиться
Элуаль Опубликовано 29 августа, 2006 Автор Жалоба Поделиться Опубликовано 29 августа, 2006 Так было сделано в плаге про создание стрел и меня это, если честно, довольно сильно побесило. И вот почему. Я хочу что-то создавать, зная, что у меня есть. А не пробуя на угад - получится или нет. Кроме того, слишком длинными должны быть списки, ибо мои амбиции простираются на все оружие/броню облива + кое-какие собственные измышления. Ссылка на комментарий Поделиться на другие сайты Поделиться
LonWolf Опубликовано 9 сентября, 2006 Жалоба Поделиться Опубликовано 9 сентября, 2006 извиняюсь за задержку, у меня сейчас мало свободного времени. я разумеется никогда не воображал себя великим профессионалом, но вот мои наработки: скрипт на контейнере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с но из принципа на других тоже должен работать. ЗЫ не уверен что возможно сделать открытие без выкладывания на землю. Если кто-то реализует что-то лучше практичнее и/или элегантнее я буду только рад. Ссылка на комментарий Поделиться на другие сайты Поделиться
Элуаль Опубликовано 16 сентября, 2006 Автор Жалоба Поделиться Опубликовано 16 сентября, 2006 Ура ЛонВулфу! Извините, что давно не появлялся - учеба в универе отнимает массу времени. В данный момент в свободно время пытаюсь тестить один крафтовый плаг "Arcane Crafting", но нме кажется, что идея Вулфа лучше. Надо посмотреть. Как только немного освобожусь займусь проверкойи попыткой подгонки (и заимствования хороших деталей из других плагов :1anim_ab: ) Ссылка на комментарий Поделиться на другие сайты Поделиться
Гость Feraset Опубликовано 10 ноября, 2006 Жалоба Поделиться Опубликовано 10 ноября, 2006 планы- наполеоновскиея конечно за но это вредли можно реализовать :1anim_az: я тоже Ссылка на комментарий Поделиться на другие сайты Поделиться
Гость da-kornev Опубликовано 1 августа, 2007 Жалоба Поделиться Опубликовано 1 августа, 2007 (изменено) Идея - супер! подкидываю несколько своих соображений.Если нужен контейнер - пусть будет контейнер, в конце концов на голом месте ковать не будешь нужен как минимум горн и наковальня ( да и таскать с собой их несколько затруднительно :) ). Это и можно оформить как контейнер.Интерфейс можно взять из Юлтимы Онлайн. Например подходишь к наковальне, используешь ее, вылезает меню "чего изволите?" - и там выбираешь что нужно.Еще наверное можно сделать так, чтобы более высокий навык оружейника позволял ковать более сложные вещи. Изменено 1 августа, 2007 пользователем da-kornev Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти