JeuxOnLineForumsPlusConnectés : 654 (sites) | 1203 (forums)Créer un compte
Forum jeux-vidéo>Neverwinter Nights
Maskado
Les forums JOL > Forum jeux-vidéo > Neverwinter Nights > NWN - Maskado > Cours de Scripts pour les Quiches. Leçon Deux. RSS
   
Répondre
Partager Outils Rechercher
Avatar de Han
Han
Alpha & Oméga
 
Avatar de Han
 
Citation:
Provient du message de Grunk
quand je rentre le premier script de cette page j ai un message d erreur sur la ligne:
SetLocalInt(OBJECT_SELF, “CHANTEUR_COUNT”, 0);

le message dit que j utilise une variable non definie...
ayant fait un peu de C et de php j ai reussi a faire marcher le script en rajoutant une ligne au script:

void main ()
{
int CHANTEUR_COUNT=0;
SetLocalInt(OBJECT_SELF,"CHANTEUR_COUNT",0);
}

Vala j espere que ca pourra servir a quelqu un qui se trouve dans le meme cas que moi.
Sinon c est tres bien de faire cette aide. pour quand la suite?
je vois pas à quoi ça sert de définir CHANTEUR_COUNT vu que tu ne t'en sers pas, il ne faut pas oublier que "CHANTEUR_COUNT", qui est une chaîne de caractères n'a rien à voir avec une variable qui porterait le nom CHANTEUR_COUNT.
Lien direct vers le message - Vieux
Avatar de Han
Han
Alpha & Oméga
 
Avatar de Han
 
Citation:
Provient du message de Amaranthe
La programmation linéaire, celle a laquelle beaucoup d'entre nous tentent encore de se raccrocher et qui est de loin la plus "lisible", mais qui est completement dépassée de nos jours...

La programmation objet, qui est la moins lisible mais la plus facilement réutilisable et qui est tres "a la mode"...
C'est pas un peu pédant et réducteur de dire ça ?
Programmation linéaire ou objet, ça dépend surtout de ce qu'on veut faire. Puis Neverwinter se rapproche beaucoup plus du code linéaire que du code objet. La seule chose c'est que les fonctions sont appelés par des évènements à l'instar de Visual Basic par exemple, mais du reste il n'y a pas d'objets au sens de la programmation objet (classes, membres, méthodes, polymorphisme etc ...).
Lien direct vers le message - Vieux
Avatar de Mitilifrit
Mitilifrit
Roi
 
Avatar de Mitilifrit
 
Sa veut dire quoi le "o" devant oPlayer :bouffon:

et "IntToString(nCount)" sa veut bien dire que au string on y ajoute la variable "nCount"?
Par exemple
________________


int nCount = "tu sais que tu es moche"

void main()
{
ActionSpeakString ("Salut," + IntToString(nCount) + "?")
Actionwait (1.5)
}

________________

sa veut dire que le PNJ ve dire "Salut, tu sais que tu es moche ?" ?

Ou je me trompe completement et je suis la pire des Quiches

(si j'ai fait de la programmation avec WinDev et tu Basic ca me servira a qqchose ce que j'ai appris?)

Mitilifrit
Lien direct vers le message - Vieux
Avatar de Reyan
Reyan [L.D.D]
Roi / Reine
 
Avatar de Reyan
 
"o", c une convention, quand la variable renvoi a un objet
et IntToString, c'est un fonction qui transforme une int en string, de int 1; tu passe a string"1";

et mettre int nCount = "tu sais que tu est moche"

ne done rien
c'est pas le bon type de variable, tu donne à un entier la valeur d'une chaine de caractère
(en plus manque le ";" )

fait plutot ca :

Code PHP:
void main()
{
int nCount 3;
string sCount "tu sais que t'es moche"
ActionSpeakString (IntToString(nCount) + "Salut," sCount "?")
Actionwait (1.5)

ca a pas grd sens dsl, chuis pas bon pour les exemple
alors la ca diras:


3Salut,tu sais que t'es moche?

donc bon ...

mais si tu fais :

Code PHP:
void main()
{
int nCount 3;
nCount++;
string sCount "tu sais que t'es moche"
ActionSpeakString (IntToString(nCount) + "Salut," sCount "?")
Actionwait (1.5)

ca diras

4Salut,tu sais que t'es moche?

donc on est d'accord, c tjrs aussi nul comme exemple, mais tu vois comment ca marche


(je sais pas, connais ni WinDev ni Basic )
Lien direct vers le message - Vieux
Avatar de Mitilifrit
Mitilifrit
Roi
 
Avatar de Mitilifrit
 
Merci mais le truc que je voulait comprendre c si on peut mettre n'importe quoi sur un truc du genre nCount mais maintenant j'ai compris (me rectifier (ce qui est sûr) si je me trompe (encore plus sûr)) quand on met un "s" a la place du "n" devant "Count" sa veut dire que a "Count" on lui associe une chaine de caractére (c ca?)

sinon je comprend rien au script j'ai connu Aurora ya 5 jours maintenant donc vous foutez pas de moi (c déja arriver je crois)

Mitilifrit
Lien direct vers le message - Vieux
Avatar de Jaha Effect
Jaha Effect
Alpha & Oméga
 
Avatar de Jaha Effect
 
Pour le script en lui même, que tu mette nCount, sCount ou poireauCount ça n'y changera rien du tout.
L'interet de la petite lettre qu'on met devant sert uniquement à se repérer rapidement dans des diverses variables du script.

Quelques petits exemples :
Dans le cas d'une location on utilise la lettre L
Code PHP:
location lLieu
Dans le cas d'un objet on utilise la lettre O
Code PHP:
object oLieu
Dans le cas d'un entier on utilise la lettre N
Code PHP:
int nLieu
Maintenant imagine un script ou ces trois variables, lLieu, oLieu et nLieu existent, ça te permet de savoir à quoi elle correspondent au premier coup d'oeil. Ca facilite de debuggage, si tu as un oLieu là où une fonction te demande un integer, tu verras rapidement d'où viens le problème.

C'est juste pour simplifier la lecture.

Jaha Effect
Lien direct vers le message - Vieux
Avatar de Reyan
Reyan [L.D.D]
Roi / Reine
 
Avatar de Reyan
 
mm, en fait, les "s" et les "o" c'est des conventions, donc tu pourrais très bien mettre n'importe quoi a la place de "nCount", avec ou sans n, ce qui compte, c'est le "int" la premire fois que tu l'utilise (tu déclare le type de variable que tu utilise) donc int, object, string, etc..
Lien direct vers le message - Vieux
Avatar de Ange Musicien
JOL Ange Musicien
Alpha & Oméga
 
Avatar de Ange Musicien
 
Pas d'accord. Imagine que tu veuilles recupérer tous tes nCounts (nMonster, nEsrinda, nThallie, nVampire... etc.).
Tu utiliseras (merci Reyan ) quelque chose comme :
Code PHP:
DebString("n",1); 
pour tous les sélectionner.
ex :

Code PHP:
//prend tous les nCounts et les suppriment.
void main()
{
if(
nDeclencheur==&& nDeclencheur2 >> 5)
 {
 
// La fonction suivante n'existe pas, c'est un exemple, certainement mauvais, car à part le binaire, je ne crois pas qu'on puisse stocker plusieurs variables en une, mais bon.
 
group gTotal GetVariablesWithDebTag("n"));
 
DelayGroup(gTotal,TRUE);
 
ActionSpeakString("je viens d'inventer un nouveau type de variable... Ouais !");
  }

Comme quoi même les protocoles peuvent être utiles...
Lien direct vers le message - Vieux
Avatar de Reyan
Reyan [L.D.D]
Roi / Reine
 
Avatar de Reyan
 
mm, il me semble bien que les "nCount" "nMonster" et autre "nMachin" ne sont que des noms valable uniquement dans le script où ils sont déclarés.
après, pour stocké un "in", on utilise "SetLocalInt", donc en fait qd tu définini une variable, comme
Code PHP:
 int nMachin 123
, tu ne peu l'utiliser avec ce nom que dans le script (en fait, la fonction, le " void main() {} " )
pour y faire appel plus tard, tu dois la stocker, en faisant par exemple
Code PHP:
SetLocalInt(OBJECT_SELF"NOM_DE_LA_VARIABLE"nMachin); 
puis ailleur, tu peux retrouver une variable stocker en faisant qq chose genre
Code PHP:
int nTruc//remarquer le nom arbitraire idiot
nTruc GetLocalInt(OBJECT_SELF"NOM_DE_LA_VARIABLE"); 
après ca, le "GetStringLeft()" peut servir a récuperer le début d'une chaine de caractere, mais ca marcheras pas sur un entier, ca répondras probablement un truc moche qui comence par ERREUR
donc, pour résumer ce bord**, un nMachin ne peut être utiliser que dans uns cript où il est définie, et c'est un int, imagine que tu met des étiquettes sur tes outils ^_^
fin bon, c p-e que des ineptie, mais pour l'instant avec ca je m'en sortais
Lien direct vers le message - Vieux
Avatar de Ange Musicien
JOL Ange Musicien
Alpha & Oméga
 
Avatar de Ange Musicien
 
Bé non, tu récupère une variable avec GetLocalInt, donc ça peut marcher (tu lies de cette manière des scripts différents...).
Lien direct vers le message - Vieux
Alcanium
Dauphin / Dauphine
 
Remerciement
Merci pour tes cours méme si je voudrais que tu précise certain point comme:
-Définir toute les fontions comme "Ondisturbed","Onblocked" etc...
-Toutes les régles de synthaxe a respecter lors du script.


Merci
Lien direct vers le message - Vieux
Jo le jolien
Alpha & Oméga
 
Tiens ? Y'a pas que moi qui fouille dans les archives ces derniers temps .

Pour la syntaxe c'est là: http://archives.jeuxonline.info/fils/128388.html

Pour les fonctions de script:
http://www.coldwire.net/nwnscript/
Lien direct vers le message - Vieux
Alcanium
Dauphin / Dauphine
 
Merci pour les info et l' utilisation de toute les fontions mais ce n' est pas ce que je cherché. Je voudrait savoir a quoi correspondent les différentes section ou l' on ecrit ces script, comme onheartbeat signifie que le script s' effectue toute les 6 sec je voulait savoir a quoi correspondent tous les section ou l' on peut taper les script.

merci
Lien direct vers le message - Vieux
Avatar de aldech
aldech
Dauphin
 
Avatar de aldech
 
Tu as ce lien pour les évènements mais c'est en anglais :

http://www.nwnlexicon.com/compiled/c...ent.index.html
Lien direct vers le message - Vieux
Avatar de Kétil Dimzad
Kétil Dimzad
Roi
 
Avatar de Kétil Dimzad
 
Ce tut de Baldurien est très bien aussi, il explique beaucoup de choses notemment concernant les opérateurs :

http://www.system-tek.com/nwinter/nw.../nws_guide.php
Lien direct vers le message - Vieux
Répondre
Les forums JOL > Forum jeux-vidéo > Neverwinter Nights > NWN - Maskado > Cours de Scripts pour les Quiches. Leçon Deux.
   

Outils Rechercher
Rechercher:

Recherche avancée

Les vidéos de Neverwinter Nights RSS
  • Aucune vidéo pour le moment...
Thème visuel : Fuseau horaire GMT +1. Il est actuellement 13h52.
   

© JeuxOnLine, le site des MMO, MMORPG et MOBA. Tous droits réservés. - Conditions générales d'utilisation - Conditions d'utilisation des forums - Traitement des données personnelles - ! Signaler un contenu illicite