Sceleng Orque enragé
Nombre de messages : 45 Localisation : bretagne Date d'inscription : 14/01/2005
| Sujet: Script pour limitation de niveau Dim 16 Jan à 23:28 | |
| J'ai vu dans certains posts que vous parliez de restrictions de niveaux avec pass MD. Je voulais savoir si cela dependez d'un script car j'ai un ami qui voudrais integrer ca à son mod. On pensait même faire en sorte que ce soit une quete qui débloque par exemple le passage aux niveaux suivant. Si c'est possible, j'aimerais savoir si l'un d'entre vous connaissez le script qu'il lui faudrait pour réaliser une telle chose.
Merci d'avance. | |
|
Audoucet puissance mineure du flood
Nombre de messages : 787 Localisation : bon, dans celui de quelqu'un d'autre alors... Date d'inscription : 04/01/2005
| Sujet: Re: Script pour limitation de niveau Dim 16 Jan à 23:50 | |
| Il suffit de mettre un script avec des conditions, sur le OnLevelUp, qui vérifie que la condition soit remplie. Si le module n'utilise pas de système de Peau, il suffit de placer une peau en rapport avec le niveau autorisé sur le personnage, pour que le script autorise la montée de niveau. Ou bien avec un objet dans l'inventaire, mais cela va mettre plus de temps à chercher... | |
|
vengeurmasqué Rang: Administrateur
Nombre de messages : 538 Localisation : Gamespy Date d'inscription : 13/08/2004
| Sujet: Re: Script pour limitation de niveau Lun 17 Jan à 13:01 | |
| - Citation :
- // By Asuke, modifié by Kefff
void main() { { object oPC = GetPCLevellingUp(); int nXP; int nLv = GetHitDice(oPC); //Les pass, entre "" le tag de l'objet que recevra le jouer lors d'un quete ou par le MD pour monter de niveau object oPass1 = GetItemPossessedBy(oPC, "passlevel11"); object oPass2 = GetItemPossessedBy(oPC, "passlevel15"); object oPass3 = GetItemPossessedBy(oPC, "passlevel10"); object oPass4 = GetItemPossessedBy(oPC, "passlevel16"); object oPass5 = GetItemPossessedBy(oPC, "passlevel17"); object oPass6 = GetItemPossessedBy(oPC, "passlevel18"); object oPass7 = GetItemPossessedBy(oPC, "passlevel19"); object oPass8 = GetItemPossessedBy(oPC, "passlevel20"); object oPass9 = GetItemPossessedBy(oPC, "passlevel12"); object oPass10 = GetItemPossessedBy(oPC, "passlevel13"); object oPass11 = GetItemPossessedBy(oPC, "passlevel14");
if(nLv == 11) //Si le joueur va monter au niveau 11 { if(GetIsObjectValid(oPass1)) //Si il a l'objet oPass1 (pour moi, passlevel11) { SendMessageToPC(oPC, "Vous avez eu l'accord d'un MD pour augmenter de niveau." ); // La phrase que vous voulez entre les "" pour l'autorisation DestroyObject(oPass1); //Detruire l'objet apres la montee de niveau } else //sinon lui dire qu'il ne peut pas monter le niveau sans (au MD de decider la facon d'avoir le pass) { SendMessageToPC(oPC, "Vous ne pouvez passer au niveau 5 sans l'autorisation d'un MD." ); // Pareil pour l'interdiction nXP = (( nLv * ( nLv - 1 )) / 2 * 1000 ) - 1; SetXP(oPC, nXP); } } //La meme chose pour la suite if(nLv == 12) { if(GetIsObjectValid(oPass9)) { SendMessageToPC(oPC, "Vous avez eu l'accord d'un MD pour augmenter de niveau." ); //Phrase autorisation DestroyObject(oPass9); } else { SendMessageToPC(oPC, "Vous ne pouvez passer au niveau 10 sans l'autorisation d'un MD." ); //Phrase interdiction nXP = (( nLv * ( nLv - 1 )) / 2 * 1000 ) - 1; SetXP(oPC, nXP); } }
if(nLv == 10) { if(GetIsObjectValid(oPass3)) { SendMessageToPC(oPC, "Vous avez eu l'accord d'un MD pour augmenter de niveau." ); //Phrase autorisation DestroyObject(oPass3); } else { SendMessageToPC(oPC, "Vous ne pouvez passer au niveau 10 sans l'autorisation d'un MD." ); //Phrase interdiction nXP = (( nLv * ( nLv - 1 )) / 2 * 1000 ) - 1; SetXP(oPC, nXP); } }
if(nLv == 13) { if(GetIsObjectValid(oPass10)) { SendMessageToPC(oPC, "Vous avez eu l'accord d'un MD pour augmenter de niveau." ); //Phrase autorisation DestroyObject(oPass10); } else { SendMessageToPC(oPC, "Vous ne pouvez passer au niveau 10 sans l'autorisation d'un MD." ); //Phrase interdiction nXP = (( nLv * ( nLv - 1 )) / 2 * 1000 ) - 1; SetXP(oPC, nXP); } } if(nLv == 14) { if(GetIsObjectValid(oPass11)) { SendMessageToPC(oPC, "Vous avez eu l'accord d'un MD pour augmenter de niveau." ); //Phrase autorisation DestroyObject(oPass11); } else { SendMessageToPC(oPC, "Vous ne pouvez passer au niveau 10 sans l'autorisation d'un MD." ); //Phrase interdiction nXP = (( nLv * ( nLv - 1 )) / 2 * 1000 ) - 1; SetXP(oPC, nXP); } }
if(nLv == 15) { if(GetIsObjectValid(oPass2)) { SendMessageToPC(oPC, "Vous pouvez augmenter de niveau." ); // Phrase autorisation DestroyObject(oPass2); } else { SendMessageToPC(oPC, "Il vous faut le pass level 15 pour monter le niveau." ); //Phrase interdiction nXP = (( nLv * ( nLv - 1 )) / 2 * 1000 ) - 1; SetXP(oPC, nXP); } }
if(nLv == 16) { if(GetIsObjectValid(oPass4)) { SendMessageToPC(oPC, "Vous pouvez augmenter de niveau." ); //Phrase autorisation DestroyObject(oPass4); } else { SendMessageToPC(oPC, "Il vous faut le pass level 16 pour monter le niveau." ); //Phrase interdiction nXP = (( nLv * ( nLv - 1 )) / 2 * 1000 ) - 1; SetXP(oPC, nXP); } }
if(nLv == 17) { if(GetIsObjectValid(oPass5)) { SendMessageToPC(oPC, "Vous pouvez augmenter de niveau." ); //Phrase autorisation DestroyObject(oPass5); } else { SendMessageToPC(oPC, "Il vous faut le pass level 17 pour monter le niveau." ); //Phrase interdiction nXP = (( nLv * ( nLv - 1 )) / 2 * 1000 ) - 1; SetXP(oPC, nXP); } }
if(nLv == 18) { if(GetIsObjectValid(oPass6)) { SendMessageToPC(oPC, "Vous pouvez augmenter de niveau." ); //Phrase autorisation DestroyObject(oPass6); } else { SendMessageToPC(oPC, "Il vous faut le pass level 18 pour monter le niveau." ); //Phrase interdiction nXP = (( nLv * ( nLv - 1 )) / 2 * 1000 ) - 1; SetXP(oPC, nXP); } }
if(nLv == 19) { if(GetIsObjectValid(oPass7)) { SendMessageToPC(oPC, "Vous pouvez augmenter de niveau." ); //Phrase autorisation DestroyObject(oPass7); } else { SendMessageToPC(oPC, "Il vous faut le pass level 19 pour monter le niveau." ); //Phrase interdiction nXP = (( nLv * ( nLv - 1 )) / 2 * 1000 ) - 1; SetXP(oPC, nXP); } }
if(nLv == 20) { if(GetIsObjectValid(oPass8)) { SendMessageToPC(oPC, "Vous avez eu l'accord d'un MD pour augmenter de niveau." ); //Phrase autorisation DestroyObject(oPass8); } else { SendMessageToPC(oPC, "Vous ne pouvez passer au niveau 20 sans l'autorisation d'un MD." ); //Phrase interdiction nXP = (( nLv * ( nLv - 1 )) / 2 * 1000 ) - 1; SetXP(oPC, nXP); } } }
On peut faire beaucoup plus court mais je sais pas le faire | |
|
Sceleng Orque enragé
Nombre de messages : 45 Localisation : bretagne Date d'inscription : 14/01/2005
| Sujet: Re: Script pour limitation de niveau Lun 17 Jan à 13:54 | |
| Merci à vous pour ca, on va deja essayer de travailler avec ca. Je pense que ca devrait deja nous aider un peu. | |
|
Malicene Kobold trouillard
Nombre de messages : 13 Localisation : Deimos Date d'inscription : 12/01/2005
| Sujet: Re: Script pour limitation de niveau Lun 17 Jan à 15:49 | |
| Oui, on peux faire plus simple, mais si tu as que 4 - 5 cas ne t'embete pas pour rien sinon, je te conseille de mettre : nXP = (( nLv * ( nLv - 1 )) / 2 * 1000 ) + 1; a chaque fois que le perso valide son niveau. Car si le perso reste "bloqué" un certains temps sur le palier, il pourra prendre 2,3 niveaux (voir plus) d'un seul coup. Même se retrouver bloqué au palier suivant directement ^^. my 2 cents. | |
|
Contenu sponsorisé
| Sujet: Re: Script pour limitation de niveau | |
| |
|