MineServer.pl - Minecraft Serwer Serwery Minecraft

Pełna wersja: [PORADNIK] Pisanie skryptów część 2
Aktualnie przeglądasz uproszczoną wersję forum. Kliknij tutaj, by zobaczyć wersję z pełnym formatowaniem.
Siemaneczko. W poprzednim poradniku poznaliście prosty szyfr na zrobienie komendy w skrypcie. Dzisiaj go trochę zmienię i pokażę wam nowe możliwości. Dla tych co czytali tylko to wpierw polecam znać poprzedni poradnik http://mineserwer.pl/Temat-PORADNIK-Pisa...ypt%C3%B3w

Co nas czeka? Dziś nauczycie się robienia okrojonych profesji specjalnch (okrojone ponieważ ograniczymy się tylko do nadawania sobie przedmiotów i ich działania), robienia mini vortexu z obrażeniami od upadku i teleportacji. Zaczynamy na początek kod na klasę na dobre wykonanie klasa endermana polecam przeczytać całość jeśli ma wyjść Smile

Kod PHP:
command /Enderman:
    
trigger:
        
give 1 sugar of fortune 10 named "&4&LZostań endermanem" to player
on rightclick with sugar
:
    if 
name of player's tool is "&4&LZostan endermanem":
        give 1 compass of fortune 1 named "&3Teleport" to player
        give 1 feather of fortune 10 named "&2Skok" to player 

Tak mniej więcej wygląda kodzik na endermana ale co to za klasa która ma tylko kompas i piórko które na nic mu się nie zdadzą. Wypadałoby więc by oba itemy do czegoś służyły więc tak. kompas będzie teleportem a piórko takim niby podwójnym podskokiem.

Nad naszym kodem od endermana polecam wykonać taki wpis:

Kod PHP:
aliases:
    
nonsolid 0627283031323738394050555963646566686970717275767778:08385:4-7104105106111115131132141142143147148157 

te numerki w 1 linijce się wam w Notepad++ zmieszczą WAŻNE: musicie mieć wszystkie te numerki co ja podałem inaczej enderman po użyciu kompasu nie będzie mógł się tepać!

Mamy nasz kod którego wiele razy w skrypcie przepisywać nie musimy starczy nam 1-razowo teraz omówię kod bo jest nowy:

"aliases:" aliasy należy rozumieć jako alternatywne słowa. Pozwalają one określać łatwiejszy sposób zapisania pewnego wyrażenia, lub umieszczenia w nim zbioru wyrażeń których może to dotyczyć.

"nonsolid = <numerki>" to oznacza bloki na które enderman może się teleportować wy możecie tego nonsolida przepisać po swojemu lecz pamiętajcie by wstawione w powyższym kodzie numerki przepisać co do jednego!

Ok wiedząc już co mamy zróbmy kod dla kompasu:

Kod PHP:
on rightclick with compass:
    if 
name of player's tool is "&3Teleport":
        loop blocks above targeted block:
            if loop-block is nonsolid:
                if block above loop-block is nonsolid:
                    teleport player to loop-block
                    stop trigger
[php]

Teraz omówię nowe linijki bo 2 pierwsze już znacie:

"loop blocks above targeted block:" oznacza że ma zbadać każdy blok prócz bloku docelowego (czyli tam gdzie patrzymy)

"if loop-block is nonsolid:" to oznacza sprawdzenie, czy blok który został zbadany należy do naszej listy zapisanej jako nonsolid (u was zamiast słowa "nonsolid" podstawiacie waszą nazwę tego aliasa)

"if block above loop-block is nonsolid:" to z kolei sprawdzenie czy blok, który znajduje się nad zbadanym wcześniej blokiem, również należy do listy zapisanej jako nonsolid

"teleport player to loop-block" teleportuje gracza do bloku docelowego

"stop trigger" oznacza że na tym nasza teleportacja się kończy gdybyśmy tego nie dali to byśmy poza świat się tepneli lub nwm co albo wyskoczyłby error

I tak wygląda teleportacja teraz czas na skok:

[php]
on rightclick with feather:
    if name of player'
s tool is "&2Skok":
        
push the player upwards at velocity 1
        push the player horizontally forward at speed 2 

Czas na omówienie kodu ale tylko 2 nowych linijek:

"push player upwards at velocity 1" oznacza że uniesiemy się w górę na 1 poziom skoku czyli taki jakby zwiększony skok 3 lub 4. POLECAM robić tylko 1 lub 2 bo wyżej gracz zginie od upadku (ewentualnie jeśli ktoś już z ciekawości czytał o skryptach na modyfikacje dmg'a to może sobie zrobić zabezpieczenie)

'pusk player horizontally forward at speed 2" oznacza to że wykona się jeszcze dalekie przesunięcie gracza z prędkością 2 czyli innymi słowy daleki wyskok POLECAM robić tylko od 1 do 3 bo inaczej przez głupotę spadniecie z wysokiej góry przez bardzo daleki skok (ewentualnie jeśli ktoś już z ciekawości czytał o skryptach na modyfikacje dmg'a to może sobie zrobić zabezpieczenie)

Czas na cały kod:

Kod PHP:
aliases:
    
nonsolid 0627283031323738394050555963646566686970717275767778:08385:4-7104105106111115131132141142143147148157

command 
/Enderman:
    
trigger:
        
give 1 sugar of fortune 10 named "&4&LZostań endermanem" to player
on rightclick with sugar
:
    if 
name of player's tool is "&4&LZostan endermanem":
        give 1 compass of fortune 1 named "&3Teleport" to player
        give 1 feather of fortune 10 named "&2Skok" to player

on rightclick with compass:
    if name of player'
s tool is "&3Teleport":
        
loop blocks above targeted block:
            if 
loop-block is nonsolid:
                if 
block above loop-block is nonsolid:
                    
teleport player to loop-block
                    stop trigger

on rightclick with feather
:
    if 
name of player's tool is "&2Skok":
        push the player upwards at velocity 1
        push the player horizontally forward at speed 2 

Tak oto mamy naszą profesję oczywiście można dodawać do profesji coś innego np to strzelanie pokazane w poprzednim poradniku lub wiele nowych rzeczy np. miecz, łuk itd.

Napiszcie na co w następnym poradniku chcielibyście jakiś skrypt Big Grin Pozdrówka iron Smile
Jak zrobic stoniarke po przez skrypt Smile

Co do poradnika poradnik bardzo ladny i chyba dzialajacy
Lap Diaxa
No to żeś mi dał wyzwanie Vivox Big Grin a co do działania to działa na 100% Big Grin
Ale sie napisales.
Lap diaxa
No no, ladnie.
Lap diaxa Smile
Fajny poradnik Smile
Łap 5 diax
XD
Fajne Smile
Przydatne na poczatki przygody z programowaniem. Trzymaj 2 diaxy za prace.
Dobra vivox mi już zadał wyzwanie czego w następnym poradniku oczekujcie to może teraz wpiszecie co wy byście chcieli bym dla was napisał w skrypcie Smile
Przekierowanie