![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
![]()
Сообщение
#3751
|
|
Миловидный Бегрюссунг ![]() Класс: Воин Характер: Chaotic Good Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
А еще такой вопрос - обязательно такой сложный скрипт писать на проверку надетого предмета у игрока или можно воспользоваться стандартным условием? Я просто скрипт у Айва посмотрела и жутко впечатлилась. Ключевое слово - жутко. Шад, я жеж делал УНИВЕРСАЛЬНЫЙ скрипт один на все. Плюс, я хотел что бы тебе было ПРОСТО его использовать. Если бы я знал, что ты буш его ковырять, то сделал бы вместо этого: Neverwinter Script // ------------- Проверка на уникальный предмет одетый ----------------- // находим одетое на игроке и определяем это object oItemNesk = GetItemInSlot(INVENTORY_SLOT_NECK, oPC); object oItemRingR = GetItemInSlot(INVENTORY_SLOT_RIGHTRING, oPC); object oItemRingL = GetItemInSlot(INVENTORY_SLOT_LEFTRING, oPC); // Смотрим свойства триггера и ищем, помечен ли таг нужной вещи string sNesk = GetLocalString(oSelf, "INVENTORY_SLOT_NECK"); // Амулет string sItemRingR = GetLocalString(oSelf, "INVENTORY_SLOT_RIGHTRING"); // Кольцо string sItemRingL = GetLocalString(oSelf, "INVENTORY_SLOT_LEFTRING"); // Кольцо // Если у нас помечено, что таг амулета не пустой if (sNesk != "") { // таг надетого амулета не сходятся или он вообще не надет то возврат скрипта if (GetTag(oItemNesk)!= sNesk || oItemNesk == OBJECT_INVALID) { SendMessageToPC(oPC, "<cу >У ВАС ОТСУТСВУЕТ НУЖНЫЙ ПРЕДМЕТ</c>"); if (GetIsObjectValid(oHench)) // Хеньчман нас предупреждает, что тут что-то есть { if(!GetLocalInt(oSelf, "HENCHMAN_SPEAK")) { SetLocalInt(oSelf, "HENCHMAN_SPEAK", TRUE); DelayCommand(0.2, AssignCommand(oHench, PlayVoiceChat(VOICE_CHAT_SEARCH))); DelayCommand(0.21, AssignCommand(oHench, SpeakString(sHench1))); } } return; } } if (sItemRingR != "") { if (GetTag(oItemRingR)!= sItemRingR || oItemRingR == OBJECT_INVALID) { SendMessageToPC(oPC, "<cу >У ВАС ОТСУТСВУЕТ НУЖНЫЙ ПРЕДМЕТ</c>"); if (GetIsObjectValid(oHench)) // Хеньчман нас предупреждает, что тут что-то есть { if(!GetLocalInt(oSelf, "HENCHMAN_SPEAK")) { SetLocalInt(oSelf, "HENCHMAN_SPEAK", TRUE); DelayCommand(0.2, AssignCommand(oHench, PlayVoiceChat(VOICE_CHAT_SEARCH))); DelayCommand(0.21, AssignCommand(oHench, SpeakString(sHench1))); } } return; } } if (sItemRingL != "") { if (GetTag(oItemRingL)!= sItemRingL || oItemRingL == OBJECT_INVALID) { SendMessageToPC(oPC, "<cу >У ВАС ОТСУТСВУЕТ НУЖНЫЙ ПРЕДМЕТ</c>"); if (GetIsObjectValid(oHench)) // Хеньчман нас предупреждает, что тут что-то есть { if(!GetLocalInt(oSelf, "HENCHMAN_SPEAK")) { SetLocalInt(oSelf, "HENCHMAN_SPEAK", TRUE); DelayCommand(0.2, AssignCommand(oHench, PlayVoiceChat(VOICE_CHAT_SEARCH))); DelayCommand(0.21, AssignCommand(oHench, SpeakString(sHench1))); } } return; } } // ------------- Проверка на уникальный предмет одетый ----------------- ВОТ ЭТО: Neverwinter Script if GetTag(GetItemInSlot(oPC, INVENTORY_SLOT_NECK)) != "Branzuletko")
return; |
![]()
Сообщение
#3752
|
|
Level 11 ![]() Класс: Волшебник Характер: Lawful Evil Раса: Эльф NWN: Скриптинг [PW] Gem of the North ![]() |
Цитата Ясно! А 1.69 вроде еще только на стадии проверки? Или уже все, можно качать и пользоваться? Ну пока он бетой зовётся, хз, когда сделают финалку (IMG:style_emoticons/kolobok_light/smile.gif) Был слух, что десятая бета и будет финалкой, на биоварях пока выложена 9я.
|
![]()
Сообщение
#3753
|
|
Level 9 ![]() Класс: Вор Характер: Chaotic Good Раса: Эльф МАСТЕР Переводов ![]() |
Ilerien, огромное спасибо! (IMG:style_emoticons/kolobok_light/thank_you.gif)
Айв, и тебе тоже! Приятно, честное слово! Конечно, я буду ковырять! Я все скрипты ковыряю (IMG:style_emoticons/kolobok_light/smile.gif) Мне же хочется знать, как это делается! Мне просто нужна такая секретная дверь, появление которой зависело бы только от наличия амулета на слоте, и ни от чего другого. Вот и пытаюсь разобраться. Ilerien, только вот какая вещь. Вот в этой строке выдает ошибку "VARIABLE DEFINED WITHOUT TYPE" Neverwinter Script if (LineOfSightObject(oSelf, oNearestCreature) && (!bNeedDetectMode || GetActionMode(oNearestCreature, ACTION_MODE_DETECT)) && GetTag(GetItemInSlot(oPC, INVENTORY_SLOT_NECK)) == "Branzuletko") И еще. Ты говоришь - убрать хартбит с видимой двери. Если я правильно поняла, видимая - это та, которая присутствует в палитре и создается, если игрок приближается к невидимому объекту, так? То есть, видимая в игре, а не в тулсе? (IMG:style_emoticons/kolobok_light/slow.gif) Сообщение отредактировал shadowdweller - Jun 27 2008, 01:20 |
![]()
Сообщение
#3754
|
|
Level 11 ![]() Класс: Волшебник Характер: Lawful Evil Раса: Эльф NWN: Скриптинг [PW] Gem of the North ![]() |
Neverwinter Script if (LineOfSightObject(oSelf, oNearestCreature) && (!bNeedDetectMode || GetActionMode(oNearestCreature, ACTION_MODE_DETECT)) && GetTag(GetItemInSlot(oNearestCreature, INVENTORY_SLOT_NECK)) == "Branzuletko") Цитата И еще. Ты говоришь - убрать хартбит с видимой двери. Если я правильно поняла, видимая - это та, которая присутствует в палитре и создается, если игрок приближается к невидимому объекту, так? То есть, видимая в игре, а не в тулсе? Она самая (IMG:style_emoticons/kolobok_light/smile.gif) Обжект в палитре зовётся "Потайная дверь".
|
![]()
Сообщение
#3755
|
|
Level 17 ![]() Класс: Волшебник Характер: Neutral Good Раса: Человек NWN: Скриптинг [PW] Axistown SR 1.9 NWNX ![]() |
Ну пока он бетой зовётся, хз, когда сделают финалку (IMG:style_emoticons/kolobok_light/smile.gif) Был слух, что десятая бета и будет финалкой, на биоварях пока выложена 9я. Десятая бета как раз выложена. Финалкой будет 11-я, которая отличается только одним фиксом.
|
![]()
Сообщение
#3756
|
|
Level 3 ![]() Класс: Клерик Характер: Chaotic Good Раса: Эльф ![]() |
Десятая бета как раз выложена. Финалкой будет 11-я, которая отличается только одним фиксом. Спасибо! Значит, заморачиваться с попытками надеть эти плащи пока просто не стоит... И еще, безотносительно ко всему предыдущему вопрос: как сделать так, чтобы при юзании однго из нескольких юзабл прейсеблов, остальные делались бы неюзабл? Чтоб получалось, чо выбрал один раз - и все, больше не повыбираешь? (примерно как было в HotU в комнате зеркал, тока что там из инвентаря в зеркале выбирать, а тут плейсеблы) |
![]()
Сообщение
#3757
|
|
Level 9 ![]() Класс: Вор Характер: Chaotic Good Раса: Эльф МАСТЕР Переводов ![]() |
Neverwinter Script if (LineOfSightObject(oSelf, oNearestCreature) && (!bNeedDetectMode || GetActionMode(oNearestCreature, ACTION_MODE_DETECT)) && GetTag(GetItemInSlot(oNearestCreature, INVENTORY_SLOT_NECK)) == "Branzuletko") 27.06.2008 13:28:35: Error. 'il_scdoor_hb_1' did not compile. il_scdoor_hb_1.nss(59): ERROR: DECLARATION DOES NOT MATCH PARAMETERS (IMG:style_emoticons/kolobok_light/cray.gif) |
![]()
Сообщение
#3758
|
|
Level 11 ![]() Класс: Волшебник Характер: Lawful Evil Раса: Эльф NWN: Скриптинг [PW] Gem of the North ![]() |
Цитата Десятая бета как раз выложена. Финалкой будет 11-я, которая отличается только одним фиксом Я отстал от жизни (IMG:style_emoticons/kolobok_light/sad.gif) Цитата ERROR: DECLARATION DOES NOT MATCH PARAMETERS Neverwinter Script GetItemInSlot(INVENTORY_SLOT_NECK, oNearestCreature) Н-да, ну не помню я порядок аргументов (IMG:style_emoticons/kolobok_light/blush.gif) А смотреть хелп в тулсе было влом (IMG:style_emoticons/kolobok_light/snoozer_17.gif)
|
![]()
Сообщение
#3759
|
|
Миловидный Бегрюссунг ![]() Класс: Воин Характер: Chaotic Good Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
shadowdweller, скриптинг для шардов совсем другой. Не парь мозги, поставь так и будет работать:
Neverwinter Script if (LineOfSightObject(oSelf, GetFirstPC()) && (!bNeedDetectMode || GetActionMode(GetFirstPC(), ACTION_MODE_DETECT)) && GetTag(GetItemInSlot(GetFirstPC(), INVENTORY_SLOT_NECK)) == "Branzuletko")
|
![]()
Сообщение
#3760
|
|
Level 9 ![]() Класс: Друид Характер: True Neutral Раса: Эльф NWN: Скриптинг [PW] Амен ![]() |
Lirulin, на тех зеркалах, если не ошибаюсь, случайным образом накладывались различные эффекты. Чтобы зеркало считалось уже использованным, на него можно повесить "флаг" (переменную), которая не позволит сработать висящему на событии объекта OnUsed скрипту. Если объекты сделаны по маске (pl_mirror_01, pl_mirror_02, pl_mirror_03, pl_mirror_04 ...), то все остальные объекты можно сделать неиспользуемыми с помощью цикла, который прогонит данные объекты через себя и поставит на каждый флажок, запрещающий запускаться скрипту.
shadowdweller, только наоборот: Neverwinter Script GetTag(GetItemInSlot(INVENTORY_SLOT_NECK, GetFirstPC()))
|
![]()
Сообщение
#3761
|
|
Level 12 ![]() Класс: Оборотень Характер: Chaotic Neutral Раса: Нежить NWN: Скриптинг [Sn] ![]() |
Цитата как сделать так, чтобы при юзании однго из нескольких юзабл прейсеблов, остальные делались бы неюзабл? Чтоб получалось, чо выбрал один раз - и все, больше не повыбираешь? Neverwinter Script // Set oPlaceable's useable object status. // Note: Only works on non-static placeables. void SetUseableFlag(object oPlaceable, int nUseableFlag) нэ? если не прокатит - всегда можно старые уничтожить и создать новые неюзабельные. |
![]()
Сообщение
#3762
|
|
Миловидный Бегрюссунг ![]() Класс: Воин Характер: Chaotic Good Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
shadowdweller, только наоборот: Neverwinter Script GetTag(GetItemInSlot(INVENTORY_SLOT_NECK, GetFirstPC())) Вот поэтому у тебя наверняка и не компелится твой скрипт. Я же правил твою строку без редактора. Ты наверное перепутала местами аргументы функции. Это я Шад... (IMG:style_emoticons/kolobok_light/smile.gif) |
![]()
Сообщение
#3763
|
|
Level 9 ![]() Класс: Вор Характер: Chaotic Good Раса: Эльф МАСТЕР Переводов ![]() |
Н-да, ну не помню я порядок аргументов А смотреть хелп в тулсе было влом [только наоборот: Neverwinter Script GetTag(GetItemInSlot(INVENTORY_SLOT_NECK, GetFirstPC())) Вот поэтому у тебя наверняка и не компелится твой скрипт. Я же правил твою строку без редактора. Ты наверное перепутала местами аргументы функции. Это моя вина (IMG:style_emoticons/kolobok_light/smile.gif) Вот что мне стоило зайти в тулсет и самой посмотреть эти грешные аргументы! А я испугалась, что что-нибудь вообще насовсем испорчу... Да, в обратном порядке действительно компилится. Спасибо! ЗЫ: Урра! (IMG:style_emoticons/kolobok_light/yahoo.gif) Все работает! Ilerien, Aiwan, спасибо огромное, что мучаетесь со мной. ЗЗЫ: И еще такой вопрос - скрипты применимы только к одной паре дверей? То есть можно ли использовать одни и те же скрипты для каждой пары дверей на одной и той же локации? Или нужно каждый раз их перенастраивать для каждой конкретной пары? Сообщение отредактировал shadowdweller - Jun 28 2008, 13:51 |
![]()
Сообщение
#3764
|
|
Level 3 ![]() Класс: Клерик Характер: Chaotic Good Раса: Эльф ![]() |
Zirrex, azathoth, спасибо, я попробую!
azathoth, а куда вешать скрипт? Чтобы зеркало считалось уже использованным, на него можно повесить "флаг" (переменную), которая не позволит сработать висящему на событии объекта OnUsed скрипту. Если объекты сделаны по маске (pl_mirror_01, pl_mirror_02, pl_mirror_03, pl_mirror_04 ...), то все остальные объекты можно сделать неиспользуемыми с помощью цикла, который прогонит данные объекты через себя и поставит на каждый флажок, запрещающий запускаться скрипту. Куда и как вешать флаги? На OnUsed уже висит - к нему прибавить? А объекты имеют тэги примерно name1_statue, name2_statue... и .д. И по идее, когда поюзаешь, она сама пропадает. А вот другие должны оставаться... но не юзаться более. |
![]()
Сообщение
#3765
|
|
Level 11 ![]() Класс: Волшебник Характер: Lawful Evil Раса: Эльф NWN: Скриптинг [PW] Gem of the North ![]() |
Цитата И еще такой вопрос - скрипты применимы только к одной паре дверей? То есть можно ли использовать одни и те же скрипты для каждой пары дверей на одной и той же локации? Или нужно каждый раз их перенастраивать для каждой конкретной пары? Все настраивается в самих дверях, я в мануале описывал (IMG:style_emoticons/kolobok_light/wink3.gif) Просто теги нужны разные для каждой двери.Цитата Куда и как вешать флаги? Поставить галочку "используемый" (IMG:style_emoticons/kolobok_light/smile.gif) Снимать юзабл флаг у остальных - тоже в onUse. Сообщение отредактировал Ilerien - Jun 28 2008, 22:48 |
![]()
Сообщение
#3766
|
|
Level 9 ![]() Класс: Вор Характер: Chaotic Good Раса: Эльф МАСТЕР Переводов ![]() |
Все настраивается в самих дверях, я в мануале описывал (IMG:style_emoticons/kolobok_light/wink3.gif) Просто теги нужны разные для каждой двери. Звиняюсь. Моя сегодня тупой тролль. (IMG:style_emoticons/kolobok_light/orc.gif) |
![]()
Сообщение
#3767
|
|
Level 3 ![]() Класс: Клерик Характер: Chaotic Good Раса: Эльф ![]() |
|
![]()
Сообщение
#3768
|
|
Level 9 ![]() Класс: Обыватель Характер: Lawful Good Раса: Человек NWN: Модмейкер Рыцарская Сага ![]() |
А можно поподробнее, как это сделать так, чтобы не получилось, как у Xfans - объект пропал, и скрипт, висящий на нем перестает выполняться? Поставить это действие ДО DestroyObject? Пожалуйста… Количество плейсов может быть любым, останется только один юзабельным, т.е. который мы откроем. Что с ним делать – это уж ваши проблемы. Другие, с такими же тегами в этой области, заменятся плейсами из палитры. Neverwinter Scriptnss1// Set oPlaceable's useable object status.// Note: Only works on non-static placeables.void SetUseableFlag(object oPlaceable, int nUseableFlag)nss2nss3нэ?если не прокатит - всегда можно старые уничтожить и создать новые неюзабельные. Что-то этой функции в моем тулсете нет… Neverwinter Script //:://////////////////////////////////////////////
//:: Слот: OnUsed //:: File name: us_place_destroy //::////////////////////////////////////////////// void main() { object oPC = GetLastUsedBy(); int nNth; // Номер плейса string sTag = GetTag(OBJECT_SELF); object oPlace = GetNearestObject(OBJECT_TYPE_PLACEABLE, OBJECT_SELF, nNth); // Ближайший плейс if(GetLocalInt(OBJECT_SELF, "DESTROY")==1) return; // Если скрипт сработал - выход while(GetIsObjectValid(oPlace)) { if(GetTag(oPlace) == sTag && GetLocalInt(oPlace, "DESTROY")==0) // Если совпали теги { SetLocalInt(oPlace,"DESTROY",1); // Вешаем локалку string sResRef = GetResRef(oPlace); // ResRef неюзабельного плейса в палитре location Loc = GetLocation(oPlace); //Заменим плейс на неюзабельный из палитры object oPlaceNew = CreateObject(OBJECT_TYPE_PLACEABLE, sResRef, Loc, FALSE, "NEW_"+sTag); AssignCommand(oPC, SpeakString(GetName(oPlaceNew)+" "+IntToString(nNth))); // Фраза-Контроль DestroyObject(oPlace); // Удалим юзабельный плейс } nNth++; oPlace = GetNearestObject(OBJECT_TYPE_PLACEABLE, OBJECT_SELF, nNth); } //ТУТ ПИШЕМ ЧТО ДОЛЖНО ПРОИЗОЙТИ С ЮЗАБЕЛЬНЫМ ПЛЕЙСОМ SetLocalInt(OBJECT_SELF,"DESTROY",1); // Вешаем локалку } /* Теги всех удаляемых плейсов должны быть одинаковые. РесРефы в палитре неюзабельных плейсов должны совпадать с юзабельными. */ |
![]()
Сообщение
#3769
|
|
Level 3 ![]() Класс: Обыватель Характер: Neutral Good Раса: Человек ![]() |
|
![]()
Сообщение
#3770
|
|
Level 11 ![]() Класс: Волшебник Характер: Lawful Evil Раса: Эльф NWN: Скриптинг [PW] Gem of the North ![]() |
Цитата А не знаете, будет ли там поправлен еще один глючок, связанный с плащами - а именно то, что у существ с крыльями наличие плаща начисто убирает эти крылья? Это не глюк (IMG:style_emoticons/kolobok_light/smile.gif) Желаемый результат можно достичь редактированием cloakmodel.2da.Цитата Что-то этой функции в моем тулсете нет… (IMG:style_emoticons/kolobok_light/shok.gif) Как-то всё сложно о.ОNeverwinter Script const int PLACEABLE_QUANTITY = <количество обжектов>; Хы, <nss> не признаёт слово continue (IMG:style_emoticons/kolobok_light/whistle3.gif) void main() { object oPC = GetLastUsedBy(); //в приведённом ниже эта переменная не нужна, но, наверное, понадобится дальше object oSelf = OBJECT_SELF; string sTag = GetTag(oSelf); //теги что-то вроде "object_01", "object_02", etc. Bажен только двухсимвольный номер (IMG:style_emoticons/kolobok_light/smile.gif) int nNumberSelf = StringToInt(GetStringRight(sTag, 2)); string sBase = GetStringLeft(sTag, GetStringLength(sTag) - 2); int nNumber; string sNumber; for(nNumber = 1; nNumber <= PLACEABLE_QUANTITY; nNumber++) { if(nNumber == nNumberSelf) continue; sNumber = IntToString(nNumber); if(nNumber < 10) sNumber = "0" + sNumber; SetUseableFlag(GetObjectByTag(sBase + sNumber), FALSE); } <тут прописываем, что должно происходить при юзе плейса> } Цитата А можно поподробнее, как это сделать так, чтобы не получилось, как у Xfans - объект пропал, и скрипт, висящий на нем перестает выполняться? DestroyObject всё равно выполняется после того, как завершится вызвавший его скрипт. Если в скрипте ничего не заделеено, можно смело применять эту функцию на вызвавший скрипт обжект и не париться. Всё заделеенное нужно перекидывать на любой 100%-но валидный обжект - модуль/локу/игрока/...
Сообщение отредактировал Aiwan - Jun 30 2008, 23:13 |
![]()
Сообщение
#3771
|
|
Level 3 ![]() Класс: Клерик Характер: Chaotic Good Раса: Эльф ![]() |
Neverwinter Script const int PLACEABLE_QUANTITY = <количество обжектов>; ... //теги что-то вроде "object_01", "object_02", etc. Bажен только двухсимвольный номер (IMG:style_emoticons/kolobok_light/smile.gif) ... <тут прописываем, что должно происходить при юзе плейса> } Количество включая юзаемый? То есть мне, к тегам, которые есть, надо добавить порядковые номера, видом 01, 02 и т.д.? А то, что при юзе плейса - это как раз изначально стоявший OnUsed скрипт? |
![]()
Сообщение
#3772
|
|
Level 9 ![]() Класс: Друид Характер: True Neutral Раса: Эльф NWN: Скриптинг [PW] Амен ![]() |
gennady, скрипт, который ты привел выше, будет тормозить, и к тому же не стоит вкладывать в цикл такие вещи:
Neverwinter Script object oPlaceNew = CreateObject(OBJECT_TYPE_PLACEABLE, sResRef, Loc, FALSE, "NEW_"+sTag); без хотя бы маленькой задержки. Функция CreateObject довольно медленная, и точно также, как и DestroyObject, срабатывает не сразу, поэтому может привести к тормозу. Если бы так создавались живые объекты (НПС), то скрипт завершился бы ошибкой "Слишком много инструкций". Да, переменная nNth у тебя равна FALSE, хотя, если посмотреть саму функцию, то она по умолчанию равна 1 (сомневаюсь, что цикл сработает правильно при первом лупе). Потом, а зачем в теле цикла ты при каждом новом лупе определяешь переменные? Все это должно описываться перед циклом в самом начале кода. Lirulin, под флагами подразумеваются "переменные". Вешаются они на тот объект, с которым производится операция. Скрипт, который привел Ilerien выше, включает все нужные тебе объекты. Чтобы скрипт изменил им статус с "Use" на "Not Use", необходимо у каждого объекта сделать одинаковый тэг, в котором в самом конце изменить номер, начиная от 01 и заканчивая номером последнего объекта. Скрипт вешается на событие OnUsed каждогообъекта. Ilerien, Цитата Хы, <nss> не признаёт слово continue оно довольно редко используется в скриптах. А вообще, недочет (IMG:style_emoticons/kolobok_light/smile.gif) Кстати, скриптик прикольный. Я такими вещами часто пользуюсь, когда нужно составить из мелких символов, раскиданных по объектам нужный тэг. Коротко и сердито, и главное, нужен всегда всего лишь один скрипт (IMG:style_emoticons/kolobok_light/smile.gif) Xfans, а почему глюк? Плащ как бы закрывает крылья. Торчащие крылья через плащ, очень странное явление. То что они торчат через броню, еще страннее (IMG:style_emoticons/kolobok_light/smile.gif) Сообщение отредактировал Zirrex - Jun 29 2008, 22:14 |
![]()
Сообщение
#3773
|
|
Level 11 ![]() Класс: Волшебник Характер: Lawful Evil Раса: Эльф NWN: Скриптинг [PW] Gem of the North ![]() |
Цитата Количество включая юзаемый? Включая. Там в цикле специальная проверка на то, чтобы с обжектом, который мы юзаем, ничего не случилось Если нужно, её можно убрать (IMG:style_emoticons/kolobok_light/smile.gif) Вот проверка:То есть мне, к тегам, которые есть, надо добавить порядковые номера, видом 01, 02 и т.д.? А то, что при юзе плейса - это как раз изначально стоявший OnUsed скрипт? Neverwinter Script if(nNumber == nNumberSelf) Тег отдельного плейсебла должен состоять из базы (любой, в примере "object_"), одинаковой для _всех_ таких плейсеблов, и двухсимвольного номера, начиная с "01".continue; Цитата Функция CreateObject довольно медленная, и точно также, как и DestroyObject, срабатывает не сразу, поэтому может привести к тормозу. У меня такое было, когда в цикле на вейпоинтах создавались камни завала при заходе существа на триггер (IMG:style_emoticons/kolobok_light/smile.gif) Сервер-то это ещё проглотит (хотя, в зависимости от количества обжектов), а вот в сингле будут тормоза, потому что там одна машина является сервером и клиентом одновременно, да и сама машина слабее любого шардового сервера.
|
![]()
Сообщение
#3774
|
|
Level 3 ![]() Класс: Обыватель Характер: Neutral Good Раса: Человек ![]() |
Это не глюк (IMG:style_emoticons/kolobok_light/smile.gif) Желаемый результат можно достичь редактированием cloakmodel.2da. Спасибо! Покопаем и найдем! Xfans, а почему глюк? Плащ как бы закрывает крылья. Торчащие крылья через плащ, очень странное явление. То что они торчат через броню, еще страннее (IMG:style_emoticons/kolobok_light/smile.gif) В том-то и дело, что раз уж они через броню торчат... наверное, подразумевается, что крылатые существа заказывают себе спец. броню с дырками для крыльев (IMG:style_emoticons/kolobok_light/biggrin.gif) (бывает же броня, через которую виден хвост(IMG:style_emoticons/kolobok_light/biggrin.gif) ). А если плащ прикроет крылья, будет порядочный горб. Ну ладно, это все тонкости, и уже не по теме. Просто должны же у ангела крылья торчать, чтоб было видно, что он ангел и есть. Сообщение отредактировал Xfans - Jun 30 2008, 06:07 |
![]()
Сообщение
#3775
|
|
Level 3 ![]() Класс: Клерик Характер: Chaotic Good Раса: Эльф ![]() |
У меня такое было, когда в цикле на вейпоинтах создавались камни завала при заходе существа на триггер (IMG:style_emoticons/kolobok_light/smile.gif) Сервер-то это ещё проглотит (хотя, в зависимости от количества обжектов), а вот в сингле будут тормоза, потому что там одна машина является сервером и клиентом одновременно, да и сама машина слабее любого шардового сервера. Ну, наверное создание одного паршивого NPC и убрание одной не менее паршивой статуи - это все же посильная задача для простого компа=) Вроде не виснет. Но спасибо за предупреждение, что много object'ов сразу ни destroy, ни create делать не надо. Lirulin, под флагами подразумеваются "переменные". Вешаются они на тот объект, с которым производится операция. Ну, это-то я уже усек, что флаг - это переменная. Просто вешать их пока не научился=)Но с такими подробными объяснениями скоро научусь! Сообщение отредактировал Lirulin - Jun 30 2008, 12:12 |
![]() ![]() |
Текстовая версия | Сейчас: 28th April 2025 - 15:40 |