Skocz do zawartości
  • 1

HelpOp z odpowiadaniem


Ajsey

Pytanie

Hejka potrzebuję skryptu, który działałby następująco

Gracz pisze /helpop [treść]
jego wiadomość wyświetla się każdej osobie, która posiada permisje do widzenia tego
Wtedy osoba z permisją może albo nacisnąć na jego wiadomość (lub wpisać ręcznie) i mu automatycznie wpisuje komendę na czacie /helpop -r (nick gracza który coś na tym helpop napisał) dzięki której będzie mógł mu odpowiedzieć. Do tego musi dopisać treść by odpowiedzieć temu graczu na helpop. Taki prywatny czat pomiędzy graczem a całą administracją jako helpop

Odnośnik do komentarza
https://skript.pl/temat/56409-helpop-z-odpowiadaniem/
Udostępnij na innych stronach

11 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0
command /helpop <text> [<player>] [<text>]:
    trigger:
        if not arg 1 is "-r":
            loop all players with permission "helpop.see" or "helpop.*":
                send "Gracz %player% napisał: %arg-1%" to loop-player
                send "&aAby odpowiedzieć, wpisz: /helpop -r %player% [twoja odpowiedź]" to loop-player
        else:
            if player has permission "helpop.reply" or "helpop.*":
                if arg 2 is not set:
                    send "&cUżyj: /helpop -r <gracz> [twoja odpowiedź]" to player
                else:
                    send "&aAktywowano prywatny czat z graczem %arg-2%. Możesz teraz rozmawiać prywatnie. Aby zakończyć, użyj /helpop stop." to player
                    send "&aAktywowano prywatny czat z graczem %player%. Możesz teraz rozmawiać prywatnie. Aby zakończyć, użyj /helpop stop." to arg 2
                    set {private_chat::%player%} to arg 2
                    set {private_chat::%arg-2%} to player
                    cancel event
on chat:
    if {private_chat::%player%} is not "":
        if message starts with "/helpop -r":
            set {private_chat::%player%} to ""
            set {private_chat::%arg-2%} to ""
            cancel event
    if message is "/helpop stop":
        if {private_chat::%player%} is not "":
            send "&cZakończono prywatny chat z %player%." to player
            send "&cZakończono prywatny chat z %arg-1%." to {private_chat::%player%}
            set {private_chat::%player%} to ""
            set {private_chat::%arg-1%} to ""
        else:
            send "&cNie masz aktywnego prywatnego chatu do zakończenia." to player

Jak jakieś błędy to pisz

Ten skrypt pozwala na rozmowy tylko między dwoma graczami. Gracz może napisać do kogoś komendą, a potem przestać rozmawiać komendą "/helpop stop". Obie strony dostają informację o zakończeniu rozmowy.

 

To było trudne ale nie najtrudniejsze co robilem

Edytowane przez FixeQ
Teraz jest git
Odnośnik do komentarza
https://skript.pl/temat/56409-helpop-z-odpowiadaniem/#findComment-338333
Udostępnij na innych stronach

  • 0
10 godzin temu, FixeQ napisał:
command /helpop <text> [<player>] [<text>]:
    trigger:
        if not arg 1 is "-r":
            loop all players with permission "helpop.see" or "helpop.*":
                send "Gracz %player% napisał: %arg-1%" to loop-player
                send "&aAby odpowiedzieć, wpisz: /helpop -r %player% [twoja odpowiedź]" to loop-player
        else:
            if player has permission "helpop.reply" or "helpop.*":
                if arg 2 is not set:
                    send "&cUżyj: /helpop -r <gracz> [twoja odpowiedź]" to player
                else:
                    send "&aAktywowano prywatny czat z graczem %arg-2%. Możesz teraz rozmawiać prywatnie. Aby zakończyć, użyj /helpop stop." to player
                    send "&aAktywowano prywatny czat z graczem %player%. Możesz teraz rozmawiać prywatnie. Aby zakończyć, użyj /helpop stop." to arg 2
                    set {private_chat::%player%} to arg 2
                    set {private_chat::%arg-2%} to player
                    cancel event
on chat:
    if {private_chat::%player%} is not "":
        if message starts with "/helpop -r":
            set {private_chat::%player%} to ""
            set {private_chat::%arg-2%} to ""
            cancel event
    if message is "/helpop stop":
        if {private_chat::%player%} is not "":
            send "&cZakończono prywatny chat z %player%." to player
            send "&cZakończono prywatny chat z %arg-1%." to {private_chat::%player%}
            set {private_chat::%player%} to ""
            set {private_chat::%arg-1%} to ""
        else:
            send "&cNie masz aktywnego prywatnego chatu do zakończenia." to player

Jak jakieś błędy to pisz

Ten skrypt pozwala na rozmowy tylko między dwoma graczami. Gracz może napisać do kogoś komendą, a potem przestać rozmawiać komendą "/helpop stop". Obie strony dostają informację o zakończeniu rozmowy.

 

To było trudne ale nie najtrudniejsze co robilem

A powiedz mi, nie dałoby się, żeby cała administracja widziała te rozmowę i mogła czasem się w nią wtrącić? Czasem ktoś może nie mieć racji, albo czegoś nie wiedzieć więc wtedy może wkroczyć druga osoba

Odnośnik do komentarza
https://skript.pl/temat/56409-helpop-z-odpowiadaniem/#findComment-338357
Udostępnij na innych stronach

  • 0
3 godziny temu, Ajsey napisał:

A powiedz mi, nie dałoby się, żeby cała administracja widziała te rozmowę i mogła czasem się w nią wtrącić? Czasem ktoś może nie mieć racji, albo czegoś nie wiedzieć więc wtedy może wkroczyć druga osoba

Bym spróbował ale to później

Odnośnik do komentarza
https://skript.pl/temat/56409-helpop-z-odpowiadaniem/#findComment-338359
Udostępnij na innych stronach

  • 0
2 godziny temu, Ajsey napisał:

I jak? Dałeś radę coś wyskrobać?

co do wysyłania wiadomości, to dajesz pętle osoby, które mają dane uprawnienia, albo zwykłe

send "" to op

jak osoby mają uprawnienia operatora.

Co do skryptu to i tak jest cały do przerobienia, bo to nie to co chciałeś + optymalizacyjna tragedia. Jak już musisz tworzyć takie zmienne i nie potrzebujesz tego przechowywać w ten sposób(czyli nigdy), to zadbaj chociaż o to żeby się usuwały.

Odnośnik do komentarza
https://skript.pl/temat/56409-helpop-z-odpowiadaniem/#findComment-339119
Udostępnij na innych stronach

  • 0
on join:
	if player has permission "helpop.admin":
		if player isn't in {permissions::list}:
			add player to {permissions::list}
		else:
			stop

command /helpop [<text>] [<text>] [<text>]:
	trigger:
		if arg-1 is set:
			if arg-1 is "-r":
				if arg-2 is set:
					if {helpop::%arg-2%} is true:
						loop {permissions::list}:
							send "&7Odpowiedź od %player% do %arg-2%: %arg 3%" to loop-value
						set {helpop::%arg-2%} to false
					else:
						send "&cBłąd! &8>> &7Gracz %arg-2% nie wysłał żadnej wiadomości na /helpop!" to player
				else:
					send "&cBłąd! &8>> &7Musisz podać nick gracza, któremu chcesz odpowiedzieć!" to player
			else if arg-1 is "stop":
				if arg-2 is set:
					if {helpop::%arg-2%} is true:
						set {helpop::%arg-2%} to false
						send "&7Rozmowa z graczem %arg-2% została zakończona." to player
					else:
						send "&cBłąd! &8>> &7Nie prowadzisz żadnej rozmowy z graczem %arg-2%!" to player
				else:
					send "&cBłąd! &8>> &7Musisz podać nick gracza, z którym chcesz zakończyć rozmowę!" to player
			else:
				loop {permissions::list}:
					send "        &c&lHELPOP        " to loop-value
					send "" to loop-value
					send "&7Osoba: %player%" to loop-value
					send "&7Wiadomość: %arg 1%" to loop-value
					send "" to loop-value
				set {helpop::%player%} to true
		else:
			send "&cBłąd! &8>> &7Musisz podać wiadomość!" to player

on chat:
	if {helpop::%player%} is true:
		message starts with "/helpop r"
		loop {permissions::list}:
			send "&7Odpowiedź od %player%: %message%" to loop-value

Powinno działać

 

Edytowane przez devyy
naprawiony bug z dodawaniem gracza kilka razy do listy
Odnośnik do komentarza
https://skript.pl/temat/56409-helpop-z-odpowiadaniem/#findComment-339373
Udostępnij na innych stronach

  • 0
21 godzin temu, devyy napisał:
on join:
	if player has permission "helpop.admin":
		if player isn't in {permissions::list}:
			add player to {permissions::list}
		else:
			stop

command /helpop [<text>] [<text>] [<text>]:
	trigger:
		if arg-1 is set:
			if arg-1 is "-r":
				if arg-2 is set:
					if {helpop::%arg-2%} is true:
						loop {permissions::list}:
							send "&7Odpowiedź od %player% do %arg-2%: %arg 3%" to loop-value
						set {helpop::%arg-2%} to false
					else:
						send "&cBłąd! &8>> &7Gracz %arg-2% nie wysłał żadnej wiadomości na /helpop!" to player
				else:
					send "&cBłąd! &8>> &7Musisz podać nick gracza, któremu chcesz odpowiedzieć!" to player
			else if arg-1 is "stop":
				if arg-2 is set:
					if {helpop::%arg-2%} is true:
						set {helpop::%arg-2%} to false
						send "&7Rozmowa z graczem %arg-2% została zakończona." to player
					else:
						send "&cBłąd! &8>> &7Nie prowadzisz żadnej rozmowy z graczem %arg-2%!" to player
				else:
					send "&cBłąd! &8>> &7Musisz podać nick gracza, z którym chcesz zakończyć rozmowę!" to player
			else:
				loop {permissions::list}:
					send "        &c&lHELPOP        " to loop-value
					send "" to loop-value
					send "&7Osoba: %player%" to loop-value
					send "&7Wiadomość: %arg 1%" to loop-value
					send "" to loop-value
				set {helpop::%player%} to true
		else:
			send "&cBłąd! &8>> &7Musisz podać wiadomość!" to player

on chat:
	if {helpop::%player%} is true:
		message starts with "/helpop r"
		loop {permissions::list}:
			send "&7Odpowiedź od %player%: %message%" to loop-value

 

Powinno działać

[23:14:18 INFO]: Line 14: (helpop.sk)
[23:14:18 INFO]:     Can't loop {permissions::list} because it's only a single value
[23:14:18 INFO]:     Line: loop {permissions::list}:
[23:14:18 INFO]:
[23:14:18 INFO]: Line 31: (helpop.sk)
[23:14:18 INFO]:     Can't loop {permissions::list} because it's only a single value
[23:14:18 INFO]:     Line: loop {permissions::list}:
[23:14:18 INFO]:
[23:14:19 INFO]: Line 44: (helpop.sk)
[23:14:19 INFO]:     Can't loop {permissions::list} because it's only a single value
[23:14:19 INFO]:     Line: loop {permissions::list}:
[23:14:19 INFO]:
[23:14:19 INFO]: [Skript] Encountered 3 errors while reloading all scripts! (155ms)

Niestety wystąpiły błędy

Edytowane przez Ajsey
zły format tekstu
Odnośnik do komentarza
https://skript.pl/temat/56409-helpop-z-odpowiadaniem/#findComment-339379
Udostępnij na innych stronach

  • 0

 

40 minut temu, TeZetYT napisał:

testowane. działa. Nie wymaga żadnych dodatków.

Wiadomość wyświetla na czacie się podwójnie
Edit. Juz nie ważne, próbowałem robić helpop sam ze sobą, to dlatego

Edytowane przez Ajsey
błąd z mojej strony
Odnośnik do komentarza
https://skript.pl/temat/56409-helpop-z-odpowiadaniem/#findComment-339429
Udostępnij na innych stronach

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ą.

Nieaktywny
Odpowiedz na pytanie...

×   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.

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...