Bienvenue sur JeuxOnLine - MMO, MMORPG et MOBA !
Les sites de JeuxOnLine...
 

Panneau de contrôle

Recherche | Retour aux forums

JOL Archives

HELP : script de mariage !

Par SidSilver le 26/11/2002 à 22:35:13 (#2651839)

Bonjour, j'ai l'intention de me lancer dans la réalisation d'un script qui permettrai à un prêtre (PNJ) de marier 2 PJ si :
- ils sont un homme et une femme
- ils consentent tous deux au mariage

Puis une alliance leur est remise a chacun.
Enfin, si c'est possible, le nom du PJ femme sera remplacé par le nom du PJ homme.

Bien entendu, le prête donne les bénédictions et autres blabla habituels.

Donc, si quelqu'un peut m'aider à la réalisation de ce script, son aide sera la bienvenue !
Merci par avances aux ténors du script :merci:

Par Tynril le 26/11/2002 à 23:03:23 (#2652028)

- Changer le nom c'est impossible :(
- Les PACs sont interdits ? :doute:

Bonne chance :merci:

Par SidSilver le 26/11/2002 à 23:05:44 (#2652039)

Pour ce qui est des PACs je ne suis pas contre mais je pense que ça n'ira pas avec ma vision du script que je vais écrire.
Bref, dès que je l'ai fini je vous en fait part, mais en attendant, toute aide sera la bienvenue.

Par coolstar le 27/11/2002 à 10:45:02 (#2654373)

Hi!


Changer de nom ? Dans le cadre de ton module du moins ça me semble possible... du moins de façon illusoire (comme le mariage quoi!)... :D

Suffit par exemple de conditionner les phrases qui se diront dorénavant à l'égard du PJ Femme... tu n'as plus alors qu'à lui attacher le Token du PJ Homme à toutes les sauces (y'a que Fullname, le 2e Nom étant indissociable du premier a priori)... et tu fais ainsi des Madame Lancelot du Lac ou Lady Sonja Conan, ou encore des Aaricia épouse Thorgal à chaque Dial voulu... (bon ok ça demande du boulot!) ;)

...

Par eMRaistlin le 27/11/2002 à 11:20:39 (#2654595)

(bon ok ça demande du boulot!)


Mais c'est aussi la seule facon de faire qui vaille vraiment le coup. ^^

(quoique a mon avis, faire une variable local sur la PC qui soit sNomDeMarrié que tu appelerait via un CustomToken serait surmeent plus simple.)

Par Jedaï le 27/11/2002 à 12:40:04 (#2655229)



Avec ma bibliothèque (que tu trouvera à NWN-Fr ) tu pourras faire très simplement un custom token qui donnera :

*le nom complet (prénom plus nom) du PC si elle n'est pas mariée
*son nom complet si c'est un homme
*son prénom + le nom du mari, si c'est une femme mariée


Dans le OnLoad du module :


#include "nwl_tokcust"

void main()
{
AddCustomToken(666, "<mf:/<nMariedlocalint:/ >>);
}


Quelque part dans le script du mariage :


#include "nwl_tokcust"

void main()
{
.
.
.
SetLocalInt(oPCf, "nMaried", TRUE);
SetLocalString(oPCf, "sNameMari", ProcessString(", oPCm));
.
.
}


Changer le script OnConversation par défaut comme indiqué dans le mode d'emploi de ma bibliothèque.

Et utiliser à chaque fois que des NPCs disent le nom d'une personne dans une conversation. :D



Cette méthode peut sembler compliquée mais en réalité, elle est plus simple et plus sûre que la méthode des Custom tokens classiques !:)

Il te faudrait mettre dans chaque conversation le script :


void main()
{
object oPC = GetPCSpeaker();
if (GetGender(oPC) == GENDER_FEMALE)
{
if (GetLocalInt(oPC, "nMaried"))
{
string sName = GetName(oPC);
string sNM = GetLocalString(oPC, sNameMari);
string sFN = GetStringRight(sName, GetStringLength(sName)
- FindSubString(sName, " ") - 1);
SetCustomToken(666, sNM + sFN);
}
else
{
SetCustomToken(666, GetName(oPC));
}
}
else
{
SetCustomToken(666, GetName(oPC));
}
}


Il te faudra mettre ce script au tout début de toutes les conversations où tu utilisera le Custom Token 666, avec le risque d'en oublier... :D
De plus, je crois que cette méthode ne marchera pas si tu utilise ce CustomToken dans la première phrase de ton dialogue et tu sera alors obligé de tripatouiller le OnConversation du NPC concerné... :rolleyes:

Il te faudra également changer un peu le script de ton mariage pour récupérer le nom de ton mari sans ProcessString() (il n'existe pas de fonction GetFirstName() ).



Autre chose : je ne suis pas totalement sûr de l'ordre dans lequel GetName() donne le prénom et le nom, s'il s'avérait que tu ais en fait le nom de la femme et le prénom du mari, inverse juste et avec ma bibliothèque. Avec les CustomTokens, débrouille toi, c'est trop compliqué !

Par Jedaï le 27/11/2002 à 12:47:07 (#2655286)

Coolstar>Désolé ce que tu propose est impossible, :( les tokens standards ne peuvent être modifié et concernent toujours le PC qui dialogue. Par ailleurs je te signale qu'il existe les tokens standard et qui permette de dissocier le prénom et le nom (et je ne parle pas de ceux de ma bibliothèque qui n'ont rien à voir).:cool:

Par coolstar le 27/11/2002 à 13:33:06 (#2655707)

1) ^^ J'ai pas réfléchi en digne nb que je suis à la restriction au seul PC en cours concernant les Tokens...

2) Bien que complexe je trouve ta proposition très intéressante... bien plus poussée...

3) Doh! Merci pour le ...

5) :rasta:

6) :merci: :merci:


7) Et dire que c un djeun!!

Par Nylou le 27/11/2002 à 13:55:41 (#2655932)

Après la fete, entre 2 sessions du serveur tu bidouilles les .bic pour changer le nom de l'epouse.
Et oui ça prend du temps de changer de nom, c'est de l'administratif tout ça.

J'ai cru comprendre qu'il existait des prog pour les modifier.

Par eMRaistlin le 27/11/2002 à 15:22:03 (#2656727)

J'ai cru comprendre qu'il existait des prog pour les modifier


Je confirme... un peu comme le ShadowKeeper de BG, mais perso, je n'ai pas testé encore.

JOL Archives 1.0.1
@ JOL / JeuxOnLine