Ir para conteúdo
  • Cadastre-se

#2 Desmembrando seu Script


Posts Recomendados

Olá a todos frequentadores da seção Scripting!

Hoje partiremos para nossa segunda aula de Scripting, as duas aulas foram bem rápidas essa aqui já será um pouco mais complexa, mas espero que usufruam bem dela!


local config = {

		doorPosition = {x = 100, y = 100, z = 7},

		doorID = 1000,

		minAccess = 6,

		message = {

				doorOpen = "The door has been opened!"

				doorClose = "The door has been closed!"

		}

}

function onSay(cid, words, param)

	if getPlayerAccess(cid) >= config.minAccess then

		local item = getTileItemById(config.doorPosition, config.doorID)

		if item.uid > 0 then

			doRemoveItem(item.uid, 1)

			doPlayerSnedTextMessage(cid, 22, config.message.doorOpen)

		else

			doCreateItem(config.doorID, 1, config.doorPosition)

			doPlayerSendTextMessage(cid, 22, config.message.doorClose)

		end

	end

	return true

end

Agora vamos as explicações:

local config = {

Esse o inicio de uma tabela, para fácilitar a organização (isso e uma das vantagens).

doorPosition = {x = 100, y = 100, z = 7},

A posição aonde o item/door será removido e adicionado.

doorID = 1000,

O ID da door, selecione corretamente!

minAccess = 6,

O acesso que precisa ter no minimo para executar o comando,

message = {

Entre essa tabela, terá as mensagens de abertura e fechamento.

doorOpen = "The door has been opened!"

Mensagem que aparecerá ao abrir o portão.

doorClose = "The door has been closed!"

Mensagem que aparecerá ao fechar o portão.

}

}

Fecha as tabelas.

function onSay(cid, words, param)

Para executar o comando é por meio de falas, palavras (exemplo: !gate)

if getPlayerAccess(cid) >= config.minAccess then

A if onde checa o acesso minimo para executar o comando.

local item = getTileItemById(config.doorPosition, config.doorID)

Checa o tile (piso) para as configurações da posição da porta e do ID.

doRemoveItem(item.uid, 1)

Remove o ID da door selecionado e a quantidade 1.

doPlayerSnedTextMessage(cid, 22, config.message.doorOpen)

else

Para mandar a mensagem ao abrir a porta, o número 22 e a cor da mensagem.

Observação: A função "else" fará o contrário do de baixo, por exemplo No de baixo deu certo, no de cima com o else dará certo.

doCreateItem(config.doorID, 1, config.doorPosition)

Criará a door (com a id selecionada) na quantidade 1 com as configurações da posição.

doPlayerSendTextMessage(cid, 22, config.message.doorClose)

Mandará uma mensagem que a porta foi fechada.

end

end

return true

end

O final do script, para fechar as ifs o script e checar a função no return, no caso true.

Editado por Doughell (veja o histórico de edições)

E-mail para contato: [email protected]

Quer ter um fórum mais organizado? Cumpra as regras!

EU VOLTEI GAROTAS!

31/12/2011

Atenciosamente,

Guilherme Salviati.

Link para o post
Compartilhar em outros sites

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo