La Bibliothèque de Neverwinter Nights
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.
La date/heure actuelle est 23/11/2024 22:53:53


  Page 1 sur 1 ¤

Voir le sujet précédent ¤ Voir le sujet suivant 
Auteur Message
parrain
Chevalier
Inscrit le: 20 Jan 2005
Messages: 97
Localisation: Creteil
Répondre en citant
Posté le : 11/03/2005 23:53:37 Sujet du message : OnPlayerLvlUp

Salut a tous!
Je vourais savoir commet m'y prendre pour que sur mon server il y 'est un bloquage lvl bon...
En faite je voudrais faire un bloquage que l'on trouve sur quasiment tout les servers rp persitant...
Aider moi Pliz!Laughing:lol:lol
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger Ignorer l'utilisateur
 
Manlight
Novice
Inscrit le: 02 Mar 2005
Messages: 13
Répondre en citant
Posté le : 15/03/2005 15:09:20 Sujet du message :

J'ai réussi à faire ca, je garanti pas que ce code est parfait, je suis que débutant Very Happy ...

Ca marche avec un objet que tu as créé (ici l'objet est : "bonlvl20"). Ce bon est donné par le MD, ou une quete (comme tu veux). Et le joueur ne peut passer le cap du lvl 20 sans cet objet.

Tu place ce script dans le Onplayerlvlup

NWScript :
void main()
{
object oPC = GetPCLevellingUp();


int nLevel = GetHitDice(oPC);


object bon = GetItemPossessedBy(oPC,"bonlvl20");

//Si le lvl est 20...
if(nLevel==20)
    {
    //Si le PJ n'a pas le bon
    if (bon == OBJECT_INVALID)
        {
       
        SetXP(oPC, 188000 );
       
        SendMessageToPC (oPC, "Vous avez perdu de l'XP, demander un bon lvl a un MD !!");
        }
    else
        {
       
        SendMessageToPC (oPC, "Vous venez de passer le lvl 20 avec succes grace votre bon, continuez de RP et vous pourez avoir d'autres bons !!");
        //On lui met son XP au lvl 20 avec 1000XP en plus
       
        SetXP(oPC, 191000 );
       
        DestroyObject(bon);
        }
    }
}
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.
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur MSN Messenger Ignorer l'utilisateur
 
parrain
Chevalier
Inscrit le: 20 Jan 2005
Messages: 97
Localisation: Creteil
Répondre en citant
Posté le : 16/03/2005 06:57:09 Sujet du message : .......?

Thank you....
Mais tu pourrrais pas le modifier pour que sa face la même chose pour les lvl ci: 16, 21, 26, 27, 28, 29, 30, 31, moi j'ai essayer et sa à été sans succès...Embarassed
Stp aide moi c'est vraiment important merci d'avence...
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger Ignorer l'utilisateur
 
Ivellios
Légende vivante
Inscrit le: 25 Jan 2005
Messages: 447
Localisation: Poitiers
Répondre en citant
Posté le : 16/03/2005 13:25:52 Sujet du message :

Pour le script du lvl sa avait deja été demander ici...
Il suffira de rajouter des tests avec ceux du 15 et 20.
_________________
Scripts, systèmes, fonctions,... c'est par ici...
Pyjama pour castor, une vocation, un avenir sûr
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur MSN Messenger Ignorer l'utilisateur
 
Manlight
Novice
Inscrit le: 02 Mar 2005
Messages: 13
Répondre en citant
Posté le : 18/03/2005 02:37:14 Sujet du message :

Voici l'XP par lvl :

1 = 0
2 = 1000
3 = 3000
4 = 6000
5 = 10000
6 = 15000
7 = 21000
8 = 28000
9 = 36000
10 = 45000
11 = 55000
12 = 66000
13 = 78000
14 = 91000
15 = 105000
16 = 120000
17 = 136000
18 = 153000
19 = 171000
20 = 190000
21 = 210000
22 = 231000
23 = 253000
24 = 276000
25 = 300000
26 = 325000
27 = 351000
28 = 378000
29 = 406000
30 = 435000
31 = 465000
32 = 496000
33 = 528000
34 = 561000
35 = 595000
36 = 630000
37 = 666000
38 = 703000
39 = 741000
40 = 780000

Donc a chaque fois que tu veux bloquer un lvl, change les lignes suivantes dans mon code que je t'es passé :

NWScript :
if(nLevel==20)

SetXP(oPC, 188000 );

SetXP(oPC, 191000 );
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.


Exemple : pour le lvl 16

NWScript :
if (nlevel==16)

SetXP(oPC, 118000);

SetXP(oPC, 121000);
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.
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur MSN Messenger Ignorer l'utilisateur
 
kanako
Ecuyer
Inscrit le: 10 Mar 2005
Messages: 44
Répondre en citant
Posté le : 18/03/2005 10:04:26 Sujet du message : voil

NWScript :
void main()
{
object oPC = GetPCLevellingUp();


int nLevel = GetHitDice(oPC);


object bon = GetItemPossessedBy(oPC,"bonlvl20");

//Si le lvl est 20...
if(nLevel==20)
    {
    //Si le PJ n'a pas le bon
    if (bon == OBJECT_INVALID)
        {
       
        SetXP(oPC, 188000 );
       
        SendMessageToPC (oPC, "Vous avez perdu de l'XP, demander un bon lvl a un MD !!");
        }
    else
        {
       
        SendMessageToPC (oPC, "Vous venez de passer le lvl 20 avec succes grace votre bon, continuez de RP et vous pourez avoir d'autres bons !!");
        //On lui met son XP au lvl 20 avec 1000XP en plus
       
        SetXP(oPC, 191000 );
       
        DestroyObject(bon);
        }
    }
}
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.
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Ivellios
Légende vivante
Inscrit le: 25 Jan 2005
Messages: 447
Localisation: Poitiers
Répondre en citant
Posté le : 18/03/2005 16:42:42 Sujet du message :

Dans le lien que j'ai donner il y a une equation c'est beaucoup plus simple...
_________________
Scripts, systèmes, fonctions,... c'est par ici...
Pyjama pour castor, une vocation, un avenir sûr
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur MSN Messenger Ignorer l'utilisateur
 
Manlight
Novice
Inscrit le: 02 Mar 2005
Messages: 13
Répondre en citant
Posté le : 18/03/2005 20:54:33 Sujet du message :

Oui effectivement vaut mieux prendre le script de Ivellios.

Dsl je suis que novice, ca marchait bien comme je l'avais fait... Very Happy

Rappem du script de Ivellios :

NWScript :
void main()
{
object oPC = GetPCLevellingUp();
int iRet, iNiveau;
iRet;
iNiveau = GetHitDice(oPC);
object oPierre = GetItemPossessedBy(oPC, "pierredeternite");

if(iNiveau == 15 && oPierre == OBJECT_INVALID || iNiveau == 20 && oPierre == OBJECT_INVALID)
{
  iRet = ((iNiveau *(iNiveau-1))/2*1000)-1;
  SetXP(oPC, iRet);
}
}
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.
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur MSN Messenger Ignorer l'utilisateur
 
parrain
Chevalier
Inscrit le: 20 Jan 2005
Messages: 97
Localisation: Creteil
Répondre en citant
Posté le : 25/03/2005 22:02:57 Sujet du message :

Merci à tous mais je me suis crée un système à moi qui est plutôt simplicte donc merci qu'en même...
Laughing
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger Ignorer l'utilisateur
 
Ivellios
Légende vivante
Inscrit le: 25 Jan 2005
Messages: 447
Localisation: Poitiers
Répondre en citant
Posté le : 25/03/2005 22:06:34 Sujet du message :

Sinon je m'etait planter javais mit == OBJECT_INVALID... alors que c'est != ^^' (www.boulets.net Smile)
Donc la version corriger ici encore dsl...
_________________
Scripts, systèmes, fonctions,... c'est par ici...
Pyjama pour castor, une vocation, un avenir sûr
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur MSN Messenger Ignorer l'utilisateur
 
parrain
Chevalier
Inscrit le: 20 Jan 2005
Messages: 97
Localisation: Creteil
Répondre en citant
Posté le : 26/03/2005 07:34:12 Sujet du message :

Aucun problème, celui qui dans le lien est exellent merci...
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger Ignorer l'utilisateur
 
edisnotdead
Grand Chevalier
Inscrit le: 19 Fév 2005
Messages: 132
Répondre en citant
Posté le : 26/03/2005 12:46:05 Sujet du message :

essaye ca ca marche c est sur
NWScript :
void main()

{

  object oPC = GetPCLevellingUp();

  int nXP;

  int nLv = GetHitDice(oPC);

  object oPass = GetItemPossessedBy(oPC, "PasseNiveau");//tag du pass dans le blue print



// pour autre passage remplacer ou ajouter des nLv



if(nLv == 10 || nLv == 15 || nLv == 18 || nLv == 20 || nLv == 23 || nLv == 25 || nLv == 27 || nLv == 30 || nLv == 33 || nLv == 35 || nLv == 37)

{

  if(GetIsObjectValid(oPass))

  {

      SendMessageToPC(oPC, "Vous avez eu l'accord de {MD} pour monter de niveau." );

      DestroyObject(oPass);

  }

  else

  {

      SendMessageToPC(oPC, "Vous ne pouvez passer au niveau " + IntToString(nLv) + " sans l'autorisation d'un MJ." );

      nXP = (( nLv * ( nLv - 1 )) / 2 * 1000 ) - 1;

      SetXP(oPC, nXP);

  }




{

}
}
}
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.

raaa j avai pas vu les dernier post ^^
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé 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 65.397ms