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
-50%
Le deal à ne pas rater :
-50% Baskets Nike Air Huarache Runner
69.99 € 139.99 €
Voir le deal

 

 "Au contact de" Demarre si touche un event

Aller en bas 
5 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

"Au contact de"  Demarre si touche un event Empty
MessageSujet: "Au contact de" Demarre si touche un event   "Au contact de"  Demarre si touche un event Icon_minitimeMer 18 Avr - 8:57

Bonjour

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

Il vous suffit d'ajouter un commentaire avec Au contact de Event
Et l'event se bloque tant qu'il ne touche pas Event

Vous pouvez remplacer Event par
- joueur, pour attendre un contact avec le joueur
- le nom d'un event,
- tous, pour attendre un contact avec n'importe quel event

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 "Au contact de"

Code:

#==============================================================================
# OUTILS
# AU CONTACT DE
#--------------------
# Stephane, Roys
# 15 avril 2007
#--------------------
# Explication
# Ajoute une fonction en event à RMXP afin qu'un evenement demarre au contact d'un autre
# En fait, l'event se gèle tant que la condition de contact n'est pas réunie
#--------------------
# Mode d'Emploi
#- Mettez votre event en processus parallele
#- Inserer un commentaire dans l'event
# et ecrivez : au contact de Nom
#- Remplacer Nom par
# joueur : si vous voulez que votre event demarre au contact du joueur
# le nom de l'event : au contact duquel vous voulez faire demarrer votre event
# tous :, si vous voulez faire demarrer au contact de n'importe quel event
#==============================================================================

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

  def command_108
    # Commande non valide
    if not @parameters[0].split.size<4
      # Commande valide
      if (@parameters[0].upcase)[/AU CONTACT DE/]=="AU CONTACT DE"
        #----------------------
        # Recupère le nom de l'event
        nom=@parameters[0].split[3].upcase
        event_self=$game_map.events[@event_id]
        #----------------------
        # Contact avec le joueur
        if nom=="JOUEUR"
          return event_self.au_contact_de($game_player)
        end
        #----------------------
        # Contact avec le joueur si TOUS
        return true if nom=="TOUS" and event_self.au_contact_de($game_player)
        #----------------------
        # Contact avec un event
        for i in $game_map.events.keys
          event=$game_map.events[i]
          # Pour ne pas tester l'event lui-meme
          next if event.name.upcase==event_self.name.upcase
          # Contact avec tous
          if nom=="TOUS"
            return true if event_self.au_contact_de(event)
          end
          # Contact avec un nom event donné
          next if nom!=event.name.upcase
          return true if event_self.au_contact_de(event)
        end
        return false
      end
    end
    outil_aucontactde_command108
  end
end

#==============================================================================
# Game_Character
# Modifie la class pour ajouter la méthode event1 se déplace vers event2
#==============================================================================
class Game_Character

  #--------------------------------------------------------------------------
  # AU CONTACT DE
  # Renvoi true si le character touche event
  #--------------------------------------------------------------------------
  def au_contact_de(event=$game_player)
    new_x = event.x + (event.direction == 6 ? 1 : event.direction == 4 ? -1 : 0)
    new_y = event.y + (event.direction == 2 ? 1 : event.direction == 8 ? -1 : 0)
    x = @x + (@direction == 6 ? 1 : @direction == 4 ? -1 : 0)
    y = @y + (@direction == 2 ? 1 : @direction == 8 ? -1 : 0)
    return ((@x == new_x and @y == new_y and not event.moving?) or
            (x==event.x and y==event.y and not moving? ))
  end
end

Edit Roys:
Idée de développement -> Ajouter un end, comme pour le if, pour déterminer un bloc de condition


Dernière édition par le Lun 4 Juin - 12:00, édité 6 fois
Revenir en haut Aller en bas
https://lodm.forumactif.com
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

"Au contact de"  Demarre si touche un event Empty
MessageSujet: Re: "Au contact de" Demarre si touche un event   "Au contact de"  Demarre si touche un event Icon_minitimeJeu 19 Avr - 5:41

Merci a tous pour vos commentaires par MP ou sur les forums
Du coup j'ai apporté aujourd hui quelques modifications

1- On ne met plus l ID de l event à toucher mais le Nom (ce n'est pas case sensitif)

2- Le contact se fait aprés le mouvement. Avant le contact etait fait pendant le mouvement vers l event

3- Le contact se déclenche AUSSI si l'event ou vous avez mis la fonction touche lui-meme l'event ciblé. Auparavant seul l'event ciblé pouvait déclencher le contact.

Retester et dites moi
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

"Au contact de"  Demarre si touche un event Empty
MessageSujet: Re: "Au contact de" Demarre si touche un event   "Au contact de"  Demarre si touche un event Icon_minitimeVen 20 Avr - 3:00

Et si plusieurs évents portent le même nom ? Tous peuvent interagir ?

EDIT pour Roys : Oki ^^


Dernière édition par le Ven 20 Avr - 11:24, édité 1 fois
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

"Au contact de"  Demarre si touche un event Empty
MessageSujet: Re: "Au contact de" Demarre si touche un event   "Au contact de"  Demarre si touche un event Icon_minitimeVen 20 Avr - 4:23

J ai ajouté un petit update car il manquait le cas du contact avec le joueur pour TOUS
Sinon pour répondre à TLN, s'il y a plusieurs nom identiques tous peuvent interagir
Revenir en haut Aller en bas
https://lodm.forumactif.com
Saga_fire

Saga_fire


Nombre de messages : 12
Age : 36
Projet Principal : Secret
Aide Recherchée pour : Characters/Battlers nouveaux
Date d'inscription : 19/05/2007

"Au contact de"  Demarre si touche un event Empty
MessageSujet: Re: "Au contact de" Demarre si touche un event   "Au contact de"  Demarre si touche un event Icon_minitimeSam 19 Mai - 8:33

Déja avant toute chose comme je ne savais pas où l'écrire je tien a vous dire que vous ètes trop fort pour les améliorations de RPG maker XP que vous nous procurez.
Ensuite venons en a mon petit problème. Si je comprend bien le script ci-dessus sert à activer un évennement au contact soit :
du héros
d'un autre évennement
Ben moi quand je met dans commentaire par exemple sur l'EV002 "au contact de EV001" il s'active au contact de mon héros mais pas de l'évennement 001.
C'est normal??? (pas que vous soyer trop fort)
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

"Au contact de"  Demarre si touche un event Empty
MessageSujet: Re: "Au contact de" Demarre si touche un event   "Au contact de"  Demarre si touche un event Icon_minitimeSam 19 Mai - 8:42

Oui désolé, une ligne a été tronquée.Merci de m avoir prévenu
Veux tu bien tester et me dire si ca marche chez toi ?
Revenir en haut Aller en bas
https://lodm.forumactif.com
Saga_fire

Saga_fire


Nombre de messages : 12
Age : 36
Projet Principal : Secret
Aide Recherchée pour : Characters/Battlers nouveaux
Date d'inscription : 19/05/2007

"Au contact de"  Demarre si touche un event Empty
MessageSujet: Re: "Au contact de" Demarre si touche un event   "Au contact de"  Demarre si touche un event Icon_minitimeSam 19 Mai - 9:45

J'ai réessayer et ça marche super et je dois dire que le résultat et encore mieu de ce que je m'attendais

Je voulais savoir, me permettrais tu d'inscrire tous script sur d'autre
forum. Si oui préférais tu un lien vers ton site, que je le poste tout
simplement ou tu t'en fou royalement

Edit Roys: merci, je préfèrerais que tu donnes le lien pour avoir des commentaires d'amélioration et des utilisateurs testeurs.
Pour l'effet pub, ne t'inquiète pas, nous n'aspirons pas à avoir bcp de membres, au contraire, du coup les droits sont plus limités que su run forum normal. Par contre la lecture est libre
Revenir en haut Aller en bas
Siegfried
Guide
Guide



Nombre de messages : 37
Age : 37
Projet Principal : Legacy of Judge : Veil of Oblivion
Date d'inscription : 26/02/2007

"Au contact de"  Demarre si touche un event Empty
MessageSujet: Re: "Au contact de" Demarre si touche un event   "Au contact de"  Demarre si touche un event Icon_minitimeDim 20 Mai - 19:41

Super !
Dès que je me remets sur mon A-RPG, je t'en dis des nouvelles. Smile
Revenir en haut Aller en bas
Sicarus




Nombre de messages : 3
Projet Principal : Älemea's chronicles
Date d'inscription : 13/05/2007

"Au contact de"  Demarre si touche un event Empty
MessageSujet: Re: "Au contact de" Demarre si touche un event   "Au contact de"  Demarre si touche un event Icon_minitimeLun 4 Juin - 10:45

Magnifique!!
Et bien voila, mon A-rpg marche parfaitement bien maintenant ^^
Revenir en haut Aller en bas
Contenu sponsorisé





"Au contact de"  Demarre si touche un event Empty
MessageSujet: Re: "Au contact de" Demarre si touche un event   "Au contact de"  Demarre si touche un event Icon_minitime

Revenir en haut Aller en bas
 
"Au contact de" Demarre si touche un event
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» "un pas loin" Eloigne un event d'un autre
» Deplace l'event/Joueur vers un autre 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