Isto é uma pré-visualização de um tema em Hitskin.com
Instalar o tema • Voltar para a ficha do tema
sistema de game over por coordenada
2 participantes
Aldeia RPG :: RPG Maker :: Rpg Maker XP :: Tutoriais
Página 1 de 1
sistema de game over por coordenada
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:
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:
pronto você tem um sistema de save no estilo de kafra do ragnarok
======CRÉDITOS======
A mim: pelo mod no game over... e pelo tutorial oras!
Ao Valentine pelo Game over original
Ao hugoLnX pela inpiração no seu script que funciona para jogos off
E ao Jonny porque foi lendo um tópico dele que eu me motivei a dar um jeito!
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!
meus proximos objetivos:
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
- 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
- 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
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
======CRÉDITOS======
A mim: pelo mod no game over... e pelo tutorial oras!
Ao Valentine pelo Game over original
Ao hugoLnX pela inpiração no seu script que funciona para jogos off
E ao Jonny porque foi lendo um tópico dele que eu me motivei a dar um jeito!
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:
1 - mod para o Mr.Mo's ABS em que mude as sprites quando o personagem estiver atacando e para os mosntros também!
2 - Sistema de montaria compativel com np master v4 (em fase de testes)
3 - mod para o sistema de pet do RD12 em que o pet apareça se mexendo enquanto estiver parado
4 - mod em que os mob tenha uma sprite para cada situação (uma pra parado, outtra pra se mexendo, outra para atacando, outra quando estiver sendo atacado e outra quando estiver morrendo) semelhante ao Ragnarok Online
Maephel- Ocasional
- Mensagens : 212
Créditos : 18
Re: sistema de game over por coordenada
isso é muito útil para quem adora personalizar o jogo , eu gostei mt e ja estou usando no meu projeto novo + 1 credcard
_________________
- Spoiler:
- Principal Engine :Game Maker
Especialidade : Mapper
Jogos: The old mine (Game Maker)
Site(Fórum): Lost Makers
tank u
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:
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:
"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...
e faça estas auterações no game over:
Créditos:
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
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
- Código:
$game_temp.chat_log.push("Salvo como ponto de retorno")
"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- Ocasional
- Mensagens : 212
Créditos : 18
Tópicos semelhantes
» Sistema de criacao de personagem in-game
» [Java]Sistema de Salvar/Abrir dados em um game
» Sistema de Loja+Sistema de Passar de Classe por Level
» [Pedido] Script pra retorno de coordenada passavel dentro de um raio próximo ao jogador
» Cut The Rope (Mini-Game ou Full-Game)
» [Java]Sistema de Salvar/Abrir dados em um game
» Sistema de Loja+Sistema de Passar de Classe por Level
» [Pedido] Script pra retorno de coordenada passavel dentro de um raio próximo ao jogador
» Cut The Rope (Mini-Game ou Full-Game)
Aldeia RPG :: RPG Maker :: Rpg Maker XP :: Tutoriais
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos