Aelor
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.

Aelor

Forum officiel du module NeverWinter Nights et role play Aelor.
 
AccueilAccueil  PortailPortail  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  Connexion  
Le Deal du moment : -47%
SAMSUNG T7 Shield Bleu – SSD Externe 1 To ...
Voir le deal
89.99 €

 

 script équipement à la première connection selon la classe

Aller en bas 
3 participants
AuteurMessage
Miltiades
Miltiades, paladin de Tyr
Miltiades


Nombre de messages : 551
Localisation : En train de chatier le mal
Date d'inscription : 16/12/2005

script équipement à la première connection selon la classe Empty
MessageSujet: script équipement à la première connection selon la classe   script équipement à la première connection selon la classe EmptySam 14 Jan - 10:24

Equipement à la premiere connexion selon classe

//**************************** ***********************
//** Script de connexion selon la classe du joueur **
//**************************** ***********************
//A mettre dans le OnClientEnter du module

/*---------------------------- ------------------------------ ---------------------*\
| /!\ Pour etre sur que l'equipement ne soit pas renouveller a la reconnexion /!\ |
| /!\ d'un joueur lvl un un qui vient de mourir et perde toute son experience /!\ |
| /!\ dans le OnDeath verifier si le joueurs est lvl 1 et redonner 1 point xp /!\ |
\*-------------------------- ------------------------------ -----------------------*/

/*---------------------------- --------------*\
/* Explications pour adaptation de l'Or *\
/*-------------------------- --------------------*\
|| Changer la valeur de l'or : ||
|| L'or se presente dans des sortes de cases ||
|| pour simplifier, il suffit de changer les ||
|| valeurs, prenons un exemple : ||
|| Barbare et Barde, Regles D&D : 4d4x10 ||
|| Or = d4(4)*10; ||
|| On va remplacer par des lettres pour bien ||
|| voir la transformation : ||
|| Barbare et Barde, Regles D&D : AdBxC ||
|| Or = dB(A)*C ||
|| - A est le nombre de dés jettés ||
|| - B est la valeurs du(es) dé(s) jetté(s) ||
|| - C est une multiplication simple ||
|| Seul l'exemple du moine change car il n'a ||
|| pas de multiplicateur. ||
||__________________________ ____________________||
\*-------------------------- --------------------*/




int OrBarbareBarde() ////////////////////////
{ //
int Or; // Regles D&D : 4d4x10
Or = d4(4)*10; // Barbare Barde
return(Or); //
} ////////////////////////

int OrDruid() ////////////////////////
{ //
int Or; // Regles D&D : 2d4x10
Or = d4(2)*10; // Druide
return(Or); //
} ////////////////////////

int OrMageEnsorceleur() ////////////////////////
{ //
int Or; // Regles D&D : 3d4x10
Or = d4(3)*10; // Mage Ensorceuleur
return(Or); //
} ////////////////////////

int OrGuerrierPaladinRodeur() ////////////////////////
{ //
int Or; // Regles D&D : 6d4x10
Or = d4(6)*10; // Guerrier Paladin Rodeur
return(Or); //
} ////////////////////////

int OrMoine() ////////////////////////
{ //
int Or; // Regles D&D : 5d4
Or = d4(5); // Moine
return(Or); //
} ////////////////////////

int OrPretreRoublard() ////////////////////////
{ //
int Or; // Regles D&D : 5d4x10
Or = d4(5)*10; // Pretre Roublard
return(Or); //
} ////////////////////////

//Equipement du Barbare
void EquipBarbare(object oPC)
{
//Mettre ici l'equipement Exemple :
CreateItemOnObject("tag_item", oPC); //Ici on créé un objet quelquonc
CreateItemOnObject("tag_item", oPC, 3); //Ici on créé 3 object quelquonc
object oArmure = CreateItemOnObject("tag_armure", oPC); //Ici on créé une armure
object oArme = CreateItemOnObject("tag_arme", oPC); //Ici on créé une arme
AssignCommand(oPC, ActionEquipItem(oArmure, INVENTORY_SLOT_CHEST)); //Ici on equipe l'armure
AssignCommand(oPC, ActionEquipItem(oArme, INVENTORY_SLOT_RIGHTHAND)); //Ici on equipe l'arme
}


void EquipBarde(object oPC) ////////////////////////
{ // Equipement du Barde
//Mettre ici l'equipement // Exemple : Barbare
} ////////////////////////

void EquipPretre(object oPC) ////////////////////////
{ // Equipement du Pretre
//Mettre ici l'equipement // Exemple : Barbare
} ////////////////////////

void EquipDruid(object oPC) ////////////////////////
{ // Equipement du Druide
//Mettre ici l'equipement // Exemple : Barbare
} ////////////////////////

void EquipGuerrier(object oPC) ////////////////////////
{ // Equipement du Guerrier
//Mettre ici l'equipement // Exemple : Barbare
} ////////////////////////

void EquipMoine(object oPC) ////////////////////////
{ // Equipement du Moine
//Mettre ici l'equipement // Exemple : Barbare
} ////////////////////////

void EquipPaladin(object oPC) ////////////////////////
{ // Equipement du Paladin
//Mettre ici l'equipement // Exemple : Barbare
} ////////////////////////

void EquipRodeur(object oPC) ////////////////////////
{ // Equipement du Rodeur
//Mettre ici l'equipement // Exemple : Barbare
} ////////////////////////

void EquipRoublard(object oPC) ////////////////////////
{ // Equipement du Roublard
//Mettre ici l'equipement // Exemple : Barbare
} ////////////////////////

void EquipSorcier(object oPC) ////////////////////////
{ // Equipement du Sorcier
//Mettre ici l'equipement // Exemple : Barbare
} ////////////////////////

void EquipMagicien(object oPC) ////////////////////////
{ // Equipement du Magicien
//Mettre ici l'equipement // Exemple : Barbare
} ////////////////////////

void EquipPourTous(object oPC) ////////////////////////
{ // Equipement Commun
//Mettre ici l'equipement // Exemple : Barbare
} ////////////////////////


// Detruit l'equipement porté
// Mettez iCslot a TRUE pour detruire aussi
// l'équipement créature (peau, griffes, ...)
void DestroySlotEquipment(object oPC, int iCslot = FALSE);

// Detruit tout les objets de l'inventaire
void DestroyInventoryEquipment(object oPC);

// Combine les deux fonctions précédente
void DestroyAllEquipment(object oPC, int iCslot = FALSE);


void main()
{
// Declarations
object oItem; // Definir oItem en objet
object oPC=GetEnteringObject(); // On defini le joueur
int iClasseDuJoueur = GetClassByPosition(1, oPC); // On prend la classe du joueur

if (GetIsPC(oPC) && !GetIsDM(oPC)) // Si le dernier entré est joueur et non DM
{
if (GetXP(oPC) < 1) //Si le joueur n'as pas de xp
{
//Envlève tout l'inventaire
DestroyAllEquipment(oPC);

//Efface l'or de départ du joueur
AssignCommand(oPC, TakeGoldFromCreature(GetGold(oPC), oPC, TRUE));

//Donne les objets et l'or du joueur selon la classe
switch (iClasseDuJoueur)
{
case 0:
EquipBarbare(oPC); //Equipement correspondant
AssignCommand(oPC, GiveGoldToCreature(oPC, OrBarbareBarde())); //Or
break;
case 1:
EquipBarde(oPC); //Equipement correspondant
AssignCommand(oPC, GiveGoldToCreature(oPC, OrBarbareBarde())); //Or
break;
case 2:
EquipPretre(oPC); //Equipement correspondant
AssignCommand(oPC, GiveGoldToCreature(oPC, OrPretreRoublard())); //Or
break;
case 3:
EquipDruid(oPC); //Equipement correspondant
AssignCommand(oPC, GiveGoldToCreature(oPC, OrDruid())); //Or
break;
case 4:
EquipGuerrier(oPC); //Equipement correspondant
AssignCommand(oPC, GiveGoldToCreature(oPC, OrGuerrierPaladinRodeur())); //Or
break;
case 5:
EquipMoine(oPC); //Equipement correspondant
AssignCommand(oPC, GiveGoldToCreature(oPC, OrMoine())); //Or
break;
case 6:
EquipPaladin(oPC); //Equipement correspondant
AssignCommand(oPC, GiveGoldToCreature(oPC, OrGuerrierPaladinRodeur())); //Or
break;
case 7:
EquipRodeur(oPC); //Equipement correspondant
AssignCommand(oPC, GiveGoldToCreature(oPC, OrGuerrierPaladinRodeur())); //Or
break;
case 8:
EquipRoublard(oPC); //Equipement correspondant
AssignCommand(oPC, GiveGoldToCreature(oPC, OrPretreRoublard())); //Or
break;
case 9:
EquipSorcier(oPC); //Equipement correspondant
AssignCommand(oPC, GiveGoldToCreature(oPC, OrMageEnsorceleur())); //Or
break;
case 10:
EquipMagicien(oPC); //Equipement correspondant
AssignCommand(oPC, GiveGoldToCreature(oPC, OrMageEnsorceleur())); //Or
break;
}

//Donne les objets communs pour tous les joueurs
EquipPourTous(oPC);

//Donne 1 xp au joueur pour identifier qu'il n'est plus un nouveau joueur
GiveXPToCreature(oPC, 1);
}
}
}


void DestroySlotEquipment(object oPC, int iCslot = FALSE)
{
int iSlot, iCount;
iSlot = 13;
iCount = 0;

if(iCslot == TRUE)
{
iSlot = 17;
}

while(iCount <= iSlot)// Boucle qui test les slot par rapport au compteur
{
iCount ++;
DestroyObject(GetItemInSlot(iCount, oPC));// Destruction des Items dans les Slots
}
}


void DestroyInventoryEquipment(object oPC)
{
object oItem = GetFirstItemInInventory(oPC);

while(oItem != OBJECT_INVALID)// Boucle qui vide l'inventaire
{
DestroyObject(oItem);// Destruction des Items
oItem = GetNextItemInInventory(oPC);
}
}


void DestroyAllEquipment(object oPC, int iCslot = FALSE)
{
DestroyInventoryEquipment(oPC);
DestroySlotEquipment(oPC, iCslot);
}
Revenir en haut Aller en bas
https://aelor.actifforum.com/index.forum
Miltiades
Miltiades, paladin de Tyr
Miltiades


Nombre de messages : 551
Localisation : En train de chatier le mal
Date d'inscription : 16/12/2005

script équipement à la première connection selon la classe Empty
MessageSujet: Re: script équipement à la première connection selon la classe   script équipement à la première connection selon la classe EmptySam 14 Jan - 11:02

Je pense qu'en mettant ça , on pourrait définir un équipement spécifique à chaque classe qui serait différent du sempiternel équipement de base de nwn.

ex:un guerrier on pourrait lui donner une armure lourde standard, une épée longue et un bouclier.

druide ==> un baton, une toge et un autre item.

Ca aiderait bien les pj pour débuter je pense
Revenir en haut Aller en bas
https://aelor.actifforum.com/index.forum
Ba'elzaden
Maitre d'Aelor
Ba'elzaden


Nombre de messages : 909
Date d'inscription : 15/12/2005

script équipement à la première connection selon la classe Empty
MessageSujet: Re: script équipement à la première connection selon la classe   script équipement à la première connection selon la classe EmptySam 14 Jan - 14:19

Sur le principe je suis pour... le problème est que faudra alors revoir l'équilibrage ce qui serait long.
Revenir en haut Aller en bas
Gimli Oakenshield
L'ignorant en Hardware
Gimli Oakenshield


Nombre de messages : 783
Localisation : Près de mon ordi !
Date d'inscription : 15/12/2005

script équipement à la première connection selon la classe Empty
MessageSujet: Re: script équipement à la première connection selon la classe   script équipement à la première connection selon la classe EmptySam 14 Jan - 14:52

Je peux faire ça mais déja celui là est trop long et va bouffer plein de ressources ...
Et en plus il est pas super équilibré ... le mien est mieu sans vouloir te vexer miltia ^^
Revenir en haut Aller en bas
Miltiades
Miltiades, paladin de Tyr
Miltiades


Nombre de messages : 551
Localisation : En train de chatier le mal
Date d'inscription : 16/12/2005

script équipement à la première connection selon la classe Empty
MessageSujet: Re: script équipement à la première connection selon la classe   script équipement à la première connection selon la classe EmptySam 14 Jan - 14:56

je ne me vexe pas, celui-ci je l'ai trouvé sur le net^^

si le tien est mieux alors prends-le pas de de soucis ^^
Revenir en haut Aller en bas
https://aelor.actifforum.com/index.forum
Gimli Oakenshield
L'ignorant en Hardware
Gimli Oakenshield


Nombre de messages : 783
Localisation : Près de mon ordi !
Date d'inscription : 15/12/2005

script équipement à la première connection selon la classe Empty
MessageSujet: Re: script équipement à la première connection selon la classe   script équipement à la première connection selon la classe EmptyDim 15 Jan - 1:11

Faut juste me donner les objets a donner ...
Revenir en haut Aller en bas
Contenu sponsorisé





script équipement à la première connection selon la classe Empty
MessageSujet: Re: script équipement à la première connection selon la classe   script équipement à la première connection selon la classe Empty

Revenir en haut Aller en bas
 
script équipement à la première connection selon la classe
Revenir en haut 
Page 1 sur 1

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Aelor :: Archives :: Editeur :: Script-
Sauter vers: