Les secrets de l'éditeur : NWNScript

Répondre
Partager Rechercher
Citation :
L'équipe des Nuits de West Harbor et moi-même sommes fières de vous présenter une toute nouvelle classe de personnage : le Scripteur.

C'est à travers quatre articles que vous aurez la possibilité de découvrir une autre facette de l'éditeur. Ces pages s'adresseront surtout aux programmeurs en herbe cherchant à (re)découvrir le langage de programmation utilisé par NWNScript.

Le forum dédié reste bien entendu à votre entière disposition pour toute question relative à NWNScript.
En espérant que vos questions trouvent enfin une réponse, je vous souhaite une excellente lecture.
C'est plutôt bien fait comme tuto, bravo

Ca serait bien de relier ça avec les cours de scripts pour les quiches de je sais plus qui du fofo Maskado. Yavait des exercices c'était pratique mais c'était pas aussi clair que ce tuto.

En tout cas c'est bien foutu comme tuto.
Très beau document pour les débutants...féllicitation

petite oublie ici :
Citation :
Son niveau est supérieur à 3 ET sa force supérieure à 14
ou alors
- Si son intelligence est supérieure à 15 (peu importe son niveau et sa force) void main()
{
object oJoueur = GetLastUsedBy();
int nNiveau = GetHitDice(oJoueur);
int = GetAbilityScore(oJoueur, ABILITY_STRENGTH);
int = GetAbilityScore(oJoueur, ABILITY_INTELLIGENCE);
Les variables nForce et nIntelligence sont restées dans le clavier ;-)

mais ce tuto est bien fait
En général je préfère éviter(en fait je les utilise jamais, j'aime pas les points de sortie mal foutu, question de lisibilité, tout ça) les break et continue dans les boucles. On peut très très bien s'en passer, quelque soit le langage.

Sinon pour ce qui est de la fonction SuisJeSuperFort, une chose que le scripteur risque de découvrir est la forme raccourcie plutôt que ça :
Code:
int SuisJeSuperFort(object oObjet)
 {
 	int nForce = GetAbilityScore(oObjet);
 	if ( nForce > 15 )
 	{
 		return TRUE;
 	}
 
 	else
 	{
 		return FALSE;
 	}
 }
Il pourrait rencontrer ça :
Code:
int SuisJeSuperFort(object oObjet)
 {
 	return(GetAbilityScore(oObjet)>15);
 }
Ca peut être un peu déconcertant pour certains.
On crée un niveau 5 ? (ha merde les 2da gèrent pas encore au dessus du niveau 4 )

Sinon encore un ajout à faire quand on parle de biblio, signaler qu'en nwscript les librairies ne sont pas dynamiques, il faut recompiler les scripts qui les utilisent si on en modifie.
Voila, les petits trucs ont été corrigés.

A propos de ça :
Citation :
Il pourrait rencontrer ça :
Code:
int SuisJeSuperFort(object oObjet)
{
    return(GetAbilityScore(oObjet)>15);
}
Ca peut être un peu déconcertant pour certains.
J'y ai pensé, vi. Mais tout bien réfléchi, j'ai préféré présenter la base du fonctionnement. D'une part, parce que la quiche comprendra plus aisément; d'autre part, c'est le genre de piège à quiche qui fait vivre le forum aussi. ^^

Tout comme j'aurais pu enlever les accolades à chaque expression "if" ou "else". Mais il vaut mieux que la quiche mette des accolades et que ça marche, plutôt qu'elle n'en mette pas et que ça marche plus.


Hop pour la peine, signature :
__________________
Bravo pour cette documentation NWNScript.
Je la trouve très claire et on va pouvoir situer exactement son niveau et se fixer par exemple des objectifs de classe épique, cool.


Par contre as-tu pensé aux classes NWNScripteur de prestige tel que :
- codeur duelliste à 2 mains
ou bien
- développeur occultiste (qui ne teste jamais, classe de prédilection obsidian)
ou encore
- maître de l'include assassin
ou enfin
- prêtre de l'arborescence idéale (j'avoue avoir un faible pour cette dernière)
Citation :
Publié par Lilo Yapudbier
- développeur occultiste (qui ne teste jamais, classe de prédilection obsidian)


Comme je dit toujours au boulot : Tester c est un manque de confiance en soit
Lilo :

D'ailleurs je confirme Ariok, je suis cuisto et j'ai perdu l'habitude depuis quelques temps de goûter la plupart de mes plats pour s'assurer de leur saveur.

sent une mastokade venir
Citation :
Tester c est un manque de confiance en soit
Tester, c'est montrer aux autres qu'ils peuvent vous faire confiance. Hop retournade.

Et il y a 2 "k" dans Mastokk, pour sûr tu vas te faire modérer, toi.
Citation :
Comme je dit toujours au boulot : Tester c est un manque de confiance en soit
Citation :
Tester, c'est montrer aux autres qu'ils peuvent vous faire confiance. Hop retournade.

Et il y a 2 "k" dans Mastokk, pour sûr tu vas te faire modérer, toi.
Citation :
Tester un code peut montrer qu'il est buggé, pas qu'il ne l'est pas.
hum vous êtes tous un peu fatigués en ce moment non ?
Citation :
Tester un code peut montrer qu'il est buggé, pas qu'il ne l'est pas.
Le code est-il alors de même nature que l'axiome (jusqu'à preuve de l'existence du bug) ?
C'est parce qu'ils ont peur de voir un bug qu'ils ne testent pas. ^^

Du coup, cela rend encore plus probable la présence d'un bug lors d'un test. Ce serait alors le test qui ferait apparaître le bug ? Le tout c'est de ne jamais utiliser ce code, car un code jamais utilisé est à coup sûr non-buggé ! Mais il en devient inutile...

J'ai mal à la tête...


Bon hum hum... Ca suffit les hors sujet, hein ? Bon !
Répondre

Connectés sur ce fil

 
1 connecté (0 membre et 1 invité) Afficher la liste détaillée des connectés