Forum d'entraide à la création de jeux d'aventure
 
PortailAccueilFAQRechercherS'enregistrerMembresConnexion

Partagez | 
 

 Curseur choisit automatiquement son mode sur les objets

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
Scorpion
C'est quoi la Tasse Bleue ?
C'est quoi la Tasse Bleue ?


Nombre de messages : 8

Date d'inscription : 31/05/2010


MessageSujet: Curseur choisit automatiquement son mode sur les objets   Mer 29 Sep 2010 - 18:42

Bonjour à tous.

J'ai un soucis depuis quelques temps, et je ne trouve pas la solution.

Je voudrais que le curseur passe au mode "Look At" et "Interact" automatiquement quand il passe sur un objet auquel il peut interagir (Comme dans Runaway ou le curseur passe en mode regarder et parler automatiquement)

j'ai parcouru le forum, je vois des indices un peu partout, mais je ne trouve pas la solution. Je ne sais pas ou je dois mettre les codes ni comment l'écrire.

Je souhaterais aussi que le verbe de l'action apparaisse dans le @Overshot@ ... j'ai donc mis un encart dans le bas de l'écran de jeu de facon a faire apparaitre le nom de l'objet sur lequel passe le curseur, mais je voudrais que s'ajoute automatiquement "Marcher vers" et "Regarder" ou "Parler" en plus en fonction du curseur activé. La aussi j'ai lu un code sur le forum





Code:
function repeatedly_execute()
  {
    String buffact;
    String buffobj;
    if (mouse.Mode == eModeWalkto) {buffact = "Marcher vers ";}
    if (mouse.Mode == eModeClose) {buffact = "Fermer ";}
    if (mouse.Mode == eModegive) {buffact = "Donner ";}
    if (mouse.Mode == eModeLookat) {buffact = "Regarder ";}
    if (mouse.Mode == eModeOpen) {buffact = "Ouvrir ";}
    if (mouse.Mode == eModePickup) {buffact = "Prendre ";}
    if (mouse.Mode == eModepull) {buffact = "Tirer ";}
    if (mouse.Mode == eModepush) {buffact = "Pousser ";}
    if (mouse.Mode == eModeTalkto) {buffact = "Parler ";}
    if (mouse.Mode == eModeInteract) {buffact = "Utiliser ";}
   
    buffobj = Game.GetLocationName(mouse.x , mouse.y );
     
    buffact = buffact.Append(buffobj);
     
    MonLabel.SetText(buffact);
  }

Mon probleme dans ce code s'est que la ligne - MonLabel.SetText(buffact); est eronée, pourtant je met bien le nom du Label de mon Overshot a la place... Et j'avoue ne pas comprendre ce que sifnigie le terme Buffact

...

Je vous remercie d'avance pour toutes aides que vous pourez m'apporter.

sourire
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Shai-la
Ouvrière en Chef de la Grande Tasse Bleue
Ouvrière en Chef de la Grande Tasse Bleue


Nombre de messages : 5376

Age : 38

Localisation : Montpellier

Date d'inscription : 17/04/2006


MessageSujet: Re: Curseur choisit automatiquement son mode sur les objets   Mer 29 Sep 2010 - 19:11

Utilise le code

if(mouse.IsButtonDown(eMouseLeft)==true){
if(GetLocationType(mouse.x, mouse.y)==eLocationHotspot){
ProcessClick(mouse.x, mouse.y, eModeLookAt);
}
if(GetLocationType(mouse.x, mouse.y)==eLocationCharacter){
ProcessClick(mouse.x, mouse.y, eModeTalkTo);
}
if(GetLocationType(mouse.x, mouse.y)==eLocationObject){
ProcessClick(mouse.x, mouse.y, eModeLookAt);
}

}

_________________
Mon profil Facebook!
Revenir en haut Aller en bas
Voir le profil de l'utilisateur En ligne
Scorpion
C'est quoi la Tasse Bleue ?
C'est quoi la Tasse Bleue ?


Nombre de messages : 8

Date d'inscription : 31/05/2010


MessageSujet: Re: Curseur choisit automatiquement son mode sur les objets   Mer 29 Sep 2010 - 20:12

Ca marche pas mal ce code, mais ca ne donne pas ce que je cherche

il faudrait que le curseur change de mode en passant sur les elements sans devoir cliquer. Par exemple si je passe sur une plante, le curseur se transforme en "look at" et si je clique ensuite, il lance la fonction regarder.

Je sais que je peux le faire avec la fonction "Mouse move over.." dans les options de Hotspots mais il faudrait que ce soit général, pour m'éviter de taper le code sur chaque Hotspot, objet et perso du jeu.



perplexe:
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Shai-la
Ouvrière en Chef de la Grande Tasse Bleue
Ouvrière en Chef de la Grande Tasse Bleue


Nombre de messages : 5376

Age : 38

Localisation : Montpellier

Date d'inscription : 17/04/2006


MessageSujet: Re: Curseur choisit automatiquement son mode sur les objets   Jeu 30 Sep 2010 - 7:33


if(GetLocationType(mouse.x, mouse.y)==eLocationHotspot){
mouse.mode=eModeLookAt;
}
if(GetLocationType(mouse.x, mouse.y)==eLocationCharacter){
mouse.mode=eModeTalkTo;
}
if(GetLocationType(mouse.x, mouse.y)==eLocationObject){
mouse.mode=eModeLookAt;
}




_________________
Mon profil Facebook!
Revenir en haut Aller en bas
Voir le profil de l'utilisateur En ligne
Asraroth
Disciple de la Grande Tasse Bleue
Disciple de la Grande Tasse Bleue


Nombre de messages : 1431

Age : 42

Date d'inscription : 20/10/2006


MessageSujet: Re: Curseur choisit automatiquement son mode sur les objets   Jeu 30 Sep 2010 - 7:54

Pour le @Overshot@ avec verbe, je completerai le script de Shai-la :

Code:
function repeatedly_execute()
{
    if(GetLocationType(mouse.x, mouse.y)==eLocationNothing){
        mouse.Mode = eModeWalkto;
        Label1.Text = "";
    }
    if(GetLocationType(mouse.x, mouse.y)==eLocationHotspot){
        mouse.Mode = eModeLookat;
        String s = "Regarder ";
        s = s.Append(Game.GetLocationName(mouse.x, mouse.y));
        Label1.Text = s;
    }
    if(GetLocationType(mouse.x, mouse.y)==eLocationCharacter){
        mouse.Mode = eModeTalkto;
        String s = "Parler a ";
        s = s.Append(Game.GetLocationName(mouse.x, mouse.y));
        Label1.Text = s;
    }
    if(GetLocationType(mouse.x, mouse.y)==eLocationObject){
        mouse.Mode=eModeLookat;
        String s = "Regarder ";
        s = s.Append(Game.GetLocationName(mouse.x, mouse.y));
        Label1.Text = s;
    }
}
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Scorpion
C'est quoi la Tasse Bleue ?
C'est quoi la Tasse Bleue ?


Nombre de messages : 8

Date d'inscription : 31/05/2010


MessageSujet: Re: Curseur choisit automatiquement son mode sur les objets   Jeu 30 Sep 2010 - 17:45

Bonsoir à tous, merci pour votre aide...

Ce script est a 90% de ce que je recherche, je vais essayer de le modifier par moi meme pour avoir ce que je veux, il y a que comme ca qu'on apprend.

Je vous tiens au courant. sourire
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Scorpion
C'est quoi la Tasse Bleue ?
C'est quoi la Tasse Bleue ?


Nombre de messages : 8

Date d'inscription : 31/05/2010


MessageSujet: Re: Curseur choisit automatiquement son mode sur les objets   Jeu 30 Sep 2010 - 19:35

Oula, ce fut difficile mais je crois avec réussi ... je vous explique.

Code:
{
//Premiere partie pour que le curseur se mette automatiquement en mode marche si je ne suis pas sur un Hotspot
//j'ai reactiver les autres modes, car ils sont desactivés plus loin)

    if(GetLocationType(mouse.x, mouse.y)==eLocationNothing){
        mouse.Mode = eModeWalkto;
        Label1.Text = "";
        mouse.EnableMode(eModeTalkto);
        mouse.EnableMode(eModeWalkto);
        mouse.EnableMode(eModeInteract);
         
    }

//Ici, les options sont les meme que ce soit sur un Hotspot que sur un objet, j'ai donc groupé les deux, j'ai mis les phrases texte comme me l'a expliqué Asraroth

    if((GetLocationType(mouse.x, mouse.y)==eLocationHotspot)||(GetLocationType(mouse.x, mouse.y)==eLocationObject)){
      mouse.DisableMode(eModeTalkto);

// je commence par desactiver le mode qui me sert pas

      if (mouse.Mode==eModeLookat){
        String s = "Regarder ";
        s = s.Append(Game.GetLocationName(mouse.x, mouse.y));
        Label1.Text = s;}
      if (mouse.Mode==eModeInteract){
        String s = "Prendre";
        s = s.Append(Game.GetLocationName(mouse.x, mouse.y));
      Label1.Text = s;}

        if (mouse.Mode==eModeWalkto){
        mouse.Mode = eModeLookat;}
        mouse.DisableMode(eModeWalkto);

//Alors ici, j'ai demande que le curseur passe en mode lookat uniquement si le curseur est
en mode Walk, ceci permet une fois sur l'objet de pouvoir acceder aux autres modes, sauf le mode marche et Talk qui me servent pas, si je laisse le mode Walk, au fait le curseur Walk s'affiche un mini seconde quand je passe d'un curseur a l'autre
meme chose pour les Characters


    }

    if(GetLocationType(mouse.x, mouse.y)==eLocationCharacter){
      mouse.DisableMode(eModeInteract);
      if(mouse.Mode==eModeTalkto){
        String s = "Parler a ";
        s = s.Append(Game.GetLocationName(mouse.x, mouse.y));
        Label1.Text = s;}
      if (mouse.Mode==eModeLookat){
        String s = "Regarder ";
        s = s.Append(Game.GetLocationName(mouse.x, mouse.y));
        Label1.Text = s;}
        if(mouse.Mode==eModeWalkto){
        mouse.Mode = eModeTalkto;
        mouse.DisableMode(eModeWalkto);}
       
    }
}


PS Merci Asraroth et Shai-la pour vos aides, j'ai appris bcp en language AGS ce soir lol... sourire
Par contre je ne comprend pas comment fonctionne le String, comment le programme sait avec ce code que le String "name" se lie a mon @Overshot@


Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Scorpion
C'est quoi la Tasse Bleue ?
C'est quoi la Tasse Bleue ?


Nombre de messages : 8

Date d'inscription : 31/05/2010


MessageSujet: Re: Curseur choisit automatiquement son mode sur les objets   Jeu 30 Sep 2010 - 20:55

Rebonsoir

j'ai crié victoire trop vite, maintenant c'est mon inventaire qui ne fonctionne plus. Avec le mode souris automatique, je ne sais plus acceder aux curseurs "Regarder" et "Utiliser" une fois l'inventaire ouvert.

Forcement les commandes

Code:
"if(GetLocationType(mouse.x, mouse.y)==eLocationNothing){
"

s'appliquent sur les Gui et inventaires aussi... j'ai cherche le moyen de faire une condition inverse si l'inventaire est ouvert, mais je ne trouve pas, toutes commandes du genre
"if(Ggui.visible=true){} ou If(Inventory, etc etc) sont refusée par le logiciel

Avez vous une idée pour contourner le probleme ? L'ideal serait d'avoir une souris dynamique comme sur les Hotspots et objets au niveau de l'inventaire.

:s

Merci d'avance
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Scorpion
C'est quoi la Tasse Bleue ?
C'est quoi la Tasse Bleue ?


Nombre de messages : 8

Date d'inscription : 31/05/2010


MessageSujet: Re: Curseur choisit automatiquement son mode sur les objets   Ven 1 Oct 2010 - 16:36

Bonsoir a tous

pour infos j'ai trouve la solution.

Il me fallait juste activer une variable au moment ou l'inventaire s'affiche pour recuperer l'usage normal des curseurs, et la desactivé au moment ou je quitte l'inventaire.


Bonne soirée
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




MessageSujet: Re: Curseur choisit automatiquement son mode sur les objets   Aujourd'hui à 8:02

Revenir en haut Aller en bas
 
Curseur choisit automatiquement son mode sur les objets
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Curseur choisit automatiquement son mode sur les objets
» Pourquoi avoir choisit les ogres ?
» Déblocage Mode Création de Niveau
» Objets de tournage de films
» Moyen Orient - Arabie (objets et éléments du mode construction)

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Adventure Games Studio fr :: CREATION DE JEUX :: Questions / Réponses-
Sauter vers: