W tym poradniku napiszę krok po kroku jak stworzyć custom NPC-a z przejrzystym menu i innymi udogodniami , ktore upiększą Npc-a .
1. Pierwszy krok to zdecydowanie o roli naszego nowego NPC-a . Weźmy na przykład NPC-a odpowiadającego za sprzedaż danych przedmiotów . Zaczynamy od stworzenia pliku HTML ( Pliku odpowiadającego za menu , które wyświetla się podczas rozmowy z danym NPC-em . Przykładowy plik HTML :
- wstawienie obrazka ( mozna tylko wykozystywac obrazki z clienta )
Cytuj
<font color="black">
- zmiana kolor czcionki ( tutaj : black - czarny )
2. Jeśli chcemy aby nasz NPC pełnił funkcję sklepu , ktory będzie sprzedawał lub wymieniał itemy to należy przygotowac plik multisell. Przykładowy multisell :
-Przygotuj screen/zdjecie o wymiarach 256*256 pixeli . Otwórz w photoshopie i daj opcje zapisz jako. Wybierz rodzaj .DDS . -Uruchom UnrealEd.exe . Zobaczysz okno o nazwe Textures . Idz do opcji FILE-> NEW. Zobaczysz nastepne okno o nazwie ''New Material'' uzupełnij :
Package: tutorialtest Group: <empty> name : cokolwiek
Nacisnij NEW . I zamknij nastepne okienko. Idz do FILE->Import i wskaż zdjecie , ktore edytowales w photoshopie. Opcja Files->save . Nastepnie plik przerzucamy do naszego clienta . A w htmlu dodajemy wpis :
Cytuj
<IMG src="NAZWA" width=256 height=256>
Zapisz i juz gotowe !
6. Ważne
Pliki HTML zawsze zapisuj w formacje .HTM a nie .HTML !!! Inaczej będziesz miał błedy podczas rozmowy z Npc-kiem
No dobra, robie sobie global gk, utworzyłem all pliki .htm z miejscami... ale jak teraz włożyć te opcje do npc, oraz "co" napisać, żeby po kliknięciu np. primeval island wharf przeniosło mnie tam?? wiem, że współżędne trzeba przepisać... ale gdzie:? ;]
Dobrze , a więc jest to wyjątkowo proste . Jeśli zrobiłeś juz plik .htm to przenieś go do :
Cytuj
data/html/teleporter
Aby przenosiło Cie do jakiegoś miejsca , musisz zrobić coś takiego ( Jest to ładny , estetyczny przycisk ) :
A to tylko odpowiada za wygląd , styl przycisku , a więc jak już masz plik .htm , trzeba zrobić plik .sql , w którym zdefiniujemy , do którego miejsca będzie nam teleportować oraz ID teleportu , który potem podajemy w htmlu ( Podałem , w którym miejscu )
Plik .sql wyglądać powinien tak :
Cytuj
INSERT INTO teleport VALUES ('Dark Elven Town -> Town of Gludio',xxx,-12672,122776,-3116,10000,0),
Gdzie :
Cytuj
'Dark Elven Town -> Town of Gludio'
To tylko opis teleportu ( Nigdzie się nie pokazuje , pomaga nam tylko odszukać dany teleport w bazie )
W miejsce xxx podajemu ID teleportu ( przypominam , że musi być identyczny z tym w htmlu aby działał )
Cytuj
-12672,122776,-3116,
Jest to x/y/z ( położenie , do którego będzie przenosić ) W grze wpisz /loc aby sprawdzić Twoje położenie
Cytuj
10000,0)
10000 oznacza cene za teleport ( w adenach ) Jeśli chciałbyś zrobić teleport za inny przedmiot to musisz zrobić to w pythonie ( patrz data/script ) . Potem jest 0 - zawsze
No dobra, robie sobie global gk, utworzyłem all pliki .htm z miejscami... ale jak teraz włożyć te opcje do npc, oraz "co" napisać, żeby po kliknięciu np. primeval island wharf przeniosło mnie tam?? wiem, że współżędne trzeba przepisać... ale gdzie:? ;]
No dobra, robie sobie global gk, utworzyłem all pliki .htm z miejscami... ale jak teraz włożyć te opcje do npc, oraz "co" napisać, żeby po kliknięciu np. primeval island wharf przeniosło mnie tam?? wiem, że współżędne trzeba przepisać... ale gdzie:? ;]
Dobrze , a więc jest to wyjątkowo proste . Jeśli zrobiłeś juz plik .htm to przenieś go do :
Cytuj
data/html/teleporter
Aby przenosiło Cie do jakiegoś miejsca , musisz zrobić coś takiego ( Jest to ładny , estetyczny przycisk ) :
A to tylko odpowiada za wygląd , styl przycisku , a więc jak już masz plik .htm , trzeba zrobić plik .sql , w którym zdefiniujemy , do którego miejsca będzie nam teleportować oraz ID teleportu , który potem podajemy w htmlu ( Podałem , w którym miejscu )
Plik .sql wyglądać powinien tak :
Cytuj
INSERT INTO teleport VALUES ('Dark Elven Town -> Town of Gludio',xxx,-12672,122776,-3116,10000,0),
Gdzie :
Cytuj
'Dark Elven Town -> Town of Gludio'
To tylko opis teleportu ( Nigdzie się nie pokazuje , pomaga nam tylko odszukać dany teleport w bazie )
W miejsce xxx podajemu ID teleportu ( przypominam , że musi być identyczny z tym w htmlu aby działał )
Cytuj
-12672,122776,-3116,
Jest to x/y/z ( położenie , do którego będzie przenosić ) W grze wpisz /loc aby sprawdzić Twoje położenie
Cytuj
10000,0)
10000 oznacza cene za teleport ( w adenach ) Jeśli chciałbyś zrobić teleport za inny przedmiot to musisz zrobić to w pythonie ( patrz data/script ) . Potem jest 0 - zawsze
Tyle , to wszystko . Myślę , że napisałem to jasno :P
Dobra, czaje ocb, bo sie troche na html znam ;] ale teraz mam pytanie... jeżeli mój 7077.htm, czyli to co wyświetli się zaraz po kliknięciu na gk, wygląda tak(tworze go na podstawie innego gk): <html> <body> <center> <tr><td><font color="FF0066">______________________________</font></tr></td><br> <br> <tr><td>Welcome, Traveler you can go anywhere</tr></td><br> <tr><td>for just 15.000 Adena.</tr></td><br> <br> <tr><td><a action="bypass -h npc_%objectId%_Chat 2">Towns</a></tr> <tr><td><br></td></tr> <tr><td><a action="bypass -h npc_%objectId%_Chat 21">Exp Zones</a></tr> <tr><td><br></td></tr> <tr><td><a action="bypass -h npc_%objectId%_Chat 22">Special Exp Zones</a></tr> <tr><td><br></td></tr> <tr><td><br></td></tr> <tr><td><a action="bypass -h npc_%objectId%_Chat 18">Coloseum</a></td></tr> <tr><td><br></td></tr> <tr><td><a action="bypass -h npc_%objectId%_Chat 19">RaidBoss</a></td></tr> <tr><td><br></td></tr> <tr><td><a action="bypass -h npc_%objectId%_Chat 23">CT areas</a></td></tr> <tr><td><br></td></tr> <tr><td><a action="bypass -h npc_%objectId%_Chat 24">Interlude Areas</a></td></tr> <tr><td><br></td></tr> <tr><td><a action="bypass -h npc_%objectId%_Chat 25">Boss Especiales</a></td></tr> <br> A więc _chat 2,3,4 itd odnosi się do tego, że po kliknięciu w np. Towns przeniesie mnie to htmlu??? I jeszcze jedno, tam pisze np. chat 2, i będzie to odpowiadało plikowi w tym folderze 7077-2 ?? czy mam zrobic np. chat 7078 ??? i zrobic plik 7078??