Kingdom hearts : Dark Chronicles - Forum
Vous souhaitez ragir ce message ? Crez un compte en quelques clics ou connectez-vous pour continuer.

Kingdom hearts : Dark Chronicles - Forum

Suivez le developpement du projet de prs en ne ratant aucune news
 
AccueilRechercherDernires imagesS'enregistrerConnexion
Le Deal du moment :
ETB Pokémon Fable Nébuleuse : où ...
Voir le deal

 

 Dplacement faon Kingdom Hearts Chain Of Memories

Aller en bas 
2 participants
AuteurMessage
Sire
Modrateur de l'ombre
Sire


Nombre de messages : 67
Age : 32
Niveau RPG Maker : Noob de 1er classe -_-
Date d'inscription : 01/04/2007

Feuille de personnage
Karma:
Dplacement faon Kingdom Hearts Chain Of Memories Left_bar_bleue70/100Dplacement faon Kingdom Hearts Chain Of Memories Empty_bar_bleue  (70/100)
Light points:
Dplacement faon Kingdom Hearts Chain Of Memories Left_bar_bleue70/100Dplacement faon Kingdom Hearts Chain Of Memories Empty_bar_bleue  (70/100)
Dark points:
Dplacement faon Kingdom Hearts Chain Of Memories Left_bar_bleue0/100Dplacement faon Kingdom Hearts Chain Of Memories Empty_bar_bleue  (0/100)

Dplacement faon Kingdom Hearts Chain Of Memories Empty
MessageSujet: Dplacement faon Kingdom Hearts Chain Of Memories   Dplacement faon Kingdom Hearts Chain Of Memories Icon_minitimeDim 1 Avr - 2:36

Ce script permet au personnage de bouger dans 8 directions au lieu de 4 et permet de courir sur la map en maintenant la touche "Espace" du Clavier. C'est une runion de plusieurs scripts de dplacements diffrents, c'est le script ultime ( Pour Moi Wink ) !
<1> Crez un script au-dessus de "Main" portant le nom de "Game_Player2". <1>
<2> Collez le code ultime l'intrieur! <2>

Code:
class Game_Player < Game_Character
#--------------------------------------------------------------------------
# 萔
#--------------------------------------------------------------------------
UP = 48 # ̗]T(0 < UP < 63)
DOWN = 16 # ̗]T(0 < DOWN <63)
SIDE = 32 # E̗]T(0 < SIDE <63)
SLANT = false # ړ[g̎΂߈ړAxC
#--------------------------------------------------------------------------
# JCX^Xϐ
#--------------------------------------------------------------------------
attr_reader :event # Cxgړx
attr_accessor :move_speed # ړx
#--------------------------------------------------------------------------
# t[XV
#--------------------------------------------------------------------------
alias :update_original :update
def update
# @walk:sx @dash:_bVړx
# @event:Cxgړxi0̎́ACxgɑxύXȂj
@walk = 4
@dash = 5
@event = 4
@dot_m = true
#_bV@BG^[L[ĂԁAړxύXB
unless moving? or $game_system.map_interpreter.running? or
@move_route_forcing or $game_temp.message_window_showing
if @walk != @dash
if Input.press?(Input::C)
if @move_speed != @dash
@move_speed = @dash
end
else
if @move_speed != @walk
@move_speed = @walk
end
end
end
end
if @revise_x == nil and @revise_y == nil
@revise_x = 0
@revise_y = 0
end
unless @dot_m
update_original
return
end
if @move_route_forcing
# [JϐɈړǂL
last_moving = moving?
# [JϐɍWL
last_real_x = @real_x
last_real_y = @real_y
# WĂꍇ
if (@revise_x != 0 or @revise_y != 0) and not jumping? and @move == true
if @revise_x != @real_x - @x * 128 or @revise_y != @real_y - @y * 128
@revise_x = @real_x - @x * 128
@revise_y = @real_y - @y * 128
end
# ړdistance1ƖڕWdistance2ݒ
distance1 = 2 ** @move_speed
distance2 = Math.sqrt(@revise_x ** 2 + @revise_y ** 2)
# ړڕWzꍇ
if distance1 > distance2
# Iɕ␳Wɂ
@real_x = @real_x - @revise_x
@real_y = @real_y - @revise_y
@revise_x = 0
@revise_y = 0
anime_update
# ړڕWɒBȂꍇ
else
# ړڕWɋ߂Â
@real_x -= (distance1 * @revise_x / distance2).round
@real_y -= (distance1 * @revise_y / distance2).round
@revise_x = @real_x - @x * 128
@revise_y = @real_y - @y * 128
anime_update
end
else
super
end
else
@move = false
# ړACxgsAړ[gA
# bZ[WEBhÊłȂꍇ
unless moving? or $game_system.map_interpreter.running? or
@move_route_forcing or $game_temp.message_window_showing
@event_run = false
# {^Ă΁A̕փvC[ړ
case Input.dir8

when 1
move_lower_left_p
when 2
move_down_p
when 3
move_lower_right_p
when 4
move_left_p
when 6
move_right_p
when 7
move_upper_left_p
when 8
move_up_p
when 9
move_upper_right_p
end
end
# [JϐɍWL
last_real_x = @real_x
last_real_y = @real_y
# ړ
@real_x = @x * 128 + @revise_x
@real_y = @y * 128 + @revise_y
# [JϐɈړǂL
last_moving = moving?
# WXV
move_on
# ݂̍WƈȑO̍WقȂꍇ
if (last_real_x != @real_x or last_real_y != @real_y)
@move_distance = 0 if @move_distance == nil
@move_distance += Math.sqrt((last_real_x - @real_x) ** 2 +
(last_real_y - @real_y) ** 2)
if @move_distance >= 128
@move_distance %= 128
increase_steps
end
# Aj[VXV
anime_update
else
@pattern = 0
end
end
# LN^[ɈړA‰ʏ̈ʒu艺̏ꍇ
if @real_y > last_real_y and @real_y - $game_map.display_y > CENTER_Y
# }bvɃXN[
$game_map.scroll_down(@real_y - last_real_y)
end
# LN^[ɈړA‰ʏ̈ʒu荶̏ꍇ
if @real_x < last_real_x and @real_x - $game_map.display_x < CENTER_X
# }bvɃXN[
$game_map.scroll_left(last_real_x - @real_x)
end
# LN^[EɈړA‰ʏ̈ʒuȄꍇ
if @real_x > last_real_x and @real_x - $game_map.display_x > CENTER_X
# }bvEɃXN[
$game_map.scroll_right(@real_x - last_real_x)
end
# LN^[ɈړA‰ʏ̈ʒȕꍇ
if @real_y < last_real_y and @real_y - $game_map.display_y < CENTER_Y
# }bvɃXN[
$game_map.scroll_up(last_real_y - @real_y)
end
# OvC[ړꍇ
if last_moving
# ʒũCxgƂ̐ڐGɂCxgN
result = check_event_trigger_here([1,2])
# NCxgȂꍇ
if result == false
# fobO[h ON CTRL L[Ăꍇ
unless $DEBUG and Input.press?(Input::CTRL)
# GJEg JEg_E
if @encounter_count > 0
@encounter_count -= 1
end
end
end
end
# C {^ꂽꍇ
if Input.trigger?(Input::C)
# ʒuѐʂ̃CxgN
check_event_trigger_here([0])
check_event_trigger_there([0,1,2])
end
end
#--------------------------------------------------------------------------
# IuWFNg

#--------------------------------------------------------------------------
def initialize
@revise_x = 0
@revise_y = 0
@move == false
super
end
#--------------------------------------------------------------------------
# ړ
#--------------------------------------------------------------------------
def moving?
unless @dot_m
result = super
return result
end
# ړ̏ꍇIWi̔
if @move_route_forcing
if @move == false
return false
end
super
# ʏ펞͌WWƈقȂꍇ݈̂ړƔ
else
return (@x != (@real_x / 128.0).round or @y != (@real_y / 128.0).round)
end
end
#--------------------------------------------------------------------------
# ړ
#--------------------------------------------------------------------------
def moving_a?
if @move == false
if (@move_route.list[@move_route_index].code <= 14 or
@move_route.list[@move_route_index].code == 25)
@move = true
end
return false
end
moving?
end
#--------------------------------------------------------------------------
# t[XV (Wv)
#--------------------------------------------------------------------------
def update_jump
# WvJEg 1 炷
@jump_count -= 1
# VWvZ
@real_x = (@real_x * @jump_count + @x * 128) / (@jump_count + 1)
@real_y = (@real_y * @jump_count + @y * 128) / (@jump_count + 1)
if @jump_count == 0
@revise_x = 0
@revise_y = 0
end
end
#--------------------------------------------------------------------------
# ړ^Cv : JX^
#--------------------------------------------------------------------------
def move_type_custom
unless @dot_m
super
return
end
# ~łȂΒf
if jumping? or moving_a?
return
end
# ړR}h̃Xg̍ŌɓB܂Ń[v
while @move_route_index < @move_route.list.size
# ړR}h擾
command = @move_route.list[@move_route_index]
# R}hR[h 0 (Xg̍Ō) ̏ꍇ
if command.code == 0
# IvV [JԂ] ON ̏ꍇ
if @move_route.repeat
# ړ[g̃CfbNXŏɖ߂
@move_route_index = 0
end
# IvV [JԂ] OFF ̏ꍇ
unless @move_route.repeat
# ړ[g̏ꍇ
if @move_route_forcing and not @move_route.repeat
# ړ[g̋
@move_route_forcing = false
# IWïړ[g𕜋A
@move_route = @original_move_route
@move_route_index = @original_move_route_index
@original_move_route = nil
end
# ~JEgNA
@stop_count = 0
end
return
end
# ړnR}h (Ɉړ`Wv) ̏ꍇ
if command.code <= 14
# R}hR[hŕ
case command.code
when 1 # Ɉړ
move_down
when 2 # Ɉړ
move_left
when 3 # EɈړ
move_right
when 4 # Ɉړ
move_up
when 5 # Ɉړ
move_lower_left
when 6 # EɈړ
move_lower_right
when 7 # Ɉړ
move_upper_left
when 8 # EɈړ
move_upper_right
when 9 # _Ɉړ
move_random
when 10 # vC[ɋ߂Â
move_toward_player
when 11 # vC[牓
move_away_from_player
when 12 # Oi
move_forward
when 13 #
move_backward
when 14 # Wv
jump(command.parameters[0], command.parameters[1])
end
# IvV [ړłȂꍇ͖] OFF ŁAړs̏ꍇ
if not @move_route.skippable and not moving? and not jumping?
return
end
@move_route_index += 1
return
end
# EFCg̏ꍇ
if command.code == 15
# EFCgJEgݒ
@wait_count = command.parameters[0] * 2 - 1
@move_route_index += 1
return
end
# ύXñR}h̏ꍇ
if command.code >= 16 and command.code <= 26
# R}hR[hŕ
case command.code
when 16 #
turn_down
when 17 #
turn_left
when 18 # E
turn_right
when 19 #
turn_up
when 20 # E 90 x]
turn_right_90
when 21 # 90 x]
turn_left_90
when 22 # 180 x]
turn_180
when 23 # E 90 x]
turn_right_or_left_90
when 24 # _ɕ]
turn_random
when 25 # vC[̕
turn_toward_player
when 26 # vC[̋t
turn_away_from_player
end
@move_route_index += 1
return
end
# ̑̃R}h̏ꍇ
if command.code >= 27
# R}hR[hŕ
case command.code
when 27 # XCb` ON
$game_switches[command.parameters[0]] = true
$game_map.need_refresh = true
when 28 # XCb` OFF
$game_switches[command.parameters[0]] = false
$game_map.need_refresh = true
when 29 # ړx̕ύX
@move_speed = command.parameters[0]
when 30 # ړpx̕ύX
@move_frequency = command.parameters[0]
when 31 # ړAj ON
@walk_anime = true
when 32 # ړAj OFF
@walk_anime = false
when 33 # ~Aj ON
@step_anime = true
when 34 # ~Aj OFF
@step_anime = false
when 35 # ΠON
@direction_fix = true
when 36 # ΠOFF
@direction_fix = false
when 37 # 蔲 ON
@through = true
when 38 # 蔲 OFF
@through = false
when 39 # őOʂɕ ON
@always_on_top = true
when 40 # őOʂɕ OFF
@always_on_top = false
when 41 # OtBbNύX
@tile_id = 0
@character_name = command.parameters[0]
@character_hue = command.parameters[1]
if @original_direction != command.parameters[2]
@direction = command.parameters[2]
@original_direction = @direction
@prelock_direction = 0
end
if @original_pattern != command.parameters[3]
@pattern = command.parameters[3]
@original_pattern = @pattern
end
when 42 # sx̕ύX
@opacity = command.parameters[0]
when 43 # @̕ύX
@blend_type = command.parameters[0]
when 44 # SE ̉t
$game_system.se_play(command.parameters[0])
when 45 # XNvg
result = eval(command.parameters[0])
end
@move_route_index += 1
return
end
end
end
#--------------------------------------------------------------------------
# Ɉړ
#--------------------------------------------------------------------------
def move_down_p
#
turn_down
# ړZo
distance = 2 ** @move_speed
down1(((@x * 128 + @revise_x) / 128.0).round,
((@y * 128 + @revise_y) / 128.0).round, distance, true)
end
#--------------------------------------------------------------------------
# Ɉړ”ǂ̔P
#--------------------------------------------------------------------------
def down1(x, y, distance, down = false)
result = down2(x, y, distance)
if result == false
@event_run = check_event_trigger_touch(x, y+1)
return result
end
if @revise_x < -SIDE
result = down2(x, y + 1, distance, 4)
result &= down2(x - 1, y, distance)
if result == false
if down
move_lower_right_p
if @revise_x > SIDE
@revise_x = SIDE
end
end
return result
end
elsif @revise_x > SIDE
result = down2(x, y + 1, distance, 6)
result &= down2(x + 1, y, distance)
if result == false
if down
move_lower_left_p
if @revise_x < -SIDE
@revise_x = -SIDE
end
end
return result
end
end
# Ɉړ”Ȃ΋ړ
@revise_y += distance
return result
end
#--------------------------------------------------------------------------
# Ɉړ”ǂ̔Q
#--------------------------------------------------------------------------
def down2(x, y, distance, d = 2)
if @revise_y + distance > DOWN
unless passable?(x, y, d)
if @revise_y < DOWN
@revise_y = DOWN
end
return false
end
end
return true
end
#--------------------------------------------------------------------------
# Ɉړ
#--------------------------------------------------------------------------
def move_left_p
#
turn_left
distance = 2 ** @move_speed
left1(((@x * 128 + @revise_x) / 128.0).round,
((@y * 128 + @revise_y) / 128.0).round, distance, true)
end
#--------------------------------------------------------------------------
# Ɉړ”ǂ̔P
#--------------------------------------------------------------------------
def left1(x, y, distance, left = false)
result = left2(x, y, distance)
if result == false
@event_run = check_event_trigger_touch(x-1, y)
return result
end
if @revise_y < -UP
result = left2(x - 1, y, distance, 8)
result &= left2(x, y - 1, distance)
if result == false
if left
move_lower_left_p
if @revise_y > DOWN
@revise_y = DOWN
end
end
return result
end
elsif @revise_y > DOWN
result = left2(x - 1, y, distance, 2)
result &= left2(x, y + 1, distance)
if result == false
if left
move_upper_left_p
if @revise_y < -UP
@revise_y = -UP
end
end
return result
end
end
@revise_x -= distance
return result
end
#--------------------------------------------------------------------------
# Ɉړ”ǂ̔Q
#--------------------------------------------------------------------------
def left2(x, y, distance, d = 4)
if @revise_x - distance < -SIDE
unless passable?(x, y, d)
if @revise_x > -SIDE
@revise_x = -SIDE
end
return false
end
end
return true
end
#--------------------------------------------------------------------------
# EɈړ
#--------------------------------------------------------------------------
def move_right_p
# E
turn_right
distance = 2 ** @move_speed
right1(((@x * 128 + @revise_x) / 128.0).round,
((@y * 128 + @revise_y) / 128.0).round, distance, true)
end
Revenir en haut Aller en bas
http://dark-univers.ifrance.com
Daxter
Porteur de la Keyblade
Daxter


Nombre de messages : 122
Date d'inscription : 28/03/2007

Feuille de personnage
Karma:
Dplacement faon Kingdom Hearts Chain Of Memories Left_bar_bleue100/100Dplacement faon Kingdom Hearts Chain Of Memories Empty_bar_bleue  (100/100)
Light points:
Dplacement faon Kingdom Hearts Chain Of Memories Left_bar_bleue0/100Dplacement faon Kingdom Hearts Chain Of Memories Empty_bar_bleue  (0/100)
Dark points:
Dplacement faon Kingdom Hearts Chain Of Memories Left_bar_bleue0/100Dplacement faon Kingdom Hearts Chain Of Memories Empty_bar_bleue  (0/100)

Dplacement faon Kingdom Hearts Chain Of Memories Empty
MessageSujet: Re: Dplacement faon Kingdom Hearts Chain Of Memories   Dplacement faon Kingdom Hearts Chain Of Memories Icon_minitimeDim 1 Avr - 2:43

Bon script, il faut encore que je regarde a de plus prs mais premire vue, c'est tout bon, comme d'habitude mon Sire Very Happy
Revenir en haut Aller en bas
https://khdarkchronicles.forumgaming.fr
 
Dplacement faon Kingdom Hearts Chain Of Memories
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Astuces Kingdom Hearts II
» Kingdom Hearts : Dark Chronicles *1 an !*

Permission de ce forum:Vous ne pouvez pas rpondre aux sujets dans ce forum
Kingdom hearts : Dark Chronicles - Forum :: RPG Maker :: Scripts-
Sauter vers:  
Ne ratez plus aucun deal !
Abonnez-vous pour recevoir par notification une sélection des meilleurs deals chaque jour.
IgnorerAutoriser