sistema de game over por coordenada Hitskin_logo Hitskin.com

Isto é uma pré-visualização de um tema em Hitskin.com
Instalar o temaVoltar para a ficha do tema

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

sistema de game over por coordenada

2 participantes

Ir para baixo

sistema de game over por coordenada Empty sistema de game over por coordenada

Mensagem por Maephel Sáb Out 27, 2012 3:53 pm

Bom primeiramente salve! Salve! pra galera da aldeia! ao que interessa...

Eu me inspirei no hl - scene gameover do hugoLnX lá da mundorpgmaker
http://www.mundorpgmaker.com/forum/index.php?topic=521.0
mas pelo que eu testei ele não compatibilizava com o np master v4
bom o que eu fiz foi bem simples:

eu fui no script [ABS] Game_Over 1 e em cima da linha:
Código:
class Scene_Gameover
adicionei isto:
Código:
  $gameovercoord = true #true para game over por coordenadas e false para game over pré configurado no [CF] User Edits
  MAPID = X #Substitua o x pela Id da variável que representará o id do mapa que o herói será teletransportado
  MAPX  = X  #Substitua o x pela Id da variável que representará a coordenada x.
  MAPY  = X #Substitua o x pela Id da variável que representará a coordenada y
e depois fiz essas alterações logo abaixo:
Código:
  def main
    $msg_chat_w = true
    resetwindows
    if $gameovercoord == true
    $game_temp.player_new_map_id =($game_variables [MAPID])
    $game_temp.player_new_x      =($game_variables [MAPX])
    $game_temp.player_new_y      =($game_variables [MAPY])
  else
    $game_temp.player_new_map_id = User_Edit::ID_DO_MAPA
    $game_temp.player_new_x      = User_Edit::CORDENADA_X
    $game_temp.player_new_y      = User_Edit::CORDENADA_Y
    end
sistema de game over por coordenada 3842062876não entendo muito de rgss mas funfou sistema de game over por coordenada 2938270996!!!

para escolher o lugar onde será salvo crie um npc e vá em opçoes de variaveis e edit:
a variavel de id com o numero do mapa;
a variavel de coordenada X com o numero da coordenada X no mapa; e
a variavel de coordenada Y com o numero da coordenada Y no mapa.
as variaveis que foram escolhidas no mod adicionado no game over
exemplo abaixo:
Spoiler:

pronto você tem um sistema de save no estilo de kafra do ragnarok sistema de game over por coordenada 1964351358

======CRÉDITOS======
A mim: pelo mod no game over... e pelo tutorial oras!
sistema de game over por coordenada 2140580980
Ao Valentine pelo Game over original
sistema de game over por coordenada 1964351358
Ao hugoLnX pela inpiração no seu script que funciona para jogos off
sistema de game over por coordenada 1964351358
E ao Jonny porque foi lendo um tópico dele que eu me motivei a dar um jeito!
sistema de game over por coordenada 2387276743

Possivel bug:
Se você não tiver configurado as variaveis um personagem ao morrer poder "querer" ser teletransportado para um mapa que não existe como no meu caso ele pedia "Map000" e jogava na coordenada x 01 e Y 01 para evitar esse bug ative um processo paralelo definindo as coordenadas de Game Over!!!

Ah... pra quem estiver de preguiçinha:
mas se por acaso tiver alguma alteração no game over é provavel que ocorra erros! então é prefirivel fazer pelo passo-a-passo!
Código:

#==============================================================================
# ** Scene_Gameover
#------------------------------------------------------------------------------
# By Valentine
# mod: MatheusMelo03
#==============================================================================


  $gameovercoord = true
  MAPID = 26 #Id da variável que representará o id do mapa que o herói será teletransportado
  MAPX  = 27 #Id da variável que representará a coordenada x.
  MAPY  = 28 #Id da variável que representará a coordenada y
class Scene_Gameover
  #--------------------------------------------------------------------------
  # * Main
  #--------------------------------------------------------------------------
  def main
    $msg_chat_w = true
    resetwindows
    if $gameovercoord == true
    $game_temp.player_new_map_id =($game_variables [MAPID])
    $game_temp.player_new_x      =($game_variables [MAPX])
    $game_temp.player_new_y      =($game_variables [MAPY])
  else
    $game_temp.player_new_map_id = User_Edit::ID_DO_MAPA
    $game_temp.player_new_x      = User_Edit::CORDENADA_X
    $game_temp.player_new_y      = User_Edit::CORDENADA_Y
    end
   

    $game_player.animation_id = 15
    @move = $game_player
    @move.turn_down
    Audio.me_stop
    Audio.bgs_stop
   
    last_level = $game_party.actors[0].level
   
    $game_map.update
    $game_player.refresh
    $game_party.actors[0].hp = $game_party.actors[0].maxhp
    $game_party.actors[0].sp = $game_party.actors[0].maxsp
    $game_temp.gameover = false
    $game_temp.transition_processing = false
    $game_actors[1].exp -= (($game_actors[1].level.to_i * User_Edit::GAME_OVER_EXP) / 1)
    $ABS = MrMo_ABS.new
    $game_temp.player_transferring = true
   
    if Network::Main.group == 'admin'
      $game_party.actors[0].grupo = "Admin"
    else
      $game_party.actors[0].grupo = "Standard"
    end
   
    if $game_party.actors[0].level < last_level
      $distribuir_pontos -= 5
    end
   
    autosave
    $scene = Scene_Map.new
    Network::Main.send_start
   
    # Sair da Party
    if !$party.empty?
      for i in 0..$party.members.size
        if $party.members[i] != nil
          if $parte_s == true
            name = $game_party.actors[0].name
            Network::Main.pchat($charzinho_id,"[COM] [ET] #{name}")
            Network::Main.pchat($charzinho_id,"[COM] [EXIT] #{name}")
            $party.party_remove($charzinho_id)
            $divide_exp = false
          else
            name = $game_party.actors[0].name
            Network::Main.pchat($party.members[i].netid,"[COM] [ET] #{name}")
            Network::Main.pchat($party.members[i].netid,"[COM] [EXIT] #{name}")
            $party.party_remove($party.members[i])
            $divide_exp = false
          end
        end
      end
    end
   
    loop do
      Graphics.update
      if $scene != self
        break
      end
    end
    Graphics.freeze
  end
 
end

meus proximos objetivos:
Spoiler:
Maephel
Maephel
Ocasional
Ocasional

Mensagens : 212
Créditos : 18

Ir para o topo Ir para baixo

sistema de game over por coordenada Empty Re: sistema de game over por coordenada

Mensagem por Ghost 404 Qui Nov 01, 2012 3:08 pm

isso é muito útil para quem adora personalizar o jogo , eu gostei mt e ja estou usando no meu projeto novo + 1 credcard

_________________
sistema de game over por coordenada Cyisthatassinatura
Spoiler:
Ghost 404
Ghost 404
Novato
Novato

Mensagens : 19
Créditos : 5

http://empiremaker-br.forumeiros.com

Ir para o topo Ir para baixo

sistema de game over por coordenada Empty tank u

Mensagem por Maephel Qui Nov 01, 2012 7:03 pm

Vlw cara!!!

Eu nunca me dei bem com scripts sempre preferi fazer tudo por eventos mas como pretendo fazer meu mmorpg estou tentando que aprender rgss... (e estou começando a entender algumas coisa...) há sim!!! fiz uma atualização com auxilio do "Respawn Point" do Rd12

Respawn point do rd12 com uma pequena modificação:
para fazer funcionar coloque no primeiro mapa um evento em processo paralelo e chame o script (terceira aba na opções eventos)e cole:
Código:
firstrespawn_point
isto evita que o deo bug de requerimento de map00 já que a variavel terá o valor de 0
e ligue uma switch para encerrar o processo e crie uma nova aba com condição a dita switch
porque ligar a switch? pq se não toda a vez que você estiver nesse mapa vai configurar automaticamente o ponto de retorno neste lugar!

para criar um ponto de retorno crie um evento normal (com a condição pressionar tecla) e chame o script:
Código:
respawn_point
uma diga chame também o script:
Código:
$game_temp.chat_log.push("Salvo como ponto de retorno")
estou tentando criar uma window em que apareça as opções:
"Desejar salvar como ponto de retorno?"
"Cancelar"

SCRIPTS:

cole este script acima do main com o nome de [MOD] Respawn_Point ou o nome que bem entender...
Código:
#:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:
#                        --- RESPAWN POINT---
# Autor: RD12
# Mod: Matheusmelo03 [aldeiarpgbr]
# Script que define um ponto de retorno do player ao morrer, e
# um ponto de inicio
#=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:
#
#É necessário modificar o script Game_Over1.
#Para criar um ponto de retorno, crie um evento,
#E nele bote chamar script: respawn_point
#
#
#=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:

class Game_Character
  attr_accessor    :opacity
end

def respawn_point
  #O respawn point guarda nestas variáveis
  #o ID e cordenadas do mapa! configurada
  #em um save point.
  $game_variables[26] = $game_map.map_id
  $game_variables[27] = $game_player.x
  $game_variables[28] = $game_player.y
end
def firstrespawn_point
  #O firstrespawn_point guarda nas variaveis o
  #ID e cordenada do mapa do primeiro ponto de
  #retorno (ponto inicial) do jogador ao entrar
  #no jogo.
  #Eu usei essas variaveis para teste não sei se é obrigatório o uso de variaveis acima de 1000,
  #estas que são globais
  $game_variables[26] = 1 #mude a id para a do mapa de retorno inicial
  $game_variables[27] = 8 #mude a id para a coordenada x do mapa inicial
  $game_variables[28] = 7 #mude a id para a coordenada y do mapa inicial
end

e faça estas auterações no game over:
Código:

#==============================================================================
# ** Scene_Gameover
#------------------------------------------------------------------------------
# By Valentine
#==============================================================================

 $gameovercoord = true
module Respawn_Variable
  MAPID = 26 #Id da variável que representará o id do mapa que o herói será teletransportado
  MAPX  = 27 #Id da variável que representará a coordenada x.
  MAPY  = 28 #Id da variável que representará a coordenada y
end

class Scene_Gameover
  #--------------------------------------------------------------------------
  # * Main
  #--------------------------------------------------------------------------
  def main
    $msg_chat_w = true
    resetwindows
    if $gameovercoord == true
    $game_temp.player_new_map_id =($game_variables [Respawn_Variable::MAPID])
    $game_temp.player_new_x      =($game_variables [Respawn_Variable::MAPX])
    $game_temp.player_new_y      =($game_variables [Respawn_Variable::MAPY])
  else
    $game_temp.player_new_map_id = User_Edit::ID_DO_MAPA
    $game_temp.player_new_x      = User_Edit::CORDENADA_X
    $game_temp.player_new_y      = User_Edit::CORDENADA_Y
    end

Créditos:
Código:
RD12: Pelo Respawn Point original
Valentine: Pelo Game Over original
A mim: pelos mods no ditos scripts acima
Maephel
Maephel
Ocasional
Ocasional

Mensagens : 212
Créditos : 18

Ir para o topo Ir para baixo

sistema de game over por coordenada Empty Re: sistema de game over por coordenada

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos