Tab tamamlama skripti

HqeS

Elmas Madencisi
Mesajlar
888
En iyi cevaplar
0
Beğeniler
134
Puanları
570
Ruh hali
Bugün basit bir şeyi size göstericem.
Gerekenler Skutilities ve Mundosk

Bu sadece yapacağınız projelere öncü olmak için açılan bir konudur baştan bunu belirtmek isterim.


Kod:
on tab complete:
    if event-string contains "skript reload":
        Loop directory "plugins\skript\scripts"'s files:
            if file loop-value is not a file:
                add file loop-value's name to completions
            else:
                add "%file loop-value's name%/" to completions


dediğim gibi çok basit bir şey. Belki biri görür dosyasının bir köşesine koymak ister.
Bunun amacı /skript reload yazınca klasördeki tüm dosyaları otomatik tamamlar.

kendinize göre ayarlamak için;
if event-string is "/komut ":
yapmalısınız.

Ve Otomatik tamamlama öğeleri eklemek için ise
add "test" to completions

teşekkür ederim iyi günler​
 


ruddeTR

projects.gg
Emektar Üye
Mesajlar
927
En iyi cevaplar
2
Beğeniler
925
Puanları
2,625
Kod:
import:
    java.util.Arrays
    org.bukkit.event.server.TabCompleteEvent

effect set completions to %strings% at %string%:
    trigger:
        if expression-2 is "":
            event.setCompletions(Arrays.asList(expressions-1))
        else:
            set {_completions::*} to expressions-1
            loop expression-2.length() times:
                loop {_completions::*}:
                    if {_completions::%loop-index%}.substring(loop-number - 1, loop-number) isn't expression-2.substring(loop-number - 1, loop-number):
                        clear {_completions::%loop-index%} 
            event.setCompletions(Arrays.asList({_completions::*}))

expression tabbed command:
    get:
        set {_text} to first element out of split event.getBuffer() at " "
        return "/%{_text}%" if event.getSender() is CONSOLE else {_text}

expression tab arg[ument]( |-)%*number%:
    get:
        set {_l::*} to split event.getBuffer() at " "
        clear {_l::1}
        set {_l::*} to {_l::*}
        return {_l::%expr 1%}
    
expression buffer:
    get:
        return event.getBuffer()

import:
    java.io.File

expression scripts:
    get:
        set {_directory} to new File("plugins/Skript/scripts/")
        loop ...{_directory}.listFiles():
            add loop-value.getName() to {_scripts::*}
        return {_scripts::*}

on TabCompleteEvent:
    if tabbed command is "/komut":
        if tab arg 2 isn't set:
            set completions to "test", "test2" and "test3" at tab arg 1
 

HqeS

Elmas Madencisi
Mesajlar
888
En iyi cevaplar
0
Beğeniler
134
Puanları
570
Ruh hali
Kod:
import:
    java.util.Arrays
    org.bukkit.event.server.TabCompleteEvent

effect set completions to %strings% at %string%:
    trigger:
        if expression-2 is "":
            event.setCompletions(Arrays.asList(expressions-1))
        else:
            set {_completions::*} to expressions-1
            loop expression-2.length() times:
                loop {_completions::*}:
                    if {_completions::%loop-index%}.substring(loop-number - 1, loop-number) isn't expression-2.substring(loop-number - 1, loop-number):
                        clear {_completions::%loop-index%}
            event.setCompletions(Arrays.asList({_completions::*}))

expression tabbed command:
    get:
        set {_text} to first element out of split event.getBuffer() at " "
        return "/%{_text}%" if event.getSender() is CONSOLE else {_text}

expression tab arg[ument]( |-)%*number%:
    get:
        set {_l::*} to split event.getBuffer() at " "
        clear {_l::1}
        set {_l::*} to {_l::*}
        return {_l::%expr 1%}
   
expression buffer:
    get:
        return event.getBuffer()

import:
    java.io.File

expression scripts:
    get:
        set {_directory} to new File("plugins/Skript/scripts/")
        loop ...{_directory}.listFiles():
            add loop-value.getName() to {_scripts::*}
        return {_scripts::*}

on TabCompleteEvent:
    if tabbed command is "/komut":
        if tab arg 2 isn't set:
            set completions to "test", "test2" and "test3" at tab arg 1
mirror bilgim pek yoktu o yüzden böyle yaptım ama senin yaptığın daha iyi
 

Üst