Postado Outubro 21, 2011 13 anos 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 Outubro 22, 2011 13 anos 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! Regras do forum. 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.