Didacticiel de création de cartes
Triches d’acteur
Avec la mise à jour 1.4, les créateurs de jeux personnalisés (« mods ») peuvent à présent utiliser des triches d’acteur pour créer et manipuler des acteurs à la volée tout en exécutant une carte de test depuis l’éditeur. Cette fonction est utile pour tester rapidement des idées sans avoir à configurer les données ou exécuter des déclencheurs
Les triches peuvent aussi être utilisées pour modifier et inspecter presque n’importe quel acteur pendant le déroulement d’une carte de test, ce qui peut être utile au débogage des problèmes de temps d’exécution des acteurs.
Les triches peuvent être utilisées pour envoyer plusieurs nouveaux messages de vidage, tels que AnimDumpDB (Vider les animations de la base de données), AttachDump (Attacher vidage), HostedPropDump (Vidage de la propriété hébergée), RefDump (Jeter une référence) et TextureDump (Vider la texture). Ces messages permettent aux moddeurs d’inspecter des aspects internes de certains acteurs pendant le déroulement du jeu, ce qui peut représenter une précieuse aide au débogage supplémentaire.
L’expression « nom de référence d’acteur » désigne spécifiquement un type de variable système appelée référence d’acteur (« réf. acteur » ou juste « réf. »). Une référence d’acteur peut être résolue en un acteur donné, en fonction de 1) la signification du nom de référence et 2) le contexte dans lequel il est utilisé. Les noms de références peuvent être utilisés avec de nombreuses triches, comme spécifié. Leur disponibilité est variable en fonction de leur contexte d’utilisation:
- D – depuis les (D)onnées Acteur
- L – depuis les déc(L)encheurs
- T – depuis les (T)riches d’acteur
Les noms de référence actuellement disponibles sont :
T | L’acteur sous le curseur de la souris. | |
| DLT | Depuis les déclencheurs, se résout par le dernier acteur créé avec succès directement via une fonction de déclenchement (mais aucun des autres moyens, par exemple par message dans les données comme résultat d’un appel de déclencheur). Depuis partout ailleurs, inclut aussi les acteurs créés explicitement via le message de création (c’est à dire Créer Acteur, Créer une région d’acteur, Créer un domaine d’acteur, etc…). Conçu pour maximiser la cohérence parmi les différentes variations du mécanisme LastCreated() (Dernier créé) dans les déclencheurs tout en cherchant à adhérer au principe de moindre surprise partout ailleurs. |
| DLT | Le dernier acteur créé avec succès par l’utilisateur, par n’importe quel moyen. Inclut les acteurs créés avec le message Créer, les créations des requêtes d’acteur, ou les acteurs créés en interne par le système (comme lorsque CActorAction crée des amorces). |
| DLT | L’acteur « principal » du ::Domaine utilisateur |
| Le CActorDoodad. | |
| La CActorUnit. | |
| Le premier acteur créé dans le domaine. | |
| DLT | L’acteur principal de la fenêtre de portrait en jeu, en ce moment, quelle que soit la sélection. |
| DLT | Le portrait de l’acteur principal dans le domaine de ce dernier. Utile pour envoyer des messages depuis n’importe quel acteur dans le domaine d’une unité vers l’acteur du portrait. Ne renvoie rien si le portrait et pour une unité autre que l’actuelle. |
| D | L’acteur destinataire d’un évènement. |
| LT | Comprend les résultats de la triche ActorFrom (Acteur de) la plus récente. |
| DLT | Une référence d’acteur de la table de référence globale. |
| DLT | Une référence d’acteur de la table de référence du domaine la contenant. |
| DLT | Une référence d’acteur de la table de référence de l’acteur la contenant. |
| LT | L’acteur représenté par la clé du ::Domaine utilisateur. Ne renvoie que le premier résultat quand il y en a plusieurs. |
Noms de référence de branche
Certaines triches (comme ActorSendTo) sont compatibles avec des « noms de référence de branche » qui permettent à l’utilisateur d’envoyer des messages aux noms de référence qui « appartiennent » à un acteur donné (la triche a besoin d’un acteur pour évaluer le nom de référence).
| DLT | Le créateur de l’::Acteur utilisateur |
| Un acteur hôte est un acteur dont un acteur hérite des données, comme le positionnement, des propriétés hôtes, etc. | |
| DLT | L’hôte principal. Utilisé pour le positionnement et les propriétés hôtes. |
| DLT | Utilisé pour placer le point d’impact d’un rayon. |
| DLT | Utilisé pour placer le point de lancement d’un rayon. |
| DLT | L’hôte qu’un tentacule utilise comme cible de son voyage de retour. |
| DLT | Utilisé pour lier la durée de vie d’un acteur à un « second rôle » (généralement pour configurer les évènements qui indiquent à un acteur de mourir quand son second rôle est mort). |
Noms de référence de domaine
Certaines triches fonctionnent avec les domaines d’acteur. Il y a des variables de nom de référence de domaine similaires à leurs équivalents pour les acteurs, sauf qu’elles renvoient des domaines d’acteurs au lieu d’acteurs.
| LT | Le domaine de l’::Acteur utilisateur. |
| LT | Le dernier domaine créé par l’utilisateur via une triche ou un code client. Non utilisé depuis les données, puisque les données ne créent pas de domaines. |
| LT | Le domaine de la fenêtre de portrait en jeu. |
| T | Le domaine de l’unité sélectionnée. Renvoie un seul domaine même si plusieurs unités sont sélectionnées. |
| LT | Contient le résultat de la triche ActorScopeFrom la plus récente. Automatiquement fixé à la valeur ::LastCreated (::Dernier créé) quand cette référence est peuplée avec un nouveau domaine d’acteurs valide. |
Clés de contenu
Les messages de création peuvent utiliser de 1 à 3 clés de contenu. Ces dernières activent les déclencheurs et triches afin de créer plus facilement une variété d’instances d’acteurs utilisant la même entrée de données, mais avec des paramètres de « contenu » différents. Par exemple :
ActorCreateAt Model HydraliskActorCreateAt Model Marine
Les deux triches créent un CActorModel appelé « Modèle ». La première le crée avec la ressource « Hydralisk » et la deuxième avec la ressource « Marine ». Les différents types d’acteurs sont compatibles avec différents styles de paramètre de création, au cas par cas. Ce qui suit est une liste d’acteurs compatible avec les paramètres de contenu et l’ordre dans lequel ils sont spécifiés.
CActorBeam ModelLink RefLaunch RefImpact
- ModelLink – le nom de l’entrée modelData utilisée pour le rayon.
- RefLaunch – le nom de référence utilisé pour peupler le ::HostLaunch (::Lancement hôte) du rayon.
- RefImpact – le nom de référence utilisé pour peupler le ::HostImpact (::Impact hôte) du rayon.
CActorList RefName
- RefName – le nom de référence source à partir duquel peupler la liste.
CActorModel
- ModelLink – le nom de l’entrée modelData devant être utilisée pour le modèle.
- Variation – le nombre de variation spécifique pour le modèle, si on le souhaite (choisi aléatoirement sinon).
CActorSound
- SoundLink – le nom du son devant être utilisé.
CActorSplat
- ModelLink – le nom de l’entrée modelData devant être utilisée pour le rayon.
L’utilisateur peut saisir des triches d’acteur dans la fenêtre de discussion pendant qu’il exécute sa carte depuis l’éditeur.
Les sorties seront consignées dans les fichiers log Alert.txt, qui se trouvent dans le répertoire « StarCraft II/GameLogs » de l’utilisateur. La date et l’heure sont ajoutées au nom du fichier : on obtient donc des noms du type « 2011-08-08 10.30.05 Alerts.txt ».
Les raccourcis fonctionnent, mais ne sont en fait pas consignés dans le fichier log.
paramètre optionnel. Lorsque certaines de ces triches sont exécutées avec succès, deux variables globales, les valeurs « ::Acteur utilisateur » et « ::Domaine utilisateur » sont définies et les autres triches peuvent agir à partir de là. Les triches qui tuent les acteurs et domaines excluent ces acteurs et domaines qui interrompraient les unités et effets actuellement actifs.
ActorCreateAtCrée un acteur à l’endroit désiré. Définit l’::Acteur utilisateur comme cet acteur et le ::Domaine utilisateur comme son domaine.
Cette triche est utile pour créer directement un acteur sur une carte de test afin d’observer ses propriétés et d’interagir avec lui sans attendre que la carte rencontre une situation dans laquelle cet acteur serait normalement créé. Les coordonnées permettent à l’utilisateur de positionner les acteurs de façon précise pour les combats et autres situations semblables.
Syntaxe :
ActorCreateAt x,y actorName {contentName} {content2Name} {content3Name}
Exemples :
ActorCreateAtCursor
Crée un acteur (et un domaine d’acteur pour le contenir) à l’emplacement du curseur de la souris. Assigne l’ ::Acteur utilisateur à cet acteur et le ::Domaine utilisateur à son domaine.
Cette triche est utile pour créer directement un acteur sur une carte de test afin d’observer ses propriétés et d’interagir avec lui sans attendre que la carte rencontre une situation dans laquelle cet acteur serait normalement créé. Elle place l’acteur à l’emplacement du curseur, de sorte que l’utilisateur n’a pas besoin d’obtenir des coordonnées spécifiques pour placer l’acteur à un endroit facilement visible.
Syntaxe :
ActorCreateAtCursor actorName {contentName} {content2Name} {content3Name}
Exemples :
ActorCreateAtCursor NexusSplat
ActorCreateAtCursor Sound HydraliskAirAttackLaunch
ActorDumpAutoCreates
Vide une liste de tous les acteurs qui sont le résultat de données telles que :
<On Terms="UnitBirth.Marine" Send="Create"/>Ce type de motif de création d’acteur est appelé auto-création, puisque l’acteur se crée automatiquement en réponse à un message. Il se comporte différemment d’un motif de création tel que celui-ci :
<On Terms="ActorCreation" Send="Create SomeActor"/>parce que dans ce cas le message de création spécifie de façon explicite un acteur à créer.
ActorDumpAutoCreates peut être utilisé pour déterminer si des acteurs sont créés de façon non intentionnelle par certains évènements.
Syntaxe :
ActorDumpAutoCreates
ActorDumpEvents
Vide une liste de tous les évènements d’acteurs vus par l’::Acteur utilisateur, à l’exception des évènements créés automatiquement.
Ce code de triche peut être utilisé pour effectuer un certain nombre de recherches de texte sur tous les évènements d’acteur dans une carte, si vous souhaitez par exemple trouver tous les acteurs qui répondent à un évènement-signal, quelle que soit leur dépendance.
Syntaxe :
ActorDumpEvents
ActorDumpLeakRisks
Vide une liste d’acteurs ayant une certaine ancienneté et ayant la possibilité de fuir. L’utilisateur peut vérifier si une flamme de canon a plus d’une minute par exemple, car les flammes de canon ne durent jamais aussi longtemps. Certains types d’acteurs ne s’affichent jamais dans la liste des risques de fuite, car ils sont automatiquement nettoyés par le système et ne peuvent donc pas fuir à cause de données corrompues.
Si une carte devient de plus en plus lente, cette commande peut déterminer si une fuite d’acteurs en est la cause.
Syntaxe :
ActorDumpLeakRisks age
ActorDumpLive
Vide une liste d’acteurs actifs de toute la carte, classés par domaine englobant.
Cette commande est utile pour déterminer si un acteur existe, même s’il n’apparaît pas là où il est censé apparaître dans le jeu. Un acteur qui apparaît par erreur à 0,0 sera toujours visible dans la liste des acteurs actifs.
Syntaxe :
ActorDumpLive
ActorFrom
Définit un nouvel ::Acteur utilisateur à partir d’un acteur actif, selon un nom de référence.
Cette commande est primordiale pour intégrer divers acteurs dans le monde du jeu à la référence ::Utilisateur, afin que l’utilisateur puisse leur renvoyer des codes de triche.
Syntaxe :
ActorFrom RefName
Exemples :
ActorFromActor
Associe l’::Acteur utilisateur à un acteur référencé via un autre acteur et un nom de référence de branche.
Cette commande est utile pour intégrer divers acteurs pères et fils dans le monde du jeu dans la référence ::Utilisateur, afin que l’utilisateur puisse leur envoyer les commandes de triche. Elle est couramment utilisée pour effectuer des opérations sur la référence ::Hôte d’un acteur.
Syntaxe :
ActorFromActor refName
Exemples :
Associe l’acteur ::Utilisateur à l’acteur qui en était l’hôte.
ActorFromActor ::CreatorAssocie l’acteur ::Utilisateur à l’acteur qui l’a créé.
ActorKillAll
Supprime tous les acteurs, à l’exception de ceux faisant partie d’arbres d’effets et d’unités actifs.
Utile pour supprimer tous les acteurs sur une carte de test, afin que les acteurs particuliers puissent ensuite être testés de façon isolée.
Syntaxe :
ActorKillAll
ActorKillClass
Supprime tous les acteurs de la classe spécifiée dans un rayon donné autour du curseur. Si le rayon n’est pas spécifié, il est considéré comme infini.
Cette commande peut être utilisée pour vider une zone (ou toute la carte) d’un type d’acteurs donné, s’ils empêchent l’utilisateur de se concentrer sur un problème à résoudre. Par exemple, il peut être utile de supprimer tous les acteurs bidules pour confirmer s’ils sont à l’origine d’un problème de performances.
Syntaxe :
ActorKillClass class {range}
Exemples :
ActorKillClass Sound
ActorKillLink
Supprime tous les acteurs ayant un lien d’acteur spécifique dans un rayon donné autour du curseur. Si le rayon n’est pas spécifié, il est considéré comme infini.
Cette commande peut être utilisée pour vider une zone (ou toute la carte) de toutes les occurrences d’une entrée d’acteur spécifique, si elles empêchent l’utilisateur de se concentrer sur un problème à résoudre. Par exemple, il peut être utile de supprimer tous les modèles d’un nom particulier dans une attaque à effet de zone (AoE), si un trop grand nombre est créé et obscurcit une autre section de l’effet graphique d’une attaque que l’utilisateur est en train de corriger. L’utilisateur peut également supprimer tous les sons ayant un nom donné afin de vérifier que les autres sons associés à un effet sont audibles.
Syntaxe :
ActorKillLink link {range}
ActorSend
Envoie un message d’utilisateur valide à l’::Acteur utilisateur actuellement actif.
La commande la plus utilisée et la meilleure façon pour les développeurs (internes ou externes) d’interagir avec les acteurs par les commandes de triche.
Syntaxe :
ActorSend message
Exemples :
ActorSend SetTintColor {255,255,0}
ActorSendTo
Envoie un message à une référence d’acteur système, en utilisant l’::Acteur utilisateur pour aider à résoudre la référence d’acteur système. En d’autre mots, cette routine envoie des messages à des noms de référence de branche (même si cela fonctionne également sur le nom de référence ::Principal).
Cette commande peut être une façon rapide d’envoyer des messages aux acteurs de branche ; l’utilisateur n’a pas besoin d’utiliser au préalable la commande ActorFromActor pour les associer à la référence ::Utilisateur.
Syntaxe :
ActorSendTo refName message
Exemples :
ActorSendTo ::Main SetTintColor {255,0,0}
ActorScopeDumpLive
Vide une liste de domaines actifs sur la carte entière.
Cette commande est utile pour chercher des domaines d’acteurs qui consomment des ressources inutilement, et ne contiennent plus aucun acteur (utile).
Syntaxe :
ActorScopeDumpLive
ActorScopeFrom
Définit un nouveau ::Domaine utilisateur à partir d’un nom de référence de domaine spécifié.
Cette commande est primordiale pour intégrer des domaines divers à la référence de ::Domaine utilisateur dans le monde du jeu, afin que l’utilisateur puisse trouver et envoyer facilement des messages à n’importe quel acteur du domaine.
Syntaxe :
ActorScopeFrom scopeName
Exemples :
ActorScopeFrom ::Selection
ActorScopeKill
Supprime l’::Acteur utilisateur et le ::Domaine utilisateur actuellement définis. Cette commande ne peut pas supprimer de domaines aux unités ou effets actifs dans le but d’empêcher des résultats inattendus.
Cette commande est efficace pour détruire un ou plusieurs acteurs avec lesquels l’utilisateur a conduit des tests, en ne supprimant que leur domaine englobant (puisque cela détruit tous les acteurs au sein du domaine).
Syntaxe :
ActorScopeKill
ActorScopeOrphan
Rend orphelin l’ensemble actuel ::Domaine utilisateur. Un domaine orphelin se tue lui-même automatiquement quand le dernier acteur qui le maintient en vie meurt (comme lorsque l’acteur du modèle de mort d’une unité achève son animation et se tue). Cette commande ne rend pas orphelins les domaines issus d’unités ou d’effets afin d’empêcher des résultats inattendus.
Cette triche peut être utilisée pour tester les effets du message ActorOrphan sur les acteurs à l’intérieur du ::Domaine utilisateur.
Syntaxe :
ActorScopeOrphan
ActorScopeSend
Diffuse un message utilisateur à tous les acteurs dans le ::Domaine utilisateur.
Utile dans les rares situations où l’utilisateur veut envoyer un message à tous les acteurs dans un domaine.
À propos, bien qu’il puisse sembler que cette triche soit un bon moyen de colorer tous les modèles dans un domaine d’acteurs en rouge (par exemple), il vaut généralement mieux expulser des acteurs enfants à partir de l’::Acteur principal et leur faire hériter de la propriété tintColor. Ensuite l’utilisateur envoie simplement les messages SetTintColor à l’::Acteur principal du domaine et compte sur l’héritage de hostedProp pour propager le changement de couleur. Cette dernière méthode est généralement meilleure quand un domaine peut avoir des acteurs qui ne devraient pas être colorés en rouge (comme les amorces d’impacts ennemis) et aussi des acteurs qui doivent être rouges. La diffusion du message tintColor message rend tous les modèles du domaine rouges sans faire de différence.
Syntaxe :
ActorScopeSend message
Exemples :
ActorUsersDump
Renvoie l’ensemble actuel ::Acteur utilisateur et ::Domaine utilisateur.
Cela est utile si l’utilisateur oublie comment ces références sont actuellement définies.
Syntaxe :
ActorUsersDump
ActorUsersFromHoverTarget
Définit l’ ::Acteur utilisateur comme l’acteur sous le curseur. Définit le ::Domaine utilisateur comme le domaine d’acteurs comprenant cet acteur.
Très utile pour pouvoir inspecter et gérer tout acteur dans le monde du jeu qui n’appartient pas à un objet pouvant être sélectionné.
Syntaxe :
ActorUsersFromHoverTarget
ActorUsersFromPortraitGame
Définit l’ ::Acteur utilisateur comme l’acteur de la fenêtre de portrait en jeu. Définit le ::Domaine utilisateur comme le domaine d’acteurs pour la fenêtre de portrait en jeu.
Utile pour pouvoir inspecter et gérer les acteurs contenus dans la fenêtre de portrait.
Syntaxe :
ActorUsersFromPortraitGame
ActorUsersFromSelection
Définit l’ ::Acteur utilisateur en ::Acteur principal pour l’unité sélectionnée. Définit le ::Domaine utilisateur comme le domaine d’acteurs comprenant cet acteur.
Très utile pour pouvoir inspecter et gérer tout acteur dans le monde du jeu qui appartient à un objet pouvant être sélectionné.
Syntaxe :
ActorUsersFromSelection
ActorWorldParticleFXDestroy
Tue tous les rubans et particules existant actuellement dans le monde du jeu. Cela n’empêche pas que d’autres soient générés immédiatement après – même par des systèmes de particules dont toutes les particules viennent d’être tuées.
Can be used to immediately clear the world of obscuring particle and ribbon FX (typically while the game is paused), in order to closely inspect models or some other part of some visual FX.
Syntaxe :
ActorWorldParticleFXDestroy
L’utilisateur peut envoyer des messages de vidage des acteurs aux acteurs pour en obtenir des informations utiles en cas de résolution de bugs.
AliasDump
Syntaxe :
AliasDump
Imprime une liste de tous les alias d’acteurs actuellement associés à l’acteur.
AnimDumpDB
Syntaxe :
AnimDumpDB
Imprime une liste de toutes les animations disponibles pour le modèle associé à l’acteur. Imprime la durée de chaque animation, ainsi que la présence d’une boucle ou non.
AttachDump
Syntaxe :
AttachDump
Imprime une liste de tous les points d’attache disponibles pour le modèle associé à l’acteur. Imprime également les clés d’attache spécifiées par l’utilisateur et les volumes d’attache cibles associés à chaque point d’attache.
HostedPropDump
Syntaxe :
HostedPropDump IncludeChildren PropType
Imprime toutes les informations associées au « hostedProp » spécifié (s’il existe pour l’acteur). Si le paramètre IncludeChildren est égal à 1, les informations concernant cette propriété sont imprimées pour l’acteur cible ainsi que tous ses enfants.
Exemples :
HostedPropDump 0 TintColorHostedPropDump 1 TeamColor
HostedPropDumpAll
Syntaxe :
HostedPropDumpAll IncludeChildren
Imprime les informations associées à toutes les propriétés hébergées qui existent pour l’acteur. Si le paramètre IncludeChildren est égal à 1, l’opération est reproduite pour tous les enfants de l’acteur cible.
RefDump
Syntaxe :
RefDump RefName
Imprime les informations aidant à la résolution de bugs pour l’acteur spécifié par refName. Actuellement, cela ne fonctionne que pour les références d’acteurs dans les tables de référence système, c’est à dire les références au format ::actor.someUserRef, ::scope.someUserRef et ::global.someUserRef.
Exemples :
RefTableDump
Syntaxe :
RefDump RefTableType
Imprime les informations aidant à la résolution de bugs pour toutes les références d’acteurs dans une table de références donnée. Le paramètre RefTableType est sensible à la casse et accepte les variables Actor, Scope et Global.
Exemples :
TextureDump
Imprime une liste de toutes les textures actuellement utilisées par le modèle associé à l’acteur cible. Indique lesquelles sont associées à un emplacement de texture et si elles ont été remplacées par d’autres textures dynamiques.
TextureDumpDB
Syntaxe :
TextureDumpDB
Imprime une liste de toutes les textures disponibles pour un échange de texture dynamique sur le modèle associé à l’acteur cible.

Signalé !
[Fermer]Commentaires (4)
Vous auriez pas un exemple concret ?
je ne peux pas faire ma map quand meme!!-_-'