Hiho!
nossssa! colex volto? *-*
mto bom esse script, e facil de arrumar a database =}
vlw de novo colex ;p
cya ^^
info
Grupo: Cavaleiro
Registrado: 22/10/05
Posts: 196
Reputação: 0

Hiho!
nossssa! colex volto? *-*
mto bom esse script, e facil de arrumar a database =}
vlw de novo colex ;p
cya ^^
Parabens.. ficou muito bom, mas hoje em dia eu prefiro o lusasql. =D
info
Grupo: Artesão
Registrado: 21/02/07
Posts: 137
Reputação: +1
Char no Tibia: GOD Grimrath

pow colex vc é ######
info
Grupo: Artesão
Registrado: 21/12/07
Posts: 121
Reputação: +2
Char no Tibia: Jhonye Runner

+ como q adiciona essa data base?
info
Grupo: Campones
Registrado: 29/11/08
Posts: 27
Reputação: 0
Char no Tibia: Sir Slazer

Gostei Muito Ta de parabeins
Muito bem escrito,bem esplicado
Congratilashions!!!!!
![]()
![]()
info
Grupo: Visconde
Registrado: 12/08/07
Posts: 345
Reputação: +7
Char no Tibia: Lokeded
Não intendi muito bem para que que serve isso...É uma databse para salvar os char,acc, essas coisas, soh q em script?
info
Grupo: Herói
Registrado: 28/11/10
Posts: 3.4k
Reputação: +585
Gênero: Masculino

info
Grupo: Visconde
Registrado: 03/10/05
Posts: 301
Reputação: +8
Gênero: Masculino
Olá,
Venho postar um sistema simples de base de dados, que poderá ser útil para algumas pessoas...
O sistema deverá funcionar em todos os tipos de scripting (por isso que eu estou criando o tópico nesta area), basta cola o código do controle da base de dados nas libs!
Porque usar uma base de dados:
Com uma Base de Dados as informações são fixas, ou seja, os valores não serão alterados devidos a problemas no server ou quando o mesmo desliga-se.
O acesso às base de dados são simples e não requerem experiencia em programação.
As Base de Dados poderão ajudar na criação de novos sistemas (alguns que você poderia não saber como fazer até agora)!
o Script fornece:
- Criação de Base de Dados com campos
- Adicionar campos às bases de dados
- Remover campos de bases de dados
- Obter valor de um campo
- Mudar valor de um campo
- Obter todos os valores e campos de uma base de dados
As funções serão explicadas depois dos script...
[sCRIPT] Sistema de Base de Dados Simples:
----------Simple Database System v1.1 by Colex---------- function getAllFieldsValues(database) local file = io.open(database,"r") local i = 1 local variable = "" values = {} while true do local line = file:read() if line == nil or line == "" then break end variable = string.sub(line,0,string.find(line, "=")-1) --Getting Info field val = string.sub(line,string.find(line, "=")+1,string.len(line)) --Getting Info Value values[i] = {field = variable, value = val} i = i + 1 end io.close(file) return values end function getFieldValue(database,field,isNumber) local file = io.open(database,"r") local found = 0 local variable = "" while true do local line = file:read() if line == nil or line == "" then break end variable = string.sub(line,0,string.find(line, "=")-1) --Getting Info field if (string.upper(variable) == string.upper(field)) then value = string.sub(line,string.find(line, "=")+1,string.len(line)) --Getting Info Value if (isNumber == true) then num = tonumber(value) end found = 1 break end end io.close(file) if (found == 0) then return false elseif (isNumber == true) then return num else return value end end function setFieldValue(database,field,newvalue) uFile = io.open(database,"r") i = 0 lines = {} if getFieldValue(database,field,false) == false then return 0 end while true do lines[i] = uFile:read() if lines[i] == nil or lines[i] == "" then break end variable = string.sub(lines[i],0,string.find(lines[i], "=")-1) --Getting Info field if (string.upper(variable) == string.upper(field)) then lines[i] = variable.."="..newvalue end i = i+1 end io.close(uFile) i = 0 uFile = io.open(database,"w") while true do if lines[i] == nil or lines[i] == "" then break end uFile:write(lines[i].."\n") i = i+1 end io.close(uFile) return 1 end function addField(database,field,value) i = 0 ret = 1 if getFieldValue(database,field,false) ~= false then return false end uFile = io.open(database,"a+") uFile:write(field.."="..value.."\n") io.close(uFile) return 1 end function removeField(database,field) uFile = io.open(database,"r") i = 0 lines = {} if getFieldValue(database,field,false) == false then return false end while true do lines[i] = uFile:read() if lines[i] == nil or lines[i] == "" then break end variable = string.sub(lines[i],0,string.find(lines[i], "=")-1) --Getting Info field if (string.upper(variable) == string.upper(field)) then i = i-1 end i = i+1 end io.close(uFile) i = 0 uFile = io.open(database,"w") while true do if lines[i] == nil or lines[i] == "" then break end uFile:write(lines[i].."\n") i = i+1 end io.close(uFile) return 1 end function createDatabase(database,fields,values) uFile = io.open(database,"w") for i in ipairs(fields) do uFile:write(fields[i].."="..values[i].."\n") end io.close(uFile) return 1 end --------------------------------------------------------------------Funções, Explicações e Exemplos:
createDatabase(database, fields, values) - Cria uma base de dados com determinados campos e valores
database - arquivo onde serão guardadas as informações
fields - campos da base de dados (tabela)
values - valores dos campos (tabela)
exemplo:
campos = {"nome", "level", "vocacao"}
valores = {"Colex", 157, "sorcerer"}
createDatabase("database.ini",campos,valores}
----------------------------------------------------------
addField(database, field, value) - Adiciona um campo à uma Base de Dados existente (retorna 0 se o campo ja existir)
database - Base de Dados onde será adicionado o campo
field - Nome do campo que será adicionado
value - Valor do campo
Exemplo:
i = addField("database.ini", "MagicLevel", 60)
if i == 0 then
print("Campo existente")
else
print("Campo adicionado!")
end
----------------------------------------------------------
removeField(database, field) - Remove um campo de uma Base de Dados existente (retorna 0 se o campo não existir)
database - Base de Dados da onde será removido o campo
field - Nome do campo que será removido
Exemplo:
i = removeField("database.ini", "MagicLevel")
if i == 0 then
print("Campo não existe")
else
print("Campo removido!")
end
----------------------------------------------------------
getFieldValue(database,field,isNumber) - Pega o valor de determinado campo (retorna FALSE se campo não existir)
database - Base de Dados de onde será obtido o valor
field - Campo desejado
isNumber - se isNumber for TRUE o valor retornado será um numero, case seja FALSE o valor retornado será texto
Exemplo:
name = getFieldValue("database.ini", "nome",false)
print("O teu nome é: "..name)
----------------------------------------------------------
setFieldValue(database,field,newvalue) - Muda o valor de um campo (retorna 0 se o campo não existir)
database - Base de Dados onde o valor será mudado
field - Campo que deseja mudar o valor
newvalue - Novo valor do campo
Exemplo:
i = setFieldValue("database.ini", "nome", "Magic Colex")
if i == 0 then
print("Campo não existe")
else
print("Campo atualizado!")
end
----------------------------------------------------------
getAllFieldsValues(database) - Retorna todos os fields e valores em uma tabela com a seguinte estrutura table[numero].field (campo) e table[numero].value (valor do campo)
database - Base de Dados de onde os valores serão obtidos
Exemplo:
data = getAllFieldsValues("database.ini")
print(data[1].field.." = "..data[1].value)
----------------------------------------------------------
O POST DESTE SCRIPT EM OUTRO FÓRUM OU QUALQUER OUTRO LUGAR, NÃO SERÁ AUTORIZADO SEM UM PEDIDO PRÉVIU AUTORIZADO! OS CRÈDITOS DO SCRIPT DEVERÃO SER INALTERADOS.
Se houver alguma dúvida, poste que eu tentarei ajudar!
Colex
Editado Outubro 3 por colex