Anemonex 125 Opublikowano 27 września 2014 Udostępnij Opublikowano 27 września 2014 Witajcie! Ponieważ nie jestem dobry w pięknych wstępach itp. przejdę od razu do podstaw. W tym poradniku dowiesz się jak w Skript możesz zarządzać swoim czatem! Jestem pewien, że są miliony innych sposobów na zrobienie tego samego, co ja tutaj napisałem... mimo wszystko postanowiłem wrzucić tu swoją propozycję.PodstawaZacznijmy od dodania zdarzenia "on chat".on chat:Aby "oryginalna" wiadomość z chatu nie została wysyłana - zatrzymamy to zdarzenieon chat: cancel eventOk, teraz możemy przejść do edytowania wyglądu wiadomości. Teraz wejdź do konfiguracji pozwoleń i do każdej dodaj jakieś pozwolenie, które będzie określało w jakiej jest grupie. Ja dodam "player", "vip" oraz "admin".Następnym krokiem będzie podzielenie dodanie do skryptu tych samych pozwoleń.on chat: cancel event if player has permission "gracz": if player has permission "vip": if player has permission "admin":Teraz do każdej grupy możemy dodać odpowiednią formę wiadomości. Aby nie dodawać zbędnych zmiennych zrobimy to na zmiennej lokalnej, czyli takiej, która jest usuwana po zmiennej. Taka zmienna wyróżnia się "podłogą" na samym początku.on chat: cancel event if player has permission "gracz": set {_chat} to "&7[gracz] %player%&2: %message%" if player has permission "vip": set {_chat} to "&6[vip] %player%&2: %message%" if player has permission "admin": set {_chat} to "&4[admin] %player%&2: %message%"Ekspresja "player" określa nick gracza, a "message" - wiadomość, którą wpisał na czacie. Wiadomość administratora będzie wyglądać mniej więcej w ten sposób: [admin] Anemonex: siema!Pamiętaj, aby nie zapomnieć o żadnej grupie! W innym przypadku gracz z inną rangą nie będzie mógł nic napisać.Teraz wiadomość musi zostać wysłana, prawda? Dodajmy więc nadanie wiadomości do wszystkich graczy oraz zamknijmy [zatrzymajmy] nasze zdarzenie.on chat: cancel event if player has permission "gracz": set {_chat} to "&7[gracz] %player%&2: %message%" if player has permission "vip": set {_chat} to "&6[vip] %player%&2: %message%" if player has permission "admin": set {_chat} to "&4[admin] %player%&2: %message%" broadcast "%{_chat}%" stopWłączanie oraz wyłączanie czatuCzas na dodatki!Zacznijmy od włączania/wyłączania czatu. Najpierw dodajmy zmienną, która będzie zmieniać tryb czatu. variables: {chaton} = trueon chat: cancel event if player has permission "gracz": set {_chat} to "&7[gracz] %player%&2: %message%" if player has permission "vip": set {_chat} to "&6[vip] %player%&2: %message%" if player has permission "admin": set {_chat} to "&4[admin] %player%&2: %message%" broadcast "%{_chat}%" stopTeraz dodajmy do wydarzenia "on chat" warunek, który będzie określał, że wiadomości będą wysyłane jedynie w przypadku gdy zmienna "{chaton}" posiada wartość true. Od razu dopiszmy wydarzenie "else", w którym zawarta będzie informacja, że chat jest wyłączonyvariables: {chaton} = trueon chat: cancel event if player has permission "gracz": set {_chat} to "&7[gracz] %player%&2: %message%" if player has permission "vip": set {_chat} to "&6[vip] %player%&2: %message%" if player has permission "admin": set {_chat} to "&4[admin] %player%&2: %message%" if {chaton} is true: broadcast "%{_chat}%" else: send "&7Chat jest wylaczony!" stopNajwyższy czas na komendę, która będzie zmieniać tryb chatu. Nie będę opisywał tego krok po kroku, mam nadzieję, że każdy zrozumie ;)variables: {chaton} = trueon chat: cancel event if player has permission "gracz": set {_chat} to "&7[gracz] %player%&2: %message%" if player has permission "vip": set {_chat} to "&6[vip] %player%&2: %message%" if player has permission "admin": set {_chat} to "&4[admin] %player%&2: %message%" if {chaton} is true: broadcast "%{_chat}%" else: send "&7Chat jest wylaczony!" stop command /chat: trigger: if player has permission "admin": if {chaton} is true: set {chaton} to false broadcast "&7Chat zostal wylaczony przez &c%player%" stop set {chaton} to true broadcast "&7Chat zostal wlaczony!" stop send "&cNie posiadasz odpowiedniego pozwolenia!"Brawo! Dodałeś możliwość włączenia i wyłączenia chatu przez administratora.Zmienne w prefiksieWróćmy do naszego podstawowego kodu. Na serwerach coraz częściej spotykam "poziom kopania"... czy coś takiego. Dodajmy więc ten poziom przed nickiem i prefixem gracza. Przyjmijmy, że poziom jest zapisywany w zmiennej "{poziom.%player%}". Tak więc dopiszmy do wartości wyświetlanej na chacie tą właśnie zmienną.on chat: cancel event if player has permission "gracz": set {_chat} to "&7[%{poziom.%player%}%] [gracz] %player%&2: %message%" if player has permission "vip": set {_chat} to "&6[%{poziom.%player%}%] [vip] %player%&2: %message%" if player has permission "admin": set {_chat} to "&4[%{poziom.%player%}%] [admin] %player%&2: %message%" broadcast "%{_chat}%" stopTeraz wiadomość będzie wyglądać w ten sposób: [30] [admin] Anemonex: siema!No dobra, ten prefiks będzie z graczem od zawsze i na stałe. Jednakże w przypadku np. gildii lepiej byłoby, aby prefiks znikał, gdy gildia nie istnieje.Wykorzystamy dwie zmienne:"{gildia.członek.%player%}" - będzie określać, czy gracz aktualnie jest w gildii."{gildia.członek.%player%}" - będzie określać nazwę gildii, w jakiej użytkownik się znajduje. Jako gracza uznajmy vipa o nicku Staś, który jest członkiem gildii "Nel".Teraz nasz skrypt, musi sprawdzać, czy Staś jest w gildii, a jeżeli tak to zamienić wartość "{tag}" na nazwę gildii. Jeżeli jednak nie - na puste pole.on chat: cancel event if player has permission "gracz": set {_chat} to "{tag}&7[gracz] %player%&2: %message%" if player has permission "vip": set {_chat} to "{tag}&6[vip] %player%&2: %message%" if player has permission "admin": set {_chat} to "{tag}&4[admin] %player%&2: %message%" if {gildia.czlonek.%player%} is true: replace all "{tag}" with "&c[%{gildia.nazwa.%player%}%] " in {_chat} if {gildia.czlonek.%player%} is false: replace all "{tag}" with "" in {_chat} broadcast "%{_chat}%" stopTeraz jeżeli Staś będzie w gildii jego wiadomość będzie wyglądała tak: [Nel] [vip] Staś: Cześć!Jeżeli opuści gildię: [vip] Staś: Cześć!Mam nadzieję, że poradnik był czytelny, a co najważniejsze przydał się!Jeżeli masz pytania dotyczące innych opcji chatu lub chcesz wyrazić swoją opinię zapraszam do dyskusji ;) PRZYDATNE ZMIENNE%display name of player% - Widoczna nazwa gracza (np. edytowana przez Essentials/PermissionsEx)%player's world% - Świat na którym znajduje się gracz%player's balance% - Pieniądze gracza (wymaga pluginu z ekonomią, np. Vault)Mój stary poradnik skopiowany na żywca z innego forum. Jak coś jest źle napisane, to... trudno. Norbi i mibac138 2 Odnośnik do komentarza https://skript.pl/temat/3169-edycja-czatu/ Udostępnij na innych stronach Więcej opcji udostępniania...
Drexon 9 Opublikowano 27 września 2014 Udostępnij Opublikowano 27 września 2014 Jezeli ktos ma plugin Essentials:polecam zmienic %player% na %display name of player%bo wtedy widac nick gracza (w sensie jak ma sie ustawiony nick komenda /nick, to widac ten nick) Odnośnik do komentarza https://skript.pl/temat/3169-edycja-czatu/#findComment-27857 Udostępnij na innych stronach Więcej opcji udostępniania...
TeseuS 3 Opublikowano 27 września 2014 Udostępnij Opublikowano 27 września 2014 Wow fajny poradnik !Może daj link do tego co napisałeśA jezeli ktoś ma permisje * i chce wlasciciel pisać jak Wlasciciel a nie jak admin ? Odnośnik do komentarza https://skript.pl/temat/3169-edycja-czatu/#findComment-27859 Udostępnij na innych stronach Więcej opcji udostępniania...
Norbi 1337 Opublikowano 27 września 2014 Udostępnij Opublikowano 27 września 2014 Poradnik przydatny. Lekkue masło maślane z tego. Odnośnik do komentarza https://skript.pl/temat/3169-edycja-czatu/#findComment-27862 Udostępnij na innych stronach Więcej opcji udostępniania...
Anemonex 125 Opublikowano 27 września 2014 Autor Udostępnij Opublikowano 27 września 2014 (edytowane) @2upTo zmienia sobie. To poradnik, nie gotowiec :D Edytowane 27 września 2014 przez Anemonex Odnośnik do komentarza https://skript.pl/temat/3169-edycja-czatu/#findComment-27863 Udostępnij na innych stronach Więcej opcji udostępniania...
herhor67 916 Opublikowano 27 września 2014 Udostępnij Opublikowano 27 września 2014 Niezłe, niezłe. zmień "ekspresja" na "wyrażenie" dodaj %player's world% Odnośnik do komentarza https://skript.pl/temat/3169-edycja-czatu/#findComment-27996 Udostępnij na innych stronach Więcej opcji udostępniania...
patryxCraft 1 Opublikowano 27 września 2014 Udostępnij Opublikowano 27 września 2014 a co jak np. właściciel ma permisje *? pokazuje kilka wiadomości...? ;0 Odnośnik do komentarza https://skript.pl/temat/3169-edycja-czatu/#findComment-27998 Udostępnij na innych stronach Więcej opcji udostępniania...
Anemonex 125 Opublikowano 27 września 2014 Autor Udostępnij Opublikowano 27 września 2014 Wtedy ten ktoś ma problem! Wystarczy ułożyć permisje od admina do gracza i dodawać stop po każdym IFie. Jak będę na komputerze to może jaśniej to wytłumaczę. Odnośnik do komentarza https://skript.pl/temat/3169-edycja-czatu/#findComment-28003 Udostępnij na innych stronach Więcej opcji udostępniania...
mibac138 15 Opublikowano 28 września 2014 Udostępnij Opublikowano 28 września 2014 Poradnik dobry, pare nie dociagniec, typu jak @up2, ale i tak lap + Odnośnik do komentarza https://skript.pl/temat/3169-edycja-czatu/#findComment-28140 Udostępnij na innych stronach Więcej opcji udostępniania...
Anemonex 125 Opublikowano 28 września 2014 Autor Udostępnij Opublikowano 28 września 2014 (edytowane) To nie niedociągnięcie, to wymyślanie problemów na siłę >.< on chat: cancel event if player has permission "gracz": set {_chat} to "&7[%{poziom.%player%}%] [gracz] %player%&2: %message%" //Zmienna ustawia się na tekst dla gracza if player has permission "vip": set {_chat} to "&6[%{poziom.%player%}%] [vip] %player%&2: %message%" //Zmienna ustawia się na tekst dla vipa if player has permission "admin": set {_chat} to "&4[%{poziom.%player%}%] [admin] %player%&2: %message%" //Zmienna ustawia się na tekst dla admina broadcast "%{_chat}%" //Jeżeli zmienna na samym końcu została ustawiona dla admina, to wiadomość zostanie wysłana w ostatniej podanej formie. stop Edytowane 28 września 2014 przez Anemonex Odnośnik do komentarza https://skript.pl/temat/3169-edycja-czatu/#findComment-28146 Udostępnij na innych stronach Więcej opcji udostępniania...
#Aperture 278 Opublikowano 28 września 2014 Udostępnij Opublikowano 28 września 2014 hm, ten sposób jest dobry, lecz użycie %player's prefix% jest optymalniejsze ;) Odnośnik do komentarza https://skript.pl/temat/3169-edycja-czatu/#findComment-28161 Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi