ptit question sur les classe de prestiges

Répondre
Partager Rechercher
voila, je voulais savoir si qq'un savait comment sont codé les classes de prestiges dans les CLASS_TYPE_* Constant Group

parceque je cherche, je cherche et je trouve pas...

faut dire que j'attend surtout la sortie du prochain lexicon mais il sort pas.

si qq'un sais où trouver cette info, merci d'avance

a pluche
tu la trouvera dans le classe.2da ^^

Code PHP:

0          Barbarian       
1          Bard            
2          Cleric          
3          Druid           
4          Fighter         
5          Monk            
6          Paladin         
7          Ranger          
8          Rogue           
9          Sorcerer        
10         Wizard          
11         Aberration      
12         Animal          
13         Construct       
14         Humanoid        
15         Monstrous       
16         Elemental       
17         Fey             
18         Dragon          
19         Undead          
20         Commoner        
21         Beast           
22         Giant           
23         MagicBeast      
24         Outsider        
25         Shapechanger    
26         Vermin          
27         Shadowdancer    
28         Harper          
29         Arcane_Archer   
30         Assassin        
31         Blackguard 
sinon, si ca interesse qq'un,
j'ai fini mon script pour bloquer l'utilisation des classes de prestiges pour les module dédier a du semi PW.

je sais c'est pas bien dur a faire mais si ca interesse qu'il me contacte par mail...
Citation :
Provient du message de astre
sinon, si ca interesse qq'un,
j'ai fini mon script pour bloquer l'utilisation des classes de prestiges pour les module dédier a du semi PW.

je sais c'est pas bien dur a faire mais si ca interesse qu'il me contacte par mail...
ça peut interesser la communauté ça... pourquoi tu le poses pas ici ?
voila
voila mon code de on_player_level_up

il a 3 fonctions:
- bloquer les classes de prestiges si on a pas l'autorisation
- bloquer les multiclassé dont les differences de level entre les classes sont trops importantes
- bloquer les passages de niveaux 5, 10, 15 et plus si on pas d'autorisation de DM.

si vous avez bien remarqué, ce script necesite l'utilisation d'un code NODROP pour que ces bons ne partent pas dans la nature.

PS: c'est ma dernière vertion non testé a fond. donc si vous voyez un truc louche c'est surement une erreure de ma part...

Citation :
void main()
{

object oPC = GetPCLevellingUp();
string sPC = GetName (oPC);
int iLevel = GetHitDice(oPC);
string sLevel = IntToString(iLevel);
string sAreaName = GetName(GetArea(oPC));
int iTest = 0 ;
int iStopXP = ((iLevel * (iLevel - 1)) / 2) * 1000 -1;
int iLev1 = GetLevelByPosition (1,oPC);
int iLev2 = GetLevelByPosition (2,oPC);
int iLev3 = GetLevelByPosition (3,oPC);

if (iLev2 != 0)
{
if( // limitte de 10 niv max entre 2 classes
abs(iLev1-iLev2) > 10
||
iLev3 != 0
&&
( abs(iLev1-iLev3) > 10
|| abs(iLev2-iLev3) > 10
)
)
iTest = 1;

if (GetLevelByClass(CLASS_TYPE_BLACKGUARD,oPC) >=1
&& GetItemPossessedBy(oPC, "BlackguardNODROP") == OBJECT_INVALID)
iTest = 1 ;

if (GetLevelByClass(CLASS_TYPE_ASSASSIN,oPC) >=1
&& GetItemPossessedBy(oPC, "AssassinNODROP") == OBJECT_INVALID)
iTest = 1 ;

if (GetLevelByClass(CLASS_TYPE_ARCANE_ARCHER,oPC) >=1
&& GetItemPossessedBy(oPC, "ArcanearcherNODROP") == OBJECT_INVALID)
iTest = 1 ;

if (GetLevelByClass(CLASS_TYPE_HARPER,oPC) >=1
&& GetItemPossessedBy(oPC, "HarperNODROP") == OBJECT_INVALID)
iTest = 1 ;

if (GetLevelByClass(CLASS_TYPE_SHADOWDANCER,oPC) >=1
&& GetItemPossessedBy(oPC, "ShadowNODROP") == OBJECT_INVALID)
iTest = 1 ;

}

if (
( iLevel == 5 || iLevel == 10 || iLevel >= 15 )
&& ( GetItemPossessedBy(oPC, "passniv" + IntToString(iLevel)+ "NODROP") == OBJECT_INVALID )
)
iTest = 1;



if (iTest == 1)
{
SetXP(oPC,iStopXP);
SendMessageToPC(oPC,"vous ne meritez pas de passer ce niveau, reessayez plus tard");
}
else
SendMessageToAllDMs (sPC+" a atteint le niveau "+sLevel+" dans "+sAreaName);

}
Citation :
int iLevel = GetHitDice(oPC);
string sLevel = IntToString(iLevel);
string sAreaName = GetName(GetArea(oPC));
int iTest = 0 ;
int iStopXP = ((iLevel * (iLevel - 1)) / 2) * 1000 -1;
Juste une question, je ne sais pas si je fais fausse route ou non:
Imaginons un PJ niveau 4, pour accéder au niveau 5 il lui faut passer la barre des 10000 d'xp.
Le iLevel retournera l'entier 4.
Donc, d'après ta formule, le iStopXP retournera ((4*3)/2)*1000-1, soit 5999 d'xp.

Citation :
SetXP(oPC,iStopXP);
SendMessageToPC(oPC,"vous ne meritez pas de passer ce niveau, reessayez plus tard");
Donc si j'ai bien compris, quand le PJ niveau 4 voudra passer niveau 5, et s'il ne le mérite pas, on lui mettra son xp à 5999, soit encore au niveau 3 !!

C'est peut-être moi qui suis pas réveillé, mais si ça pose problème, je te propose pour ta formule du iStopXp ceci:

Code PHP:

int iStopXP = (((iLevel+1)*iLevel)/2)*1000-1
Ainsi, le PJ niveau 4 vera son xp fixé à ((5*4)/2)*1000-1 soit 9999.

Amicalement, Faucheuse.
C bien ca Faucheuse c'est +1 et pas -1

Ca l air très sympa ton script de niveau Astre

Les objets pour up ne limite que les classes de prestige alors faudrai essayer de bloquer les autres clases mais a certain palier par exemple pour les magos, les bloquer au niveau ou il gagne un nouveau niveau de sort

Le probleme que je vois la dedans, c'est que le joueur qui a au moins 1 niv dans une classe de prestige, sera bloqué au moment du lvl up même si il voulait mettre son nouveau niveau dans une classe de base Chui pas clair la je crois

Ce qui veut dire que tu bloque le lvl up d'un perso et le soumet à l approbation d un MJ, si ce perso à un niveau dans une classe de prestige, quelque soit son niveau et la classe dans laquelle il voulait mettre son nouveau niveau. Damned



Faudrai aussi que dans le cas ou le PJ ne peux pas LvlUp, envoyer un message au DM et inversement, qd il peut, dire au PJ " Vous avez été reconnu digne de parfaire votre entrainement"
faut savoir que quand un on_player_level_up s'aplique après avoir passé le niveau, donc un perso passant de 4 à 5 est considéré comme étant niveau 5.

pour le coups des classes de prestiges, ca m'a paru comme un desavantage au debut. Mais après en avoir discuter avec les autres officiels du module, on s'est dis que c'était pas si mal. étant donné que le seul moyen de perdre son objet est un DM c'est que le gars s'est alors trouvé indigne de sa classe de prestige. du coup, le perso ne peux plus monter du tout.

2 choix reste: regagner son objet ou appeller un DM pour perdre ses niveaux "en trop".

voila quoi...
Citation :
faut savoir que quand un on_player_level_up s'aplique après avoir passé le niveau, donc un perso passant de 4 à 5 est considéré comme étant niveau 5.
J'me disais bien que j'm'étais planté !
Ca m'apprendre à ne pas vérifier ce que je dis avant de le poster .

Amicalement, Faucheuse.
Répondre

Connectés sur ce fil

 
1 connecté (0 membre et 1 invité) Afficher la liste détaillée des connectés