Bienvenue, Invité. Veuillez vous connecter ou vous inscrire.
Avez-vous perdu votre courriel d'activation?
Connexion avec identifiant, mot de passe et durée de la session

 
avancée

254686 Messages dans 14036 Fils de discussion- par 6619 Membres - Dernier membre: djalal

23 Mai 2012 à 03:39:28
GTAOnline.frMulti Theft AutoScripting MTA [lua Center] (Modérateur: Citizen)[Résolu]Les boucles
Pages: [1]   Bas de page
Imprimer
Auteur Fil de discussion: [Résolu]Les boucles  (Lu 208 fois)
0 Membres et 2 Invités sur ce fil de discussion.
~CG~FatalTerror
Hors ligne Hors ligne

Criminel entrainé
*

Messages: 38


« le: 21 Septembre 2011 à 15:38:30 »

Salut tout le monde!

Voila je fessait un nouveau panel admin très sympas niveau design. Après je m'attaque au code.
Jusque-là la rien de problématique.
Puis pour aller plus vite j'ai voulu créer une fonction qui va créer un bouton a une position précise dans mon menu, 1ere position, 2eme etc...
Mais avant de créer le bouton faut que j'ai les coordonnées de sa position.
J'ai fait plein de calcules mais ... Je suis une catastrophe en maths.
Donc j'ai opté pour la boucle.

Code pour créer le bouton:
Code:
function createBouton(text, position)
background_bouton = {}
text_bouton = {}
if text then
local positionBouton = calculPosition(position)
background_bouton[1] = guiCreateStaticImage(4,positionBouton,175,35,"img/input.png",false,menu_panel)
text_bouton[1] = guiCreateLabel(14,positionBouton,175,35,""..text.."",false,menu_panel)
guiLabelSetColor(text_bouton[1],190, 190, 190)
guiLabelSetHorizontalAlign(text_bouton[1],"center",false)
guiSetFont(text_bouton[1],"default-bold-small")
-- Faites pas attention a sa :D return background_bouton[1], text_bouton[1], true
end
end
Code:
function calculPosition( position )
local nombreDepart = 5
for k, i in ipairs ( position )do
nombreDepart = nombreDepart+40
end
return nombreDepart
end

La position du bouton 1 doit être 5, bouton 2 45, bouton 3 85 etc... sa ajoute 40 a chaque fois
Mais malheureusement ce code ne marche pas xD

A ce qu'il parait c'est pour les tables... Comment faire une boucle X fois Huh?

Merci de m'aider please xD
« Dernière édition: 23 Septembre 2011 à 18:33:42 par ~CG~FatalTerror » Journalisée
Citizen
Scripteur LUA confirmé
Hors ligne Hors ligne


Moderateur
Grand Banditisme
*

Messages: 109


WWWtvrmntcn1

« Répondre #1 le: 22 Septembre 2011 à 14:57:23 »

Salut Fatal,
Citation
A ce qu'il parait c'est pour les tables...
Effectivement,
Code: (lua)
for k, i in ipairs ( nomDeLaTable) do
c'est pour les tables ( si nomDeLaTable contient 7 lignes, la boucle se répétera 7 fois )

Question:
Citation
Comment faire une boucle X fois Huh?

Réponse:
Code: (lua)
for k=1, X do
C'est aussi simple que ça  happy

Donc cela nous donne:
Code: (lua)
function calculPosition( position )
local nombreDepart = 5
for k=1, position do
nombreDepart = nombreDepart+40
end
return nombreDepart
end

Note1: Je remarque que tu fais tes gui en absolu, Il faut savoir que pour ta résolution ça sera parfait, mais si un autre joueur n'a pas la même résolution, son gui ne vas pas du tout être pareil.
 Je t'invite a tester avec une autre résolution pour voir de quoi je veux parler.

Note2: Ta fonction calculPosition peut être simplifié comme ceci:
Code: (lua)
function calculPosition( position )
if not position then return end -- evite le calcul avec position = nil ( = non précisé )
local nombreDepart = 5+(position*40)
return nombreDepart
end

Voila voila et bon scripting  Tire la langue

Cordialement,
     Citizen
Journalisée


The rEvolution is coming ...

Créateur d'un serveur MTA RP
2 ans de scripting
"Ce n'est pas un bug mais une fonctionnalité"
~CG~FatalTerror
Hors ligne Hors ligne

Criminel entrainé
*

Messages: 38


« Répondre #2 le: 23 Septembre 2011 à 18:33:13 »

Oh grand merci !  a la tienne

Oui j'ai fait attention pour les résolutions  Très souriant
Journalisée
Pages: [1]   Haut de page
Imprimer
Aller à:  

Theme créé par padexx et modifié par GTAOnline.fr
Page générée en 0.131 secondes avec 22 requêtes.
Forum GTAOnline.fr 2.0 | Design par : Lalu et GtaManiac
Merci a toute la communaute pour son support !
Copyright © 2004-2012 - GTAOnline.fr | GTAPro.com | Contact