LODM (L'Oasis des Makers)
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.

LODM (L'Oasis des Makers)

Forum d'étude sur le Making RMXP
 
AccueilPortailRechercherDernières imagesS'enregistrerConnexion
Le Deal du moment : -20%
Ecran PC GIGABYTE 28″ LED M28U 4K ( IPS, 1 ms, ...
Voir le deal
399 €

 

 "un pas loin" Eloigne un event d'un autre

Aller en bas 
AuteurMessage
Roys
Guide
Guide
Roys


Nombre de messages : 111
Age : 52
Projet Principal : Le Crépuscule des Dieux
Aide Recherchée pour : des chara aRPG
Surnom : Scripteur Monomaniaque
Date d'inscription : 24/02/2007

"un pas loin" Eloigne un event d'un autre Empty
MessageSujet: "un pas loin" Eloigne un event d'un autre   "un pas loin" Eloigne un event d'un autre Icon_minitimeDim 15 Avr - 13:14

Bonjour

Voici une petit fonction qui permet d'appeler en event la fonction "un pas loin" qui n'existe pas dans RPG Maker XP

Il vous suffit d'ajouter un commentaire avec Un pas loin Event
Et l'event ou vous avez mis cette fonction s'eloigne de Event

Remplacez Event par joueur, et votre event s'éloigne du joueur

Remplacez Event par le nom d'un event, et votre event s'eloigne de celui ci

Avant tout il vous faut installer le script suivant
https://lodm.forumactif.com/Groupe-pour-Scripts-f4/Outils-pour-Event-Maker-f7/-p105.htm#105

Ajouter un script et appelez le "Un Pas Loin"

Code:

#==============================================================================
# OUTILS
# UN PAS LOIN
#--------------------
# Stephane, Roys
# 15 avril 2007
#--------------------
# Explication
# Ajoute une fonction en event à RMXP afin qu'un evenement se déplace loin d un autre
#--------------------
# Mode d'Emploi
#- Inserer un commentaire dans un event et taper : un pas loin x
#- Remplacer x par
# joueur si vous voulez que votre event s'éloigne du joueur
# ou
# le nom de l'event duquel vous voulez vous éloigner
#--------------------
# La commande se comporte comme n'importe quelle commande RMXP, vous pouvez ajouter
# une attente  ou n'importe quelle autre fonction
# Les noms ne sont pas case sensitif
# C'est toujours l'event dans lequel vous mettez la fonction un pas vers qui se déplace
#==============================================================================

#==============================================================================
# Interpreter
# Permet d'ajouter une fonction un pas vers en commentaire dans un event
#==============================================================================
class Interpreter
  alias outil_unpasloin_command108 command_108

  def command_108
    # Commande non valide
    if not @parameters[0].split.size<4
      # Commande valide
      com=@parameters[0].split
      if @parameters[0].upcase[/UN PAS LOIN/]=="UN PAS LOIN" and not $game_map.events[@event_id].moving?
        #----------------------
        # Recupère le nom de l'event
        event_nom=com[3].upcase
        #----------------------
        # Un pas vers le joueur
        if event_nom=="JOUEUR"
          $game_map.events[@event_id].un_pas_loin
          return true
        end
        #----------------------
        # Cherche l'event vers qui se diriger
        for i in $game_map.events.keys
          event=$game_map.events[i]
          next if event.name.upcase!=event_nom
          # Ajoute l'event courant vers l'event trouvé
          $game_map.events[@event_id].un_pas_loin(event)
          return true
        end
        return true
      end
    end
    outil_unpasloin_command108
  end
end

#==============================================================================
# Game_Character
# Modifie la class pour ajouter la méthode event1 se déplace vers event2
#==============================================================================
class Game_Character
 
  #--------------------------------------------------------------------------
  # UN PAS VERS
  # Le character courant s eloigne vers un event ou à defaut le joueur
  #--------------------------------------------------------------------------
  def un_pas_loin(event=$game_player)
    # Calcul les coordonnées différentielles
    sx = event.x - @x
    sy = event.y - @y
    if sx == 0 and sy == 0
      return
    end
    abs_sx = sx.abs
    abs_sy = sy.abs
    # Distances egales
    if abs_sx == abs_sy
      rand(2) == 0 ? abs_sx +=1 : abs_sy += 1
    end
    # Distance sur les x supérieur
    if abs_sx > abs_sy
      # Déplacement
      sx > 0 ? move_left : move_right
      if not moving? and sy != 0
        sy > 0 ? move_up : move_down
      end
    # Distance sur les y supérieur
    else
      # Déplacement
      sy > 0 ? move_up : move_down
      if not moving? and sx != 0
        sx > 0 ? move_left : move_right
      end
    end
  end
end
Revenir en haut Aller en bas
https://lodm.forumactif.com
 
"un pas loin" Eloigne un event d'un autre
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Deplace l'event/Joueur vers un autre event
» "Au contact de" Demarre si touche un event
» Pathfinding : "trouver un chemin vers"

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
LODM (L'Oasis des Makers) :: Groupe pour Scripts :: Outils pour Event-Maker-
Sauter vers:  
Ne ratez plus aucun deal !
Abonnez-vous pour recevoir par notification une sélection des meilleurs deals chaque jour.
IgnorerAutoriser