Ir para conteúdo

Featured Replies

Postado

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: gigo_xl@hotmail.com

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

EU VOLTEI GAROTAS!

31/12/2011

Atenciosamente,

Guilherme Salviati.

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

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo