| Mes questions | |
|
+3Asraroth Shai-la Alex the graphist 7 participants |
|
Auteur | Message |
---|
Alex the graphist Cliqueur Amateur
Nombre de messages : 352
Age : 30
Date d'inscription : 29/03/2007
| Sujet: Mes questions Sam 31 Mar 2007 - 19:40 | |
| j'aimerais savoir si c'est possible d'avoir de points de vie que chaque action ratée, fasse perdre des points de vies et que certains objets permettent d'en gagner :suspect:
Dernière édition par le Sam 12 Mai 2007 - 9:34, édité 1 fois |
|
| |
Shai-la Ouvrière en Chef de la Grande Tasse Bleue
Nombre de messages : 6018
Age : 46
Localisation : Montpellier
Date d'inscription : 17/04/2006
| Sujet: Re: Mes questions Sam 31 Mar 2007 - 20:20 | |
| Bien sûr ! Il te suffit de définir une variable GlobalInt comme correspondant aux points de vie du personnage. Tu peux modifier sa valeur selon les actions réalisées : - Code:
-
Au début du jeu : SetGlobalInt(1,10); //la variable 1 correspond aux points de vie, le joueur commence avec 10 points Quand il en perd : SetGlobalInt(1, (GetGlobalInt(1)-2)); //durant le jeu, le joueur perd 2 points de vie Quand il en gagne : SetGlobalInt(1, (GetGlobalInt(1)+2)); // durant le jeu, le joueur gagne 2 points de vie
|
|
| |
Alex the graphist Cliqueur Amateur
Nombre de messages : 352
Age : 30
Date d'inscription : 29/03/2007
| Sujet: Re: Mes questions Dim 1 Avr 2007 - 13:27 | |
| ok, merci, c'est super génial, mais comment je lefais par rapport à mon objet, en fait, le montre vers tout seul vers lui, et je veux que quand, je clique sur le monstre, celui-ci, meurt àprès deux clics, et tnt que l'on a pas fait deux clics ou 3 pour les monstres puissant, on perd 5 points par secondes |
|
| |
Shai-la Ouvrière en Chef de la Grande Tasse Bleue
Nombre de messages : 6018
Age : 46
Localisation : Montpellier
Date d'inscription : 17/04/2006
| Sujet: Re: Mes questions Dim 1 Avr 2007 - 18:58 | |
| Tu peux utiliser le timer : - Code:
-
Début du combat : SetTimer(1,40); //le compteur temps 1 est basé sur 1 seconde
if(IsTimerEnd(1)==1){ //si le compteur 1 arrive à terme SetGlobalInt(1,(getglobalInt(1)-5); //on perd 5 points de vie }
Et pour compter les clicks tu peux utiliser une autre variable : - Code:
-
SetGlobalInt(2,0); // la variable 2 comptera les coups
Quand on clique sur le monstre : SetGlobalInt(2,(getglobalInt(2)+1));
Quand le compteur arrive à 2, le timer est remis à 0 : if(getglobalint(2)>=2){ settimer(1,40); }
Par exemple ! |
|
| |
Alex the graphist Cliqueur Amateur
Nombre de messages : 352
Age : 30
Date d'inscription : 29/03/2007
| Sujet: Re: Mes questions Lun 2 Avr 2007 - 14:07 | |
| merci beaucoup, je vais essayer de faire des tests |
|
| |
Alex the graphist Cliqueur Amateur
Nombre de messages : 352
Age : 30
Date d'inscription : 29/03/2007
| Sujet: Re: Mes questions Sam 7 Avr 2007 - 18:49 | |
| y'a t'il un moyen pour que les points ne descendent que lorsque le montre est en face de moi, et je voudrai faire un sorte que le compteur disparaît pas qu'il s'arrête sinon quand j'arrête de cliquer il continue à perdre des points de vie :suspect: Et aussi comment on fait pour que quand les points de vie descendent ou montent les personnages concernés s'animent Dsl si je pose plein de questions, :?: |
|
| |
Asraroth Disciple de la Grande Tasse Bleue
Nombre de messages : 1468
Age : 49
Date d'inscription : 20/10/2006
| Sujet: Re: Mes questions Dim 8 Avr 2007 - 10:43 | |
| - Alex the graphist a écrit:
- y'a t'il un moyen pour que les points ne descendent que lorsque le montre est en face de moi
Il faut que tu testes la position du monstre par rapport a celle du joueur. - Code:
-
if (cEgo.Loop == 1) { // Si Loop 1, le joueur est tourné vers la gauche if (cMonstre.x < cEgo.x) { // le monstre est a gauche du perso // c'est ok pour faire descendre les points de vie du monstre } } il faut faire pareil vers la droite (Loop 2) en resumé : - Code:
-
if ((cEgo.Loop == 1) && (cMonstre.x < cEgo.x)) || ((cEgo.Loop == 2) && (cMonstre.x > cEgo.x)) { // on baisse les points du monstre } |
|
| |
Alex the graphist Cliqueur Amateur
Nombre de messages : 352
Age : 30
Date d'inscription : 29/03/2007
| Sujet: Re: Mes questions Dim 8 Avr 2007 - 12:16 | |
| ok, merci beaucoup asaroth, je sais je suis gonflant mais je voudrai savoir si pour les points de vies un peu comme katura il est possible d'avoir la tête du personnage à côté, et est-ce que d'une room à l'autre on peut contrôler un autre personnage?
ton truc asroth, jai pas saisi loop1 ou loop2 ok mais en face et derrière, c'est loop 4 et 3??
encore dsl je pose plein de question :P |
|
| |
Asraroth Disciple de la Grande Tasse Bleue
Nombre de messages : 1468
Age : 49
Date d'inscription : 20/10/2006
| Sujet: Re: Mes questions Dim 8 Avr 2007 - 19:01 | |
| - Alex the graphist a écrit:
- ton truc asroth, jai pas saisi loop1 ou loop2 ok mais en face et derrière, c'est loop 4 et 3??
de mémoire : loop 0, le perso est de face. et loop 3, le perso est de derriere. Enfin je sais pas ce que tu veux faire... combat dans les 4 directions comme sur un ring de boxe ou "gauche/droite" comme les combat à la Indy. |
|
| |
Shai-la Ouvrière en Chef de la Grande Tasse Bleue
Nombre de messages : 6018
Age : 46
Localisation : Montpellier
Date d'inscription : 17/04/2006
| Sujet: Re: Mes questions Dim 8 Avr 2007 - 19:39 | |
| - Alex the graphist a écrit:
- ok, merci beaucoup asaroth, je sais je suis gonflant mais je voudrai savoir si pour les points de vies un peu comme katura il est possible d'avoir la tête du personnage à côté,
Oui, il suffit de faire un GUI persistant et de mettre une image dont tu peux modifier le numéro selon les choix du personnage (race, sexe, classe...) dans le global script. Par exemple : - Code:
-
Repeatdly_Execute :
if(GetGlobalInt(10)==1){ //la variable 10 correspond au sexe, 1 pour homme, 2 pour femme, donc ici le joueur a choisi précédemment de jouer un homme if(GetGlobalInt(11)==3){ // la variable 11 correspond à la race, 3 par exemple correspond à Elfe race.Graphic=10; // race est le nom de l'image correspondant au portrait dans le GUI, 10 est le numéro de l'image représentant un Elfe Mâle dans le Gestionneur de Sprites } }
|
|
| |
Shai-la Ouvrière en Chef de la Grande Tasse Bleue
Nombre de messages : 6018
Age : 46
Localisation : Montpellier
Date d'inscription : 17/04/2006
| Sujet: Re: Mes questions Dim 8 Avr 2007 - 19:43 | |
| - Alex the graphist a écrit:
- est-ce que d'une room à l'autre on peut contrôler un autre personnage?
Oui, à partir du moment où tu changes le personnage principal, le jeu amène directement à la room où se trouve le nouveau personnage. Par exemple, si tu joues Max qui est dans la room 1 et que tu veux qu'on joue ensuite Sam qui est dans la room 2 : - Code:
-
Sam.SetAsPlayer();
et le jeu se poursuivra dans la room 2 où se trouve Sam, et c'est maintenant Sam que le joueur contrôlera. |
|
| |
Alex the graphist Cliqueur Amateur
Nombre de messages : 352
Age : 30
Date d'inscription : 29/03/2007
| Sujet: Re: Mes questions Lun 9 Avr 2007 - 5:41 | |
| ok, merci, et asaroth, je connais pas indy, donc je te citerai dungeon siege qui m'a beaucoup inspiré, mais mon jeu se rappoche un peu de comandos 2 men of courage un tr-=ès célèbre point and click :bball: |
|
| |
Alex the graphist Cliqueur Amateur
Nombre de messages : 352
Age : 30
Date d'inscription : 29/03/2007
| Sujet: Re: Mes questions Lun 9 Avr 2007 - 5:46 | |
| pour les boss, on peut mettre aussi des points de vies? |
|
| |
Shai-la Ouvrière en Chef de la Grande Tasse Bleue
Nombre de messages : 6018
Age : 46
Localisation : Montpellier
Date d'inscription : 17/04/2006
| Sujet: Re: Mes questions Lun 9 Avr 2007 - 6:34 | |
| Bien sûr, tu as un nombre quasi illimité de variables à utiliser, il te suffit de définir à quel élément (points de vie des persos, âge, caractéristiques...) correspond quelle variable |
|
| |
Alex the graphist Cliqueur Amateur
Nombre de messages : 352
Age : 30
Date d'inscription : 29/03/2007
| Sujet: Re: Mes questions Lun 9 Avr 2007 - 10:20 | |
| oui, je comprends pas trop,
ce que j'aimerai savoir c'est commenton sait sur quel monstres on a mit des points de vie??
toutes façon, j'ai fait une demande de scripteur pour m'aider dans mon projet, merci pour tout :cheers: |
|
| |
Shai-la Ouvrière en Chef de la Grande Tasse Bleue
Nombre de messages : 6018
Age : 46
Localisation : Montpellier
Date d'inscription : 17/04/2006
| Sujet: Re: Mes questions Lun 9 Avr 2007 - 11:26 | |
| Fait comme moi, prend des notes à côté ^^ Sinon c'est vrai que c'est difficile après de s'y retrouver parmi des dizaines de variables ! |
|
| |
Alex the graphist Cliqueur Amateur
Nombre de messages : 352
Age : 30
Date d'inscription : 29/03/2007
| Sujet: Re: Mes questions Lun 9 Avr 2007 - 11:44 | |
| ouais,
je fais le faire, ce sera plus simple, merci |
|
| |
Asraroth Disciple de la Grande Tasse Bleue
Nombre de messages : 1468
Age : 49
Date d'inscription : 20/10/2006
| Sujet: Re: Mes questions Lun 9 Avr 2007 - 12:35 | |
| tu peux aussi utiliser (et je te le recommande fortement) des commentaires dans tes scripts. Par exemple, dans le script global : - Code:
-
SetGlobalInt(1,500); // points de vie du monstre aux yeux rouges à poid verts de la room n°5 SetGlobalInt(2,200); // points de dexterité du joueur etc... |
|
| |
Shai-la Ouvrière en Chef de la Grande Tasse Bleue
Nombre de messages : 6018
Age : 46
Localisation : Montpellier
Date d'inscription : 17/04/2006
| Sujet: Re: Mes questions Lun 9 Avr 2007 - 13:16 | |
| Oui, les commentaires à l'intérieur du script sont très utiles pour t'y retrouver ! Il te suffit de taper // et tout ce qui est écrit après n'est pas "lu" par le script, c'est uniquement pour te repérer |
|
| |
Alex the graphist Cliqueur Amateur
Nombre de messages : 352
Age : 30
Date d'inscription : 29/03/2007
| Sujet: Re: Mes questions Lun 9 Avr 2007 - 15:26 | |
| wwaou lol, merci si le savais que ça ne boussillait pas le programme, j'aurais pas eut à fouiller partout, ben oui je fais un geme de test, n fait avec des persos pas animé un background blanc rien quoi je test vos codes |
|
| |
Alex the graphist Cliqueur Amateur
Nombre de messages : 352
Age : 30
Date d'inscription : 29/03/2007
| Sujet: Re: Mes questions Mer 11 Avr 2007 - 17:35 | |
| bon, j'ai décidé que toutes mes questions sur AGS, seront ici, j'aimerai faire un inventaire d'armes, c'est à dire un petit inventaire un peu comme sur ton ancien projet le GUI des métamorphoses, mais là c'est des armes, tu pourrais me donner le code, et je voudrais que les inventaires soit latéraux, sur le coin de l'écran. et aussi, j'ai réfléchis aux montres, est-ce que leur points de vie peuvent s'afficher quand on passe la souris dessus? en fait un petit cdre jaune apparait juste au dessus d'eux, avec marqué NAME of monster PV:x/x x désignant les points de vies
Dernière édition par le Mer 11 Avr 2007 - 17:55, édité 1 fois |
|
| |
Shai-la Ouvrière en Chef de la Grande Tasse Bleue
Nombre de messages : 6018
Age : 46
Localisation : Montpellier
Date d'inscription : 17/04/2006
| Sujet: Re: Mes questions Mer 11 Avr 2007 - 17:42 | |
| Déjà, avant de poster une question, ce serait bien que tu te relises et que tu corriges les fautes, parce que là c'est franchement difficilement lisible... :silent: Pour mon GUI des métamorphoses, ce n'est pas difficile : je crée un bouton pour chaque animal, utilisant chacun une image différente. Au début du jeu, je les rends invisibles, et ils ne deviennent visibles (et donc cliquables) que lorsque Tao a accompli certaines actions. Lorsqu'on clique dessus, j'entre le code correspondant au changement de view de Tao (une view par animal). En ce qui concerne tes armes, tout dépend de ce qui change quand on clique dessus : l'aspect du personnage, ses caractéristiques ?.. Pour les points de vie des montres... pardon, des monstres , a priori ça doit être possible, mais Asraroth saura sans doute mieux te répondre que moi car là ça doit demander du script un peu poussé. |
|
| |
Alex the graphist Cliqueur Amateur
Nombre de messages : 352
Age : 30
Date d'inscription : 29/03/2007
| Sujet: Re: Mes questions Mer 11 Avr 2007 - 17:57 | |
| dsl pour les fautes, j'ai corrigé :face:
j'èspère que Asaroth pourra me répondre, mon jeu sera un peu comme dungeon siege |
|
| |
Asraroth Disciple de la Grande Tasse Bleue
Nombre de messages : 1468
Age : 49
Date d'inscription : 20/10/2006
| Sujet: Re: Mes questions Jeu 12 Avr 2007 - 8:03 | |
| Voici une methode... c'est peut-etre pas la meilleur :scratch: Il faut definir 2 customs properties que j'ai appellé : varg = numéro de la variable globale contenant les PV du monstre pvtotal = points de vie maximum du monstre Pour chaque char, il faudra affecter un numéro de variable global unique pour ses points de vie. Par exemple et pour faire simple, - pour le monstre 1 : variable Globale 1 - pour le monstre 2 : variable Globale 2 etc... et pour le player et les chars non monstre, on met 0 dans la proprieté "varg". Après, tout se passe dans le global script. Tout en haut, definition de quelques variables de travail : - Code:
-
String Affiche1; // 1ere ligne (nom du monstre) String Affiche2; // 2eme ligne (pv du monstre) Overlay* myOverlay1; Overlay* myOverlay2; int posx1, posx2, posy; int FontAff = 1; // Font utilisé pour cet affichage Dans le game start, ne pas oublier d'initialiser les PV des monstres - Code:
-
function game_start() { // called when the game starts, before the first room is loaded SetGlobalInt(1, 100); SetGlobalInt(2, 50); SetGlobalInt(3, 70); etc... } et dans le repeatdly_exec - Code:
-
function repeatedly_execute() { Affiche1 = " "; // init des variables Affiche2 = " "; posx1 = 1; posx2 = 1; posy = 1;
if (GetLocationType(mouse.x,mouse.y) == eLocationCharacter) { Character *theChar = Character.GetAtScreenXY(mouse.x , mouse.y); if (theChar.GetProperty("varg") != 0) { int pv = GetGlobalInt(theChar.GetProperty("varg")); Affiche1 = theChar.Name; Affiche2 = String.Format("PV : %d/%d", pv,theChar.GetProperty("pvtotal")); posx1 = theChar.x - (GetTextWidth(Affiche1 , FontAff) /2); posx2 = theChar.x - (GetTextWidth(Affiche2 , FontAff) /2); posy = theChar.y - 50; // modifier le 50 pour que le text soit + ou - haut } } myOverlay1 = Overlay.CreateTextual(posx1,posy,120,FontAff,15,Affiche1); myOverlay2 = Overlay.CreateTextual(posx2,posy+10,120,FontAff,15,Affiche2); } Après les inits des variables de travail : - si la souris pointe un perso : on créé un pointeur sur ce perso (pour recuperer des infos) si la propriété "varg" de ce perso est <> de 0, (c'est un monstre) on recupere son nombre de PV dans la variable global qui lui est associé la 1ere ligne affichera le nom du monstre la 2nd ligne affichera son nombre de pv / pvtotal on calcule la position de la 1er et 2nd ligne horizontalement : (posx du perso - (largeur du texte / 2)) on calcule la position en Y (posy du perso - '50' par exemple)... je n'ai pas trouvé de propriété qui donne la hauteur d'un char. Donc il faut jouer avec le 50. Si les monstres ont chacun une hauteur differente, il faudrait ajouter çà dans les custom propriétés. puis affichage des lignes... Pour l'Overlay2, il faut aussi jouer avec le posy+ 10 en fonction de la font utilisée. Voilà, j'espere que çà te convient, mais c'est très améliorable. Bon courage :pirat: |
|
| |
Alex the graphist Cliqueur Amateur
Nombre de messages : 352
Age : 30
Date d'inscription : 29/03/2007
| Sujet: Re: Mes questions Jeu 12 Avr 2007 - 8:24 | |
| merci infiniment, asroth super je vais essayer, c'est exactment ce que je voulais :cheers:
Qu dieu te bénisse! :lol: |
|
| |
Contenu sponsorisé
| Sujet: Re: Mes questions | |
| |
|
| |
| Mes questions | |
|