Connexion automatique

Pas encore membre ? Inscrivez-vous ici !
Vous avez oublié votre mot de passe ? On vous aide ici

AccueilPage d'accueilFAQRechercherS'enregistrerConnexion

Sélecteur de thème :


Partagez | .
[VXAce][RME] Portal-like

Zangther
Garde du Trésor

Garde du Trésor
avatar

Nombre de messages : 877
Capacités : très bon
Distinction : aucune
Date d'inscription : 06/02/2013

MessageSujet: [VXAce][RME] Portal-like   Dim 3 Sep 2017 - 10:34

Voici un tout petit système, plutôt orienté prototype et donc sujet à pas mal de possibilité d'optimisation.
L'idée est de faire un petit game-play de portal (pour ceux qui connaissent). Voici le rendu général :



Actuellement, pour le prototype, le rendu des portails est affreux Smile et il utilise deux événements différents pour distinguer les tirs. Les deux tirs, sont deux événements différent placés sur la carte 5. On se sert d'abord de cet événement en processus parallèle sur la carte du "portal" :

Event - EV001
| > Afficher une image : 50, 'blue_portal', H.G. (0,0), (100%,100%), 0, Normale
| > Afficher une image : 51, 'red_portal', H.G. (0,0), (100%,100%), 0, Normale
| > Opération : Variable [0020] = ID de la carte
| > Opération : Variable [0001] = 0
| > Déplacer évènement : Héros (Attendre la fin)
| > Déplacer évènement : > Modifier charset : 'Actor1-portaled', 2
| > Boucle
| >| > Attendre : 1 Frames
| >| > Condition : la touche C est pressée
| >| >| > Appeler Script : invoke_event(5, V[1] + 1, 999, player_x, player_y)
| >| >| > Appeler Script : V[2+V[1]] = player_direction
| >| >| > Appeler Script : event_direction(999, V[2+V[1]])
| >| >| > Appeler Script : event_trail(999, 32, 1)
| >| >| > Boucle
| >| >| >| > Attendre : 1 Frames
| >| >| >| > Appeler Script : x , y = event_x(999), event_y(999)
| >| >| >| > Appeler Script : SS["A"] = region_id(x, y) == 1
| >| >| >| > Appeler Script : SS["B"] = x >= map_width-1 || x <= 0 || y >= map_height-1 || y <= 0
| >| >| >| > Condition : Script : SS["A"] || SS["B"]
| >| >| >| >| > Sortir de la Boucle
| >| >| >| >| >
| >| >| >| > Fin - Condition
| >| >| >| > Appeler Script : event_move_with(999, [12])
| >| >| >| >
| >| >| > Fin - Boucle
| >| >| > Condition : Script : SS["A"]
| >| >| >| > Appeler Script : show_animation(999, 51)
| >| >| >| > Appeler Script : x, y = event_x(999), event_y(999)
| >| >| >| > Appeler Script : picture_move(50+V[1], x*32, y*32, 100, 100, 1)
| >| >| >| > Appeler Script : picture_pin(50+V[1])
| >| >| >| > Appeler Script : picture_opacity(50+V[1], 255)
| >| >| >| > Appeler Script : SV[999] = event_x(999)
| >| >| >| > Appeler Script : SV[1000] = event_y(999)
| >| >| >| > Condition : Script : V[2+V[1]] == 2
| >| >| >| >| > Appeler Script : SV[1000] -= 1
| >| >| >| >| > Appeler Script : V[4+V[1]] = 8
| >| >| >| >| >
| >| >| >| > Fin - Condition
| >| >| >| > Condition : Script : V[2+V[1]] == 4
| >| >| >| >| > Appeler Script : SV[999] += 1
| >| >| >| >| > Appeler Script : V[4+V[1]] = 6
| >| >| >| >| >
| >| >| >| > Fin - Condition
| >| >| >| > Condition : Script : V[2+V[1]] == 6
| >| >| >| >| > Appeler Script : SV[999] -= 1
| >| >| >| >| > Appeler Script : V[4+V[1]] = 4
| >| >| >| >| >
| >| >| >| > Fin - Condition
| >| >| >| > Condition : Script : V[2+V[1]] == 8
| >| >| >| >| > Appeler Script : SV[1000] += 1
| >| >| >| >| > Appeler Script : V[4+V[1]] = 2
| >| >| >| >| >
| >| >| >| > Fin - Condition
| >| >| >| > Appeler Script : invoke_event(5, V[1] + 3, 1000+V[1], SV[999], SV[1000])
| >| >| >| > Appeler Script : V[1] = (V[1] + 1)%2
| >| >| >| >
| >| >| > Fin - Condition
| >| >| > Appeler Script : event_erase(999)
| >| >| > Condition : Script : V[1] == 0
| >| >| >| > Déplacer évènement : Héros (Attendre la fin)
| >| >| >| > Déplacer évènement : > Modifier charset : 'Actor1-portaled', 2
| >| >| >| >
| >| >| > Sinon
| >| >| >| > Déplacer évènement : Héros (Attendre la fin)
| >| >| >| > Déplacer évènement : > Modifier charset : 'Actor1-portaled', 1
| >| >| >| >
| >| >| > Fin - Condition
| >| >| >
| >| > Fin - Condition
| >| >
| > Fin - Boucle
| >
Ensuite, comme vous pouvez le voir, cet événement génère deux événements qui décriront la téléportation. Les voici (sur la carte 5).
Le système utilise des régions pour définir les endroits "portaillables" :



Event - EV003
| > Condition : Script : V[2] == player_direction
| >| > Appeler Script : V[100] = event_x(1001)
| >| > Appeler Script : V[101] = event_y(1001)
| >| > Appeler Script : player_direction(V[5])
| >| > Téléporter l'équipe : ID:[0020], X:[0100], Y:[0101]
| >| >
| > Fin - Condition
| >
Event - EV004
| > Condition : Script : V[3] == player_direction
| >| > Appeler Script : V[100] = event_x(1000)
| >| > Appeler Script : V[101] = event_y(1000)
| >| > Appeler Script : player_direction(V[4])
| >| > Téléporter l'équipe : ID:[0020], X:[0100], Y:[0101]
| >| >
| > Fin - Condition
| >
Une image est utilisée pour le visuel du portail, cependant c'est modifiable. Idéalement il faudrait un événement avec une apparence de portail.

A bientôt pour de nouvelles aventures !
 
Mist'
Administrateur

Administrateur
avatar
http://www.rpgmakervx-fr.com

Nombre de messages : 3280
Age : 24
Localisation : France // Auvergne // Cantal
Capacités : expert
Distinction : é_è
Date d'inscription : 22/12/2007

MessageSujet: Re: [VXAce][RME] Portal-like   Lun 4 Sep 2017 - 4:34

J'avais déjà vu à plusieurs reprises ce système de portal-like, il y a moyen de faire des trucs rigolos avec ça x)
Merci!


+ des pts de participation!

_________________
 
tibluedream
Garde du Trésor

Garde du Trésor
avatar

Nombre de messages : 800
Age : 29
Localisation : France, Rueil, près de Paris
Capacités : bon
Distinction : Poisson 2017 [Amal]
Date d'inscription : 05/09/2016

MessageSujet: Re: [VXAce][RME] Portal-like   Lun 4 Sep 2017 - 4:38

Très sympas ce système ^^
 
Contenu sponsorisé




MessageSujet: Re: [VXAce][RME] Portal-like   

 

   Page 1 sur 1
 Sujets similaires
-
» Portal
» Portal 2
» Portal (Flash Version)
» Portal 2
» Portal 2 (testé)

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