Aller en bas
Raishi
Raishi
Membre

Nombre de messages : 125
Age : 26
Localisation : Ailleurs :p
Distinction : aucune
Date d'inscription : 22/05/2016

Résolu [Résolu]Probleme avec l'aggro

Lun 23 Mai 2016 - 20:20
J'ai essayé de faire un mob qui fonce sur le joueur dès qu'il est dans une zone assez pres et qui engage automatiquement le combat des quil est collé a lui... un systeme d'aggro quoi.

J'ai repris le systeme que j'ai trouvé ici https://rpgmakervx.1fr1.net/t12925-system-intelligence-artificielle-aggro?highlight=aggro parce qu'il avait une vraiment bonne tete (pour moi qui debute) et que je l'ai vu en video mais j'ai voulu l'ameliorer un peu


De base jai eu quelques problemes : deja le truc ca trace pas un carré autour du mob mais une espece de très grande croix donc meme si on est a l'autre bout, le fait d'entre dans une ligne ou une colonne située près de la sienne le declenchait du coup j'ai du imbriquer toutes les conditions comme ca :
spoiler:
Voila, si ce bout peut servir a quelquun tant mieux  Smile  sinon ca pourra toujours servir au diagnostique


et après je suis tombé sur un autre probleme : tant que je faisais gaffe a pas rentrer moi meme dans le mob, meme sil se tortille sur mon perso, ya pas de combat, du coup j'ai fait ca :
spoiler:

et c'est la que ca foire. La page 1 marche nickel, la page 3 c'est pour eviter de se retrouver avec un generateur de combat infini collé au derriere, ca marche aussi (testés sur un autre mob) mais dès que je met mon script dans la 2 au lieux de juste mettre le combat (qui moblige a marcher dessus pour declencher), je peux plus rien faire : le jeu se lance bien avec le menu de depart qui marche et tout, les petites animation (papillon et mouvement du slime) se lancent mais impossible de faire la moindre action ou d'ouvrir le menu pause.
Et bien sur je rage sur mon bout de script en le triturant dans tous les sens mais je trouve pas l'erreur, niveau logique ca mavait l'air bien pourtant  confused

Quelquun peut m'aider ?


Dernière édition par Raishi le Mer 25 Mai 2016 - 15:15, édité 4 fois
Weiphalund
Weiphalund
Membre

Nombre de messages : 200
Distinction : aucune
Date d'inscription : 06/06/2015

Résolu Re: [Résolu]Probleme avec l'aggro

Lun 23 Mai 2016 - 20:49
Si tu veux je t'ai trouvé une vidéo qui explique comment faire^^



En espérant que cela t'aide^^
Fosque
Fosque
Membre

Nombre de messages : 60
Localisation : France
Distinction : aucune
Date d'inscription : 13/03/2012

Résolu Re: [Résolu]Probleme avec l'aggro

Lun 23 Mai 2016 - 21:50
Tu ne peux effectuer aucune action car tu as mis le déclenchement de ta page 2 en automatique (en bas).
Passe en parallèle Wink.


EDIT :

Je viens de tester un peu ton event. (je m'en servirai pour mon propre projet  [Résolu]Probleme avec l'aggro 522164 )
Voici ma configuration :

J'ai entré ces commandes sur un event qui se déplace aléatoirement à une vitesse moyenne, qui s'active en processus parallèle.
Spoiler:


Avec cela, le PNJ se déplace de manière paisible. Mais quand le joueur s'approche, l'aggro sera vraiment efficace et aggressive (j'augmente la vitesse du PNJ).

Dans un rayon de 5 cases, le joueur prend l'aggro.
Dans un rayon d'une case, le combat est lancé.

Quand on n'a pas l'aggro, les variables sont recalculées au début de l'event seulement.
Quand on a l'aggro, les variables sont aussi calculées juste après le déplacement du PNJ
> Sans cela, si on reste immobile et que le PNJ arrive au corps-à-corps, le combat ne se lance pas.




EDIT :
Weiphalund, ce tuto vidéo est pour faire un A-RPG en event. Je ne pense pas que c'est ce que recherche Raishi ?
Spytje
Spytje
Administrateur

Nombre de messages : 5935
Localisation : La terre
Distinction : Spiraliste [Korn']
Forestia : Projet du mois juillet 2014
Papy Pulkigrat [Yama']
Date d'inscription : 16/03/2008

Résolu Re: [Résolu]Probleme avec l'aggro

Lun 23 Mai 2016 - 22:47
Weiphalund, ce tuto vidéo est pour faire un A-RPG en event. Je ne pense pas que c'est ce que recherche Raishi ?

Si justement le système recherché est présent dans les arpg...

Pourquoi ne pas utiliser un script pour faire ce genre de chose à la place d'utiliser toutes ces variables et event.


https://atelierrgss.wordpress.com/rgss3-event-sensor-range/
Raishi
Raishi
Membre

Nombre de messages : 125
Age : 26
Localisation : Ailleurs :p
Distinction : aucune
Date d'inscription : 22/05/2016

Résolu Re: [Résolu]Probleme avec l'aggro

Lun 23 Mai 2016 - 22:52
weiph, cest justement de la que j'ai trouvé le script mais comme j'ai vu que yavais des commentaires comme quoi ca se lancait pas bien (et que j'ai pu le tester) du coup jai cherché l'origine ici pour voir si yavait plus d'explications

Fosque, j'ai pas compris en quoi l'automatique genait (jai essayé le truc contact ca marchait pas c'est pour ca que jai créé ca qu'est un moyen détourné)
Apres ca doit faire meme pas une semaine que j'ai commencé a m'intéresser a RM donc les processus parallelle c'est bien les event communs ? t'as créé l'event du monstre et t'as appelé le processus parallele c'est ca ?

Et j'ai aucune idée de ce qu'est un A-rpg Suspect si quelquun pouvait me faire un petit cour recapitulatif vite fait de RM ou me filer un bon dico du jargon et des fonctions ca m'aiderait   [Résolu]Probleme avec l'aggro 418140 parce que la je vois les script et j'y comprend rien T_T
Spytje
Spytje
Administrateur

Nombre de messages : 5935
Localisation : La terre
Distinction : Spiraliste [Korn']
Forestia : Projet du mois juillet 2014
Papy Pulkigrat [Yama']
Date d'inscription : 16/03/2008

Résolu Re: [Résolu]Probleme avec l'aggro

Lun 23 Mai 2016 - 22:58
Arpg = Combat sur la map en direct donc forcément il y a utilisation de l'agro.

Quand tu mets un événement en automatique il bloque le jeu jusqu'à ce qu'il ai fini ce qu'il a à faire et donc c'est pas top dans cette circonstance.
Le mettre en parallèle permet à ton événement de faire son travail sans bloquer le jeu.


Dernière édition par Spy le Lun 23 Mai 2016 - 22:59, édité 1 fois
Weiphalund
Weiphalund
Membre

Nombre de messages : 200
Distinction : aucune
Date d'inscription : 06/06/2015

Résolu Re: [Résolu]Probleme avec l'aggro

Lun 23 Mai 2016 - 22:59
Le processus parallèle fait en sorte que l'event se déclenche lorsque le héros est sur la map et non quand il fait une action.

Un A-RPG signifie Action RPG. En gros dans un A-RPG les combats sont en temps réelle(si tu vois un monstre le combat se fait automatiquement comme dans skyrim)
Contrairement aux autres RPG ou les combats se déroule au tour par tout, le joueur attaque puis l'ennemie etc (comme dans les final fantasy)
Raishi
Raishi
Membre

Nombre de messages : 125
Age : 26
Localisation : Ailleurs :p
Distinction : aucune
Date d'inscription : 22/05/2016

Résolu Re: [Résolu]Probleme avec l'aggro

Lun 23 Mai 2016 - 23:08
:o Bon je viens de prendre ma premiere lecon merci XD

Apres j'ai pas envie de faire un Arpg (quoique l'idée de faire un mix a la mario et luigi partner in time ou quand tu tape sur la map donne une baffe gratuite au debut me plairait bien)
et le script que tu propose a l'air sympa aussi (voir carrément mieux) merci mais c'est juste un script de détection en losange (mieux que mon carré) c'est ca ? et apres je dois mettre le combat dans la 2eme page

je vais essayer les 2 histoire de m'habituer a manipuler merci Smile
Spytje
Spytje
Administrateur

Nombre de messages : 5935
Localisation : La terre
Distinction : Spiraliste [Korn']
Forestia : Projet du mois juillet 2014
Papy Pulkigrat [Yama']
Date d'inscription : 16/03/2008

Résolu Re: [Résolu]Probleme avec l'aggro

Lun 23 Mai 2016 - 23:14
Tu peux également agrandir la zone de détection sans problème.

Dès que ton personnage rentre dans la zone de détection de l'événement il activera automatiquement l'interrupteur "D" de celui-ci.


Code:
#==============================================================================
# +++ MOG - Event Sensor Range (v1.0) +++
#==============================================================================
# By Moghunter
# https://atelierrgss.wordpress.com/
#==============================================================================
# Permite que o evento tenha dois comportamentos, de curta distância e de
# longa distância.
#===============================================================================
# - Utilização
# Crie uma página com a condição de ativação Self Switch D, está página será
# usada quando o player estiver perto do evento.
# Defina a area do sensor do evento colocando este nome no evento.
#
# <SensorX>
#
# X = Area do Sensor
#
#===============================================================================
module MOG_EVENT_SENSOR
  #Definição da letra da Self Switch que ativará a página de curta distância.
  SENSOR_SELF_SWITCH = "D"
end

#===============================================================================
# ■ GAME EVENT
#===============================================================================
class Game_Event < Game_Character
 
  attr_reader  :sensor_range
 
  #--------------------------------------------------------------------------
  # ● Initialize
  #--------------------------------------------------------------------------           
  alias mog_event_sensor_initialize initialize
  def initialize(map_id, event)
      mog_event_sensor_initialize(map_id, event)
      setup_event_sensor
  end
 
  #--------------------------------------------------------------------------
  # ● Setup Event Sensor
  #--------------------------------------------------------------------------         
  def setup_event_sensor
      @sensor_range =  @event.name =~ /<Sensor(\d+)>/ ? $1.to_i : 0
  end 
 
  #--------------------------------------------------------------------------
  # ● Update
  #--------------------------------------------------------------------------           
  alias mog_event_sensor_update update
  def update
      mog_event_sensor_update
      update_event_sensor
  end 
 
  #--------------------------------------------------------------------------
  # ● Update Sensor
  #--------------------------------------------------------------------------       
  def update_event_sensor
      return if @sensor_range == 0
      distance = ($game_player.x - self.x).abs + ($game_player.y - self.y).abs
      enable  = (distance <= @sensor_range)
      key = [$game_map.map_id, self.id, MOG_EVENT_SENSOR::SENSOR_SELF_SWITCH]
      last_enable = $game_self_switches[key]
      execute_sensor_effect(enable,key) if enable != last_enable
    end

  #--------------------------------------------------------------------------
  # ● Execute_Sensor Effect
  #--------------------------------------------------------------------------           
  def execute_sensor_effect(enable,key)     
      @pattern = 0 ; @pattern_count = 0             
      $game_self_switches[key] = enable ;  self.refresh
  end
   
end

$mog_rgss3_event_sensor = true
Fosque
Fosque
Membre

Nombre de messages : 60
Localisation : France
Distinction : aucune
Date d'inscription : 13/03/2012

Résolu Re: [Résolu]Probleme avec l'aggro

Lun 23 Mai 2016 - 23:19
Raishi a écrit:Apres ca doit faire meme pas une semaine que j'ai commencé a m'intéresser a RM
Au temps pour moi. J'aurai dû davantage expliquer.
En voyant ton évènement avec la gestion des variables et des conditions, j'ai pensé que tu connaissais un minimum Wink


Si j'avais pas lu ton post en travers aussi... :
Raishi a écrit:(pour moi qui debute)
Raishi
Raishi
Membre

Nombre de messages : 125
Age : 26
Localisation : Ailleurs :p
Distinction : aucune
Date d'inscription : 22/05/2016

Résolu Re: [Résolu]Probleme avec l'aggro

Lun 23 Mai 2016 - 23:26
spy : j'ai vu ca (vive googueul traduction :p) ben merci je crois bien que jai eu ma reponse et meme le niveau au dessus Very Happy

fosque : je sais coder en python donc la logique quya derriere et les variables je gere, c'est juste que la... ben je pouvais pas savoir sans quon me le dise, c'est un truc propre au logiciel

juste, quelquun peux me dire ou je peux apprendre a scripter (genre ou je peux trouver un dico des fonctions utiles ici et pas un truc général qui part loin dans tous les sens) ?
Weiphalund
Weiphalund
Membre

Nombre de messages : 200
Distinction : aucune
Date d'inscription : 06/06/2015

Résolu Re: [Résolu]Probleme avec l'aggro

Lun 23 Mai 2016 - 23:36
Tu devrais pouvoir en trouver sur le forum^^
Spytje
Spytje
Administrateur

Nombre de messages : 5935
Localisation : La terre
Distinction : Spiraliste [Korn']
Forestia : Projet du mois juillet 2014
Papy Pulkigrat [Yama']
Date d'inscription : 16/03/2008

Résolu Re: [Résolu]Probleme avec l'aggro

Lun 23 Mai 2016 - 23:38
Pour apprendre le ruby il y a des tuto présents sur le web mais ça va vite partir dans tous les sens comme tu dis.

Le mieux pour toi, et comme tu connais déjà un langage, serait de regarder comment sont fait les scripts de base dans le logiciel tu devrais pas être trop perdu.

Sinon des pti liens utiles avec les scripts call :

http://forums.rpgmakerweb.com/index.php?/topic/25040-ace-useful-script-call-reference/

http://forums.rpgmakerweb.com/index.php?/topic/6248-script-call-equivalent-of-events/

http://rmvxace.wikia.com/wiki/Script_Call_Library

Y a plein d'autres tuto sur le net...
Raishi
Raishi
Membre

Nombre de messages : 125
Age : 26
Localisation : Ailleurs :p
Distinction : aucune
Date d'inscription : 22/05/2016

Résolu Re: [Résolu]Probleme avec l'aggro

Lun 23 Mai 2016 - 23:41
merci ^^

je viens de tester le script... et j'ai du me planter quelque part . je met bien et tout dans le nom et sur la page 2 je met juste de foncer sur le heros... ben il se passe rien, j'ai du rater un truc.
dans la premier page ya rien. et meme ca jle plante scratch
Spytje
Spytje
Administrateur

Nombre de messages : 5935
Localisation : La terre
Distinction : Spiraliste [Korn']
Forestia : Projet du mois juillet 2014
Papy Pulkigrat [Yama']
Date d'inscription : 16/03/2008

Résolu Re: [Résolu]Probleme avec l'aggro

Lun 23 Mai 2016 - 23:49
Tu as bien mis ton

X = grandeur de la zone de détection.

Ton event doit avoir deux pages.

La deuxième page doit être utilisable avec la condition que l'interrupteur local D est actif.

Raishi
Raishi
Membre

Nombre de messages : 125
Age : 26
Localisation : Ailleurs :p
Distinction : aucune
Date d'inscription : 22/05/2016

Résolu Re: [Résolu]Probleme avec l'aggro

Lun 23 Mai 2016 - 23:53
ben oui jai mis
slime dans le nom et la 2eme page sur D activé avec juste bouger sur le joueur mais il fait rien
Spytje
Spytje
Administrateur

Nombre de messages : 5935
Localisation : La terre
Distinction : Spiraliste [Korn']
Forestia : Projet du mois juillet 2014
Papy Pulkigrat [Yama']
Date d'inscription : 16/03/2008

Résolu Re: [Résolu]Probleme avec l'aggro

Mar 24 Mai 2016 - 0:01
Code:
<sensor>

dans le nom de ton event
Raishi
Raishi
Membre

Nombre de messages : 125
Age : 26
Localisation : Ailleurs :p
Distinction : aucune
Date d'inscription : 22/05/2016

Résolu Re: [Résolu]Probleme avec l'aggro

Mar 24 Mai 2016 - 0:05
... et je sais meme plus taper ici... je doit vraiiment etre crevé
ce que je voulais dire c'est que j'ai mis slime et que ca marche pas quand meme

bon par contre je pense que je vais arreter la pour ce soir faut que je dorme un peu Smile donc je continuerais a regarder ca demain
Spytje
Spytje
Administrateur

Nombre de messages : 5935
Localisation : La terre
Distinction : Spiraliste [Korn']
Forestia : Projet du mois juillet 2014
Papy Pulkigrat [Yama']
Date d'inscription : 16/03/2008

Résolu Re: [Résolu]Probleme avec l'aggro

Mar 24 Mai 2016 - 0:05
Exemple :

[Résolu]Probleme avec l'aggro Captur15
Raishi
Raishi
Membre

Nombre de messages : 125
Age : 26
Localisation : Ailleurs :p
Distinction : aucune
Date d'inscription : 22/05/2016

Résolu Re: [Résolu]Probleme avec l'aggro

Mar 24 Mai 2016 - 7:45
Ben oui je sais, c'est exactement ce que jai fait mais ca marche pas.... Rhaaaa mais en fait c'est ce foutu forum qui me bouffe le sensor3 dans mes messages quand je met le > et le < !!!!
ibiky-ushiha
ibiky-ushiha
Membre

Nombre de messages : 314
Age : 35
Distinction : *3ème au mapping show session 75
Date d'inscription : 17/03/2014

Résolu Re: [Résolu]Probleme avec l'aggro

Mar 24 Mai 2016 - 12:03
Salut, je vois que vous galérer sur un système d'aggro (ou de détection), j'ai réaliser pour un A-RPG a l'époque sous l'Event Extender un prototype et je les grandement amélioré sous RPG Maker Extender, j'ai une détection 100% fiable dans un rayon prédéfinie par le créateur celons le type de monstre, il détecte même à travers les mur et va chercher le héro en cas si besoin (il ne sera pas comme un con derrière le mur à ce cogner la tête) voila un petit exemple simple :

Aggro à travers le mur et vient nous chercher :

[Résolu]Probleme avec l'aggro 442ca0a2f0

Aggro autour de lui dans sont champs de vision (j'ai changer le code pour afficher une icône quant il nous vois sinon il continue de tourner) :

[Résolu]Probleme avec l'aggro Bdc268107d

je ne vais pas te faire un grand tuto sur comment le réaliser sur RME ici ci cela intéresse de savoir comment je les réaliser contacte moi en mp ou sur mon skype.
Raishi
Raishi
Membre

Nombre de messages : 125
Age : 26
Localisation : Ailleurs :p
Distinction : aucune
Date d'inscription : 22/05/2016

Résolu Re: [Résolu]Probleme avec l'aggro

Mar 24 Mai 2016 - 14:02
:o ca a l'air super bien fait ton truc Smile

Pour ma part je viens de reussir a aggro le slime !!! j'ai comparé ce que t'as mis spy et son tuto en portugais : ya une difference en fait : t'as mis une majuscule et pas lui... et le pire c'est que c'est toi qu'as raison ! Laughing

bon par contre ya toujours le probleme du contact j'ai essayé en faisant un copier collé du script et en changeant le nom en a la fin) et le switch local mais le systeme aime pas quand on lui met
Code:
Slime<Sensor3><Contact1>

Il me met que le niveau de stack est trop profond (level stack is too deep)

Spytje
Spytje
Administrateur

Nombre de messages : 5935
Localisation : La terre
Distinction : Spiraliste [Korn']
Forestia : Projet du mois juillet 2014
Papy Pulkigrat [Yama']
Date d'inscription : 16/03/2008

Résolu Re: [Résolu]Probleme avec l'aggro

Mar 24 Mai 2016 - 14:16
Le script ne gère pas le contact seulement l'agro pas besoin de script pour gérer cela en page 2 tu mets dans les conditions : déclenchement : "contact avec le héro"

Page 2 tu augmente aussi sa vitesse de déplacement pour rendre la chose plus réelle et dans déplacement type : personnalisé : "un pas vers le héro" et un petit "v" dans répéter en boucle.

Tu n'as pas besoin de 50 scripts pour faire ce genre de chose.
Raishi
Raishi
Membre

Nombre de messages : 125
Age : 26
Localisation : Ailleurs :p
Distinction : aucune
Date d'inscription : 22/05/2016

Résolu Re: [Résolu]Probleme avec l'aggro

Mar 24 Mai 2016 - 14:29
ouais mais justement, tout ca c'est parti... d'un probleme de la commande contat avec le heros justement, tant que je fais en sorte de pas rentrer, le slime continuera a me coller au train, meme si ill est devant moi a me mettre des coups de boules, si je fais demi tour pas de combat.
et c'est ca que je veux eviter, je veux que le ce soit le slime qui decide tout seul comme un grand de combattre le probleme c'est quil y arrive pas.
ibiky-ushiha
ibiky-ushiha
Membre

Nombre de messages : 314
Age : 35
Distinction : *3ème au mapping show session 75
Date d'inscription : 17/03/2014

Résolu Re: [Résolu]Probleme avec l'aggro

Mar 24 Mai 2016 - 14:33
heu.... la dessus je ne suis pas en accort avec toi Spy car si le monstre te tape dans le dos le simple fait de faire contact avec le héro de RM ne sufi pas regarde (je déplace l'événement grâce à une commande de RME pour qu'il suive le héro correctement et j'affiche un cœur quant l'event me touche)

[Résolu]Probleme avec l'aggro Ff37b72d2a

la même chose avec RME :

[Résolu]Probleme avec l'aggro 7f55df5fe5
Contenu sponsorisé

Résolu Re: [Résolu]Probleme avec l'aggro

Revenir en haut
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum