La Bibliothèque de Neverwinter Nights
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.
La date/heure actuelle est 23/11/2024 18:47:42


  Page 1 sur 1 ¤

Voir le sujet précédent ¤ Voir le sujet suivant 
Auteur Message
Baldurien
L'homme qui chutait sur le macadam
Inscrit le: 12 Sep 2002
Messages: 14066
Localisation: Quadran Alpha
Répondre en citant
Posté le : 02/11/2003 19:35:15 Sujet du message : Balise [nwscript] et limites

Bonjour,

Comme vous pouvez le voir, la balise nwscript est rétablie et permet de colorer syntaxiquement vos propres scripts à l'instar du site officiel Bioware. Cependant au contraire de Bioware, plutôt que de casser la navigation le parsing des scripts se fait directement dans le message posté, et pas par une page dédiée (enfin, si elle existera à long terme)

En faisant cela, nous avons plusieurs risques :
1. Ralentissement du forum à chaque accés aux pages avec balise nwscript
2. abus, etc

C'est pour cela que vous devez bien utiliser la balise nwscript et c'est pour cela que je vais vous faire un petit tutorial : tout d'abord, vous devez savoir que la balise ne coloriera jamais plus de 10Ko de scripts sur une page, pour cela il faudra utiliser la page dédiée.

1. Ne jamais utiliser la balise pour juste afficher une déclaration de variable / fonctions.

Du genre :

Citation :

int bidule( string salut );

bidule renvoie 1 si salut egal bonjour, bonsoir, salut, au revoir (etc), et 0 sinon.
2. Toujours s'en servir avec un script bien indenté.

En particulier :
Je ne veux pas voir :
NWScript :

int foo(string a,string b) { int ia, ib;
PrintString(a+b+IntToString(ia)+IntToString(ib));
}
Note : le code affiché ci-dessus n'est pas rendu tel qu'il devrait l'être réellement, en particulier des sauts de lignes sont automatiquement insérés pour éviter de casser la mise en page. En le copiant/collant, vous résoudrez ce problème.

Pourquoi ? N'oubliez pas que s'il y a beaucoup de gens très différents dans la communauté Nwn, il y a aussi beaucoup de gens qui n'ont pas forcément votre grand écran, et que ce genre de script peut leur afficher des barre de défilement horizontale tout simplement parce qu'il n'y a pas d'espace et que le navigateur se sert des espaces pour insérer des sauts à la ligne automatique.

De plus, là on ne sait pas où est l'accolade ouvrante : il faut chercher et se faire chier. Etc. C'est un cas simple ici, mais imaginez une série de if / else imbriqué sans indentation...

Par contre je veux voir :
NWScript :

int foo( string a, string b ) {
  int ia, ib;
  PrintString( a + b + IntToString(ia) + IntToString(ib) );
}
// ou
int foo( string a, string b )
{
  int ia, ib;
  PrintString( a + b + IntToString(ia) + IntToString(ib) );
}
Note : le code affiché ci-dessus n'est pas rendu tel qu'il devrait l'être réellement, en particulier des sauts de lignes sont automatiquement insérés pour éviter de casser la mise en page. En le copiant/collant, vous résoudrez ce problème.

La différence par rapport à avant, c'est quelques sauts de ligne et des espaces en plus qui ajoute de la clarté.

Note : en php, il existe une norme nommée PEAR, qui entre autre - pour les appels de fonctions / etc - explique que
1. toujours un espace après les noms d'instructions, par exemple "if (" mais pas "if(" pour les distinguer avec les fonctions
2. jamais d'espace entre la parenthèse ouvrante et le premiètre caractère non blanc (ie. pas un espace). Idem avec la parenthèse fermante.
3. toujours mettre un espace après une ','.

Je vous prierai de suivre ces règles au moins pour éviter l'affichage de barre de défilement horisontales. Ne faites pas comment certains fous qui pensent qu'il n'y a plus de visuteur avec une résolution de 800*600 sur le net.

3. Eviter les multiples instances de nwscript :

Reprenez l'exemple plus haut, je n'ai pas fait ceci :
NWScript :

int foo( string a, string b ) {
  int ia, ib;
  PrintString( a + b + IntToString(ia) + IntToString(ib) );
}
Note : le code affiché ci-dessus n'est pas rendu tel qu'il devrait l'être réellement, en particulier des sauts de lignes sont automatiquement insérés pour éviter de casser la mise en page. En le copiant/collant, vous résoudrez ce problème.
NWScript :

int foo( string a, string b )
{
  int ia, ib;
  PrintString( a + b + IntToString(ia) + IntToString(ib) );
}
Note : le code affiché ci-dessus n'est pas rendu tel qu'il devrait l'être réellement, en particulier des sauts de lignes sont automatiquement insérés pour éviter de casser la mise en page. En le copiant/collant, vous résoudrez ce problème.

Mais ceci :
NWScript :

int foo( string a, string b ) {
  int ia, ib;
  PrintString( a + b + IntToString(ia) + IntToString(ib) );
}
// ou
int foo( string a, string b )
{
  int ia, ib;
  PrintString( a + b + IntToString(ia) + IntToString(ib) );
}
Note : le code affiché ci-dessus n'est pas rendu tel qu'il devrait l'être réellement, en particulier des sauts de lignes sont automatiquement insérés pour éviter de casser la mise en page. En le copiant/collant, vous résoudrez ce problème.

La grosse différence est que si le premier exemple EST plus logique, le second ne fait pas appel une deuxième fois à la fonction chargée de tout colorer.

Privilégiez les commentaires dans vos exemples entre nwscript. C'est bon pour les forums, et pour vous aussi car ça vous habitue à vous commenter : un script bien commenté est un script clair et facile à prendre en main par d'autres.

4. Les gros scripts à télécharger :

Si vous avez un script du genre librairie/bibliothèque, essayez de le mettre sur un serveur extérieur avec la coloration déjà faite. Ce n'est pas obligatoire, mais mieux.

5. Autres :

Il est aussi conseillé de désactiver les Smilies dans votre message car cela peut engendrer des erreurs (par exemple '8)' engendrera Cool ).


Concernant le tag nwscript et son fonctionnement interne :

- la classe colorant le Nwscript a été réalisé par Lendraste
- le basar fonctionnant sous phpbb a été réalisé par moi.

Nous pouvons vous fournir la classe php, mais cela implique :

1. une feuille de style CSS avec différentes classes CSS, voyez pour cela [http] et recherchez "div.baseBBCodeCode {" c'est là que commence le basar pour colorer.
2. un forum phpbb et/ou une connaissance en php pour ajouter le stuff
3. 100€ ? Wink
4. Un message privé bien rédigé, mais pas des mouffles hein. Ni sur un Nokia : un truc en français qui explique pour quel but vous voulez le script, pour quoi, etc...

Ah, et j'allais oublier le plus important : un serveur php qui tient la route, ce qui jarte free de la liste je crois Smile

[edit]

Je vous laisse libre droit de commentaires utiles, etc.
(en fait j'avais autre chose à dire, mais comme j'ai oublié et que j'ai faim !)
_________________
#nwnights-fr @ irc.darkmyst.org TitanQuest-FR
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
Baldurien
L'homme qui chutait sur le macadam
Inscrit le: 12 Sep 2002
Messages: 14066
Localisation: Quadran Alpha
Répondre en citant
Posté le : 02/11/2003 21:17:43 Sujet du message :

Bon hé bien je crois que plus de 10.240 caractères même en standalone c'est pas bon pour le serveur. So : la version standalone existe, mais ne parsera pas le script.
_________________
#nwnights-fr @ irc.darkmyst.org TitanQuest-FR
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
Cassin
Papa-poule(t) & poissard intemporel
Inscrit le: 16 Sep 2002
Messages: 7471
Localisation: 6 bis rue de la Couveuse, Poulailler 39b
Répondre en citant
Posté le : 06/11/2003 10:55:30 Sujet du message :

Je trouve que les couleurs sont mal choisies, enfin, surtout le gris foncé, on ne voit que dalle avec quand on a la skin sombre du forum.

Sinon, c'est bien Wink
_________________
Aventure ! Camaraderie ! Et acier sur acier ! Les ingrédients légendaires ! Hein Bouh ?

http://cassin1306.spaces.live.com
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
Baldurien
L'homme qui chutait sur le macadam
Inscrit le: 12 Sep 2002
Messages: 14066
Localisation: Quadran Alpha
Répondre en citant
Posté le : 06/11/2003 11:45:50 Sujet du message :

Lendraste m'en a fait part. Et la réponse est : si vous trouvez mieux...
_________________
#nwnights-fr @ irc.darkmyst.org TitanQuest-FR
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
Cassin
Papa-poule(t) & poissard intemporel
Inscrit le: 16 Sep 2002
Messages: 7471
Localisation: 6 bis rue de la Couveuse, Poulailler 39b
Répondre en citant
Posté le : 06/11/2003 14:24:54 Sujet du message :

Ben si y'a pas d'autres couleurs dispo (j'allais dire blanc mais c'est déjà utilisé Wink ), ne peut-on pas éclaircir un peu le fond du cadre ?
_________________
Aventure ! Camaraderie ! Et acier sur acier ! Les ingrédients légendaires ! Hein Bouh ?

http://cassin1306.spaces.live.com
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
lendraste
Grand Maître Chanteur du Conseil
Inscrit le: 20 Fév 2003
Messages: 1403
Localisation: Quelque part ailleurs
Répondre en citant
Posté le : 06/11/2003 14:47:29 Sujet du message :

J'ai envoyé une proposition à Bal. Pour les couleurs, on a de toute façon le choix de toute combinaison RGB chaque composante variant entre 0 et 255 (donc du true-color 24 bits). Mais une chose est sûre, quoi qu'on choisisse, ça plaira pas à tout le monde Mr. Green
_________________
Lendraste de Loreval
Qui cherche la Vérité cherche celui qui la détient, car elle n'existe pas à l'état naturel.
La cité des mensonges - 1
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger Numéro ICQ Ignorer l'utilisateur
 
Cassin
Papa-poule(t) & poissard intemporel
Inscrit le: 16 Sep 2002
Messages: 7471
Localisation: 6 bis rue de la Couveuse, Poulailler 39b
Répondre en citant
Posté le : 06/11/2003 14:54:15 Sujet du message :

rinafoutr', les modos ont toujours raison Very HappyVery HappyVery Happy
_________________
Aventure ! Camaraderie ! Et acier sur acier ! Les ingrédients légendaires ! Hein Bouh ?

http://cassin1306.spaces.live.com
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
Baldurien
L'homme qui chutait sur le macadam
Inscrit le: 12 Sep 2002
Messages: 14066
Localisation: Quadran Alpha
Répondre en citant
Posté le : 06/11/2003 15:58:57 Sujet du message :

Je peux éventuellement mettre un joli Rose ou un vert citron ou encore du cyan ?
_________________
#nwnights-fr @ irc.darkmyst.org TitanQuest-FR
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
Gorkk
Site Admin
Inscrit le: 12 Sep 2002
Messages: 1768
Localisation: Ici et ailleurs
Répondre en citant
Posté le : 06/11/2003 16:22:00 Sujet du message :

J'ai peut-être une solution : faire comme pour les couleurs dans les messages et les titres de topic, ie. en fonction de la skin. Et pourquoi pas réutiliser les couleurs préprogrammés actuellement ?

'fin c'est juste une idée Very Happy
_________________
Sacred - FR - La Bibliothèque de Neverwinter - Titan Quest - FR Cool
Bloqué dans SoU ? La solution n'est pas loin...
HotU vous pose des problèmes ? Une seule solution Wink
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur MSN Messenger Numéro ICQ Ignorer l'utilisateur
 
Baldurien
L'homme qui chutait sur le macadam
Inscrit le: 12 Sep 2002
Messages: 14066
Localisation: Quadran Alpha
Répondre en citant
Posté le : 06/11/2003 17:04:09 Sujet du message :

Parce que celles-ci ne sont pas toutes valables, et que c'est déjà en fonction du thème
_________________
#nwnights-fr @ irc.darkmyst.org TitanQuest-FR
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
Baldurien
L'homme qui chutait sur le macadam
Inscrit le: 12 Sep 2002
Messages: 14066
Localisation: Quadran Alpha
Répondre en citant
Posté le : 30/01/2004 17:17:02 Sujet du message :

Essai de la v2.2

NWScript :
void main(void)
{
  itemproperty obj;
  int a = 0, b = 1;

  do {
    if ( ( a + b ) == b )
      break
    else {
      a = b + 1;
      b += ( b % 2 ) ? 1:0;
      continue;
    }
  } while ( a != b );
}
Note : le code affiché ci-dessus n'est pas rendu tel qu'il devrait l'être réellement, en particulier des sauts de lignes sont automatiquement insérés pour éviter de casser la mise en page. En le copiant/collant, vous résoudrez ce problème.

_________________
#nwnights-fr @ irc.darkmyst.org TitanQuest-FR
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
Montrer les messages depuis :
Page 1 sur 1 ¤


Vous ne pouvez pas poster de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum


Sauter vers:
FAQ | Rechercher | Liste des Membres | Groupes d'utilisateurs | S'enregistrer | Profil | Se connecter pour vérifier ses messages privés | Connexion
Powered by phpBB 2.* [m] © 2001, 2002 phpBB Group
Theme rewritten in beautiful XHTML code by Baldurien.
Thème "La Bibliothèque de Neverwinter" crée par Kruger
Traduction par : phpBB-fr.com
Page generated in 44.891ms