Ogłoszenie

Strefa czasowa: UTC + 1

Teraz jest 2025-05-05 12:23:49
Łączny czas online:



Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 1 ] 

Czy poradnik jest pomocny?
Tak 53%  53%  [ 8 ]
Nie 33%  33%  [ 5 ]
Trochę... 13%  13%  [ 2 ]
Liczba głosów : 15
Autor Wiadomość
 Tytuł: Wszystko o EVT
PostNapisane: 2010-06-20 08:19:12 
Offline

Dołączył(a): 2010-04-18 09:19:33
Posty: 19
Płeć: Nieokreślona
Witam!

Dziś chciałbym się podzielić wiedzą na temat kodowania Eventów do waszego prywatnego serwera.

Tak, są już takie poradniki, ale są bardzo źle napisane. Więc postaram się zrobić wszystko bardzo dokładnie i bardzo czytelnie, tak więc...

Q: Gdzie znajdę moje EVT?
A: PlikiSerwerowe\Ebenzer\Map

Q: Pliki są ponumerowane od 1 do 201 o co chodzi?
A: Są to numery mapy (21 - Moradon itp.) Czyli jeżeli chcemy zrobić quest w Moradonie edytujemy plik z numerkiem 21. Dodam że numerki z mapami znajdziesz w swojej bazie danych, tabela Zone_Info.

Q: Czym mam edytować moje pliki EVT?
A: Notatnikiem :D

Q: Od czego zacząć?
A: Zacznijmy od zrobienia naszego NPCta którego umieścimy w grzę, tak więc...

Wchodzimy do SQLa i szukamy tabelki o nazwie "K_NPC" po czym otwieramy ją.
(W tabeli K_NPC są zawarte wszystkie NPCty w naszej bazie danych.)

Zrobimy to prościej dajmy na to że NPC ma wyglądać jak nasz sundries, tak więc szukamy naszego NPC zaznaczamy go i dajemy kopiuj, po czym wklejamy go na samym dole w puste miejsce.

Teraz wystarczy zmienić numer SSID oraz nazwę (strName) naszego npcta. ( SSID nie może się powtarzać!) Czyli, widzimy ostatniego npcta który ma numer SSID 30104 więc dla naszego nowego dajemy 30105.
(Jeżeli nasz nowy NPC ma wpisane coś w iSellingGroup musimy wpisać tam 0)

Zamykamy tabelke K_NPC. Nasz NPC jest juz gotowy!

================================================================================================================================================

Pora na przypisanie numerku Event dla naszego npcta!

Wchodzimy do tabeli Event_Trigger

widzimy tu 4 kolumny:

nIndex : Numerek Index ( ten sam należy wpisać w K_NPCPOS dla kolumny TrapNumber )
bNpcType : ZAWSZE 28!
sNpcID : Taki sam jak nIndex
nTriggerNum : Numerek Eventu

Dla przykładu : 101 ; 28 ; 101 ; 50001
================================================================================================================================================

Teraz musimy ulokować gdzieś naszego NPCta więc wchodzimy w tabelke "K_NPCPOS"

Widzymy tam następujące kolumny:

ZoneID : Numer mapki na której będzie stał nasz NPC
NPCID : Numer SSID naszego NPCta
ActType : ?
RegenType : Zawsze 0
DungeonFamily : Zawsze 0
SpecialType : ?
TrapNumber : WAŻNE! Wpisujemy tu numer Index z tabeli Event_Trigger

LeftX \
TopZ \
RightX \
BottomZ \
LimitMinZ > Koordynaty naszego NPCta
LimitMinX /
LimitMaxX /
LimitMaxZ /

NumNPC : ?
RegTime: Czas respawnu
byDirection : ?
DotCNT : ?
path : ?

Zamykamy tabele, nasz npc stoi już w wyznaczonym przez nas miejscu.
================================================================================================================================================

Zajmijmy się teraz kodowaniem naszego EVT.


EVENT 50001 >> numerek nTriggerNum z tabeli Event_Trigger
E SELECT_MSG 30105 11111 22222 33333 44444 44444 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
END

Jest to przykładowy NPC. Jeśli przyjżymy się bliżej i rozdzielimy te numerki będzie to wyglądało tak:

30105 = SSID NPC-ta który jest połączony do "EVENTU"
11111 = Ten numer jest połączony z QUEST_Talk.tbl . Pokazuje tekst rozmowy.
22222 = Ten numer jest pierwszym przyciskiem u naszego NPC. Jest on połączony z Quest_Menu.tbl
33333 = Ten numer jest bardzo ważny ponieważ jest on numerem "EVENT" który zostanie włączony gdy naciśniesz przycisk. Zapamiętaj tą kolejność. PO PRZYCISKU ZAWSZE MUSI BYĆ NUMER EVENTU W INNYM RAZIE NASZE EVT NIE BĘDZIE DZIAŁAĆ.
-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 = Jeżeli nie dodacie tego na końcu będziecie widzieli niewykożystane przyciski w grze.

Ok wiemy już jak zacząć nasz EVT. Zajmijmy się teraz kodowniem Eventu z akcjami.

Jak widać niżej przycisk połączony z 22222 aktywuje event 33333 który podejmuje dalsze akcje.

Powiedzmy.. Jeżeli klikniesz w pierwszy przycisk dostaniesz itema. Jak to zrobić?


EVENT 33333 < Numer Eventu Połączonego z przyciskiem
E GIVE_ITEM 12311512 1 << Komenda na dodanie itemku tylko 1x
E RETURN << Zamyka Menu
END << Kończy Event

Ok więc akcje dla naszego pierwszego przycisku są zakodowane. Wiemy że gdy wciśniesz przycisk dostaniesz itemka. A co jeśli chcesz dać ten item tylko dla wskazanej klasy,rasy czy lvla?
Wszystko co musisz zrobić to zakodować event aby wykonywał inne akcje. Powiedzmy że chcesz dać itemka tylko dla wybranej klasy i pomiędzy lvlem 60-80 z przyciskiem mówiącym "Tak chce otrzymać ten item" dla przykładu:


EVENT 33333
E RUN_EVENT 1
E RUN_EVENT 2
E RUN_EVENT 3
E RUN_EVENT 4
E RUN_EVENT 5
END

EVENT 1
A CHECK_LV 1 59 < Sprawdza czy lvl jest mniejszy niż 60
E SAY -1 -1 63316 -1 -1 -1 -1 -1 -1 -1 << Powiedz czemu nie może otrzymać itema ( Error Message )
E RETURN
END

EVENT 2
A CHECK_CLASS 1 < Warrior
E RUN_EVENT 20 < Aktywuje Event 20 który ciągnie za sobą kolejne akcje.
END

EVENT 3
A CHECK_CLASS 2 < Assassin
E RUN_EVENT 30
END

EVENT 4
A CHECK_CLASS 3 < Mag
E RUN_EVENT 40
END

EVENT 5
A CHECK_CLASS 4 < Priest
E RUN_EVENT 50
END


EVEMT 20
E SELECT_MSG 16110 11112 22 33 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
END

Jak widać numer po przycisku aktywuje Event. Przycisk 22 który jest połączony do przycisku Menu z numerem 22 aktywuje event 33 a event 33 da itemek dla wybranej klasy.

CODE
EVENT 33
GIVE_ITEM 12311112 1
E RETURN
END


Myśle że teraz zrozumiecie jak kodować EVT. Chodzi tu głównie o zapamiętanie kolejności...To wszystko.
================================================================================================================================================
Quest_content - Podaje informacje o Queście gdy wciśniesz klawisz "M".

Otwórz Quest_Content_us.tbl który znajduje się w folderze Data

Dla pierwszej kolumny wybierz numer od 1 do 255 który nie jest jeszcze użyty.

Dla drugiej kolumny wpisz level na jakim można wykonać questa.

Dla trzeciej kolumny wybierz klase dla której quest jest przeznaczony.
1 = Warrior
2 = Rogue
3 = Mag
4 = Priest
5 = Wszyscy

Czwarta kolumna jest to nazwa questu.

Piąta kolumna jest to wyjaśnienie na czym polega quest.

Szósta kolumna jest to przedmiot wymagany do wykoniania questa.
================================================================================================================================================

Mam tu parę niedociągnięć, jeżeli ktoś wie czym zastąpić "?" pisać śmiało a poprawię.

Poradnik napisany przez: Marysza

Proszę o podczepienie!

Informacje zaczerpnięte z : SNOXD.net oraz z mojego własnego doświadczenia.

Dla KnightOnlineWorld.pl


Góra
 Zobacz profil  
 
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 1 ] 


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 4 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
Style created by © Matti, gry komputerowe, reklama sem reklama seo

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group Change colors.
Przyjazne użytkownikom polskie wsparcie phpBB3 - phpBB3.PL
[ Time : 0.031s | 19 Queries | GZIP : Off ]


Sponsorem naszego serwera FTP jest e-utp.net