Oyez, oyez !
Les résultats du vote sur les meilleurs RPG de tous les temps sont désormais dévoilés dans ce message !
Merci à toutes et à tous pour votre participation !
N'hésitez pas à aller commenter, ajouter des jeux auxquels vous n'auriez pas pensé...
Les résultats du vote sur les meilleurs RPG de tous les temps sont désormais dévoilés dans ce message !
Merci à toutes et à tous pour votre participation !
N'hésitez pas à aller commenter, ajouter des jeux auxquels vous n'auriez pas pensé...
[SCRIPT] Décalage dans le temps à l'arrivée dans une carte
-
- Adepte de Grondemarteau
- Ogre mage
- Messages : 1328
- Enregistré le : dim. 21 mars 2010, 12:03
- Localisation : Paris
- Contact :
- Statut : Hors ligne
[SCRIPT] Décalage dans le temps à l'arrivée dans une carte
.
Le Charname arrive dans une carte.
Certaines créatures sont censés ne plus être là ou au contraire apparaitre.
Le script est soit lié à la map ou la créature.
J'observe en général un décalage d'une à deux secondes. Du coup, on a le temps de voir la créature avant qu'elle disparaisse.
Le moteur du jeu a trop de choses à faire?
Certaines créatures sont censés ne plus être là ou au contraire apparaitre.
Le script est soit lié à la map ou la créature.
J'observe en général un décalage d'une à deux secondes. Du coup, on a le temps de voir la créature avant qu'elle disparaisse.
Le moteur du jeu a trop de choses à faire?
- Freddy_Gwendo
- Adepte de Grondemarteau
- Orbe ancien
- Messages : 5877
- Enregistré le : sam. 23 avr. 2011, 00:26
- Localisation : Égaré dans un vortex entre Féérune et le Royaume de Diamant Éternel
- Statut : Hors ligne
.
Ça dépend de l'emplacement de ton code de "suppression" des créatures.
Tu peux les poster pour avoir une réponse plus détaillée ?
Tu peux les poster pour avoir une réponse plus détaillée ?
CARPE DIEM...Co-modérateur de La Forge et de La Chambre des Scribes
Moddeur qui s'arrache les cheveux...
Moddeur qui s'arrache les cheveux...
... avec Menace sur le Royaume de Diamant Éternel.
-
- Adepte de Grondemarteau
- Ogre mage
- Messages : 1328
- Enregistré le : dim. 21 mars 2010, 12:03
- Localisation : Paris
- Contact :
- Statut : Hors ligne
.
Script d'une créature
DEBUT
// Gestion du compteur pour savoir si la compagnie est éliminée
IF
die()
GLOBAL("QG_GA_attaque","GLOBAL",1)
THEN
RESPONSE #100
IncrementGlobal("compteur_GA_mort","GLOBAL",1)
END
// Confrérie éliminée: il n'y a plus de mages dans la cité
IF
GLOBAL("GA_eliminee","GLOBAL",1)
!ActuallyInCombat()
THEN
RESPONSE #100
destroyself()
END
ETC...
FIN
J'ai p.e une piste, 95% de mes variables sont en mode "GLOBALE". Le moteur du jeu teste p.e beaucoup trop de variables et du coup ça le ralenti?
DEBUT
// Gestion du compteur pour savoir si la compagnie est éliminée
IF
die()
GLOBAL("QG_GA_attaque","GLOBAL",1)
THEN
RESPONSE #100
IncrementGlobal("compteur_GA_mort","GLOBAL",1)
END
// Confrérie éliminée: il n'y a plus de mages dans la cité
IF
GLOBAL("GA_eliminee","GLOBAL",1)
!ActuallyInCombat()
THEN
RESPONSE #100
destroyself()
END
ETC...
FIN
J'ai p.e une piste, 95% de mes variables sont en mode "GLOBALE". Le moteur du jeu teste p.e beaucoup trop de variables et du coup ça le ralenti?
- Freddy_Gwendo
- Adepte de Grondemarteau
- Orbe ancien
- Messages : 5877
- Enregistré le : sam. 23 avr. 2011, 00:26
- Localisation : Égaré dans un vortex entre Féérune et le Royaume de Diamant Éternel
- Statut : Hors ligne
.
Non, ça n'a rien à voir.
Imaginons que tu veuilles supprimer le perso X présent dans la carte Y.
Quand tu entres dans la carte Y, le moteur charge toutes les données de la carte, puis applique les scripts des persos. Donc il y a forcément un moment où tu verras ce perso s'il est à portée de vue. C'est ce qui arrive à Yoshimo à la Couronne de Cuivre.
Dans ton cas, utilise une variable globale "TousMorts", puis ajoute au début du script de la carte Y :
Normalement, le script est lancé au moment où la carte est chargée et tu ne devrais pas voir la créature disparaitre.
Imaginons que tu veuilles supprimer le perso X présent dans la carte Y.
Quand tu entres dans la carte Y, le moteur charge toutes les données de la carte, puis applique les scripts des persos. Donc il y a forcément un moment où tu verras ce perso s'il est à portée de vue. C'est ce qui arrive à Yoshimo à la Couronne de Cuivre.
Dans ton cas, utilise une variable globale "TousMorts", puis ajoute au début du script de la carte Y :
Code : Tout sélectionner
IF
Global("TousMorts","GLOBAL",1)
Global("TousMorts","Y",0)
THEN
RESPONSE #100
ActionOverride("X",DestroySelf())
SetGlobal ("TousMorts",Y",1)
END
CARPE DIEM...Co-modérateur de La Forge et de La Chambre des Scribes
Moddeur qui s'arrache les cheveux...
Moddeur qui s'arrache les cheveux...
... avec Menace sur le Royaume de Diamant Éternel.
-
- Adepte de Grondemarteau
- Ogre mage
- Messages : 1328
- Enregistré le : dim. 21 mars 2010, 12:03
- Localisation : Paris
- Contact :
- Statut : Hors ligne
.
Si j'utilise le code avec la variable tous morts, le destroyself() va provoquer la mort d'une seule créature parmi celles qui portent ce nom.
Si on enlève SetGlobal ("TousMorts",Y",1), le block va tourner en boucle et là je pense que toutes les créatures vont disparaitre. Mais on aura un bou de script qui tourne en continu.
Autre possibilité:
on arrive sur la carte
écran noir pendant deux secondes, le temps de permettre au jeu de traiter tous les scripts créatures.
Si on enlève SetGlobal ("TousMorts",Y",1), le block va tourner en boucle et là je pense que toutes les créatures vont disparaitre. Mais on aura un bou de script qui tourne en continu.
Autre possibilité:
on arrive sur la carte
écran noir pendant deux secondes, le temps de permettre au jeu de traiter tous les scripts créatures.
- Freddy_Gwendo
- Adepte de Grondemarteau
- Orbe ancien
- Messages : 5877
- Enregistré le : sam. 23 avr. 2011, 00:26
- Localisation : Égaré dans un vortex entre Féérune et le Royaume de Diamant Éternel
- Statut : Hors ligne
.
Tu as essayé avec deux créatures portant la même variable de mort (Death variable) ?
Avec le bloc de script au tout début du script de la carte.
Avec le bloc de script au tout début du script de la carte.
CARPE DIEM...Co-modérateur de La Forge et de La Chambre des Scribes
Moddeur qui s'arrache les cheveux...
Moddeur qui s'arrache les cheveux...
... avec Menace sur le Royaume de Diamant Éternel.
-
- Adepte de Grondemarteau
- Ogre mage
- Messages : 1328
- Enregistré le : dim. 21 mars 2010, 12:03
- Localisation : Paris
- Contact :
- Statut : Hors ligne
.
Oui.
En général, j'ai deux cas:
- il y a une créature de BG1 que je ne veux plus voir lorsque l'on joue à mon mod (cas d'un joueur qui joue à mon mod avec sans rejouer tout BG1)
- membres de la compagnie de mercenaires où la compagnie est éliminée au global. Les survivants ont quitté les différentes cartes où ils étaient.
Dans les deux cas, en général j'ai le temps de les voir.
L'écran noir en cas d'init (suppression des créatures de BG1) me parait une bonne solution.
En général, j'ai deux cas:
- il y a une créature de BG1 que je ne veux plus voir lorsque l'on joue à mon mod (cas d'un joueur qui joue à mon mod avec sans rejouer tout BG1)
- membres de la compagnie de mercenaires où la compagnie est éliminée au global. Les survivants ont quitté les différentes cartes où ils étaient.
Dans les deux cas, en général j'ai le temps de les voir.
L'écran noir en cas d'init (suppression des créatures de BG1) me parait une bonne solution.
Qui est en ligne
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 0 invité