Siemka, to jest m?j drugi tutolial, tym razem postaram si? troch? bardziej opisa? poszczeg?lne funkcje itd.
Dzi? zajmiemy si? skryptem 'Prawo jazdy', wi?c tak... W dziale skrypty mo?ecie znale?? m?j temat: "Tablice z autami". Odsy?am do niego i? bardzo si? on przyda.
Link: http://www.gtaonline.pl/t...e146b1e662bb214
Zaczynaj?c, tworzymy nowy plik, wraz z nim kopiujemy tablice z mojego tematu, lub tworzymy w?asne, po co tablice ? Definiuj?c nasze auta, czyli dziel?c je na cz??ci pierwsze ( Ci??arowe, Osobowe, itd... ) b?dziemy mogli stworzy? za pomoc? grup acl sprawdzanie czy gracz ma to prawo jazdy ( Czyli domy?lnie czy jest w grupie ACL ) je?eli tak, b?dzie m?g? wsi??? do aut zapisanych pod tablic?... Dlatego pierw robimy tablice, p??niej zajmiemy si? dodawaniem zabieraniem prawka.
Je?eli chcecie zrobi? sami i przypisa? do niej pojazdy, ma to wygl?da? tak:
test = { [411]=true }
Wi?c tak:
test - Jest to nazwa tablicy kt?r? definiujemy, mo?e to by? dowolny tekst, nie powinien zawiera? znak?w polskich. Preferuj? nazwa? 'prawkokata'.
{ } - Nawiasy te deklaruj? kiedy jest pocz?tek, a kiedy koniec naszej tablicy.
[411]=true - Obecnie najwa?niejsza cz???, przypisuje nasz pojazd jako true. Mi?dzy nawiasy wystarczy wsadzi? id pojazdu, a i tak... Je?eli chcecie stworzy? wi?cej ni? jedno, nowe id poprzedzacie przecinkiem, czyli:
Jednak?e radzi? bym pobra? moje tablice, i? sam robi?em takie prawo jazdy, co prawda jest ono banalne ale wystarczy jak na okresy Beta ^^.
Skoro mamy ju? tablice przejdziemy do dw?ch kolejnych rzeczy kt?re b?d? nam niezb?dne do stworzenia prawa jazdy, mam na my?li:
- Acl
- Funkcja: if ( prawojazdykata[getElementModel(source)] )
ACL:
Wi?kszo?? z was wie co to acl, wi?c nie b?d? si? rozpisywa?, m?wi?c kr?tko jest to plik w kt?rym s? przetrzymywane wszystkie permisje ( prawa ) gracza lub administratora, zatem musimy stworzy? w nim now? grup? kt?ra b?dzie mia?a nazw?, dajmy na to 'PJKA' A dlaczego ? ^.^ w skr?cie Prawo Jazdy Kategorii A
Plik znajduje si? w: MTA San Andreas/server/mods/deathmatch/acl.xml
Grup? t? tworzymy za pomoc?:
Tam gdzie PJKA Wpisujemy nazw? grupy acl.
Nast?pnie b?dziemy musieli doda? si? do tej grupy, u?yjemy do tego:
Po prostu zamiast Tomakan, wpiszcie sw?j login, ale UWAGA !
Musi by? to login ten kt?rym logujecie si? na serwer.
Oczywi?cie wklejamy to pomi?dzy
Funkcja:
Okej, teraz pod tymi wszystkimi tablicami kt?re utworzyli?my tworzymy funkcje kt?ra b?dzie sprawdza? nasze prawo jazdy przy wchodzeniu do auta.
Czyli, definiujemy funkcje, (ustalamy jej nazw? na prawoKatA) nast?pnie dodajemy 3 argumenty: thePlayer, seat, jacket.
thePlayer u?yjemy do pobierania konta gracza, przy sprawdzaniu czy gracz jest w Acl,
seat, u?yjemy do sprawdzenia czy gracz siedzi na 0 krze?le, czyli kierowcy, by nie by?o tak ?e wywala nas z auta gdy chcemy wsi??? na pasa?era.
jacked, oznacza gracza kt?ry zosta? okradziony. ( z auta )
Nast?pnie robimy warunek, czy gracz doszed? na miejsce kierowcy czyli wzgl?dem kodu '0'
Je?eli wsiad?, (then) wtedy zdarzy si?:
( No i teraz musimy sprawdzi? czy gracz jest w tej grupie acl, czyli: )
Tworzy to zmienn? lokaln? kt?ra ( getAccountName ) pobiera nazw? konta gracza ( Tu w?a?nie u?ywamy argumentu thePlayer ).
Na razie pobrali?my nazw? konta gracza do zmiennej, teraz musimy za pomoc? zmiennej lokalnej playerName stworzy? warunek sprawdzania czy gracz jest w acl:
Nie b?d? t?umaczy? tej funkcji, by?a ona ju? t?umaczona miliardy razy w innych poradnikach na tworzenie frakcji.
Wi?c, nasz? funkcje acl musimy po??czy? z tablic?, wygl?da? to b?dzie tak:
Linijk? t? daje wam tak jakby na gotowce, nie chc? wyt?umaczy? czego? ?l?, macie pami?ta? tylko ?e tam gdzie mam wpisane 'prawojazdykata' wpisujecie nazwe tablicy, tam gdzie 'PJKA' nazwe grupy w kt?rej ma by? gracz.
No okej, mamy ju? warunek itd, teraz musimy zrobi? przekierowanie, czyli je?eli gracz nie b?dzie w tej grupie ( else ) wywali go z auta. Wygl?da to tak:
Dajemy:
Nast?pnie:
Funkcja ta anuluje wsiadanie do pojazdu.
Mo?emy dodatkowo wy?wietli? tekst, nie masz prawa jazdy kategorii a. Czyli standard:
255,255,255 - Tutaj wpisujecie kolor R,G,B, tak jak jest teraz da kolor bia?y.
Okej, teraz ko?czymy t? funkcje za pomoc? 'end' Dajemy tego tyle ile jest pod-funkcji, czyli w tym wypadku:
Z kolei po 'end' musimy da? event Handler kt?ry wykona t? funkcje dopiero przy wsiadaniu do pojazdu:
Okej, dzi?ki temu nie mo?emy ju? wsiada? do aut z tablicy, poniewa? nie mamy prawa jazdy kat. A. Wi?c musimy zrobi? dawanie prawa jazdy.
Tworzymy funkcje, kt?ra b?dzie wywo?ywana na komend?, dodawa? b?dzie ona wpisanego gracza ( po komendzie ) do grupy acl 'PJKA'
Czyli jeszcze raz. Tworzymy funkcj?:
Argumenty om?wili?my poprzednio, nowe w tej funkcji to commandName, accountName przydadz? si? nam do wprowadzania komendy i sprawdzania czy takie konto istnieje na serwerze.
Wi?c musimy zrobi? by np, tylko urz?dnik m?g? dawa? prawo jazdy, robimy warunek acl, tak jak poprzednio:
Nast?pnie, to co ma si? wykona? po warunku, czyli dodanie do acl i tekst
'Wyda?e? prawo jazdy':
Okej, to teraz co tu to wszystko robi:
if accountName then, bynajmniej sprawdza czy nick jest wpisany poprawnie, je?eli tak to przepuszcza, wtem dodaje gracza wpisanego do acl 'PJKA' i wy?wietla tekst, Wyda?e? prawo jazdy.
Je?eli nie przepuszcza to nick jest nie prawid?owy i wywala tekst:
Na ko?cu ko?czymy endami, r?wnymi ilo?ci? funkcji i dodajemy jak? komend? wywo?ujemy t? funkcj?, czyli:
Zabieranie robimy tak samo, tylko zmieniamy komend?, z dajprawkoa na zabierzprawkoa, dodatkowo musimy zamieni? to:
na to:
Link do ca?ego skryptu: [ Za chwile b?dzie ] Prosz? nie kopiowa? poradnika na inne fora, bynajmniej nie zmienia? autora.
Wszystkie poprawki mile widziane.
Ostatnio zmieniony przez Mizy1999 2014-07-28, 14:47, w całości zmieniany 3 razy
Nie możesz pisać nowych tematów Nie możesz odpowiadać w tematach Nie możesz zmieniać swoich postów Nie możesz usuwać swoich postów Nie możesz głosować w ankietach