| [résolu]function oPorte_Interact( | |
|
|
Auteur | Message |
---|
dominouche Adepte de la Grande Tasse Bleue
Nombre de messages : 145
Age : 68
Localisation : Olonne sur mer, Vendée
Date d'inscription : 19/04/2016
| Sujet: [résolu]function oPorte_Interact( Jeu 9 Juin 2016 - 16:08 | |
| Bonjour, toujours entrain de découvrir le logiciel, mais j'ai un petit problème!!! Mon personnage ne s’arrête pas devant la porte, il la traverse! Voici mon script: - Code:
-
// room script file
function room_LeaveBottom() { cEgo.ChangeRoom(1, 630, 110); }
function region1_WalksOnto() { cEgo.ChangeRoom (4, 166, 191); }
function room_LeaveTop() { if (oPorte.Y == 116) { cEgo.y = cEgo.y + 1; } else { cEgo.ChangeRoom(3, cEgo.x, 220); } } function oPorte_Interact() { if (oPorte.Y == 116) { oPorte.Move(oPorte.X, 59, 3, eBlock, eAnywhere); } else { oPorte.Move(oPorte.X, 116, 3, eBlock, eAnywhere); } } Pouvez vous m'aider. Merci
Dernière édition par dominouhe le Ven 10 Juin 2016 - 14:00, édité 2 fois (Raison : Balisage du code) |
|
| |
Kitai Délégué de la tasse bleue
Nombre de messages : 2907
Date d'inscription : 01/08/2006
| Sujet: Re: [résolu]function oPorte_Interact( Jeu 9 Juin 2016 - 17:31 | |
| Salut dominouhe, j'ai pris la liberté de baliser ton code pour plus de lisibilité (tu l'entoures de [code ]...[/code ], sans les espaces à l'intérieur des []). Je ne suis pas sûr de comprendre : tu voudrais que même si le joueur clique "derrière" la porte, ton personnage s'arrête devant ? Est-ce que la popriété Solid de ta porte vaut bien True ? _________________ Ga is Ga Vous pouvez consulter l' aide d'AGS 3.2 en français et contribuer à la traduction et à l'amélioration si le cœur vous en dit ! |
|
| |
dominouche Adepte de la Grande Tasse Bleue
Nombre de messages : 145
Age : 68
Localisation : Olonne sur mer, Vendée
Date d'inscription : 19/04/2016
| Sujet: Re: [résolu]function oPorte_Interact( Ven 10 Juin 2016 - 8:00 | |
| Merci pour la réponse, mais je suis un vrai débutant (peut être un peu nul !!!!), mais ça ne marche toujours pas !! Je veux que même si le joueur clique "derrière" la porte, mon personnage s'arrête devant. - Code:
-
// room script file
function room_LeaveBottom() { cEgo.ChangeRoom(1, 630, 110); }
function region1_WalksOnto() { cEgo.ChangeRoom (4, 166, 191); }
function oPorte_Solid()
{ oPorte.Solid = true; }
function room_LeaveTop()
{ if (oPorte.Y == 116) { cEgo.y = cEgo.y + 1; } else { cEgo.ChangeRoom(3, cEgo.x, 220); } }
function oPorte_Interact() { if (oPorte.Y == 116) { oPorte.Move(oPorte.X, 59, 3, eBlock, eAnywhere); } else { oPorte.Move(oPorte.X, 116, 3, eBlock, eAnywhere); } }
|
|
| |
Billbis Disciple de la Grande Tasse Bleue
Nombre de messages : 1346
Date d'inscription : 10/05/2012
| Sujet: Re: [résolu]function oPorte_Interact( Ven 10 Juin 2016 - 8:05 | |
| Ça ne me semble pas être un problème de script. Peux tu nous faire des screenshots de la pièce en question et des walkables areas ? |
|
| |
dominouche Adepte de la Grande Tasse Bleue
Nombre de messages : 145
Age : 68
Localisation : Olonne sur mer, Vendée
Date d'inscription : 19/04/2016
| Sujet: Re: [résolu]function oPorte_Interact( Ven 10 Juin 2016 - 8:46 | |
| |
|
| |
Kitai Délégué de la tasse bleue
Nombre de messages : 2907
Date d'inscription : 01/08/2006
| Sujet: Re: [résolu]function oPorte_Interact( Ven 10 Juin 2016 - 13:09 | |
| Déjà c'est possible que la propriété Solid de ton objet vaille false par défaut. Ce que tu mets ici n'a pas beaucoup de sens : - Code:
-
function oPorte_Solid() { oPorte.Solid = true; } Il faut placer ce code plutôt dans la fonction de chargement de la pièce, que tu obtiens en cliquant sur les interactions de la pièce (l'icône ) puis sur "player enters room (before loading)". C'est dans la fonction générée qu'il faudra placer - Code:
-
oPorte.Solid = true; Une autre option est de créer une seconde zone de déplacement (walkable area), spécifique, derrière la porte, et que tu n'activeras qu'une fois la porte ouverte. De cette façon, initialement le personnage n'aura aucun moyen de se rendre derrière car la première zone de déplacement ne le permet pas, et seulement l'activation de la seconde offrira la zone nécessaire. _________________ Ga is Ga Vous pouvez consulter l' aide d'AGS 3.2 en français et contribuer à la traduction et à l'amélioration si le cœur vous en dit ! |
|
| |
dominouche Adepte de la Grande Tasse Bleue
Nombre de messages : 145
Age : 68
Localisation : Olonne sur mer, Vendée
Date d'inscription : 19/04/2016
| Sujet: Re: [résolu]function oPorte_Interact( Ven 10 Juin 2016 - 13:50 | |
| Super ça marche avec la première solution. Merci. |
|
| |
valoulef Délégué de la tasse bleue
Nombre de messages : 1791
Age : 35
Localisation : Condate
Date d'inscription : 01/08/2011
| Sujet: Re: [résolu]function oPorte_Interact( Ven 10 Juin 2016 - 15:08 | |
| La propriété Solid, purée... J'ai le même problème avec l'ascenseur dans Aspirox (mais je sais pas trop quand le bug se produit), j'avais fait 2 walkable areas différentes alors que c'est beaucoup plus simple comme ça... Je sais pas comment j'ai pu ne pas y penser. _________________ Vous êtes déjà allés à Condate ? Ils ont un petit vin qui à un goût de pierre à catapulte. C'est Toutatis en culotte de velours si j'ose m'exprimer ainsi.
|
|
| |
Contenu sponsorisé
| Sujet: Re: [résolu]function oPorte_Interact( | |
| |
|
| |
| [résolu]function oPorte_Interact( | |
|