Jan T Skrevet September 9, 2017 Del Skrevet September 9, 2017 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 More sharing options...
Thomads Besvaret September 9, 2017 Del Besvaret September 9, 2017 Det virker som en god måde at forkorte og simplificere chat-kommandoerne på. Tak! Link til kommentar Del på andre sites More sharing options...
KennyBou Besvaret September 9, 2017 Del Besvaret September 9, 2017 Back at it again! Link til kommentar Del på andre sites More sharing options...
Recommended Posts
Arkiveret
Dette emne er nu arkiveret og er lukket for yderligere svar