MSrmxp

Forum sur le logiciel rpg maker.Projet phare: Moonlight Sonata. Entraide script tutoriel ...

Compteur de visiteur


Connexion

Récupérer mon mot de passe

Derniers sujets

» Mugen Un logiciel de Baston
Dim 5 Juil 2009 - 6:54 par TheCloud

» plate-forme v3
Mer 24 Déc 2008 - 3:08 par TheCloud

» Créations d'une rubrique Emulation
Mar 23 Déc 2008 - 5:37 par Allen Walker

» Un peu de jeux vidéo^^
Mar 23 Déc 2008 - 0:17 par Allen Walker

» "Lost Soul" Star Ocean Precipice of the dead
Dim 21 Déc 2008 - 23:28 par TheCloud

» Nouveau projet commun
Mer 17 Déc 2008 - 20:43 par TheCloud

» Problème: Comment mettre sa PS2 en ligne ?
Mar 16 Déc 2008 - 11:41 par TheCloud

» Le site officiel du MMORPG.
Ven 28 Nov 2008 - 20:46 par Elekami

» Idées ou truc fini du groupe du MMORPG.
Lun 10 Nov 2008 - 1:22 par Axel4

» Réactions du MMORPG.
Lun 10 Nov 2008 - 1:20 par Axel4

Sondage

Meilleurs posteurs

TheCloud (152)
 
Axel4 (135)
 
Allen Walker (128)
 
Wesley Fenrir (42)
 
Vaelz (19)
 
Elekami (17)
 
sasuke_uchiwa (14)
 
Mazouli<3 (4)
 
Sai (2)
 
DBZfury (1)
 

Partenaires

Tchat Blablaland

Flux RSS


Yahoo! 
MSN 
AOL 
Netvibes 
Bloglines 

    plate-forme v3

    Partagez
    avatar
    TheCloud
    Administrateur

    Masculin
    Nombre de messages : 152
    Age : 27
    Localisation : Nord, Pas de Calais
    Humeur : Cool enfin... Chui contint :D
    Karma :
    0 / 1000 / 100

    Barre de Sanction :
    0 / 1000 / 100

    Date d'inscription : 29/09/2008

    Feuilles de maker
    année de making: 4
    Points Forts: eventmaking

    Annonce plate-forme v3

    Message par TheCloud le Mer 24 Déc 2008 - 3:06

    Script plate-forme v3

    Auteur : Siegfried, sur une base de KGC.

    Un script de plate-forme optimisé et aisément configurable.

    Ce script nécessite :
    -2 ressources
    -1 ajout

    Ressources
    A placer dans Graphics/Characters et à nommer comme suit :
    [Nom_du_héros]-Fall



    [Nom_du_héros]-Jump



    Ajout
    Code:
    #==============================================================================
    # o Plate-forme v3
    #--------------------------------------------------------------------------
    # Sur une base créée par XRXS (XRXS50. Action-Maps XC)
    # Amélioré par Siegfried ( http://saleth-empire.fr-bb.com )
    # pour les communautés Saleth Empire, Spaceworld et RPGMXP Studio 2
    # Si vous trouvez ce script ailleurs que sur ces communautés, prière de me contacter
    # à l'adresse suivant : dany.sieg@hotmail.fr
    #--------------------------------------------------------------------------
    # o Améliorations ( Siegfried )
    #--------------------------------------------------------------------------
    #--------------------------------------------------------------------------
    # v3
    #--------------------------------------------------------------------------
    # -Le script se passe désormais de toute modification de Sprite_Character
    # et fonctionne ainsi de façon autonome grâce au changement de charset
    # appelé par l'EREC
    # -Longueur/Hauteur maximum de saut
    # -Optimisation des sauts et des collisions
    # -Réécriture des calculs pour gèrer la distance de saut variable
    # -Meilleure gestion des sauts directionnels
    # -Supression de la constante ENABLE_SLIDE_DESCENT, inutile
    #--------------------------------------------------------------------------
    # v2.2.3
    #--------------------------------------------------------------------------
    # -Possibilité de mettre un nombre de sauts maximal pour double, triple
    # saut, voire plus
    # -Le héros tombe à la même vitesse dans toutes les directions
    # -Modification de la vitesse à l'approche des bords
    #--------------------------------------------------------------------------
    # v2.2.2
    #--------------------------------------------------------------------------
    # -Supression d'un bug qui permettait le saut inifini
    # -Correction pour charsets RTP ( ayant plusieurs pixels vides en bas )
    # Attention : Cette correction ne marche qu'avec l'add-on de Sprite_Character
    #--------------------------------------------------------------------------
    # v2.2
    #--------------------------------------------------------------------------
    # -Changement de graphismes pour saut et retombée
    # ( Nécessite l'add-on de Sprite_Character )
    # Pour le graphisme de saut, créez un charset avec le nom du charset du héros
    # suivi de -Jump
    # Pour le graphisme de chute, créez un charset avec le nom du charset du héros
    # suivi de -Fall

    # -Gestion des collisions ( murs et plafond )
    # -Le joueur ne peut plus sauter qu'une fois vraiment avoir aterri au sol
    # ( résolution d'un ancien bug où on pouvait sauter s'il restait
    # moins de 32 pixels entre le héros et le sol )
    # -Le héros accède aux bords en fin de chute
    # -Le héros peut décoller des bords
    # -Gravité : La vitesse est accélèrée en chute
    # -Insertion de 2 variables $h_jumping et $h_falling permetant aux scripteurs
    # de gèrer d'autres scripts en fonction de la plate-forme
    # -Insertion d'une direction de départ

    #--------------------------------------------------------------------------
    # v2.1
    #--------------------------------------------------------------------------
    # -En appuyant sur haut, le héros ne se déplace plus en mode plate-forme
    # -Meilleur déplacement du saut
    # -Lors de la chute, le héros change de direction en fonction de la touche appuyée

    #--------------------------------------------------------------------------
    # v2.0
    #--------------------------------------------------------------------------
    # -Saut dans plusieurs directions ( droite et gauche ) aussi bien à l'arrêt qu'en marche
    # -Saut vertical aussi bien à l'arrêt qu'en marche
    # -Limitation du saut ( ne se déclenche plus pendant des messages, etc... )
    # -Touche de saut configurable aisément

    #==============================================================================
    # o PF_Config
    #==============================================================================
    class PF_Config
    # Action-Maps Mettez les n° de vos maps Plate-forme entre les crochets
    ENABLE_FULL_ACTY_MAPS = [1]
    # Activer/Désactiver le saut ( true : activé / false : désactivé )
    JUMP_AS_KEY = true
    # Touche saut ( L par défaut )
    KEY_JUMP = Input::L
    # Direction de départ ( 2 = bas, 4 = gauche, 6 = droite, 8 = haut )
    START_DIR = 6
    # Correction pour charsets RTP ( ayant plusieurs pixels vides en bas )
    RTP_CORRECTION = true
    # Limite de sauts ( double, triple saut )
    MAX_JUMPS = 5
    # Mode Kirby ( sauts illimités )
    INF_JUMPS = false
    # Longueur/Hauteur maximum du saut
    MAX_RANGE = 2
    # Charset du héros par défaut
    O_CHARSET = "001-Fighter01"
    # Vitesse du héros par défaut
    O_SPEED = 4
    end


    #==============================================================================
    # o Game_Character
    #==============================================================================
    class Game_Character
    #--------------------------------------------------------------------------
    # o Attributs
    #--------------------------------------------------------------------------
    attr_accessor :move_speed
    #--------------------------------------------------------------------------
    # o Mise en place de la direction
    #--------------------------------------------------------------------------
    alias pf_initialize initialize
    def initialize
    pf_initialize
    @direction = PF_Config::START_DIR
    end
    end

    #==============================================================================
    # o Game_Player
    #==============================================================================
    class Game_Player < Game_Character
    #--------------------------------------------------------------------------
    # o Attributs
    #--------------------------------------------------------------------------
    attr_writer :direction_fix
    attr_accessor :walk_anime
    attr_accessor :now_jumps
    attr_accessor :max_jumps
    attr_writer :xrxs50_direction_sidefix
    #--------------------------------------------------------------------------
    # o Méthode de saut
    #--------------------------------------------------------------------------
    def jump_upper(d, r)
    case d
    when -1
    self.turn_left
    (r - 1).times do
    move_upper_left
    end
    when 1
    self.turn_right
    (r - 1).times do
    move_upper_right
    end
    end
    self.jump(d, -1)
    end
    #--------------------------------------------------------------------------
    # o Test de saut
    #--------------------------------------------------------------------------
    def jump_able?
    if PF_Config::INF_JUMPS == true
    return true
    elsif $game_player.now_jumps > 0
    return true
    elsif $game_player.charset.include?("-Fall") or
    $game_player.charset.include?("-Jump")
    return false
    end
    end
    #--------------------------------------------------------------------------
    # o Sauts maximums
    #--------------------------------------------------------------------------
    def max_jumps
    return PF_Config::MAX_JUMPS
    end
    #--------------------------------------------------------------------------
    # o Directions fixes
    #--------------------------------------------------------------------------
    #--------------------------------------------------------------------------
    # o Gauche
    #--------------------------------------------------------------------------
    alias xrxs50_turn_left turn_left
    def turn_left
    if @xrxs50_direction_sidefix
    @direction = 4
    else
    xrxs50_turn_left
    end
    end
    #--------------------------------------------------------------------------
    # o Droite
    #--------------------------------------------------------------------------
    alias xrxs50_turn_right turn_right
    def turn_right
    if @xrxs50_direction_sidefix
    @direction = 6
    else
    xrxs50_turn_right
    end
    end
    #--------------------------------------------------------------------------
    # o Suppression du bug de la touche haut
    #--------------------------------------------------------------------------
    def move_up(turn_enabled = true)
    if PF_Config::ENABLE_FULL_ACTY_MAPS.include?($game_map.map_id)
    @y += 0
    increase_steps
    else
    if turn_enabled
    turn_up
    end
    if passable?(@x, @y, 8)
    turn_up
    @y -= 1
    increase_steps
    else
    @y = @y.to_i
    check_event_trigger_touch(@x, @y-1)
    end
    end
    end
    end

    #==============================================================================
    # o Sprite_Character
    #==============================================================================
    class Sprite_Character < RPG::Sprite
    #--------------------------------------------------------------------------
    # o Update
    #--------------------------------------------------------------------------
    alias ch_graph_update update
    def update
    ch_graph_update
    if PF_Config::RTP_CORRECTION == true
    self.y += 5
    end
    end
    end

    #==============================================================================
    # o Scene_Map
    #==============================================================================
    class Scene_Map
    #--------------------------------------------------------------------------
    # o Main
    #--------------------------------------------------------------------------
    alias xrxs50_main main
    def main
    @original_speed = PF_Config::O_SPEED
    @lateral_speed = @original_speed + 0.5
    @fall_speed = @original_speed + 1


    @original_charset = PF_Config::O_CHARSET if @original_charset == nil
    @jump_charset = @original_charset + "-Jump" if @original_charset != nil
    @fall_charset = @original_charset + "-Fall" if @original_charset != nil

    xrxs50_enable_check
    xrxs50_main
    end
    #--------------------------------------------------------------------------
    # o Update
    #--------------------------------------------------------------------------
    alias xrxs50_update update
    def update
    xrxs50_update
    if @xrxs50_enable
    update_coordinates
    end
    end
    #--------------------------------------------------------------------------
    # o Update des coordonnées
    #--------------------------------------------------------------------------
    def update_coordinates
    @original_speed = $game_player.move_speed if @original_speed == nil
    @lateral_speed = @original_speed + 0.5
    @fall_speed = @original_speed + 1

    @original_charset = $game_player.charset if @original_charset == nil
    @jump_charset = @original_charset + "-Jump"
    @fall_charset = @original_charset + "-Fall"
    #--------------------------------------------------------------------------
    # Chute : La 2e partie du saut
    #--------------------------------------------------------------------------
    if $game_player.passable?($game_player.x,$game_player.y,2)
    # La ligne qui suit gère les empêchements au déclenchement du saut ( message, défilement de l'écran )
    unless $game_player.moving? or $game_system.map_interpreter.running? or
    @move_route_forcing or $game_temp.message_window_showing
    chara_change(2, 0, @fall_charset) unless $game_player.charset.include?("-Fall")
    $game_player.move_speed = @fall_speed
    if $game_player.now_jumps == $game_player.max_jumps
    $game_player.now_jumps -= 1
    end
    # Variables non utilisées ici mais peuvent être utiles pour scripter des systèmes parallèles
    $h_jumping = true
    $h_falling = true

    if Input.press?(Input::LEFT)
    direction = -1
    elsif Input.press?(Input::RIGHT)
    direction = 1
    end

    if direction != nil
    if $game_player.passable?($game_player.x, $game_player.y + 1, 5 + direction)
    $game_player.move_speed = @lateral_speed
    case direction
    when -1
    $game_player.turn_left
    $game_player.move_lower_left
    when 1
    $game_player.turn_right
    $game_player.move_lower_right
    end
    elsif $game_player.passable?($game_player.x, $game_player.y, 5 + direction)
    $game_player.move_speed = @original_speed
    case direction
    when -1
    $game_player.turn_left
    $game_player.move_left
    when 1
    $game_player.turn_right
    $game_player.move_right
    end
    else
    $game_player.move_down
    end

    else
    $game_player.move_down
    end

    end
    $game_player.walk_anime = true unless $game_player.walk_anime

    else
    unless $game_player.moving? or $game_system.map_interpreter.running? or
    @move_route_forcing or $game_temp.message_window_showing
    chara_change(2, 0, @original_charset)
    $game_player.move_speed = @original_speed
    $game_player.now_jumps = $game_player.max_jumps
    $h_falling = false
    end
    end
    avatar
    TheCloud
    Administrateur

    Masculin
    Nombre de messages : 152
    Age : 27
    Localisation : Nord, Pas de Calais
    Humeur : Cool enfin... Chui contint :D
    Karma :
    0 / 1000 / 100

    Barre de Sanction :
    0 / 1000 / 100

    Date d'inscription : 29/09/2008

    Feuilles de maker
    année de making: 4
    Points Forts: eventmaking

    Annonce Re: plate-forme v3

    Message par TheCloud le Mer 24 Déc 2008 - 3:08

    Deuxième partie du Script à coller à la suite de celle ci-dessus .

    #--------------------------------------------------------------------------
    # Propulsion : la 1ère partie du saut
    #--------------------------------------------------------------------------
    unless $game_system.map_interpreter.running? or
    @move_route_forcing or $game_temp.message_window_showing
    if $game_player.jump_able?
    if Input.trigger?(PF_Config::KEY_JUMP)
    $game_player.now_jumps -= 1
    chara_change(2, 0, @jump_charset) unless $game_player.charset.include?("-Jump")
    $h_jumping = true

    if Input.press?(Input::LEFT)
    direction = -1
    elsif Input.press?(Input::RIGHT)
    direction = 1
    end

    if (Input.press?(Input::LEFT) or Input.press?(Input::RIGHT))
    i = 1
    j = 0
    while i <= PF_Config::MAX_RANGE
    if $game_player.passable?($game_player.x + direction * i, $game_player.y - i, 5 - direction)
    i += 1
    j += 1
    else
    break
    end
    end


    if j > 0
    $game_player.jump_upper(direction, j)
    else
    i = 1
    while i <= PF_Config::MAX_RANGE
    if $game_player.passable?($game_player.x, $game_player.y - i, Cool
    i += 1
    else
    break
    end
    end
    $game_player.jump(0, -(i - 1))
    end


    else
    i = 1
    while i <= PF_Config::MAX_RANGE
    if $game_player.passable?($game_player.x, $game_player.y - i, Cool
    i += 1
    else
    break
    end
    end
    $game_player.jump(0, -(i - 1))
    end

    end
    end
    end
    end

    #--------------------------------------------------------------------------
    # o Vérification lancée au téléport
    #--------------------------------------------------------------------------
    alias xrxs50_transfer_player transfer_player
    def transfer_player
    xrxs50_transfer_player
    xrxs50_enable_check
    end
    #--------------------------------------------------------------------------
    # o Gestion des directions fixes
    #--------------------------------------------------------------------------
    def xrxs50_enable_check
    if PF_Config::ENABLE_FULL_ACTY_MAPS.include?($game_map.map_id)
    $game_player.now_jumps = 0 if $game_player.now_jumps.nil?
    @xrxs50_enable = true
    $game_player.direction_fix = true
    $game_player.xrxs50_direction_sidefix = true
    else
    @xrxs50_enable = false
    $game_player.direction_fix = false
    $game_player.xrxs50_direction_sidefix = false
    end
    end
    end
    #==============================================================================
    # o Easy RGSS Event Commands
    #---------------------------------------------------------------
    # Changement de character : Héros (Liste des Héros), Héros(Map), Evénement
    #==============================================================================

    #==============================================================================
    # o Changement d'apparence d'un héros (character seulement)
    # ou d'un événement
    #---------------------------------------------------------------
    # type 1 : id = ID du héros (liste des héros dans la base de données)
    # type 2 : id = ID : 0 = héros
    # 1+ = id de l'événement sur la map
    # character_name = Nom du fichier du character
    #==============================================================================
    def chara_change(type, id, character_name)
    case type
    when 1
    if $game_actors[id] != nil
    $game_actors[id].set_chara(character_name)
    end
    when 2
    if id == 0
    if $game_party.actors[0] != nil
    $game_party.actors[0].set_chara(character_name)
    end
    else
    if $game_map.events[id] != nil
    $game_map.events[id].set_chara(character_name)
    end
    end
    end
    end

    class Game_Actor < Game_Battler
    def set_chara(character_name)
    @character_name = character_name
    $game_player.refresh
    end

    def charset
    return @character_name
    end
    end

    class Game_Character
    def set_chara(character_name)
    @character_name = character_name
    self.refresh
    end

    def charset
    return @character_name
    end
    end


    Fonctionnalités / Versions


    Spoiler:

    v3
    -Le script se passe désormais de toute modification de Sprite_Character
    et fonctionne ainsi de façon autonome grâce au changement de charset
    appelé par l'EREC
    -Longueur/Hauteur maximum de saut
    -Optimisation des sauts et des collisions
    -Réécriture des calculs pour gèrer la distance de saut variable
    -Meilleure gestion des sauts directionnels
    -Supression de la constante ENABLE_SLIDE_DESCENT, inutile

    v2.2.2
    -Supression d'un bug qui permettait le saut inifini
    -Correction pour charsets RTP ( ayant plusieurs pixels vides en bas )
    Attention : Cette correction ne marche qu'avec l'add-on de Sprite_Character

    v2.2
    -Changement de graphismes pour saut et retombée ( Nécessite l'add-on de Sprite_Character ).
    Pour le graphisme de saut, créez un charset avec le nom du charset du héros
    suivi de -Jump.
    Pour le graphisme de chute, créez un charset avec le nom du charset du héros suivi de -Fall.

    -Gestion des collisions ( murs et plafond ).
    -Le joueur ne peut plus sauter qu'une fois vraiment avoir aterri au sol ( résolution d'un ancien bug où on pouvait sauter s'il restait moins de 32 pixels entre le héros et le sol ).
    -Le héros accède aux bords en fin de chute.
    -Le héros peut décoller des bords.
    -Gravité : La vitesse est accélèrée en chute.
    -Insertion de 2 variables $h_jumping et $h_falling permetant aux scripteurs
    de gèrer d'autres scripts en fonction de la plate-forme.
    -Insertion d'une direction de départ.

    v2.1
    -En appuyant sur haut, le héros ne se déplace plus en mode plate-forme.
    -Meilleur déplacement du saut.
    -Lors de la chute, le héros change de direction en fonction de la touche appuyée.

    v2.0
    -Saut dans plusieurs directions ( droite et gauche ) aussi bien à l'arrêt qu'en marche.
    -Saut vertical aussi bien à l'arrêt qu'en marche.
    -Limitation du saut ( ne se déclenche plus pendant des messages, etc... ).
    -Touche de saut configurable aisément.

      La date/heure actuelle est Lun 20 Nov 2017 - 0:23