Иннельда Опубликовано 2 октября, 2008 Жалоба Поделиться Опубликовано 2 октября, 2008 Адаптирую CM Partners Mod. В партнерском скрипте есть такой блок: ; TELEPORT MODE if load >= 1 && inparty == 1; Modified fix from Cecelia for double face bug. if load == 3 Enable set load to 0 RemoveScriptPackage AddScriptPackage cmFollowPlayer elseif load == 2 Disable set load to 3 elseif load == 1 set map to 0 set load to 2 endif endif if teleport == 1 && command == 0 && cmPartnersQuest.nLockNPC == 0; Teleport script for Mark and Return set teleport to 2 RemoveScriptPackage SetFactionRank NPCParty, 0 PlaySound AMBThunder if pfacing < 90; northeasterly MoveTo cmPartnersMark1, -50, -50, 10 elseif pfacing < 180; southeasterly MoveTo cmPartnersMark1, -50, 50, 10 elseif pfacing < 270; southwesterly MoveTo cmPartnersMark1, 50, 50, 10 else; northwesterly MoveTo cmPartnersMark1, 50, -50, 10 endif set teleport to 0 RemoveScriptPackage AddScriptPackage "cmStandby" SetFactionRank NPCStand, 1 SetFactionRank NPCParty, 0 elseif teleport == 1 && command == 0 && cmPartnersQuest.nLockNPC == 1 set teleport to 0 Message, "Mark and Return doesn't work here." endifСкрипт отказывается сохраняться. Пишет "Item 'cmPartnersMark1' not found for parameter ObjectReferenceID". Конкретно такого итема действительно нет, есть cmPartnersMark в списке кричеров, с количеством в КС=0. Если я правильно поняла, то когда партнеру отдается приказ поставить пометку, то на карте появляется кричер (0_о) с ID cmPartnersMark1, т.е. копия того самого cmPartnersMark. К которому потом и происходит телепортация. Вроде бы, КС должен нормально учитывать копии. В чем тут проблема? ЗЫ: В игре этот скрипт сначала работал, неписи ставили пометку и потом переносились к ней. Но после того, как КС отказался этот скрипт сохранять, в игре это перестало работать. Ссылка на комментарий Поделиться на другие сайты Поделиться
Владимир Опубликовано 3 октября, 2008 Жалоба Поделиться Опубликовано 3 октября, 2008 неуверен, но что если попробовать выкинуть на карту копию той животины, с нужным ид, после этого скрипт может скомпилироваться нормально. А когда скомпилируется - выкинутое удалить Ссылка на комментарий Поделиться на другие сайты Поделиться
Иннельда Опубликовано 3 октября, 2008 Автор Жалоба Поделиться Опубликовано 3 октября, 2008 Для пробы создала копию этого кричера - оказался грязекрабом - с ID cmPartnersMark1 и даже положила его в мир, так что его количество в КС стало =1. Теперь объект сам находится, но КС пишет: Цитата Invalid object Reference 'cmPartnersMark1' for parameter ObjectReferenceID. Та же история, если просто подставлять в скрипт ID исходного кричера (cmPartnersMark). Ссылка на комментарий Поделиться на другие сайты Поделиться
NmLs Опубликовано 3 октября, 2008 Жалоба Поделиться Опубликовано 3 октября, 2008 (изменено) Я скриптов облы незнаю, но может быть это переменная-указатель содержащая ссылку на какого либо конкретного кричера ? И может ее потеряли куданибудь. ~UpdХмм стоп! Там команда MoveTo а ето команда (по крайней мере в Моррке) для перемещения в локацию. Т.е. cmPartnersMark1 - возможно локация. Изменено 3 октября, 2008 пользователем NmLs Ссылка на комментарий Поделиться на другие сайты Поделиться
Иннельда Опубликовано 3 октября, 2008 Автор Жалоба Поделиться Опубликовано 3 октября, 2008 Нет, команда MoveTo перемещает вызывающего актера (ActorID) или персонажа игрока к местоположению указанного в виде параметра объекта (MarkerID). Параметры x, y, z — опциональное смещение в игровых единицах измерения (units) от указанного объекта. Синтаксис: [ActorID|Player.]MoveTo MarkerID, x, y, z (optional) (инфа отсюда) Скрипт висит на партнерах (у неписей и кричеров этот блок в партнерском скрипте присутствует), он для них всех общий, поэтому конкретного ActorID не прописывается. А вообще это блок, отвечающий за то, чтобы партнер ставил Пометку и возвращался к ней Возвратом. МаркеромID у нас в данном случае выступает (должен выступать) грязекраб (его ID - cmPartnersMark) или точнее одна из его созданных игрой копий (cmPartnersMark1). Когда мы приказываем партнеру поставить пометку, этот грязекраб выкидывается в мир, вероятно, куда-нить под землю, на том месте, где в данный момент стоит партнер. Когда мы потом приказываем партнеру сделать Возврат, он переносится к этому грязекрабу. Грязекраб удаляется из мира. Это если я правильно поняла механизм. (( Возможно, где-то в скрипте должно быть прописано, что cmPartnersMark - это MarkerID... Во всяком случае, похоже, КС его как MarkerID не воспринимает, раз пишет "инвалид обджект"... Ссылка на комментарий Поделиться на другие сайты Поделиться
NmLs Опубликовано 3 октября, 2008 Жалоба Поделиться Опубликовано 3 октября, 2008 (изменено) Дык может создать не-инвалидный маркер с таким же ИД ? И бывают ли в обле переменные-указатели ? Если да то почему бы не создать переменную-указатель с таким названием. Изменено 3 октября, 2008 пользователем NmLs Ссылка на комментарий Поделиться на другие сайты Поделиться
Иннельда Опубликовано 3 октября, 2008 Автор Жалоба Поделиться Опубликовано 3 октября, 2008 Откуда я знаю, каким должен быть неинвалидный маркер? Если бы знала, эту тему не стала бы создавать. Про переменные-указатели ничего не знаю. Я чайник. Ссылка на комментарий Поделиться на другие сайты Поделиться
NmLs Опубликовано 3 октября, 2008 Жалоба Поделиться Опубликовано 3 октября, 2008 Ну переменные типа ref или reference или что-то в этом роде. Можно попробовать обьявить cmPartnersMark1 как переменную.Например:ref cmPartnersMark1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Иннельда Опубликовано 3 октября, 2008 Автор Жалоба Поделиться Опубликовано 3 октября, 2008 Объявить кричера-грязекраба переменной? 0_о Ссылка на комментарий Поделиться на другие сайты Поделиться
NmLs Опубликовано 3 октября, 2008 Жалоба Поделиться Опубликовано 3 октября, 2008 Хех, мое дело предложить ) Ссылка на комментарий Поделиться на другие сайты Поделиться
Septem Опубликовано 8 октября, 2008 Жалоба Поделиться Опубликовано 8 октября, 2008 мда будет приколно зделать краба переменой :) Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти