Probl?me de script

Forum destiné aux discutions autour de l'editeur

Modérateur: Zénithale

Probl?me de script

Messagepar Snerven » 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
Enregistré le: Ven 23 Déc 2005, 20:12

Messagepar Nelgirith » 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
Grand Maître
Grand Maître
Responsable
Responsable
 
Messages: 3767
Enregistré le: Jeu 29 Sep 2005, 13:01
Localisation: En train de boire un pot avec Dédale

Messagepar sfidanza » 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
Enregistré le: Mar 6 Juin 2006, 19:15
Localisation: Reims, France

Messagepar Snerven » 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
Enregistré le: Ven 23 Déc 2005, 20:12


Retourner vers Editeur



Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 3 invités