Страница 6 из 11 ПерваяПервая 1234567891011 ПоследняяПоследняя
Показано с 76 по 90 из 154

Тема: Изготовление симс объектов на конкретном примере (с использованием IffPencil)

  1. #76
    Старожил Аватар для Шогал
    Регистрация
    05.10.2002
    Адрес
    Калининград
    Сообщений
    761
    Спасибо
    я - 0; мне - 1

    Re: Еще раз о Temporary Storage

    Кажется, я слегка не так сказал,
    Temporary Storage не передаются от одного скрипта к другому.
    - это я имел ввиду если OWNER'ы этих процессов разные (не знаю как это по симски объяснить, но на примере из обычной жизни - если сравнивать с Windows XP, там есть такая команда "Запуститиь от имени..."). То есть, main запускается от имени объекта, а interaction - от имени сима - вот между этими двумя процессами никогда не будут передаваться никакие переменные (кроме аттрибутов). Если два различных сима запустили одно и то же взаимодействие в двух различных экземплярах - то между ними тоже никогда не передадутся переменные (Temporary Storage тоже туда относится). А в скрипте который запустил сим (или объект) - Temporary Storage будет ходить по всем функциям, запускаемым ЭТИМ процессом, и уничтожится после того как сим завершит процесс. А тип функции не имеет значение - что приват, что глобал что полуглобал.

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

  2. #77
    Группа удаления
    Регистрация
    23.12.2003
    Адрес
    Москва
    Сообщений
    118
    Спасибо
    я - 0; мне - 0

    Вопрос И снова гибкий курс

    1)Спасибо Шогал .
    2) Как должен выглядеть BHAV (обновляющий курс обмена) генерирующий случайное число от 0 до 10 раз в сутки (в 9 часов утра), при этом хочется сделать так, чтобы сим не мог воспользоваться банкоматом, сразу же после покупки, а вынужден был бы дождаться, 9 утра (но только один раз, в день покупки, а затем никаких ограничений по использованию банкомата быть не должно). Если кто-нибудь знает как такое сделать, напишите пожалуйста (лучше в виде скрипта). Я честно пытался сделать это самостоятельно, но ничего приличного не вышло.
    3) Расскажите пожалуйста, что такое (glob: ) idle, что она делает, какие величины возвращает, какие параметры ей можно задать?
    4)Расскажите пожалуйста, что такое (glob: ) hours idle, что она делает, какие величины возвращает, какие параметры ей можно задать?
    Заранее благодарен.
    Homo homini lupus est

  3. #78
    Старожил Аватар для Шогал
    Регистрация
    05.10.2002
    Адрес
    Калининград
    Сообщений
    761
    Спасибо
    я - 0; мне - 1
    Gilder,
    Чтобы запретить симу пользоваться неготовым банкоматом нужно сделать в Check Tree (в TTAb) ссылку на следующий BHAV:

    Stack Object Attribute (аттрибут с текущим курсом) Equals? 0 | False | True |

    2)
    0. (glob: ) Idle Minutes (01 00 ...(дальше все нули)) [1|Error]
    1. Global (...) Minute Equals? 0 [2|0]
    2. (glob: ) Idle Hours (01 00 ...) [3|Error]
    3. Global (...) Hour Equals? 9 [4|2]
    4. My Attribute X := Random Number (... диапазон ...) [5|Error]
    5. My Attribute X += (выравнивание, чтобы курс был не от нуля как обычно при random number а от определенного числа) [2|Error]

    Там где у меня написано Global (...) - в качестве (...) имеется ввиду from simulation. X обозначает номер того аттрибута где находится курс.

    3) (glob: ) idle приостанавливает выполнение скрипта на определенное время (по часам Симс). Первый параметр - это время ожидания, остальные роли не играют. К сожалению я не помню чему равна одна единица времени, но это можно вычислить.

    4) (glob: ) Idle Hours (или в некоторых версиях behavior.iff -hours idle) приостанавливает выполнение скрипта на заданное количество симских часов. Действует точно также как просто idle, но задается в другой единице измерения (в часах). (например, (glob: ) idle hours (24|0|0|0) (в десятичной) будет ждать одни сутки, затем продолжит выполнение скрипта). Похожая функция - idle minutes (она задается в минутах).

    Функции idle ничего не возвращают.

  4. #79
    Группа удаления
    Регистрация
    23.12.2003
    Адрес
    Москва
    Сообщений
    118
    Спасибо
    я - 0; мне - 0

    Улыбка Спасибо

    Спасибо Шогал. Сейчас попробую.
    Чтобы запретить симу пользоваться неготовым банкоматом нужно .... Stack Object Attribute (аттрибут с текущим курсом) Equals? 0 | False | True |
    .
    А что все Атрибуты объекта до его первого использования по умолчанию равны 0 ???
    Homo homini lupus est

  5. #80
    Группа удаления
    Регистрация
    23.12.2003
    Адрес
    Москва
    Сообщений
    118
    Спасибо
    я - 0; мне - 0

    Стыд Глюк в розыске

    1)Шогал снова спасибо, все получилось.
    2)Я столкнулся с глюком, который никак не могу отловить. Он состоит в том, что сим не всегда может поменять монеты обратно на деньги. То есть это действие начинается, но прерывается на полпути. Возможно кто-нибудь может мне помочь. Я вывесил IIF объекта, Вот здесь (это самораспаковывающийся (.exe) RAR архив) (публиковать код в форуме довольно неудобно, поскольку BHAV- ов много и все они связаны, тем более, что хоть сколько нибудь локализовать глюк мне не удалось).
    3)Я где-то тут видел (то ли пост, то ли тему) о том как можно уменьшить размер объекта, киньте, пожалуйста, ссылку (а то они у меня довольно тяжелые получаются).
    Заранее блогадарен.
    Homo homini lupus est

  6. #81
    Старожил
    Легенда miXei.ru
      "Самый полезный участник раздела The Sims 2004"
    Аватар для Shy
    Регистрация
    08.10.2002
    Сообщений
    701
    Спасибо
    я - 0; мне - 57
    Gilder
    2) Я посмотрел код твоего предмета, в игре его не видел. Общая ошибка: многие примитивы у тебя после неудачного выполнения ведут на Error. Из тех, что я видел, это Go To Relative Position, Animate Sim, Manage Inventory. Если, к примеру, сим не может по какой-то причине подойти к предмету, то генерируется ошибка и происходит reset предмета. Запусти игру с ключом "-debug_objects" и посмотри в каких местах возникают ошибки (после каждой ошибки в папку с игрой пишется файл ObjectError*.txt). Чтобы узнать, как правильно расставлять переходы, посмотри другие iff'ы. К примеру, Animate Sim вообще никогда не ведет на Error, а чаще всего замыкается на себя.

  7. #82
    Группа удаления
    Регистрация
    23.12.2003
    Адрес
    Москва
    Сообщений
    118
    Спасибо
    я - 0; мне - 0

    Вопрос Глюк локализовался.

    1)Спасибо Shy.
    2)Ошибка происходит, в BHAV-е #4160 "Coins To Money Change".
    В строчке №7 :
    Manage Inventory ( 1.x Animate Object in 2.0 )
    (Remove token at index stored in Temp 2 of count stored in Temp 0.) {flags = 0, 0, 0, 1} |8|Error|.
    Но что конкретно там не так, я пока не понял. Подскажите пожалуйста.
    Homo homini lupus est

  8. #83
    Группа удаления
    Регистрация
    23.12.2003
    Адрес
    Москва
    Сообщений
    118
    Спасибо
    я - 0; мне - 0

    Сообщение Назвние

    Уважаемые Модераторы,
    Я уже писал, о том, что не плохо было бы сменить название этой темы (названной мной дак длинно, впопыхах и по неопытности). Думаю это стоит сделать. Назвать ее как нибудь вроде, "Разработка симс объектов на примерах", (ведь большая часть постовнаписаных здесь являются решениями каких-то вполне конкретных задач по изменению внешнего вида и начинки предметов. Впрочем, уверен, что у Вас гораздо больше опыта в определении информативного названия тем, посему если вышенаписанное название по каким-то критериям не подходит для данной темы,
    буду Вам благодарен за любое другое информативное (по Вашему мнению) название.
    С уважением, Gilder.
    Homo homini lupus est

  9. #84
    Старожил
    Легенда miXei.ru
      "Самый полезный участник раздела The Sims 2004"
    Аватар для Shy
    Регистрация
    08.10.2002
    Сообщений
    701
    Спасибо
    я - 0; мне - 57
    Gilder
    Надо полагать, что нет нужного числа токенов, поэтому их и невозможно убрать. Насколько я помню, перед Remove вначале вызывают "Find token of type", чтобы убедится, что токены такого типа у сима есть.

  10. #85
    Группа удаления
    Регистрация
    23.12.2003
    Адрес
    Москва
    Сообщений
    118
    Спасибо
    я - 0; мне - 0

    Вопрос Котировки меня доканают

    1)Спасибо за отклик Shy.
    2)Дело в том, что Find token oftype... впрлне себе есть.
    Попробую описать алгоритм функционирования (как я его себе представляю):
    Для обмена Монет на Деньги существуют BHAV-ы с номерами от №4140 по №4148 включительно (Ghange1,Change5 ... Change1000). Для большей конкретики будем рассматривать работу банкомата на примере BHAV-а №4143 (Change25). Итак, после (glob: )Standart entry вызывается функция (priv:)Count (с первым параметром 25), эта функция высчитывает сколько денег стоят монеты, она возвращает колличество денег, которое будет добавлено на счет сима после продажи (25-ти в данном случае) монет в Temporary Storage4. Далее, по окончании функции (priv: ) Count, продолжается выполнение Change25 В следующе строчке как раз и стоит
    пресловутый Find token of type... он записывает номер токена (index?) в Temp2, колличество(count) в Temp1. Далее идет проверка Temporary Storage 1 >= Local Variable 0, а в Local Variable0 заранее записано 25.
    Таким образом Если бы не было достаточного колличества токенов, то (priv: ) Coins To Money вообще не запустился бы.
    Впрочем это, то как я себе представляю работу банкомата, а я представляю неправильно, хотябы потому, что банкомат -глючит. Создается впечатление, что Temp-ы по какой-то причине затираются. Подскажите пожалуйста, что, где, почему не так.
    Заранее благодарен.
    Последний раз редактировалось Дюкаша; 13.12.2015 в 11:51.
    Homo homini lupus est

  11. #86
    Старожил
    Легенда miXei.ru
      "Самый полезный участник раздела The Sims 2004"
    Аватар для Shy
    Регистрация
    08.10.2002
    Сообщений
    701
    Спасибо
    я - 0; мне - 57
    Gilder
    Не знаю, вроде бы ошибок в твоем файле нет... А может все-таки продублировать "Find token of type" перед "Remove token"? Еще можно вместо перехода |8|Error| поставить |8|8| и посмотреть, что будет.

    Ошибка выдается "Unefined Transition", я правильно догадался?

  12. #87
    Группа удаления
    Регистрация
    23.12.2003
    Адрес
    Москва
    Сообщений
    118
    Спасибо
    я - 0; мне - 0

    Вопрос Все та же проблема

    1)Спасибо Shy. Действительно ты прав, ошибка Unefined Transition. А если зациклить строчку саму на себя буде ошибка Too many iterations. Честно говоря, я уже не знаю, что и делать с этим безобразием. Попробую преобразовать строчку вто так:
    Manage Inventory ( 1.x Animate Object in 2.0 ) (Remove token at index with object GUID:99e81bec 0 of count 1.) {flags = 0, 0, 0, 0} - то есть без указания индекса, пусть ищет по GUID-у.
    Очень странный эффект если, как ты и предлогал поставить перед Remove token... строчку Find token... тогда все проходит прекрасно, вот только монеты из инвентаря не удаляются.
    Уточни пожалуйста строчка № 8 это что ? (просто я уже так надругался над скриптом, что у меня возможно сменилась нумерация).
    С нетерпением жду рекомендаций.
    Спасибо.
    Homo homini lupus est

  13. #88
    Старожил
    Легенда miXei.ru
      "Самый полезный участник раздела The Sims 2004"
    Аватар для Shy
    Регистрация
    08.10.2002
    Сообщений
    701
    Спасибо
    я - 0; мне - 57
    Gilder
    Я предлагал поставить 8 в той строке, про которую ты писал в посте, чтобы при неуспешном remove переход шел на ту же строчку, что и при успешном.
    Последний раз редактировалось Дюкаша; 02.07.2019 в 15:40.

  14. #89
    Старожил
    Легенда miXei.ru
      "Самый полезный участник раздела The Sims 2004"
    Аватар для Shy
    Регистрация
    08.10.2002
    Сообщений
    701
    Спасибо
    я - 0; мне - 57
    Gilder
    Я для тестирования использую Sims 1.0 (спасибо Шогалу за отличную идею). Он вполне уживается на одном диске с Makin' Magic. А вообще-то это очень интересный вопрос: что можно выкинуть из игры, чтобы она продолжала нормально работать? Я с этим когда-то разбирался, "изувечив" игру до такого состояния, что она могла только запускаться.

  15. #90
    Группа удаления
    Регистрация
    23.12.2003
    Адрес
    Москва
    Сообщений
    118
    Спасибо
    я - 0; мне - 0

    Несчастье Any Help required...

    Shy , если я правильно понял твое предложение,
    Еще можно вместо перехода |8|Error| поставить |8|8| и посмотреть, что будет.
    (ты как я понял предложил в BHAV-e #4160 Coins To Money модифицировать седьмую строчку). Если ее написать вот так:
    Manage Inventory ( 1.x Animate Object in 2.0 ) (Remove token at index stored in Temp 2 of count stored in Temp 0.) {flags = 0, 0, 0, 1}|8|8|
    то вроде бы действие сима должно завершаться, но деньги со счета будут сняты, а монет он не получит. Сам я не тестировал такой вариант, но по логике вещей развитие событий должно быть именно таким.
    До жути обидно, что с этим банкоматом творится все это безобразие. Пожалуйста, подскажите, что делать (или хотя бы где можно информации по этому поводу найти.)
    Homo homini lupus est

Страница 6 из 11 ПерваяПервая 1234567891011 ПоследняяПоследняя

Похожие темы

  1. Поздравляем победителей конкурсов Симс 2-модельер и Симс 2-декоратор!
    от Jasana в разделе The Sims 2: Изготовление скинов и предметов
    Ответов: 58
    Последнее сообщение: 19.09.2008, 00:50
  2. Изготовление штанов в бодишопе
    от Alafia в разделе The Sims 2: Изготовление скинов и предметов
    Ответов: 9
    Последнее сообщение: 06.07.2005, 14:24
  3. Изготовление скинов в PaintShopPro
    от Spika в разделе The Sims 1: Изготовление скинов и предметов
    Ответов: 12
    Последнее сообщение: 26.05.2002, 22:57

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •