La Bibliothèque de Neverwinter Nights
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.
La date/heure actuelle est 21/09/2024 10:41:44


  Page 1 sur 1 ¤

Voir le sujet précédent ¤ Voir le sujet suivant 
Auteur Message
Albator003
Invité


Répondre en citant
Posté le : 23/04/2004 18:22:29 Sujet du message : Aide sur les Tokens

Bonjour bonjour,

Comprendre les tokens seul... aie aie aie
Aprés avoir fais pas mal de recherche pour un tuto ou une aide sur les tokens j'en arrive ici pour demander de l'aide. J'ai pas trouver d'aide pour ca Confused alors j'ai essayé de me débrouiller autrement. J'ai télécharger sur le vault le systeme de "board" (celui ou y'a un scribe à qui ont dis un message et un panneau sur lequel on laisse le méssage) afin de voir a peu prés comment se fais les tokens. Et la... Shocked Shocked Shocked pas bien plus avancer...D'abord j'explique pourquoi j'aimerai comprendre ça.

Quand un joueur passe au niveau supérieur j'ai mis un script (sur le Onplayerlvlup)afin d'envoyer un message a tous les MDs que un joueur viens de passer un niveau (Qui, Ou et Quand) voila le script (il compil c juste une parti du script)
NWScript :

object oPC = GetPCLevellingUp();
string sPC = GetName (oPC);
int iLevel = GetHitDice(oPC);
string sLevel = IntToString(iLevel);
string sAreaName = GetName(GetArea(oPC));
int miliSecond, second, minute, hour, day, month, year, temp;

    string displayMinute;
    string displayDay;
    string displayHours;
    string str_mois;

    int MINUTES_TO_THE_HOUR = 60;
    float MILI_SECONDS_TO_SECONDS = 1000.0 / 60.0;
    miliSecond = GetTimeMillisecond();
    second = GetTimeSecond();
    minute = GetTimeMinute();
    hour = GetTimeHour();
    day = GetCalendarDay();
    month = GetCalendarMonth();
    year = GetCalendarYear();
      temp = (60*minute) + second;
    minute = temp / MINUTES_TO_THE_HOUR;
    if (minute == 0)
    {
      temp = 1000*temp + miliSecond;
    }
    else
    {
      temp = 1000*(temp % minute) + miliSecond;
    }
    second = FloatToInt(temp / MILI_SECONDS_TO_SECONDS);


    if (second >= 60)
    {
      second -= 60;
      minute++;
    }
    if (minute >= 60)
    {
      minute -= 60;
        hour++;
    }
    if (hour >= 24)
    {
      hour -= 24;
      day++;
    }
    if (day >= 29)
    {
      day -= 28;
      month++;
    }
    if (month >= 13)
    {
      month -= 12;
      year++;
    }

    // FAB : Mise au format avec un 0 devant
    if (day < 10)
    {
        displayDay= "0" + IntToString(day);
    }
    else
    {
        displayDay = IntToString(day);
    }

    // FAB : Mise au format avec un 0 devant
    if (minute < 10)
    {
        displayMinute = "0" + IntToString(minute);
    }
    else
    {
        displayMinute = IntToString(minute);
    }

    // FAB : Mise au format avec un 0 devant
    if (hour < 10)
    {
        displayHours = "0" + IntToString(hour);
    }
    else
    {
        displayHours = IntToString(hour);
    }

    // FAB : Affichage en texte des mois
    switch(month)
    {
        case 1:
            str_mois = "Janvier";
            break;
        case 2:
            str_mois = "Fevrier";
            break;
        case 3:
            str_mois = "Mars";
            break;
        case 4:
            str_mois = "Avril";
            break;
        case 5:
            str_mois = "Mai";
            break;
        case 6:
            str_mois = "Juin";
            break;
        case 7:
            str_mois = "Juillet";
            break;
        case 8:
            str_mois = "Aout";
            break;
        case 9:
            str_mois = "Septembre";
            break;
        case 10:
            str_mois = "Octobre";
            break;
        case 11:
            str_mois = "Novembre";
            break;
        case 12:
            str_mois = "Decembre";
            break;
    }
    hour++;
SendMessageToAllDMs (sPC+" a atteind le niveau "+sLevel+" dans "+sAreaName+" le "+displayDay+" "+str_mois+" "+IntToString(year)+" a "+displayHours+" h");
// SetCustomToken(0001,sPC+" a atteind le niveau "+sLevel+" dans "+sAreaName+" le "+displayDay+" "+str_mois+" "+IntToString(year)+" ; a "+displayHours+" h");

Note : le code affiché ci-dessus n'est pas rendu tel qu'il devrait l'être réellement, en particulier des sauts de lignes sont automatiquement insérés pour éviter de casser la mise en page. En le copiant/collant, vous résoudrez ce problème.


Le "SetCustomToken" c'était un essai que j'avai tenter de raccorder à un dialogue(avec l'écriture"<CUSTOM0001>" c'etait juste histoire de tater j'ai quand meme réussi à faire modifier la ligne selon si un joueur a passer un niveau ou non, mais ça à pas fais du tout ce que je voulais Sad ).
J'ai crée un panneau dans une zone à DM comme le panneau avec le scribe, quand un DM click dessus un dialogue est appellé, jusqu'ici tout marche mais la ce que je veux c'est que je voudrais que le dialogue se fasse du genre
----------------------------------------------------------------------------------
Panneau ---> Panneau de niveau
DM ----> "ici apparait une ligne qui dis que un joueur a lvler"
DM ----> "ici un autre joueur a lvler"
DM ----> "et ainsi de suite"
----------------------------------------------------------------------------------
Je compte faire ce systeme qui comportera environ 200 lignes comme celle ci(comme dans l'exemple du panneau avec le scribe ou on peux limiter les messages), car j'ai vu qu'il était possible de dire "+1" au "custom" afin de ne pas écraser une ligne précédente et ainsi crée une nouvelle ligne(ou position).

Donc pour moi ce systeme pourrai donc controler la vitesse d'un "lvling" d'un joueur(cadence dans son passage de niveau supérieur).

J'apelle donc à votre aide et a votre savoir afin de :

1) M'expliquer un peu comment marche les tokens (et si c'est possible de crée ca)
2) Si quelqu'un connais un lien avec un tutorial pour les tokens sa serai cool Smile
3) Qu'on m'aide pour faire ce que je veux(comme on ma aider dans mes debuts en scripting ou je vous remercie encore d'ailleur*Lui rappelle c'est debut sur les script* Laughing )

Voila tout, en espérent d'avoir être assez préci....
 
Revenir en haut
 
olfleouf
Acolyte
Inscrit le: 21 Nov 2003
Messages: 35
Répondre en citant
Posté le : 25/04/2004 16:25:37 Sujet du message :

Je crois que j'ai la réponse pour 1/ Smile

Tu as fait un petite erreur lorsque tu as essayé, tu as mit le Token 1, sans le savoir on peut pas le deviner, mais une bonne partie des premiers nombre est réservé par Bioware. Il faut donc que tu changes ce numéro, par exemple par 200, et ensuite dans le dialogue tu met :

<CUSTOM200>, et normalement ca marche.
_________________
Arkanis, forum jeux de rôle dungeons et dragons 3.5
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
Montrer les messages depuis :
Page 1 sur 1 ¤


Vous ne pouvez pas poster de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum


Sauter vers:
FAQ | Rechercher | Liste des Membres | Groupes d'utilisateurs | S'enregistrer | Profil | Se connecter pour vérifier ses messages privés | Connexion
Powered by phpBB 2.* [m] © 2001, 2002 phpBB Group
Theme rewritten in beautiful XHTML code by Baldurien.
Thème "La Bibliothèque de Neverwinter" crée par Kruger
Traduction par : phpBB-fr.com
Page generated in 59.886ms