Tab tamamlama skripti

HqeS

Lapis Toplayıcısı
En iyi cevaplar
0
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
En iyi cevaplar
2
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

Lapis Toplayıcısı
En iyi cevaplar
0
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