Discuss Scratch

AANNTTOONNII
Scratcher
1000+ posts

Jak hakować bloki?

Czy nie zdenerwowało was kiedyś ,że nie możecie nadawać komunikatów o nazwach zdefiniowanych przez użytkownika, albo tworzyć własnych zmiennych? Otóż to wszystko jest możliwe dzięki hakowaniu bloków. W tym poradniku pokażę wam jak to się robi.

1. Stwórz nowy projekt. Do niego wstaw bloki, które chcesz połączyć/zhakować.

Np:
ustaw [qwerty v] na [7]
i
(qwerty)

2. Pobierz projekt na swój komputer.

3. Rozpakuj archiwum ZIP.

Linux (działa w środowisku graficznym GNOME)
Wystarczy w menedżerze plików kliknąć projekt prawym przyciskiem myszy i wybrać opcję “Rozpakuj tutaj”.

Windows OS / Mac OS:
Jeśli używasz Mac OS'a lub Windowsa nie możesz bezpośrednio rozpakować projektu ponieważ twój menedżer plików nie rozpoznaje go jako archiwum ZIP. Musisz użyć więc pewnej sztuczki. Zmień rozszerzenie pliku z sb2 na zip. Potem naciśnij prawym przyciskiem myszy i wybierz pozycję “rozpakuj”.

Systemy Uniksowe ( FreeBSD / macOS / Linux)
Możesz równierz rozpakować ten plik za pomocą programu unzip, za pomocą opcji -d możesz określić plik wynikowy, możesz też go nie określać, wtedy zostanie on zapisany do obecnie otwartego katalogu.

unzip project.sb3

4. Otwórz właściwy plik.

W rozpakowanym pliku znajdziemy kilka innych w tym jeden o rozszerzeniu json. Otwórz go w swoim ulubionym edytorze tekstu (np. notatnik, atom, vim). Pamiętaj żeby go nie otwierać w procesorze tekstu! (AbiWord, Microsoft Word).

5. Edycja pliku.

W tym pliku widać dużo rzeczy np. blok ustaw qwerty na 7 wygląda tak:
[[134, 168, [["setVar:to:", "qwerty", "7"]]]
a blok qwerty tak:
[140, 230, [["readVariable", "qwerty"]]]
Aby z bloku
ustaw [qwerty v] na [7]
otrzymać blok
ustaw (qwerty) na [7]
należy połączyć te napisy w następujący sposób:
[[134, 168, [["setVar:to:", ["readVariable", "qwerty"], "7"]]]

6. Ponownie skompresuj katalog.

Windows OS:
W Windowsie naciśnij (wyślij do -> folder skompresowany) i zmień jego rozszerzenie z zip na sb2.

Program unzip (systemy uniksowe)
Jeżeli zdecydowałeś się wcześniej na użycie programu unzip to teraz możesz skompresować ten folder za pomocą programu zip, jeżeli chcesz zzipować cały folder użyj opcji -r (recursive) lub zapisz ścieżkę do wszystkich plików używając wyrażeń regularnych (REGEX).

zip project.sb3 project/*

7. Zastosowanie

Jako qwerty możemy wtedy ustawić dowolną zmienną, czyli jeden blok:
ustaw (qwerty) na [7]
zastępuje nam 2 lub więcej
ustaw [a v] na [7]
ustaw [b v] na [7]

Przykładowy zestaw zhakowanych bloków znajdziecie tutaj:
https://scratch.mit.edu/projects/219437121/

Last edited by AANNTTOONNII (March 29, 2021 11:43:36)

MentolMen
Scratcher
1000+ posts

Jak hakować bloki?

Opisek miał też do tego poradnik/on hackował bloki definiowane.
AANNTTOONNII
Scratcher
1000+ posts

Jak hakować bloki?

Pewnie go napisał dawno temu bo go nie mogłem znaleźć
MentolMen
Scratcher
1000+ posts

Jak hakować bloki?

No, każdy jego poradnik stary będzie, ale nadal aktualny ten jest ! Nawet samemu korzystałem(chociaż trochę nieaktualny, bo można było ominąć kroki, scratch ułatwiło sprawę)
MentolMen
Scratcher
1000+ posts

Jak hakować bloki?

Hmm lepiej zamiast zmiennej wstawić tam blok połącz Będzie wtedy można wstawiać listę szybciej.(chodzi o przywołwanie zmiennej z elementu z listy, jest to możliwe ale po co sobie utrudniać, jak to da więcej swobody)
MentolMen
Scratcher
1000+ posts

Jak hakować bloki?

https://scratch.mit.edu/discuss/topic/121522/
To też ciekawy poradnik co do hackowania blocków, trzeba tylko go uaktualnić.
AANNTTOONNII
Scratcher
1000+ posts

Jak hakować bloki?

Tak nawet lepiej napisany, ale nieaktualny więc niestety nie można go użyć.
MentolMen
Scratcher
1000+ posts

Jak hakować bloki?

Można, jest aktualny(wiele się nie zmieniło) o ile dobrze wiem, kroki te same tylko niektóre trzeba wyrzucić
AANNTTOONNII
Scratcher
1000+ posts

Jak hakować bloki?

On tam chyba powstawiał jakieś obrazki, ale mi nie działają. Nie wiem dlaczego. I do tego opisek jest bardzo rzadko aktywny więc musiałbyś go znaleźć i mu powiedzieć żeby uaktualnił.
MentolMen
Scratcher
1000+ posts

Jak hakować bloki?

Samemu się uaktualni, ale jakby co on jest na discordzie. Obrazki były ale wygasły już dawno.

Last edited by MentolMen (May 19, 2018 09:26:14)

AANNTTOONNII
Scratcher
1000+ posts

Jak hakować bloki?

Jak to wygasły?
AANNTTOONNII
Scratcher
1000+ posts

Jak hakować bloki?

Po co blok połącz?
Bo nie rozumiem cię MentolMen.
MentolMen
Scratcher
1000+ posts

Jak hakować bloki?

Bo były na hostingu który usuwa zdjęcia po jakimś czasie, a wątek już 3 lata prawie ma. Blok połącz lepszy
(połącz [] i [])
Bo możesz
(połącz (foo) i [])
ale możesz też
(połącz (element ( v) z [list v] :: list) i [])
Lepsze według mnie Większa swoboda.
AANNTTOONNII
Scratcher
1000+ posts

Jak hakować bloki?

Ale jak już zhakujesz, że masz
ustaw (qwerty) na [9]
To nie musisz znowu hakować żeby mieć
ustaw (a) na [9]
tylko po prostu podmieniasz
MentolMen
Scratcher
1000+ posts

Jak hakować bloki?

… no tak, ale nie możesz tam wstawić innych bloczków jak:
(głośność)
liter
cyfr
kalkulacji
elementów

Możesz tylko zmienne, czyli byś musiał zmienną przed tym ustawiać na to co chcez na prawdę, a to bez sensu. Lepiej połącz
AANNTTOONNII
Scratcher
1000+ posts

Jak hakować bloki?

Mi wchodzi także głośność.
MentolMen
Scratcher
1000+ posts

Jak hakować bloki?

???????????? Nie rozumiesz ?????
AANNTTOONNII
Scratcher
1000+ posts

Jak hakować bloki?

Nie
MentolMen
Scratcher
1000+ posts

Jak hakować bloki?

https://en.scratch-wiki.info/wiki/Reporter_Block
W połącz możesz wstawić każdy z tych bloków. Po prostu w połącz możesz dać dowolną wartość, w zmienną też, tylko musiałbyś użyć do tego kolejny blok, co jest całkowicie niepotrzebne, jeżeli zamiast zmiennej wstawimy połącz.
AANNTTOONNII
Scratcher
1000+ posts

Jak hakować bloki?

Nie. I tak można wstawić każdy blok. Przynajmniej u mnie. Bo ty może masz gorszego scratcha.

Powered by DjangoBB