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
-20%
Le deal à ne pas rater :
Ecran PC GIGABYTE 28″ LED M28U 4K ( IPS, 1 ms, 144 Hz, FreeSync ...
399 € 499 €
Voir le deal

 

 Deplace l'event/Joueur vers un autre event

Aller en bas 
2 participants
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

Deplace l'event/Joueur vers un autre event Empty
MessageSujet: Deplace l'event/Joueur vers un autre event   Deplace l'event/Joueur vers un autre event Icon_minitimeDim 15 Avr - 12:37

Bonjour

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

Il vous suffit d'ajouter un commentaire avec Un pas vers Event
Et l'event ou vous avez mis cette fonction se deplace vers Event
Remplacez Event par joueur, et votre event se déplacera vers le joueur
Remplacez Event par le nom d'un event, et votre event se déplacera celui ci

OU encore vous pouvez faire
Inserer commentaire : un pas nom1 vers nom2
Pour que l evenement nom1 se dirige vers nom2

Si vous ne l'avez pas encore ajouté, mettez tout d'abord ce script Interpreter 2
http://rpgcreative.forumpro.fr/RPG-Maker-c1/Partage-de-Scripts-f10/-p77232.htm#77232

Ensuite ajouter un script et appelez le "Un Pas Vers"
Code:

#==============================================================================
# OUTILS
# UN PAS VERS / JOUEUR VERS
#--------------------
# Stephane, Roys
# 15 avril 2007
#--------------------
# Explication
# Ajoute une fonction en event à RMXP afin qu'un evenement se déplace vers un autre
#--------------------
# Mode d'Emploi
#- Inserer un commentaire dans un event et taper : un pas vers nom
#- Remplacer nom par
# joueur,si vous voulez que votre event se déplace vers le joueur
# ou
# le nom de l'event vers lequel vous voulez vous déplacer

# Inserer commentaire : un pas nom1 vers nom2
# - Remplacer nom1 par le nom de l'event (ou joueur pour le joueur) qui doit se déplacer
# - Remplacer nom2 par le nom de l'event (ou joueur pour le joueur) vers qui nom1 doit se déplacer

#--------------------
# 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_unpasvers_command108 command_108

  def command_108
    # Commande non valide
    if not @parameters[0].split.size<3
      # Commande valide
      if @parameters[0].upcase[/UN PAS/]=="UN PAS" and not $game_map.events[@event_id].moving?
        com=@parameters[0].split
        # case 1seul event
        if com[2].upcase=="VERS"
          #----------------------
          # Recupère le nom de l'event
          event_nom=com[3].upcase
          event1=$game_map.events[@event_id]
          #----------------------
          # Un pas vers le joueur
          event2=$game_player if event_nom=="JOUEUR"
          #----------------------
          # 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é
            event1.un_pas_vers(event)
            return true
          end
          return true
        else
          #----------------------
          # Recupère le nom de l'event
          event_nom=com[2].upcase
          event_nom2=com[4].upcase
          #----------------------
          # le joueur
          event1=$game_player if event_nom=="JOUEUR"
          event2=$game_player if event_nom2=="JOUEUR"
          #----------------------
          # 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 and event.name.upcase!=event_nom2
            # Ajoute l'event courant vers l'event trouvé
            event1=event if event.name.upcase==event_nom
            event2=event if event.name.upcase==event_nom2
          end         
          event1.un_pas_vers(event2) if event1!=nil and event2!=nil
          return true
        end
      end
    end
    outil_unpasvers_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 se deplace vers un event ou à defaut le joueur
  #--------------------------------------------------------------------------
  def un_pas_vers(event=$game_player)
    # Calcul les coordonnées différentielles
    sx = @x - event.x
    sy = @y - event.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




Dernière édition par le Lun 4 Juin - 12:33, édité 14 fois
Revenir en haut Aller en bas
https://lodm.forumactif.com
TLN
Chercheur
TLN


Nombre de messages : 23
Age : 34
Projet Principal : Un truk secret :D
Date d'inscription : 18/03/2007

Deplace l'event/Joueur vers un autre event Empty
MessageSujet: Re: Deplace l'event/Joueur vers un autre event   Deplace l'event/Joueur vers un autre event Icon_minitimeMar 17 Avr - 9:26

Question : Est-ce que la commande "Déplacer tout" (qui permet d'attendre que l'évent en question ait fini de se déplacer) prend en compte cette nouvelle commande ?

Et aussi, au lieu de :

Code:
  def id
    return @id
  end

Tu peux simplement mettre :

Code:
  attr_reader  :id

Juste en dessous de la ligne "Class machin" si je n'm'abuse. Je crois que ça revient au même.
Revenir en haut Aller en bas
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

Deplace l'event/Joueur vers un autre event Empty
MessageSujet: Re: Deplace l'event/Joueur vers un autre event   Deplace l'event/Joueur vers un autre event Icon_minitimeMer 18 Avr - 1:40

Oui TLN ca devrait l'inclure car la gestion de "Tout Deplacer" se fait dans l'update de l'interpreter (avec un return) or je ne touche pas ce script.
Je viens de tester et ca fonctionne apparemment, sauf pour les messages qui s'affichent tout de suite bizarrement...Je vais voir si ca vient de ce script ou d'un autre qui tourne

Pour la 2eme partie de ton post, LOL, oui je sais bien. J'ai voulu garder l'esprit des script de base de RM qui fait frequemment ce genre de methode Wink
Revenir en haut Aller en bas
https://lodm.forumactif.com
TLN
Chercheur
TLN


Nombre de messages : 23
Age : 34
Projet Principal : Un truk secret :D
Date d'inscription : 18/03/2007

Deplace l'event/Joueur vers un autre event Empty
MessageSujet: Re: Deplace l'event/Joueur vers un autre event   Deplace l'event/Joueur vers un autre event Icon_minitimeMer 18 Avr - 2:54

Lol, j'me disais aussi ...
Mais ... oO ... j'serais pas en train d'lui apprendre un truc là ? Very Happy
Bah en fait non lol :p

===>[]


PS : Bon c'est quand j'pourrais connaitre ton script de masque au fait ? ^^°
Revenir en haut Aller en bas
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

Deplace l'event/Joueur vers un autre event Empty
MessageSujet: Re: Deplace l'event/Joueur vers un autre event   Deplace l'event/Joueur vers un autre event Icon_minitimeLun 4 Juin - 12:32

Suite à une idée d amélioration de Vergil, j ai effectué le changement suivant:
On peut toujous faire un pas ver nom1
Et l event ou vous mettez la commande se dirigera vers nom1

ou
un pas nom1 vers nom2
Pour que l event nom1 se dirige vers nom2

Bien sur vous pouvet toujours remplacer les noms par joueur pour gérer le joueur
Revenir en haut Aller en bas
https://lodm.forumactif.com
Contenu sponsorisé





Deplace l'event/Joueur vers un autre event Empty
MessageSujet: Re: Deplace l'event/Joueur vers un autre event   Deplace l'event/Joueur vers un autre event Icon_minitime

Revenir en haut Aller en bas
 
Deplace l'event/Joueur vers un autre event
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» "un pas loin" Eloigne un event d'un autre
» Afficher un message au dessus d'un event
» Proposer de nouvelles fonctions pour Event-Maker
» 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