Archives des forums MMO/MMORPG > Neverwinter Nights > NWN - Maskado > créer une fonction
créer une fonction
Par Dzib le 15/7/2002 Ã 0:59:57 (#1806127)
J'explique: je crée la fonction "BoireVerre(x,y,z)" (où?) et lorsque le PJ chosit l'option "A" ds un dialogue, la fonction "BoireVerre" est appelée avec certains paramères. Lorsque le PJ chosit l'option "B" ds un dialogue, la fonction "BoireVerre" est appelée avec d'autres paramères, etc.....
Par Kray le 15/7/2002 Ã 1:12:55 (#1806171)
Tu dois créer un fichier NWScript que tu nomeras par exemple "fonctions". Ensuite, tu appellera ce fichier de fonctions via la commande #include "fonctions" dans tes autres scripts.
Par Dzib le 15/7/2002 Ã 1:41:19 (#1806248)
heu.... et la syntaxe pour la créer, c'est comment?
void (si aucune valeur retournée) trucmachinbrol(x,y,z)
{
void main()
{
blablabla
}
}
???
Par Kray le 15/7/2002 Ã 1:53:05 (#1806277)
void MaFonction(int MonParametre)
{
//Ici les actions de ta fonction avec ton ou tes paramètres
}
Par Dzib le 16/7/2002 Ã 7:22:50 (#1811632)
Merci.
Par Gargantuel le 16/7/2002 Ã 9:54:55 (#1811985)
Créons une commande qui envoit un message au joueur le plus proche et servons en nous dans un script normal :
// Déclaration de la fonction
void SendToNearestPC(string sMessage)
{
object oPC = GetNearestCreature(CREATURE_TYPE_PLAYER_CHAR, PLAYER_CHAR_IS_PC);
if (GetIsPC(oPC))
SendMessageToPC(oPC, sMessage);
}
// Script "normal"
void main()
{
// on utilise notre nouvelle fonction
SendToNearestPC("Il semble que quelque chose vous attire");
}
Il y a plus propre comme méthode pour déclarer des fonctions mais celle ci est à mon humble avis la plus simple.
Par Dzib le 16/7/2002 Ã 15:24:42 (#1813538)
Par Dzib le 17/7/2002 Ã 12:49:45 (#1818208)
#include "func_dzibdrink"
void main()
{
ActionPlayAnimation(ANIMATION_FIREFORGET_DRINK);
DzibDrink(5,2,2,2,0);
}
a la compilation, il me dit "DUPLICATE FUNCTION IMPLEMENTATION"......????
OK OK, cé bon j'ai trouvé mais y a des probs lors de la compilation de la fonction
NO FUNCTION STARTINGCONDITIONAL() IN SCRIPT!!!
mais apparamment, cé pas grave, ça compile qd même
Par Amaranthe le 17/7/2002 Ã 13:06:02 (#1818287)
Et l'appel de ta fonction...
Afin qu'on te dise ce qui pourrait eventuellement clocher...
Amaranthe.
Par Kray le 17/7/2002 Ã 13:11:06 (#1818311)
Ensuite, je ne saurais que te conseiller d'utiliser des pseudo-constantes que tu déclareras dans ton include et que tu utiliseras dans l'appel de ta fonction à la place de ces 2,2,2,5,0 qui ne veulent strictement rien dire pour quelqu'un qui observerait ton script.
JOL Archives 1.0.1
@ JOL / JeuxOnLine