PC

[Duvida] Como Transforma Um String Em Numeros?

Por pc98, 17 de jun. de 2011 em Archived

6
751
pc98P
17 de junho de 2011 às 21:51

É a funçao variantToNumber(var) ? se for, como a usa na pratica?

 

É pq eu quero guardar um nome em uma StorageValue

Editado Junho 17 por pc98

17 de junho de 2011 às 21:55

Depende, tipo, tem a seguinte string:

 

"1"

 

Pode-se usar a função tonumber, ai fica assim:

 

1

 

Até.

pc98P
17 de junho de 2011 às 21:57

e uma string do tipo: "Isto e uma string"

17 de junho de 2011 às 22:04

Como você vai transformar isso pra número?

 

Ou você quer pegar o número de letras?

 

--

 

Caramba cara, agora entendi sua dúvida.

 

Storage aceita string, mas se quiser pode usar a tabela ASCII.

Editado Junho 17 por Demonbholder

pc98P
17 de junho de 2011 às 22:26

Isso, exato.

 

Fiz essa

 

function onSay(cid, words, param)

 

setPlayerStorageValue(cid, 99998, "Hello")

doPlayerSendCancel(cid,getPlayerStorageValue(cid, 99998))

 

end

 

Retorna 0 ao player, nao funciona

17 de junho de 2011 às 22:56

Cara, é o seguinte. Aqui ta funcionando normal, versão 8.6.

 

Cuida pra ver se tu não ta colocando um número no inicio.

 

Fiz uma gambiarra aqui, la vai:

 

function setStorageString(cid, storage, string)

local s = nil

for i = 1, #string do
s = s and s .. "," .. string.byte(string, i, i) or string.byte(string, i, i)
end

setPlayerStorageValue(cid, storage, "S" .. s)
end

function getStorageString(cid, storage)

local str = string.explode(tostring(string.sub(getPlayerStorageValue(cid, storage), 2)), ",")
local s = nil

for _, v in pairs(str) do
s = s and s .. string.char(v) or string.char(v)
end

return s
end

 

Use só com string.