Skryptorium

Czytano: 4909 razy

Aurora Toolset to dość prosty program umożliwiający stworzenie swoich własnych modułów, kampanii czy przygód opartych na systemie zaprezentowanym w Neverwinter Nights. Jednakże czym byłby las czy miasto z rozlokowanymi obiektami bez skryptów? To one są "duszą" każdego modułu i dosłownie wprowadzają życie w poszczególne postacie. Dzięki nim nasze pomysły mogą zostać urzeczywistnione i mamy okazję stworzyć unikalną przygodę własnego autorstwa. Zapewne na pierwszy rzut nowicjuszowskiego oka skryptowanie może okazać się trudne, ale nic bardziej mylnego. Wystarczy znajomość angielskiego, trochę wolnego czasu i dużo samozaparcia, a z czasem dojdzie się do takiej perfekcji, że niektóre komendy będą powstawały w kilka sekund. Nie wszystkie poniżej zamieszczone skrypty są mego autorstwa. Niektóre zostały odnalezione w odmętach internetowej toni i czasami nieco przeze mnie zmienione.

Wielokrotny autozapis

Opis: Po wejściu na wyzwalacz gra automatycznie stworzy zapis rozgrywki. Funkcja działa wielokrotnie.

Skrypt:

« Kliknij, aby zobaczyć

Gdzie: OnEnter wyzwalacza

Jednokrotny autozapis

Opis: Po wejściu na wyzwalacz gra automatycznie stworzy zapis rozgrywki. Funkcja działa tylko raz.

Skrypt:

« Kliknij, aby zobaczyć

Gdzie: OnEnter wyzwalacza

Poruszanie się

nwn, skrypty, skrypt, skryptorium, skryptowanie, aurora, moduł, moduły, toolset, tool set, sou, hotu, neverwinter nights

Opis: Dana postać będzie poruszała się w chaotyczny sposób po obszarze.

Skrypt:

« Kliknij, aby zobaczyć

Gdzie: OnHeartbeat postaci

Siedzenie

Opis: Postać będzie siedziała na danym obiekcie (krześle).

Skrypt:

« Kliknij, aby zobaczyć

Gdzie: OnHeartbeat postaci

Spanie

Opis: Postać będzie spała.

Skrypt:

« Kliknij, aby zobaczyć

Gdzie: OnHeartbeat postaci

Rozmawiająca grupa

nwn, skrypty, skrypt, skryptorium, skryptowanie, aurora, moduł, moduły, toolset, tool set, sou, hotu, neverwinter nights

Opis: Grupa postaci będzie ukazywała animacje rozmowy przy danym punkcie nawigacyjnym. Poszczególne animacje można usunąć.

Skrypt:

« Kliknij, aby zobaczyć

Gdzie: OnHeartbeat postaci

Rzucanie zaklęcia

nwn, skrypty, skrypt, skryptorium, skryptowanie, aurora, moduł, moduły, toolset, tool set, sou, hotu, neverwinter nights

Opis: Dana postać będzie rzucała określone zaklęcie na obiekt.

Skrypt:

« Kliknij, aby zobaczyć

Gdzie: OnHeartbeat lub OnSpawn postaci

Lista etykiet zaklęć: SPELL_*

Wyzwalacz teksu

Opis: Wchodząc na wyzwalacz, wyświetli się tekst postaci/obiektu.

Skrypt:

« Kliknij, aby zobaczyć

Gdzie: OnEnter wyzwalacza

Animacje

Opis: Postać będzie wykonywała daną animację.

Skrypt:

« Kliknij, aby zobaczyć

Gdzie: OnHeartbeat postaci

Lista etykiet animacji: ANIMATION_*

Dźwignia otwierająca/zamykająca drzwi

Opis: Dźwignia po pociągnięci otworzy bądź zamknie drzwi. We właściwościach drzwi należy ustawić, by były zamknięte.

Skrypt:

« Kliknij, aby zobaczyć

Gdzie: OnUsed dźwigni

Zwłoki

Opis: Truchło postaci będzie leżało na ziemi.

Skrypt:

« Kliknij, aby zobaczyć

Gdzie: OnHeartbeat postaci

Atak obiektu

nwn, skrypty, skrypt, skryptorium, skryptowanie, aurora, moduł, moduły, toolset, tool set, sou, hotu, neverwinter nights

Opis: Postać będzie atakowała określony obiekt. We właściwościach obiektu należy zaznaczyć opcję fabuła, by uniknąć zniszczenia przedmiotu.

Skrypt:

« Kliknij, aby zobaczyć

Gdzie: OnHeartbeat postaci

Atakujący obiekt

nwn, skrypty, skrypt, skryptorium, skryptowanie, aurora, moduł, moduły, toolset, tool set, sou, hotu, neverwinter nights

Opis: Po wejściu na wyzwalacz obiekt, np. statua, zaatakuje postać zadając jej odpowiednią ilość kostek obrażeń ustalonego rodzaju przy jednoczesnym wyświetleniu danego efektu wizualnego. Dostępne kostki obrażeń: d2(X), d3(X), d4(X), d6(X), d8(X), d10(X), d12(X), d20(X), d100(X), gdzie X oznacza ilość rzutów kostką, np. d3(4) oznacza rozpiętość obrażeń (1-3)?4.

Skrypt:

« Kliknij, aby zobaczyć

Gdzie: OnEnter wyzwalacza

Lista etykiet efektów wizualnych: VFX_BEAM_*, VFX_COM_*, VFX_DUR_*, VFX_EYES_*, VFX_FNF_*, VFX_IMP_*

Lista etykiet rodzajów obrażeń: DAMAGE_TYPE_*

Pojemnik broniony po ograbieniu przez stworzenie

nwn, skrypty, skrypt, skryptorium, skryptowanie, aurora, moduł, moduły, toolset, tool set, sou, hotu, neverwinter nights

Opis: W trakcie ograbiania pojemnika, np. zwłok, pojawi się stworzenie przy jednoczesnym wyświetleniu efektu wizualnego. Warto skorzystać również ze skryptu powodującego zniknięcie pojemnika po pojawieniu się stworzenia.

Skrypt:

« Kliknij, aby zobaczyć

Gdzie: OnOpened pojemnika

Lista etykiet efektów wizualnych: VFX_BEAM_*, VFX_COM_*, VFX_DUR_*, VFX_EYES_*, VFX_FNF_*, VFX_IMP_*

Pojemnik znika po ograbieniu

Opis: Pojemnik zniknie po ograbieniu.

Skrypt:

« Kliknij, aby zobaczyć

Gdzie: OnClosed pojemnika

Kradzież powodująca wrogość stworzenia

nwn, skrypty, skrypt, skryptorium, skryptowanie, aurora, moduł, moduły, toolset, tool set, sou, hotu, neverwinter nights

Opis: Po zabraniu konkretnego przedmiotu z pojemnika dane stworzenie stanie się wrogie i wypowie tekst.

Skrypt:

« Kliknij, aby zobaczyć

Gdzie: OnDisturbed pojemnika

Leczący obiekt

Opis: Obiekt, np. snop światła, po dotknięciu uleczy postaci określoną liczbę PW przy jednoczesnym wyświetleniu danego efektu wizualnego nad postacią. We właściwościach obiektu należy zaznaczyć opcję można używać.

Skrypt:

« Kliknij, aby zobaczyć

Gdzie: OnUsed obiektu

Lista etykiet efektów wizualnych: VFX_BEAM_*, VFX_COM_*, VFX_DUR_*, VFX_EYES_*, VFX_FNF_*, VFX_IMP_*

Portal

Opis: Obiekt, np. snop światła, po dotknięciu przeniesie postać do punktu nawigacyjnego przy jednoczesnym wyświetleniu danego efektu wizualnego nad postacią. We właściwościach obiektu z efektem wizualnym należy zaznaczyć opcję można używać.

Skrypt:

« Kliknij, aby zobaczyć

Gdzie: OnUsed obiektu

Lista etykiet efektów wizualnych: VFX_BEAM_*, VFX_COM_*, VFX_DUR_*, VFX_EYES_*, VFX_FNF_*, VFX_IMP_*

Inteligentny przedmiot: Butelka z Dżinem

nwn, skrypty, skrypt, skryptorium, skryptowanie, aurora, moduł, moduły, toolset, tool set, sou, hotu, neverwinter nights

Opis: Używając butelki, uwolniony zostanie Dżin prowadzący sklep.

  • Wpierw stwórz konkretnego Dżina oraz przedmiot będący jego więzieniem, np. butelka. We właściwościach przedmiotu wybierz Rzucanie zaklęcia: Rozmawiaj z.
  • Wejdź w panel Maluj Obiekty/Tajemny Obiekt i edytuj Enserric Miecz. Zmień nazwę, etykietę, ResRef oraz portret.
  • Otwórz skrypt x2_inc_intweapon, korzystając z filtra wszystkie zasoby. Przejdź do linii IWStartIntelligentWeaponConversation i wstaw ResRef wcześniej stworzonego tajemnego obiektu w miejsce x2_plc_intwp. Zapisz.
  • Następnie otwórz konwersację x2_iw_enserric, korzystając z filtra wszystkie zasoby. Usuń wszystkie linie dialogowe i stwórz własne, pamiętając o tej dotyczącej uwolnienia Dżina. W linii odnoszącej się do uwolnienia Dżina w zakładce podjęte działania stwórz poniższy skrypt, który spowoduje przywołanie Dżina oferującego towary przy jednoczesnym wyświetleniu efektu wizualnego nad postacią.

Skrypt:

« Kliknij, aby zobaczyć
  • Powyższą konwersację dodaj wcześniej stworzonemu tajemnemu obiektowi.
  • Stwórz nową konwersację odnoszącą się do samego Dżina, pamiętając o liniach dialogowych dotyczących odesłania oraz handlu. W linii dotyczącej handlu w zakładce podjęte działania stwórz skrypt przy pomocy Kreatora Skryptów (czerwonawa szpiczasta czapka czarodzieja), wybierając wykonaj działanie/uruchom kupca. W etykiecie skryptu wpisz etykietę punktu kupieckiego. W linii odnoszącej się do odesłania w zakładce podjęte działania stwórz poniższy skrypt, który spowoduje zniknięcie Dżina oraz punktu kupieckiego przy jednoczesnym wyświetleniu efektu wizualnego nad nim.

Skrypt:

« Kliknij, aby zobaczyć
  • Powyższą konwersację dodaj wcześniej stworzonemu Dżinowi.

Inteligentny przedmiot: Pierścień Translokacji

Opis: Używając pierścienia posiadającego właściwość Rzucanie zaklęcia: Unikalna moc jedynie na sobie, postać teleportuje się do konkretnego punktu nawigacyjnego bez możliwości powrotu do miejsca aktywacji przy jednoczesnym wyświetleniu efektu wizualnego.

Skrypt:

« Kliknij, aby zobaczyć

Gdzie: Nigdzie, jeżeli edytujesz skrypt x2_mod_def_act znajdujący się w Edytuj/Właściwości Modułu/Zdarzenia/OnActivateItem i dodasz poniższe komendy pomiędzy ostatnim a przedostatnim }.

Skrypt:

« Kliknij, aby zobaczyć

Udostępnij:
Udostępnij na Blipie Udostępnij na Twitterze Udostępnij na Facebooku
Autor: Lionel
Dodano: czwartek, 02 grudzień 2010

Komentarze

Nie jesteś zalogowany. Zaloguj się! Nie masz konta? Załóż nowe!



Unikalny kod bezpieczeństwa


Gość
wtorek, 17 styczeń 2012 (19:44)
Fajny jest skrypt z leczeniem czy mógłbyś dodać by co jakiś czas pojawiały by się zombie albo inne stwory ?
Lionel
wtorek, 17 styczeń 2012 (22:21)
Musze pomyśleć nad aktualizacją tego działu...

Oto skrypt przywoływanych potworów. Wprowadzając go do oskryptowania onHearthBeat jakiegoś statycznego przedmiotu, np. u mnie była to kadź wróżebna, co kilka sekund pojawiać będą się losowo przyporządkowane istoty, jeżeli będą spełnione warunki, np. w tym przypadku będą istnieć cztery posągi gargulców.


void main()
{
object oObject = OBJECT_SELF;
object oBeaconA = GetObjectByTag("ETYKIETA GARGULCA1");
object oBeaconB = GetObjectByTag("ETYKIETA GARGULCA2");
object oBeaconC = GetObjectByTag("ETYKIETA GARGULCA3");
object oBeaconD = GetObjectByTag("ETYKIETA GARGULCA4");
effect eVisual = EffectVisualEffect(ETYKIETA EFEKTU WIZUALNEGO);
location lWP = GetLocation(oObject);
int nChance = d100(1);

if(GetIsDead(oBeaconA) && GetIsDead(oBeaconB) && GetIsDead(oBeaconC) && GetIsDead(oBeaconD)) return;
DelayCommand(1.0, ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eVisual, oObject, 1.0));
if(nChance < 11)
{
object oSpawn = CreateObject(OBJECT_TYPE_CREATURE, "RESREF POTWORA1", lWP);
}
if(nChance > 10 && nChance < 41)
{
object oSpawn = CreateObject(OBJECT_TYPE_CREATURE, "RESREF POTWORA2", lWP);
}
if(nChance > 40 && nChance < 71)
{
object oSpawn = CreateObject(OBJECT_TYPE_CREATURE, "RESREF POTWORA3", lWP);
}
if(nChance > 70 && nChance < 101)
{
object oSpawn = CreateObject(OBJECT_TYPE_CREATURE, "RESREF POTWORA4", lWP);
}
}
Gość
sobota, 28 styczeń 2012 (14:20)
Hej, zrobisz dla mnie pewien skrypt? Chcę żeby pojawiały się potwory gdy tylko gracz stanie na wyzwalaczu, nie będą wymagane żadne słupy ani gargulce a potwory po srespieniu będą iść do wyzwalacza na którym gracz stoi ? I żeby były to 3respy na danym wyzwalaczu, zrobisz tak? Kolejny potwór by się pojawiał gdy zabije się tego z 1wyzwalacza to respi się na 1wyzwalaczu, gdy z 2 się zabije to na 2 się respi itd ?
Lionel
sobota, 28 styczeń 2012 (17:58)
Musisz nieco jaśniej to wszystko wytłumaczyć, bo nie bardzo rozumiem. Więcej szczegółów, bardziej opisowo.
Tomix
wtorek, 31 styczeń 2012 (22:54)
Napisz mi na GG 33374290 to się dogadamy. ; )
Lionel
środa, 01 luty 2012 (00:12)
Wybacz, ale nie posiadam już tego komunikatora. Życie zmusiło mnie do przeniesienia się na MSN Messenger. Ale możemy dogadać się poprzez PW.
Gość
piątek, 20 kwiecień 2012 (18:33)
słuchaj mam jeszcze jedno pytanie robisz sam moduły jeśli tak to proszę Cię o dwie odpowiedzi na moje pytania:


1. czy mógłbyś przetłumaczyc dla mnie niektóre skrypty i podac mi skrypt, w którym mogę zrobic tak że dany tekst pojawia się PO rozmowie z danym NPCem


2 jak dac głos postaciom np. na moim module gdy Aribeth wypowiada jakąś kwestię co zrobic żeby oprócz tekstu mówiła go swoim słodkim głosem?
Lionel
piątek, 20 kwiecień 2012 (21:16)
1. opisz bardziej ten przykład, bo nie jestem pewien o co ci dokładnie chodzi. Czy o tekst w oknie dialogowym czy o ten nad głowami, czy jeszcze coś innego? Najlepiej na konkretnym przykładzie.
2. Musisz zatrudnić tę lektorkę, co podkładała głos Ari... tylko jej nazwisko to dla mnie tajemnica, bo jakoś nie ma bazy lektorów w polskim Internecie. Wtedy ona wypowie tekst, nagrasz ją, stworzysz z niego HAK, dołączysz do modułu, dodasz odpowiednie nagranie do linii dialogowej... czyli NIEWYKONALNE.
Bard Card
poniedziałek, 30 kwiecień 2012 (06:39)
A jaki jest skrypt żeby dana rozmowa odbyła się PO rozmowie z danym NPCem bo zamierzam dokończyć ALE POPRAWNIE NWN podstawke a nie jak to zrobili twórcy BIOWARE'u że ta cała Cania w hotu to normalnie do du......... no do niczego a wiec po utworzonej przeze mnie rozmowie z Ari w celi ide prosić o ułaskawienie dla paladynki ale żeby tekst co do jej uwolnienia u Lorda Nashera pojawiał sie PO rozmowie z nią proszę was odpiszcie.
Lionel
poniedziałek, 30 kwiecień 2012 (12:54)
Dość proste.

Skrypt A
[code]void main()
{
object oPC = GetPCSpeaker();

SetLocalInt(oPC, "XXXX", 1);
}[/code]

gdzie XXXX musi być unikalnym tokenem, np. ari_freedom

Skrypt B
[code]int StartingConditional()
{
object oPC = GetPCSpeaker();

if(!(GetLocalInt(oPC, "XXXX") == 1))
return FALSE;

return TRUE;
}[/code]

gdzie XXXX musi być tym samym tokenem, co w skrypcie A

Skrypt A umieszczasz w linii dialogowej w zakładce podjęte działania (prawy, dolny róg), która kończy rozmowę z Ari w tym więzieniu i będzie mówiła grze, że już z nią ją odbyłeś.
Skrypt B umieszczasz w linii dialogowej w zakładce tekst pojawia się, gdy (prawy, dolny róg), która ma zaczynać rozmowę z Nasherem o uwolnieniu Ari, dzięki skryptowi B, gra wie, że już rozmawiałeś o tym z Ari i będziesz mógł o tym wspomnieć Nasherowi.
Bard Card
poniedziałek, 30 kwiecień 2012 (14:42)
Posłuchaj Lionelu, bardzo dziękuję Ci za ta odpowiedź:thanks: mam tylko jedno pytanie co do tego skryptu: Gdzie mam go wstawić czy do OnConversiaton w skryptach Lady Aribeth ? Nie żebym był całkowicie zielony co do Neverwinter bo gram w nie 4-5 lat tylko aurory zacząłem używać od niedawna a język angielski znam ale nie rozumiem niektórych rzeczy a ty jak widzę jesteś dużo mądrzejszy ode mnie w tych sprawach mianuję Cię zatem ENCYKLOPEDIĄ SKRYPT-OWANIA I MODOWANIA NEVERWINTER może być?:D Mam jeszcze pomysł co do quizu na temat Słodkiej Lady i NWN-a Czy zechciałbyś wziąć w nim udział?
Lionel
poniedziałek, 30 kwiecień 2012 (15:35)
Tych skryptów nie dodaje się do postaci, lecz do konwersacji. Otwórz edytor konwersacji i tam, po zaznaczeniu konkretnej linii dialogowej, już będziesz wiedział co robić.
Bard Card
poniedziałek, 30 kwiecień 2012 (16:11)
dzięki jesteś jeszcze jak tak to odpisz prosze

[Dodano po 51 sekundach]

jak zdobywa się odznaczenia na tym forum?
Rekrutacja GameExe