Suporte ao desenvolvimento de jogos!


    [TUTORIAL] BYOND - Aula de Dream Maker Capítulo 3

    Compartilhe
    avatar
    Lief
    Desenvolvedor
    Desenvolvedor

    Mensagens : 832
    Créditos : 50

    [TUTORIAL] BYOND - Aula de Dream Maker Capítulo 3

    Mensagem por Lief em Qua Jul 25, 2012 11:13 pm

    Objetos na Árvore

    Como
    a mente é a testemunha ea realidade dos sonhos de todos os objetos, de
    modo a alma é a única realidade da diversidade deste universo.

    - Bhagavat Gita

    Existem
    quatro tipos de objetos básicos. Cada um tem suas próprias propriedades
    especiais, bem como aqueles que todos partilhamos. Os objetos básicos
    são máfia, obj, relva, e área. Há também outros objectos, mas esses
    quatro são os únicos que são visíveis aos jogadores. Nós os chamamos de
    objetos atômicos.

    A
    simples diferença entre elas é a ordem em que aparecem no mapa. Áreas
    são elaborados na primeira camada. O ícone de uma área é muitas vezes
    simplesmente uma cor de fundo sólida. Turfs são desenhados em cima de
    áreas; estes costumam representar algum tipo de terreno, como grama,
    estradas, ou paredes. Objs são elaboradas seguinte, e poderá ficar para
    itens como espadas ou cookies. Mobs são desenhados em cima de tudo.
    Eles normalmente representam jogadores ou controlados por computador
    criaturas. (A multidão termo significa objeto móvel. Também é sugestivo
    de monstro, que é um papel que elas desempenham comum.)

    No
    mapa, as multidões e objs são disse a ser contida pela relva. Que por
    sua vez está contido pela área. Também é possível para mobs e objs para
    conter as coisas. Por exemplo, um obj peito pode conter um grupo de
    itens de tesouro, e mob de um jogador poderia conter todos os pertences
    do jogador.

    Observe
    como eu continuar usando palavras como `talvez ',' poderia ', ou«
    normalmente ». Isso é porque MS oferece ao designer, uma grande
    flexibilidade. Muitas das propriedades do objecto de base foram
    definidos com uma finalidade específica em mente. Isso não significa
    que você tem que usá-los dessa forma. O significado dos objetos do jogo
    é até você.

    Figura 3.4: Objetos de Atomic mais caro ao mais a camada de desenho
    área
    relvado
    obj
    mob

    1. Propriedades do Objeto

    Primeiro
    vamos olhar para as propriedades que todos os objetos têm em comum. Já
    vimos que cada um tem um nome e um ícone. Estas são variáveis. (Há
    também alguns procs, mas a discussão desses ocorre mais tarde no
    capítulo 7.) Aqui está uma lista de cada variável e uma descrição de
    sua finalidade.

    # name

    Este é o nome do objeto, que por padrão é o mesmo que o tipo (ou seja, nós) com qualquer nome ressalta substituídas por espaços.

    # gender

    O
    gênero gramatical do objeto pode ser definido utilizando esta variável.
    Os valores possíveis são "neutros", "masculino", "feminino" e "plural".
    O padrão é "neutro".

    # desc

    Esta
    é a descrição do objeto. Geralmente aparece no ES "painéis quando o
    jogador analisa o objeto. Controlar o conteúdo desses painéis serão
    discutidos na seção 7.3.

    # Suffix

    Este
    é um texto comumente exibida após o nome do objeto no stat "painéis.
    Por exemplo, este poderá indicar o status de itens de equipamento:
    "(arma na mão)", "(usados no corpo)", e assim por diante.

    # text

    Este
    é um único caractere usado para representar o objeto em um mapa
    não-gráfico. Se você já jogou desonestos ou de qualquer de seus
    derivados, você vai saber o que isso significa.

    #icon

    Este é o ícone de arquivo usado para representar graficamente o objeto.

    # icon_state

    Os
    arquivos de ícone pode conter várias representações alternativas para
    um objeto. Por exemplo, uma porta pode ser aberta ou fechada. Esta
    variável é o nome do estado ativo atualmente.

    # dir

    Esta
    é a direção que o objeto está enfrentando. Alguns ícones podem ser
    direcional, o que significa que um aspecto diferente, dependendo da
    forma como o objeto é apontado. Isto é o mais usado frequentemente para
    mobs, que mudam de direção como se movem ao redor.

    # overlays

    Esta é uma lista de ícones ou tipos de objetos que aparecem em cima do ícone principal do objeto.

    # underlays

    Esta é uma lista de ícones ou tipos de objetos que aparecem embaixo ícone principal do objeto.

    #visibility

    Esta é a 1 ou 0 para indicar se o objeto é visível.

    #luminosity

    Esta
    é de 0 a 6 para indicar o quão longe o objeto emite luz. Apenas as
    áreas são luminosos, por padrão, que tem o efeito de pôr luz sobre tudo
    o mais na área.

    #opacity

    Esta é a 1 ou 0 dependendo se o objeto bloqueia a luz. Um objeto opaco irá bloquear a exibição de objetos por trás dele.

    #density

    Esta
    é a 1 ou 0 para indicar se o objeto preenche o espaço que ocupa. Só
    multidões são densos, por padrão. Normalmente, não existem dois objetos
    densos podem ocupar a mesma posição (mas você vai ver como contornar
    que na secção 7.1).

    # contents

    Esta
    é uma lista de todos os objetos diretamente dentro de um objeto. O
    termo frequentemente usado no caso de mobs é inventário. Você vai
    aprender mais sobre este e listas, em geral, no capítulo 10.

    #verbs

    Esta é uma lista dos verbos (ou seja, comandos) associado com o objeto. Estas serão discutidas no capítulo 4.

    # type

    Este
    é o caminho do tipo do objeto. Por exemplo, pode ser / ou relvado /
    gramado / armadilha. Você pode olhar esse valor em um processo a fim de
    descobrir qual o tipo de objeto que você está lidando.
    #1.1 Location


    As
    variáveis local a seguir se aplicam a todos os tipos de objeto, exceto
    áreas, que não existem dentro de outros objetos. Essas variáveis são
    usadas apenas em código-proc, que será discutido no capítulo 6.

    #loc

    Isso
    indica que o recipiente de um objeto. Em outras palavras, se o objeto
    contém um objeto B, loc B será igual a A, B e vai existir em uma lista
    de conteúdo.

    # x, y, z

    Eles
    indicam a posição de um objeto no mapa. Válido coordenadas começam em
    (1,1,1). As coordenadas x e y representam leste / oeste e norte / sul
    posicionamento, respectivamente. A coordenada z especifica o nível do
    mapa.

    1,2 Mob Propriedades Adicionais

    Para além destas variáveis comumente realizada, multidões acrescentar alguns dos seus próprios.

    # key

    Este
    é o nome de login do jogador. Por padrão, quando uma multidão de novo é
    criado para um jogador, o nome do mob é definida igual a este. Cada
    peça é única - mesmo quando despojado de pontuação e ignorando a caixa.
    Isso faz com que seja uma boa maneira de manter o controle de pessoas.

    #ckey

    Esta
    é a chave do jogador na forma canônica (despojado de pontuação e
    convertidos em letras minúsculas). Isso é útil quando salvar
    informações sobre o jogador para uso futuro. Mais será dito sobre fazer
    isso no capítulo 12.

    # client

    Este é o objeto do jogador do cliente (caso exista). O objeto cliente será descrita no capítulo 9.

    #sight

    Este
    valor controla poderes especiais visuais de uma multidão, que permite a
    visão de objetos invisíveis ou obscurecido. Pode ser uma ou mais das
    seguintes constantes numéricas somados: SEEINVIS, SEEMOBS, SEEOBJS,
    SEETURFS, cego.

    (Normalmente,
    um usa o operador bitwise OR | para combinar os valores à vista.
    Entanto, você pode usar um velho liso + contanto que você não incluir o
    mesmo valor de mais de uma vez.)

    # group

    Esta
    é uma lista de amigos de uma multidão. Serve o propósito muito prático
    de evitar problemas de tráfego. Quando um amigo tenta mover após outro,
    os dois lugares interruptor. Caso contrário, pode ser bastante
    irritante para melhorar continuamente a chocar-se com os outros. Esta
    variável seriam manipulados no código proc.

    2. Atribuindo Variáveis

    Ao
    atribuir algumas variáveis, pode-se criar uma grande variedade de
    objetos. Isto é feito na definição do objeto. Por exemplo, aqui estão
    algumas combinações diferentes de opacidade e densidade.

    turf
    +floor
    ++icon = 'floor.dmi'
    ++wall icon = 'wall.dmi'
    ++density = 1
    ++opacity = 1
    ++secret_door
    +++name = "wall"
    +++density = 0
    +window
    ++icon = 'window.dmi'
    ++density = 1

    Este
    exemplo define quatro relvados: piso, parede, secret_door, e janela.
    Pode-se caminhar e ver através do assoalho, mas não a parede. A porta
    secreta é como uma parede, com uma possível atravessá-la. Para
    completar o conjunto, a janela é transparente, mas não traversable.

    Observe
    como tivemos que definir explicitamente o nome da porta secreta à
    parede para evitar que o segredo da porta padrão de tomar o efeito.
    Você também precisa fazer isso se você quiser incluir o nome de um
    personagem que não é permitido em um nome de nó.

    2,1 valores constantes

    Este
    exemplo ilustra três tipos básicos de valores: números, seqüências de
    texto e arquivos de recurso. Estes são chamados de valores constantes.

    2.1.1 Números

    Constantes
    numéricas ponto pode ser positivo ou negativo, inteiro ou flutuante, e
    pode fazer uso da notação científica. Por exemplo 3.15e7 ou 31500000 é
    aproximadamente o número de segundos em um ano. O valor máximo possível
    é 3.4e38 eo menor é 1.4e-45. (Os limites numéricos são as do IEEE de
    precisão simples valor de ponto flutuante, caso você estava pensando.)

    2.1.2 Texto

    Constantes
    de texto são muitas vezes chamado simplesmente de cordas por
    programadores, pois consistem em uma seqüência de caracteres. Eles
    começam e terminam com aspas duplas. Existem várias macros de texto
    especiais que podem ser usados dentro do texto. Por exemplo, um nome é
    assumido como sendo um substantivo próprio, se é maiúscula. Você pode
    substituir aquele usando a macro \ texto impróprio.

    obj/CPU

    +name = "\improper CPU"

    Como
    todas as macros de texto, \ imprópria começa com uma barra invertida. O
    espaço após ele serve apenas como um separador e é ignorada. Uma
    descrição completa deste e de macros outro texto, será dada no ponto
    11.3.

    Neste
    exemplo em particular, o propósito de usar \ imprópria é modificar a
    forma como o nome do objeto é tratado no texto de saída. Como um
    substantivo impróprio, seria produzir frases como "você inserir o CPU."
    ao invés de "Você inserir CPU." Você vai ver exatamente como a
    construção de frases como isso mais tarde.

    2.1.3 Arquivos de recursos

    Arquivos
    de recursos, como ícones ou sons são especificados entre aspas simples.
    Por exemplo, para acessar um ícone do arquivo localizado em C: \
    myworld \ man.dmi, você deve digitar o valor 'man.dmi'. Você pode fazer
    uso de sub-diretórios dentro do seu projeto para organizar as coisas
    como quiser.

    2,2 Macros Constant

    Se
    você usar um determinado valor em vários lugares, você pode querer
    definir uma macro para ele, ao invés de entrar várias vezes o mesmo
    valor. Isto também é útil se você quiser ser capaz de alterar
    facilmente o valor no futuro. Ao contrário do que caçar para ele no seu
    código, você pode simplesmente alterar a definição. Para identificá-los
    facilmente no código, que é prática padrão para capitalizar macros.
    Exemplo:

    

    #define MASTER_KEY "Dan" //The all-powerful super-user!

    mob/DM

    +key = MASTER_KEY

    Este
    exemplo define um tipo de mob especial para uso do DM (Dungeon Master,
    Dream Maker, Dan Maestro, ou qualquer auto-serviço título que desejo).
    Nenhum código foi incluído para esse efeito, mas um poderia dar a todos
    os tipos de DM fantásticos poderes para gerir The Game. Ao definir a
    macro MASTER_KEY no início do código, é fácil perceber e mudança em uma
    data posterior (por exemplo, se alguém tem mais).

    Quando
    os jogadores login, antes de criar uma multidão para eles, a pesquisa é
    feita primeiro para encontrar uma multidão já existentes ou do tipo de
    máfia com a tecla correspondente. Se um for encontrado, a multidão
    torna-se avatar do jogador. Caso contrário, uma multidão de novo é
    criado para o efeito e atribuído chave do jogador. Portanto, um jogador
    que fizer fora e volta mais tarde, normalmente re-habitar o mesmo mob.

    3. Juntando tudo

    Como uma demonstração de todos os quatro tipos de objetos básicos, considere o seguinte exemplo:

    area/dark

    +luminosity = 0

    obj/torch

    +icon = 'torch.dmi'

    +luminosity = 3

    turf

    floor

    ++icon = 'floor.dmi'

    +wall

    ++ icon = 'wall.dmi'

    ++density = 1

    mob/DM

    +key = "Dan"

    +density = 0 //I can walk through walls

    Faça
    os ícones necessários e um mapa. Espalhe a área escura ao longo de
    parte do mapa para ver o efeito que tem quando você anda em torno dele.
    Se você mudar o nome da chave do DM para combinar com o seu próprio,
    você deve ser capaz de atravessar paredes.

    Se
    você brincar com este código um pouco, você vai, sem dúvida, correr em
    coisas que você não tem certeza de como fazer ainda. Por exemplo, o que
    se quiser que o DM seja capaz de desligar a habilidade especial de
    caminhar através de paredes na vontade? Como cerca de um comando para
    criar uma tocha com a onda de uma mão? Tais ações requerem a mais forte
    magia de procedimentos verbo. Leia mais!

    Lief: Por aqui acaba as aulas de Dream Maker, achei essas aulas em um fórum abandonado de BYOND, que foi pego de outro fórum(em inglês e cujo o mesmo eu desconheço) e traduzido no google tradutor(Dá pra perceber né?)


    _________________
    A cidade tem medo de mim. Eu vi sua verdadeira face. As ruas são sarjetas dilatadas cheias de sangue e, quando os bueiros transbordarem, todos os vermes vão se afogar. A imundice de todo sexo e matanças vai espumar até a cintura e as putas e os políticos vão olhar para cima gritando "salve-nos"... e eu vou olhar para baixo e dizer "não".
    avatar
    Juton
    Experiente
    Experiente

    Mensagens : 490
    Créditos : 129

    Re: [TUTORIAL] BYOND - Aula de Dream Maker Capítulo 3

    Mensagem por Juton em Qui Jul 26, 2012 6:15 pm

    Cara, quando você copiar algo pra colar aqui pelo menos da uma ajeitadinha e pega os links das imgns!
    avatar
    Lief
    Desenvolvedor
    Desenvolvedor

    Mensagens : 832
    Créditos : 50

    Re: [TUTORIAL] BYOND - Aula de Dream Maker Capítulo 3

    Mensagem por Lief em Qui Jul 26, 2012 10:01 pm

    Não há links de imagens .-.


    _________________
    A cidade tem medo de mim. Eu vi sua verdadeira face. As ruas são sarjetas dilatadas cheias de sangue e, quando os bueiros transbordarem, todos os vermes vão se afogar. A imundice de todo sexo e matanças vai espumar até a cintura e as putas e os políticos vão olhar para cima gritando "salve-nos"... e eu vou olhar para baixo e dizer "não".

    Conteúdo patrocinado

    Re: [TUTORIAL] BYOND - Aula de Dream Maker Capítulo 3

    Mensagem por Conteúdo patrocinado


      Data/hora atual: Dom Dez 09, 2018 8:31 pm