Logo Khaganat
Traductions de cette page?:

Cette page n'est pas tagué correctement.

Ceci est une ancienne révision du document !


Skills

Sur cette page je vais essayer de resumer toute mes recherches sur les skills leur génération a partir de fichiers, ce qu'il faut modifier pour en ajouter, …

Issue corespondante sur gitlab: https://git.khaganat.net/khaganat/khanat-ressources/issues/2

Scoui

Nomentlature

Les nom des skill peuvent se décomposer en PLACEHOLDER parties.

La première lettre sera toujours la même signifiant simplement que c'est un skill.

S = Skill

La deuxieme lettre correspond au type de la compétence comme suit.

C = Craft D = Défense F = Fight H = Harvest M = Magic

skill_extractor

skill_extrator.exe génère lui même les fichiers skills.cpp et skills.h contenant l'enumeration des code des skills.

Structure des fichiers sources (xml, txt, ... ) générés par skill_extractor.exe

Resultat de la fonction void writeInSheet(COFile &fo)

<STRUCT Name="NormalizedSkillName">
	<ATOM Name="Skill" Value="SkillName" />
	<ATOM Name="SkillCode" Value="Code" />
	<ATOM Name="MaxSkillValue" Value="Code" />
	<ATOM Name="Type of Stage" Value="MaxValue" />
 
	<ATOM Name="ParentSkill" Value="ParentSkill" />
	<ATOM Name="ParentSkill\" Value="" />
	<ARRAY Name="ChildSkills">
		<ATOM Name="Children_NormalizedSkillName" Value="Children_SkillName" />
	</ARRAY>
</STRUCT>

skill_codes.txt

// Liste des skill et code associé sous la forme:
NormalizedSkillName	    Code

.typ file

<?xml version="1.0"?>
<TYPE Type="String" UI="NonEditableCombo" Default="unknown" Version="0.1" State="modified">
  <DEFINITION Label="unknown" Value="unknown"/>
  <DEFINITION Label="SkillName" Value="NormalizedSkillName"/>
</TYPE>

.dfn file

<?xml version="1.0"?>
<DFN Version="0.0" State="modified">
  <!-- note du scoui: la valeur de Filename "creature_stat.typ" est hardcodé -->
  <ELEMENT Name="NormalizedSkillName" Type="Type" Filename="creature_stat.typ"/>
</DFN>

skills.pds

// NbSkills in enum : size  Report this in database.xml
file "skills.h"
{
    enum TSkill
    {
        BeginSkill
        {
            NormalizedSkillName
,
			NormalizedSkillName
			// note du scoui: etc... pour chaque skill
		}
	} EndSkill
}

Man

Create a file .typ for george contained a subset of skills
SKILL_EXTRACTOR <output file> <input file skills> <[<selector> ...]
	param 1 : create tree (yes) or no (no)\n");
    if output file have .typ extension, generate .typ george file format
    if output file have .dfn extension, generate .dfn george file format
    param 3 is sheet2 of SkillCategory.xls exported in csv format
    Selector is category present in input file, selectors begins by '+' for or operation and by '.' for and operation
    the first selector must be or operation (begin by '+' character)

skill_extractor.cfg

Pour le moment cette partie n'est qu'une version brute de ce que j’extrais directement du code source et sera à compléter/détailler par la suite, je le met comme ça pour déjà avoir une base en utilisant les nom de variable du code afin de voir un peu mieux ce qui attendu.

// csv file
CsvDir
// path for the generated source files
SrcDir
// path for the generated source files
PdsDir
// path for the generated dfn
DfnDir
// path for the generated skill tree
SkillTreeDir

dfn, typ

// skill name
skillName
// code
Code
// parent skill
ParentSkill
// max skill value
MaxValue
// stage type
StageType
// main category
MainCategory
// secondary category
SecondaryCategory

Matériel de recherche

Liste des fichiers utiles

Liste des skills

Source: khanat-code\code\ryzom\common\src\game_share\skills.h

	enum ESkills
	{
		SC = 0,
		SCA,
		SCAH,
		SCAHB,
		SCAHBE,
		SCAHBEM,
		SCAHG,
		SCAHGE,
		SCAHGEM,
		SCAHH,
		SCAHHE,
		SCAHHEM,
		SCAHP,
		SCAHPE,
		SCAHPEM,
		SCAHS,
		SCAHSE,
		SCAHSEM,
		SCAHV,
		SCAHVE,
		SCAHVEM,
		SCAL,
		SCALB,
		SCALBE,
		SCALBEM,
		SCALG,
		SCALGE,
		SCALGEM,
		SCALP,
		SCALPE,
		SCALPEM,
		SCALS,
		SCALSE,
		SCALSEM,
		SCALV,
		SCALVE,
		SCALVEM,
		SCAM,
		SCAMB,
		SCAMBE,
		SCAMBEM,
		SCAMG,
		SCAMGE,
		SCAMGEM,
		SCAMP,
		SCAMPE,
		SCAMPEM,
		SCAMS,
		SCAMSE,
		SCAMSEM,
		SCAMV,
		SCAMVE,
		SCAMVEM,
		SCAS,
		SCASB,
		SCASBE,
		SCASBEM,
		SCASS,
		SCASSE,
		SCASSEM,
		SCJ,
		SCJA,
		SCJAA,
		SCJAAE,
		SCJAAEM,
		SCJB,
		SCJBA,
		SCJBAE,
		SCJBAEM,
		SCJD,
		SCJDA,
		SCJDAE,
		SCJDAEM,
		SCJE,
		SCJEA,
		SCJEAE,
		SCJEAEM,
		SCJP,
		SCJPA,
		SCJPAE,
		SCJPAEM,
		SCJR,
		SCJRA,
		SCJRAE,
		SCJRAEM,
		SCM,
		SCM1,
		SCM1A,
		SCM1AE,
		SCM1AEM,
		SCM1D,
		SCM1DE,
		SCM1DEM,
		SCM1M,
		SCM1ME,
		SCM1MEM,
		SCM1P,
		SCM1PE,
		SCM1PEM,
		SCM1S,
		SCM1SE,
		SCM1SEM,
		SCM1T,
		SCM1TE,
		SCM1TEM,
		SCM2,
		SCM2A,
		SCM2AE,
		SCM2AEM,
		SCM2M,
		SCM2ME,
		SCM2MEM,
		SCM2P,
		SCM2PE,
		SCM2PEM,
		SCM2S,
		SCM2SE,
		SCM2SEM,
		SCMC,
		SCMCA,
		SCMCAE,
		SCMCAEM,
		SCR,
		SCR1,
		SCR1P,
		SCR1PE,
		SCR1PEM,
		SCR2,
		SCR2A,
		SCR2AE,
		SCR2AEM,
		SCR2L,
		SCR2LE,
		SCR2LEM,
		SCR2R,
		SCR2RE,
		SCR2REM,
		SF,
		SFM,
		SFM1,
		SFM1B,
		SFM1BM,
		SFM1BMM,
		SFM1BS,
		SFM1BSM,
		SFM1P,
		SFM1PS,
		SFM1PSM,
		SFM1S,
		SFM1SA,
		SFM1SAM,
		SFM1SS,
		SFM1SSM,
		SFM2,
		SFM2B,
		SFM2BM,
		SFM2BMM,
		SFM2P,
		SFM2PP,
		SFM2PPM,
		SFM2S,
		SFM2SA,
		SFM2SAM,
		SFM2SS,
		SFM2SSM,
		SFMC,
		SFMCA,
		SFMCAD,
		SFMCADM,
		SFMCAH,
		SFMCAHM,
		SFR,
		SFR1,
		SFR1A,
		SFR1AP,
		SFR1APM,
		SFR2,
		SFR2A,
		SFR2AA,
		SFR2AAM,
		SFR2AL,
		SFR2ALM,
		SFR2AR,
		SFR2ARM,
		SH,
		SHF,
		SHFD,
		SHFDA,
		SHFDAE,
		SHFDAEM,
		SHFF,
		SHFFA,
		SHFFAE,
		SHFFAEM,
		SHFJ,
		SHFJA,
		SHFJAE,
		SHFJAEM,
		SHFL,
		SHFLA,
		SHFLAE,
		SHFLAEM,
		SHFP,
		SHFPA,
		SHFPAE,
		SHFPAEM,
		SM,
		SMD,
		SMDA,
		SMDAA,
		SMDAAE,
		SMDAAEM,
		SMDH,
		SMDHA,
		SMDHAE,
		SMDHAEM,
		SMO,
		SMOA,
		SMOAA,
		SMOAAE,
		SMOAAEM,
		SMOE,
		SMOEA,
		SMOEAE,
		SMOEAEM,
 
		NUM_SKILLS,
		unknown,
		any,
	};

Traveaux lier aux compétences

CC Attribution-Share Alike 4.0 International Driven by DokuWiki
fr/skills.1479290359.txt.gz · Dernière modification : 2021/12/03 19:18 (modification externe)

Licences Mentions légales Accueil du site Contact