Bienvenue sur les forums ArchangelCastle
Heroes I | Heroes II | Heroes III | Heroes IV | Heroes V | Heroes VI | Heroes Kingdoms | Ligues AC

Vers le contenu


Recherche avancée
  • Index du forum ‹ Ashan ‹ Heroes V ‹ Editeur
  • Modifier la taille de la police
  • Imprimer le sujet
  • FAQ
  • M’enregistrer
  • Connexion

Probl?me de script

Forum destiné aux discutions autour de l'editeur
Sujet verrouillé
4 messages • Page 1 sur 1

Probl?me de script

Messagepar Snerven le Lun 18 Sep 2006, 09:20

Eh bien voil?, j'ai une question concernant l'?diteur. Voici ce que je voudrai obtenir (dans la th?orie, c'est simple) :

Si un H?ros du joueur rouge (joueur 1) p?n?tre dans une r?gion (appel?e portenecro), une fen?tre avec un message appara?t.

Le probl?me, c'est que j'ai beau faire, je n'arrive pas ? faire appara?tre ce message.

Tout d'abord, o? placer le fichier .txt correspondant au message ? J'ai essay? de le caser dans le fichier .h5m de la carte, avec les autres fichiers .txt cr??s automatiquement lorsqu'on travaille dans l'?diteur, mais je ne sais pas si c'est bon...

Ensuite, ben... le code (o? vous allez voir que le probl?me, c'est aussi que je ne suis pas programmeur) :

Trigger ( REGION_ENTER_AND_STOP_TRIGGER,'portenecro','Message1' );

function Message1( playerID )
if playerID == 'PLAYER_1' then
MessageBox(portesnecros.txt');
Trigger( REGION_ENTER_AND_STOP_TRIGGER,'portenecro',nil );
end;
end;

Ce script est sympa, il plante pas, mais il fait rien non plus, donc c'est peut-?tre lui qui n'est pas bon. Vous avez la solution ?
Avatar de l’utilisateur
Snerven
Novice
Novice
 
Messages: 19
Inscription: Ven 23 Déc 2005, 20:12
Haut

Messagepar Nelgirith le Lun 18 Sep 2006, 16:38

En fait, je pense qu'il faut changer quelquechose dans ton appel de la MessageBox

Code: Tout sélectionner
MessageBox("/Maps/Multiplayer/MessageBox/portesnecros.txt");

Si ta carte est une carte multijoueur
Code: Tout sélectionner
MessageBox("/Maps/SingleMissions/MessageBox/portesnecros.txt");

Si ta carte est une carte solo
Code: Tout sélectionner
MessageBox("/Maps/Scenario/MessageBox/portesnecros.txt");

Si ta carte est une carte de campagne

Le fichier .H5M est un zip (si tu le renommes en .zip, tu peux l'ouvrir avec winzip ou winrar) qui enregistre tous les fichiers selon la m?me arborescence que les cartes de Nival dans data.zip.
Image
Avatar de l’utilisateur
Nelgirith
Responsable
Responsable
 
Messages: 3225
Inscription: Jeu 29 Sep 2005, 13:01
Localisation: En train de boire un pot avec Dédale
Haut

Messagepar sfidanza le Lun 18 Sep 2006, 19:52

Autre chose: la fonction Message1() qui se d?clenche lors de l'?v?nement REGION_ENTER_AND_STOP_TRIGGER doit prendre en argument le nom du h?ros, pas l'id du joueur:
Code: Tout sélectionner
function Message1( heroname )
    if GetObjectOwner(heroname) == 'PLAYER_1' then
        MessageBox("/Maps/dossier/de/la/carte/portesnecros.txt");
        Trigger( REGION_ENTER_AND_STOP_TRIGGER,'portenecro',nil );
    end;
end;

Je te sugg?re aussi d'utiliser une variable pour savoir si le joueur a d?clench? l'?v?nement. Par exemple, en d?but de script:
portesnecros = 0
Et dans le if:
portesnecros = 1
Avatar de l’utilisateur
sfidanza
Initié
Initié
 
Messages: 107
Inscription: Mar 6 Juin 2006, 19:15
Localisation: Reims, France
  • Site Internet
Haut

Messagepar Snerven le Dim 8 Oct 2006, 15:34

Merci ? tous les deux. J'ai enfin pu m'y remettre. Le probl?me est que la condition ne fonctionne pas. Le H?ros s'arr?te... mais rien n'appara?t.

En recherchant sur celestial heavens, j'ai trouv? une autre solution, qui peut d?panner en attendant que je comprenne ce qui ne fonctionne pas (je peux toujours r?ver).

C'est ? mettre dans Map Properties/scripts :

on commence par d?finir la variable whoishuman, afin de d?terminer qui est le joueur humain (c'est toujours le 1er ? jouer en solo) :

whoishuman=GetCurrentPlayer();

-----------

function Message1()
if GetCurrentPlayer() == whoishuman then
MessageBox("Maps/SingleMissions/Exode3/portes.txt");
Trigger( REGION_ENTER_AND_STOP_TRIGGER, "portenecro", nil );
end;

end;

Trigger( REGION_ENTER_AND_STOP_TRIGGER, "portenecro", "Message1" );

On peut rentrer ses messages sans bricoler comme je faisais, en allant dans le "Map properties Tree", puis en allant dans "Ressources", puis "SaveFileNames", sur lequel on clique droit et on appuie sur "Add". Lorsque l'on voudra rajouter d'autres fichiers texte, il suffira de faire ? nouveau un clic droit, puis d'appuyer sur "Expand". Ou bien de faire un clic droit sur le 1er fichier cr?? ([0]) et de s?lectionner "Insert".
Ca fait quand m?me plaisir quand ?a marche :icon_smile: !
Avatar de l’utilisateur
Snerven
Novice
Novice
 
Messages: 19
Inscription: Ven 23 Déc 2005, 20:12
Haut


Sujet verrouillé
4 messages • Page 1 sur 1

Retourner vers Editeur

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité

  • Index du forum
  • L’équipe du forum • Supprimer les cookies du forum • Heures au format UTC [ Heure d’été ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Traduction par: phpBB-fr.com
Designed by Morrock for ArchangelCastle.com