A função string.explode cria uma tabela, de uma string, onde os elementos são partes da string separados pelo segundo parâmetro da função.
Ou seja, se tivéssemos a string:
local tmp = "Roksas é bastante leigo"
E usássemos a string.explode do jeito que você usou.
local t = string.explode(tmp, " ")
Teríamos isso:
local t = {"Roksas", "é", "bastante", "leigo"}
Se você só utiliza um primeiro elemento da tabela, porque, diabos, gerou ela? Não era mais fácil simplesmente chamar param nas funções?
function onSay(cid, words, param, channel)
if not param then
doPlayerSendTextMessage(cid, 20, "You need to insert at least one color number.")
return true
end
param = tonumber(param)
param = math.min(param, 132)
local outfit = getCreatureOutfit(cid)
outfit.lookHead = param
outfit.lookBody = param
outfit.lookLegs = param
outfit.lookFeet = param
return doSetCreatureOutfit(cid, outfit, -1)
end
Segue abaixo um script que explora string.explode de fato
function onSay(cid, words, param, channel)
if not param then
doPlayerSendTextMessage(cid, 20, "You need to insert the desired color.")
return true
end
param = tonumber(param)
local outfit = getCreatureOutfit(cid)
outfit.lookHead = math.min(param, 132)
outfit.lookBody = math.min(param, 132)
outfit.lookLegs = math.min(param, 132)
outfit.lookFeet = math.min(param, 132)
return doSetCreatureOutfit(cid, outfit, -1)
end