Ir para conteúdo
  • Cadastre-se

Posts Recomendados

Olá a todos!

Bom, estou aqui para mostrar um dos meus novos scripts BEM MAIS APERFEIÇOADO com base em um dos antigos, como assim?

Apenas peguei um script de alavanca como base e modifiquei completamente para que fique mais fácil e bem mais útil.

Pode ser utilizados em todos tipos de eventos, por exemplo: Você anuncia que terá Castle WAR tal horário, até você chegar terá um monte de gente e tal... Para antecipar a abertura, apenas execute o comando que será aberto automaticamente! E claro também possui outras utilidades, mais cada um com a sua :D

Ok, agora vamos ao script!

divisor.png

Nome: Gate System

Autor: Doughell (eu)

Versão testada: 8.54

Comentário: Em breve versão 2.0

divisor.png

Portão System

Crie um arquivo em otserv/talkactions/scripts com o nome de abertura.lua e adicione no arquivo:

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 em talkactions.xml adicione:

[/color]

[color=#000000]<talkaction words="!open" event="script" value="abertura.lua"/>[/color]

[color=#000000]

divisor.png

É isso ai galera, qualquer duvida postem aqui mesmo ou dêem sujestões! ;D

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

Muito útil pra servidores com RPG =p

Mas cara, não acha melhor Gate System ou Sistema de Portão? .__.

Portão Sytem fica inglês junto com português, fica estranho AUAHUAHUAHA.

Reputado.

Link para o post
Compartilhar em outros sites

Bom baiano é assim mesmo Renato, hehe!

Mais agora já foi, da proxima foi tentar lembrar desse aviso, hahahaha.

-

Galera, estarei aperfeiçoando o script para que ao portão ser aberto mande uma mensagem a todos players do servidor!

Em breve, estará disponível!

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
  • Administrador

Doughell, é possível modificar o titulo do seu tópico, basta clicar em Editar > Modificação Completa.

TibiaKing Team- KingTópicos
www.tibiaking.com

Link para o post
Compartilhar em outros sites

Obrigado Matheus por me auxiliar! :D

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

Lpz muito obrigado pelo comentário e pelo aviso!

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

Vou te dar umas dicas para melhorar ainda mais seus scripts.

1. Procure isolar as variáveis locais fora da função, principalmente em uma tabela.


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!"

	}

}

2. Se você acha que vai usar uma condição duas vezes, isole ela, não use elseif, repetindo-a.

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

Assim seu script vai ficar bem melhor e mais organizado.

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

Link para o post
Compartilhar em outros sites

Lpz muito obrigado pelas dicas! E aliás, já tinha ouvido em falar sobre esta "tabela".

Acabei de atualizar o script com suas dicas, fico muito grato pelas dicas! ;D

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