Hop til indhold
Stavox

Nemme ChatCommands


Jan T

Recommended Posts

Jeg sad lige og legede med chatcommands og fandt noget i måske syntes ville være sjovt at lege med.

 

Hvad syntes i?

 

Ideen er meget nem, du registrerer din kommando og laver en function der bliver kørt når du skriver kommandoen.

 

F.eks. Hvis du registrerer en kommando kaldet !ooc, så skal du have en function med navnet ooc og den skal selvfølgelig have et parameter på String:string

registerCommand("!ooc")

eller:

CommandList = table("!ooc" = 1)

 

Når du har lavet en kommando sådan skal du selvfølgelig også have en function.

I dette eksempel skal den se sådan her ud.

function void ooc(String:string, Caller:entity){
	printColor(vec(0,255,0), "OOC: ", vec(255), String)
}

Kode: https://gist.github.com/857f24d2d38ea8ee07cbe0162cd826b9

@name ChatCommands for E2
@inputs 
@outputs 
@persist CommandMap:table
@trigger 
if (first()){
    #For dem der ikke gider at redigere i tablet nedenunder.
    function void registerCommand(String:string){
        CommandMap[String, number] = 1
    }
    #Et eksempel til dem der er dovne: ( Behoever ikke at bruge ^ eller ! i kan ogsaa bruge $ osv..
    registerCommand("!ooc")
    
    #Her er en nem en. Den vil koere hvis du skriver !ooc
    function void ooc(String:string, Caller:entity){
        printColor(vec(0,255,0), "OOC: ", vec(255), String)
    }
    
    runOnChat(1)
}
if (chatClk(owner())){
    CMD = lastSaid():matchFirst(".([^%s]+)"):lower()
    LastSaid = lastSaid():matchFirst("[^%s]+ (.*)")
    LastSpoke = lastSpoke()
    if (CommandMap[lastSaid():matchFirst("(.)[^%s]+")+CMD, number]){
        CMD(LastSaid, LastSpoke)
    }
}

Kode med flere eksempler: https://gist.github.com/ce360634cd67e6d0f6bfd4de002ea67e

 

 

Håber i kan bruge det her lort til noget.

Link til kommentar
Del på andre sites

Arkiveret

Dette emne er nu arkiveret og er lukket for yderligere svar

Gæst
Dette emne er nu lukket for yderligere svar
×
×
  • Tilføj...

COOKIE- OG PRIVATLIVSPOLITIK PÅ STAVOX.DK

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. Privatlivspolitik - Vilkår for brug.