Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Rekomendowane odpowiedzi

Opublikowano

Witam
 

 

Computer Craft (CC) − Mod do minecraft'a dodający monitory, komputery i wszelkie inne rzeczy w tej tematyce (np. Modem) 

 
Lua − język skryptowy pierwotnie zaprojektowany dla rozszerzenia funkcjonalności różnych aplikacji, jednak często używany jako samodzielny język.

Lua wiąże w sobie prostą składnię (podobną do Pascala). 
 

 
LUA - Minu-Kurs


Zmienna (definiowanie)

 

Zmienna - jest ona obszarem pamięci z pewnymi danymi przechowywanymi w niej. Zmienne w programie mają określone wartości, które oczywiście mogą ulegać zmianom. Definiowanie zmiennych jest bardzo prostą czynnością: podajemy jej nazwę oraz zawartość zmiennej (dla przykładu liczba). Zmienne możemy inicjalizować (prawidłowo stworzyć) w dowolnym miejscu naszego programu i przypisywać jej wartość w dowolnym momencie. 

zmienna_liczbowa = 92 -- Liczba
zmienna_z_tekstem = "WOW! Ale fajny tekst!" -- "String"

Zmienna (wyświetlanie)

write NAZWA_ZMIENNEJ

Stała / Zmienna (przykłady użycia w matematyce)

x = 1 -- x ma wartość 1
y = 2 -- y ma wartość 2
print( x + y ) -- da 3 / dodawanie zmiennych
print( x - y ) -- da -1 / odejmowanie zmiennych
print( x * y ) -- da 2 / mnożenie zmiennych
print( x / y ) -- da 0.5 (chyba) / dzielenie zmiennych
print( -x ) -- da 0 / odejmowanie 1 od zmiennej 

 
IF  (Warunek)

 

IF jest warunkiem, jest używany na przykład do porównywania zmiennych (jeżeli takie same, jeżeli większa, jeżeli mniejsza).
 

if (zmienna1 == zmienna2) then
    
    -- Jeżeli zmienna1 jest taka sama jak zmienna2 to......
 
end

if (zmienna1 == 12) then

    -- jeżeli zmienna1 równa się 12 to....

end

if(zmienna1 ~= zmienna2) then

    -- jeżeli zmienna1 Nie Równa się zmienna2

end

 
Funkcjonalność IF możemy rozszerzyć za pomocą słowa kluczowego else. Słowo kluczowe else oznacza "w przeciwnym wypadku", czyli jeśli warunek nie zostanie spełniony, wykonaj inny kod. 

 

"Pochodną" od else jest else IF, oznacza to "w przeciwnym wypadku i gdy....."

if (stala1 == stala2) then 

-- jeżeli stala1 jest taka sama jak stala2

else 

-- jeżeli nie jest taka sama

elseif (stala2 ~= stala1) then 

--jeżeli stala1 nie równa się stala 2 i gdy stala2 nie jest taka sama jak stala1

end


"Operatory"

== -- jeżeli jest takie same
~= -- jeżeli jest inne niż
>= -- jeżeli jest większe lub równe
<= -- jeżeli jest mniejsze lub równe
and -- if(a>1 and b>2) = jeżeli a>1 I JEŻELI b>2

Funkcje

function moja_funkcja() -- "Tworzymy" funkcję, nazwa funkcji to: moja_funkcja
   -- Tutaj dajemy jakikolwiek kod (LUA)
end

Wywołanie Funkcji

nazwa_funkcji()

Dla przykładu

jakaFajnaFunkcja() 

Funkcja z Argumentem

 

 

Do do funkcji można "dać" jakieś dane, na przykład zmienną

function mojaFunkcjaZArgumentem(JakisArgument) 
    -- JakisArgument jest zmienną
    write JakisArgument -- wypisujemy na ekranie Parametr Funkcji (JakisArgument)
end

"Wywołanie" Funkcji

mojaFunkcjaZParametrem("Ale fajny Argument!") 

Tablica (Array)

 

Tablice to zmienne, które pozwalają nam przechowywać większą ilość danych w uporządkowanej formie. Jeśli potrzebujemy przechować 100 imion, czy liczb zamiast deklarować 100 zmiennych możemy do tego użyć tablicy. 

tablica = {"element pierwszy", "element drugi", "element trzeci"}

Pobieranie danych z tablicy:

nazwa_tablicy[ numer_danych ]

Przykład

tablica = {"element pierwszy", "element drugi", "element trzeci"}

write(tablica[1]) -- wyświetli " element pierwszy "

write(tablica[2]) -- wyświetli " element drugi "

tablica[4] = "element czwarty" -- dodajemy do tablicy kolejny element

write(tablica[4]) -- wyświetli " element czwarty "

ComputerCraft:

 

 

Konsola ("Komendy"):

 

 

 

edit <nazwa nowego/starego programu> -- edytuje / tworzy plik

lua -- włącza konsolę lua

reboot -- restart

 

 

 

Konsola LUA:

 

 

 

ls -- wyświetla wszystkie programy oprócz domyślnych

pastebin get <kod> <nazwa_pliku> -- pobiera plik i zapisuje go jako <nazwa_pliku>

pastebin put <nazwa_pliku> -- wysyła plik <nazwa_pliku> na pastebin i wyswietla kod do pobrania

label set <nazwa> -- nazywasz swój kompóter

label set <strona czytnika> <nazwa dyskietki> -- zmienia nazwę dyskietki

 

 

 

Program (Funkcje):

 

print "WpiszTuTekst" -- wyświetla napis w tym przypadku ' WpiszTuTekst '

write "WpiszTuTekst" -- wyświetla napis w nowej linii

os.reboot() -- restartuje komputer

os.shutdown() -- wyłącza kompóter

sleep(czas) -- program zatrzymuje się w miejscu i czeka X czasu (w sekundach)

redstone.setOutput(" (z której strony wychodzi sygnał redstone) ", (true - włącz , false - wyłącz) -- włącza / wyłącza sygnał redstone wychodzący z komputera (przykład: redstone.setOutput("back", true) -- sygnał wyjdzie z Back czyli z tyłu)

zmienna = read() -- Program pobiera wpisane słowo (piszemy coś i wciskamy enter) w ten sposób to co wpisaliśmy wędruje do zmiennej

term.clear() -- czyści komputer z wszelakiego tekstu (monitor komputera)

 

 

STARTUP (Plik Boot)

 


plik startup to to samo co normalny program, ale jest 1 ale ( :D ) ten plik to tgzw. plik Boot czyli plik startowy.
jeżeli zamieścimy tam na przykład ' print "witaj" ' to przy restarcie lub włączeniu komputera wyświetli się napis "witaj"

 

ROM

 


ROM jest to pamięć komputera (ogólna), nie da się jej skasować ani edytować przy pomocy komendy np. edit rom

 

RedNet

 


 

Stworzenie "połączenia" RedNet

 

Pierwsze co musimy zrobić to podłączyć Modem RedNet
Aby "włączyć" RedNet musimy wpisać:


rednet.open("right")

Gdzie " right " zastępujemy stroną komputera, na której jest modem (right, left, up, down)
 



Aby wysłać jakąkolwiek wiadomość należy wpisać:

 



rednet.broadcast("Tutaj jakaś wiadomość") 

 
 


Następnie aby "Pobrać" dane wysłane przez innego użytkownika wpisujemy:

 
 


zmienna = rednet.receive() 

Lub można ustawić czasową próbę pobrania danych

rednet.receive(10) -- przez 10 sekund program będzie próbował pobrać dane z "Sieci" (RedNet) 

Odłączenie się od sieci (wyłączenie modemu)

rednet.close("right")

Gdzie " right " zastępujemy stroną komputera, na której jest modem (right, left, up, down)
 

 

 

Prosty Program Jako Przykład:

 


 

print "Hello World!"
sleep(1)
print "Hello Player!"
 -- powyższy program wyświetla napis Hello World! a następnie (po sekundzie) napis Hello Player!

 

 


Drugi program czyli "Przywitajka 1.0"

 


 

write("Wpisz tu swoje imie: ") -- Napisz....
name = read()  -- <-- Zmienna
print("czesc "..name.."!") -- Napisz zmienną + tekst

Na czym to polega?
"Wpisz swoje imię a ja się z tobą przywitam"
czyli:
wpisujesz swoje imię, a program się z tobą wita  (  :D )
 
"funkcja" ' read() ' pobiera wpisany do komputera tekst do np. zmiennej, natomiast ' ..name.. ' jest to wyświetlanie zmiennej

 

 


Komputer Na Hasło

 


Wpisujemy "delete startup" aby usunąć wszelki niepotrzebny kod który nam może zepsuć aplikację, a następnie "edit startup"


term.clear()
oldpullEvent = os.pullEvent
os.pullEvent = os.pullEventRaw

pass = "TU_WPISZ_HASŁO"

write "Podaj haslo: "

input = read()
if pass == input then
term.clear()
term.setCursorPos( 1, 1 )
print "haslo poprawne!"
sleep(1)


else
print "Haslo jest niepoprawne"
sleep(10) -- przez 10 sekund nie można wpisać hasła (aby zapobiec próbą odgadnięcia)
os.reboot()
end

os.pullEvent = oldpullEvent

Tłumaczenie:

term.clear() -- czyścimy monitor z tekstu
oldpullEvent = os.pullEvent -- blokada CTR+T
os.pullEvent = os.pullEventRaw -- blokada ciąg dalszy

pass = "TU_WPISZ_HASŁO" -- Tutaj wpisujemy swoje hasło

write "Podaj haslo: " -- program wyświetla napis "Podaj haslo: "

input = read() -- wpisujesz hasło, a program dodaje to co napisałeś do zmiennej
if pass == input then -- jeżeli zmienna pass (hasło) jest taka sama jak zmienna input (hasło które wpisaliśmy) to
term.clear() -- wyczyść monitor
term.setCursorPos( 1, 1 ) -- ??  ??
print "haslo poprawne!" -- wyświetl napis "haslo poprawne!"
sleep(1) -- odczekaj 1 sekundę i przejdź do normalnej konsoli komputera


else
print "Haslo jest niepoprawne" -- a jeżeli zmienna pass nie równa się zmiennej input (hasło złe)
sleep(10) -- przez 10 sekund nie można wpisać hasła (aby zapobiec próbą odgadnięcia)
os.reboot() -- restart komputera
end -- koniec if

os.pullEvent = oldpullEvent -- włączamy obsługę CTRL+T

 

 

 

Jak Zablokować CTRL + T

 


Jak wiemy, po wciśnięciu CTRL+T przez kilka sekund Aktualnie uruchomiona aplikacja na komputerze się wyłącza (coś jak ALT+F4), aby temy zapobiec musimy napisać taki oto kod:


oldpullEvent = os.pullEvent
os.pullEvent = os.pullEventRaw

 
a na samym końcu kodu:


os.pullEvent = oldpullEvent

 

 

 

Computer Craft - Linki Zewnętrzne:

 


 (żodyn z tych linków nie konkuruje z mpcforum! żodyn!)

  • Turtle API
http://www.computercraft.info/wiki/'>http://www.computercraft.info/wiki/Turtle_(API'>http://www.computercraft.info/wiki/'>http://www.computercraft.info/wiki/Turtle_(API)
  •  Computer Craft Wiki
http://www.computercraft.info/wiki/'>http://www.computercraft.info/wiki/
  • Strona Mod'a
http://www.computercraft.info/

 

 

 

 

 

 

 

 

 

- 2014-07-11

  • Poprawienie kilku literówek
  • Dodanie Array

- 2014-07-09

  • Dodanie funkcji "read()"

- 2014-07-08

  • Kolejne poprawki estetyki całego TuT'u 
  • Dodano wytłumaczenie "Jak działa zabezpieczenie komputera"

- 2014-07-03

  • Poprawienie wyglądu linii pomiędzy spoilerami a "nagłówkiem"

 - 2014-06-27

  • Ogólna korekta
  • Dodanie większej ilości tekstu

 - 2014-05-04

  • Dodanie RedNet
  • Ogólne poprawki
  • Dodanie CODE do Komend w Konsoli
  • Dodanie Funkcji

- 2014-02-23

  • Dużo poprawek

- 2013-03-22

  • zmienienie // na --
  • zmienienie != na ~=

-  2013-03-17:

  • Aktualizacja tematu
  • Zmiana Czcionki
  • >Kololki<
  • Poprawa >>" Chasła "<<
  • Nowy code....
  • new Temat (do Mod'a Edycja tematu i umieszczenie nowych danych)

Podziękowania dla: GothDawid i Kaziu
W tym poradniku użyto: Wikipedia, ComputerCraft Wiki, IndBuildCraft

  • 2 miesiące temu...
  • 8 miesięcy temu...
  • 4 tygodnie później...
  • 4 tygodnie później...
  • 3 tygodnie później...
  • 1 miesiąc temu...
Opublikowano

#Refik

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Zmarnowałeś 30 sekund twojego życia na otwieranie spoilerów

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Opublikowano

#Ref

 

 

 

- 2014-07-08

  • Kolejne poprawki estetyki całego TuT'u 
  • Dodano wytłumaczenie "Jak działa zabezpieczenie komputera"

  • 1 miesiąc temu...
Opublikowano

No w lua do CC pisałem już nie raz jakieś tam programy typu: dotykowy ekran czy system wiadomości. Praktycznie wszystkie rzeczy z tego tuta znam choć nie wiedziałem tylko tego odbierania info z rednetem więc za to masz plus ;) A tak poza tym to tutorial przyjemny do czytania, ładny i na pewno przydatny dla ludzi którzy zaczynają przygodę z Lua w CC :)


 


~Pozdrawiam Toxic325325


Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...