Bienvenue visiteur !
|
Désactiver la neige
Statistiques
Liste des membres
Contact
Mentions légales
277 connectés actuellement
30786916 visiteurs depuis l'ouverture
2485 visiteurs aujourd'hui
Partenaires
Tous nos partenaires
Devenir partenaire
|
hassen -
posté le 24/03/2016 à 19:21:20 (580 messages postés)
| Alien | Domaine concerné: événements
Logiciel utilisé: Xp
J'ai un probléme, quand j'entre dans une salle (pas moi, le hero de mon jeu) je déplace
un événement (caché dérriére la porte) qui est mon amie(pas le mien c'est l'amie du hero) il marche derriére lui pour enfin ils se mettent face a face devant une table pour discuter, en démarrage automatique (en fait il ma demandé de lui ramener un objet(pas moi, c'est le hero qui doit le trouver l'objet)
Bref quand je sors de cette salle et que je reviens, au lieu de trouver l'événement (amie) devant
la table comme je lai déplacé toute a l'heur, non il reviens vers sa position initiale dérriére la porte.
Comment je fais pour qu'il reste toujours devant la table, en sachant que la premiére fois que j'entre dans cette salle il soit dérriére la porte caché.
J'esper étre claire, et merci d'avance
|
School Urban Legends |
Sou -
posté le 24/03/2016 à 20:30:52 (396 messages postés)
| On a jamais assez de munitions | Tu crée un événement identique à la place où tu termine ton déplacement sur lequel tu switch une fois le déplacement fini.
C'est la seule idée qui me vient là de suite ^^
OU
Tu switch une interrupteur local sans déplacement une fois ton déplacement fini
ET
Si ton événement ne sauvegarde toujours pas sa pos y a des script qui remédient à cela je crois bien
En espérant que l'une de ces idées te viennent en aide (à toi, pas à ton perso )
|
Je suis Sou et c'est tout. |
Aurora -
posté le 24/03/2016 à 21:42:11 (437 messages postés)
| | Sou a dit:
Tu switch une interrupteur local sans déplacement une fois ton déplacement fini
|
Ca ne changera rien il me semble, l’événement reprendra sa place de création automatiquement
La solution est de switcher sur une deuxième page et tu entres la commande "téléporter événement"
Là ça fonctionnera
Si tu désactives le switch, l’événement reprendra sa place d'origine.
Pour le script, en voici un :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
|
# ------------------------------------------------------------------------------
# * Script de Zou
# ------------------------------------------------------------------------------
# Ce script permet de sauvegarder la position des évènements quand
# on quitte la map, et de retrouver les évènements à la même place
# quand on revient.
class Save_Event
Nom = "/S" # ce que doit comporter le nom de l'event à sauvegarder
Inverse = true # inverse l'effet, si l'event doit avoir (false) ou ne pas
# avoir (true) le mot dans son nom pour être sauvegardé.
# (pratique pour ne pas avoir à changer le nom de tous les
# evenements)
# Utilisez avec "inserer un script" $game_map.save_event.clear(MAP_ID) pour
# oublier la position de tous les évènements de la map d'id = MAP_ID
# Remplacer MAP_ID par 0 pour toutes les maps.
# Rajoutez $game_map.save_event.clear(MAP_ID, EVENT_ID) pour oublier uniquement
# la position de l'évènement d'id = EVENT_ID
def initialize
@array = []
end
def save(map_id)
return if map_id == 0
@array[map_id] = []
if Inverse
for i in $game_map.events.keys
if $game_map.events[i].name[Nom] == nil
@array[map_id][i] = Event.new($game_map.events[i].x,$game_map.events[i].y,
$game_map.events[i].direction)
end
end
else
for i in $game_map.events.keys
if $game_map.events[i].name[Nom] != nil
@array[map_id][i] = Event.new($game_map.events[i].x,$game_map.events[i].y,
$game_map.events[i].direction)
end
end
end
end
def load(map_id)
return unless @array[map_id]
for i in $game_map.events.keys
if @array[map_id][i]
$game_map.events[i].moveto(@array[map_id][i].x,@array[map_id][i].y)
$game_map.events[i].direction = @array[map_id][i].direction
end
end
end
def clear(map_id,event = nil)
unless event
if map_id == 0
@array = []
else
@array[map_id] = nil
end
else
@array[map_id][event] = nil
end
end
end
class Game_Map
attr_accessor :save_event
alias old_initialize initialize
def initialize
old_initialize
@save_event = Save_Event.new
end
alias old_setup setup
def setup(map_id)
@save_event.save(@map_id)
old_setup(map_id)
@save_event.load(@map_id)
end
end
class Event
attr_accessor :x, :y, :direction
def initialize(x,y,direction)
@x,@y,@direction = x,y,direction
end
end
class Game_Event < Game_Character
def name
return @event.name
end
end
class Game_Character
attr_accessor :direction
end
|
|
yue -
posté le 25/03/2016 à 00:54:13 (1715 messages postés)
| yue a.k.a sanweild a.k.a dib a.k.a concombre(tte) | Aurora a dit:
Ca ne changera rien il me semble, l’événement reprendra sa place de création automatiquement
|
Si il s agit d une place pre-definie, tu peux jouer avec l activation d interrupteur au pire. (quand l animation est terminee, tu actives l event [x]. Quand cet event[x] est activer alors l event qui est derriere caché devient vide, en contre partie l event devant la table devient alors visible)
|
!!! c est la Greve des Accents et Apostrophes !!! |
Cantarelle -
posté le 25/03/2016 à 08:54:26 (1530 messages postés)
| Makeuse tarée et Agent du FBI... | Pourquoi utiliser dans ce cas un interrupteur qui est assez limité pour ce genre de scène alors que vous pouvez utiliser une variable.
Et décomposez l'action, ça vous facilitera nettement la vie.
1 - quand le héros rentre dfans la pièce, la variable est à la valeur 1 et changement de map
1.bis - la porte ouverte doit être un event (traversable de préférence). Pour plus de facilité, je décomposerai le mouvement de la porte en 4 (fermé, mi-fermée 1, mi-fermée 2 et ouverte)
2 à 4 (inclus) - ouverture de la porte
5 - apparition de ton gus et déplacement. Bref, ce qui va faire bouger le nouveau gus
6 - tout ce que tu veux, mais en général, c'est la scène principale (dans mon cas, j'aime beaucoup mettre des étapes intermédiaires pour mieux découper l'action dans mes events de scénario).
7 - mettre une valeur 7 (ou plus) et/ou activer un interrupteur.
8 - mettre des events où ils doivent être après la fin de la scène et mettre les conditions d'apparition (exemple :
event 14 :
- condition : si variable a atteint la valeur x ou + ou interrupteur
- apparence : gus
- etc)
Attention quand même parce qu'on peut l'oublie. La lecture des pages d'event se fait de droite à gauche.
Parce que, admettons dans notre exemple que tu as deux pages dans ton évent :
page 1 : interrupteur de fin de scène activé
page 2 : aucun interrupteur activé
Ça sera toujours la page 2 qui sera jouée.
Mais, si tu fais :
page 1 : aucun interrupteur activé
page 2 : interrupteur de fin de scène activé
Si l'interrupteur de fin de scène est activé, ça sera cette page qui sera joué, car trouvée en premier et la condition est remplie.
|
Makeuse à la crosse de street-hockey. Livestream. |
hassen -
posté le 25/03/2016 à 10:06:59 (580 messages postés)
| Alien | Merci a vous tous pour votre soutiens ( pas le soutien gorge )
quoique le script de hajime-ippo euhh je veux dire Aurora ma aidé a la perfection, probléme finito
|
School Urban Legends |
Aurora -
posté le 25/03/2016 à 10:38:30 (437 messages postés)
| | Il n'est pas de moi, n'oublie pas de créditer l'auteur
|
Index du forum > Entraide > [RESOLU] [Xp] Mémoriser l'emplacement d'un événement quand on sort de la map
|
|
|