AccueilAccueil  FAQFAQ  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  Connexion  
-23%
Le deal à ne pas rater :
EVGA SuperNOVA 650 G6 – Alimentation PC 100% modulaire 650W, 80+ ...
77.91 € 100.91 €
Voir le deal

 

 Compteur pour vos objets

Aller en bas 
4 participants
AuteurMessage
Jerelink
Bonne participation



Messages : 71
Projet Actuel : Zsog

Compteur pour vos objets Empty
MessageSujet: Compteur pour vos objets   Compteur pour vos objets EmptyMar 6 Oct 2009 - 20:16

Bonjour a tous =)
Je poste mon 1er script ici, qui n' est pas en partie de moi mais que j'ai retranscrit d'rpgmaker en gml =).

Ce script a pour but de crée un compteur pour vos munition votre argent dans le jeu etc.
Certain vont me dire "draw variable sa marche aussi gnii "
Bien...C' est pas faux, a la difference pret qu'ici vous choisissé la forme de vos chiffre la couleur etc puisque ce sont des sprites =) .

Tout dabord, créé un script que vous aller appellé compteur et entré y ce code :

Code:
if global._compteur>=999 global.compteur=999

unite_compteur    =global.compteur
unite_compteur    = unite_compteur mod 10
dizaine_compteur  =global.compteur
dizaine_compteur  -=unite_compteur
dizaine_compteur  /= 10
dizaine_compteur  = dizaine_compteur mod 10
centaine_compteur =global.compteur
centaine_compteur -=unite_compteur
centaine_compteur /= 10
centaine_compteur -=dizaine_compteur
centaine_compteur /= 10


switch(unite_rubis)
{
case 0: draw_sprite(Spr_compteur0,-1,view_xview[0]+330,view_yview[0]+215); break;
case 1: draw_sprite(Spr_compteur1,-1,view_xview[0]+330,view_yview[0]+215); break;
case 2: draw_sprite(Spr_compteur2,-1,view_xview[0]+330,view_yview[0]+215); break;
case 3: draw_sprite(Spr_compteur3,-1,view_xview[0]+330,view_yview[0]+215); break;
case 4: draw_sprite(Spr_compteur4,-1,view_xview[0]+330,view_yview[0]+215); break;
case 5: draw_sprite(Spr_compteur5,-1,view_xview[0]+330,view_yview[0]+215); break;
case 6: draw_sprite(Spr_compteur6,-1,view_xview[0]+330,view_yview[0]+215); break;
case 7: draw_sprite(Spr_compteur7,-1,view_xview[0]+330,view_yview[0]+215); break;
case 8: draw_sprite(Spr_compteur8,-1,view_xview[0]+330,view_yview[0]+215); break;
case 9: draw_sprite(Spr_compteur9,-1,view_xview[0]+330,view_yview[0]+215); break;
default:draw_sprite(Spr_compteur0,-1,view_xview[0]+330,view_yview[0]+215);
}

switch(dizaine_rubis)
{
case 0: draw_sprite(Spr_compteur0,-1,view_xview[0]+323,view_yview[0]+215); break;
case 1: draw_sprite(Spr_compteur1,-1,view_xview[0]+323,view_yview[0]+215); break;
case 2: draw_sprite(Spr_compteur2,-1,view_xview[0]+323,view_yview[0]+215); break;
case 3: draw_sprite(Spr_compteur3,-1,view_xview[0]+323,view_yview[0]+215); break;
case 4: draw_sprite(Spr_compteur4,-1,view_xview[0]+323,view_yview[0]+215); break;
case 5: draw_sprite(Spr_compteur5,-1,view_xview[0]+323,view_yview[0]+215); break;
case 6: draw_sprite(Spr_compteur6,-1,view_xview[0]+323,view_yview[0]+215); break;
case 7: draw_sprite(Spr_compteur7,-1,view_xview[0]+323,view_yview[0]+215); break;
case 8: draw_sprite(Spr_compteur8,-1,view_xview[0]+323,view_yview[0]+215); break;
case 9: draw_sprite(Spr_compteur9,-1,view_xview[0]+323,view_yview[0]+215); break;
default:draw_sprite(Spr_compteur0,-1,view_xview[0]+323,view_yview[0]+215);
}

switch(centaine_rubis)
{
case 0: draw_sprite(Spr_compteur0,-1,view_xview[0]+316,view_yview[0]+215); break;
case 1: draw_sprite(Spr_compteur1,-1,view_xview[0]+316,view_yview[0]+215); break;
case 2: draw_sprite(Spr_compteur2,-1,view_xview[0]+316,view_yview[0]+215); break;
case 3: draw_sprite(Spr_compteur3,-1,view_xview[0]+316,view_yview[0]+215); break;
case 4: draw_sprite(Spr_compteur4,-1,view_xview[0]+316,view_yview[0]+215); break;
case 5: draw_sprite(Spr_compteur5,-1,view_xview[0]+316,view_yview[0]+215); break;
case 6: draw_sprite(Spr_compteur6,-1,view_xview[0]+316,view_yview[0]+215); break;
case 7: draw_sprite(Spr_compteur7,-1,view_xview[0]+316,view_yview[0]+215); break;
case 8: draw_sprite(Spr_compteur8,-1,view_xview[0]+316,view_yview[0]+215); break;
case 9: draw_sprite(Spr_compteur9,-1,view_xview[0]+316,view_yview[0]+215); break;
default:draw_sprite(Spr_compteur0,-1,view_xview[0]+316,view_yview[0]+215);
}


Ensuite, appellé le dans un objet que vous appellé Obj_compteur et declaré ces 4 variables :

Code:
global.compteur=0
unite_compteur=0
dizaine_compteur=0
centaine_compteur=0

Puis, pour finir, appellé le script dans draw.

Il ne reste plus qu'a faire global.compteur += votre valeur afin d'augmenté celui ci super

_________________
Compteur pour vos objets Signu
Revenir en haut Aller en bas
SPLN
Utilisateur confirmé: Rang ***
SPLN


Messages : 588
Localisation : Sur son ordinateur *vous vois* arrêtez de me regarder comme ça
Projet Actuel : En quête de projet(s)!
Mes projets:
SP Lecteur Multimedia (Stand by)
S-Portable Graphics (demo1.8 is out! demo2.0 is planned)
SSB RPG (Stand by)

Compteur pour vos objets Empty
MessageSujet: Re: Compteur pour vos objets   Compteur pour vos objets EmptyJeu 8 Oct 2009 - 15:57

C'est un bon debut sauf que certains bout de codes sont a remplacer par des arguments et certaines manipe qui vont s'effectuer a l'infini comme l debut par exemple et certains bout de code je ne voit pas se qui font là!
Deplus le nom des sprites nous permettra de faire QU'UN COMPTEUR se qui est fort embettant

Bref je vais l'arranger un peu:

Create Event:
SCRIPT : compteur_init(spr0,spr1,spr2,spr3,spr4,spr5,spr6,spr7,spr8,spr9,valeur)
Code:

//Sprites pour le compteur
spr_compteur0 = argument0
spr_compteur1 = argument1
spr_compteur2 = argument2
spr_compteur3 = argument3
spr_compteur4 = argument4
spr_compteur5 = argument5
spr_compteur6 = argument6
spr_compteur7 = argument7
spr_compteur8 = argument8
spr_compteur9 = argument9

//Variables du compteur
compteur = argument10
compteur_unite = 0
compteur_dizaine = 0
compteur_centaine = 0

Step Event:
SCRIPT : compteur_limit(min,max)
Code:

/*****Limite*****/
if compteur < argument0 {global.compteur = argument0}
if compteur > argument1 {global.compteur = argument1}

/*****Calcul des Variables*****/
//Unites
compteur_unite = compteur
compteur_unite = compteur_unite mod 10

//Dizaines
compteur_dizaine = compteur
compteur_dizaine -= compteur_unite
compteur_dizaine /= 10
compteur_dizaine = compteur_dizaine mod 10

//Centaines
compteur_centaine = compteur
compteur_centaine -= compteur_unite
compteur_centaine /= 10
compteur_centaine -= compteur_dizaine
compteur_centaine /= 10

Draw Event:
SCRIPT : draw_compteur(x1,y1,x2,y2,x3,y3)
Code:

switch(compteur_unite)
{
case 0: draw_sprite(spr_compteur0,-1,view_xview[0]+argument0,view_yview[0]+argument1); break;
case 1: draw_sprite(spr_compteur1,-1,view_xview[0]+argument0,view_yview[0]+argument1); break;
case 2: draw_sprite(spr_compteur2,-1,view_xview[0]+argument0,view_yview[0]+argument1); break;
case 3: draw_sprite(spr_compteur3,-1,view_xview[0]+argument0,view_yview[0]+argument1); break;
case 4: draw_sprite(spr_compteur4,-1,view_xview[0]+argument0,view_yview[0]+argument1); break;
case 5: draw_sprite(spr_compteur5,-1,view_xview[0]+argument0,view_yview[0]+argument1); break;
case 6: draw_sprite(spr_compteur6,-1,view_xview[0]+argument0,view_yview[0]+argument1); break;
case 7: draw_sprite(spr_compteur7,-1,view_xview[0]+argument0,view_yview[0]+argument1); break;
case 8: draw_sprite(spr_compteur8,-1,view_xview[0]+argument0,view_yview[0]+argument1); break;
case 9: draw_sprite(spr_compteur9,-1,view_xview[0]+argument0,view_yview[0]+argument1); break;
default:draw_sprite(spr_compteur0,-1,view_xview[0]+argument0,view_yview[0]+argument1); break;
}

switch(compteur_dizaine)
{
case 0: draw_sprite(spr_compteur0,-1,view_xview[0]+argument2,view_yview[0]+argument3); break;
case 1: draw_sprite(spr_compteur1,-1,view_xview[0]+argument2,view_yview[0]+argument3); break;
case 2: draw_sprite(spr_compteur2,-1,view_xview[0]+argument2,view_yview[0]+argument3); break;
case 3: draw_sprite(spr_compteur3,-1,view_xview[0]+argument2,view_yview[0]+argument3); break;
case 4: draw_sprite(spr_compteur4,-1,view_xview[0]+argument2,view_yview[0]+argument3); break;
case 5: draw_sprite(spr_compteur5,-1,view_xview[0]+argument2,view_yview[0]+argument3); break;
case 6: draw_sprite(spr_compteur6,-1,view_xview[0]+argument2,view_yview[0]+argument3); break;
case 7: draw_sprite(spr_compteur7,-1,view_xview[0]+argument2,view_yview[0]+argument3); break;
case 8: draw_sprite(spr_compteur8,-1,view_xview[0]+argument2,view_yview[0]+argument3); break;
case 9: draw_sprite(spr_compteur9,-1,view_xview[0]+argument2,view_yview[0]+argument3); break;
default:draw_sprite(spr_compteur0,-1,view_xview[0]+argument2,view_yview[0]+argument3); break;
}

switch(compteur_centaine)
{
case 0: draw_sprite(spr_compteur0,-1,view_xview[0]+argument4,view_yview[0]+argument5); break;
case 1: draw_sprite(spr_compteur1,-1,view_xview[0]+argument4,view_yview[0]+argument5); break;
case 2: draw_sprite(spr_compteur2,-1,view_xview[0]+argument4,view_yview[0]+argument5); break;
case 3: draw_sprite(spr_compteur3,-1,view_xview[0]+argument4,view_yview[0]+argument5); break;
case 4: draw_sprite(spr_compteur4,-1,view_xview[0]+argument4,view_yview[0]+argument5); break;
case 5: draw_sprite(spr_compteur5,-1,view_xview[0]+argument4,view_yview[0]+argument5); break;
case 6: draw_sprite(spr_compteur6,-1,view_xview[0]+argument4,view_yview[0]+argument5); break;
case 7: draw_sprite(spr_compteur7,-1,view_xview[0]+argument4,view_yview[0]+argument5); break;
case 8: draw_sprite(spr_compteur8,-1,view_xview[0]+argument4,view_yview[0]+argument5); break;
case 9: draw_sprite(spr_compteur9,-1,view_xview[0]+argument4,view_yview[0]+argument5); break;
default:draw_sprite(spr_compteur0,-1,view_xview[0]+argument4,view_yview[0]+argument5); break;
}

Personnellement je ne l'ai pas encore tester j'editerai pour vous dire si le script marche!

_________________
SP Lecteur Multimedia
I am an Compteur pour vos objets Gmq4 in the GM Quiz!
Revenir en haut Aller en bas
http://sp-lecteur-multimedia.skyrock.com/
[TheDarkTiger]
Modérateur
[TheDarkTiger]


Messages : 7420
Localisation : Essonne

Compteur pour vos objets Empty
MessageSujet: Re: Compteur pour vos objets   Compteur pour vos objets EmptyVen 9 Oct 2009 - 5:20

heuuu

pourquoi ne pas utiliser les sous images?

En général, quand on fait des copier/coller, il existe une autre solution...

if global._compteur>=999 global.compteur=999

unite_compteur =global.compteur
unite_compteur = global.compteur mod 10
dizaine_compteur =floor((global.compteur mod 100)/10);
centaine_compteur =floor((global.compteur mod 1000)/100);


draw_sprite(Spr_compteur,unite_rubis,view_xview[0]+330,view_yview[0]+215);
draw_sprite(Spr_compteur,dizaine_rubis,view_xview[0]+323,view_yview[0]+215);
draw_sprite(Spr_compteur,centaine_rubis,view_xview[0]+316,view_yview[0]+215);

à vue de pif, je dirait qu'avec un boucle FOR, on peut faire encore moins de lignes.

mais là, dodo baille zz

_________________
Bonne chance pour vos projets actuels ! Prêt à aider ceux qui en ont besoin ^^
Compteur pour vos objets U3dfr2 l'antique http://www.membres.lycos.fr/thedarkminousite/Compteur pour vos objets Sign
Bienvenue au 2628eme utilisateur : *Yashiro89 !
Revenir en haut Aller en bas
http://www.tdms.fr
Jerelink
Bonne participation



Messages : 71
Projet Actuel : Zsog

Compteur pour vos objets Empty
MessageSujet: Re: Compteur pour vos objets   Compteur pour vos objets EmptyVen 9 Oct 2009 - 14:38

Tout simplement parce que je ne connait pas encore Game maker aussi bien que vous deux gnii .
C' est mon 1er script que je poste et j'entend bien qu'il y a bien plus simple seulement je ne sait pas comment faire donc après c' est surtout une sorte d'algo sur la quelle tout le monde peut se basé super

_________________
Compteur pour vos objets Signu
Revenir en haut Aller en bas
Playboy
Utilisateur confirmé: Rang ***
Playboy


Messages : 699
Localisation : Sur la lune
Projet Actuel : Sur le pont du Charles de Playboy

Compteur pour vos objets Empty
MessageSujet: Re: Compteur pour vos objets   Compteur pour vos objets EmptyVen 9 Oct 2009 - 14:42

demandé et c'est pesé !

Code:

global._compteur=min(999,valeur) //Une idée comme une autre ^^
for (i=0,i<3;i=i+1)
  {
  chiffre_rubis[i]=floor((global.compteur % 10^(i+1))/(10^i));
draw_sprite(Spr_compteur,chiffre_rubis[i],view_xview[0]+330-7*i,view_yview[0]+215);
  }

Je me suis callé sur le code de TDT Smile Mais je pense qu'il y a pas d'erreur pour la traduction en boucle Smile S'il y en a une bien l'idée est là au moins XD

_________________
[Démo du RPG (30 Juin 2009) = Aeris] ----------------------- [Jeux Finis/Mon topic = Laguna]
Spoiler:
Revenir en haut Aller en bas
Contenu sponsorisé





Compteur pour vos objets Empty
MessageSujet: Re: Compteur pour vos objets   Compteur pour vos objets Empty

Revenir en haut Aller en bas
 
Compteur pour vos objets
Revenir en haut 
Page 1 sur 1

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Forum Le CBNA :: Développement :: Scripts GML-
Sauter vers: