Archives des forums MMO/MMORPG > Neverwinter Nights > NWN - Maskado > Recall Stone ....
Recall Stone ....
Par Maugan-Ra le 19/9/2002 à 23:30:07 (#2192246)
merci
Par miriandel le 19/9/2002 à 23:46:47 (#2192312)
Tu dois bien noter la référence de la bague que tu crées, elle apparaît dans l'onglet "General" sous "Blueprint resref" en bas à droite, disons pour les besoins de l'exemple: "mabague"
Ensuite tu place un waypoint là où tu veux "atterir", disons "WP_monWP"
Puis, dans l'event "OnActivateItem" de ton module (menu "Edit", "Module Properties", "Events"), tu introduis ceci:
void main()
{
object quoi = GetItemActivated();
if (GetTag(quoi) == "mabague")
{
object PJ = GetLastUsedBy();
AssignCommand(PJ, JumpToLocation(GetLocation(GetWaypointByTag("WP_monWP"))));
}
}
Par Maugan-Ra le 20/9/2002 à 5:32:35 (#2193116)
Par Maugan-Ra le 20/9/2002 à 6:43:43 (#2193170)
void main()
{
object quoi = GetItemActivated();
if (GetTag(quoi) == "recallring")
{
object PJ = GetLastUsedBy();
AssignCommand(PJ, JumpToLocation(GetLocation(GetWaypointByTag("WP_RecallSecret"))));
}
}
je sais pas ... faut remplacer "quoi" par queleque chose ?? ;)
merci
heu sinon ca marche aussi si je veut faire ca pour plusieur bague dans plusieur endoit different ?? je met a la suite ou je refait d'autre Script ?
Par miriandel le 20/9/2002 à 9:47:01 (#2193596)
Si tu dois débugger, d'une manière générale, tu dois vérifier que ton code est bien exécuté.
Ici, je serais prêt à parier que le serveur ne "piège" pas l'appel à ton anneau.
Donc, juste après void main() {
place
SendMessageToPC(GetFirstPC(), "Entree dans ActiveItem event");
et après
object PJ = GetLastUsedBy();
place donc
SendMessageToPC(GetFirstPC(), "Ok, execute");
et tu verras si l'utilisation de ta bague a bien été détectée.
Si non, c'est soit que ton waypoint a un problème (souvent la casse, respecte-bien maju-minu).
Dans tous les cas, ce code fonctionne sans problème, c'est utilisé en permanence pour tous ceux qui créent des objets magiques spéciaux.
Ah oui, alors, pour d'autres objets...
Le prinicipe est simple, dans ce fameux event "OnActiveItem" du module, tu place autant de tests que tu as d'objets, par des if (GetTag(quoi) == "nimportequoi") suivis du code pertinent à cet objet.
Les possibilités sont très très vastes...
Par Darkmore le 20/9/2002 à 23:09:23 (#2198708)
Provient du message de miriandel
Le problème vient peut être de cette petite embrouille :)
Tu dois bien noter la référence de la bague que tu crées, elle apparaît dans l'onglet "General" sous "Blueprint resref" en bas à droite, disons pour les besoins de l'exemple: "mabague"
Ce n'est pas le blueprint qu'il faut noter mais bien le Tag.
Si je dis une évidence excuser moi :merci:
Par Tyn' le 20/9/2002 à 23:19:52 (#2198779)
Par Maugan-Ra le 21/9/2002 à 5:12:38 (#2199862)
Par miriandel le 21/9/2002 à 9:33:07 (#2200168)
Provient du message de Darkmore
Le problème vient peut être de cette petite embrouille :)
Ce n'est pas le blueprint qu'il faut noter mais bien le Tag.
Si je dis une évidence excuser moi :merci:
Oui, oui, tag, pas blueprint, j'avais trop bu, ou pas assez...
Et effectivement, il est très important d'assigner la même valeur au blueprint et au tag à la création d'un objet.
Maugan: ce scripting est basé sur le C, qui est case-sensitive, donc une erreur de maju-minu et y'a plus rien qui marche...
Par Darkmore le 21/9/2002 à 11:57:26 (#2200832)
Provient du message de Maugan-Ra
Pas forcemment puisque le blueprint est limité en nombre de charactères alors que le tag ne l'est pas.
hehe normalement c'est la meme valeur sauf que le blue Print n'est qu'en miniscule lol
En cas de tag très long le blue print est coupé :merci:
Et comme dit Miriandel les majuscules ça a sont importance ... combien de fois j'ai du vérifier tout un script à cause de ce genre de bétise :)
Par Tyn' le 21/9/2002 à 12:01:08 (#2200854)
Provient du message de Darkmore
Et bien mettez des tag courts !! C'est obligatoire tant que la fonction GetBlueprintByTag ou un quelconque GetBlueprint ne sera pas réalisé par Bioware.
Pas forcemment puisque le blueprint est limité en nombre de charactères alors que le tag ne l'est pas.
En cas de tag très long le blue print est coupé :merci:
JOL Archives 1.0.1
@ JOL / JeuxOnLine