Aller au contenu
iLaZz

[While et SkQuery] Gui s'acutalisant

Messages recommandés

Bonjour à tous, skripteur de france.

 

Dans ce tutoriel je vais vous apprendre à utiliser l'expression WHILE, connue mais très peu utilisée.

 

Problématique: While est-il dangereux ?

 

I - Sommaire

a) Erreurs à ne pas commettre

b) Utilisation classique et exemple

c) Conclusion

 

En espérant retrouver plus souvent cette expression sur le forum.

 

A) Tutoriel utilisation WHILE

 

a) Erreurs à ne pas commettre

 

Premièrement si vous vous rendez compte que vous avez fais un boucle infini (qui ne s'arrête jamais), il faut arrêter le serveur puis le redémarrer.

Il est préférable de laisser un délai entre chaque boucle afin qu'elle ne se mélange pas (on se sait jamais) et pour éviter que le serveur ne s'arrête en cas de boucle infini.

Si votre WHILE se présente sous la forme 'While {une_variable_parmit_tant_d'autres} is set:', il faudrat TOUJOURS une commande ou autre qui viendrat supprimer l'élément de la liste ou la variable en question.

 

Avant de tester la boucle sur votre serveur relisez vous 2 voir 3 fois pour voir les erreurs potentielles dans le but d'éviter la boucle infini sans délai.

 

b) Utilisation classique et exemple

 

WHILE est une expression et doit donc suivre un évènement ou une commande, il est impossible de mettre à part cette expression.

Visualisation:

Contenu masqué

    Réagissez ou répondez à ce message afin de consulter le contenu masqué.

 

Il est possible d'éffectuer des sous-whiles se traduisant par "tant que x=1" et "tant que y=2".

Contenu masqué

    Réagissez ou répondez à ce message afin de consulter le contenu masqué.

Dans cette configuration si x est différent de 1 la seconde boucle ne s'exécutera pas.

 

Exemple:

Cliques par seconde (CPS)

Il faudrat d'abord créer une variable pour chaque joueur.

Contenu masqué

    Réagissez ou répondez à ce message afin de consulter le contenu masqué.

 

On souhaite que cette variable s'actualise toutes les secondes par conséquent l'utilisation de l'évènement appelé 'periodicals' est nécessaire.

Contenu masqué

    Réagissez ou répondez à ce message afin de consulter le contenu masqué.

 

Afin d'optimiser le code il faut que la variable indiquant les cliques d'un joueur se supprime automatiquement.

Contenu masqué

    Réagissez ou répondez à ce message afin de consulter le contenu masqué.

 

Ensuite si l'on souhaite afficher cette variable dans un gui on peut par exemple commencer par ouvrir un coffre.

Contenu masqué

    Réagissez ou répondez à ce message afin de consulter le contenu masqué.

 

Et c'est là que l'on va mettre une variable au joueur qui a ouvert le coffre et le WHILE se basera sur cette variable, on fera en sorte de supprimer cette variable à la fermeture du coffre.

Contenu masqué

    Réagissez ou répondez à ce message afin de consulter le contenu masqué.

 

Pour supprimer cette variable et donc arrêter la boucle il existe un évènement tel que 'inventory close' permettant ceci.

Contenu masqué

    Réagissez ou répondez à ce message afin de consulter le contenu masqué.

 

c) Conclusion

 

Je vais essayé d'être bref et concis, donc, l'utilisation de l'expression WHILE peut être dangereuse dans le cas où elle est mal utilisée, il est donc nécessaire d'être rigoureux lorsque vous souhaitez introduire cette expression dans un de vos skripts. Son fonctionnement est compréhensible par tous mais elle est très rarement utilisé car elle fait 'peur', pour finir qui a dis

Contenu masqué

    Réagissez ou répondez à ce message afin de consulter le contenu masqué.

 

Ps: Je trouve ca très beau :p

  • J'aime 2

Partager ce message


Lien à poster
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant

×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.