___________________________________________________
Teleporte pelo Chat
___________________________________________________
Teleporte pelo Chat
___________________________________________________
Acabei de ver o pedido aqui na Aldeia, como é interessante resolvi fazer para todos aqui. Quem ja jogou Ragnarok Privado sabe o que é isso, vc digita um comando no chat e é teleportado para algum lugar. Como por exemplo "@go 0" você ia para Prontera, eu utilizarei comandos com barras, mas você pode trocar. Fique a vontade.
Primeiro, separe 3 variáveis. Veja como eu fiz:
Variável 51 - Corresponde ao ID do mapa pra onde irá o char
Variável 52 - Corresponde a posição X do mapa pra onde irá o char
Variável 53 - Corresponde a posição Y do mapa pra onde irá o char
Adicione esse script acima do Main:
- Código:
#==============================================================================
# ** Scene_Go
#------------------------------------------------------------------------------
# Original por Valentine, editado por Night Shadow
# Proibido postar fora da Aldeia RPG sem minha permissão
#==============================================================================
class Scene_Go
#--------------------------------------------------------------------------
# * Main
#--------------------------------------------------------------------------
def main
$msg_chat_w = true
$equip_w.visible = false
$equip_w.active = false
$member_list.visible = false
$member_list.active = false
$item_w.visible = false
$item_w.active = false
$help_w.visible = false
$help_w.active = false
$help_w_2.visible = false
$help_w_2.active = false
$help_w.visible = false
$help_w.active = false
$painel_adm.visible = false
$painel_adm.active = false
$convite.visible = false
$convite.active = false
$teleport.visible = false
$teleport.active = false
$skill.visible = false
$skill.active = false
$flag1.visible = false
$guild_w.visible = false
$guild_w.active = false
$msg.visible = false
$msg.active = false
$flag2.visible = false
$guild_created.visible = false
$guild_created.active = false
$memorizando_skill = false
$memorizando = false
$game_switches[26] = false
$game_variables[5] = 0
$game_temp.player_new_map_id = $game_variables[51]
$game_temp.player_new_x = $game_variables[52]
$game_temp.player_new_y = $game_variables[53]
$game_player.animation_id = 1
@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
$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
Neste código você pode alterar a animação do teleporte na linha 51.
Agora, vá no [SC1] New Chat, abaixo de:
- Código:
if @box.text == "/online"
@pl = Network::Main.players.size
$game_temp.chat_log.push(LANGUAGE::PLAYERSON+" #{@pl}")
@box.text = ""
return
end
Adicione:
- Código:
if @box.text == "/go 1"
@box.text = ""
$game_variables[51] = 12
$game_variables[52] = 11
$game_variables[53] = 8
$scene = Scene_Go.new
return
end
"/go 1" é o comando a ser digitado, 12 é o valor do ID do novo mapa, 11 é a posição x nesse mapa, 8 é o valor da posição y. Adicione o mesmo código com esses campos alterados quantas vezes quiser para novos mapas.
Proibido postar fora da Aldeia RPG sem minha permissão, ficarei feliz em dar alguma ajuda a quem tiver dificuldades ou corrigir bugs. Usem bem.
EDIT: Caso você queira que apenas ADMs usem o comando, use este código ao invés do anterior:
- Código:
if @box.text == "/go 1"
if Network::Main.group == 'admin'
@box.text = ""
$game_variables[51] = 12
$game_variables[52] = 11
$game_variables[53] = 8
$scene = Scene_Go.new
else
$game_temp.chat_log.push("Apenas administradores!")
@box.text = ""
end
return
end
Última edição por Night Shadow em Dom Ago 05, 2012 4:10 pm, editado 2 vez(es)