Bem legal para a primeira função mais ja que e a primeira função
Parabens
By Skymagnum, 24 de ago. de 2012 in Mods, funções e outros
info
Group: Infante
Joined: 04/03/11
Posts: 1.6k
Reputation: +393
Tibia Character: No Have

Bem legal para a primeira função mais ja que e a primeira função
Parabens
Edited Agosto 24 by caotic
info
Group: Herói
Joined: 20/05/10
Posts: 3.4k
Reputation: +1.5k
Gender: Masculino

Parabéns velho!! REP+
agora faz uma função que retorne os maiores números de uma tabela, exemplo:
local t = {15,87,90,1}
retornar:
1 -> 90
2 -> 87
3 -> 15
4 -> 1
info
Group: Marquês
Joined: 02/08/12
Posts: 1k
Reputation: +234
Tibia Character: Maurolkit

local tab = {21, 32, 816, 2, 5, 4, 83, 33}
table.sort(tab, function(x,y) return x > y end)
for k, v in ipairs(tab) do
print("nº:".. k .." -->".. v)
end
return
nº:1 -->816 nº:2 -->83 nº:3 -->33 nº:4 -->32 nº:5 -->21 nº:6 -->5 nº:7 -->4 nº:8 -->2
Obrigado ao vodkart por me encinar table.sort ty amo S2
Edited Agosto 24 by Skymagnum
Muito bom, você está avançando muito rapidamente, garoto. Há outra maneira de fazer essa mesma função sem usar pairs e ipairs e tabelas, consegue fazer?
Resposta
Tem certeza mesmo?
function getABCLetterNumber(letter)
local ABC = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
for n = string.len(ABC), -1, 1 do
if string.sub(ABC, n) == letter then
return n
end
end
return nil
end
info
Group: Infante
Joined: 13/10/08
Posts: 1.6k
Reputation: +420
Tibia Character: Demonbholder

usando string.byte fica melhor.
mas parabéns pela função mesmo assim.
info
Group: Herói
Joined: 20/05/10
Posts: 3.4k
Reputation: +1.5k
Gender: Masculino

function getNumeroInAlfabeto(letra)
for letter = 1, 26, 1 do
if string.format("%c", 96+letter) == letra then
return letter
end
end
end
ou
function getNumeroInAlfabeto(letra)
for letter = string.byte("a"), string.byte("z") do
if letra == string.char(letter) then
return (letter-96)
end
end
end
Edited Agosto 27 by Vodkart
info
Group: Infante
Joined: 13/10/08
Posts: 1.6k
Reputation: +420
Tibia Character: Demonbholder

function getNumeroInAlfabeto(letra) return string.byte(letra) > 96 and string.byte(letra) < 123 and string.byte(letra) -96 end
info
Group: Herói
Joined: 20/05/10
Posts: 3.4k
Reputation: +1.5k
Gender: Masculino

function getNumeroInAlfabeto(letra) return string.byte(letra) > 96 and string.byte(letra) < 123 and string.byte(letra) -96 end
palhaço! não sabe brincar rsrsrsrs
boa
info
Group: Marquês
Joined: 02/08/12
Posts: 1k
Reputation: +234
Tibia Character: Maurolkit

OWNED!
Não sei usar, esses string.byte char format :S
info
Group: Marquês
Joined: 02/08/12
Posts: 1k
Reputation: +234
Tibia Character: Maurolkit
Olá, galerinha do Xtibia essa é minha primeira função *-*
function getNumeroInAlfabeto(letra) local T = {"a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"} for x, i in ipairs(T) do if tostring(i) == tostring(letra) then return x end end endExemplo de print:
Exemplo de uso:
function onSay(cid, words, param, channel) local letras = {"a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"} for i = 1, #letras do if tostring(param) == tostring(letras[i]) then return doPlayerSendTextMessage(cid, 27, "A letra " .. param .. " é o número: " .. getNumeroInAlfabeto(param) .. " no alfabeto.") end end return doPlayerSendTextMessage(cid, 27, "Digite uma letra válida.") endÉ isso até mais.
Créditos:
Eu
Vodkart( arrumou a talk e uma parte da função )
Edited Agosto 24 by Skymagnum