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

Panneau de contrôle

Recherche | Retour aux forums

JOL Archives

Recall Stone ....

Par Maugan-Ra le 19/9/2002 à 23:30:07 (#2192246)

Hummm je veut faire une bague qui a le pouvoir de transporter a un endroit innacsesible mais ..... je ne sais pas comment lier le sort de la bague au point d'arriver .... en fait je sait meme pas quel proprietée donner a la bague ;)

merci

Par miriandel le 19/9/2002 à 23:46:47 (#2192312)

Dans l'onglet "Propriétés" de la bague, tu sélectionnes "Cast Spell", puis "Unique Power Self Only".

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)

merci merci ;)

Par Maugan-Ra le 20/9/2002 à 6:43:43 (#2193170)

heuu ca marche pas ;) j'ai bien mis les bon nom pourtant ...



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)

Non, quoi c le nom de l'objet, ne le change pas.

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
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"
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:

Par Tyn' le 20/9/2002 à 23:19:52 (#2198779)

Pitié, prenez l'habitude d'assigner le tag et le blueprint de la MÊME valeur... Ou alors programmez-nous une fonction GetBlueprintByTag(string sTag);... :p

Par Maugan-Ra le 21/9/2002 à 5:12:38 (#2199862)

hehe normalement c'est la meme valeur sauf que le blue Print n'est qu'en miniscule lol

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
hehe normalement c'est la meme valeur sauf que le blue Print n'est qu'en miniscule lol
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:
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
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:
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.

JOL Archives 1.0.1
@ JOL / JeuxOnLine