Archives des forums MMO/MMORPG > Neverwinter Nights > NWN - Maskado > OnClient enter?
OnClient enter?
Par Dzib le 15/7/2002 à 19:19:11 (#1809335)
ce qui me parait difficile, cé qu'il faudra une variable par joueur!
Par Kray le 15/7/2002 à 19:29:07 (#1809386)
void main()
Soit tu utilises le système d'émulation de tableaux de variables de Lumina que j'ai la flemme d'aller chercher.
{
object oPC = GetEnteringObject();
object oStock = GetModule();
string sFlagName = "_ENTERING_CONSTITUTION";
int nAbility = GetAbilityScore(oPC,ABILITY_CONSTITUTION);
SetLocalInt(oStock,GetName(oPC)+sFlagName,nAbility);
}
Attention néanmoins, stocker la constitution à l'entrée du client, c'est s'exposer au risque que le client passe un niveau et modifie son score de constitution.
Par Dzib le 15/7/2002 à 19:31:27 (#1809404)
le client ne risque pas de changer de lvl ds mon module, y a pas de pex! cé juste une auberge pour se rencontrer et discuter
heu....et pour rappeler la valeur ds un script, cé comment?
Par Altrendor le 15/7/2002 à 19:39:37 (#1809459)
Par Dzib le 16/7/2002 à 7:19:48 (#1811621)
Ds l'exemple de Kray, a quoi sert GetModule()?
Par souana le 16/7/2002 à 7:23:12 (#1811633)
Par Kray le 16/7/2002 à 12:13:06 (#1812540)
Plutôt que de ratacher ta variable à un objet, on l'attache au module entier. J'utilise ce système pour éviter d'oublier où j'ai bien pu stocker une variable. Bien sûr, tu peux remplasser le GetModule() par un GetObjectByTag("Tag_de_ton_stock_de_variables"); !
Pour la clé publique, c'est volontaire que je ne l'ai pas mise, pour que les GMs puissent modifier la valeur d'un flag ingame sans avoir besoin de connaitre la clé publique de la personne. :)
Ptite update du script :
Inscription de la variable dans OnClientEnter:void main()
Récupération de la variable dans... Dans n'importe quoi:
{
oPC = GetEnteringObject();
if(GetIsPC(oPC))
{
object oStock = GetModule();
string sFlagName = "_ENTERING_CONSTITUTION";
string sVarName = GetName(oPC)+sFlagName;
int nAbilityScore = GetAbilityScore(oPC,ABILITY_CONSTITUTION);
SetLocalInt(oStock,sVarName,nAbilityScore);
}
}void main()
{
object oPC = GetPCSpeaker(); //A modifier en fonction de l'évènement
string sFlagName = "_ENTERING_CONSTITUTION";
string sVarName = GetName(oPC)+sFlagName;
nAbilityScore = GetLocalInt(GetModule,sVarName);
}
Par Dzib le 16/7/2002 à 15:23:05 (#1813531)
Le misérable vermiseau indigne que je suis ne mérite même pas ton aide :merci:
je te serais reconnaissant jusqu'à la fin des temps et au-delà :merci:
.......c'est pitetre un peu bcp ça, non? :maboule:
Par Kray le 16/7/2002 à 16:54:55 (#1814065)
Provient du message de Dzib
Tu as oublié "Merci d'éclairer ma lanterne impie de ton angélique savoir, Ô mon Maître! Par ce présent écrit, je te lègue toute ma fortune, tous mes biens et m'offre à toi comme exclave pour le restant de ma pitoyable vie!" :D
merci :merci: merci bÔcoup :merci:
Le misérable vermiseau indigne que je suis ne mérite même pas ton aide :merci:
je te serais reconnaissant jusqu'à la fin des temps et au-delà :merci:
.......c'est pitetre un peu bcp ça, non? :maboule:
Mais non, voyons! :p
Par Grunk le 16/7/2002 à 17:17:50 (#1814153)
*sort*
JOL Archives 1.0.1
@ JOL / JeuxOnLine