Apprendre


Vous êtes
nouveau sur
Oniromancie?

Visite guidée
du site


Découvrir
RPG Maker

RM 95
RM 2000/2003
RM XP
RM VX/VX Ace
RM MV/MZ

Apprendre
RPG Maker

Tutoriels
Guides
Making-of

Dans le
Forum

Section Entraide

Tutos: Godot : Premier Contact -Partie (...) / Tutos: Godot : Premier Contact -Partie (...) / Making-of: Ma première game jam classée / Jeux: Oracle of Tao / Jeux: Mystic Slayer [Value+!] / Chat

Bienvenue
visiteur !




publicité RPG Maker!

Statistiques

Liste des
membres


Contact

Mentions légales

74 connectés actuellement

11003129 visiteurs
depuis l'ouverture

1016 visiteurs
aujourd'hui



Barre de séparation

Partenaires

Indiexpo

Akademiya RPG Maker

Hellsoft

Planète Glutko

Alex d'Or

Leo-Games

BloGecko

Zarok

Tous nos partenaires

Devenir
partenaire



forums

Index du forum > Entraide > [RESOLU] [Rpg Maker XP] Placement aléatoire d'un événement répété X fois


Sou - posté le 04/01/2016 à 23:56:59 (394 messages postés)

❤ 0

On a jamais assez de munitions

Domaine concerné: événements
Logiciel utilisé: Rpg Maker XP
Bonjour à tous !

Une bonne année pour commencer, une bonne santé ;)
(Et on en a besoin pour survivre dans ce monde radioactif !)

Sinon,
J'aimerai trouver une parade pour placer aléatoirement un événement sur une map, et répéter cette opération plusieurs fois.

J'ai pensé à un événement commun lancé en parallèle en début de jeu dans le quel j'aurai mis un truc du genre:

- X = 0
- Début de boucle
- Condition: Si X < N
- Créer un événement
- Téléporter l'événement
- X + 1
- Reprise de la boucle

Et ce jusqu'à ce que X = N


Cependant, est-il possible de créer un événement via un script?
Est-il possible de définir un fourchette de positions autorisées, et une fourchette de positions non autorisées.
Et enfin, est-il possible de détecter automatiquement une tils considéré comme "obstacle" pour ne pas avoir à répertorier à la main toutes les positions des murs, falaises, mer, ect... ?

Merci d'avance :)

Je suis Sou et c'est tout.


Aminomad - posté le 05/01/2016 à 00:22:22 (150 messages postés)

❤ 0

Tu veux créer un event et le placer de manière aléatoire X fois ou créer X event et les placer de manière aléatoire ?
Je vois à peu près comment faire en event, mais ce serait applicable que sur une map.
Ca m'a pas l'air évident en script, mais à coeur vaillant rien d'impossible :F

The Lone Chameleon


Sou - posté le 05/01/2016 à 00:30:09 (394 messages postés)

❤ 0

On a jamais assez de munitions

En fait j'ai fais une grande map.
Et j'aimerai y faire pop des monstres de façon aléatoire.

Si t'as un début de piste, réfléchissons ensemble ;)

Je suis Sou et c'est tout.


Aminomad - posté le 05/01/2016 à 00:42:39 (150 messages postés)

❤ 0

Ce que j'aurai fait, c'est créer un premier event avec 2 pages, la première en démarrage auto, la deuxième avec l'apparence de ton monstre.
Sur la première page, tu définis 2 variables de façon aléatoire (t'as une option au moment de les définir et tu peux même choisir une fourchette de valeurs). Ces 2 variables sont tes coordonnées.
Ensuite tu téléportes l'event en mettant ces deux variables en paramètres. Et tu active la deuxième page grace a un interrupteur local.

Tu copies cet event x fois et le tour est joué... je pense.
Jusque là ça demande pas une ligne de code. Pour tester la passabilité du lieu de téléportation tu dois avoir besoin d'un petit script a mon avis, mais j'y connais rien en ruby.

The Lone Chameleon


Sou - posté le 05/01/2016 à 00:49:04 (394 messages postés)

❤ 0

On a jamais assez de munitions

Hum pas mal ton idée en effet !

Je vais tenter ça et je reviens vers toi :p


Edit:

Du coup, problème 1 réglé, faire pop de façon aléatoire.

Il persiste quand même une problème ou deux, comme le fait que l'event m'arrangerai si il pouvait exister en x2000 ... Ça fait beaucoup de copié collé ^^' Pour ça que je voulais passé par une boucle à condition.

Et pour le script de check des collision j'ai rien trouvé pour l'instant :/ Mais comme tu l'as dis, à cœur vaillant rien d'impossible. On à déjà fait un pas en avant ^^

Je suis Sou et c'est tout.


NanakyTim - posté le 05/01/2016 à 01:02:14 (23640 messages postés) - staff

❤ 0

Leader Bocaliste Floodeur Légendaire

Pas besoin de passer par un script pour vérifier la praticabilité, tu configures le terrain dans la base de donnée (admettons que le non-praticable soit "7"), puis tu mets après la commande de déplacement de ton event "si terrain = 7" et dans ce cas tu "relances" tes deux variables pour le placer ailleurs. :p

Reste encore à gérer le cas où deux ennemis se retrouvent au même endroit, mais ça doit être très facile à régler si tu fais deux variables par ennemi au lieu d'utiliser les mêmes.

Citation:

x2000


Euuuuh... Sur une même map ? Tu sais que ça risque de faire ramer ton jeu ? :doute2

On est pas dans AC Syndicate... :clown

Héros ou Fléau ? Devenez le Roi de Quineroy ! ~ Plongez dans l'univers sombre du Darkans ! ~ Dimens Reis... Allez y faire un tour. ~ Rangez votre chambre ! ~ Avez-vous peur du noir ? ~ Sauvez le futur, en allant dans le passé: BOCALATOR...


Sou - posté le 05/01/2016 à 01:11:36 (394 messages postés)

❤ 0

On a jamais assez de munitions

Le terrain ! Parfait l'astuce, je n'avais pas encore utilisé cette fonction.
Si deux ennemis se trouve l'un sur l'autre, en se déplaçant, peuvent-ils descendre de l'un sur l'autre? Si oui, alors le pop sur la même coordonnée n'est pas gênant. De plus si on part sur des coordonnées du style x = 0 - 500 et y = 0 - 500, il y a peu de chance de sortir la même coordonnée deux fois.

Citation:

Citation:

x2000


Euuuuh... Sur une même map ? Tu sais que ça risque de faire ramer ton jeu ? :doute2

On est pas dans AC Syndicate... :clown



C'est un risque à prendre ! Tu sais, pas comme sortir 5 ou 6 fois le même jeu en changeant juste de ville à chaque fois *sifflote* :biere

Ça nous fait deux réponses ! Merci les gars ;)

Un idée pour générer des événements à la chaine sans passer par copié/collé fois X ? :)


Edit: D’ailleurs, où je trouve "si terrain =" ? Je ne le vois nul part dans les conditions :o

Je suis Sou et c'est tout.


NanakyTim - posté le 05/01/2016 à 01:22:09 (23640 messages postés) - staff

❤ 0

Leader Bocaliste Floodeur Légendaire

Citation:

Si deux ennemis se trouve l'un sur l'autre, en se déplaçant, peuvent-ils descendre de l'un sur l'autre?


Maintenant que tu le dis je crois que oui. Il faudrait faire un test. :sifflote

Y'a pas ça dans les conditions mais tu peux faire ça via une variable "terrain", que tu rends égale au terrain de ton event, puis tu vérifies avec une condition "si variable terrain = 7". Oui c'est casse-couille mais c'est RMXP. :F

Héros ou Fléau ? Devenez le Roi de Quineroy ! ~ Plongez dans l'univers sombre du Darkans ! ~ Dimens Reis... Allez y faire un tour. ~ Rangez votre chambre ! ~ Avez-vous peur du noir ? ~ Sauvez le futur, en allant dans le passé: BOCALATOR...


Sou - posté le 05/01/2016 à 01:24:49 (394 messages postés)

❤ 0

On a jamais assez de munitions

Citation:

Maintenant que tu le dis je crois que oui. Il faudrait faire un test. :sifflote



Je m'attendais à cette réponse, et je t'ai devancé!
Je confirme, ça ne gêne en rien si ils pop au même endroit :)

Citation:

Oui c'est casse-couille mais c'est RMXP.


Faut tester pour savoir, mais faut choisir pour tester *_*

Edit:

Je pensé faire ceci mais je dois me tromper dans l'identification du terrain

image

(j'ai mis des valeurs fixe pour être sur de tomber dans le mur lors de mon test)

Edit: C'est bon ça fonctionne en fait, j'avais oublié d'associé 7 à mon terrain dans la BDD !
Précision, la première page doit donc être en processus parallèle et non pas en automatique sinon ça plante le jeu en cas de pop sur obstacle :)


Manque plus qu'à faire générer automatiquement un nombre défini d'évent et j'aurai tout ce qu'il me faut. On avance à grands pas ^^

Je suis Sou et c'est tout.


NanakyTim - posté le 05/01/2016 à 01:51:01 (23640 messages postés) - staff

❤ 0

Leader Bocaliste Floodeur Légendaire

Oui en processus parallèle sinon le héros se retrouve bloqué durant l'exécution du code. C'est bien t'as réussi à faire fonctionner tout ça :D

Pense à mettre un "attendre 1 frame" à la fin de ton code juste au cas où, pour alléger.

Et les zombies en premier monstre c'est tellement cliché... :hihi

... (wait :doute6)

Héros ou Fléau ? Devenez le Roi de Quineroy ! ~ Plongez dans l'univers sombre du Darkans ! ~ Dimens Reis... Allez y faire un tour. ~ Rangez votre chambre ! ~ Avez-vous peur du noir ? ~ Sauvez le futur, en allant dans le passé: BOCALATOR...


Sou - posté le 05/01/2016 à 02:05:54 (394 messages postés)

❤ 0

On a jamais assez de munitions

Citation:

Oui en processus parallèle sinon le héros se retrouve bloqué durant l'exécution du code. C'est bien t'as réussi à faire fonctionner tout ça :D



Faut bien que j'arrive à découvrir des choses par moi même ^^ Et puis je suis bien guidé, ça n'en devient que plus simple.

Citation:

Pense à mettre un "attendre 1 frame" à la fin de ton code juste au cas où, pour alléger.



Ha oui?
Sauf qu t'en que c'est pas automatisé, tout s’exécute en même temps non?
De plus Si j’attends disons x500 ça va se remarquer lors du lancement 500 frames.

Citation:

Et les zombies en premier monstre c'est tellement cliché... :hihi



Je suis un type avec un masque à gaz qui compte ses munitions, tu t'attendais à quoi? :feu
Enfin y aura des ninjas aussi hein !

Citation:

... (wait :doute6)



Ok ! *LOADING*

Je suis Sou et c'est tout.


NanakyTim - posté le 05/01/2016 à 02:28:09 (23640 messages postés) - staff

❤ 0

Leader Bocaliste Floodeur Légendaire

J'aime pas expliquer mes blagues, t'as qu'à regarder les screens de la semaine plus souvent :feu

=>[]

Héros ou Fléau ? Devenez le Roi de Quineroy ! ~ Plongez dans l'univers sombre du Darkans ! ~ Dimens Reis... Allez y faire un tour. ~ Rangez votre chambre ! ~ Avez-vous peur du noir ? ~ Sauvez le futur, en allant dans le passé: BOCALATOR...


Aminomad - posté le 05/01/2016 à 08:59:38 (150 messages postés)

❤ 0

Citation:

Précision, la première page doit donc être en processus parallèle et non pas en automatique sinon ça plante le jeu en cas de pop sur obstacle :)


Vu qu'en parallèle tes events se lance en même temps, j'avais peur que tes variables aléatoires aient pas le temps de se renouveler
(et que tout tes monstres apparaissent au même endroit du coup). Mais si ça marche comme ça c'est cool :sourire2

Citation:

x2000


Vu que ta map est grande, tu pourrais essayer de t'organiser pour "recycler" les monstres qui sont trop loin de ton héro et les faire apparaitre a proximité (mais en dehors du champ de vision du joueur).
Ca donnera l'illusion du nombre avec relativement peu d'events. Mais ça demande réflexion.

The Lone Chameleon


Sou - posté le 05/01/2016 à 10:02:53 (394 messages postés)

❤ 0

On a jamais assez de munitions

Citation:

Vu qu'en parallèle tes events se lance en même temps, j'avais peur que tes variables aléatoires aient pas le temps de se renouveler
(et que tout tes monstres apparaissent au même endroit du coup). Mais si ça marche comme ça c'est cool :sourire2



On dirait que ça fonctionne, j'ai testé avec 10 mobs sur une petite map, pas un seul pop sur l'autre.

Citation:


Vu que ta map est grande, tu pourrais essayer de t'organiser pour "recycler" les monstres qui sont trop loin de ton héro et les faire apparaitre a proximité (mais en dehors du champ de vision du joueur).



J'aurai voulu mettre la pression au joueur via le nombre réel d'ennemis à vrai dire. Car idéalement ceux ci le suivrait à la trace indéfiniment ou presque. Du coup un recyclage, bien que malin, ne colle pas avec mon idée.



Après grâce à vous j'ai pratiquement ce que je voulais. C'est deja super, vais faire pleins de cliques en attendant de trouver une autre solution ^^



ps:

Citation:

J'aime pas expliquer mes blagues, t'as qu'à regarder les screens de la semaine plus souvent :feu

=>[]



Je l'ai regardé le screen de la semaine, bah je pige toujours pas O_o

Edit: Urg rien que 210 mobs ça crée un lag assez dégueu >< Ma horde est compromise ! Je vais être obligé de recourir à un script anti lag pour l'instant, comme tu me l'a conseillé Aminomad.

Je suis Sou et c'est tout.


NanakyTim - posté le 05/01/2016 à 14:11:19 (23640 messages postés) - staff

❤ 0

Leader Bocaliste Floodeur Légendaire

Citation:

C'est deja super, vais faire pleins de cliques en attendant de trouver une autre solution ^^


Euuuuh cette tournure de phrase me laisse penser que tu utilises pas les raccourcis clavier. :doute2

Si tu appuis sur Ctrl+C pour copier un event et Ctrl+V pour le coller à un autre endroit, tu peux littéralement faire tes 2000 events en,
disons 5 minutes. :sifflote

Héros ou Fléau ? Devenez le Roi de Quineroy ! ~ Plongez dans l'univers sombre du Darkans ! ~ Dimens Reis... Allez y faire un tour. ~ Rangez votre chambre ! ~ Avez-vous peur du noir ? ~ Sauvez le futur, en allant dans le passé: BOCALATOR...


sou - posté le 05/01/2016 à 15:45:04 (394 messages postés)

❤ 0

On a jamais assez de munitions

Ça aurait pu, mais non ! J utilise bien les raccourcis pour ce type de manip.
Je n'ai juste pas pensé à être précis pour ce genre de petit détails *-*

Et j ai trouve un topic qui explique ton attendre 1 frame. Merci pour l astuce.
( via mobile, pas de cailloux pour les fautes please !)


Edit: Pour info, 1099 événement sur une même map, c’est le maximum :)

Je suis Sou et c'est tout.

Index du forum > Entraide > [RESOLU] [Rpg Maker XP] Placement aléatoire d'un événement répété X fois

repondre up

Suite à de nombreux abus, le post en invités a été désactivé. Veuillez vous inscrire si vous souhaitez participer à la conversation.

Haut de page

Merci de ne pas reproduire le contenu de ce site sans autorisation.
Contacter l'équipe - Mentions légales

Plan du site

Communauté: Accueil | Forum | Chat | Commentaires | News | Flash-news | Screen de la semaine | Sorties | Tests | Gaming-Live | Interviews | Galerie | OST | Blogs | Recherche
Apprendre: Visite guidée | RPG Maker 95 | RPG Maker 2003 | RPG Maker XP | RPG Maker VX | RPG Maker MV | Tutoriels | Guides | Making-of
Télécharger: Programmes | Scripts | Packs de ressources | Midis | Eléments séparés | Sprites
Jeux: Au hasard | Notre sélection | Sélection des membres | Tous les jeux | Jeux complets | Le cimetière | RPG Maker 95 | RPG Maker 2000 | RPG Maker 2003 | RPG Maker XP | RPG Maker VX | RPG Maker VX Ace | RPG Maker MV | Autres | Proposer
Ressources RPG Maker 2000/2003: Chipsets | Charsets | Panoramas | Backdrops | Facesets | Battle anims | Battle charsets | Monstres | Systems | Templates
Ressources RPG Maker XP: Tilesets | Autotiles | Characters | Battlers | Window skins | Icônes | Transitions | Fogs | Templates
Ressources RPG Maker VX: Tilesets | Charsets | Facesets | Systèmes
Ressources RPG Maker MV: Tilesets | Characters | Faces | Systèmes | Title | Battlebacks | Animations | SV/Ennemis
Archives: Palmarès | L'Annuaire | Livre d'or | Le Wiki | Divers