Skocz do zawartości
  • 0

Klany(teamy) w skript


marekspodbiedry

Pytanie

Mam tylko trzy dni, żeby stworzyć skript na klany. Znam podstawy Skripta, ale nic tak zaawansowanego. Próbowałem pisać to z AI(wiem, wiem, ale kończą mi się opcje), ale ChatGPT w ogóle nie chce współpracować z nową dokumentacją Skripta, a bez niej radzi sobie gorzej niż ja. Potrzebuję tylko kilku prostych komend. Jeśli ktokolwiek mógłby pomóc mi nawet z jedną komendą, byłbym OGROMNIE WDZIĘCZNY. Śmiało sugerujcie zmiany w skryptach, w komendzie /createclan, albo nawet w samych pomysłach. Jeśli tak komuś łatwiej, nie skupiajcie się na wiadomościach — zmienię je sam.

 

/createclan:

permission: clan.admin

Tworzy grupę z użyciem LuckPerms, dodaje lidera, ustawia kolor i zapisuje to w logach

options:
    maincolor: "B00B0B"
    textcolor: "ffebb6"
    infocolor: "279FF5" #for example when adding a player this is the color of their ign
    confirmcolor: "27F554"
    prefix_text: "Clans"
    invite_duration: 5 minutes
    max_members: 10

command /createclan <text> <text> <player>:
    permission: clan.admin
    trigger:
        set {_raw} to arg-1
        set {_hex} to arg-2
        set {_leader} to arg-3

        if {_leader} is not online:
            send colored "<##%{@maincolor}%>[%{@prefix_text}%] <##ff0000>Leader must be online." to player
            stop

        if {_raw} does not match "[A-Za-z0-9]*":
            send colored "<##%{@maincolor}%>[%{@prefix_text}%] <##ff0000>Clan name may only contain letters and numbers." to player
            stop

        set {_name} to {_raw}
        set {_lower} to lowercase {_name}

        loop {clanlist::*}:
            if lowercase loop-value is {_lower}:
                send colored "<##%{@maincolor}%>[%{@prefix_text}%] <##ff0000>Clan name already exists." to player
                stop

        if length of {_hex} is not 6:
            send colored "<##%{@maincolor}%>[%{@prefix_text}%] <##ff0000>Hex color must be exactly 6 characters." to player
            stop
        if {_hex} does not match "[A-Fa-f0-9]*":
            send colored "<##%{@maincolor}%> [%{@prefix_text}%] <##ff0000>Invalid hex color." to player
            stop

        add {_name} to {clanlist::*}
        set {clan::%{_name}%::color} to {_hex}
        set {clan::%{_name}%::leader} to name of {_leader}
        # store members by player name
        set {clan::%{_name}%::members::%name of {_leader}%} to true
        set {clan::%{_name}%::size} to 1

        make console execute "lp creategroup %{_name}%"
        make console execute "lp group %{_name}% meta setprefix &#%{_hex}%"
        make console execute "lp group %{_name}% setweight 2"
        make console execute "lp group %{_name}% parent add default"
        make console execute "lp user %{_leader}% parent add %{_name}%"

        log "Clan %{_name}% created by %{player}%" to "clans"
        send colored "<##%{@maincolor}%> [%{@prefix_text}%] <##%{@textcolor}%>Clan <##%{_hex}%>%{_name}% <##%{@textcolor}%>successfully created." to player

/addmember <player> - tylko dla leadera

Wysyła zaproszenie, które można zaakceptować za pomocą /acceptclaninvite lub klikając wiadomość z zaproszeniem; po zaakceptowaniu wysyła wiadomość do całego klanu: "[Clans] <gracz> joined the clan." Można zapraszać tylko graczy, którzy nie należą jeszcze do żadnego klanu i jest maksymalna ilość graczy w klanie łącznie z leaderem - 10.

<cmd:/acceptclaninvite>

 

/appointrole <player> <role> - tylko dla leadera

Role będą w liście, którą dopiero skończę — na razie możemy je nazywać rola1–rola10.

Po uruchomieniu komendy gracz otrzymuje uprawnienie group.role.<role> i zaznacza, że klan już tę rolę posiada — nikt inny nie może jej dostać w danym klanie. Otrzymanie roli jest akceptowane za pomocą /acceptrole lub kliknięcia wiadomości. <cmd:/acceptrole>

 

/setclanhome - tylko dla leadera

Ustawia /home klanu, do którego gracze mogą się teleportować za pomocą /home — standardowe 5-sekundowe odliczanie bez ruszania się

 

/tpa i /tphere - oba tylko dla leadera

Standardowy system teleportacji z /tpaccept i /tpdeny, w tym możliwość kliknięcia <cmd:/tpaccept> lub <cmd:/tpdeny> oraz 5-sekundowe odliczanie bez ruszania się

Może go używać tylko lider, i tylko z własnymi członkami klanu.

 

/cc <message> lub /clanchat <message>

Wysyła wiadomość do całego klanu — komendę może uruchomić każdy członek klanu.

 

DZIĘKUJĘ ❤️

Odnośnik do komentarza
https://skript.pl/temat/58952-klanyteamy-w-skript/
Udostępnij na innych stronach

3 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0
23 godziny temu, marekspodbiedry napisał:

Mam tylko trzy dni, żeby stworzyć skript na klany. Znam podstawy Skripta, ale nic tak zaawansowanego. Próbowałem pisać to z AI(wiem, wiem, ale kończą mi się opcje), ale ChatGPT w ogóle nie chce współpracować z nową dokumentacją Skripta, a bez niej radzi sobie gorzej niż ja. Potrzebuję tylko kilku prostych komend. Jeśli ktokolwiek mógłby pomóc mi nawet z jedną komendą, byłbym OGROMNIE WDZIĘCZNY. Śmiało sugerujcie zmiany w skryptach, w komendzie /createclan, albo nawet w samych pomysłach. Jeśli tak komuś łatwiej, nie skupiajcie się na wiadomościach — zmienię je sam.

 

/createclan:

permission: clan.admin

Tworzy grupę z użyciem LuckPerms, dodaje lidera, ustawia kolor i zapisuje to w logach

options:
    maincolor: "B00B0B"
    textcolor: "ffebb6"
    infocolor: "279FF5" #for example when adding a player this is the color of their ign
    confirmcolor: "27F554"
    prefix_text: "Clans"
    invite_duration: 5 minutes
    max_members: 10

command /createclan <text> <text> <player>:
    permission: clan.admin
    trigger:
        set {_raw} to arg-1
        set {_hex} to arg-2
        set {_leader} to arg-3

        if {_leader} is not online:
            send colored "<##%{@maincolor}%>[%{@prefix_text}%] <##ff0000>Leader must be online." to player
            stop

        if {_raw} does not match "[A-Za-z0-9]*":
            send colored "<##%{@maincolor}%>[%{@prefix_text}%] <##ff0000>Clan name may only contain letters and numbers." to player
            stop

        set {_name} to {_raw}
        set {_lower} to lowercase {_name}

        loop {clanlist::*}:
            if lowercase loop-value is {_lower}:
                send colored "<##%{@maincolor}%>[%{@prefix_text}%] <##ff0000>Clan name already exists." to player
                stop

        if length of {_hex} is not 6:
            send colored "<##%{@maincolor}%>[%{@prefix_text}%] <##ff0000>Hex color must be exactly 6 characters." to player
            stop
        if {_hex} does not match "[A-Fa-f0-9]*":
            send colored "<##%{@maincolor}%> [%{@prefix_text}%] <##ff0000>Invalid hex color." to player
            stop

        add {_name} to {clanlist::*}
        set {clan::%{_name}%::color} to {_hex}
        set {clan::%{_name}%::leader} to name of {_leader}
        # store members by player name
        set {clan::%{_name}%::members::%name of {_leader}%} to true
        set {clan::%{_name}%::size} to 1

        make console execute "lp creategroup %{_name}%"
        make console execute "lp group %{_name}% meta setprefix &#%{_hex}%"
        make console execute "lp group %{_name}% setweight 2"
        make console execute "lp group %{_name}% parent add default"
        make console execute "lp user %{_leader}% parent add %{_name}%"

        log "Clan %{_name}% created by %{player}%" to "clans"
        send colored "<##%{@maincolor}%> [%{@prefix_text}%] <##%{@textcolor}%>Clan <##%{_hex}%>%{_name}% <##%{@textcolor}%>successfully created." to player

/addmember <player> - tylko dla leadera

Wysyła zaproszenie, które można zaakceptować za pomocą /acceptclaninvite lub klikając wiadomość z zaproszeniem; po zaakceptowaniu wysyła wiadomość do całego klanu: "[Clans] <gracz> joined the clan." Można zapraszać tylko graczy, którzy nie należą jeszcze do żadnego klanu i jest maksymalna ilość graczy w klanie łącznie z leaderem - 10.

<cmd:/acceptclaninvite>

 

/appointrole <player> <role> - tylko dla leadera

Role będą w liście, którą dopiero skończę — na razie możemy je nazywać rola1–rola10.

Po uruchomieniu komendy gracz otrzymuje uprawnienie group.role.<role> i zaznacza, że klan już tę rolę posiada — nikt inny nie może jej dostać w danym klanie. Otrzymanie roli jest akceptowane za pomocą /acceptrole lub kliknięcia wiadomości. <cmd:/acceptrole>

 

/setclanhome - tylko dla leadera

Ustawia /home klanu, do którego gracze mogą się teleportować za pomocą /home — standardowe 5-sekundowe odliczanie bez ruszania się

 

/tpa i /tphere - oba tylko dla leadera

Standardowy system teleportacji z /tpaccept i /tpdeny, w tym możliwość kliknięcia <cmd:/tpaccept> lub <cmd:/tpdeny> oraz 5-sekundowe odliczanie bez ruszania się

Może go używać tylko lider, i tylko z własnymi członkami klanu.

 

/cc <message> lub /clanchat <message>

Wysyła wiadomość do całego klanu — komendę może uruchomić każdy członek klanu.

 

DZIĘKUJĘ ❤️

Jak juz uzywasz ai to claude extended thinking ci zrobi to w miare sensownie (uwazaj, masz tylko 3 uzycia). https://claude.ai/
Najpierw popros sobie o zaprojektowanie wszystkiego, jezeli czegos brakuje to dopisz/zmien. A w 3 uzyciu popros o pelny kod.

Do ewentualnych poprawek gemini 3.0 (od google) https://gemini.google.com/app

chatugpt nawet szkoda odpalac do programowania

 

 

Edytowane przez Fendi
Odnośnik do komentarza
https://skript.pl/temat/58952-klanyteamy-w-skript/#findComment-347352
Udostępnij na innych stronach

  • 0

Ogólnie klanów nie robiłbym w skriptach, chyba że środowisko (tudzież hosting) nie pozwala na instalację pluginów od osób trzecich. Na ten moment polecam użycie FunnyGuilds (mozna wylączyc niepotrzebne moduły) lub MaquqClans (src jest na githubie), same klany wydają się całkiem niezłe, zobaczymy jak później

Odnośnik do komentarza
https://skript.pl/temat/58952-klanyteamy-w-skript/#findComment-347373
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ę...