Postanowi?em poprowadzi? poradniki z modelowania w 3ds Max zwi?zane z GTA SA MTA.
Postaram si? systematyczne wrzuca? kolejne odcinki, aby?cie mogli uczy? si?.
W pierwszym odcinku wyt?umaczy?em podstaw?. Czyli co jest nam potrzebne i jak programy dzia?aj?.
Poradnik #3
Jest to poradnik zwi?zany z ustawianiem tylko i wy??cznie d?wi?k?w w modelu, aby ludzie kt?rzy maj? opanowan? podstaw?, mogli ?atwo nauczy? si? ustawiania d?wi?k?w.
Cze??. Dzisiaj chcia?bym zaprezentowa? do?? prost? metod? wypakowywania plik?w z u?yciem PHP. Jak wiemy na ServerProject.pl nie ma jeszcze w WebFTP opcji wypakowywania plik?w w formacie rar, zip itp. Ja nie chcia?em si? m?czy? z wgrywaniem plik?w, gdzie FileZilla raz wgra pliki a raz nie wgra i potem s? b??dy w silniku forum. Poni?ej przedstawiam kod, kt?ry nale?y wklei? w plik PHP a nast?pnie w niego wej??. Opisze krok po kroku.
1. Tworzymy plik rozpakuj.php i wklejamy do niego nast?puj?cy kod:
Ukryta wiadomość / Hidden message(aby ją zobaczyć musisz postawić użytkownikowi)
Wiadomość została ukryta, aby ją przeczytać należy się zalogować.
[b]InterpolateBetween - jest to interpolacja wektora 3D, kt?ry wylicza pomi?dzy warto?ci? pocz?tkow? a docelow?, mo?na by? r?wnie? stosowana do interopolacji 2D, operuje si? na niej przy pomocy parametr?w x,y,z.[/b]
[b]Wymagane argumenty:[/b]
- x1, y1, z1 - wsp??rz?dne pocz?tkowe wektora 3D lub warto?ci
- x2, y2, z2 - wsp??rz?dne docelowe wektora 3D lub warto?ci
- fProgress - warto?? zmiennoprzecinkowa pomi?dzy 0 a 1, kt?ra to okre?la post?p interpolacji (0 warto?? pocz?tkowa, 1 warto?? docelowa)
- strEasingType - okre?lenie z?agodzenia dla interpolacji (t?umacz?c oznacza to wyb?r profilu funkcji dla naszej interpolacji)
[b]Opcjonalne argumenty:[/b]
- fEasingPeriod - Okre?la zmian? dynamiki funkcji (tylko niekt?re funkcje mog? przyjmowa? ten argument) (domy?lnie przyjmuje warto?? 0,3)
- fEasingAmplitude - Okre?la amplitud? dla profilu funkcji (domy?lnie przyjmuje warto?? 1,0)
- fEasingOvershoot - Okre?la regulacje podczas zmiany dynamiki (domy?lnie przyjmuje warto?? 1,701)
[b]Zwroty:[/b]
Zwraca interpolacje 3D wektora x, y, z, w przypadku b??du argumentu przyjmuje warto?? false.
[b]Krok 4:[/b] Pod linijkami gdzie masz te dwie linijki : [code]<object name="resource.admin"></object>
<object name="resource.webadmin"></object>[/code]
[b]Krok 4:[/b] Zamiast tej cz?stki "login" wpisz sw?j login. B?dzie Ci on p??niej potrzebny.
[b]Krok 5:[/b] Zapisz plik.
[b]Krok 6:[/b] W??cz sw?j serwer i wejd? do gry.
[b]Krok 7:[/b] Wejd? na sw?j serwer.
[b]Krok 8:[/b] Wpisz komend? /register [login] [has?o]
W miejsce [login] wpisz sw?j login, kt?ry poda?e? przy wpisywaniu w notatniku, natomiast zamiast [haslo] wpisz swoje has?o, kt?rym b?dziesz logowa? si? na konto.
[b]Krok 9:[/b] Wpisz komend? /login [login] [has?o] tak jak poprzednio zamiast [login] sw?j login podany tam w notatniku, a zamiast [has?o] wpisz swoje has?o, kt?re u?y?e? w rejestracji punkt wy?ej.
[b]Krok 10:[/b] Po wci?ni?ciu klawisza "p" wy?wietli Ci si? Panel Admina, kt?rym mo?esz zarz?dza? ca?ym serwerem.
[ Komentarz dodany przez: DestroY : 2015-09-22, 15:45 ]
U?ci?lenie wszystkich poj??, tak ab...
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:
[lua]marker = createMarker(98.26, 150.9, 48.5, 'cylinder', 2.0, 255, 0, 0, 150)
function skrypt(thePlayer, matchingDimension)
if isElementWithinMarker(thePlayer, marker) then
setElementModel ( thePlayer, 275 )
else
outputChatBox("Nie jeste? w markerze!", 255, 0, 0)
end
end
addCommandHandler("zmienskin", skrypt)[/lua]
Instrukcja: 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).
[lua]marker = createMarker(X, Y, Z, 'cylinder', 2.0, 255, 0, 0, 150)[/lua]
OK, gdy mamy marker to tworzymy funkcj?. Gdzie "skrypt" wpisujecie nazw? swojej funkcji, reszt? zostawiacie bez zmian.
[lua]function skrypt(thePlayer, matchingDimension)[/lua]
Teraz musimy zrobi? tak, aby skrypt sprawdza? czy gracz jest w markerze. Dodajemy t? linijk? po rozpocz?ciu funkcji.
[lua] if isElementWithinMarker(thePlayer, marker) then[/lua]
Gdzie "marker" wpisujecie nazw? swojego wcze?niej stwo...