Zaloguj się by uzyskać pełen dostęp. Nie masz jeszcze konta? Założ je już teraz w kilka sekund.

Wysłany: 2011-07-04, 20:33


Jacob

Głupiomądry






Wiek: 28
Na forum: 5502 dni
Posty: 967
Nick w MP: Jacob

Piwa: 786

Respekt: 212,3
Respekt: 212,3Respekt: 212,3

Teraz poradnik ode mnie. Tutaj pomog? wam stworzy? skrypt polegaj?cy na wpisaniu komendy w markerze. Kr?tkie wyja?nienie: Je?li jeste? w markerze i wpiszesz /zmienskin to zmieni Ci si? skin, je?li wpiszesz /zmienskin poza markerem wy?wietli Ci si? wiadomo?? "Nie jeste? w markerze".

Zaczynamy!

O to nasz ca?y skrypt:
marker createMarker(98.26150.948.5'cylinder'2.025500150)
 
function skrypt(thePlayermatchingDimension)
 if isElementWithinMarker(thePlayermarkerthen
    setElementModel thePlayer275 )
 else
    outputChatBox("Nie jeste? w markerze!"25500)
 end
end
addCommandHandler("zmienskin"skrypt)


Instrukcja:
:arrow: Najpierw tworzymy marker. Gdzie "marker" wpisujemy nazw? markeru, gdzie X, Y, Z wpisujecie X, Y i Z, czyli miejsce gdzie ten marker ma by?. Gdzie "cylinder" wpisujecie rodzaj markera (checkpoint, ring, cylinder, arrow i corona).
marker createMarker(XYZ'cylinder'2.025500150)


:arrow: OK, gdy mamy marker to tworzymy funkcj?. Gdzie "skrypt" wpisujecie nazw? swojej funkcji, reszt? zostawiacie bez zmian.
function skrypt(thePlayermatchingDimension)


:arrow: Teraz musimy zrobi? tak, aby skrypt sprawdza? czy gracz jest w markerze. Dodajemy t? linijk? po rozpocz?ciu funkcji.
 if isElementWithinMarker(thePlayermarkerthen

Gdzie "marker" wpisujecie nazw? swojego wcze?niej stworzonego markera.

:arrow: A gdy po wpisaniu komendy w markerze /zmienskin co si? dzieje? Na razie nic. Musimy doda?, ?eby po wpisaniu komendy zmienia?o nam skin.
setElementModel thePlayer275 )

W miejsce "275" wpisujemy ID skina, na kt?ry chcemy aby po wpisaniu komendy si? zmieni?.
:arrow: Teraz musimy zrobi? aby po wpisaniu komendy poza markerem wyskoczy? nam na chacie tekst "Nie jeste? w markerze".
Dajemy enter wpisujemy
else

Nast?pny enter i wstawiamy
 outputChatBox(Nie jestew markerze!", thePlayer, 255, 0, 0)


:arrow: Teraz musimy zako?czy? sprawdzanie czy jeste? w markerze oraz funkcj?. Na ko?cu dodajemy 2 endy.
 end
end


:arrow: I wreszcie komenda uaktywniaj?ca ca?? funkcj?. Po tych naszych endach wklejamy:
addCommandHandler("zmienskin"skrypt)

Gdzie zmienskin wpisujemy komend?, po kt?rej zmieni si? skin, a tam gdzie "skrypt" wpisujemy nazw? funkcji.

Po wpisaniu wszystkich potrzebnych danych i posklejania to w ca?o?? powinno wyj?? co? takiego:
marker createMarker(98.26150.948.5'cylinder'2.025500150)
 
function skrypt(thePlayermatchingDimension)
 if isElementWithinMarker(thePlayermarkerthen
    setElementModel thePlayer275 )
 else
    outputChatBox("Nie jeste? w markerze!"25500)
 end
end
addCommandHandler("zmienskin"skrypt)


Teraz ostatni plik czyli meta.xml
<meta>
<script src="nazwaskryptu.lua" type="server" />
</meta>

Gdzie "nazwaskryptu" wpisujemy nazw? pliku, kt?ry ma s?u?y jako skrypt. Uwaga! Skrypt musi by? po stronie server!

Mam nadzieje, ?e wszystko dobrze opisa?em, wszelkie sugestie/uwagi prosz? sk?ada? w tym temacie.

Ostatnio zmieniony przez Barcioo 2018-05-27, 13:49, w całości zmieniany 4 razy  
Postaw piwo autorowi tego posta
 

 
Wysłany: 2011-07-04, 21:13


Piorun







Wiek: 32
Na forum: 6712 dni
Posty: 1837
Nick w MP: Piorun

Piwa: 516

Respekt: 480,7
Respekt: 480,7

Kod:

outputChatBox(Nie jeste? w markerze!", thePlayer, 255, 0, 0)


1. Brak cudzys?owia.
2. Je?eli ta funkcja jest po stronie klienta (przynajmniej tak po mecie wnosz?) to parametr "thePlayer" nie jest konieczny.

Poprawnie:
Kod:

outputChatBox("Nie jeste? w markerze!", 255, 0, 0)


Podpis
Możesz mnie znaleźć na: Facebook
Postaw piwo autorowi tego posta
 

 
Wysłany: 2011-07-04, 21:21


Jacob

Głupiomądry






Wiek: 28
Na forum: 5502 dni
Posty: 967
Nick w MP: Jacob

Piwa: 786

Respekt: 212,3
Respekt: 212,3Respekt: 212,3

Dzi?ki za wykrycie b??du, m?j pierwszy poradnik, w nast?pnych b?dzie lepiej.
Dopiero zaczynam przygod? z LUA ;)

Postaw piwo autorowi tego posta
 

 
Wysłany: 2011-07-04, 21:40


Piorun







Wiek: 32
Na forum: 6712 dni
Posty: 1837
Nick w MP: Piorun

Piwa: 516

Respekt: 480,7
Respekt: 480,7

Aha i jeszcze do tego addCommandHandler po stronie klienta nie zwraca source (w twoim przypadku thePlayer). Musisz zadeklarowa? gdzie? w kodzie (najlepiej przed markerem):
Kod:

thePlayer = getLocalPlayer()


//EDIT

Widz?, ?e (thePlayer, matchingDimension) ?ci?gni?te z Wiki MTA. Tylko, ?e tam ten skrypt jest napisany po stronie serwera i wtedy i owszem - addCommandHandler zwraca source.

//EDIT2

Ta funkcja nie mo?e by? po stronie klienta!
Czemu? Jak funkcja zmieni danemu graczowi skin to b?dzie widzia? go tylko on sam. Ta funkcja musi si? zdarzy? po stronie serwera.

Podpis
Możesz mnie znaleźć na: Facebook
Ostatnio zmieniony przez Piorun 2011-07-04, 21:48, w całości zmieniany 1 raz  
Postaw piwo autorowi tego posta
 

 
Wysłany: 2011-07-04, 21:47


Jacob

Głupiomądry






Wiek: 28
Na forum: 5502 dni
Posty: 967
Nick w MP: Jacob

Piwa: 786

Respekt: 212,3
Respekt: 212,3Respekt: 212,3

Mo?liwe, ja go z g?owy bra?em. Wkuwa?em na pami?? wszystkie funkcj?. Wi?c mo?e to wygl?da? na skrypt z wiki.

//Edit:
Zmieni?em na server. Ja zaczynam przygod? z LUA. Chcia?bym si? podzieli? z tym co si? nauczy?em z innymi pocz?tkuj?cymi, dlatego go napisa?em.

Dzi?ki za wykrywanie b??d?w. Na nast?pny raz b?dzie lepiej.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2011-07-05, 13:45


Taz9







Wiek: 36
Na forum: 5450 dni
Posty: 6
Nick w MP: Taz9



Respekt: 50

sory jestem nowy. co daje dok?adnie ten skrypt? bo nie rozumiem

Postaw piwo autorowi tego posta
 

 
Wysłany: 2011-07-05, 17:22


Jacob

Głupiomądry






Wiek: 28
Na forum: 5502 dni
Posty: 967
Nick w MP: Jacob

Piwa: 786

Respekt: 212,3
Respekt: 212,3Respekt: 212,3

Taz9, skrypt polega na tym, ?e:
Jest stworzony marker. Jak wpiszesz komend? /zmienskin nie b?d?c w markerze to wyskoczy Ci komunikat "Nie jeste? w markerze!" A jak wpiszesz komend? w markerze to zmieni Ci skin. Rozumiesz?

Postaw piwo autorowi tego posta
 

 
Wysłany: 2011-07-05, 21:56


Riot

3X






Wiek: 29
Na forum: 5729 dni
Posty: 1123
Nick w MP: Riot/3X

Piwa: 286

Respekt: 123
Respekt: 123

Fajne by?oby to gdyby wyskakiwa?o GUI ze skinami kt?re mo?esz zmieni? ;]

Postaw piwo autorowi tego posta
 

 
Wysłany: 2011-07-05, 21:59


Jacob

Głupiomądry






Wiek: 28
Na forum: 5502 dni
Posty: 967
Nick w MP: Jacob

Piwa: 786

Respekt: 212,3
Respekt: 212,3Respekt: 212,3

Ziomek11, na razie si? ucz? funkcji dotycz?cych GUI.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-06-18, 13:19


Arthur







Wiek: 33
Na forum: 5483 dni
Posty: 2

Piwa: 1

Respekt: 50

Pioruniasty lub inni obeznani z lua. Mam pro?b?;)
Mogliby?cie opisa? w jaki spos?b sprawi?, ?eby pojawia?o si? GUI? Potrafi? stworzy? GUI wi?c ju? sobie stworz? ale nie wiem jak przypisa?, ?eby si? pojawia?o jak si? wejdzie w marker.

Dobra nie wa?ne. Za?atwi?em to i dzia?a;)

Ostatnio zmieniony przez Arthur 2012-06-18, 15:46, w całości zmieniany 1 raz  
Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-06-18, 14:31


Jacob

Głupiomądry






Wiek: 28
Na forum: 5502 dni
Posty: 967
Nick w MP: Jacob

Piwa: 786

Respekt: 212,3
Respekt: 212,3Respekt: 212,3

Za??? nowy temat w dziale LUA.

Postaw piwo autorowi tego posta
 

 
Tagi: [poradnik] :: funkcja :: markerowa
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






Skocz do:  
Wyświetl posty z ostatnich:   
GTAONLINE.PL » JĘZYKI PROGRAMOWANIA » LUA » Poradniki do LUA » [Poradnik] Funkcja markerowa Ten temat jest zablokowany bez możliwości zmiany postów lub pisania odpowiedzi

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
Dodaj temat do Ulubionych
Wersja do druku