![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
![]() ![]()
Сообщение
#2061
|
|
Level 5 ![]() ![]() Класс: Друид Характер: Neutral Good Раса: Человек ![]() |
У меня вопрос.Как в он спаун одного непися, сделать анимацыю другого непися?
К примеру:После того как непись поздаровался (Аним преветствия) другой непись поклонился (Аним поклон)? |
![]()
Сообщение
#2062
|
|
Level 19 ![]() Класс: Воин Характер: Lawful Good Раса: Человек NWN: Скриптинг [Sn] ![]() |
Артём, тебе ведь уже писали.
NSS object oNPC = OBJECT_SELF;//это тот на ком стоит скрипт object oNPC1 = GetOBjectByTag("ТАГ");//это тот другой //непись, нак отором стоит скрипт, что-то делает. //2.0 - время, через которое нужно выполнить действие. Ставь скока там надо. //AssignCommand - дать команду oNPC. //ActionPlayAnimation - команда проиграть анимацию DelayCommand(2.0, AssignCommand(oNPC, ActionPlayAnimation(ТУТ_НУЖНАЯ _АНИМАЦИЯ))); //другая непись что-то делает //2.0 - время, через которое нужно выполнить действие. Ставь скока там надо. //AssignCommand - дать команду oNPC. //ActionPlayAnimation - команда проиграть анимацию DelayCommand(3.0, AssignCommand(oNPC1, ActionPlayAnimation(ТУТ_НУЖНАЯ _АНИМАЦИЯ))); Читай на форуме тему по анимации! ТУТ Сообщение отредактировал -fenix- - Mar 19 2006, 12:32 |
![]() ![]()
Сообщение
#2063
|
|
Level 5 ![]() ![]() Класс: Друид Характер: Neutral Good Раса: Человек ![]() |
Феникс я написал так как ты сказал.Но всеровно анимацыя второго неиграит.
NSS void main()
{ object oNPC = OBJECT_SELF; object oNPC1 = GetOBjectByTag("GAD_3"); DelayCommand(2.0, AssignCommand(oNPC, ActionPlayAnimation(ANIMATION_LOOPING_LISTEN,1.0,3.0f)));; DelayCommand(0.5, SpeakString("?? ??… ??????? ????????, ??? ???? !")); DelayCommand(PlaySound("vs_favhen5m_say")(IMG:style_emoticons/kolobok_light/wink3.gif) ; DelayCommand(3.0, AssignCommand(oNPC1, ActionPlayAnimation(ANIMATION_LOOPING_LISTEN,1.0,3.0f))); object oNPC=GetObjectByTag("GAD_3"); DelayCommand(3.5, AssignCommand(oNPC, SpeakString("? ??????? ??? ?? ?????? ????????!"))); DelayCommand(2.0, AssignCommand(oNPC, ActionPlayAnimation(ANIMATION_LOOPING_LISTEN,1.0,3.0f))); DelayCommand(6.5, SpeakString("?? ??? ?????? ????? !")); DelayCommand(PlaySound("vs_favhen5m_yes")(IMG:style_emoticons/kolobok_light/wink3.gif) ; } |
![]()
Сообщение
#2064
|
|
Level 6 ![]() Класс: Некромант Характер: Chaotic Evil Раса: Нежить NWN: Скриптинг [PW] ![]() |
QUOTE DelayCommand(PlaySound("vs_favhen5m_say"); - неправельно QUOTE object oNPC = OBJECT_SELF; ... object oNPC=GetObjectByTag("GAD_3"); - неправельно QUOTE object oNPC1 = GetOBjectByTag("GAD_3"); - неправельно научись смотреть на ошибки компилятора.. 1. DelayCommand, 1й аргумент всегда время через которое действие будет воспроизводится! 2. нельзя так делать..если хочеш переменой задать другое значение, то тип нельзя указывать( object oPC = GetEnteringObject(); ... oPC=GetExitingObject(); к примеру) 3. компилятор различает регистр..( GETENTERINGOBJECT() - неправельно, GetEnteringObject() - правельно.... )... GetObjectByTag надо... З.Ы. QUOTE object oNPC = OBJECT_SELF; необязательноQUOTE object oNPC = OBJECT_SELF; object oNPC1 = GetOBjectByTag("GAD_3"); .. object oNPC=GetObjectByTag("GAD_3"); брет... Сообщение отредактировал [MoF]Darth_Nick - Mar 19 2006, 23:10 |
![]()
Сообщение
#2065
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
QUOTE(Артём @ Mar 19 2006, 22:32) [snapback]73339[/snapback] Феникс я написал так как ты сказал.Но всеровно анимацыя второго неиграит. а ЭТО скомпилировалось? (IMG:style_emoticons/kolobok_light/shok.gif) |
![]()
Сообщение
#2066
|
|
Level 19 ![]() Класс: Воин Характер: Lawful Good Раса: Человек NWN: Скриптинг [Sn] ![]() |
Артём, вот так все компилируется, но явно не работает правильно, ибо разобраться кто у тебя когда что делает не представляется возможным - это сам правь.
NSS void main() { object oNPC = OBJECT_SELF; object oNPC1 = GetObjectByTag("GAD_3"); object oNPC2 = GetObjectByTag("GAD_4"); DelayCommand(2.0, AssignCommand(oNPC, ActionPlayAnimation(ANIMATION_LOOPING_LISTEN,1.0,3.0f))); DelayCommand(0.5, SpeakString("?? ??… ??????? ????????, ??? ???? !")); DelayCommand(2.0, PlaySound("vs_favhen5m_say")); DelayCommand(3.0, AssignCommand(oNPC1, ActionPlayAnimation(ANIMATION_LOOPING_LISTEN,1.0,3.0f))); DelayCommand(3.5, AssignCommand(oNPC, SpeakString("? ??????? ??? ?? ?????? ????????!"))); DelayCommand(2.0, AssignCommand(oNPC, ActionPlayAnimation(ANIMATION_LOOPING_LISTEN,1.0,3.0f))); DelayCommand(6.5, SpeakString("?? ??? ?????? ????? !")); DelayCommand(2.0, PlaySound("vs_favhen5m_yes")); } Пара пояснений: 1) object oNPC1 = GetObjectByTag("GAD_3"); object - тип переменной, вданном случае указывает, что в данной переменной хранится объект. oNPC1 - имя переменной с префиксом. Имя - вещь уникальная, двух переменных с одним именем быть не может. Точнее может, но это совсем не надо, ибо последняя заменяет первую. У тебя есть такая ошибка NSS object oNPC = OBJECT_SELF; object oNPC=GetObjectByTag("GAD_3"); GetObjectByTag("GAD_3") - функция, которая "помещает" в переменную объект с тегом GAD_3. И такая ошибка NSS object oNPC1 = GetObjectByTag("GAD_3"); object oNPC=GetObjectByTag("GAD_3"); 2) DelayCommand(2.0, PlaySound("vs_favhen5m_yes")); Надо указывать время, через которое будет выполнена команда. Я поставил 2.0 - ставь скока надо. 3) Следи за кол-вом скобок - слева и справа их должно быть одинаково и за кол-вом ";" - должна быть одна в строке. Прочитай темку, на которую я дал тебе ссылку, а еще вот ЭТУ, ЭТУ и ЭТУ. |
![]() ![]()
Сообщение
#2067
|
|
Level 5 ![]() ![]() Класс: Друид Характер: Neutral Good Раса: Человек ![]() |
Теперь я понял свои глупые ошибки.
Спосибо! |
![]()
Сообщение
#2068
|
|
Level 8 ![]() ![]() ![]() Класс: Тайный Лучник Характер: Lawful Good Раса: Эльф ![]() |
Привет,
Такая вот проблемка, нужно сделать невидимую дверь... Но невидимая до тех пор, пока о ней не розкажет НПС. Надеюсь, что это можно сделать скриптами... |
![]()
Сообщение
#2069
|
|
Level 6 ![]() Класс: Некромант Характер: Chaotic Evil Раса: Нежить NWN: Скриптинг [PW] ![]() |
вешаеш на дверь cutscene_invis, потом убираеш
NSS effect eVis = EffectVisualEffect(VFX_DUR_CUTSCENE_INVISIBILITY); object oDoor = GetObjectByTag(""); // or OBJECT_SELF ApplyEffectToObject(DURATION_TYPE_PERMANENT,eVis,oDoor); потом к примеру NSS object oDoor = GetObjectByTag(""); // or OBJECT_SELF
RemoveEffect(oDoor,GetFirstEffect(oDoor)); Сообщение отредактировал [MoF]Darth_Nick - Mar 20 2006, 17:56 |
![]()
Сообщение
#2070
|
|
Level 19 ![]() Класс: Воин Характер: Lawful Good Раса: Человек NWN: Скриптинг [Sn] ![]() |
QUOTE(Nashman @ Mar 20 2006, 16:24) [snapback]73434[/snapback] Такая вот проблемка, нужно сделать невидимую дверь... Но невидимая до тех пор, пока о ней не розкажет НПС. Надеюсь, что это можно сделать скриптами... Какая дверь? Ну вообще можно создавать в нужном месте из палитры секретную дверь(эт которая вместе с рамой), вот и все. Так пойдет? |
![]() ![]()
Сообщение
#2071
|
|
Level 5 ![]() ![]() Класс: Друид Характер: Neutral Good Раса: Человек ![]() |
У меня как всегда очередной глупый вопрос! Какой нежно написать скрипт чтобы убить нужных мне неписей, желательно с каким-нибудь эффектом.
У меня как всегда очередной глупый вопрос! Какой нежно написать скрипт чтобы убить нужных мне неписей, желательно с каким-нибудь эффектом. |
![]()
Сообщение
#2072
|
|
Level 6 ![]() Класс: Некромант Характер: Chaotic Evil Раса: Нежить NWN: Скриптинг [PW] ![]() |
хыть так:
NSS object oNPC = GetObjectByTag("some"); // можно и Nearest effect eEff = EffectDeath(); ApplyEffectToObject(DURATION_TYPE_INSTANT,eEff ,oNPC); еффект аналогично, но eEff будет равен EffectVisualEffect(константа VFX_*) от еффекта зависит еще его продолжительность DURATION_TYPE_* еще полезная ф-ция: NSS // Link the two supplied effects, returning eChildEffect as a child of
// eParentEffect. // Note: When applying linked effects if the target is immune to all valid // effects all other effects will be removed as well. This means that if you // apply a visual effect and a silence effect (in a link) and the target is // immune to the silence effect that the visual effect will get removed as well. // Visual Effects are not considered "valid" effects for the purposes of // determining if an effect will be removed or not and as such should never be // packaged *only* with other visual effects in a link. effect EffectLinkEffects(effect eChildEffect, effect eParentEffect ) Сообщение отредактировал [MoF]Darth_Nick - Mar 21 2006, 00:17 |
![]()
Сообщение
#2073
|
|
Level 5 ![]() ![]() Класс: Друид Характер: Neutral Good Раса: Человек ![]() |
Понятно
|
![]()
Сообщение
#2074
|
|
Level 8 ![]() ![]() ![]() Класс: Тайный Лучник Характер: Lawful Good Раса: Эльф ![]() |
QUOTE Ну вообще можно создавать в нужном месте из палитры секретную дверь(эт которая вместе с рамой), вот и все. Так пойдет А как ею управлять? ТОесть загружается обл. и двери нету, а после разговора с НПС дверь есть?
|
![]()
Сообщение
#2075
|
|
Level 9 ![]() Класс: Друид Характер: True Neutral Раса: Эльф NWN: Скриптинг [PW] Амен ![]() |
Nashman, по окончании разговора делается скриптовая проверка, есть ли нужный объект в области, если нет, создать его там, где необходимо. В момент перехода через такую дверь, поставить скрипт на действие OnUsed, чтобы удалить дверь.
|
![]() ![]()
Сообщение
#2076
|
|
Level 5 ![]() ![]() Класс: Друид Характер: Neutral Good Раса: Человек ![]() |
У МЕНЯ ВОПРОС.Напишыте пожалуйста скрипт эффекта невидемости каторый накладывается на игрока и действует постоянно
|
![]()
Сообщение
#2077
|
|
Level 19 ![]() Класс: Воин Характер: Lawful Good Раса: Человек NWN: Скриптинг [Sn] ![]() |
NSS void main() { object oTarget = GetFirstPC();//игрок effect eInvisibility = EffectInvisibility(INVISIBILITY_TYPE_NORMAL);//эффект невидимости ApplyEffectToObject(DURATION_TYPE_PERMANENT, eInvisibility, oTarget);//непосредственно наложение эффекта // DURATION_TYPE_PERMANENT - эффект будет действовать постоянно } Этот эффект невидимости снимется если начнется бой. Чтобы такого не было нужно INVISIBILITY_TYPE_NORMAL заменить на INVISIBILITY_TYPE_IMPROVED, а чтобы еще и иконка не отображалась, что на чаре невидимость(или я не так понял?), поставь INVISIBILITY_TYPE_DARKNESS. |
![]()
Сообщение
#2078
|
|
Level 5 ![]() ![]() Класс: Друид Характер: Neutral Good Раса: Человек ![]() |
Понятно.
|
![]()
Сообщение
#2079
|
|
Level 6 ![]() Класс: Некромант Характер: Chaotic Evil Раса: Нежить NWN: Скриптинг [PW] ![]() |
пара фиксоф(может пригодится кому...)(хотя не тестировал..лень)
NSS // 1 из десятка способоф убийства в ноу пвп.. просто сбить экшен атаки void dn_NoPvPE(object oPC) { if(GetCurrentAction(oPC) == ACTION_ATTACKOBJECT) DelayCommand(1.0,AssignCommand(oPC,ClearAllActions(TRUE))); } NSS // ну эт думаю ясно... object oPC = GetEnteringObject(); if(GetXP(oPC) == 0) { SetXP(oPC,1); BootPC(oPC); } NSS // сбить Байл тайд при заходе void dn_BTFix(object oPC) { if(GetHasSpellEffect(SPELL_BATTLETIDE,oPC)) RemoveSpellEffects(SPELL_BATTLETIDE,oPC,oPC); } NSS // должно пахать..проверять лень void dn_dmhookFix(object oPC) { object oItem=GetFirstItemInInventory(oPC); int i; int nGold = GetGold(oPC); if(GetXP(oPC) == 0) { while(GetIsObjectValid(oItem)) { DestroyObject(oItem); oItem=GetNextItemInInventory(oPC); } if(nGold) TakeGoldFromCreature(nGold,oPC,TRUE); for(i=0; i<18; i++) { object oEquipItem = GetItemInSlot(i,oPC); if(GetIsObjectValid(oEquipItem)) DestroyObject(oEquipItem); } SendMessageToPC(oPC,"сцуко-читор! пишем в лог и бутаем"); WriteTimestampedLogEntry("ахтуцнк! сцукочитор: "+GetPCPlayerName(oPC)+"; IP: "+GetPCIPAddress(oPC)+"; Public Key:"+GetPCPublicCDKey(oPC)); DelayCommand(1.0,BootPC(oPC)); } } ну дальше тестово можно.. стойку ДД переписывать надо стандартный крафт лучше убрать(если СЕР вдвойне советую убрать) при одевании шмота вешать дикрис атаки и спел фелчар(скрипт стер случайно..заного писать лень) монкам поставить имун к спид дикризу и т.д.(слишком много способов активировать багу)(лучше фит вырубить еще) смеху наташи(ничего личного) поставить чек на алаймент помойму надо спелл хуком проверять контрл спелл и ставить ПЦ паралайз или другой изврат пересмотреть полиморф с рассой дварфа убрать шмотье с экстра турнингом(или пофиксить, когда пал одевает) если есть афтофолоу на шарде либо убрать, либо запретить юз на земле двери стараться заменять переходами между ними открыть скрипт x0_s0_light, закоментить\etc вешанье постоянного еффекта на палку.. скрипт x2_s2_ruin, поставить чек на локу скрипт x2_s2_hellball, поставить чек на локу ну поправить половина нвновских спеллов это думаю ясно чекать апиренс входящего, если надо изменять\бутить чекать акк входящего, особенно несколько первых символов вызов балора запретить читать в ноу пвп грабли ПМа тоже запретить в ноу пвп\или убрать вроде еще когда кастуется шш и дез вард, дез вард при диспеле не слетает(хтя хз) клир сам себя убить еще может без спасов дыркой(имплозией) щас уже не помню, была еще зрень выкидывания одеваемого нон дроп айтема.. еще осталось, но либо лень называть, либо нету желания оглашать общественность, либо они скриптами не фиксятцо скрипты эти писал очень давно(когда бы нубом(хотя помойму им и остался (IMG:style_emoticons/kolobok_light/smile.gif) )), так что могут быть ошибки и т.д... переправлять лень © я credits: 2_advanced (грех не написать), axistown(начало багаюза), cormyrean(продолжение и собственно конец) еще чет хотел...забыл..пойду спать ) Сообщение отредактировал [MoF]Darth_Nick - Mar 27 2006, 11:37 |
![]()
Сообщение
#2080
|
|
Level 9 ![]() Класс: Друид Характер: True Neutral Раса: Эльф NWN: Скриптинг [PW] Амен ![]() |
Четвертый скрипт, это не фикс, а стандартный скрипт раздевания только что созданного персонажа. Вот только зачем бутить персонажа, если у него и так все отбирается?
Второй скрипт работает ровно до второго захода. Из того, что написано ниже скриптов, понял несколько строк, остальные из-за дурацкого жаргона очень трудно разобрать. Зачем что-то сюда писать, если это может быть не всем понятно? Хотя если язык пострадал, это навсегда, проверено временем. По первому скрипту, самый распространенный способ убийства. Причем работает до сих пор. Странно что это не исправили. Хотя чего проще, во время перехода очищать очередь действий. QUOTE грабли ПМа тоже запретить в ноу пвп\или убрать вроде еще когда кастуется шш и дез вард, дез вард при диспеле не слетает(хтя хз) при одевании шмота вешать дикрис атаки и спел фелчар(скрипт стер случайно..заного писать лень) Вообще не понял о чем речь идет. З.Ы. Новичком и остался, сюдя по языку. Ничего личного. |
![]()
Сообщение
#2081
|
|
Level 6 ![]() Класс: Некромант Характер: Chaotic Evil Раса: Нежить NWN: Скриптинг [PW] ![]() |
QUOTE Вообще не понял о чем речь идет. ндя...английский знаеш? не ужто трудно расшифровать? "дикрис атаки и спел фелчар".. ваши проблемы.. QUOTE Четвертый скрипт, это не фикс, а стандартный скрипт раздевания только что созданного персонажа. Вот только зачем бутить персонажа, если у него и так все отбирается? ну-ну, ты лучше название скрипта прочти..хотя тебе это мало что скажет.. QUOTE Зачем что-то сюда писать, если это может быть не всем понятно? кому надо - поймет, я старался по меньше ошибок делать...всё таки в 7 утра не каждый асилит столько писать QUOTE самый распространенный способ убийства их там 10, и все они распространенные QUOTE З.Ы. Новичком и остался, сюдя по языку. Ничего личного. ты просто попробуй понять вообще о чем речь идет...а потом суди готов поспорить у тебя и четверть этого не фикшена и вообще..не нравится не читай =Р Сообщение отредактировал [MoF]Darth_Nick - Mar 22 2006, 15:31 |
![]()
Сообщение
#2082
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
QUOTE пара фиксоф(может пригодится кому...)(хотя не тестировал..лень) 1. может пригодится. 2. не тестировал - плохо. Если что выкладываешь, всетаки проверяй (IMG:style_emoticons/kolobok_light/smile.gif) 3. Zirrex, [MoF]Darth_Nick, взаимные претензии в приват. (IMG:style_emoticons/kolobok_light/smile.gif) Тут ни-ни. |
![]()
Сообщение
#2083
|
|
Level 8 ![]() ![]() ![]() Класс: Бледный Мастер Характер: Chaotic Neutral Раса: Человек ![]() |
[MoF]Darth_Nick, спасибо за список багов. Можешь подробнее описать косяк со стойкой ДД?
P.S. Касательно 4-го скрипта. Если с помощью хука на шард заводится чар с ненулевой экспой, тогда что? |
![]()
Сообщение
#2084
|
|
Level 6 ![]() Класс: Некромант Характер: Chaotic Evil Раса: Нежить NWN: Скриптинг [PW] ![]() |
2Lex дык, кому надо и кто понял суть, сам напишет фикс если понадобится
2Sharklike в ней бегать и атаковать можно скрипта стойки нету, только забавный комментарий 4) попробуй завести такого (IMG:style_emoticons/kolobok_light/smile.gif) Сообщение отредактировал [MoF]Darth_Nick - Mar 22 2006, 20:51 |
![]()
Сообщение
#2085
|
|
Level 8 ![]() ![]() ![]() Класс: Бледный Мастер Характер: Chaotic Neutral Раса: Человек ![]() |
QUOTE Darth_Nick' date='Mar 22 2006, 20:48' post='73689'] 4) попробуй завести такого (IMG:style_emoticons/kolobok_light/smile.gif) Да заводил. Вообще я спросил, потому что мне интересно стало - может тот хук, который видел ты и который видел я работают по-разному? QUOTE Darth_Nick' date='Mar 22 2006, 20:48' post='73689'] не поможет не ключ, не айпи Ты имеешь ввиду, что все таки можно войти любым чаром с акка, название которого ассоциируется с ключом, сохраненным на сервере и не известным злоумышленнику? Или ты про то, что можно просто войти чужой на акк и посмотреть чаров? |
![]() ![]() |
Текстовая версия | Сейчас: 29th April 2025 - 23:18 |