Ir para conteúdo

Lib - O que é ela e como usar.


caotic

Posts Recomendados

A pasta lib se encontra no seu otserv ele e ultilizada para a criação de funções ultilizando a propria linguagem LUA.

Apos feita a função ele pode ser ultilizada em qualquer localidade em seu otserv.

Para ultilizar deve ser criado um arquivo lua com os codigos das funçoes.

 

Um exemplo de uma função

 

function doPlayerAddStorage(cid)
setPlayerStorageValue(cid, 22221, 1)
return true
end

 

Nesta função adicionara a o valor 1 na storage 22221 e se fosse ultilizada por exemplo em actions executaria tal ação.

 

Segue a estrutura

 

function NOME DA FUNÇÃO(parâmetros)
... AÇÃO
RETORNO
TERMINIO DA FUNÇÃO

 

Outro exemplo ultilizando um proprio parâmetros

 

function doPlayerSummon(monster, pos)
doSummonCreature(monster, pos)
return true
end

 

Aqui uma função que sumona um monstro seguida pelo parâmetros nome do monstro e a posição.

 

Para adicionar o paramento deve ser usado dentro de uma função o nome do parâmetros eclarado

 

Exemplo

 

function doPlayerSendMsg(cid, msg)
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, msg)
return true
end

 

Nela adicionamos o parâmetros msg se usamos a função

 

doPlayerSendMsg(cid, "hello")

 

 

A funçao que usa o parâmetros ficaria tal

 

 

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Hello")

 

 

 

Ou seja se quisemos alterar o parâmetros cid para para usar a função

 

 

doPlayerSendMsg(param, msg)

 

Ficaria tal

 

doPlayerSendTextMessage(param, MESSAGE_STATUS_CONSOLE_BLUE, msg)

 

Para criar funçoes de verificaçoes

Precisamos retonar o valor que queremos.

function getPlayerPositionPz(cid)
local pz = getTilePzInfo(getCreaturePosition(cid))
return pz
end

 

Como nesta que retornos o local pz mais se quisermos nos poderiamos ultilizar de tal maneira.

function getPlayerPositionPz(cid)
return getTilePzInfo(getCreaturePosition(cid))
end

 

Depos poderemos usar verificaçoes como

 

if getPlayerPositionPz(cid) then

 

 

E isto gente tomara que aprenderam tudo obrigado a todos

 

Ate mais

Editado por caotic
Link para o comentário
Compartilhar em outros sites

function NOME DA FUNÇÃO(PARAMENTOS)

... AÇÃO

RETORNO

TERMINIO DA FUNÇÃO

 

Bom,acho que este foi o unico erro que achei.

Não seria parametros?

 

 

Abraços,Aprovado.

Link para o comentário
Compartilhar em outros sites

É bom para usuarios inexperientes,que estão começando na área de .LUA neh?

 

Como eu rsrs;

 

Estou olhando tutoriais,na internet,e no xtibia,Estou cheio de ideias para fazer sistemas e etc.

 

Quando eu aprender,vou liberar todos eles Aqui No XTibia.

Link para o comentário
Compartilhar em outros sites

Bela iniciativa. Acho que o nome do tutorial devia ser "Função - O que é ela e como usar?", pois o que você chama de libs é só um artificio de salvar suas funções em um arquivo .lua dentro da pasta data/lib para tornar o uso dessa, global.

 

Você poderia também detalhar mais a construção de uma função, como, por exemplo, dizer:

 

function doPlayerSendMsg(cid, msg)

 

É um açúcar-de-sintaxe, syntax sugar, em outras palavras, algo que facilita a construção do código e deixa a leitura deste mais agradável aos olhos. Segundo o Manual de Referência, essa é a definição de uma função:

 

doPlayerSendMsg = function(cid, msg) end

 

Não curto muito o estilo corrido dos seus tutoriais, mas mesmo assim, está bem detalhado para os iniciantes no estudo da linguagem. Mas não deixe de detalhar mais o retorno de valores nas funções e a chamada delas em scripts.

 


 

Abraços.

Link para o comentário
Compartilhar em outros sites

Realmente acho o nome lib superficial ja que ela e apenas uma pasta com arquivos lua usado globalmente como voce disse e uma especide de dofile(...)

 

E você pode tambem criar suas funçoes sem a necessidade de lib usando em seu proprio script so que não sera globalmente ultilizavel.

 

Em relação a meu tutorial eu não prolongo quero ser mais objetivo.

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...