View Full Version: pour faire des profiles

RunUO.FR Support > comment on fait ... > pour faire des profiles


Title: pour faire des profiles
Description: genre races/classes


Dihel - September 9, 2004 12:12 PM (GMT)
le profile se serai quoi ?
il serai composé de 2 valeur en plus dans le playermobile
-Race
-Classe

chaque classe et race a son propre skillcap et statcap (ainsi que d'autre reigles)
le gm aurais juste a modifier ces 2 valeur pour changer le statcap et skillcap.

le profile race est plus general que celui classe
ainsi 2 joueur de meme classe mais de race diferante n'aurai pas les meme capacitées.

je voudrais utilisé ce system car les changememnt de race et de classe seront assé... frecant.

sela devrait aussi etre aplicable sur les pnj

slade15 - September 9, 2004 12:43 PM (GMT)
dsl mais j'ai pas trop bien compris ce que tu veux savoir

Dihel - September 9, 2004 01:09 PM (GMT)
je voudrais le le statcap skill cap du mobile soit celui de son profile
se qui fait qu'en changeant le profile, je change le statcap/skillcap.

fodrais peut etre faire un override du statcap/skillcap de Mobile
lui disant de retrouner la valeur du stacap/skillcap du profile.

Zenryl - September 10, 2004 06:19 PM (GMT)
ba regarde dans system y a mon jolie truc appelle gate de classe ça marche, en rajoutant quelque fonction ça doit pouvoir faire ce que tu veux

Dihel - September 10, 2004 07:26 PM (GMT)
non c'est pas ca, ca je sais deja le faire...
je vreai plus une sorte de fichier de config quoi...
mais je ne sai spas si ca pass comm je le voi...

genre

herboriste
{
double magery_cap = 70;
double mining_cap = 20;
...
}

ou le mieu serai de faire un truk comm le Skills[]
mais en SkillsCap[]

comm ca j'aurais juste a faire une pitite boucle

for(int i = 0;i<=m.Skills.lengh;m.Skills[i] = herboriste.SkillsCap[i] );

le herboriste serai un truk static non instanciable

mais je ne voi pas comment on code ca....

slade15 - September 11, 2004 01:18 AM (GMT)
oui c'est fesable , j'ai un truc similaire, enfin si j'ai bien compris ce que tu veux

on peut utiliser un tableaux a 2 dimension


envoi moi comme ca , et je ferai ton truc

nomDeLaRace { skillCap, skillCap, ..... } (chaque skillCap correspond a une skill)
ex:
herboriste { 25,23,54,...}

de preference met les skill dans l'ordre du SkillName, sinon indique moi l'ordre que tu a mis

Dihel - September 11, 2004 11:58 AM (GMT)
humm ... l'ordre pour les skills serai celui tu tableau Skills[]
mais en fait se serai un peut plus complex.
hum
CODE
Herboriste
{
   SkillsCap
   {
       100,//magery
       20, //mining
       ...
   }
   canSwim = true,
   canFly = false,  
   ...
}

accessible avec un truk du genre
CODE

Mobile m;
for(int i = 0;i<=m.Skills.lengh;m.Skills[i] = herboriste.SkillsCap[i] );
m.canSwim = Herboriste.canSwim;


le must serai de remplacer le Herboriste par une variable que l'on aurai en entrée de fonction
ro mais seraisj con ....?
ne suije pas entrain de remanter un structure tt siplement ?

slade15 - September 11, 2004 01:25 PM (GMT)
tu m'a pas repondu mais c'est pas grave, voici comment faire

CODE

enum race
{
Herboriste,
Orc,
Humain
}

public static int[,] TabSkillCap =  {
                                {100,100,100,100,100,100,100,100,100,100,100}, //Herboriste
                                  {50,70,100,110,100,95,90,80,75,70,70}, //orc
                                  {40,60,80,100,110,100,95,90,85,70,60} //humain
                                };

//si tu fait comme tu essaye de faire tu devra utiliser un swich ou plein de if pour les diferentes races n'est ce pas?
/*
if(race==herboriste)
{
Mobile m;
for(int i = 0;i<=m.Skills.lengh;m.Skills[i] = herboriste.SkillsCap[i] );
m.canSwim = Herboriste.canSwim;
}
if(race==Humain)
{
 Mobile m;
for(int i = 0;i<=m.Skills.lengh;m.Skills[i] = Humain.SkillsCap[i] );
m.canSwim = Herboriste.canSwim;

}
*/

//comme je propose tu n'a pas besoin de tout les if
//tu met dans ton PlayerMobile une variable race (tu doit surment l'avoir deja) et le tout est joué

PlayerMoblie player = (PlayerMobile) m;      
for(int i = 0;i<=TabSkillCap[player.race,0].lengh;i++)
{
player.Skills[i] = TabSkillCap[player.race,i];
}


tu aura surement des error de compile contacte moi sur msn et je pourai t'aider


Didi - September 11, 2004 01:43 PM (GMT)
moi j'irais plutot avec un system d'entry et d'héritage pour ton truc

Dihel - September 13, 2004 11:47 AM (GMT)
QUOTE (Didi @ Sep 11 2004, 02:43 PM)
moi j'irais plutot avec un system d'entry et d'héritage pour ton truc

peut tu developer par un exemple stp ?




Hosted for free by InvisionFree