Aldeia RPG

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Suporte ao desenvolvimento de jogos


2 participantes

    Algum bom Scripter ai pra me dar uma ajudinha??

    avatar
    RedWolf
    Novato
    Novato


    Mensagens : 2
    Créditos : 0

    Algum bom Scripter ai pra me dar uma ajudinha?? Empty Algum bom Scripter ai pra me dar uma ajudinha??

    Mensagem por RedWolf Sáb Jun 20, 2015 2:31 pm

    Eai galera! Bem? Então, to com um problema aqui com um script. É o Script: Sistema de Sobrevivencia v1.11. Então meu problema é o seguinte, eu estou criando um jogo de Fazenda 
    baseado em Harvest Moon, só que no meu jogo tem esse sistema de necessidades. Porém
    eu preciso que quando a vida, fome, sede, sono e infecção chegue a 0, aconteça um
    Evento Comum, para que eu possa editar o que vai acontecer com o player se chegar a 0.
    Ex: A barra de sono chegou a 0, o player dorme aonde está e recupera alguns status e
    perde mais infecção(que no meu jogo é carisma). Então, tava precisando muito disso,
    urgentemente, para continuar meu projeto. Se alguém puder me ajudar, dês de já agradeço.
    Script:
    Código:
     
    =begin
    ======================================
      Sistema de Sobrevivencia v1.11 (Anteriormente conhecido como Sistema de Necessidades)
      Criado por: Apellonyx
      Traduçao feita por: Victor Mendes (makervictor)
      Lançado: 2 April 2013
      Ultima atualizaçao: 5 April 2013
    ======================================
      Termos de Uso:
        Voce é livre para usar esse sistema como quizer, em jogos comerciais ou nao-
        comerciais. Se voce editar o script bastante, nao é necessario me creditar
        necessary to credit me (desde que claramente seja usado apenas meu código
        como uma base para seu script),mas eu gostaria de receber crédito, se for
        usado em sua forma atual, ou se apenas modificar algumas coisas do script.
    ======================================
      Ajuda:
        Embora nem sempre estar ativo, eu costumo logar no "rpgmakervxace.com" diariamente,
        por isso, se voce tiver alguma pergunta relacionada ao script, voce pode
        perguntar lá, no topico em que esse script foi lançado. Apenas um aviso,
        eu nao editarei o script para torna-lo compativel com qualquer sistema
        de menu especial, mas vou tentar corrigir bugs que vao aparecendo . Se voce
        encontrar um, me avise, e eu farei o meu melhor para arrumar o erro.
    ======================================
      Atualizaçoes:
        v1.0: 2 Abril 2013 - Primeira versao. incluído comida, agua, cançaso, e vida.
        v1.01: 3 Abril 2013 - Adicionado valores máximos configuráveis para comida,
          agua, e cançaso, e fez o máximo para a vida um valor configurável. A
          prova de falhas mencionadas nas Instruções v1.0 não é mais necessário.
        v1.02: 3 Abril 2013 - Adicionado suporte para uma totalmente configuravel
          "logica reversa" , sugerido por esrann.
        v1.10: 5 Abril 2013 - Reconfiguração completa usando variáveis globais,
          em vez de variavel e switch do jogo. Todos os status sao opcionais,
          configuraveis, e podem ser tirados do menu.
        v1.11: 17 Maio 2013 - Corrigido um bug sério envolvendo o uso de valores float.
          Floats devem funcionar muito bem agora, sem causar o falhas no jogo ou
          paradas aleatorias do script. Tambem foi adicionado opacidade do fundo configuravel.
    ======================================
      Requisitos:
        Ainda não existe nenhum requisito para este script. Eu estou trabalhando em um
        script que irá permitir que as variáveis globais possam ser alteradas através da nota,
        mas pode demorar para ser feita.
    ======================================
      Descriçao:
        Esse script configura um sistema de necessidades, que inclui comida, água e descanso, todas
        que afetam a principal necessidade, a vida. A atualização 1.02 também adicionou uma lógica inversa
        estatísticas para a toxina ou manuseio de radiação. Todos as cinco estatísticas, juntamente com suas
        taxas de atualização, são manipulados por variáveis globais e podem ser alteradas a qualquer
        tempo com uma chamada de script simples.
    ======================================
      Instruçoes:
        Primeiro, você vai configurar como deseja que o script seja executado. todas
        as opções estão no primeiro módulo do script, chamado "Anyx". Eu não
        recomendo mudar nada do módulo se você não saber o que você é que esta
        fazendo.
      
        Em segundo lugar, depois de ter todas as suas opções de configuração, você pode ir sobre
        as definiçoes dos itens nutritivos. Tudo que você tem a fazer é configurá-lo no banco de dados
        como faz normalmente, e em seguida, anexar um efeito que chama um evento comum.
        Dentro do evento comum, use um dos seguintes scripts chamar para mudar a
        variável apropriada.
      
        $survival_v[id] op value
        id = O status que você deseja alterar. 1 é para a vida, 2 alimentos, 3 de água, 4 descanço,
          e 5 toxina. Os Ids 6-10 são usados para manter as taxas das estatísticas. 6 é para a vida, 7
          alimentos, 8 de água, 9 de descanso, e 10 toxina (definir qualquer dessas taxas para 0
          se quizer desativar um dos status, sem parar os outros)
        op = O operador utilizado para formular o novo valor. + = É usado para adicionar, - = é
          para subtração, * = é para multiplicação / = é para a divisão, e % = é
          para módulos. Há outros, e todos eles funcionam, mas eu não imagino você
          iria usá-los para este script, por isso não vou explicar aqui.
        value = O valor que você gostaria de alterar a variável. Por exemplo, se
          você está adicionando 10 a uma variável, colocaria o numero 10.
        
        $survival_s[id] = value
        id = O status que você deseja alterar. 1 é para a vida, 2 alimentos, 3 de água, 4 descanço,
          e 5 toxina. Os Ids 6-10 são usados para manter as taxas das estatísticas.
        value = true/false. Definir o valor como true para ids 1-5 permitirá que o
          status associado apareça. Defini-lo para false irá desativá-lo completamente. Para ids
          6-10, definindo o valor para true escondera o status no menu, mas ele continuara
          sendo atualizado (este pode ser personalizado usando o LIFEHIDEVAL,
          FOODHIDEVAL, WATERHIDEVAL, RESTHIDEVAL e opções TOXINHIDEVAL na
          Módulo Anyx abaixo. Quando a opção de esconder é verdade, que o número será escondido
          a partir do menu, até a estatística é inferior ao valor (STAT) do HIDEVAL, ou acima
          o valor da TOXINHIDEVAL para o stat toxina). Se false, o status será
          disponíveis no menu em todos os momentos.
      
        Você não precisa configurar manualmente os valores iniciais de cada variável, pois
        isso pode ser feito no script, mas você precisa ligar o sistema de sobrevivência
        manualmente, ou o script não vai fazer nada.
    ======================================
    =end
     
    $imported = {} if $imported.nil?
    $imported['Apellonyx-Survival'] = true
     
    puts "Load: Survival System v1.10 by Apellonyx"
     
    module Anyx
     
      WINXPOS       = 0 # Posiçao X da janela de sobrevivencia
      WINYPOS       = 320 # Posiçao Y da janela de sobrevivencia
      WINWIDTH      = 160 # Largura da janela de sobrevivencia
      WINTEXT       = 20 # Tamanho do texto usado na janela de sobrevivencia (Recomendavel 20)
      WINOPACITY    = 255 # Opacidade da janela de sobrevivencia
     
      SURVIVALSWITCH  = 1 # O ID do Switch que ativara e desativara o jogo.
      ONINBATTLE      = true # Se o sistema será atualizado durante as cenas de batalha
      DEATHATZERO     = false # Se for true, dara GameOver quando o status de vida
                             # chegar a 0
      DEATHFULLTOXIN  = false # Se for true, dara GameOver quando o status de Toxina
                             # chegar a seu nivel maximo
     
      LIFEVOCAB       = "Vida" # Vocabulario usado no status de vida na janela de sobrevivencia
      LIFEINIT        = 100 # Valor inicial do status de vida no começo de um jogo
      LIFERATE        = 300 # Número de frames entre as atualizações das estatísticas de vida
      LIFEMAX         = 100 # Valor maximo da barra de vida.
      LIFEEXC         = 100 # Valor maximo do status de vida (pode ultrapassar o LIFEMAX)
      LIFEENABLE      = false # Se for true, a barra de vida sera ativado
      LIFEHIDE        = true # Se for true, a barra de vida nao aparecera no menu
      LIFEHIDEVAL     = 100 # Se LIFEHIDE esta true, a barra de vida vai aparecer quando
                            # ele cai abaixo deste valor.
     
      FOODVOCAB       = "Fome" # Vocabulario usado no status de alimentos na janela de sobrevivencia
      FOODINIT        = 100 # Valor inicial do status de alimentos no começo de um jogo
      FOODRATE        = 1200 # Número de frames entre as atualizações das estatísticas de alimentos
      FOODMAX         = 100 # Valor maximo da barra de alimentos.
      FOODEXC         = 110 # Valor maximo do status de alimentos (pode ultrapassar o FOODMAX)
      FOODMOD         = -1.0 # Valor da mudança do status de alimentos cada atualização; se positivo,
    # Os valores iram aumentar a estatística ao longo do tempo, se negativo
    # os valores iram diminuir a estatística ao longo do tempo, e 0 fará
    # com que não atualize ao decorrer do tempo. Aceita valores float.
      FOODENABLE      = true # Se for true, a barra de alimentos sera ativado
      FOODHIDE        = false # Se for true, a barra de alimentos nao aparecera no menu
      FOODHIDEVAL     = 100 # Se FOODHIDE esta true, a barra de alimentos vai aparecer quando
                            # ele cai abaixo deste valor.
     
      WATERVOCAB      = "Sede" # Vocabulario usado no status de agua na janela de sobrevivencia
      WATERINIT        = 100 # Valor inicial do status de agua no começo de um jogo
      WATERRATE       = 900 # Número de frames entre as atualizações das estatísticas de agua
      WATERMAX        = 100 # Valor maximo da barra de agua.
      WATEREXC        = 110 # Valor maximo do status de agua (pode ultrapassar o WATERMAX)
      WATERMOD        = -1.0 # Valor da mudança do status de agua cada atualização; se positivo,
    # os valores iram aumentar a estatística ao longo do tempo, se negativo
    # os valores iram diminuir a estatística ao longo do tempo, e 0 fará
    # com que não atualize ao decorrer do tempo. Aceita valores float.
      WATERENABLE     = true # Se for true, a barra de agua sera ativado
      WATERHIDE        = false # Se for true, a barra de agua nao aparecera no menu
      WATERHIDEVAL     = 100 # Se WATERHIDE esta true, a barra de agua vai aparecer quando
                             # ele cai abaixo deste valor.
     
      RESTVOCAB       = "Sono" # Vocabulario usado no status de descanço na janela de sobrevivencia
      RESTINIT        = 100 # Valor inicial do status de descanço no começo de um jogo
      RESTRATE        = 1500 # Número de frames entre as atualizações das estatísticas de descanço
      RESTMAX         = 100 # Valor maximo da barra de descanço.
      RESTEXC         = 110 # Valor maximo do status de descanço (pode ultrapassar o RESTMAX)
      RESTMOD         = -1.0 # Valor da mudança do status de descanço cada atualização; se positivo,
    # os valores iram aumentar a estatística ao longo do tempo, se negativo
    # os valores iram diminuir a estatística ao longo do tempo, e 0 fará
    # com que não atualize ao decorrer do tempo. Aceita valores float.
      RESTENABLE      = true # Se for true, a barra de descanço sera ativado
      RESTHIDE        = false # Se for true, a barra de descanço nao aparecera no menu
      RESTHIDEVAL     = 100 # Se RESTHIDE esta true, a barra de descanço vai aparecer quando
                            # ele cai abaixo deste valor.
     
      TOXINVOCAB      = "Carisma" # Vocabulario usado no status de Toxina na janela de sobrevivencia
      TOXININIT       = 50 # Valor inicial do status de descanço no começo de um jogo
      TOXINRATE       = 900 # Número de frames entre as atualizações das estatísticas de descanço
      TOXINMAX        = 100 # Valor maximo do status de toxina
      TOXINMOD        = 0.0 # Valor da mudança do status de toxina cada atualização; se positivo,
    # os valores iram aumentar a estatística ao longo do tempo, se negativo
    # os valores iram diminuir a estatística ao longo do tempo, e 0 fará
    # com que não atualize ao decorrer do tempo. Aceita valores float.
      TOXINENABLE     = true # Se for true, a barra de toxina sera ativado
      TOXINHIDE       = false # Se for true, a barra de toxina nao aparecera no menu
      TOXINHIDEVAL    = 0 # Se TOXINHIDE esta true, a barra de descanço vai aparecer quando
                          # ele cai abaixo deste valor.
     
     LIFECOLORL      = 17 # ID Cor do lado esquerdo da barra de vida
     LIFECOLORR      = 6 # ID Cor do lado direito da barra de vida
     FOODCOLORL      = 3 # Cor identificação do lado esquerdo da barra de alimentos
     FOODCOLORR      = 24 # ID Cor do lado direito da barra de comida
     WATERCOLORL     = 16 # ID Cor do lado esquerdo da barra de água
     WATERCOLORR     = 4 # ID Cor do lado direito da barra de água
     RESTCOLORL      = 31 # ID Cor do lado esquerdo da barra de apoio
     RESTCOLORR      = 13 # ID Cor do lado direito da barra de apoio
     TOXINCOLORL     = 10 # ID Cor do lado esquerdo da barra de toxina
     TOXINCOLORR     = 2 # Cor ID do lado direito da barra de toxina
     
     EXCCOLOR        = 11 # Cor ID de texto para valores estatísticos mais de 100%
     SATCOLOR        = 24 # Cor ID de texto para valores estatísticos entre 76 e 100%
     AVECOLOR        = 17 # Cor ID de texto para valores estatísticos entre 51 e 75%
     LOWCOLOR        = 14 # Cor ID de texto para valores estatísticos entre 26 e 50%
     DANCOLOR        = 20 # Cor ID de texto para os valores de dados entre 1 e 25%
     DEPCOLOR        = 18 # Cor ID de texto para valores estatísticos de 0%
     
    ################################################################################
    ################################################################################
    ###                                                                          ###
    ###  Eu não recomendo a edição nas proximas linhas se você não sabe o que    ###
    ###   esta fazendo. Se você souber o que está fazendo pode ir em frente!     ###
    ###                                                                          ###
    ################################################################################
    ################################################################################
     
      def self.create_survival_commands
        $survival_v       =   Survival_Variables.new
        $survival_s       =   Survival_Switches.new
        $survival_v[1]    =   LIFEINIT
        $survival_v[6]    =   LIFERATE
        $survival_s[1]    =   LIFEENABLE
        $survival_s[6]    =   LIFEHIDE
        $survival_v[2]    =   FOODINIT
        $survival_v[7]    =   FOODRATE
        $survival_s[2]    =   FOODENABLE
        $survival_s[7]    =   FOODHIDE
        $survival_v[3]    =   WATERINIT
        $survival_v[8]    =   WATERRATE
        $survival_s[3]    =   WATERENABLE
        $survival_s[8]    =   WATERHIDE
        $survival_v[4]    =   RESTINIT
        $survival_v[9]    =   RESTRATE
        $survival_s[4]    =   RESTENABLE
        $survival_s[9]    =   RESTHIDE
        $survival_v[5]    =   TOXININIT
        $survival_v[10]   =   TOXINRATE
        $survival_s[5]    =   TOXINENABLE
        $survival_s[10]   =   TOXINHIDE
      end # def self.create_survival_commands
     
      class Survival_Variables
        def initialize
          @data = []
        end # def initialize
        def [](variable_id)
          @data[variable_id] || 0
        end # def [](variable_id)
        def []=(variable_id, value)
          @data[variable_id] = value
          on_change
        end # def []=(variable_id, value)
        def on_change
          $game_map.need_refresh = true
        end # def on_change
      end # class Survival_Variables
     
      class Survival_Switches
        def initialize
          @data = []
        end # def initialize
        def [](switch_id)
          @data[switch_id] || false
        end # def [](switch_id)
        def []=(switch_id, value)
          @data[switch_id] = value
          on_change
        end # def []=(switch_id, value)
        def on_change
          $game_map.need_refresh = true
        end # def on_change
      end # class Survival_Switches
     
      def self.update
        if $game_switches[SURVIVALSWITCH] == true
          if $survival_s[1] == true
            if $survival_v[6] > 0
              if Graphics.frame_count % $survival_v[6] == 0
                Anyx.life_update
              end # if Graphics.frame_count % $survival_v[6] == 0
            end # if $survival_v[6] > 0
          end # if $survival_s[1] == true
          if $survival_s[2] == true
            if $survival_v[7] > 0
              if Graphics.frame_count % $survival_v[7] == 0
                if $survival_v[2] < FOODEXC
                  $survival_v[2] += FOODMOD if $survival_v[2] > 0
                end
              end # if Graphics.frame_count % $survival_v[7] == 0
            end # if $survival_v[7] > 0
          end # if $survival_s[1] == true
          if $survival_s[3] == true
            if $survival_v[8] > 0
              if Graphics.frame_count % $survival_v[8] == 0
                if $survival_v[3] < WATEREXC
                  $survival_v[3] += WATERMOD if $survival_v[3] > 0
                end
              end # if Graphics.frame_count % $survival_v[8] == 0
            end # if $survival_v[8] > 0
          end # if $survival_s[3] == true
          if $survival_s[4] == true
            if $survival_v[9] > 0
              if Graphics.frame_count % $survival_v[9] == 0
                if $survival_v[4] < RESTEXC
                  $survival_v[4] += RESTMOD if $survival_v[4] > 0
                end
              end # if Graphics.frame_count % $survival_v[9] == 0
            end # if $survival_v[9] > 0
          end # if $survival_s[4] == true
          if $survival_s[5] == true
            if $survival_v[10] > 0
              if Graphics.frame_count % $survival_v[10] == 0
                if $survival_v[5] < TOXINMAX
                  $survival_v[5] += TOXINMOD if $survival_v[5] > 0
                end
              end # if Graphics.frame_count % $survival_v[10] == 0
            end # if $survival_v[10] > 0
          end # if $survival_s[5] == true
          $survival_v[1] = 0 if $survival_v[1] < 0
          $survival_v[2] = 0 if $survival_v[2] < 0
          $survival_v[3] = 0 if $survival_v[3] < 0
          $survival_v[4] = 0 if $survival_v[4] < 0
          $survival_v[5] = 0 if $survival_v[5] < 0
          $survival_v[1] = LIFEEXC if $survival_v[1] > LIFEEXC
          $survival_v[2] = FOODEXC if $survival_v[2] > FOODEXC
          $survival_v[3] = WATEREXC if $survival_v[3] > WATEREXC
          $survival_v[4] = RESTEXC if $survival_v[4] > RESTEXC
          $survival_v[5] = TOXINMAX if $survival_v[5] > TOXINMAX
          if $survival_v[1] <= 0
            SceneManager.call(Scene_Gameover) if DEATHATZERO
          end # if $survival_v[1] <= 0
          if $survival_v[5] >= TOXINMAX
            SceneManager.call(Scene_Gameover) if DEATHFULLTOXIN
          end # if $survival_v[5] >= TOXINMAX
        end # if $game_switches[SURVIVALSWITCH] == true
      end # def update
     
      def self.life_update
        if $survival_s[2] == true
          food_25 = FOODMAX / 4
          food_26 = food_25 + 0.001
          food_50 = food_25 * 2
          food_51 = food_50 + 0.001
          food_75 = food_25 * 3
          food_76 = food_75 + 0.001
          food_mod = -0.3 if 0 >= $survival_v[2]
          food_mod = -0.2 if (1..food_25) === $survival_v[2]
          food_mod = -0.1 if (food_26..food_50) === $survival_v[2]
          food_mod =  0.0 if (food_51..food_75) === $survival_v[2]
          food_mod =  0.1 if (food_76..FOODMAX) === $survival_v[2]
          food_mod =  0.2 if FOODMAX < $survival_v[2]
        else
          food_mod = 0
        end # if $survival_s[2] == true
        if $survival_s[3] == true
          water_25 = WATERMAX / 4
          water_26 = water_25 + 0.001
          water_50 = water_25 * 2
          water_51 = water_50 + 0.001
          water_75 = water_25 * 3
          water_76 = water_75 + 0.001
          water_mod = -0.3 if 0 >= $survival_v[3]
          water_mod = -0.2 if (1..water_25) === $survival_v[3]
          water_mod = -0.1 if (water_26..water_50) === $survival_v[3]
          water_mod =  0.0 if (water_51..water_75) === $survival_v[3]
          water_mod =  0.1 if (water_76..WATERMAX) === $survival_v[3]
          water_mod =  0.2 if WATERMAX < $survival_v[3]
        else
          water_mod = 0
        end # if $survival_s[4] == true
        if $survival_s[4] == true
          rest_25 = RESTMAX / 4
          rest_26 = rest_25 + 0.001
          rest_50 = rest_25 * 2
          rest_51 = rest_50 + 0.001
          rest_75 = rest_25 * 3
          rest_76 = rest_75 + 0.001
          rest_mod = -0.3 if 0 >= $survival_v[4]
          rest_mod = -0.2 if (1..rest_25) === $survival_v[4]
          rest_mod = -0.1 if (rest_26..rest_50) === $survival_v[4]
          rest_mod =  0.0 if (rest_51..rest_75) === $survival_v[4]
          rest_mod =  0.1 if (rest_76..RESTMAX) === $survival_v[4]
          rest_mod =  0.2 if RESTMAX < $survival_v[4]
        else
          rest_mod = 0
        end # if $survival_s[4] == true
        if $survival_s[5] == true
          toxin_25 = TOXINMAX / 4
          toxin_26 = toxin_25 + 0.001
          toxin_50 = toxin_25 * 2
          toxin_51 = toxin_50 + 0.001
          toxin_75 = toxin_25 * 3
          toxin_76 = toxin_75 + 0.001
          toxin_99 = TOXINMAX - 0.001
          toxin_mod =  0.1 if 0 >= $survival_v[5]
          toxin_mod =  0.0 if (1..toxin_25) === $survival_v[5]
          toxin_mod = -0.2 if (toxin_26..toxin_50) === $survival_v[5]
          toxin_mod = -0.4 if (toxin_51..toxin_75) === $survival_v[5]
          toxin_mod = -0.6 if (toxin_76..toxin_99) === $survival_v[5]
          toxin_mod = -0.8 if TOXINMAX <= $survival_v[5]
        else
          toxin_mod = 0.0
        end # if $survival_s[5] == true
        life_mod = food_mod + water_mod + rest_mod + toxin_mod
        $survival_v[1] += life_mod.round.to_i
      end # def life_update()
     
    end # module Anyx
     
    class Scene_Title
      alias survival_new_game command_new_game
      def command_new_game
        Anyx.create_survival_commands
        survival_new_game
      end # def command_new_game
    end # class Scene_Title
     
    class Scene_Map < Scene_Base
      alias survival_map_update update
      def update
        Anyx.update
        survival_map_update
      end # def update
    end # class Scene_Base
     
    class Scene_Battle < Scene_Base
      alias survival_battle_update update
      def update
        if Anyx::ONINBATTLE == true
          Anyx.update
          survival_battle_update
        end # if Anyx::ONINBATTLE == true
      end # def update
    end # class Scene_Base
     
    class Scene_Menu < Scene_MenuBase
      alias survival_menu_start start
      def start
        create_survival_window
        survival_menu_start
      end # def start
      def create_survival_window
        barcount = 0
        if $survival_s[1] == true
          barcount += 1 if $survival_s[6] == false || $survival_v[1] < Anyx::LIFEHIDEVAL
        end # if $survival_s[1] == true
        if $survival_s[2] == true
          barcount += 1 if $survival_s[7] == false || $survival_v[2] < Anyx::FOODHIDEVAL
        end # if $survival_s[2] == true
        if $survival_s[3] == true
          barcount += 1 if $survival_s[8] == false || $survival_v[3] < Anyx::WATERHIDEVAL
        end # if $survival_s[3] == true
        if $survival_s[4] == true
          barcount += 1 if $survival_s[9] == false || $survival_v[4] < Anyx::RESTHIDEVAL
        end # if $survival_s[4] == true
        if $survival_s[5] == true
          barcount += 1 if $survival_s[10] == false || $survival_v[5] > Anyx::TOXINHIDEVAL
        end # if $survival_s[5] == true
        @survival_window = Window_Survival.new
        @survival_window.contents.draw_text(0, 0, 500, 24, " Survival System") if barcount == 0
        barcount -= 1 if barcount >= 1
        survivalwinypos = Anyx::WINYPOS - (24 * barcount)
        @survival_window.x = Anyx::WINXPOS
        @survival_window.y = survivalwinypos
        @survival_window.opacity = Anyx::WINOPACITY
      end # def create_survival_window
    end # class Scene_Menu < Scene_MenuBase
     
    class Window_Survival < Window_Base
      def initialize
        winheight = 0
        if $survival_s[1] == true
          winheight += 1 if $survival_s[6] == false || $survival_v[1] < Anyx::LIFEHIDEVAL
        end # if $survival_s[1] == true
        if $survival_s[2] == true
          winheight += 1 if $survival_s[7] == false || $survival_v[2] < Anyx::FOODHIDEVAL
        end # if $survival_s[2] == true
        if $survival_s[3] == true
          winheight += 1 if $survival_s[8] == false || $survival_v[3] < Anyx::WATERHIDEVAL
        end # if $survival_s[3] == true
        if $survival_s[4] == true
          winheight += 1 if $survival_s[9] == false || $survival_v[4] < Anyx::RESTHIDEVAL
        end # if $survival_s[4] == true
        if $survival_s[5] == true
          winheight += 1 if $survival_s[10] == false || $survival_v[5] > Anyx::TOXINHIDEVAL
        end # if $survival_s[5] == true
        if winheight == 0
          winheight = 1
        end # if winheight == 0
        super(0, 0, Anyx::WINWIDTH, fitting_height(winheight))
        self.opacity = Anyx::WINOPACITY
        refresh
      end # def initialize
     
      def exc_color
        text_color(Anyx::EXCCOLOR)
      end # def exc_color
      def sat_color
        text_color(Anyx::SATCOLOR)
      end # def sat_color
      def ave_color
        text_color(Anyx::AVECOLOR)
      end # def ave_color
      def low_color
        text_color(Anyx::LOWCOLOR)
      end # def low_color
      def dan_color
        text_color(Anyx::DANCOLOR)
      end # def dan_color
      def dep_color
        text_color(Anyx::DEPCOLOR)
      end # def dep_color
     
      def refresh
        contents.clear
        contents.font.size = Anyx::WINTEXT
        lineheight = 0
        if $survival_s[1] == true
          if $survival_s[6] == false || $survival_v[1] < Anyx::LIFEHIDEVAL
            draw_life(0,0,lineheight)
            lineheight += 24
          end # if $survival_s[6] == false || $survival_v[1] < Anyx::LIFEHIDEVAL
        end # if $survival_s[1] == true
        if $survival_s[2] == true
          if $survival_s[7] == false || $survival_v[2] < Anyx::FOODHIDEVAL
            draw_food(0,0,lineheight)
            lineheight += 24
          end # if $survival_s[7] == false || $survival_v[2] < Anyx::FOODHIDEVAL
        end # if $survival_s[2] == true
        if $survival_s[3] == true
          if $survival_s[8] == false || $survival_v[3] < Anyx::WATERHIDEVAL
            draw_water(0,0,lineheight)
            lineheight += 24
          end # if $survival_s[8] == false || $survival_v[3] < Anyx::WATERHIDEVAL
        end # if $survival_s[3] == true
        if $survival_s[4] == true
          if $survival_s[9] == false || $survival_v[4] < Anyx::RESTHIDEVAL
            draw_rest(0,0,lineheight)
            lineheight += 24
          end # if $survival_s[9] == false || $survival_v[4] < Anyx::RESTHIDEVAL
        end # if $survival_s[4] == true
        if $survival_s[5] == true
          if $survival_s[10] == false || $survival_v[5] > Anyx::TOXINHIDEVAL
            draw_toxin(0,0,lineheight)
            lineheight += 24
          end # if $survival_s[10] == false || $survival_v[5] > Anyx::TOXINHIDEVAL
        end # if $survival_s[5] == true
      end # def refresh
     
      def draw_life(actor, x, y, width = Anyx::WINWIDTH - 22)
        life_25 = Anyx::LIFEMAX / 4
        life_26 = life_25 + 0.001
        life_50 = life_25 * 2
        life_51 = life_50 + 0.001
        life_75 = life_25 * 3
        life_76 = life_75 + 0.001
        life_99 = Anyx::LIFEMAX - 0.001
        life_color = dep_color if 1 > $survival_v[1]
        life_color = dan_color if (1..life_25) === $survival_v[1]
        life_color = low_color if (life_26..life_50) === $survival_v[1]
        life_color = ave_color if (life_51..life_75) === $survival_v[1]
        life_color = sat_color if (life_76..life_99) === $survival_v[1]
        life_color = exc_color if Anyx::LIFEMAX <= $survival_v[1]
        life_rate = $survival_v[1] / Anyx::LIFEMAX.to_f
        draw_gauge(x, y, width, life_rate, text_color(Anyx::LIFECOLORL), text_color(Anyx::LIFECOLORR))
        change_color(system_color)
        draw_text(x, y, 100, line_height, Anyx::LIFEVOCAB)
        draw_current_and_max_values(x, y, width, $survival_v[1].round.to_i, Anyx::LIFEMAX, life_color, life_color)
      end # def draw_life(actor, x, y, width = Anyx::WINWIDTH - 22)
      def draw_food(actor, x, y, width = Anyx::WINWIDTH - 22)
        food_25 = Anyx::FOODMAX / 4
        food_26 = food_25 + 0.001
        food_50 = food_25 * 2
        food_51 = food_50 + 0.001
        food_75 = food_25 * 3
        food_76 = food_75 + 0.001
        food_99 = Anyx::FOODMAX - 0.001
        food_color = dep_color if 1 > $survival_v[2]
        food_color = dan_color if (1..food_25) === $survival_v[2]
        food_color = low_color if (food_26..food_50) === $survival_v[2]
        food_color = ave_color if (food_51..food_75) === $survival_v[2]
        food_color = sat_color if (food_76..food_99) === $survival_v[2]
        food_color = exc_color if Anyx::FOODMAX <= $survival_v[2]
        food_rate = $survival_v[2] / Anyx::FOODMAX.to_f
        draw_gauge(x, y, width, food_rate, text_color(Anyx::FOODCOLORL), text_color(Anyx::FOODCOLORR))
        change_color(system_color)
        draw_text(x, y, 100, line_height, Anyx::FOODVOCAB)
        draw_current_and_max_values(x, y, width, $survival_v[2].round.to_i, Anyx::FOODMAX, food_color, food_color)
      end # def draw_food(actor, x, y, width = Anyx::WINWIDTH - 22)
      def draw_water(actor, x, y, width = Anyx::WINWIDTH - 22)
        water_25 = Anyx::WATERMAX / 4
        water_26 = water_25 + 0.001
        water_50 = water_25 * 2
        water_51 = water_50 + 0.001
        water_75 = water_25 * 3
        water_76 = water_75 + 0.001
        water_99 = Anyx::WATERMAX - 0.001
        water_color = dep_color if 1 > $survival_v[3]
        water_color = dan_color if (1..water_25) === $survival_v[3]
        water_color = low_color if (water_26..water_50) === $survival_v[3]
        water_color = ave_color if (water_51..water_75) === $survival_v[3]
        water_color = sat_color if (water_76..water_99) === $survival_v[3]
        water_color = exc_color if Anyx::WATERMAX <= $survival_v[3]
        water_rate = $survival_v[3] / Anyx::WATERMAX.to_f
        draw_gauge(x, y, width, water_rate, text_color(Anyx::WATERCOLORL), text_color(Anyx::WATERCOLORR))
        change_color(system_color)
        draw_text(x, y, 100, line_height, Anyx::WATERVOCAB)
        draw_current_and_max_values(x, y, width, $survival_v[3].round.to_i, Anyx::WATERMAX, water_color, water_color)
      end # def draw_water(actor, x, y, width = Anyx::WINWIDTH - 22)
      def draw_rest(actor, x, y, width = Anyx::WINWIDTH - 22)
        rest_25 = Anyx::WATERMAX / 4
        rest_26 = rest_25 + 0.001
        rest_50 = rest_25 * 2
        rest_51 = rest_50 + 0.001
        rest_75 = rest_25 * 3
        rest_76 = rest_75 + 0.001
        rest_99 = Anyx::RESTMAX - 0.001
        rest_color = dep_color if 1 > $survival_v[4]
        rest_color = dan_color if (1..rest_25) === $survival_v[4]
        rest_color = low_color if (rest_26..rest_50) === $survival_v[4]
        rest_color = ave_color if (rest_51..rest_75) === $survival_v[4]
        rest_color = sat_color if (rest_76..rest_99) === $survival_v[4]
        rest_color = exc_color if Anyx::RESTMAX <= $survival_v[4]
        rest_rate = $survival_v[4] / Anyx::RESTMAX.to_f
        draw_gauge(x, y, width, rest_rate, text_color(Anyx::RESTCOLORL), text_color(Anyx::RESTCOLORR))
        change_color(system_color)
        draw_text(x, y, 100, line_height, Anyx::RESTVOCAB)
        draw_current_and_max_values(x, y, width, $survival_v[4].round.to_i, Anyx::RESTMAX, rest_color, rest_color)
      end # def draw_rest(actor, x, y, width = Anyx::WINWIDTH - 22)
      def draw_toxin(actor, x, y, width = Anyx::WINWIDTH - 22)
        toxin_25 = Anyx::TOXINMAX / 4
        toxin_26 = toxin_25 + 0.001
        toxin_50 = toxin_25 * 2
        toxin_51 = toxin_50 + 0.001
        toxin_75 = toxin_25 * 3
        toxin_76 = toxin_75 + 0.001
        toxin_99 = Anyx::TOXINMAX - 0.001
        toxin_color = exc_color if 1 > $survival_v[5]
        toxin_color = sat_color if (1..toxin_25) === $survival_v[5]
        toxin_color = ave_color if (toxin_26..toxin_50) === $survival_v[5]
        toxin_color = low_color if (toxin_51..toxin_75) === $survival_v[5]
        toxin_color = dan_color if (toxin_76..toxin_99) === $survival_v[5]
        toxin_color = dep_color if Anyx::TOXINMAX <= $survival_v[5]
        toxin_rate = $survival_v[5] / Anyx::TOXINMAX.to_f
        draw_gauge(x, y, width, toxin_rate, text_color(Anyx::TOXINCOLORL), text_color(Anyx::TOXINCOLORR))
        change_color(system_color)
        draw_text(x, y, 100, line_height, Anyx::TOXINVOCAB)
        draw_current_and_max_values(x, y, width, $survival_v[5].round.to_i, Anyx::TOXINMAX, toxin_color, toxin_color)
      end # def draw_toxin(actor, x, y, width = Anyx::WINWIDTH - 22)
    end # class
     
    module DataManager
      def self.make_save_contents
        contents = {}
        contents[:system]        = $game_system
        contents[:timer]         = $game_timer
        contents[:message]       = $game_message
        contents[:switches]      = $game_switches
        contents[:variables]     = $game_variables
        contents[:self_switches] = $game_self_switches
        contents[:actors]        = $game_actors
        contents[:party]         = $game_party
        contents[:troop]         = $game_troop
        contents[:map]           = $game_map
        contents[:player]        = $game_player
        contents[:anyx_ss]       = $survival_s
        contents[:anyx_sv]       = $survival_v
        contents
      end # self.make_save_contents
      def self.extract_save_contents(contents)
        $game_system        = contents[:system]
        $game_timer         = contents[:timer]
        $game_message       = contents[:message]
        $game_switches      = contents[:switches]
        $game_variables     = contents[:variables]
        $game_self_switches = contents[:self_switches]
        $game_actors        = contents[:actors]
        $game_party         = contents[:party]
        $game_troop         = contents[:troop]
        $game_map           = contents[:map]
        $game_player        = contents[:player]
        $survival_s         = contents[:anyx_ss]
        $survival_v         = contents[:anyx_sv]
      end # self.extract_save_contents(contents)
    end # module DataManager

    Não sei se interfere em algo, mas eu estou usando também uma outra adaptação que
    possibilita que apareça a HUD do Script de Sobrevivência. Vou colocar aqui, caso precise.
    Script:
    Código:


    #==============================================================================
    #   XS - Variable Hud for Survival
    #   Author: Nicke
    #   Created: 02/04/2012
    #   Edited: 27/07/2013
    #   Edited by efeberk
    #   Version: 1.0b
    #==============================================================================
    # Instructions
    # -----------------------------------------------------------------------------
    # To install this script, open up your script editor and copy/paste this script
    # to an open slot below ? Materials but above ? Main. Remember to save.
    #
    # A small hud to display variables on the map.
    #
    # *** Only for RPG Maker VX Ace. ***
    #==============================================================================
    ($imported ||= {})["XAIL-VAR-WIN-HUD"] = true
     
    module XAIL
      module VAR_HUD
      #--------------------------------------------------------------------------#
      # * Settings
      #--------------------------------------------------------------------------#
          # FONT = [name, size, color, bold, shadow]
          FONT = [["Comic Sans MS"], 18, Color.new(255,255,255), false, true]
     
          # HUD = lammer, x, y, z, opacity, skin]
          HUD = [220, 400, 0,  0, 100, nil]
     
          # VAR_HUD_SWITCH = switch_id
          VAR_HUD_SWITCH = 2
     
          # VAR_LIST = [survival v id, vocab (nil), icon_index (nil), x, y]
          VAR_LIST = [] # Don't remove!
          VAR_LIST[0] = [2,'Fome',298]
          VAR_LIST[1] = [3,'Sede',366]
          VAR_LIST[2] = [4,'Sono',6]
          VAR_LIST[3] = [5,'Carisma',6]
          
          # Set the symbol for the amount.
          # Can be set to "" to disable.
          # SYMBOL = string
          SYMBOL = "%"
     
          # The space beetween the variables.
          # SPACING = number
          SPACING = 24
     
      end
    end
    # *** Don't edit below unless you know what you are doing. ***
    #==============================================================================#
    # ** Window_Var_Hud
    #------------------------------------------------------------------------------
    #  Class for drawing the variable hud.
    #==============================================================================#
    class Window_Var_Hud < Window_Base
     
      def initialize
        # // Method to initialize the var hud window.
        super(0, 0, window_width, fitting_height(XAIL::VAR_HUD::VAR_LIST.size))
        refresh
      end
     
      def window_width
        # // Method to return the width.
        return XAIL::VAR_HUD::HUD[0]
      end
     
      def draw_var(var, unit, x, y, width)
        # // Method to draw a variable with the content.
        value = "#{$survival_v[var]}#{XAIL::VAR_HUD::SYMBOL}"
        contents.font = Font.new(XAIL::VAR_HUD::FONT[0], XAIL::VAR_HUD::FONT[1])
        contents.font.color = XAIL::VAR_HUD::FONT[2]
        contents.font.bold = XAIL::VAR_HUD::FONT[3]
        contents.font.shadow = XAIL::VAR_HUD::FONT[4]
        draw_text(x + 48 + 24, y, width, line_height, value)
        draw_text(x + 12 + 24, y, width, line_height, unit) unless unit.nil?
        reset_font_settings
      end
     
      def refresh
        # // Method to refresh the variable hud.
        contents.clear
        draw_var_hud
      end
     
      def draw_var_hud
        # // Method to draw the var hud.
        y = 0
        @vars = {}
        for i in XAIL::VAR_HUD::VAR_LIST
          x = i[1].nil? ? 32 : -10
          draw_var(i[0], i[1], x, y, contents.width - 8)
          draw_icon(i[2], 0, y - 2) unless i[2].nil?
          y += XAIL::VAR_HUD::SPACING
          @vars[i[0]] = $survival_v[i[0]]
        end
      end
     
      def update
        # // Method to update the variable hud if a value has been changed.
        super
        for i in XAIL::VAR_HUD::VAR_LIST
          refresh if($survival_v[i[0]] != @vars[i[0]])
        end
      end
     
    end
    #==============================================================================
    # ** Scene_Map
    #------------------------------------------------------------------------------
    #  Show variable hud on the map.
    #==============================================================================
    class Scene_Map < Scene_Base
     
      alias xail_var_hud_window_start start
      def start(*args, &block)
        # // Method to start the var hud window on the map.
        xail_var_hud_window_start(*args, &block)
        create_var_hud_window
        @var_hud_window.visible = $game_switches[XAIL::VAR_HUD::VAR_HUD_SWITCH]
      end
     
      alias xail_var_hud_window_terminate terminate
      def terminate(*args, &block)
        # // Method to terminate the var hud window on the map.
        xail_var_hud_window_terminate(*args, &block)
      end
     
      def create_var_hud_window
        # // Method to create the variable window.
        @var_hud_window = Window_Var_Hud.new
        @var_hud_window.x = XAIL::VAR_HUD::HUD[1]
        @var_hud_window.y = XAIL::VAR_HUD::HUD[2]
        @var_hud_window.z = XAIL::VAR_HUD::HUD[3]
        @var_hud_window.opacity = XAIL::VAR_HUD::HUD[4]
        @var_hud_window.windowskin = Cache.system(XAIL::VAR_HUD::HUD[5]) unless XAIL::VAR_HUD::HUD[5].nil?
      end
     
      alias xail_var_hud_window_update update
      def update(*args, &block)
        # // Method to update the var hud window on the map.
        xail_var_hud_window_update(*args, &block)
        @var_hud_window.visible = $game_switches[XAIL::VAR_HUD::VAR_HUD_SWITCH]
      end
     
    end # END OF FILE
     
    #=*==========================================================================*=#
    # ** END OF FILE
    #=*==========================================================================*=#


    É isso aê! Se puder ajudar, agradeço muito!! +1 Cred Razz
    RD12
    RD12
    Lenda
    Lenda


    Medalhas : Algum bom Scripter ai pra me dar uma ajudinha?? 48080450Algum bom Scripter ai pra me dar uma ajudinha?? Trophy11Algum bom Scripter ai pra me dar uma ajudinha?? GIueZAlgum bom Scripter ai pra me dar uma ajudinha?? ZgLkiRU
    Mensagens : 1946
    Créditos : 745

    Algum bom Scripter ai pra me dar uma ajudinha?? Empty Re: Algum bom Scripter ai pra me dar uma ajudinha??

    Mensagem por RD12 Seg Jun 22, 2015 11:25 am

    O script é horroroso, em sua construção e configuração.
    Tenta fazer a condição no próprio evento comum:
    Condição: Script: $survival_s[id] == 0
    Como ele diz: 1 é para a vida, 2 alimentos, 3 de água, 4 descanço, e 5 toxina
    avatar
    RedWolf
    Novato
    Novato


    Mensagens : 2
    Créditos : 0

    Algum bom Scripter ai pra me dar uma ajudinha?? Empty Re: Algum bom Scripter ai pra me dar uma ajudinha??

    Mensagem por RedWolf Seg Jun 22, 2015 7:16 pm

    Então, infelizmente RD, eu já tinha tentado fazer isso. Mas simplesmente não acontece nada
    ou até mesmo da algum erro. Se você tiver algum tempinho, você poderia fazer um script
    simples que seja parecido com esse, só que tipo: Hud Simples, e tudo por eventos Comuns.
    Se não puder, poderia me recomendar algum Cursinho Online de Script?
    Estou precisando muito. E eu não encontro em lugar algum esse tipo de script, não pro
    RMVX Ace, que é o que eu mais uso. Se puder me dar uma forcinha, eu agradeço muito!!

    Conteúdo patrocinado


    Algum bom Scripter ai pra me dar uma ajudinha?? Empty Re: Algum bom Scripter ai pra me dar uma ajudinha??

    Mensagem por Conteúdo patrocinado


      Data/hora atual: Seg Set 16, 2024 4:33 pm