Zarok RPG Maker
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.



 
AccueilDernières imagesS'enregistrerConnexion
-28%
Le deal à ne pas rater :
-28% Machine à café avec broyeur à grain MELITTA Purista
229.99 € 318.99 €
Voir le deal

Partagez | 
 

 3D Isométrique façon Kingdom Hearts

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
uchiha sasuke
Matière
Matière
uchiha sasuke


Masculin Messages : 216
Age : 33
Date d'inscription : 12/02/2007

Caractéristiques du membre
Evolution: Atome
Job:
XP:
3D Isométrique façon Kingdom Hearts Left_bar_bleue20/203D Isométrique façon Kingdom Hearts Empty_bar_bleue  (20/20)

3D Isométrique façon Kingdom Hearts Empty
MessageSujet: 3D Isométrique façon Kingdom Hearts   3D Isométrique façon Kingdom Hearts EmptyMar 13 Mar 2007 - 12:11

Voici le script permettant de faire de la 3D Isométrique comme Kingdom Hearts.

Code:
Code:
#==============================================================================
# ** Game_Character (Modification)
#------------------------------------------------------------------------------
# This class deals with characters. It's used as a superclass for the
# Game_Player and Game_Event classes.
#==============================================================================

DIR_8_FRAMES = 8 # This holds the number of motion frames when walking
DIR_8_STAND = true # This determines if separate frame used for standing

class Game_Character

attr_reader :step_anime
attr_reader :stop_count

#--------------------------------------------------------------------------
# * Frame Update
#--------------------------------------------------------------------------
def update
# Branch with jumping, moving, and stopping
if jumping?
update_jump
elsif moving?
update_move
else
update_stop
end
# If animation count exceeds maximum value
# * Maximum value is move speed * 1 taken from basic value 18
if @anime_count > 18 - @move_speed * 2
# If stop animation is OFF when stopping
if not @step_anime and @stop_count > 0
# Return to original pattern
@pattern = @original_pattern
# If stop animation is ON when moving
else
# Update pattern
@pattern = ((@pattern 1 ) % DIR_8_FRAMES)
end
# Clear animation count
@anime_count = 0
end
# If waiting
if @wait_count > 0
# Reduce wait count
@wait_count -= 1
return
end
# If move route is forced
if @move_route_forcing
# Custom move
move_type_custom
return
end
# When waiting for event execution or locked
if @starting or lock?
# Not moving by self
return
end
# If stop count exceeds a certain value (computed from move frequency)
if @stop_count > (40 - @move_frequency * 2) * (6 - @move_frequency)
# Branch by move type
case @move_type
when 1 # Random
move_type_random
when 2 # Approach
move_type_toward_player
when 3 # Custom
move_type_custom
end
end
end

#--------------------------------------------------------------------------
# * Move Lower Left (Rewritten for diagonal animation)
#--------------------------------------------------------------------------
def move_lower_left
unless @direction_fix
@direction = 1
end
if (passable?(@x, @y, 2) and passable?(@x, @y 1, 4)) or
(passable?(@x, @y, 4) and passable?(@x - 1, @y, 2))
turn_downleft
@x -= 1
@y = 1
increase_steps
end
end

#--------------------------------------------------------------------------
# * Move Lower Right (Rewritten for diagonal animation)
#--------------------------------------------------------------------------
def move_lower_right
unless @direction_fix
@direction = 3
end
if (passable?(@x, @y, 2) and passable?(@x, @y 1, 6)) or
(passable?(@x, @y, 6) and passable?(@x 1, @y, 2))
turn_downright
@x = 1
@y = 1
increase_steps
end
end

#--------------------------------------------------------------------------
# * Move Upper Left (Rewritten for diagonal animation)
#--------------------------------------------------------------------------
def move_upper_left
unless @direction_fix
@direction = 7
end
if (passable?(@x, @y, 8) and passable?(@x, @y - 1, 4)) or
(passable?(@x, @y, 4) and passable?(@x - 1, @y, 8))
turn_upleft
@x -= 1
@y -= 1
increase_steps
end
end

#--------------------------------------------------------------------------
# * Move Upper Left (Rewritten for diagonal animation)
#--------------------------------------------------------------------------
def move_upper_right
unless @direction_fix
@direction = 9
end
if (passable?(@x, @y, 8) and passable?(@x, @y - 1, 6)) or
(passable?(@x, @y, 6) and passable?(@x 1, @y, 8))
turn_upright
@x = 1
@y -= 1
increase_steps
end
end

#--------------------------------------------------------------------------
# * Turn Up Left (Rewritten for diagonal animation)
#--------------------------------------------------------------------------
def turn_upleft
unless @direction_fix
@direction = 7
@stop_count = 0
end
end

#--------------------------------------------------------------------------
# * Turn Up Right (Rewritten for diagonal animation)
#--------------------------------------------------------------------------
def turn_upright
unless @direction_fix
@direction = 9
@stop_count = 0
end
end

#--------------------------------------------------------------------------
# * Turn Down Left (Rewritten for diagonal animation)
#--------------------------------------------------------------------------
def turn_downleft
unless @direction_fix
@direction = 1
@stop_count = 0
end
end

#--------------------------------------------------------------------------
# * Turn Down Right (Rewritten for diagonal animation)
#--------------------------------------------------------------------------
def turn_downright
unless @direction_fix
@direction = 3
@stop_count = 0
end
end
end

#==============================================================================
# ** Game_Player
#------------------------------------------------------------------------------
# This class handles the player. Its functions include event starting
# determinants and map scrolling. Refer to "$game_player" for the one
# instance of this class.
#==============================================================================

class Game_Player < Game_Character

#--------------------------------------------------------------------------
# * Frame Update
#--------------------------------------------------------------------------
def update
# Remember whether or not moving in local variables
last_moving = moving?
# If moving, event running, move route forcing, and message window
# display are all not occurring
unless moving? or $game_system.map_interpreter.running? or
@move_route_forcing or $game_temp.message_window_showing

# Move player in the direction the directional button is being pressed
# Rewritten for diagonal animation
case Input.dir8
when 2
move_down
when 4
move_left
when 6
move_right
when 8
move_up
when 7
move_upper_left
when 9
move_upper_right
when 3
move_lower_right
when 1
move_lower_left
end
end

# Remember coordinates in local variables
last_real_x = @real_x
last_real_y = @real_y
super
# If character moves down and is positioned lower than the center
# of the screen
if @real_y > last_real_y and @real_y - $game_map.display_y > CENTER_Y
# Scroll map down
$game_map.scroll_down(@real_y - last_real_y)
end
# If character moves left and is positioned more let on-screen than
# center
if @real_x < last_real_x and @real_x - $game_map.display_x < CENTER_X
# Scroll map left
$game_map.scroll_left(last_real_x - @real_x)
end
# If character moves right and is positioned more right on-screen than
# center
if @real_x > last_real_x and @real_x - $game_map.display_x > CENTER_X
# Scroll map right
$game_map.scroll_right(@real_x - last_real_x)
end
# If character moves up and is positioned higher than the center
# of the screen
if @real_y < last_real_y and @real_y - $game_map.display_y < CENTER_Y
# Scroll map up
$game_map.scroll_up(last_real_y - @real_y)
end
# If not moving
unless moving?
# If player was moving last time
if last_moving
# Event determinant is via touch of same position event
result = check_event_trigger_here([1,2])
# If event which started does not exist
if result == false
# Disregard if debug mode is ON and ctrl key was pressed
unless $DEBUG and Input.press?(Input::CTRL)
# Encounter countdown
if @encounter_count > 0
@encounter_count -= 1
end
end
end
end
# If C button was pressed
if Input.trigger?(Input::C)
# Same position and front event determinant
check_event_trigger_here([0])
check_event_trigger_there([0,1,2])
end
end
end
end




#==============================================================================
# ** Sprite_Character
#------------------------------------------------------------------------------
# This sprite is used to display the character.It observes the Game_Character
# class and automatically changes sprite conditions.
#==============================================================================

class Sprite_Character < RPG::Sprite

#--------------------------------------------------------------------------
# * Frame Update
#--------------------------------------------------------------------------
def update
super
# If tile ID, file name, or hue are different from current ones
if @tile_id != @character.tile_id or
@character_name != @character.character_name or
@character_hue != @character.character_hue
# Remember tile ID, file name, and hue
@tile_id = @character.tile_id
@character_name = @character.character_name
@character_hue = @character.character_hue
# If tile ID value is valid
if @tile_id >= 384
self.bitmap = RPG::Cache.tile($game_map.tileset_name,
@tile_id, @character.character_hue)
self.src_rect.set(0, 0, 32, 32)
self.ox = 16
self.oy = 32
# If tile ID value is invalid
else
self.bitmap = RPG::Cache.character(@character.character_name,
@character.character_hue)
if DIR_8_STAND
@cw = bitmap.width / (DIR_8_FRAMES 1) # Movement frames w/ stand
else
@cw = bitmap.width / (DIR_8_FRAMES) # Movement frames regular
end
@ch = bitmap.height / 8 # This sets for 8 directions
self.ox = @cw / 2
self.oy = @ch
end
end
# Set visible situation
self.visible = (not @character.transparent)
# If graphic is character
if @tile_id == 0
# Set rectangular transfer

# Set horizontal transfer (animation frames)
if not @character.step_anime and @character.stop_count > 0
sx = (@character.pattern) * @cw
else
sx = (@character.pattern 1) * @cw
end
# If you want the standing frame to be PART of the walking animation...
# like the default sprites (very plain...) comment out the above set
# of statements EXCEPT sx = (@character.pattern) * @cw

# Set vertical transfer (direction)
dir = @character.direction # These routines allow for eight
dec = (dir == 7 or dir== 9) ? 3 : 1 # directional movement. I forgot
sy = (dir - dec) * @ch # how I came up with it. Really.

self.src_rect.set(sx, sy, @cw, @ch)
end
# Set sprite coordinates
self.x = @character.screen_x
self.y = @character.screen_y
self.z = @character.screen_z(@ch)
# Set opacity level, blend method, and bush depth
self.opacity = @character.opacity
self.blend_type = @character.blend_type
self.bush_depth = @character.bush_depth
# Animation
if @character.animation_id != 0
animation = $data_animations[@character.animation_id]
animation(animation, true)
@character.animation_id = 0
end
end
end


Vous aurez besoin de ce genre de charas

3D Isométrique façon Kingdom Hearts 001male01pw5
Revenir en haut Aller en bas
darkness03
Embryon
Embryon
darkness03


Masculin Messages : 640
Age : 30
Date d'inscription : 11/11/2006

Caractéristiques du membre
Evolution: Atome
Job:
XP:
3D Isométrique façon Kingdom Hearts Left_bar_bleue20/203D Isométrique façon Kingdom Hearts Empty_bar_bleue  (20/20)

3D Isométrique façon Kingdom Hearts Empty
MessageSujet: Re: 3D Isométrique façon Kingdom Hearts   3D Isométrique façon Kingdom Hearts EmptyMar 13 Mar 2007 - 20:39

Hey,sa va en aider plus d'un sa,surtout que beaucoup de gens font des jeux de kh ^^(Tiens,je viens d'acheter kh aujourd'hui :p)
Revenir en haut Aller en bas
http://rpgmaker.heavenforum.com
maximilange
Matière
Matière
maximilange


Masculin Messages : 128
Loisirs : RPG Maker XP,Internet,Theatre,Jeu vidéo
Date d'inscription : 14/01/2007

Caractéristiques du membre
Evolution: Atome
Job: Un de peu de tout =) sauf les scripts encore pas mal de pb :/ ^^
XP:
3D Isométrique façon Kingdom Hearts Left_bar_bleue20/203D Isométrique façon Kingdom Hearts Empty_bar_bleue  (20/20)

3D Isométrique façon Kingdom Hearts Empty
MessageSujet: Re: 3D Isométrique façon Kingdom Hearts   3D Isométrique façon Kingdom Hearts EmptyJeu 15 Mar 2007 - 17:29

Cool maisca ne marche pas ligne 38 et faut il fiare un nouveau script ou en remplacez un ??
Revenir en haut Aller en bas
uchiha sasuke
Matière
Matière
uchiha sasuke


Masculin Messages : 216
Age : 33
Date d'inscription : 12/02/2007

Caractéristiques du membre
Evolution: Atome
Job:
XP:
3D Isométrique façon Kingdom Hearts Left_bar_bleue20/203D Isométrique façon Kingdom Hearts Empty_bar_bleue  (20/20)

3D Isométrique façon Kingdom Hearts Empty
MessageSujet: Re: 3D Isométrique façon Kingdom Hearts   3D Isométrique façon Kingdom Hearts EmptyVen 16 Mar 2007 - 17:52

Euh... desoler je ne sais pas mais je crois que tu doit en faire un nouveau au-dessus de Main
Revenir en haut Aller en bas
zarcan (compte qui bugue)
Matière
Matière
zarcan (compte qui bugue)


Masculin Messages : 208
Age : 33
Date d'inscription : 21/02/2007

Caractéristiques du membre
Evolution: Atome
Job: graphhisme, mapping
XP:
3D Isométrique façon Kingdom Hearts Left_bar_bleue20/203D Isométrique façon Kingdom Hearts Empty_bar_bleue  (20/20)

3D Isométrique façon Kingdom Hearts Empty
MessageSujet: Re: 3D Isométrique façon Kingdom Hearts   3D Isométrique façon Kingdom Hearts EmptyVen 16 Mar 2007 - 18:35

oui et tu l'appele : game_character
Revenir en haut Aller en bas
http://saber-production.ifrance.com
maximilange
Matière
Matière
maximilange


Masculin Messages : 128
Loisirs : RPG Maker XP,Internet,Theatre,Jeu vidéo
Date d'inscription : 14/01/2007

Caractéristiques du membre
Evolution: Atome
Job: Un de peu de tout =) sauf les scripts encore pas mal de pb :/ ^^
XP:
3D Isométrique façon Kingdom Hearts Left_bar_bleue20/203D Isométrique façon Kingdom Hearts Empty_bar_bleue  (20/20)

3D Isométrique façon Kingdom Hearts Empty
MessageSujet: Re: 3D Isométrique façon Kingdom Hearts   3D Isométrique façon Kingdom Hearts EmptyVen 16 Mar 2007 - 20:11

OK mais .. le script ne marche pas ligne 38 .
Revenir en haut Aller en bas
.Sora.
Atome
Atome
.Sora.


Masculin Messages : 47
Age : 32
Date d'inscription : 26/07/2007

Caractéristiques du membre
Evolution: Atome
Job:
XP:
3D Isométrique façon Kingdom Hearts Left_bar_bleue20/203D Isométrique façon Kingdom Hearts Empty_bar_bleue  (20/20)

3D Isométrique façon Kingdom Hearts Empty
MessageSujet: Re: 3D Isométrique façon Kingdom Hearts   3D Isométrique façon Kingdom Hearts EmptyJeu 26 Juil 2007 - 14:38

pourrait - on me donner des charas de kh pur aller avec?
Revenir en haut Aller en bas
ninjaromyu
Matière
Matière
ninjaromyu


Masculin Messages : 191
Age : 29
Loisirs : Foot , rpg maker , rap , l'humour et le théatre
Date d'inscription : 06/05/2007

Caractéristiques du membre
Evolution: Atome
Job:
XP:
3D Isométrique façon Kingdom Hearts Left_bar_bleue20/203D Isométrique façon Kingdom Hearts Empty_bar_bleue  (20/20)

3D Isométrique façon Kingdom Hearts Empty
MessageSujet: Re: 3D Isométrique façon Kingdom Hearts   3D Isométrique façon Kingdom Hearts EmptyJeu 26 Juil 2007 - 17:23

apres , il faut des ressources
et il n'y en pas :'(


PS : si vous en avez mettez les merci
Revenir en haut Aller en bas
http://rpg-ninja.skyrock.com
.Sora.
Atome
Atome
.Sora.


Masculin Messages : 47
Age : 32
Date d'inscription : 26/07/2007

Caractéristiques du membre
Evolution: Atome
Job:
XP:
3D Isométrique façon Kingdom Hearts Left_bar_bleue20/203D Isométrique façon Kingdom Hearts Empty_bar_bleue  (20/20)

3D Isométrique façon Kingdom Hearts Empty
MessageSujet: Re: 3D Isométrique façon Kingdom Hearts   3D Isométrique façon Kingdom Hearts EmptyDim 29 Juil 2007 - 14:10

bon alors voila jai fait un charas de sora pour se scripte et il marche bien alors si quelqun veut mon charas quil me le dise
Revenir en haut Aller en bas
Linkyu
Embryon
Embryon
Linkyu


Masculin Messages : 621
Age : 32
Loisirs : Aucun, pour l'instant
Date d'inscription : 10/06/2007

Caractéristiques du membre
Evolution: Atome
Job: Polyvalent
XP:
3D Isométrique façon Kingdom Hearts Left_bar_bleue20/203D Isométrique façon Kingdom Hearts Empty_bar_bleue  (20/20)

3D Isométrique façon Kingdom Hearts Empty
MessageSujet: Re: 3D Isométrique façon Kingdom Hearts   3D Isométrique façon Kingdom Hearts EmptyDim 29 Juil 2007 - 14:24

necropost.
c'est la mode en ce moment!
.Sora., prouve moi quelque chose en me disant ce qu'est un necropost.
Revenir en haut Aller en bas
Kazuki
Embryon
Embryon
Kazuki


Masculin Messages : 604
Age : 29
Date d'inscription : 08/03/2007

Caractéristiques du membre
Evolution: Atome
Job: Graphisme, Events, Base de données
XP:
3D Isométrique façon Kingdom Hearts Left_bar_bleue20/203D Isométrique façon Kingdom Hearts Empty_bar_bleue  (20/20)

3D Isométrique façon Kingdom Hearts Empty
MessageSujet: Re: 3D Isométrique façon Kingdom Hearts   3D Isométrique façon Kingdom Hearts EmptyDim 29 Juil 2007 - 14:47

Nan mais c'est pas vrai a la fin !
Quand est-ce que les nouveaux apprendrons a lire les règles !
Y'en a marre la !
C'est pas fais pour les chien les règles bon sang ...
Revenir en haut Aller en bas
Adel21
Invité



3D Isométrique façon Kingdom Hearts Empty
MessageSujet: Re: 3D Isométrique façon Kingdom Hearts   3D Isométrique façon Kingdom Hearts EmptyDim 29 Juil 2007 - 18:41

Mdr c'est clair, sachant que sur un autre fofo c'est bien pareil
Revenir en haut Aller en bas
Kail
Invité



3D Isométrique façon Kingdom Hearts Empty
MessageSujet: Re: 3D Isométrique façon Kingdom Hearts   3D Isométrique façon Kingdom Hearts EmptyDim 29 Juil 2007 - 19:25

C'est normale personne ne respecte les règles.Surtout les nouveaux.

Bon cela devient du flood,donc revenons dans le vif du sujet:Ce script me serviras dans mon jeux.

Merci beaucoup.

Cordialement,Kail
Revenir en haut Aller en bas
Sephirot
Invité



3D Isométrique façon Kingdom Hearts Empty
MessageSujet: Re: 3D Isométrique façon Kingdom Hearts   3D Isométrique façon Kingdom Hearts EmptyDim 29 Juil 2007 - 20:28

HS : Je te signal que toi aussi tu es nouveau ne l'oublie pas
Revenir en haut Aller en bas
BipBipBip
Atome
Atome


Messages : 6
Date d'inscription : 29/07/2007

3D Isométrique façon Kingdom Hearts Empty
MessageSujet: Re: 3D Isométrique façon Kingdom Hearts   3D Isométrique façon Kingdom Hearts EmptyLun 30 Juil 2007 - 8:58

H.S : Je vous signale que vous étiez tous nouveaux, avant. Tout comme moi.
Enfin bon, ce script me servira surement ...
Revenir en haut Aller en bas
Sephirot
Invité



3D Isométrique façon Kingdom Hearts Empty
MessageSujet: Re: 3D Isométrique façon Kingdom Hearts   3D Isométrique façon Kingdom Hearts EmptyLun 30 Juil 2007 - 9:43

H.S :ecoute moi je n'ai pas fais la réfléction des nouveaux, c'esta Kail qu'il faut dire ça!

Ce script sert à marcher en diagonale c'est ça?
Revenir en haut Aller en bas
seb88
Matière
Matière
seb88


Masculin Messages : 257
Age : 32
Loisirs : Guitare Ordi Making =D
Date d'inscription : 15/01/2007

Caractéristiques du membre
Evolution: Atome
Job: Event
XP:
3D Isométrique façon Kingdom Hearts Left_bar_bleue20/203D Isométrique façon Kingdom Hearts Empty_bar_bleue  (20/20)

3D Isométrique façon Kingdom Hearts Empty
MessageSujet: Re: 3D Isométrique façon Kingdom Hearts   3D Isométrique façon Kingdom Hearts EmptyLun 30 Juil 2007 - 19:19

oui c'est bien ça tu marche en diagonale avec un perso qui regarde dans la bonne direction c'est plus préci que le script 8direction mais plus chiant vu qu'on a pas de chara adapté(on doit les fair soit même)
Revenir en haut Aller en bas
http://www.myspace.com/petit_point67
Kolinichu
Atome
Atome
Kolinichu


Masculin Messages : 36
Age : 33
Loisirs : Médecine, science, jeux vidéos, création, mangas, un peu de tout quoi!
Date d'inscription : 07/07/2007

Caractéristiques du membre
Evolution: Atome
Job:
XP:
3D Isométrique façon Kingdom Hearts Left_bar_bleue20/203D Isométrique façon Kingdom Hearts Empty_bar_bleue  (20/20)

3D Isométrique façon Kingdom Hearts Empty
MessageSujet: Re: 3D Isométrique façon Kingdom Hearts   3D Isométrique façon Kingdom Hearts EmptyLun 30 Juil 2007 - 23:28

Une screen serait bien s'aimable! Very Happy
Et aussi, il y a un bug à la ligne 38, j'ai tout essayer mais, rien à faire... Neutral
Revenir en haut Aller en bas
Children
Molécule
Molécule
Children


Masculin Messages : 84
Age : 30
Loisirs : Rpg, making.
Date d'inscription : 30/12/2006

3D Isométrique façon Kingdom Hearts Empty
MessageSujet: Re: 3D Isométrique façon Kingdom Hearts   3D Isométrique façon Kingdom Hearts EmptyJeu 2 Aoû 2007 - 11:05

Bonne chance pour faire les ressources!

-----------------
Ne me dites pas que je fait du nécropost, ça va m'énervé, un post c'est pas fait pour durer 2 semaines! Et il y a erncore des posts qui datent et qui n'en reste pas moins interressant.
Revenir en haut Aller en bas
http://webblabla.ifrance.com/index.htm
ninjaromyu
Matière
Matière
ninjaromyu


Masculin Messages : 191
Age : 29
Loisirs : Foot , rpg maker , rap , l'humour et le théatre
Date d'inscription : 06/05/2007

Caractéristiques du membre
Evolution: Atome
Job:
XP:
3D Isométrique façon Kingdom Hearts Left_bar_bleue20/203D Isométrique façon Kingdom Hearts Empty_bar_bleue  (20/20)

3D Isométrique façon Kingdom Hearts Empty
MessageSujet: Re: 3D Isométrique façon Kingdom Hearts   3D Isométrique façon Kingdom Hearts EmptyJeu 2 Aoû 2007 - 13:13

Salut , je connais se script
Et il ne marches pas
Pour se qui on fait des modifications , mettez le script sans bug
svp !
merci

ps : les ressources sont tres LONG a faire , mais c'est pas si dur que sa!
Revenir en haut Aller en bas
http://rpg-ninja.skyrock.com
Thrax37
Matière
Matière
Thrax37


Masculin Messages : 302
Age : 33
Loisirs : On se le demande... Qu'est-ce que je fais là ?
Date d'inscription : 01/11/2006

Caractéristiques du membre
Evolution: Atome
Job:
XP:
3D Isométrique façon Kingdom Hearts Left_bar_bleue20/203D Isométrique façon Kingdom Hearts Empty_bar_bleue  (20/20)

3D Isométrique façon Kingdom Hearts Empty
MessageSujet: Re: 3D Isométrique façon Kingdom Hearts   3D Isométrique façon Kingdom Hearts EmptyJeu 2 Aoû 2007 - 16:51

VOILA LA REPARATION ! (C'est bizarre il y avait des endroits pas écrit en Ruby/RGSS)
J'espère juste que mes modifs n'ont pas affecté le fonctionnement original du script.

Code:
#==============================================================================
# ** Game_Character (Modification)
#------------------------------------------------------------------------------
# This class deals with characters. It's used as a superclass for the
# Game_Player and Game_Event classes.
#==============================================================================

DIR_8_FRAMES = 8 # This holds the number of motion frames when walking
DIR_8_STAND = true # This determines if separate frame used for standing

class Game_Character

attr_reader :step_anime
attr_reader :stop_count

#--------------------------------------------------------------------------
# * Frame Update
#--------------------------------------------------------------------------
def update
# Branch with jumping, moving, and stopping
if jumping?
update_jump
elsif moving?
update_move
else
update_stop
end
# If animation count exceeds maximum value
# * Maximum value is move speed * 1 taken from basic value 18
if @anime_count > 18 - @move_speed * 2
# If stop animation is OFF when stopping
if not @step_anime and @stop_count > 0
# Return to original pattern
@pattern = @original_pattern
# If stop animation is ON when moving
else
# Update pattern
@pattern = @pattern % DIR_8_FRAMES
end
# Clear animation count
@anime_count = 0
end
# If waiting
if @wait_count > 0
# Reduce wait count
@wait_count -= 1
return
end
# If move route is forced
if @move_route_forcing
# Custom move
move_type_custom
return
end
# When waiting for event execution or locked
if @starting or lock?
# Not moving by self
return
end
# If stop count exceeds a certain value (computed from move frequency)
if @stop_count > (40 - @move_frequency * 2) * (6 - @move_frequency)
# Branch by move type
case @move_type
when 1 # Random
move_type_random
when 2 # Approach
move_type_toward_player
when 3 # Custom
move_type_custom
end
end
end

#--------------------------------------------------------------------------
# * Move Lower Left (Rewritten for diagonal animation)
#--------------------------------------------------------------------------
def move_lower_left
unless @direction_fix
@direction = 1
end
if passable?(@x, @y, 2) and passable?( @x, @y, 4) or passable?(@x, @y, 4) and passable?(@x - 1, @y, 2)
turn_downleft
@x -= 1
@y = 1
increase_steps
end
end

#--------------------------------------------------------------------------
# * Move Lower Right (Rewritten for diagonal animation)
#--------------------------------------------------------------------------
def move_lower_right
unless @direction_fix
@direction = 3
end
if (passable?(@x, @y, 2) and passable?(@x, @y, 6)) or (passable?(@x, @y, 6) and passable?(@x, @y, 2))
turn_downright
@x = 1
@y = 1
increase_steps
end
end

#--------------------------------------------------------------------------
# * Move Upper Left (Rewritten for diagonal animation)
#--------------------------------------------------------------------------
def move_upper_left
unless @direction_fix
@direction = 7
end
if (passable?(@x, @y, 8) and passable?(@x, @y - 1, 4)) or
(passable?(@x, @y, 4) and passable?(@x - 1, @y, 8))
turn_upleft
@x -= 1
@y -= 1
increase_steps
end
end

#--------------------------------------------------------------------------
# * Move Upper Left (Rewritten for diagonal animation)
#--------------------------------------------------------------------------
def move_upper_right
unless @direction_fix
@direction = 9
end
if (passable?(@x, @y, 8) and passable?(@x, @y - 1, 6)) or (passable?(@x, @y, 6) and passable?(@x, @y, 8))

turn_upright
@x = 1
@y -= 1
increase_steps
end
end

#--------------------------------------------------------------------------
# * Turn Up Left (Rewritten for diagonal animation)
#--------------------------------------------------------------------------
def turn_upleft
unless @direction_fix
@direction = 7
@stop_count = 0
end
end

#--------------------------------------------------------------------------
# * Turn Up Right (Rewritten for diagonal animation)
#--------------------------------------------------------------------------
def turn_upright
unless @direction_fix
@direction = 9
@stop_count = 0
end
end

#--------------------------------------------------------------------------
# * Turn Down Left (Rewritten for diagonal animation)
#--------------------------------------------------------------------------
def turn_downleft
unless @direction_fix
@direction = 1
@stop_count = 0
end
end

#--------------------------------------------------------------------------
# * Turn Down Right (Rewritten for diagonal animation)
#--------------------------------------------------------------------------
def turn_downright
unless @direction_fix
@direction = 3
@stop_count = 0
end
end
end

#==============================================================================
# ** Game_Player
#------------------------------------------------------------------------------
# This class handles the player. Its functions include event starting
# determinants and map scrolling. Refer to "$game_player" for the one
# instance of this class.
#==============================================================================

class Game_Player < Game_Character

#--------------------------------------------------------------------------
# * Frame Update
#--------------------------------------------------------------------------
def update
# Remember whether or not moving in local variables
last_moving = moving?
# If moving, event running, move route forcing, and message window
# display are all not occurring
unless moving? or $game_system.map_interpreter.running? or
@move_route_forcing or $game_temp.message_window_showing

# Move player in the direction the directional button is being pressed
# Rewritten for diagonal animation
case Input.dir8
when 2
move_down
when 4
move_left
when 6
move_right
when 8
move_up
when 7
move_upper_left
when 9
move_upper_right
when 3
move_lower_right
when 1
move_lower_left
end
end

# Remember coordinates in local variables
last_real_x = @real_x
last_real_y = @real_y
super
# If character moves down and is positioned lower than the center
# of the screen
if @real_y > last_real_y and @real_y - $game_map.display_y > CENTER_Y
# Scroll map down
$game_map.scroll_down(@real_y - last_real_y)
end
# If character moves left and is positioned more let on-screen than
# center
if @real_x < last_real_x and @real_x - $game_map.display_x < CENTER_X
# Scroll map left
$game_map.scroll_left(last_real_x - @real_x)
end
# If character moves right and is positioned more right on-screen than
# center
if @real_x > last_real_x and @real_x - $game_map.display_x > CENTER_X
# Scroll map right
$game_map.scroll_right(@real_x - last_real_x)
end
# If character moves up and is positioned higher than the center
# of the screen
if @real_y < last_real_y and @real_y - $game_map.display_y < CENTER_Y
# Scroll map up
$game_map.scroll_up(last_real_y - @real_y)
end
# If not moving
unless moving?
# If player was moving last time
if last_moving
# Event determinant is via touch of same position event
result = check_event_trigger_here([1,2])
# If event which started does not exist
if result == false
# Disregard if debug mode is ON and ctrl key was pressed
unless $DEBUG and Input.press?(Input::CTRL)
# Encounter countdown
if @encounter_count > 0
@encounter_count -= 1
end
end
end
end
# If C button was pressed
if Input.trigger?(Input::C)
# Same position and front event determinant
check_event_trigger_here([0])
check_event_trigger_there([0,1,2])
end
end
end
end




#==============================================================================
# ** Sprite_Character
#------------------------------------------------------------------------------
# This sprite is used to display the character.It observes the Game_Character
# class and automatically changes sprite conditions.
#==============================================================================

class Sprite_Character < RPG::Sprite

#--------------------------------------------------------------------------
# * Frame Update
#--------------------------------------------------------------------------
def update
super
# If tile ID, file name, or hue are different from current ones
if @tile_id != @character.tile_id or
@character_name != @character.character_name or
@character_hue != @character.character_hue
# Remember tile ID, file name, and hue
@tile_id = @character.tile_id
@character_name = @character.character_name
@character_hue = @character.character_hue
# If tile ID value is valid
if @tile_id >= 384
self.bitmap = RPG::Cache.tile($game_map.tileset_name,
@tile_id, @character.character_hue)
self.src_rect.set(0, 0, 32, 32)
self.ox = 16
self.oy = 32
# If tile ID value is invalid
else
self.bitmap = RPG::Cache.character(@character.character_name,
@character.character_hue)
if DIR_8_STAND
@cw = bitmap.width / (DIR_8_FRAMES) # Movement frames w/ stand
else
@cw = bitmap.width / (DIR_8_FRAMES) # Movement frames regular
end
@ch = bitmap.height / 8 # This sets for 8 directions
self.ox = @cw / 2
self.oy = @ch
end
end
# Set visible situation
self.visible = (not @character.transparent)
# If graphic is character
if @tile_id == 0
# Set rectangular transfer

# Set horizontal transfer (animation frames)
if not @character.step_anime and @character.stop_count > 0
sx = (@character.pattern) * @cw
else
sx = (@character.pattern) * @cw
end
# If you want the standing frame to be PART of the walking animation...
# like the default sprites (very plain...) comment out the above set
# of statements EXCEPT sx = (@character.pattern) * @cw

# Set vertical transfer (direction)
dir = @character.direction # These routines allow for eight
dec = (dir == 7 or dir== 9) ? 3 : 1 # directional movement. I forgot
sy = (dir - dec) * @ch # how I came up with it. Really.

self.src_rect.set(sx, sy, @cw, @ch)
end
# Set sprite coordinates
self.x = @character.screen_x
self.y = @character.screen_y
self.z = @character.screen_z(@ch)
# Set opacity level, blend method, and bush depth
self.opacity = @character.opacity
self.blend_type = @character.blend_type
self.bush_depth = @character.bush_depth
# Animation
if @character.animation_id != 0
animation = $data_animations[@character.animation_id]
animation(animation, true)
@character.animation_id = 0
end
end
end
Revenir en haut Aller en bas
ninjaromyu
Matière
Matière
ninjaromyu


Masculin Messages : 191
Age : 29
Loisirs : Foot , rpg maker , rap , l'humour et le théatre
Date d'inscription : 06/05/2007

Caractéristiques du membre
Evolution: Atome
Job:
XP:
3D Isométrique façon Kingdom Hearts Left_bar_bleue20/203D Isométrique façon Kingdom Hearts Empty_bar_bleue  (20/20)

3D Isométrique façon Kingdom Hearts Empty
MessageSujet: Re: 3D Isométrique façon Kingdom Hearts   3D Isométrique façon Kingdom Hearts EmptyJeu 2 Aoû 2007 - 18:11

Oui bravo sa marche !
Revenir en haut Aller en bas
http://rpg-ninja.skyrock.com
Mast
Matière
Matière
Mast


Masculin Messages : 148
Date d'inscription : 16/11/2006

Caractéristiques du membre
Evolution: Atome
Job: Maping, conception tileset
XP:
3D Isométrique façon Kingdom Hearts Left_bar_bleue20/203D Isométrique façon Kingdom Hearts Empty_bar_bleue  (20/20)

3D Isométrique façon Kingdom Hearts Empty
MessageSujet: Re: 3D Isométrique façon Kingdom Hearts   3D Isométrique façon Kingdom Hearts EmptyVen 10 Aoû 2007 - 0:45

Ouaip, ben à propo des ressources, voilà un ptit tuto sympa pour en faire soi même :
http://www.rpg-creation.com/forums/viewtopic.php?t=7957&highlight=isom%E9trie
Revenir en haut Aller en bas
Didji
Matière
Matière
Didji


Masculin Messages : 170
Age : 33
Loisirs : Jeux vidéos, lecture, marche à pied...
Date d'inscription : 12/04/2007

Caractéristiques du membre
Evolution: Atome
Job: Scenariste, graphiste, mappeur, etc... (tout sauf scripteur!)
XP:
3D Isométrique façon Kingdom Hearts Left_bar_bleue20/203D Isométrique façon Kingdom Hearts Empty_bar_bleue  (20/20)

3D Isométrique façon Kingdom Hearts Empty
MessageSujet: Re: 3D Isométrique façon Kingdom Hearts   3D Isométrique façon Kingdom Hearts EmptyJeu 30 Aoû 2007 - 20:50

Bonjour, excusez moi, mais le script ne marche pas très bien malgré les modifications, le

personnage se déplace mais sans aucune animation et en plus il part se mettre dans le

coin haut-gauche de la map lorsque j'essaie de me déplacer en diagonale haut-droite,

bas-gauche, et bas-droite.

Si quequ'un pouvait arranger ça, ce serait sympas, merci d'avance.
Revenir en haut Aller en bas
Contenu sponsorisé



3D Isométrique façon Kingdom Hearts Empty
MessageSujet: Re: 3D Isométrique façon Kingdom Hearts   3D Isométrique façon Kingdom Hearts Empty

Revenir en haut Aller en bas
 

3D Isométrique façon Kingdom Hearts

Voir le sujet précédent Voir le sujet suivant Revenir en haut 

 Sujets similaires

-
» charas kingdom hearts 3d isometrique!!!
» Kingdom Hearts
» Kingdom hearts : An other Gate
» Kingdom hearts XIII
» Kingdom Hearts Rpg Maker MV
Page 1 sur 1

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Zarok RPG Maker :: 

 :: SCRIPTS :: Script XP :: Scripts d'interfaces/ menus
-
Sauter vers: