From 16ff5759bae6d506f291bb2fffa1663f5ca14209 Mon Sep 17 00:00:00 2001 From: Szyszkrzyneczka Date: Sat, 23 Mar 2024 17:59:57 +0100 Subject: [PATCH 1/2] Tutoriale Javascript MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Jbeać javascripta kurwe jebaną --- aquila/aquila.dm | 1 + .../code/game/gamemodes/nowicjusz/tutorial.dm | 28 +++ aquila/icons/mob/actions/actions_spells.dmi | Bin 603 -> 1385 bytes code/modules/client/client_defines.dm | 2 +- code/modules/jobs/job_types/_job.dm | 13 + .../modules/mob/dead/new_player/new_player.dm | 8 +- code/modules/mob/living/carbon/human/human.dm | 2 + tgui/packages/tgui/interfaces/Tutorial.js | 232 ++++++++++++++++++ .../packages/tgui/interfaces/images/brute.png | Bin 0 -> 270 bytes .../tgui/interfaces/images/buckled.png | Bin 0 -> 1574 bytes tgui/packages/tgui/interfaces/images/burn.png | Bin 0 -> 197 bytes .../tgui/interfaces/images/disarm.png | Bin 0 -> 495 bytes tgui/packages/tgui/interfaces/images/fa.png | Bin 0 -> 252 bytes tgui/packages/tgui/interfaces/images/grab.png | Bin 0 -> 495 bytes tgui/packages/tgui/interfaces/images/harm.png | Bin 0 -> 503 bytes tgui/packages/tgui/interfaces/images/help.png | Bin 0 -> 495 bytes .../packages/tgui/interfaces/images/hungy.png | Bin 0 -> 267 bytes .../tgui/interfaces/images/martwy.png | Bin 0 -> 214 bytes tgui/packages/tgui/interfaces/images/mood.png | Bin 0 -> 224 bytes .../tgui/interfaces/images/pressure.png | Bin 0 -> 313 bytes .../tgui/interfaces/images/thirst.png | Bin 0 -> 316 bytes .../tgui/interfaces/images/zdrowie.png | Bin 0 -> 193 bytes .../tgui/interfaces/images/zdrowy.png | Bin 0 -> 214 bytes tgui/packages/tgui/interfaces/images/zon.png | Bin 0 -> 1219 bytes tgui/tsconfig.json | 1 + 25 files changed, 285 insertions(+), 2 deletions(-) create mode 100644 aquila/code/game/gamemodes/nowicjusz/tutorial.dm create mode 100644 tgui/packages/tgui/interfaces/Tutorial.js create mode 100644 tgui/packages/tgui/interfaces/images/brute.png create mode 100644 tgui/packages/tgui/interfaces/images/buckled.png create mode 100644 tgui/packages/tgui/interfaces/images/burn.png create mode 100644 tgui/packages/tgui/interfaces/images/disarm.png create mode 100644 tgui/packages/tgui/interfaces/images/fa.png create mode 100644 tgui/packages/tgui/interfaces/images/grab.png create mode 100644 tgui/packages/tgui/interfaces/images/harm.png create mode 100644 tgui/packages/tgui/interfaces/images/help.png create mode 100644 tgui/packages/tgui/interfaces/images/hungy.png create mode 100644 tgui/packages/tgui/interfaces/images/martwy.png create mode 100644 tgui/packages/tgui/interfaces/images/mood.png create mode 100644 tgui/packages/tgui/interfaces/images/pressure.png create mode 100644 tgui/packages/tgui/interfaces/images/thirst.png create mode 100644 tgui/packages/tgui/interfaces/images/zdrowie.png create mode 100644 tgui/packages/tgui/interfaces/images/zdrowy.png create mode 100644 tgui/packages/tgui/interfaces/images/zon.png diff --git a/aquila/aquila.dm b/aquila/aquila.dm index 5df743330ae..c896f099208 100644 --- a/aquila/aquila.dm +++ b/aquila/aquila.dm @@ -61,6 +61,7 @@ #include "code\game\gamemodes\monkey\monkey.dm" #include "code\game\gamemodes\objective.dm" #include "code\game\gamemodes\objective_items.dm" +#include "code\game\gamemodes\nowicjusz\tutorial.dm" #include "code\game\gamemodes\vampire\grave_fever.dm" #include "code\game\gamemodes\vampire\traitor_vamp.dm" #include "code\game\gamemodes\vampire\vampire.dm" diff --git a/aquila/code/game/gamemodes/nowicjusz/tutorial.dm b/aquila/code/game/gamemodes/nowicjusz/tutorial.dm new file mode 100644 index 00000000000..296f1a2f8d0 --- /dev/null +++ b/aquila/code/game/gamemodes/nowicjusz/tutorial.dm @@ -0,0 +1,28 @@ + +/datum/action/innate/tutorialmenu + name = "Tutorial" + desc= "Naciśnij by przywołać krótki samouczek." + button_icon_state = "tut" + icon_icon = 'aquila/icons/mob/actions/actions_spells.dmi' + background_icon_state = "bg_demon" + var/datum/outfit/job/tutorialman + +/datum/action/innate/tutorialmenu/New(datum/H) + . = ..() + button.name = name + tutorialman = H + +/datum/action/innate/tutorialmenu/Activate() + to_chat(owner, "Tutorial nastąpi w przyszłości") + tutorialman.ui_interact(owner) + +/datum/action/innate/tutorialmenu/ui_interact(mob/user, datum/tgui/ui) + ui = SStgui.try_update_ui(user, src, ui) + if(!ui) + ui = new(user, src, "Tutorial") + ui.open() + +/datum/action/innate/tutorialmenu/ui_state(mob/user) + return GLOB.always_state + +/datum/action/innate/tutorialmenu/ui_data(mob/user) diff --git a/aquila/icons/mob/actions/actions_spells.dmi b/aquila/icons/mob/actions/actions_spells.dmi index 2ef1c15a0088bc87584b0d4438c216f73b60d1de..2b7aa78448095fd6f2294a24b99134d376ae595b 100644 GIT binary patch delta 1279 zcmV!)CT7pZBvVyCh3)q1GH( zBZD<8000E7Nkl&GtyrGjt;bv;p8mc}E!98nCYaJS44&W^SZ@7&9aCBq{4gLHf8zX#>ajDv2 zQm&xEumSeg)jRH;t@0i(FF-AeiUTPEJihyXP%(n36u?GkY)847$>`LPeG)0!RUM}4 zFF0tDgL~H4a@I7>0bqnTUEig9J1T>nSn(ui+5n^>q7h0_uq+a!S-wX>d^DgsK$Qpu z=#Bv5X&}2-KK6$*QJ(hr$1k4{5F>Dd_2OC&T@gT(zgBY--xn8U;xnx{czt|g95uIp zcG;>tVSSqISz~&kX#h|jyba0|#hQH)0O$C1@%Vp;;($=`Jb|tVP+V*KvgR1y(r12H-6KZ-foN zTL9h&8-TX}yy3__oh@}p+fujU^FZH!SKF@%Y7bxM+Ct-2IHxd6Hkg!}X#4e0->}RO zyx=5W2{veh@I=Jg9kDfAQd9Um+!uhE$=O%9JbV!@D;Q}G7%E#E!D8F-H2&EBt@ed74Qh+EPR}zU_sqCr-a}7;@4XC29 z!u0d3gsDadJPHRW7k@Fzukrwx!$xRpkj6wPgHj6U$!7w8#J0b?lsW!1?h!VCWQ4^? z5GDndqdW_TCd&}&_CG&#^bbmUutsJCG->LQmO)ho?%!Do(e(6m*<5dLuk60l+ot2hMssf;NUS1wP5)u+*2N~BB0pNMs`%o&Q(j(AppI0JF5vqVwONb}gn^AwhdSfII zlwlvgX+2uC%PEndNHFv^2+_cT((3^5{7n9oM1FLs6oCU&DWFttc*fX&&J=hZlqXFR zz+a!h6D~b@*!_1NZC}Qs*z0IYQXIfiUW76zs{$kE%TRx`JSZ~i9%Ir|@<7kz974C; z%tayJSs|~4a4EnF_mt{#G+DA+HJ%tL7MU4^W)&E$ZA5WRZ*?t3UXJuagfggVgdpGd zP-)Qm;x#@S`DixvY}VL+4}%EJFG43f>JfrNfk4%vB<0A$%aP#917ua;^YnsJ&u8YO zF;=d3{+`EYWj8?g0D4kE1QNt4kmJdcgionFh6)ZA1^f}rwzssR_x8(YJERlsvA-=}x;0HqV0rW@F1WzRzJm*0#r?tDkovR&Ysy={(Jtz+^J{W?0 z`0xkSN6|5#QtVD&jxh@!E(8bIu_z9E!97oax5i+LDsDq;P#+ANqX6z(WAKMAh2)yG pm8~43Lzv$FR^GGLgliE<@E?p>8n;dJC-?vW002ovPDHLkV1g9*MKb^Z delta 491 zcmaFKb(>{^IG+Ls8v_HwqPcY~K&oh>YI^;npv7w*yn4>GO@={rrpnKHo~RcL42(-W zT^vIy<|Nw`JYYEN!REvKwxN-2F{8l+K8XwiDF!fCg!RDGXV?B;DLUc6xQUtJ$Y{CJjb;q`^pKoka|FxdU zl_yN@#g#DQpci_(faV;iyCia~wbJtce#3tB>Ff}gHVc=_-S}n1r zcd0~>@|=gQN^7&)^Mk!4CUS#q&`b-8VQXM|_~K@Ift_v^TU3)^JV%fW!v;1%BMGmS z4NIH^c23#f6!t-pIp8hBD%Cb71*>}214&XLH)L6+{Zo*7R{2C?f7x#<<`oGnQ+cnH z>wRSm)MR+}^IIEd!oK6L+0_wSyggjuau{MyK$t0l?CYk%7C0^ z8~)EX)DpNDE;jvXN-#C(Z$1#vSt+5Q#kyeo4~KaztW29EMDMzqI~XuHwBG#PA0!d< zXv-IaqM~Ehnins#WZ`x!$hmA0ugsjneptrW@1EK { + // const { act, data }; + const [tab, setTab] = useLocalState(context, 'tab', 'Sterowanie'); + return ( + + +
+ {"Samouczek"} + + )} /> +
+
+ + setTab('Sterowanie')}> + Sterowanie + + setTab('Podstawy')}> + Podstawy + + setTab('Intents')}> + System Zamiaru + + setTab('Przetrwanie')}> + Przetrwanie część pierwsza + + setTab('Przetrwanie2')}> + Przetrwanie część druga + + setTab('Antagonists')}> + Antagoniści + + setTab('Next')}> + Co Dalej? + + +
+
+ {tab === 'Sterowanie' && ( + + )} + {tab === 'Podstawy' && ( + + )} + {tab === 'Intents' && ( + + )} + {tab === 'Przetrwanie' && ( + + )} + {tab === 'Przetrwanie2' && ( + + )} + {tab === 'Antagonists' && ( + + )} + {tab === 'Next' && ( + + )} + + + ); +}; + + + + +const Sterowanie = () => { + return ( +
+ + WASD - Poruszanie się

+ 1234 - Zmiana Zamiaru (1 - Pomoc, 2 - Rozbrojenie, 3 - Chwyt, 4 - Przemoc)

+ LPM (Lewy przycisk myszy) - Interakcja z otoczeniem

+ PPM (Prawy przycisk myszy) - Zaawansowana Interakcja z otoczeniem (Menu rozwijania przedmiotów na naciśniętej płytce)

+ X/ŚPM (Środkowy przycisk myszy) - Zmiana ręki

+ T - Mówienie (Napisz przed tekstem ; by napisać na radiu)

+ Y - Mówienie na radiu

+ O - Mówienie na OOC

+ L - Mówienie na LOOC (widzą tylko osoby wokół ciebie)

+ M - Pisanie co robi twoja postać (RP)

+ E - Zakładanie przedmiotu które obecnie jest trzymane w ręku

+ Z - Aktywacja/Interakcja z przedmiotem obecnie trzymanym w ręku (Np: Wyjęcie magazynka z pistoletu)

+ Q - Położenie przedmiotu obecnie trzymanego na podłogę

+ R - Aktywacja trybu rzucania, Wciśnij jeszcze raz R by wyłączyć tryb rzucania, lub wciśnij LPM by rzucić przedmiot tam gdzie wskazuje twój kursor

+ H - Przerwanie ciągnięcia + V - Położenie się na ziemi + G - Podanie komuś przedmiotu (Nie jest natychmiastowe, osoba któej podawany jest przedmiot musi go zaakceptować) + + Zaawansowane Kombinacje +

+ CTRL + WASD - Zmiana orientacji

+ CTRL + LPM - Chwycenie obiektu lub istoty którą można ciągnąć

+ SHIFT + LPM - Sprawdzenie przedmiotu/obiektu/istoty

+ SHIFT + ŚPM - Wskazanie na dany obiekt/płytkę/isotę/przedmiot

+ ALT + LPM - Otworzenie pojemnika/Pokazanie wszystkich przedmiotów znajdujących się na wciśniętej płytce

+
+
+ ); +}; + +const Podstawy = () => { + return ( +
+ + TBA + +
+ ); +}; + +const Intents = () => { + return ( +
+ + TBA + +
+ ); +}; + +const Przetrwanie = () => { + return ( +
+ + TBA + +
+ ); +}; + +const Przetrwanie2 = () => { + return ( +
+ + TBA + +
+ ); +}; + +const Antagonists = () => { + return ( +
+ + Poradnik dla początkujących zdrajców co nie wiedzą jak się odpala uplinka (miejsce gdzie się kupuje fajne rzeczy)

+ Wyciągnij PDA- Włącz PDA - Direct Messenger - Set Ringtone - Wklep kod który Ci został podany na samym starcie.

+ Nie zapomnij o zamknięciu uplinka gdy z nim skończysz, bo inaczej ochrona może ci zrobić jajoskręt

+
+
+ ); +}; + +const Next = () => { + return ( +
+ + Na tym kanale znajdziesz pomoc dla twego problemu, Nie bój się pytać innych graczy

+ Link do angielskiej wikipedii kodbazy naszego serwera

+ Link do naszej wikipedii

+
+
+ ); +}; + +/* +tabs.map(tab => ( + +
); @@ -136,7 +141,11 @@ const Intents = () => { title="System Zamiaru" overflowY="scroll"> - TBA + Podstawową formą interakcji w Space Station 13 jest kliknięcie w coś. Jednak to co wydarzy się po kliknięciu, zależy od tego jaką mamy intencje. W tym wprowadzeniu wyjaśnione zostaną różnice między 4 dostępnymi intencjami.

+ Pomoc (kolor zielony) - Podstawowa i pozytywna intencja. Kliknięcie drugiej postaci nie wyrządzi jej szkód. Możemy też swobodnie przechodzić przez inne postaci. Powinna zawsze być domyślnie wybrana

+ Krzywda (kolor czerwony) - Wybierana wtedy, gdy chcemy zaatakować postać. Kliknięcie w kogoś zada mu obrażenia. Sprawia też, że przez postać nie będzie dało się przejść, zamiast tego będziemy ją przesuwać.

+ Chwyt (kolor żółty) - jedno kliknięcie na postać złapie ją i będziemy mogli ją ciągnąć, tak samo jak w przypadku skrótu klawiszowego CTRL + LPM. Kliknięcie drugi raz złapie postać agresywnie. Kliknięcie trzeci raz założy jej chwyt. Ostatnie, czwarte kliknięcie zacznie ją dusić. Postać puszczamy klawiszem H.

+ Pchnięcie (kolor niebieski) - używane by kogoś popchnąć. Jeśli popchniemy kogoś na inny obiekt, to upuści ona trzymany przedmiot i przewróci się. W ten sposób można kogoś rozbroić

); @@ -148,7 +157,10 @@ const Przetrwanie = () => { title="Podstawy Przetrwania 1/2" overflowY="scroll"> - TBA + Najczęstszą przyczyną śmierci nowych graczy jest uduszenie się, wystawienie na działanie przestrzeni kosmicznej lub spalenie. Poniżej przedstawiony zostanie krok po kroku sposób radzenia sobie z każdym zagrożenie

+ Duszenie się - Informowane za pomocą ikonki . Każdy załogant jest wyposażony w zestaw do oddychania. Kliknij w plecak. Następnie otwórz pudełko, które się tam znajduje (ALT + LPM). Wyciągnij maskę i załóż ją na twarz . Następnie wyciągnij butlę z tlenem i włóż ją do kieszeni. Teraz wystarczy tylko włączyć aparaturę klikając w przycisk u góry ekranu

+ Działanie przestrzeni kosmicznej - tutaj umiera się zwykle od niskiej temperatury i ciśnienia zadającego z czasem obrażenia. Rozwiązaniem jest wyciągnięcie z tego samego pudełka co tlen skafandra kosminczego. Hełm zakłada się na głowe. Skafander należy w pierwszej kolejności rozwinać za pomocą aktywacji w ręce (klawisz Z) i założyć w miejsce skafandrów

+ Pożar - należy opuścić płonący obszar i zacząć turlać się w celu ugaszenia płomieni (kliknięcie w przycisk RESIST)

); @@ -160,7 +172,11 @@ const Przetrwanie2 = () => { title="Podstawy Przetrwania 2/2" overflowY="scroll"> - TBA + Nie musisz być lekarzem, by uratować swoje lub cudze życie. Poniżej przedstawione zostaną najpopularniejsze scenariusze niewymagające zaawansowanej wiedzy.

+ Zostałeś ranny - należy wybrać obszar ciała, który jest uszkodzony, a następnie trzymając plastry lub maść kliknąć na swoją postać. Plastry leczą obrażenia od uderzeń, cięć, postrzałów i ciśnienia. Maść jest na oparzenia od wysokich temperatur. Leczenie kogoś wygląda tak samo. Wybiera się obszar ciała i klika na cudzą postać.

+ Znajdujesz kogoś, kto leży - SHIFT + kliknięcie w niego, by dowiedzieć się czy żyje. Jeśli wyświetliła się informacja o tym, że nie żyje, zanieś go do najbliższego lekarza. Lepiej unikać ciągnięcia kogoś po ziemi, ponieważ traci on wtedy krew.

+ Chwyć poszkodowanego agresywnie (Intencja chwytu i kliknięcie kogoś dwa razy) a następnie przeciągnąć jego postać na swoją postać. W ten sposób weźmie się go na plecy. Z kolei jeśli osoba żyje, to w pierwszej kolejności należy użyć medipena dostępnego w pudełku przetrwania w naszym plecaku.

+ Następnie można przystąpić do resuscytacji (Intencja pomocy i klikanie w postać po wybraniu klatki piersiowej). Jeśli to nie pomaga, zanieść go do lekarza

);