caramba mano tas aprendendo tudo isso solo? kkk' ta humilhando os meros mortais aki kkk'
bem doidin isso ae heim... mas parece interessante... falta doq fazer faz coisa n?
Por caotic, 13 de jun. de 2013 em Mods, funções e outros
info
Grupo: Príncipe
Registrado: 19/08/10
Posts: 4k
Reputação: +1.1k
Gênero: Masculino

caramba mano tas aprendendo tudo isso solo? kkk' ta humilhando os meros mortais aki kkk'
bem doidin isso ae heim... mas parece interessante... falta doq fazer faz coisa n?
info
Grupo: Infante
Registrado: 04/03/11
Posts: 1.6k
Reputação: +393
Char no Tibia: No Have

ehauehauehauhe'.
Pois é.
Já me chamaram de doido(eventide fdp) porque to desenvolvendo ela.
Editado Junho 13 por caotic
info
Grupo: Marquês
Registrado: 02/08/12
Posts: 1k
Reputação: +234
Char no Tibia: Maurolkit

Legal, poderia ter usado pcall e loadstring :S.
Muito massa, fui olhar seu script bem quando eu to ralando pra fazer uma manipulação de string aqui, nunca fui bom nisso... =|
info
Grupo: Infante
Registrado: 04/03/11
Posts: 1.6k
Reputação: +393
Char no Tibia: No Have

Legal, poderia ter usado pcall e loadstring :S.
E talvez um verificador de syntax tal como assert seria uma boa.
Mais e melhor criar uma próprio verificador e rodar no código do CT antes dele executar.
info
Grupo: Herói
Registrado: 12/06/12
Posts: 1k
Reputação: +362
Gênero: Masculino
Char no Tibia: Aarow

Muitoooooo Bom parabéns mesmo otimo scripter você em ![]()
info
Grupo: Infante
Registrado: 04/03/11
Posts: 1.6k
Reputação: +393
Char no Tibia: No Have
Bem estava pensando em desenvolver uma sub - linguagem ela não chega a ser uma linguagem(OBVIO) porque mesmo que use o comandos dela você estará executando em Lua.
No final de tudo você esta programando em Lua
.
Ela e mais primitiva e então eu fiz uma demozinha e vou disponibilizar o andamento dela.
Por enquanto ela tem 3 estruturas básicas função,um looopzinho e uma verificação.
str = "\n--function print ['oi hear'['ola'['verdade'\n--function print ['oi'\n--loopCT [4 [{--function print ['year'}\n--gets [7 > 6 [{--function print ['oi'}\n" function string.explode(e, sep) local result = {} e:gsub("[^".. sep .."]+", function(s) table.insert(result, s:match("^%s*(.-)%s*$")) end) return result end function maior(x, y) if x == y then return "" end return "," end function interpreteFunctionInCt(str) for i in str:gmatch("--function (.*)") do local t = string.explode(i, "[") str = "" for x=2, #t do str = str..""..t[x]..""..maior(x, #t).."" end local str = t[1].."("..str..")" loadstring(str) () end end function ifCT(str) for i in str:gmatch("--gets (.*)") do local t = string.explode(i, "[") y = loadstring('return (' .. t[1].. ')')() if y then local y = string.match(i, "{(.-)}") print(y) interpreteFunctionInCt(y) end end end function loopCT(str) for i in str:gmatch("--loopCT (.*)") do local t = string.explode(i, "[") print(t[1]) for x =1, tonumber(t[1]) do local y = string.match(i, "{(.-)}") interpreteFunctionInCt(y) end end end function detectCTtype(str) for i in str:gmatch("--(.-)\n") do if string.sub(i, 1, 6) == "--func" then interpreteFunctionInCt(i) end if string.sub(i, 1, 6) == "--loop" then loopCT(i) end if string.sub(i, 1, 6) == "--gets" then ifCT(i) end end return true end detectCTtype(str)As únicas regras que existem na syntax.
Saltar Linhas
Cada estrutura em uma linha
E sempre obedecer o "--"
Veja como ficaria:
--function print ['oi hear'['ola'['verdade' ---- Printa --function print ['oi'\n --- Printa --loopCT [4 [{--function print ['year'} ---Faz um loop e printa 4 vezes a função --gets [7 > 6 [{--function print ['oi'}" ----Verifica 1 argumento se for true executa a função se for false não executa a funçãoObs:
Para que usar CT?
Quem sabe para pequenos scripts ou configs.
Ou mesmo para aprendizagem afinal ela super fácil de manipular.
Editado Junho 13 por caotic