Skocz do zawartości

[Poradnik] Skript Plugin - Chat


Mufinekkk
# CSH External VIP Project

Masz dosyć problemów z czynnikiem zaufania w CS2 lub notorycznymi banami?

Sprawdź CSH External VIP Project.


Więcej informacji  

Rekomendowane odpowiedzi

Cześć, dzisiaj postanowiłem zrobić poradnik na temat pluginu Skript, który umożliwia nam między innymi zrobić skrypt na Chat, którego wam dzisiaj przedstawię.

Wszystko co dzisiaj zobaczycie zostało zrobione przeze mnie i proszę nie udostępniać tego na innych forach (mimo, że jest tego pełno na internecie 😄)

 

Zacznijmy pierw od wyświetlenia tabelki, która będzie widoczna po wpisaniu /chat

command /chat [<text>] [<text>]:
 trigger:
  if player has permission "muffinekk.chat":
   if arg 1 is empty:
    send " &8» "############## CHAT ##############" to player
    send " &8  &2 /chat on &8- &2Wlacza &8chat!" to player
    send " &8  &2 /chat off &8- &cWylacza &8chat!" to player
    send " &8  &2 /chat clear &8- &1Czysci &8chat!" to player
    send " &8» "############## CHAT ##############" to player

 

Skoro mamy już tabelkę to teraz trzeba zrobić poszczególne komendy. Zacznijmy od /chat on

Skrypt będzie wysyłał na chacie wiadomość pt. Chat zostal wlaczony!
else if arg 1 is "on":
set {sprawdz.stan} to true
    broadcast " &8»############## CHAT ##############"
    broadcast " &8» &2Chat &8zostal &2wlaczony&8!"
    broadcast " &8»############## CHAT ##############"

 

Po czym robimy to samo, tylko dla komendy /chat off

else if arg 1 is "off":
set {sprawdz.stan} to false
    broadcast " &8»############## CHAT ##############"
    broadcast " &8» &cChat &8zostal &cwylaczony&8!"
    broadcast " &8»############## CHAT ##############"

 

/chat clear

else if arg 1 is "clear":
set {sprawdz.stan} to true
    loop 100 times:
    broadcast " "
    broadcast " "
    broadcast " "
    broadcast " "
    broadcast " &8»############## CHAT ##############"
    broadcast " &8» &1Chat &8zostal &1wyczyszczony&8!"
    broadcast " &8»############## CHAT ##############"
    stop trigger

 

Teraz, każmy skryptowi sprawdzić czy komenda /chat on już jest włączona, jeżeli tak jest to wysyła on wiadomość do gracza pt.

Chat jest juz wlaczony!

else if arg 1 is "on":
    if {sprawdz.chat} is true:
     send " &8» "############## CHAT ##############" to player
     send " &8»  &2Chat &8jest juz &2wlaczony&8!" to player
     send " &8» "############## CHAT ##############" to player
     stop trigger

 

Teraz robimy to samo tylko, że z komendą /chat off i wiadomością pt.

Chat jest juz wylaczony!

else if arg 1 is "off":
    if {sprawdz.chat} is false:
     send " &8» "############## CHAT ##############" to player
     send " &8»  &cChat &8jest juz &cwylaczony&8!" to player
     send " &8» "############## CHAT ##############" to player
     stop trigger

 

Lecz teraz, gdy chat jest wyłączony gracze dalej mogą pisać, więc trzeba zrobić skrypt zapobiegający temu.

Sprawi, że wiadomość gracza tak jakby nie została wysłana, a do niego zostanie wysłana wiadomość:

Chat jest wylaczony!

on chat:
 if {sprawdz.stan} is false:
 cancel event
   send " &8» ############## CHAT ##############"
   send " &8» &cChat &8jest &cwylaczony&8!"
   send " &8» ############## CHAT ##############"
   stop 

 

No, ale teraz nie mogą pisać gracze jak i administracja, więc trzeba zrobić skrypt, dzięki któremu administracja będzie uprawniona do pisania na chacie, a gracze nie!

on chat:
 if {chat.stan} is false:
  if player has permission "chat.admin" or "chat.admin":
   stop trigger

 

Aby zapobiec spamu, możemy dodać również funkcję zwaną cooldown (ang. opóźnienie)

on chat:
    set {_waited} to difference between {spam.%player%.lastused} and now
    if {_waited} is less than 5 seconds:     // Tutaj ustawiamy czas cooldownu
        message "&8» ############## CHAT ##############"
        message "&8» Na chacie jest mozliwosc pisania co &25 sekund&8!"
        message "&8» ############## CHAT ##############"
        cancel event
        stop
    set {spam.%player%.lastused} to now

 

 

No i to tyle, dziękuję za uwagę i niżej podsyłam cały skrypt, jeżeli komuś nie chce się go skleić samemu:

############ SKRYPT ############
Skrypt napisany przez Muffinekk
############ SKRYPT ############

command /chat [<text>] [<text>]:
 trigger:
  if player has permission "muffinekk.chat":
   if arg 1 is empty:
    send " &8» "############## CHAT ##############" to player
    send " &8  &2 /chat on &8- &2Wlacza &8chat!" to player
    send " &8  &2 /chat off &8- &cWylacza &8chat!" to player
    send " &8  &2 /chat clear &8- &1Czysci &8chat!" to player
    send " &8» "############## CHAT ##############" to player
  else if arg 1 is "on":
    if {sprawdz.chat} is true:
     send " &8» "############## CHAT ##############" to player
     send " &8»  &2Chat &8jest juz &2wlaczony&8!" to player
     send " &8» "############## CHAT ##############" to player
     stop trigger
  set {sprawdz.stan} to true
    broadcast " &8»############## CHAT ##############"
    broadcast " &8» &2Chat &8zostal &2wlaczony&8!"
    broadcast " &8»############## CHAT ##############"
  else if arg 1 is "off":
    if {sprawdz.chat} is false:
     send " &8» "############## CHAT ##############" to player
     send " &8»  &cChat &8jest juz &cwylaczony&8!" to player
     send " &8» "############## CHAT ##############" to player
     stop trigger
  set {sprawdz.stan} to false
  loop 100 times:
    broadcast " "
    broadcast " "
    broadcast " "
    broadcast " "
    broadcast " &8»############## CHAT ##############"
    broadcast " &8» &cChat &8zostal &cwylaczony&8!"
    broadcast " &8»############## CHAT ##############"
  else if arg 1 is "clear":
  set {sprawdz.stan} to true
    loop 100 times:
    broadcast " "
    broadcast " "
    broadcast " "
    broadcast " "
    broadcast " &8»############## CHAT ##############"
    broadcast " &8» &1Chat &8zostal &1wyczyszczony&8!"
    broadcast " &8»############## CHAT ##############"
    stop trigger
  
  on chat:
 if {sprawdz.stan} is false:
  if player has permission "chat.admin" or "chat.admin":
   stop trigger
 cancel event
   send " &8» ############## CHAT ##############"
   send " &8» &cChat &8jest &cwylaczony&8!"
   send " &8» ############## CHAT ##############"
   stop 
 on chat:
    set {_waited} to difference between {spam.%player%.lastused} and now
    if {_waited} is less than 5 seconds:
        message "&8» ############## CHAT ##############"
        message "&8» Na chacie jest mozliwosc pisania co &25 sekund&8!"
        message "&8» ############## CHAT ##############"
        cancel event
        stop
    set {spam.%player%.lastused} to now

 

Potrzebne permisje to:

- muffinekk.chat

- chat.admin

 

Piszcie kolejne propozycję co mógłbym dodać do tego skryptu i jakie inne skrypty mógłbym stworzyć!


Edytowane przez Mufinekkk
Poprawa formatowania

 

Welcome back!😴

 

 

Odnośnik do komentarza

Post spoko ale napisałeś to bardziej jako zwykły skrypt a nie poradnik bo nic prawie nie tłumaczysz. Polecam używać send zamiast broadcast bo broadcast wyświetla się w konsoli (jeśli dobrze pamiętam bo dawno skryptów nie pisałem) a send nie.

Dając loop 100 broadcast spamujesz konsole.

Nie myśl że twierdze że ten skrypt jest słaby tylko potraktuj to jako rade jak pisać lepsze skrypty.

Odnośnik do komentarza

@Mateuszop2 Faktycznie 😄 

Sorka, ale jestem trochę schorowany i przepraszam za jakiekolwiek błędy :c 

Niestety nie mogę edytować skryptu 😞 

Co do samych wytłumaczeń to potrzebna jest tylko znajomość języka angielskiego:

  • broadcast - wyświetla ogólną wiadomość na chacie.
  • send - ^.
  • send to player - wysyła taką jakby wiadomość prywatną do gracza.
  • message - ^.
  • if player has permission " ": - Aby móc coś zrobić, gracz musi mieć odpowiednią permisję.
  • trigger - rozpoczęcie skryptu.
  • stop trigger - zatrzymanie skryptu.

Edytowane przez Mufinekkk

 

Welcome back!😴

 

 

Odnośnik do komentarza

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Usuń formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę. Regulamin. Polityka prywatności