mirror of
https://port.numenaute.org/aleajactaest/khanat-opennel-code.git
synced 2024-12-30 12:50:53 +00:00
2351 lines
88 KiB
Text
2351 lines
88 KiB
Text
|
||
// ***************************************************************************
|
||
// ***************************************************************************
|
||
// INTERFACE COMMANDS
|
||
// ***************************************************************************
|
||
// ***************************************************************************
|
||
|
||
|
||
|
||
Fichier de definition des commandes et paramtres de l'interface
|
||
|
||
|
||
Note: dans la syntaxe et la description des parmptres, la valeur indique est la valeur par dffaut
|
||
|
||
Note: le X va vers la droite, le Y vers le haut. Les valeurs sont en pixels
|
||
|
||
Note: DERIVANT DE veut dire qu'on peut mettre les meme parametres que celui de qui on derive
|
||
les modifiables sont aussi herites
|
||
|
||
Note: MODIFIABLE veut dire que l'on peut modifier un paramtres dans le script (avec un link par exemple)
|
||
|
||
Note: OBLIGATOIRE veut dire que l'option doit tre presente sinon il y a crash ou non fonctionnement
|
||
|
||
Note: Identifiant de localisation local de type string (fait reference a un id de en.uxt par exemple)
|
||
Identifiant de localisation reseau de type integer
|
||
|
||
// ***************************************************************************
|
||
// ***************************************************************************
|
||
// BASICS
|
||
// ***************************************************************************
|
||
// ***************************************************************************
|
||
|
||
chaque vue, control, ou group DERIVE DE interface_element et peut avoir les parametres suivant:
|
||
|
||
<view_ctrl_group
|
||
id="" // id de l element. OBLIGATOIRE
|
||
active="true" // affiche ou pas
|
||
x="0" // position en X relative posref et posparent
|
||
y="0" // position en Y relative posref et posparent
|
||
w="0" // Taille de l element. Si l element possde un parent, prend le W du parent par defaut
|
||
h="0" // Taille de l element. Si l element possde un parent, prend le H du parent par defaut
|
||
posref="BL BL" // position de reference (Bottom Left, MiddleMiddle etc...)
|
||
// Se lit "PositionDuParent MaPosition"
|
||
// Ex: "BL TR" signifie "mon Top Right est fix<69> sur le Bottom Left du parent"
|
||
posparent="parent" // Definit le parent de l element pour ce qui est du positionnement
|
||
sizeref="" // valeurs possibles: "w", "h", "wh", "w?h?" ou ? est un facteur entre 1 et 9.
|
||
// Dans ce cas la taille du parent est multiplie par ce facteur puis divisee par 10.
|
||
// Au moment de l affichage, ajoute la taille du parent W ou/et H a celle definit par
|
||
// w="" et h="". example: "w2h" implique que WAffiche = W + 2*parentW/10 et que
|
||
// HAffiche = H + parentH
|
||
sizeparent="" // Indique le parent que l on prend pour le calcul des tailles WAffiche et HAffiche si cette
|
||
// valeur n est pas specifiee alors on prends le posparent pour le calcul de la taille
|
||
global_color="true" // si true modulate la couleur par la couleur globale
|
||
|
||
render_layer="0" // valeur de -16 <20> +14 decale l ordre de rendu de l <20>lement.
|
||
avoid_resize_parent="false" // Si cette valeur est mise a true, un group ayant un child_resize_x ne
|
||
// prendra pas en compte cet element pour se resizer
|
||
/>
|
||
|
||
MODIFIABLE: active (bool)
|
||
x, y, w, h (int)
|
||
|
||
// ***************************************************************************
|
||
// ***************************************************************************
|
||
// VIEWS
|
||
// ***************************************************************************
|
||
// ***************************************************************************
|
||
|
||
Une vue a un type qui est dfinit par le parametre type="".
|
||
|
||
<view type="" />
|
||
|
||
MODIFIABLE: alpha (int)
|
||
|
||
// ***************************************************************************
|
||
// <view type="bitmap" />
|
||
// ***************************************************************************
|
||
|
||
BUT:
|
||
affiche une bitmap
|
||
|
||
SYNTAXE:
|
||
<view type="bitmap"
|
||
color="255 255 255 255" // couleur (modulate) de la bitmap
|
||
texture="" // fichier de la texture
|
||
scale="false" // si false, le W et le H sont forcs 7 etre de la taille de la texture
|
||
rot="0" // definit valeur de rotation de la bitmap
|
||
flip="false"
|
||
tile="false"
|
||
align="0"
|
||
/>
|
||
|
||
MODIFIABLE: color (string)
|
||
color_as_int (int)
|
||
color_rgba (rgba)
|
||
texture (string)
|
||
alpha (int)
|
||
|
||
// ***************************************************************************
|
||
// <view type="background" />
|
||
// ***************************************************************************
|
||
|
||
Vue DERIVANT DE <view type="bitmap" />
|
||
|
||
BUT:
|
||
affiche une bitmap dans des textures non condenses (plusieurs textures dans une seule)
|
||
|
||
SYNTAXE:
|
||
<view type="background"
|
||
txtoffsetx="0" // offset dans la texture (en haut a gauche et positif vers le bas a droite)
|
||
txtoffsety="24" // offset dans la texture
|
||
txtwidth="800" // taille de la texture
|
||
txtheight="488"
|
||
/>
|
||
|
||
texture sert pour le nom de la texture toute seule
|
||
|
||
// ***************************************************************************
|
||
// <view type="text" />
|
||
// ***************************************************************************
|
||
|
||
BUT:
|
||
affiche un text
|
||
|
||
SYNTAXE:
|
||
<view type="text"
|
||
color="255 255 255 255" // couleur (modulate) du text
|
||
fontsize="12"
|
||
shadow="false"
|
||
shadow_color="0 0 0 255" // la couleur de l ombre du texte
|
||
hardtext="" // si present definit le text afficher. (Identifiant de localisation local)
|
||
multi_line="false"
|
||
multi_line_space="8"
|
||
justification="dont_clip_word" // clip_word : pas de justification
|
||
// dont_clip_word : Mots non coup<75>s et non justifi<66>s
|
||
// justified : Mots non coup<75>s et justifi<66>s
|
||
underlined="false" // sous ligne la phrase
|
||
case_mode="0" // Regle de majuscule
|
||
// 0 : CaseNormal Pas de modification majuscule minuscule
|
||
// 1 : CaseLower Toutes les lettres sont force en minuscule
|
||
// 2 : CaseUpper Toutes les lettres sont forcees en majuscule
|
||
// 3 : CaseFirstStringLetterUp La premiere lettre de la string est en majuscule
|
||
// 4 : CaseFirstSentenceLetterUp La premiere lettre de la string et des phrases
|
||
// suivantes (separes par un .) sont en majuscule
|
||
// 5 : CaseFirstWordLetterUp La premiere lettre de chaque mot est en majuscule
|
||
|
||
line_maxw="16384" // maximum size of the line (multiline: minimized with the current wreal of the parent)
|
||
multi_line_maxw_only="false" // multiline: don t minimize linemaxw with parent wreal. Use only linemaxw
|
||
|
||
over_extend_view_text="false" // usefull only if some line_maxw specified. if true and if the text is clipped cause
|
||
// of line_maxw, and if the mouse over the view text, then a special tooltip will be
|
||
// displayed over, to show all the text
|
||
over_extend_parent_rect="false" // true to use in conjunction of over_extend_view_text: the over area is the parent, not the view
|
||
auto_clamp="true" // when set to true, dots '...' will be added to the end of the line if the text is clipped by its parent (single line only)
|
||
continuous_update="true" // multiline text justification is recomputed continuously as the window parent is resized (not when the left button is released only)
|
||
// default is "false"
|
||
/>
|
||
|
||
MODIFIABLE: hardtext (string)
|
||
uc_hardtext (ucstring)
|
||
color (string ('#r #g #b #a'))
|
||
color_rgba (rgba)
|
||
alpha (int)
|
||
|
||
NOTE: IL NE FAUT PAS mettre de sizeref sur une vue texte.
|
||
|
||
NOTE: Les vue textes peuvent prendre la forme de "TextFormatTagged".
|
||
MAIS SEULES les vues textes multilignes interpr<70>tent correctement les tags.
|
||
Les Tags possibles sont:
|
||
@{F3DF} Tag De couleur (en hexadecimal, d<>fintion avec 0 <20> F (0 <20> 15 maxi only donc) pour chaque composante RGBA)
|
||
@{T10} Tag de Tabulation. Le chiffre indique l'espacement minimum (en nombre de caract<63>re '_')
|
||
|
||
NOTE: Il n'est pas posssible de pr<70>ciser un TextFormatTaged, autrement que par code C++, ou via la fonction LUA:
|
||
setTextFormatTaged()
|
||
|
||
|
||
// ***************************************************************************
|
||
// <view type="text_id" />
|
||
// ***************************************************************************
|
||
|
||
BUT:
|
||
Vue DERIVANT DE <view type="text" />
|
||
affiche un text en fonction d'un identifiant reseau (c'est une chaine de character equivalent a set_server_string (ah))
|
||
|
||
SYNTAXE:
|
||
<view type="text"
|
||
textid="" // lien database vers un identifiant ("UI:TEMP:VAR1") ou identifiant lui meme ("654123")
|
||
dynamic_string="true" // si true la phrase est composee (CStringManagerClient::getDynString),
|
||
// sinon c est un identifiant server (CStringManagerClient::getString)
|
||
/>
|
||
|
||
MODIFIABLE: textid (int)
|
||
textid_dblink (string)
|
||
|
||
// ***************************************************************************
|
||
// <view type="text_number" />
|
||
// ***************************************************************************
|
||
|
||
BUT:
|
||
Vue DERIVANT DE <view type="text" />
|
||
Affiche une entre de la database (un nombre entier) sous forme de text
|
||
|
||
SYNTAXE:
|
||
<view type="text_number"
|
||
value="" // Lien vers la database pour lire la valeur OBLIGATOIRE.
|
||
positive="true"
|
||
suffix=""
|
||
prefix=""
|
||
format="false" // make the number thousands formatted
|
||
/>
|
||
|
||
|
||
// ***************************************************************************
|
||
// <view type="text_formated" />
|
||
// ***************************************************************************
|
||
|
||
BUT:
|
||
Vue DERIVANT DE <view type="text" />
|
||
Affiche un texte. Si le texte contient les caracteres speciaux suivant, il y a un traitement particulier
|
||
$p -> remplace par le nom du joueur
|
||
$P -> remplace par le nom du joueur en lettre capitale
|
||
$b -> remplace par le nom du NPC auquel le joueur est en train de parler
|
||
$s -> remplace par le nom du NPC auquel le joueur est en train de parler (sans le titre)
|
||
ui... -> remplace par la traduction i18n (puis effectue les remplacements precedent)
|
||
|
||
SYNTAXE:
|
||
<view type="text_formated"
|
||
format="$b" // chaine a remplacer (par defaut chaine vide)
|
||
/>
|
||
|
||
// ***************************************************************************
|
||
// <view type="text_id_formated" />
|
||
// ***************************************************************************
|
||
|
||
BUT:
|
||
Vue DERIVANT DE <view type="text_id" />
|
||
Un peu dans le meme esprit que la vue text_formated. Elle possede les memes traitements particuliers que
|
||
text_formated auxquels il faut y rajouter :
|
||
$t -> remplace par la valeur du text id
|
||
|
||
SYNTAXE:
|
||
<view type="text_id_formated"
|
||
format="$t" // Par defaut
|
||
textid="SERVER:BOTCHAT:DM_CHOICE2:TITLE"
|
||
/>
|
||
|
||
// ***************************************************************************
|
||
// <view type="text_quantity" />
|
||
// ***************************************************************************
|
||
|
||
BUT:
|
||
Vue DERIVANT DE <view type="text" />
|
||
Affiche un nombre de la database sous la forme "8/10" (avec donc une valeur max de la database).
|
||
Si le nombre est 0, cela affiche la string emptytext.
|
||
Par defaut emptytext="", et dans ce cas, "0/80" est affich (80 est la vraie valeur max en fait)
|
||
|
||
SYNTAXE:
|
||
<view type="text_quantity"
|
||
value="" // Lien vers la database pour lire la valeur OBLIGATOIRE.
|
||
valuemax="" // Lien vers la database pour lire la valeur Max. OBLIGATOIRE.
|
||
emptytext="" // quand valeur==0, string afficher. "" veut dire affiche 0/valeurMax
|
||
/>
|
||
|
||
NB : emptytext contient un identifiant de localization local
|
||
|
||
// ***************************************************************************
|
||
// <view type="digit" />
|
||
// ***************************************************************************
|
||
|
||
BUT:
|
||
Vue speciale qui affiche un nombre avec des digits speciaux (bitmaps).
|
||
|
||
SYNTAXE:
|
||
<view type="digit"
|
||
value="SERVER:...." // lien sur la database. OBLIGATOIRE
|
||
numdigit="2" // nombre de digit affichs (eg 00 si la valeur est nulle). Defaut:2. Min:1 et Max: 10
|
||
wspace="-1" // espacement en pixel entre chaque digit. Defaut: -1
|
||
color="255 255 255 255" // comme les boutons, blanc par defaut
|
||
/>
|
||
|
||
La taille totale est automatiquement calcule en fonction du digit 0 et du nombre de digit.
|
||
bien sur, x,y,posref etc... marche toujours
|
||
|
||
|
||
// ***************************************************************************
|
||
// <view type="bar" />
|
||
// ***************************************************************************
|
||
|
||
BUT:
|
||
Vue DERIVANT DE <view type="bitmap" />
|
||
affiche une valeur sous forme de bar. Pour l instant 4 versions : (normal, mini, ultra_mini et mini_thick)
|
||
les bitmaps utilisees sont hardcodees en c++
|
||
|
||
SYNTAXE:
|
||
<view type="bar"
|
||
value="" // valeur courante (Valeur ou Lien DB)
|
||
range="" // range (Valeur ou Lien DB)
|
||
reference="" // Valeur soustraire de value et range (exemple: gestion de temps).(Valeur ou Lien DB)
|
||
color_negative="" // couleur quand les valeurs sont negatives
|
||
mini="true" // Affiche la version mini
|
||
ultra_mini="true" // Affiche la version ultra mini
|
||
mini_thick="true" // Affiche la version mini thick
|
||
/>
|
||
|
||
MODIFIABLE:
|
||
value (int)
|
||
range (int)
|
||
reference (int)
|
||
value_dblink (string)
|
||
range_dblink (string)
|
||
reference_dblink (string)
|
||
|
||
// ***************************************************************************
|
||
// <view type="bar3" />
|
||
// ***************************************************************************
|
||
|
||
BUT:
|
||
Vue DERIVANT DE <view type="bitmap" />
|
||
un peu dans le meme esprit que "bar" mais affiche directement 3 barres
|
||
|
||
SYNTAXE:
|
||
<view type="bar3"
|
||
value1=""
|
||
value2=""
|
||
value3=""
|
||
range1=""
|
||
range2=""
|
||
range3=""
|
||
color1=""
|
||
color2=""
|
||
color3=""
|
||
color1_negative=""
|
||
color2_negative=""
|
||
color3_negative=""
|
||
mini="true"
|
||
/>
|
||
|
||
MODIFIABLE:
|
||
value1 (int)
|
||
value2 (int)
|
||
value3 (int)
|
||
range1 (int)
|
||
range2 (int)
|
||
range3 (int)
|
||
|
||
// ***************************************************************************
|
||
// ***************************************************************************
|
||
// CONTROLS
|
||
// ***************************************************************************
|
||
// ***************************************************************************
|
||
|
||
DERIVE DE <view type="" />
|
||
Un control a un type qui est d<>finit par le param<61>tre type="".
|
||
|
||
<ctrl type=""
|
||
tooltip="" // aide contextuelle par defuat
|
||
tooltip_i18n="" // idem tooltip, mais cherche forc<72>ment la d<>finition dans le wk.uxt,
|
||
// m<>me si le texte ne commence pas par "ui"
|
||
on_tooltip="" // action handler qui permet de mettre une autre aide contextuelle
|
||
on_tooltip_params="" // les parametres de l action handler
|
||
instant_help="true" // Est ce que l aide contextuelle a affichee est affichee directement
|
||
|
||
tooltip_parent="ctrl" // "ctrl", "win" ou "mouse". D<>finit le parent relatif lors de l affichage
|
||
// du tooltip.
|
||
"ctrl" veut dire que le tooltip est call<6C> par rapport <20> ce control
|
||
"win" veut dire que le tooltip est affich<63> par rapport <20> la fenetre
|
||
contenant le control
|
||
"mouse" veut dire que le tooltip est call<6C> par rapport <20> la souris
|
||
tooltip_posref="auto" // Position de r<>f<EFBFBD>rence du tooltip par rapport <20> son parent (cf tooltip_parent)
|
||
"auto" la posution de r<>f<EFBFBD>rence est chosie intelligement suivant le
|
||
type de parent:
|
||
"ctrl": "TL BR" ou "TR BL" suivant que la fenetre contenant
|
||
le control est plus <20> gauche ou <20> droite
|
||
"win": "TL BL" ou "BL TL" suivant que la fenetre contenant
|
||
le control est plus en haut ou en bas
|
||
"mouse": "BL BL"
|
||
"TL BR" (ou toute autre position de r<>f<EFBFBD>rence possible): calage fixe
|
||
|
||
/>
|
||
|
||
MODIFIABLE: alpha (int)
|
||
|
||
// ***************************************************************************
|
||
// <ctrl type="tooltip" />
|
||
// ***************************************************************************
|
||
|
||
BUT:
|
||
Control qui d<>rive simplement de ctrl_base, et qui ne g<>re aucun <20>venement et n'affiche rien.
|
||
Son seul but est d'avoir une zone pour afficher un tooltip quand on passe dessus.
|
||
|
||
SYNTAXE:
|
||
<ctrl type="tooltip" />
|
||
|
||
|
||
// ***************************************************************************
|
||
// <ctrl type="button" />
|
||
// ***************************************************************************
|
||
|
||
BUT:
|
||
boutton, push, radio ou toggle.
|
||
|
||
SYNTAXE:
|
||
<ctrl type="button"
|
||
button_type="toggle_button" // type du boutton: "toggle_button", "push_button" ou "radio_button"
|
||
pushed="false" // etat pushed par defaut
|
||
color="255 255 255 255" // couleur etat normal
|
||
col_pushed="255 255 255 255" // couleur quand pushed
|
||
col_over="255 255 255 255" // couelur quand over
|
||
global_color_normal="" // remplace le setup global_color pour l etat normal du bouton
|
||
global_color_pushed="" // remplace le setup global_color pour l etat pushed du bouton
|
||
global_color_over="" // remplace le setup global_color pour l etat over du bouton
|
||
tx_normal="" // texture etat normal
|
||
tx_pushed="" // texture etat pushed
|
||
tx_over="" // texture etat over
|
||
scale="false"
|
||
onclick_l="" // action <20> lancer sur un click gauche
|
||
params_l="" // parametres de l action <20> lancer sur un click gauche
|
||
onlongclick_l="" // action a lancer sur un click long
|
||
params_longclick_l=""
|
||
onclick_r="" // action <20> lancer sur un click droit
|
||
params_r="" // parametres de l action <20> lancer sur un click droit
|
||
align="" // si pas de scale et que zone d<>finie plus grande que l image
|
||
menu_l="" // context menu <20> afficher sur un click bouton gauche (voir group de type menu)
|
||
menu_r="" // context menu <20> afficher sur un click bouton droit (voir group de type menu)
|
||
menu_b="" // context menu <20> afficher sur un click bouton droit ou gauche (voir group de type menu)
|
||
frozen="false" // button is frozen
|
||
/>
|
||
|
||
MODIFIABLE: pushed (bool)
|
||
col_normal (string ('#r #g #b #a'))
|
||
col_over (string ('#r #g #b #a'))
|
||
col_pushed (string ('#r #g #b #a'))
|
||
col_normal_rgba (rgba)
|
||
col_over_rgba (rgba)
|
||
col_pushed_rgba (rgba)
|
||
frozen (bool)
|
||
params_l (string)
|
||
|
||
texture (string)
|
||
texture_pushed (string)
|
||
texture_over (string)
|
||
|
||
|
||
// ***************************************************************************
|
||
// <ctrl type="text_button" />
|
||
// ***************************************************************************
|
||
|
||
BUT:
|
||
boutton, push, radio ou toggle.
|
||
|
||
SYNTAXE:
|
||
<ctrl type="text_button"
|
||
button_type="toggle_button" // type du boutton: "toggle_button", "push_button" ou "radio_button"
|
||
pushed="false" // etat pushed par defaut
|
||
color="255 255 255 255" // couleur etat normal
|
||
col_pushed="255 255 255 255" // couleur quand pushed
|
||
col_over="255 255 255 255" // couelur quand over
|
||
global_color_normal="" // remplace le setup global_color pour l etat normal du bouton
|
||
global_color_pushed="" // remplace le setup global_color pour l etat pushed du bouton
|
||
global_color_over="" // remplace le setup global_color pour l etat over du bouton
|
||
|
||
// Textures:
|
||
// contrairement aux boutons, ici il faut mettre seulement "textb_normal" par exemple.
|
||
// les "_l.tga", "_m.tga", "_r.tga" etant ajoutees automatiquement pour trouver respectivement les parties
|
||
// gauches, millieu (celle qui est scal<61>e en X) et droite.
|
||
|
||
tx_normal="" // texture etat normal.
|
||
tx_pushed="" // texture etat pushed.
|
||
tx_over="" // texture etat over.
|
||
onclick_l="" // action <20> lancer sur un click gauche
|
||
params_l="" // parametres de l action <20> lancer sur un click gauche
|
||
onlongclick_l="" // action a lancer sur un click long
|
||
params_longclick_l=""
|
||
onclick_r="" // action <20> lancer sur un click droit
|
||
params_r="" // parametres de l action <20> lancer sur un click droit
|
||
menu_l="" // context menu <20> afficher sur un click bouton gauche (voir group de type menu)
|
||
menu_r="" // context menu <20> afficher sur un click bouton droit (voir group de type menu)
|
||
menu_b="" // context menu <20> afficher sur un click bouton droit ou gauche (voir group de type menu)
|
||
|
||
// Texte infos:
|
||
hardtext=""
|
||
fontsize=""
|
||
shadow=""
|
||
underlined=""
|
||
|
||
// Comportement Special des Couleurs des Textes
|
||
text_color_normal="255 255 255 255"
|
||
text_color_pushed="255 255 255 255"
|
||
text_color_over="255 255 255 255"
|
||
text_shadow_color_normal="0 0 0 255"
|
||
text_shadow_color_pushed="0 0 0 255"
|
||
text_shadow_color_over="0 0 0 255"
|
||
text_global_color_normal=""
|
||
text_global_color_pushed=""
|
||
text_global_color_over=""
|
||
|
||
// Special:
|
||
text_y="" // d<>calage du texte en Y rapport au bouton (-2)
|
||
wmargin="" // taille <20> ajouter au texte pour avoir la taille du bouton
|
||
wmin="" // taille minimum du bouton
|
||
|
||
/>
|
||
|
||
MODIFIABLE: pushed (bool)
|
||
col_normal (string ('#r #g #b #a'))
|
||
col_over (string ('#r #g #b #a'))
|
||
col_pushed (string ('#r #g #b #a'))
|
||
col_normal_rgba (rgba)
|
||
col_over_rgba (rgba)
|
||
col_pushed_rgba (rgba)
|
||
frozen (bool)
|
||
params_l (string)
|
||
|
||
uc_hardtext (ucstring telle quelle)
|
||
hardtext (string qui va etre localisee)
|
||
|
||
|
||
// ***************************************************************************
|
||
// <ctrl type="scroll" />
|
||
// ***************************************************************************
|
||
|
||
BUT:
|
||
scroll bar.
|
||
|
||
SYNTAXE:
|
||
<ctrl type="scroll"
|
||
|
||
tx_bottomleft="" // Les textures du bouton (pas de background affiche) (bottom or left)
|
||
tx_middle=""
|
||
tx_topright="" // top or right (ca depends si la sb est verticale)
|
||
|
||
vertical="" // Est ce que c est une sb verticale ou horizontale
|
||
align="" // T, B, L ou R
|
||
|
||
value="" // Value entree de DB ou nombre (si pas present alors la sb est linke a une target)
|
||
min="" // Si la sb n est pas linke a une target alors le nombre qu elle
|
||
// represente varie de min a max
|
||
tracksize="" // Taille de la track bar (le boutton)
|
||
|
||
onscroll="" // Action Handler appele lorsque la sb est deplacee
|
||
onscrollend="" // Appele quand on arrete de scroller
|
||
params=""
|
||
|
||
target="" // Si la sb n est pas linke a une value alors elle peut etre linke a un group. Dans ce cas
|
||
// le group est se deplace dans la limite de ses max_w et max_h relativement a ses w et h.
|
||
target_stepx="" // Donne la quantite de pixel a deplacer en une fois. Ce qui permet par exemple dans les
|
||
target_stepy="" // listes de sheet d etre cale sur un sheet
|
||
step_value=""
|
||
/>
|
||
|
||
// ***************************************************************************
|
||
// <ctrl type="sheet" />
|
||
// ***************************************************************************
|
||
|
||
BUT:
|
||
affiche un boutton sp<73>cial d'item, brique etc...
|
||
|
||
SYNTAXE:
|
||
<ctrl type="sheet"
|
||
value="" // Lien vers la database. OBLIGATOIRE.
|
||
// example: SERVER:INVENTORY:8:1. NB: lien vers une branche de la database
|
||
// qui DOIT contenir SHEET, et peut avoir QUANTITY et/ou QUALITY
|
||
nature="item" // "item", "brick", "spell"
|
||
brick_type="" // "COMBAT", "MAGIC". may be important for some filter (memory...)
|
||
// Can also put multiple filter like this: "COMBAT|MAGIC|HARVEST"
|
||
tx_noitem=""
|
||
col_noitem="true" // "true": quand pas d item, modulate la couleur avec la couelur globale
|
||
|
||
onclick_l="" // action <20> lancer sur un click gauche
|
||
params_l="" // parametres de l action <20> lancer sur un click gauche
|
||
onclick_r="" // action <20> lancer sur un click droit
|
||
params_r="" // parametres de l action <20> lancer sur un click droit
|
||
|
||
menu_l="" // context menu <20> afficher sur un click bouton gauche (voir group de type menu)
|
||
menu_r="" // context menu <20> afficher sur un click bouton droit (voir group de type menu)
|
||
menu_b="" // context menu <20> afficher sur un click bouton droit ou gauche (voir group de type menu)
|
||
|
||
dragable="false" // drag and drop able?
|
||
oncandrop="" // Action a lancer pour savoir si on peut Droper sur moi.
|
||
params_candrop=""
|
||
ondrop="" // Action a lancer sur un drop sur moi
|
||
params_drop=""
|
||
|
||
use_quantity="true" // display the Item Quantity
|
||
use_quality="true" // display the Item Quality
|
||
duplicate_on_drag="false" // when drag a sheet (item only), leave the bitmap in the original slot
|
||
use_slot_type_db_entry="false" // Automatic Type.
|
||
|
||
grayed="false" // init the sheet as grayed or not
|
||
auto_grayed="false" // Gray auto the sheet according to Item LOCKED state or Brick LATENT state
|
||
slot="true" // Draw the slot
|
||
/>
|
||
|
||
MODIFIABLE:
|
||
sheet (string) (correspond a la value le lien vers la DB)
|
||
color1 (rgba)
|
||
color2 (rgba)
|
||
back (int)
|
||
symbol (int)
|
||
invert_symbol (bool)
|
||
|
||
|
||
// ***************************************************************************
|
||
// <ctrl type="colpick" />
|
||
// ***************************************************************************
|
||
|
||
BUT:
|
||
affiche une image pour choisir que l on puisse choisir une couleur dedans
|
||
|
||
SYNTAXE:
|
||
<ctrl type="colpick"
|
||
texture="color_palette.tga" // La texture a utiliser (texture non groupee!)
|
||
onchange="proc" // Action a lancer des que la couleur selectionnee change
|
||
onchange_params="proc_col_change" // Les parametres de l action
|
||
dbcolr="UI:TEMP:COL:R" // .
|
||
dbcolg="UI:TEMP:COL:G" // .
|
||
dbcolb="UI:TEMP:COL:B" // .
|
||
dbcola="UI:TEMP:COL:A" // Liens direct avec la database de la couleur selectionnee
|
||
/>
|
||
|
||
MODIFIABLE: r, g, b, a (int) les composantes de la couleur selectionnee
|
||
color (string ('#r #g #b #a'))
|
||
|
||
|
||
|
||
// ***************************************************************************
|
||
// ***************************************************************************
|
||
// GROUPS
|
||
// ***************************************************************************
|
||
// ***************************************************************************
|
||
|
||
// ***************************************************************************
|
||
// <group>
|
||
// ***************************************************************************
|
||
|
||
BUT:
|
||
DERIVE DE <ctrl type=""/>
|
||
D<EFBFBD>finit un group qui pourra contenir des groups, des controls ou des vues.
|
||
Aucun affichage n'est fait sinon celui des fils
|
||
Pour qu'un groupe soit affich<63>, il faut qu'il apparaisse dans les <tree node="">
|
||
|
||
SYNTAXE:
|
||
<group
|
||
overlappable="true" // Recupere les evenements
|
||
child_resize_w="false" // si true, resize le groupe en W selon ses fils.
|
||
child_resize_h="false" // si true, resize le groupe en H selon ses fils.
|
||
child_resize_wmargin="0" // si child_resize_w="true" ajoute une marge <20> la largeur totale des fils
|
||
child_resize_hmargin="0" // si child_resize_h="true" ajoute une marge <20> la hauteur totale des fils
|
||
on_active="" // nom d un handler appel<65> quand la fenetre est activ<69>e
|
||
on_active_params="" // parametre pass<73> au handler quand la fenetre est activ<69>e
|
||
on_deactive="" // nom d un handler appel<65> quand la fenetre est d<>sactiv<69>e
|
||
on_deactive_params="" // parametre pass<73> au handler quand la fenetre est sactiv<69>e
|
||
on_enter="" // windows et modal only: Gere l evenement entree : Quand on appuie sur enter (return)
|
||
on_enter_params="" // windows et modal only: Les parametres de l evenement entree
|
||
escapable="false" // windows only: true : ferme la fenetre si ESC appuy<75>e.
|
||
|
||
max_w="" // max_w et max_h definisse la taille maximum a afficher tandis que w et h definsse la
|
||
max_h="" // taille du document (qui est a l interieur et peut donc etre scolle)
|
||
max_sizeref=""
|
||
max_sizeparent=""
|
||
group_onclick_r=""
|
||
group_params_r=""
|
||
group_onclick_l=""
|
||
group_params_l=""
|
||
win_priority=""
|
||
use_cursor=""
|
||
/>
|
||
|
||
MODIFIABLE: ofsx (int)
|
||
ofsy (int)
|
||
|
||
// ***************************************************************************
|
||
// <group type="list">
|
||
// ***************************************************************************
|
||
|
||
BUT:
|
||
|
||
SYNTAXE:
|
||
<group type="list"
|
||
maxelements="10"
|
||
addelt="B" // "B", "T", "L" ou "R"
|
||
align="L" // "B", "T", "L" ou "R"
|
||
space="0"
|
||
chat="false"
|
||
|
||
// Text options
|
||
color=""
|
||
fontsize=""
|
||
shadow=""
|
||
shadow_color=""
|
||
line_at_bottom=""
|
||
multi_line=""
|
||
justification=""
|
||
multi_line_space=""
|
||
|
||
over="false" // doit on afficher la selection sous la souris
|
||
col_over="255 255 255 32" // la couleur de la selection
|
||
|
||
// Initial text
|
||
hardtext="uiAZE" // init la liste avec un texte a identifiant de localisation local
|
||
textid="654" // init la liste avec un texte a identifiant de localisation reseau
|
||
/>
|
||
|
||
|
||
// ***************************************************************************
|
||
// <group type="container">
|
||
// ***************************************************************************
|
||
|
||
Herite de group
|
||
|
||
BUT:
|
||
Afficher un container
|
||
|
||
SYNTAXE:
|
||
<group type="container"
|
||
localize="" // Def:true est ce que le titre doit etre localise ?
|
||
title=""
|
||
title_opened=""
|
||
title_closed=""
|
||
header_active="true"
|
||
header_color="UI:SAVE:MYCOLOR" // db col entry
|
||
right_button="true"
|
||
movable="false" // true == on peut bouger la fenetre
|
||
popable="false" // true == la fenetre peut se detacher de son container parent
|
||
lockable="" // Def:true
|
||
locked="" // Def:false
|
||
openable="true" // peut on ouvrir le container en clickant sur la barre de titre
|
||
opened="false" // l etat initial en ouverture
|
||
open_when_popup="false" // Ouvre le container quand on le popup (le ferme quand popin)
|
||
resizer="true" // est ce que l on peut resizer la fenetre
|
||
|
||
on_open="" // nom dun handler appel<65> quand le container est ouvert
|
||
on_open_params="" // parametre pass<73> au handler quand le container est ouvert
|
||
on_close="" // nom dun handler appel<65> quand le container est ferm<72>
|
||
on_close_params="" // parametre pass<73> au handler quand le container est ferm<72>
|
||
|
||
on_deactive_check=""
|
||
on_deactive_check_params=""
|
||
|
||
max_w=""
|
||
min_w=""
|
||
|
||
pop_max_w=""
|
||
pop_min_w=""
|
||
pop_max_h=""
|
||
pop_min_h=""
|
||
|
||
movable_in_parent_list=""
|
||
savable="true" // true == la fenetre est sauvegard<72>e sur disque et est d<>pendente des modes.
|
||
active_savable=""
|
||
modal_parent=""
|
||
options="" // nom des options a utilisees (pas fonction d un layer)
|
||
/>
|
||
|
||
MODIFIABLE: title, title_opened, title_closed (string)
|
||
uc_title_opened, uc_title_closed, uc_title (ucstring)
|
||
title_color (string)
|
||
pop_max_h (int)
|
||
openable, opened (bool)
|
||
lockable, locked (bool)
|
||
|
||
Note: si global_color est <20> true le bouton et le titre sont color<6F>s par la couleur globale
|
||
|
||
// ***************************************************************************
|
||
// <group type="frame">
|
||
// ***************************************************************************
|
||
|
||
Herite de group
|
||
|
||
BUT:
|
||
comme un group mais affiche un cadre et un fond (fix<69>: bitmaps de la modal).
|
||
|
||
SYNTAXE:
|
||
<group type="frame"
|
||
display="false" // si false n affiche pas la frame (true par defaut)
|
||
color="255 255 255 255"
|
||
/>
|
||
|
||
MODIFIABLE: color (string ('#r #g #b #a'))
|
||
|
||
// ***************************************************************************
|
||
// <group type="modal">
|
||
// ***************************************************************************
|
||
|
||
Herite du group de type "frame" (affiche donc un cadre)
|
||
|
||
BUT:
|
||
Affiche une fenetre qui pourra etre ouverte sur une action. Cach<63>e par defaut (active=false)
|
||
NOTE: un group modal NE DOIT PAS <20>tre d<>fini dans les <tree node="">.
|
||
En fait ils sont automatiquement ajout<75>s
|
||
NB: par defaut les modals sont ESCAPABLE
|
||
|
||
SYNTAXE:
|
||
<group type="modal"
|
||
mouse_pos="true" // si "true", Spawn la fenetre sur la position de la souris, en suivant posref""
|
||
// par exemple posref="BL TL" positionnera le coin TL de la fenetre sur la souris.
|
||
// NB: BL (posref du parent) est donc ignor<6F>e ici
|
||
exit_click_out="true" // si "true" la fenetre modal est ferme<6D> si on clique <20> l exteriru
|
||
exit_click_l="false" // si "true" la fenetre modal est ferme<6D> si on clique sur le bouton gauche
|
||
// (apr<70>s lancement eventuelle action de la modal)
|
||
exit_click_r="false" // si "true" la fenetre modal est ferme<6D> si on clique sur le bouton droit
|
||
// (apr<70>s lancement eventuelle action de la modal)
|
||
exit_click_b="false" // equivalent <20> exit_click_l="val" ET exit_click_r="val" (val: true ou false)
|
||
exit_key_pushed="false" // Close the modal if a key is pushed
|
||
|
||
force_inside_screen="false" // Clip la fenetre <20> l interieur de l ecran. Note: automatique si mouse_pos="true"
|
||
onclick_out=""
|
||
onclick_out_params=""
|
||
/>
|
||
|
||
certains actions handlers prennent un id de window en param<61>tre (eg: "ui:interface:taskbar"). L'id sp<73>cial
|
||
se nommant "ctrl_launch_modal" d<>signe en fait le bouton ou le control qui a fait ouvrir la fenetre modal.
|
||
|
||
eg:
|
||
Un control sheet dans une fenetre modal echange son sheet id avec le ctrl sheet qui a ouvert la modal:
|
||
<ctrl type="sheet" onclick_l="exchange" params_l="src=ctrl_launch_modal">
|
||
|
||
Dans le xml, il faut bien faire attention a ce que les modals soient a la racine sinon elles peuvent
|
||
etre affich<63>es plusieurs fois. Il ne faut pas non plus qu'elles soient ajout<75>es en tant que node dans un <tree>
|
||
|
||
|
||
// ***************************************************************************
|
||
// <group type="menu">
|
||
// ***************************************************************************
|
||
|
||
Herite du groupe de type "modal"
|
||
|
||
BUT:
|
||
Affiche un menu contextuel
|
||
Cach<EFBFBD> par d<>faut
|
||
|
||
SYNTAXE:
|
||
<group type="menu" id="cm_byes"
|
||
context="true" // "false" si doit etre utilis<69> (et donc affich<63>) dans un autre groupe
|
||
// et non tout seul (sur un menu_r de bouton par exemple)
|
||
color="255 255 255 255" // couleur du texte
|
||
shadow_color="0 0 0 255" // couleur de l ombre du texte (noire par defaut)
|
||
fontsize="12"
|
||
shadow="false"
|
||
color_over="255 255 255 255" // couleur du texte quand survole de la souris dessus
|
||
shadow_color_over="0 0 0 255" // couleur de l ombre du texte quand survole de la souris (noire par defaut)
|
||
highlight_over="128 0 0 255" // higlight sous le texte quand survol<6F>. Mettre A=0 pour rien.
|
||
color_grayed="128 128 128 255" // couleur du texte quand celui ci est inactif
|
||
shadow_color_grayed="0 0 0 255" // couleur de l ombre du texte quand celui ci est inactif
|
||
>
|
||
<action // Une action est une ligne de menu (ou de sous menu) (ici cette action poss<73>de un sous menu)
|
||
id="aze" // Identifiant facultatif si absent, l id est la position dans le menu (a partir de 0)
|
||
name="Action1" // Nom localise et affiche
|
||
handler="" // handler appele si la ligne est clickee (meme en cas de sous menu)
|
||
params="" // Les param<61>tres du handler
|
||
grayed="true" // est ce que la ligne est gris<69>e ? facultatif
|
||
usergroup_l="" // Nom d un template pour mettre un groupe a gauche du texte
|
||
usergroup_params_l="" // Parametres du template delimites par des | (...params_l="posref=TL TL|x=5" )
|
||
usergroup_r="" // Pareil a droite
|
||
usergroup_params_r=""
|
||
>
|
||
<action name="imbriquee" handler="" params="" /> // Ligne simple
|
||
</action>
|
||
|
||
|
||
...
|
||
</group>
|
||
|
||
MODIFIABLE: pour une action : grayed, checked et tous les modifiables d une vue texte
|
||
on peut recuperer les usergroup en faisant comme d'habitude menuid:actionid:usergroupid
|
||
|
||
// ***************************************************************************
|
||
// <group type="list_sheet">
|
||
// ***************************************************************************
|
||
|
||
BUT:
|
||
affiche une liste variable de ctrl_sheet
|
||
|
||
SYNTAXE:
|
||
<group type="list_sheet" id="pipo0"
|
||
|
||
value="SERVER:INVENTORY:8" // Pointe sur une branche de la database. OBLIGATOIRE
|
||
// Les fils doivent etre de type #number:SHEET (optionnel #number:QUALITY et #number:QUANTITY).
|
||
|
||
wspace="2" hspace="2" // donne l espacement entre chaque slot. 0 par defaut
|
||
|
||
maxitem="12" // donne le nombre maximum d item lu dans la branch (eg: 6 pour un bag).
|
||
// Nb: temporaire??, normalement c la database qui donne ce nombre. Defaut: infini
|
||
|
||
startitem="12" // donne l id de d<>part dans la database. utile pour les bag (bag0: 0, bag1: 6, bag2: 12, etc...)
|
||
|
||
array="false" // si "false", les sheet vides ne sont pas affich<63>s. defaut: "true"
|
||
|
||
lmargin="12" // Marges left, right Top et bottom des slots par rapport au group. Defaut:0. Il Faut en mettre si ya une scrollBar et des bouton +- forc<72>ment...
|
||
rmargin="2"
|
||
tmargin="12"
|
||
bmargin="2"
|
||
|
||
rowmin="0" // Nombre de ligne minium affich<63>es. Defaut: 1.
|
||
// Important si on veut par exemple afficher la liste des malus vide sans que le groupe se resize <20> H=0 (vide)
|
||
|
||
rowmax="2" // Nombre de ligne maximum affich<63>s. Defaut: infini.
|
||
// Important si on veut afficher qu une seule ligne toujours (pour les malus par exemple)
|
||
// quelque soit la largeur du parent. C est cette valeur qui est <20>dit<69>e par les boutons +- (si pr<70>sents)
|
||
|
||
column_max="4294967295" // taille maximum du nombre de sheet par ligne
|
||
column_factor="1" // si 3 par exemple, le nombre de sheet par ligne ne pourra etre que 3,6,9...
|
||
column_center="false" // si true, centre les sheet en X suivant le WReal donn<6E>e par list_sheet
|
||
|
||
// Param<61>tres communs au ctrl type="sheet". Voir ce control pour les d<>tails
|
||
|
||
nature=""
|
||
tx_noitem=""
|
||
onclick_l=""
|
||
params_l=""
|
||
onclick_r=""
|
||
params_r=""
|
||
dragable=""
|
||
oncandrop=""
|
||
params_candrop=""
|
||
ondrop=""
|
||
params_drop=""
|
||
menu_l=""
|
||
menu_r=""
|
||
menu_b=""
|
||
|
||
// Filters
|
||
|
||
onfilter=""
|
||
params_filter=""
|
||
>
|
||
|
||
// Le mode "Resize" n'existe pas en fait. Le scripteur est libre de mettre ou pas une scroll bar et/ou des boutons qui permettent de changer rowmax
|
||
|
||
<ctrl type="button" id="add_row" button_type="push_button" posref="TR TR" tx_normal="W_arrow_up_3.tga" tx_pushed="W_arrow_up_3.tga" tx_over="W_button_08_over.tga" />
|
||
<ctrl type="button" id="sub_row" button_type="push_button" posparent="add_row" posref="TL TR" tx_normal="W_arrow_down_3.tga" tx_pushed="W_arrow_down_3.tga" tx_over="W_button_08_over.tga" />
|
||
|
||
// Setup tyipque de scrollBar. L'alignement est hardoc<6F> pour etre Top. Le y devrait etre egal <20> "-tmargin" du group list_sheet
|
||
|
||
<ctrl type="scroll" id="scroll_row" posref="TL TL" w="8" x="2" y="12"
|
||
<!-- choix des textures de la scroll -->
|
||
tx_bottomleft= "w_scroll_l123_b.tga"
|
||
tx_middle= "w_scroll_l123_m.tga"
|
||
tx_topright= "w_scroll_l123_t.tga"
|
||
/>
|
||
|
||
</group>
|
||
|
||
MODIFIABLE: nbelt (int en lecture seul !) le nombre d'element valide si array=false sinon maxelt
|
||
|
||
// ***************************************************************************
|
||
// <group type="list_job">
|
||
// ***************************************************************************
|
||
|
||
BUT:
|
||
affiche un tableau de familles de m<>tier avec la bonne brick.
|
||
sont grand pere DOIT etre un container (pour initialiser son nom)
|
||
|
||
SYNTAXE:
|
||
<group type="list_job"
|
||
|
||
brick_type="" // MAGIC, COMBAT, FABER,... Obligatoire!!
|
||
career="" // index OBLIGATOIRE de la carriere
|
||
job="" // index OBLIGATOIRE du job. -1 si "all"
|
||
level="" // varaible database qui donne le level du joueur dans ce job. OBLIGATOIRE
|
||
wspace="0" // donne l espacement entre chaque slot. 0 par defaut
|
||
hspace="0" // donne l espacement entre chaque slot. 0 par defaut
|
||
lmargin="0" // Marges left, right Top et bottom des slots par rapport au group. Il Faut en mettre si ya des bouton +- forc<72>ment...
|
||
rmargin="0"
|
||
tmargin="0"
|
||
bmargin="0"
|
||
|
||
list_sentence="" // Pour la magie Pointe vers un group de type="list_sentence". Utilise pour savoir
|
||
// ou sont ajout<75>s les sentences nouvelles.
|
||
|
||
// Param<61>tres communs au ctrl type="sheet". Voir ce control pour les d<>tails
|
||
|
||
nature="" // la nature n est pas necessaire ici. C est FORCEMENT une "brick"
|
||
tx_noitem=""
|
||
onclick_l=""
|
||
params_l=""
|
||
onclick_r=""
|
||
params_r=""
|
||
dragable=""
|
||
oncandrop=""
|
||
params_candrop=""
|
||
ondrop=""
|
||
params_drop=""
|
||
|
||
/>
|
||
|
||
// Boutons pour changer le niveau de brick voulu
|
||
|
||
<ctrl type="button" id="add_level" button_type="push_button" posref="TR TR" tx_normal="W_arrow_up_3.tga" tx_pushed="W_arrow_up_3.tga" tx_over="W_button_08_over.tga" />
|
||
<ctrl type="button" id="sub_level" button_type="push_button" posparent="add_row" posref="TL TR" tx_normal="W_arrow_down_3.tga" tx_pushed="W_arrow_down_3.tga" tx_over="W_button_08_over.tga" />
|
||
|
||
// vue qui affiche le niveau selectionn<6E>
|
||
|
||
<view type="text" id="view_level" />
|
||
|
||
// group de d<>coration qui affiche un fond derriere le texte (sert pour le scroll des levels <20> la molette)
|
||
<group id="box_text" />
|
||
</group>
|
||
|
||
// ***************************************************************************
|
||
// <group type="select_number">
|
||
// ***************************************************************************
|
||
|
||
BUT:
|
||
widget qui sert pour augmenter et diminuer un nombre de la database
|
||
|
||
SYNTAXE:
|
||
<group type="select_number"
|
||
value="" // lien vers la database. OBLIGATOIRE
|
||
loop="true"
|
||
min="0"
|
||
max="9"
|
||
/>
|
||
<view type="text" id="number" /> // une vue qui permettra d'afficher le nombre
|
||
<ctrl type="button" id="arrow_up" /> // boutton pour incr<63>menter
|
||
<ctrl type="button" id="arrow_down" /> // boutton pour d<>cr<63>menter
|
||
</group>
|
||
|
||
|
||
// ***************************************************************************
|
||
// <group type="scroll_text">
|
||
// ***************************************************************************
|
||
|
||
BUT:
|
||
widget servant <20> afficher des lignes de chat ou autres d<>filant, avec une scrollBar et des boutons pour augmenter
|
||
la taille de la fenetre
|
||
|
||
SYNTAXE:
|
||
<group type="scroll_text"
|
||
min_height="16"
|
||
max_height="128"
|
||
invert_scroll_bar="true"
|
||
>
|
||
<ctrl type="scroll" id="scroll_bar"/>
|
||
<ctrl type="button" id="button_add"/>
|
||
<ctrl type="button" id="button_sub"/>
|
||
<group type="list" id="text_list"/>
|
||
</group>
|
||
|
||
|
||
// ***************************************************************************
|
||
// <group type="editbox" />
|
||
// ***************************************************************************
|
||
|
||
BUT:
|
||
edition de texte
|
||
|
||
SYNTAXE:
|
||
<group type="edit_box"
|
||
onenter="" // Action a lancer quand ENTER est press<73>
|
||
params="" // param<61>tres de l Action a lancer quand ENTER est press<73>
|
||
onchange=""
|
||
onchange_params=""
|
||
enter_loose_focus="true" // si enter perd le focus
|
||
max_num_chars="oo" // chars maxi (infini par defaut)
|
||
prompt=">"
|
||
entry_type="" // text, integer, positive_integer, alpha, alpha_num, password
|
||
menu_r=""
|
||
max_historic="0" // Si !=0 enable l historique de l editBox (4Dos like). Sinon donne la taille de l historique
|
||
>
|
||
<view id="edit_text" type="text">
|
||
</group>
|
||
|
||
MODIFIABLE: input_string (string)
|
||
uc_input_string (ucstring)
|
||
|
||
|
||
// ***************************************************************************
|
||
// <group type="build_sentence_magic" />
|
||
// ***************************************************************************
|
||
|
||
BUT:
|
||
Widget de composition de magie
|
||
|
||
SYNTAXE:
|
||
<group type="build_sentence_magic" >
|
||
// Brick racine
|
||
<ctrl type="sheet" id="root_brick" nature="brick" />
|
||
// Brick mandatory
|
||
<vector template="ctrl_brick_mandatory" id="mandatory_brick$i" _size="%BRICKS_PER_SENTENCE" index="$i" />
|
||
// Brick optional
|
||
<vector template="ctrl_brick_optional" id="optional_brick$i" _size="%BRICKS_PER_SENTENCE" index="$i" />
|
||
|
||
// bouton de validation
|
||
<ctrl type="button" id="valid_button" />
|
||
</group>
|
||
|
||
|
||
// ***************************************************************************
|
||
// <group type="build_sentence_faber" />
|
||
// ***************************************************************************
|
||
|
||
BUT:
|
||
Widget de composition de magie
|
||
|
||
SYNTAXE:
|
||
<group type="build_sentence_faber" >
|
||
// Brick racine
|
||
<ctrl type="sheet" id="root_brick" nature="brick" />
|
||
// Brick optional
|
||
<vector template="ctrl_brick_optional" id="optional_brick$i" _size="%BRICKS_PER_SENTENCE" index="$i" />
|
||
// bouton de validation
|
||
<ctrl type="button" id="valid_button" />
|
||
|
||
// Tool
|
||
<ctrl type="sheet" id="tool" nature="item" />
|
||
// MPs
|
||
<vector template="ctrl_faber_mp" id="mp$i" _size="%MAX_FABER_REQ_MP" index="$i" />
|
||
// Select number
|
||
<group type="select_number" id="select_num_items" value="bricks:faber:num_items" loop="false" min="1" max="1" >
|
||
</group>
|
||
</group>
|
||
|
||
|
||
|
||
// ***************************************************************************
|
||
// <group type="list_sentence" />
|
||
// ***************************************************************************
|
||
|
||
BUT:
|
||
Widget d'affichage des sentence connues. cf list_job pour le lien "list_sentence"
|
||
|
||
|
||
SYNTAXE:
|
||
<group type="list_sentence" id="pipo0"
|
||
|
||
wspace="2" hspace="2" // donne l espacement entre chaque slot. 0 par defaut
|
||
|
||
lmargin="12" // Marges left, right Top et bottom des slots par rapport au group. Defaut:0. Il Faut en mettre si ya une scrollBar et des bouton +- forc<72>ment...
|
||
rmargin="2"
|
||
tmargin="12"
|
||
bmargin="2"
|
||
|
||
rowmin="0" // Nombre de ligne minium affich<63>es. Defaut: 1.
|
||
// Important si on veut par exemple afficher la liste des malus vide sans que le groupe se resize <20> H=0 (vide)
|
||
|
||
rowmax="2" // Nombre de ligne maximum affich<63>s. Defaut: infini.
|
||
// Important si on veut afficher qu une seule ligne toujours (pour les malus par exemple)
|
||
// quelque soit la largeur du parent. C est cette valeur qui est <20>dit<69>e par les boutons +- (si pr<70>sents)
|
||
|
||
sep_slot0="" // Image pour le separateur Root-Mandatory
|
||
sep_slot1="" // Image pour le separateur Mandatory-Optional
|
||
sep_w0="0" // d<>calage Root-Mandatory
|
||
sep_w1="0" // d<>calage Mandatory-Optional
|
||
|
||
selected_color="255 255 255 255" // couleur du highlight de la sentence selectionn<6E>e
|
||
|
||
// Param<61>tres communs au ctrl type="sheet". Voir ce control pour les d<>tails
|
||
|
||
nature="" // forc<72> en type brick
|
||
tx_noitem=""
|
||
onclick_l=""
|
||
params_l=""
|
||
onclick_r=""
|
||
params_r=""
|
||
dragable=""
|
||
oncandrop=""
|
||
params_candrop=""
|
||
ondrop=""
|
||
params_drop=""
|
||
menu_l=""
|
||
menu_r=""
|
||
menu_b=""
|
||
>
|
||
|
||
// Le mode "Resize" n'existe pas en fait. Le scripteur est libre de mettre ou pas une scroll bar et/ou des boutons qui permettent de changer rowmax
|
||
|
||
<ctrl type="button" id="add_row" button_type="push_button" posref="TR TR" tx_normal="W_arrow_up_3.tga" tx_pushed="W_arrow_up_3.tga" tx_over="W_button_08_over.tga" />
|
||
<ctrl type="button" id="sub_row" button_type="push_button" posparent="add_row" posref="TL TR" tx_normal="W_arrow_down_3.tga" tx_pushed="W_arrow_down_3.tga" tx_over="W_button_08_over.tga" />
|
||
|
||
// Setup tyipque de scrollBar. L'alignement est hardoc<6F> pour etre Top. Le y devrait etre egal <20> "-tmargin" du group list_sheet
|
||
|
||
<ctrl type="scroll" id="scroll_row" posref="TL TL" w="8" x="2" y="12"
|
||
<!-- choix des textures de la scroll -->
|
||
tx_bottomleft= "w_scroll_l123_b.tga"
|
||
tx_middle= "w_scroll_l123_m.tga"
|
||
tx_topright= "w_scroll_l123_t.tga"
|
||
|
||
</group>
|
||
|
||
// ***************************************************************************
|
||
// <group type="combo_box" />
|
||
// ***************************************************************************
|
||
|
||
BUT:
|
||
affiche une combo_box. Un bouton sur un texte qui fait apparaitre un menu de selection de texte quand on clique dessus
|
||
|
||
|
||
SYNTAXE:
|
||
<group type="combo_box"
|
||
value="" // Valeur de la database qui indique l index de selection de la comboBox.
|
||
on_select_start="" // optionnel. ActionHandler appel<65> apr<70>s ouverture des choix de la combo box
|
||
>
|
||
// Text qui affiche le choix courant.
|
||
<view type="text" id="text" />
|
||
// Boutton qui sert pour ouvrir la liste.
|
||
<ctrl type="button" button_type="push_button" id="select" />
|
||
// ajoute un choix pour la combo_box
|
||
<combo_text name="" />
|
||
</group>
|
||
|
||
Note: il faut que "ui:interface:combo_box_select_menu" soit d<>finie comme un <group type="menu"> avec
|
||
les param<61>tres d'aspect que l'on veut. Les champs actions sont remplies quand la combo_box est ouverte
|
||
|
||
EXEMPLE:
|
||
Ce setup permet de faire une combo box ou le bouton est invisible et recouvre en fait tout le group:
|
||
si on clique sur le texte, on ouvre alors la liste de choix.
|
||
|
||
<group type="combo_box" id="combo1" w="100" h="18"
|
||
value="UI:COMBO_SELECT1"
|
||
>
|
||
// un cadre juste pour faire joli
|
||
<instance template="box_widget" id="back" sizeref="wh" w="0" h="0" />
|
||
|
||
// notre text
|
||
<view type="text" id="text" posref="ML ML" x="2" />
|
||
// Note pas de texture d<>finie sauf l'over: c fait expr<70>s.
|
||
<ctrl type="button" button_type="push_button" id="select" sizeref="wh" w="0" h="0" col_over="255 255 255 128" tx_over="blank.tga" scale="true" />
|
||
|
||
<combo_text name="choix 1" />
|
||
<combo_text name="choix 2" />
|
||
<combo_text name="choix 3" />
|
||
<combo_text name="choix 4" />
|
||
|
||
</group>
|
||
|
||
// ***************************************************************************
|
||
// <group type="tree" />
|
||
// ***************************************************************************
|
||
|
||
h<EFBFBD>rite de group
|
||
|
||
BUT:
|
||
affiche un arbre (comme un menu)
|
||
|
||
EXEMPLE:
|
||
<group type="tree" id="pipo" col_over="255 255 255 128" col_select="255 128 128 128" fontsize="12" >
|
||
<node id="invit" name="uimGcmInvit" handler="" params="" />
|
||
<node id="harvest1" name="uimGcmHarvest" opened="true" >
|
||
<node id="dig" name="uimGcmDigging"/>
|
||
<node id="har" name="uimGcmHarvesting"/>
|
||
</node>
|
||
</group>
|
||
|
||
Sur les nodes qui contiennent des fils on peut setuper la valeur de d<>part <20> ouvert ou ferm<72>
|
||
|
||
// ***************************************************************************
|
||
// <group type="html" />
|
||
// ***************************************************************************
|
||
|
||
<group type="html"
|
||
error_color="255 0 0" // Error color
|
||
link_color="128 128 255" // Link color
|
||
text_color="255 255 255" // Text color
|
||
h1_color="128 255 255" // Headline 1 color
|
||
h2_color="255 128 255" // Headline 2 color
|
||
h3_color="255 255 128" // Headline 3 color
|
||
h4_color="255 255 255" // Headline 4 color
|
||
h5_color="255 255 255" // Headline 5 color
|
||
h6_color="255 255 255" // Headline 6 color
|
||
error_color_global_color="false" // Error uses global color
|
||
link_color_global_color="false" // Link uses global color
|
||
text_color_global_color="false" // Text uses global color
|
||
h1_color_global_color="false" // Headline 1 uses global color
|
||
h2_color_global_color="false" // Headline 2 uses global color
|
||
h3_color_global_color="false" // Headline 3 uses global color
|
||
h4_color_global_color="false" // Headline 4 uses global color
|
||
h5_color_global_color="false" // Headline 5 uses global color
|
||
h6_color_global_color="false" // Headline 6 uses global color
|
||
text_font_size="12" // Text font size
|
||
h1_font_size="24" // Headline 1 font size
|
||
h2_font_size="20" // Headline 2 font size
|
||
h3_font_size="16" // Headline 3 font size
|
||
h4_font_size="16" // Headline 4 font size
|
||
h5_font_size="16" // Headline 5 font size
|
||
h6_font_size="16" // Headline 6 font size
|
||
paragraph_begin_space="12" // Space between paragraphs
|
||
multi_line_space_factor="0.25" // Space between 2 lines of a paragraph. Factor of the font size
|
||
td_begin_space="0" // Space at the beginning of a table cell
|
||
li_begin_space="4" // H space when "<IL>"
|
||
ul_begin_space="12" // H space when "<UL>"
|
||
li_indent="-10" // W space when "<LI>"
|
||
ul_indent="30" // W space when "<UL>"
|
||
form_text_area_group="edit_box_widget" // The group to instanciate for a form edit box. It must have a child group CGroupEditBox* with the id "eb"
|
||
checkbox_bitmap_normal="checkbox_normal.tga" // The "off" bitmap use in form checkbox
|
||
checkbox_bitmap_pushed="checkbox_pushed.tga" // The "on" bitmap use in form checkbox
|
||
checkbox_bitmap_over="checkbox_over.tga" // The "over" bitmap use in form checkbox
|
||
background_bitmap_view="bg" // The name of the child bitmap view used for background
|
||
home="http://www.nevrax.org" // The home url (you can browsse to the home url with the url "home"
|
||
browse_next_time="false" // If true, the url is browsed when the group is created
|
||
>
|
||
</group>
|
||
|
||
// ***************************************************************************
|
||
// <group type="quick_help" /> (derived from HTML)
|
||
// ***************************************************************************
|
||
|
||
<group type="quick_help"
|
||
non_selected_color="255 0 0" // The unselected paragraphes color
|
||
non_selected_link_color"0 0 128" // The unselected link color
|
||
non_selected_global_color="true" // The unselected paragraphes uses gobal color
|
||
non_selected_font_size="10" // The unselected paragraphes font size
|
||
>
|
||
</group>
|
||
|
||
// ***************************************************************************
|
||
// <group type="in_scene" /> (derived from group)
|
||
// ***************************************************************************
|
||
|
||
<group type="in_scene"
|
||
in_scene_offset_x="12" // Offset in pixels
|
||
in_scene_offset_y="12" // Offset in pixels
|
||
>
|
||
</group>
|
||
|
||
// ***************************************************************************
|
||
// <group type="table" /> (derived from group)
|
||
// ***************************************************************************
|
||
|
||
a html-like table :
|
||
|
||
The table is essentially an array. Each line must have the same number of cells.
|
||
The width of the table can be arbitrary. Either sizeref="w" or a fixed w can be used.
|
||
using child_resize_w has undefined results.
|
||
The height or the table is imposed by its children cells (like with html table)
|
||
|
||
Table is specified using the standard <TR> & <TD>
|
||
|
||
// option for the table :
|
||
border : the same the html tables 'border'
|
||
cellpadding : the same the html tables 'cellpadding'
|
||
cellspacing : the same the html tables 'cellspacing'
|
||
bgcolor : background color with format "R G B A" ("255 0 0 255" for example)
|
||
width : wanted width of table in pixels (same than html "width"). could be a ratio like "100%"
|
||
usually the table will specify sizeref="w" or w and width="100%"
|
||
continuous_update : whan set to true, the table will be updated continuously has its parent container is resized, and not when mouse left button is released only
|
||
|
||
// options for the cells (<TD> tag)
|
||
Cells can have an id. If none is given a id like cell_1_2 id generated (first number is column, second is row)
|
||
align : horizontal alignment of cell content. Can be "left", "right" or "center" (same than HTML 'align')
|
||
valign : vertical alignment of cell content. Can be 'top", "middle" or "bottom" (same than HTML 'valign')
|
||
left_margin : offset added to the x position of the cell content
|
||
nowrap : same then htlm table 'nowrap'
|
||
bgcolor : color of the cell background (with the "R G B A" format)
|
||
width : same then htlm table 'width' : gives width of column for that cell, or a percentage
|
||
add_child_w : take the wanted size from the size of the children (equivalent to child_resize_h), and add the 'width' (not added if a percentage)
|
||
height : minimum height of the cell
|
||
ignore_max_width : if "true", the cell content max_used_w is ignored when computing the width of the cell
|
||
ignore_min_width : if "true", the cell content min_used_w is ignored when computing the width of the cell
|
||
|
||
|
||
|
||
<group type="table" id="my_table" posref="TL TL" sizeref="w" width="100%" border="2" bgcolor="0 255 0 255" y="-4"
|
||
cellspacing="1"
|
||
cellpadding="0"
|
||
continuous_update="true"
|
||
>
|
||
<!-- test 1 -->
|
||
<TR>
|
||
<TD width="30%" bgcolor="0 0 0 127" height="30" align="center" valign="middle" id="optionnal_id">
|
||
<view type="text" id="mon_text" global_color="true" fontsize="20" shadow="true" hardtext="cell 1 cell 1 cell 1 cell 1"
|
||
multi_line="true"
|
||
/>
|
||
</TD>
|
||
<TD bgcolor="255 0 0 127" height="30" align="center" valign="middle">
|
||
<view type="text" id="mon_text" global_color="true" fontsize="20" shadow="true" hardtext="cell 2"/>
|
||
</TD>
|
||
</TR>
|
||
<TR>
|
||
<TD width="30%" bgcolor="0 0 0 192" height="30" align="center" valign="middle">
|
||
<view type="text" id="mon_text" global_color="true" fontsize="20" shadow="true" hardtext="cell 3"/>
|
||
</TD>
|
||
<TD bgcolor="0 0 255 192" height="30" align="center" valign="middle">
|
||
<view type="text" id="mon_text" global_color="true" fontsize="20" shadow="true" hardtext="cell 4"/>
|
||
</TD>
|
||
</TR>
|
||
<!--
|
||
<TR>
|
||
<TD width="100%" bgcolor="255 0 0 127" height="30">
|
||
<view type="text" posref="TL TL" global_color="true" fontsize="20" shadow="true" hardtext="cell 2"/>
|
||
</TD>
|
||
</TR>
|
||
-->
|
||
</group>
|
||
</group>
|
||
|
||
// ***************************************************************************
|
||
// ***************************************************************************
|
||
// MISC: DEFINE, PROCEDURES, TEMPLATES, ANIM, SCENE3D, ...
|
||
// ***************************************************************************
|
||
// ***************************************************************************
|
||
|
||
|
||
// ***************************************************************************
|
||
// <define>
|
||
// ***************************************************************************
|
||
|
||
BUT:
|
||
Permet de definir une constante.
|
||
|
||
SYNTAXE:
|
||
<define id="id_du_define" value="valeur_a_remplacer" />
|
||
|
||
EXAMPLE:
|
||
<define id="pipo_title" value="yoyo" />
|
||
....
|
||
<group type="container" id="player" title="Hello %pipo_title" >
|
||
|
||
|
||
Comme ca "Hello %pipo_title" est remplac<61> par "Hello yoyo"
|
||
|
||
L'id du define ne peut contenir que les charact<63>res:
|
||
'a' <20> 'z'
|
||
'A' <20> 'Z'
|
||
'0' <20> '9'
|
||
'_'
|
||
|
||
|
||
Du coup si vous voulez vraiment afficher un % dans une string (par exemple "25 %"), il faut l'ecrire en double "25 %%"
|
||
|
||
|
||
// ***************************************************************************
|
||
// <proc>
|
||
// ***************************************************************************
|
||
|
||
BUT:
|
||
Definit un action handler special qui lance des action handlers <20> la suite
|
||
|
||
|
||
SYNTAXE:
|
||
<proc id="nom_procedure" >
|
||
<action handler="action_handler0" params="" />
|
||
<action handler="action_handler1" params="" />
|
||
<action handler="action_handler2" params="@0|@1" />
|
||
</proc>
|
||
|
||
les param<61>tres sont optionnels.
|
||
un action handler peut etre lui meme une autre procedure (attention recursivit<69> :))
|
||
|
||
La proc<6F>dure se lance en utilisant l'action handler "proc" avec comme param<61>tre "nom_procedure"
|
||
|
||
La proc<6F>dure peut prendre des param<61>tres en entr<74>e (voir l'action handler proc pour comment faire).
|
||
Pour chaque action, le champ params="" est pars<72>. Tout chaine de type @#, ou # est un num<75>ro
|
||
(<28> N chiffres) copiera alors le param<61>tre (simple copie de chaine) au moment de l'appel.
|
||
|
||
Note: de la m<>me facon que les % dans les define, un double @ permet de ne pas consid<69>rer l'@ comme un descripteur
|
||
de param<61>tre
|
||
|
||
EXAMPLE:
|
||
<proc id="select_quit_modal" >
|
||
<action handler="exchange" params="src=ctrl_launch_modal" />
|
||
<action handler="leave_modal" />
|
||
</proc>
|
||
|
||
....
|
||
|
||
<ctrl type="button" onclick_l="proc" params_l="select_quit_modal">
|
||
|
||
|
||
EXAMPLE param<61>tres:
|
||
<proc id="set_quit_modal" >
|
||
<action handler="set" params="dblink=SERVER:PIPO|value=@0" />
|
||
<action handler="leave_modal" />
|
||
</proc>
|
||
|
||
....
|
||
|
||
<ctrl type="button" onclick_l="proc" params_l="set_quit_modal|10">
|
||
|
||
Dans cet exemple, sur un cliok gauche du bouton, set sera appel<65> avec une valeur de 10!!
|
||
Notez que l'index des param<61>tres commence <20> 0.
|
||
|
||
|
||
|
||
// ***************************************************************************
|
||
// <template>
|
||
// ***************************************************************************
|
||
|
||
BUT:
|
||
Definit un patron qui permet d'instancier des groups, ctrls ou vues qui se ressemblent.
|
||
|
||
SYNTAXE:
|
||
Definition du template:
|
||
<template name="nom_du_template" ...param<61>tres du template...>
|
||
corps du template (group, controls etc...) qui reference les param<61>tres du template avec #
|
||
</template>
|
||
|
||
Instanciation du template:
|
||
<instance template="nom_du_template" param<61>tres du template remplis />
|
||
|
||
EXAMPLE:
|
||
<!--Definit un template de nom "SNH" qui attend des param<61>tres id, value, loop etc... (si "" est mis <20> un param<61>tres,
|
||
celui-ci doit etre d<>fini <20> l'instanciation)
|
||
-->
|
||
<template name="SNH" id="" value="" loop="true" min="0" max="9" posparent="parent" posref="MM MM" x="0" y="0" w="26" h="16" >
|
||
<group type="select_number" id="#id" value="#value" loop="#loop" min="#min" max="#max" x="#x" y="#y" w="#w" h="#h" posparent="#posparent" posref="#posref" >
|
||
<view type="bitmap" id="slot_number" posref="TL TL" texture="W_slot_number.tga" />
|
||
<view type="text" id="number" posparent="slot_number" posref="MM MM" color="255 255 255 255" fontsize="12" shadow="true" hardtext="0" />
|
||
<ctrl type="button" id="arrow_up" button_type="push_button" posref="TR TR" tx_normal="W_arrow_up_3.tga" tx_pushed="W_arrow_up_3.tga" tx_over="W_button_08_over.tga" />
|
||
<ctrl type="button" id="arrow_down" button_type="push_button" posref="BR BR" tx_normal="W_arrow_down_3.tga" tx_pushed="W_arrow_down_3.tga" tx_over="W_button_08_over.tga" />
|
||
</group>
|
||
</template>
|
||
|
||
<!--Instancie le template SNH
|
||
-->
|
||
<instance template="SNH" id="shortnumber" value="SERVER:USER:SAP" loop="true" min="0" max="9" posref="ML ML" />
|
||
|
||
|
||
// ***************************************************************************
|
||
// <vector>
|
||
// ***************************************************************************
|
||
|
||
BUT:
|
||
Create an array of template's instances (mutli instance version of <instance>)
|
||
|
||
SYNTAXE:
|
||
<vector
|
||
template="template_name" // as in <instance....
|
||
_size="" // required. number of isntance to create
|
||
_firstindex="0" // optional to begin the index of instance to a number!=0
|
||
|
||
// Next ones are required only if the template is a serie of interface elements (group, view....)
|
||
// that need to be sticked against each other (eg: a vertical array of view text)
|
||
_firstpos="" // posref (TL TL...) of the first element, sticked to the parent
|
||
_nextpos="" // posref (TR TL...) of next elements, sticked to the previous one
|
||
_xfirst="" // special x of the first element
|
||
_yfirst="" // special y of the first element
|
||
/>
|
||
|
||
Then for each instance created, All properties of the XML node are parsed, and $i are replaced with the index of the instance
|
||
|
||
EXAMPLE:
|
||
<template name="temp_tab" keep="true" nb="" id="" posparent="" posref="" x="" >
|
||
<ctrl style="tab_button_new" id="#id" posparent="#posparent" posref="#posref"
|
||
group="content:group#nb" text="TabNo#nb" />
|
||
</template>
|
||
|
||
<vector template="temp_tab" _size="16" _firstpos="TR TL" _nextpos="TR TL" _xfirst="4" x="1" id="tab_array0_$i" nb="$i" posparent="tabref" />
|
||
|
||
This will create 16 instances of ctrls (tab_array0_0, tab_array0_1, tab_array0_2....)
|
||
The first one will be placed on right of "tabref", but with a x of 4 (_firstpos="TR TL" _xfirst="4")
|
||
The next ones will be placed on right of each other, but sticked with a x of 1 (_nextpos="TR TL" x="1" )
|
||
|
||
NB: if '_xfirst' is not defined, then 'x' will be taken for the first position also
|
||
NB: if '_yfirst' is not defined, then 'y' will be taken for the first position also
|
||
NB: Both _firstpos/_nextpos must be defined in order for the "stick system" to work
|
||
also you must declare id="", posparent="" and posref="" in the template definition.
|
||
|
||
|
||
// ***************************************************************************
|
||
// <variable>
|
||
// ***************************************************************************
|
||
|
||
BUT:
|
||
cr<EFBFBD>e une variable et associe une valeur
|
||
|
||
SYNTAXE:
|
||
<variable
|
||
entry="" // Obligatoire. lien vers la database.
|
||
type="" // Obligatoire. sint32, sint64, float, double, bool, rgba, hotspot.
|
||
// float et double on le meme effet
|
||
value="" // valeur <20> mettre
|
||
size="" // Si d<>finit, alors <variable> sert <20> d<>finir un tableau.
|
||
/>
|
||
|
||
EXAMPLE:
|
||
<variable entry="UI:MODE" type="sint32" value="0"/>
|
||
|
||
Dans le cas de d<>finition d'un tableau, le premier "$i" rencontr<74> est remplac<61> par l'index de 0 <20> size-1.
|
||
<variable entry="UI:LIST:$i:SHEET" type="sint32" value="0" size="4" />
|
||
|
||
// ***************************************************************************
|
||
// <link>
|
||
// ***************************************************************************
|
||
BUT:
|
||
li<EFBFBD> une expression <20> une valeur d'une vue (target). L'expression doit dependre d'entr<74>e de la database. A chaque fois qu'une
|
||
entr<EFBFBD>e de la database est updat<61>e, l'expression est recalcul<75>e, et le target est updat<61>e.
|
||
|
||
SYNTAXE:
|
||
|
||
<link
|
||
expr="" // obligatoire : expression a <20>valuer. L'expression doit d<>pendre au moins d'une entr<74>e de la database
|
||
target="" // valeurs auxquelles doit etre affect<63>e le r<>sultat de l expression, relatif au groupe qui contient le link, ou consid<69>r<EFBFBD> comme une adresse absolue si non trouv<75>
|
||
action="" // facultatif : un action handler a appeller en cas d update
|
||
params="" // facultatif : param<61>tre pour l action handler
|
||
cond="" // facultatif : condition <20> l'execution de l'action handler
|
||
/>
|
||
|
||
EXAMPLE:
|
||
|
||
<view type="bitmap" id="my_view" >
|
||
<link expr="ne(@my_db_entry, 0)" target="my_view:active,my_other_view:active"/> // si l entr<74>e de database 'my_db_view' ne vaut pas 0, alors my_view:active est mis <20> true
|
||
|
||
CREATION DYNAMIQUE DE LIEN:
|
||
Elle est utile si on veut que les update ne soient pris en compte qu'<27> un moment pr<70>cis (par exemple dans une boite modale)
|
||
C'est sutout bien dans le cas de test couteux ou si des textes non visibles sont updat<61>s pour rien.
|
||
|
||
// cr<63>ation :
|
||
handler="add_link" params="id=identifier_unique|expr=expression_a_evaluer|target=dest_de_lexpression"
|
||
|
||
// supression:
|
||
handler="remove_link" params="id=identifier_unique|expr=expression_a_evaluer|target=dest_de_lexpression"
|
||
|
||
|
||
par exemple, en reprenant l exemple precedent:
|
||
|
||
handler="add_link" params="id=mon_lien|expr=ne(@my_db_entry, 0)|target=my_view:active"
|
||
handler="remove_link" params="id=mon_lien"
|
||
|
||
// ***************************************************************************
|
||
// <anim> <track> <key>
|
||
// ***************************************************************************
|
||
|
||
<anim
|
||
id="specie_in" // nom du timer
|
||
duration="3.0" // temps en seconde pour faire varier l entree dans la database
|
||
loop="true" // est ce que l anim doit boucler ?
|
||
reverse="false" // est ce que l anim doit etre jouee a l envers
|
||
on_finish="ahwhenfini" // action handler a lancer quand le timer arrive a la fin
|
||
on_finish_params="ahp" // les parametres de l action handler
|
||
/>
|
||
|
||
<track
|
||
type="linear" // linear, bezier, tcb
|
||
target="specie:race:y" // all the targets affected may be more than one
|
||
dynamic="true" // (def:false) si true evalue tous les parametres des cles lors du lancement de l anim
|
||
/>
|
||
|
||
Si la track est de type linear :
|
||
<key
|
||
time="1.0" // Une valeur de temps comprise entre 0 et la duration de l anim
|
||
value="15" // la valeur que prennent les targets au temps : time
|
||
/>
|
||
|
||
Si la track est de type bezier :
|
||
<key
|
||
time="1.0" // Une valeur de temps comprise entre 0 et la duration de l anim
|
||
value="15" // la valeur que prennent les targets au temps : time
|
||
intan="0.0" // float facultatif def:0 ???? aucune idee de ce a quoi ca peut servir
|
||
outtan="0.0" // float facultatif def:0 ???? aucune idee de ce a quoi ca peut servir
|
||
step="true" // bool facultatif def:false ???? aucune idee de ce a quoi ca peut servir
|
||
/>
|
||
|
||
Si la track est de type TCB :
|
||
<key
|
||
time="1.0" // Une valeur de temps comprise entre 0 et la duration de l anim
|
||
value="15" // la valeur que prennent les targets au temps : time
|
||
tension="1.0" // float facultatif def:0
|
||
continuity="0.0" // float facultatif def:0
|
||
bias="1.0" // float facultatif def:0
|
||
easeto="0.1" // float facultatif def:0
|
||
easefrom="0.3" // float facultatif def:0
|
||
/>
|
||
|
||
|
||
|
||
|
||
un exemple typique est :
|
||
|
||
<group id="specie" sizeref="wh" on_active="anim_start" on_active_params="anim=t1">
|
||
<group id="race" posref="BL BL" x="16" y="64">
|
||
</group>
|
||
</group>
|
||
|
||
<anim id ="t1" duration="3.0" >
|
||
<track type="linear" target="specie:race:y">
|
||
<key time="0.0" value="-16"/>
|
||
<key time="3.0" value="64"/>
|
||
</track>
|
||
</anim>
|
||
|
||
quand on va activer le groupe specie cela va lancer l'animation t1. la valeur
|
||
specie:race:y va etre modifiee -> cela va faire monter le groupe specie:race
|
||
|
||
|
||
// ***************************************************************************
|
||
// <scene3d> <character3d> <ig> <camera> <light>
|
||
// ***************************************************************************
|
||
|
||
// ---------------------------------------------------------------------------
|
||
<scene3d
|
||
reference="id_scene3d" // Donne la reference sur une autre scene 3d (dans ce cas la c est juste une vue sur une autre scene)
|
||
ambient="0 0 0"
|
||
sun_ambient="50 50 50"
|
||
sun_diffuse="255 255 255"
|
||
sun_specular="255 255 255"
|
||
sun_direction="-1.0 1.0 -1.0"
|
||
curcam="id_camera" // Camera courante
|
||
curcs="id_camera" // Cluster system courant (un ig avec des clusters)
|
||
|
||
user_interaction="true" // Interaction camera (qui doit etre call<6C>e en y (ie camx=tgtx & camz=tgtz)
|
||
rotz_factor="0.005" // Facteur de vitesse lors d une rotation autour
|
||
rotz_limit_min="-45" // Limites d angles
|
||
rotz_limit_max="45"
|
||
roty_factor="0.005" // Facteur de vitesse lors d une rotation haut-bas
|
||
roty_limit_min="-20"
|
||
roty_limit_max="20"
|
||
dist_factor="0.005" // Facteur de vitesse lors d un deplacement de distance
|
||
dist_limit_min="0.1" // Limites de distances en metres
|
||
dist_limit_max="20"
|
||
|
||
/>
|
||
|
||
DERIVANT DE <group>
|
||
|
||
MODIFIABLE: curcam (string)
|
||
curcs (string)
|
||
rotzfactor (float)
|
||
|
||
// ---------------------------------------------------------------------------
|
||
<character3d
|
||
dblink="UI:TEMP:CHAR3D"
|
||
pos="1.0 2.0 3.0"
|
||
rot="0.0 0.0 90.0"
|
||
/>
|
||
|
||
MODIFIABLE: headx, heady, headz (float la position de la tete apres au moins une frame d animation)
|
||
posx, posy, posz (float la position)
|
||
rotx, roty, rotz (float angle en degres)
|
||
anim (int)
|
||
|
||
// ---------------------------------------------------------------------------
|
||
<ig
|
||
name="ig_name.ig"
|
||
pos="1.0 2.0 3.0"
|
||
rot="1.0 2.0 3.0"
|
||
/>
|
||
|
||
MODIFIABLE: posx, posy, posz (float la position)
|
||
posx, posy, posz (float l orientation en degree)
|
||
name (string)
|
||
|
||
// ---------------------------------------------------------------------------
|
||
<shape
|
||
name="shape_name.shape"
|
||
pos="1.0 2.0 3.0"
|
||
rot="1.0 2.0 3.0"
|
||
/>
|
||
|
||
MODIFIABLE: posx, posy, posz (float la position)
|
||
posx, posy, posz (float l orientation en degree)
|
||
name (string)
|
||
|
||
// ---------------------------------------------------------------------------
|
||
<camera
|
||
pos="1.0 2.0 3.0"
|
||
target="2.0 3.0 4.0"
|
||
fov="50.0"
|
||
roll="0.0"
|
||
/>
|
||
|
||
MODIFIABLE: posx, posy, posz (float la position)
|
||
tgtx, tgty, tgtz (float la position de la target)
|
||
fov (float angle en degree)
|
||
roll (float angle en degree)
|
||
|
||
// ---------------------------------------------------------------------------
|
||
<light
|
||
pos="1.0 2.0 3.0"
|
||
near="3.0"
|
||
far="10.0"
|
||
color="127 255 64 255"
|
||
/>
|
||
|
||
MODIFIABLE: posx, posy, posz (float la position)
|
||
near, far (float)
|
||
colr, colg, colb (int)
|
||
|
||
// ---------------------------------------------------------------------------
|
||
<fx
|
||
name="sp_cast_loop.ps"
|
||
pos="1.0 2.0 3.0"
|
||
rot="0.0 0.0 0.0"
|
||
/>
|
||
|
||
MODIFIABLE: posx, posy, posz (float la position)
|
||
rotx, roty, rotz (float la rotation)
|
||
started (bool le fx est il en train d etre joue ?)
|
||
|
||
|
||
un exemple typique :
|
||
|
||
<scene3d id="char3d" x="576" y="-32" w="576" h="488" posref="TR TR" curcam="cam"
|
||
ambient="0 0 0" sun_ambient="50 50 50" sun_diffuse="255 255 255" sun_specular="255 255 255" sun_direction="-1.0 1.0 -1.0" >
|
||
|
||
<character3d id="char" dblink="UI:TEMP:CHAR3D" pos="0.07 26.52 0.85" rot="0.0 0.0 -90.0" />
|
||
|
||
<camera id="cam" fov="45" pos="0.01 22.29 2.5" target="0.01 37.9 1.53" roll="0" />
|
||
|
||
<light id="l1" pos="-1.0 24.29 2.0" color="0 255 0" near="1.0" far="5.0" />
|
||
|
||
<ig id="env" name="matis.ig" pos="0 0 0" />
|
||
|
||
<fx id="fx1" pos="0.0 0.0 0.0" name="Sp_Cast_Loop.ps" />
|
||
|
||
</scene3d>
|
||
|
||
// ***************************************************************************
|
||
// <action_category >
|
||
// <action>
|
||
// <parameter>
|
||
// <value>
|
||
// ***************************************************************************
|
||
|
||
// Definition d'une category d'action
|
||
<action_category
|
||
hardtext="uiUI" // Nom de la category localis<69> (defaut : "")
|
||
/>
|
||
|
||
// ---------------------------------------------------------------------------
|
||
|
||
// Une definition d'action de base
|
||
<action
|
||
repeat="0" // 1 : l'action est r<>p<EFBFBD>t<EFBFBD>e avec la r<>p<EFBFBD>tition clavier, 0 : elle n'est pas r<>p<EFBFBD>t<EFBFBD>e. (defaut : 0)
|
||
name="screenshot" // Nom de l'action handler utilis<69> par l'action (defaut : "")
|
||
hardtext="uiTakeScreenshot" // Nom localis<69> de l'action (defaut : "")
|
||
/>
|
||
|
||
// ---------------------------------------------------------------------------
|
||
|
||
// Un param<61>tre d'action de base
|
||
<parameter
|
||
type="action_param_constant" // Type de param<61>tre :
|
||
// action_param_hidden : le param<61>tre est cach<63> <20> l'utillisateur
|
||
// action_param_constant : le param<61>tre est une valeur pr<70>d<EFBFBD>termin<69>e (voir <value>)
|
||
// action_param_user : le param<61>tre est entr<74> par l'utilisateur. Tous les characters sont permis.
|
||
// action_param_user_name : le param<61>tre est entr<74> par l'utilisateur. Uniquement les characters permis dans les noms sont utilis<69>s.
|
||
// (defaut : action_param_constant)
|
||
name="filename" // Nom du param<61>tre (defaut : "")
|
||
hardtext="uiFilename" // Nom localis<69> du param<61>tre (defaut : "")
|
||
value="" // La valeur par defaut du param<61>tre (defaut : "")
|
||
/>
|
||
|
||
// ---------------------------------------------------------------------------
|
||
|
||
// Une valeur pr<70>d<EFBFBD>finie de param<61>tre d'action de base
|
||
<value
|
||
value="toto" // La valeur (defaut : "")
|
||
hardtext="uiToto" // Le nom localis<69> de la valeur (defaut : "")
|
||
>
|
||
|
||
Exemple :
|
||
|
||
<action_category hardtext="uiDivers">
|
||
|
||
// Action pour envoyer un message <20> un joueur
|
||
<action repeat="0" name="tell" hardText="uiTell">
|
||
<parameter type="action_param_user_name" name="user" hardText="uiUsername" visible="1"/>
|
||
<parameter type="action_param_user" name="message" hardText="uiMessage" visible="1"/>
|
||
</action>
|
||
|
||
// Action pour passer en mode labo
|
||
<action name="set_mode" hardText="uiModelabo">
|
||
<parameter value="2" visible="0"/>
|
||
</action>
|
||
|
||
// Action pour ouvrir un inventaire de sac
|
||
<action repeat="0" name="open_window" hardText="uiOpenWindow">
|
||
<parameter type="action_param_constant" name="" hardText="uiWindow" visible="1">
|
||
<value value="UI:BAG1" hardtext="uiBag1"/>
|
||
<value value="UI:BAG2" hardtext="uiBag2"/>
|
||
<value value="UI:BAG3" hardtext="uiBag3"/>
|
||
</parameter>
|
||
</action>
|
||
|
||
</action_category>
|
||
|
||
// ***************************************************************************
|
||
// <key>
|
||
// ***************************************************************************
|
||
|
||
<key name="Key1" ctrl="0" shift="0" menu="0" action="run_shortcut" params="1"/>
|
||
|
||
Bind a key combo to an action handler.
|
||
|
||
// ***************************************************************************
|
||
// ***************************************************************************
|
||
// ACTIONS
|
||
// ***************************************************************************
|
||
// ***************************************************************************
|
||
|
||
|
||
<action="enter_modal" params="group=ui:interface:yoyo_modal1">
|
||
affiche la fenetre modal ui:interface:yoyo_modal1 ici.
|
||
|
||
<action="leave_modal">
|
||
cache la fenetre modal courante
|
||
|
||
<action="proc" params="nom_procedure|arg0|arg1|...">
|
||
lance une proc<6F>dure. Les arguments sont s<>par<61>s du nom de la proc<6F>dure par des "|".
|
||
|
||
<action="set" params="dblink=liendatabase|value=expr">
|
||
set un sint32, resultat de l'evaluation de expr, dans la database.
|
||
|
||
<action="set" params="target_property=target0,target1,...,targetn|value=expr">
|
||
affecte le resultat de l'evaluation de expr a chacun des target (valeur export<72>e des elements de l'interface telle que 'active')
|
||
|
||
<action="copy" params="dbdst=liendatabase|dbsrc=liendatabase">
|
||
copie une valeur de la database dans une autre
|
||
|
||
<oncandrop="isitem" params="">
|
||
test si dropable est un item
|
||
|
||
<oncandrop="isitem_slot" params="type=itemslot">
|
||
test si dropable est un item d'un certain type (HEAD, ARMS...)
|
||
|
||
<onfilter="filter_item" params_filter="type=itemslot">
|
||
test si le ctrlSheet est un item d'un certain type (HEAD, ARMS...)
|
||
<EFBFBD> mettre sur les props de list_sheet
|
||
|
||
<action="set_keyboard_focus" params="target=ui:interface_my_edit_box|select_all=true">
|
||
Met le focus sur l'edit box en target. Selectionne tout le texte si select_all vaut true
|
||
|
||
<on_active="timer_start" on_active_params="timer=specie_in">
|
||
Lance un timer (voir <timer>)
|
||
|
||
|
||
<action="set_server_id" params="value=@%user_name_id|target=player_name:uc_hardtext">
|
||
Affecte une value a une target. La value represente un identifiant de mot reseau (nom des jouers par exemple)
|
||
|
||
<action="set_server_string" params="value=@%user_name_id|target=player_name:uc_hardtext">
|
||
Affecte une value a une target. La value represente un identifiant de chaine reseau (phrase composee de plusieurs mots)
|
||
|
||
// ***************************************************************************
|
||
// ***************************************************************************
|
||
// COMMON EXPRESSIONS
|
||
// ***************************************************************************
|
||
// ***************************************************************************
|
||
|
||
// ***************************************************************************
|
||
add
|
||
arguments : 2
|
||
return (arg1 + arg2)
|
||
|
||
// ***************************************************************************
|
||
sub
|
||
arguments : 2
|
||
return (arg1 - arg2)
|
||
|
||
// ***************************************************************************
|
||
mul
|
||
arguments : 2
|
||
return (arg1 * arg2)
|
||
|
||
// ***************************************************************************
|
||
div
|
||
arguments : 2
|
||
return (arg1 / arg2)
|
||
|
||
// ***************************************************************************
|
||
mod
|
||
arguments : 2
|
||
return (arg1 % arg2)
|
||
|
||
// ***************************************************************************
|
||
abs
|
||
arguments : 1
|
||
return abs(arg1) (valeur absolue de arg1)
|
||
|
||
// ***************************************************************************
|
||
identity
|
||
arguments : 1
|
||
return (arg1)
|
||
|
||
// ***************************************************************************
|
||
ne
|
||
arguments : 2
|
||
return (arg1 != arg2)
|
||
|
||
// ***************************************************************************
|
||
eq
|
||
arguments : 2
|
||
return (arg1 == arg2)
|
||
|
||
// ***************************************************************************
|
||
lt
|
||
arguments : 2
|
||
return (arg1 < arg2)
|
||
|
||
// ***************************************************************************
|
||
le
|
||
arguments : 2
|
||
return (arg1 <= arg2)
|
||
|
||
// ***************************************************************************
|
||
gt
|
||
arguments : 2
|
||
return (arg1 > arg2)
|
||
|
||
// ***************************************************************************
|
||
ge
|
||
arguments : 2
|
||
return (arg1 >= arg2)
|
||
|
||
// ***************************************************************************
|
||
or
|
||
arguments : n > 0
|
||
return (arg1 || arg2 || ... || argn)
|
||
|
||
// ***************************************************************************
|
||
and
|
||
arguments : n > 0
|
||
return (arg1 && arg2 && ... && argn)
|
||
|
||
// ***************************************************************************
|
||
not
|
||
arguments : 1
|
||
return (!arg0)
|
||
|
||
// ***************************************************************************
|
||
str
|
||
arguments : n > 0
|
||
converti tous les arguments en string et return arg1_str + arg2_str + ... + argn_str
|
||
|
||
// ***************************************************************************
|
||
int
|
||
arguments : 1
|
||
converti l'argument en entier
|
||
|
||
// ***************************************************************************
|
||
ifthenelse
|
||
arguments : 2 ou 3 (1er argument de type bool)
|
||
retourne le 2eme argument si le 1er est vrai
|
||
sinon retourne le 3eme argument (si il existe)
|
||
|
||
// ***************************************************************************
|
||
switch
|
||
arguments : au moins 2 (1er argument de type int)
|
||
retourne le n ieme argument ou n est la valeur du premier argument +1
|
||
si arg1 vaut 0 on retourne arg2
|
||
si arg1 vaut 1 on retourne arg3
|
||
et ainsi de suite
|
||
|
||
// ***************************************************************************
|
||
ilinear
|
||
arguments : 3 double (1er == interpolant (0 - 1.0)) (a 0 arg2 max, a 1 arg3 max)
|
||
retourne arg2 + arg1 * (arg3 - arg2)
|
||
|
||
// ***************************************************************************
|
||
getbit
|
||
arguments : 2 entiers (1er == valeur, 2nd == numero du bit desire)
|
||
retourne le arg2_ieme bits de la valeur arg1
|
||
|
||
// ***************************************************************************
|
||
rand
|
||
arguments : 2 double
|
||
retourne une valeur comprise entre arg1 et arg2
|
||
|
||
// ***************************************************************************
|
||
dbcount
|
||
arguments : 1 (string) (exemple : dbcount('SERVER:MODIFIERS:BONUS:$:SHEET')
|
||
compte le nombre d occurences dans la database.
|
||
si l entree est un noeud alors detecte qu il ne soit pas egal a zero
|
||
il faut obligatoirement un $ (qui sera remplace par 0,1,2,...)
|
||
|
||
// ***************************************************************************
|
||
getprop
|
||
arguments : 1 (string) (exemple : getprop('ui:interface:define_day_color:pick:b'))
|
||
retourne la valeur MODIFIABLE d un element d interface
|
||
|
||
// ***************************************************************************
|
||
intToColor
|
||
arguments : 1 (integer)
|
||
retourne la meme valeur en rgba
|
||
|
||
// ***************************************************************************
|
||
getRed
|
||
arguments : 1 (rgba)
|
||
retourne la meme valeur du rouge
|
||
|
||
// ***************************************************************************
|
||
getGreen
|
||
arguments : 1 (rgba)
|
||
retourne la meme valeur du vert
|
||
|
||
// ***************************************************************************
|
||
getBlue
|
||
arguments : 1 (rgba)
|
||
retourne la meme valeur du bleu
|
||
|
||
// ***************************************************************************
|
||
getAlpha
|
||
arguments : 1 (rgba)
|
||
retourne la meme valeur de l alpha
|
||
|
||
// ***************************************************************************
|
||
makeRGB
|
||
arguments : 3 ou 4 (int)
|
||
retourne un rgb ou rgba
|
||
|
||
// ***************************************************************************
|
||
min
|
||
arguments : n>0 (int ou double)
|
||
retourne la valeur minimum de tous les arguments
|
||
|
||
// ***************************************************************************
|
||
max
|
||
arguments : n>0 (int ou double)
|
||
retourne la valeur maximum de tous les arguments
|
||
|
||
// ***************************************************************************
|
||
depends
|
||
arguments : aucun
|
||
retourne zero
|
||
sert uniquement a creer des dependances sur des elements de database pour appeler des actions
|
||
|
||
// ***************************************************************************
|
||
identity
|
||
arguments : n>0
|
||
retourne le premier argument
|
||
sert un peu comme depends mais en plus permet un setup direct d une target
|
||
|
||
// ***************************************************************************
|
||
band
|
||
arguments : n>=0
|
||
retourne AND bit <20> bit de tous les arguments. 0 si nargs==0.
|
||
|
||
// ***************************************************************************
|
||
bor
|
||
arguments : n>=0
|
||
retourne OR bit <20> bit de tous les arguments. 0 si nargs==0.
|
||
|
||
// ***************************************************************************
|
||
bxor
|
||
arguments : n==2
|
||
retourne XOR bit <20> bit des 2 arguments.
|
||
|
||
// ***************************************************************************
|
||
bnot
|
||
arguments : n==1
|
||
retourne NOT bit <20> bit de l'argument.
|
||
|
||
|
||
|
||
// ***************************************************************************
|
||
// ***************************************************************************
|
||
// GAME EXPRESSIONS
|
||
// ***************************************************************************
|
||
// ***************************************************************************
|
||
|
||
// ***************************************************************************
|
||
isOpen
|
||
TODO
|
||
TODO
|
||
|
||
// ***************************************************************************
|
||
getCompassText
|
||
arguments : 1
|
||
convertit l'argument de type float (angle radian) en text
|
||
|
||
// ***************************************************************************
|
||
getPactText
|
||
arguments : 1 entier
|
||
convertit l'argument qui represente le numero du type de pacte en chaine de character
|
||
|
||
// ***************************************************************************
|
||
getDateText
|
||
arguments : 1 entier
|
||
convertit un jour ryzom (entier) en date sous le fromat 06 / 02 /03
|
||
|
||
// ***************************************************************************
|
||
getDifficultyText
|
||
arguments : 1 entier
|
||
retourne en ucstring le texte de difficulte internationalise
|
||
|
||
// ***************************************************************************
|
||
isCharSelSlotEmpty
|
||
arguments : 1 entier
|
||
retourne un booleen qui dit si le arg1_ieme (0-5) slot de character summary est vide ou non
|
||
|
||
// ***************************************************************************
|
||
getClientActionTypeText
|
||
TODO
|
||
TODO
|
||
|
||
// ***************************************************************************
|
||
getClientActionTypeColor
|
||
TODO
|
||
TODO
|
||
|
||
// ***************************************************************************
|
||
is2HandItem
|
||
arguments : 1
|
||
true si le sheetId d<>finit un item <20> 2 mains
|
||
|
||
// ***************************************************************************
|
||
getSmoothServerTick
|
||
arguments : 1
|
||
convert a serverTick in smoothServerTick
|
||
|
||
// ***************************************************************************
|
||
getVSIndex
|
||
arguments : 2 strings (exemple : getVSIndex('fy_cheveux_shave01.sitem','HEAD'))
|
||
retourne (int) l index de visual slot en fonction d un nom d item et d un type de slot
|
||
|
||
// ***************************************************************************
|
||
getRoleId
|
||
arguments : 1 string
|
||
retourne un entier qui est le numero de la carriere (dans l enum)
|
||
|
||
// ***************************************************************************
|
||
getLightLevel
|
||
arguments : 0
|
||
donne le facteur de blend jour/nuit (un double de 0.0 a 1.0)
|
||
|
||
// ***************************************************************************
|
||
strToIntFlag
|
||
arguments : 1 string (exemple : strToIntFlag('Combat'))
|
||
retourne (int) le numero du flag correspondant a la string
|
||
|
||
// ***************************************************************************
|
||
getSheathSlot
|
||
arguments : 1 string (exemple : getSheathSlot('ammo1'))
|
||
retourne (int) le numero du fourreau en fonction de son nom
|
||
|
||
// ***************************************************************************
|
||
getInventorySlot
|
||
arguments : 1 string (exemple : getInventorySlot('pack_animal1'))
|
||
retourne (int) le numero du slot d inventaire en fonction de son nom
|
||
|
||
// ***************************************************************************
|
||
getEquipmentSlot
|
||
arguments : 1 string (exemple : getEquipmentSlot('FingerL'))
|
||
retourne (int) le numero du slot d equipement en fonction de son nom
|
||
|
||
// ***************************************************************************
|
||
getChatWin
|
||
TODO
|
||
TODO
|
||
|
||
// ***************************************************************************
|
||
// ***************************************************************************
|
||
// USER EXPRESSIONS
|
||
// ***************************************************************************
|
||
// ***************************************************************************
|
||
|
||
// ***************************************************************************
|
||
getSelectedItemPrice
|
||
arguments : 0
|
||
Get the price of the current selected item (should come from bot inventory)
|
||
|
||
// ***************************************************************************
|
||
getDraggedSheet
|
||
arguments : 0
|
||
Get ptr object on the current dragged sheet
|
||
|
||
// ***************************************************************************
|
||
getSelectedSheet
|
||
arguments : 0
|
||
Get ptr object on the current selected sheet
|
||
|
||
// ***************************************************************************
|
||
getMenuItemSheet
|
||
arguments : 0
|
||
Get ptr object on the last sheet that trigerred menu.
|
||
|
||
// ***************************************************************************
|
||
getSheetID
|
||
From a pointer on a sheet, get its sheetID
|
||
|
||
// ***************************************************************************
|
||
getSheetSelectionGroup
|
||
From a pointer on a sheet, get its selection group name
|
||
|
||
// ***************************************************************************
|
||
getSheetName
|
||
From a pointer on a sheet, or a sheet ID, get its name
|
||
|
||
// ***************************************************************************
|
||
getSheetIndex
|
||
From a pointer on a sheet, get its index in the parent sheet list
|
||
|
||
// ***************************************************************************
|
||
getSheetQuantity
|
||
From a pointer on a sheet, retrieve its quantity
|
||
|
||
// ***************************************************************************
|
||
getSheetQuality
|
||
From a pointer on a sheet, retrieve its quality
|
||
|
||
// ***************************************************************************
|
||
isStackable
|
||
From a pointer on a sheet, get its index in the parent sheet list
|
||
|
||
// ***************************************************************************
|
||
isTeleport
|
||
From a pointer on a sheet or a sheet ID, test if an item is a teleport item
|
||
|
||
// ***************************************************************************
|
||
isPlainItem
|
||
From a pointer on a sheet or a sheet ID, test if an item is a plain item (not a teleport, not a brick, not a pact)
|
||
|
||
// ***************************************************************************
|
||
isBrick
|
||
From a sheet ID, test if an item is a brick
|
||
|
||
// ***************************************************************************
|
||
isPact
|
||
From a sheet ID, test if an item is a pact
|
||
|
||
// ***************************************************************************
|
||
isRangeWeapon
|
||
From a pointer on a sheet or a sheet ID, test if an item is a ran,ged weapon
|
||
|
||
// ***************************************************************************
|
||
isRoomLeftFor
|
||
From a sheet ID, test if there's room for it in the inventory
|
||
|
||
// ***************************************************************************
|
||
getSelectionGroupNameFromId
|
||
Get the name of a selection group from its id
|
||
|
||
// ***************************************************************************
|
||
getSelectionGroupIdFromName
|
||
Get the id of a selection group from its name
|
||
|
||
// ***************************************************************************
|
||
getItemsWeight(basePath, firstItem, numItem)
|
||
Get the sum of all item's weight at the given db path
|
||
|
||
// ***************************************************************************
|
||
getItemBranchsWeight(baseBranch, firstBranch, numBranch)
|
||
Get the sum of all items located in several branchs
|
||
|
||
// ***************************************************************************
|
||
getSeedsWeight()
|
||
Returns the weight of the seeds owned by the player
|
||
|
||
// ***************************************************************************
|
||
getArmoursWeight()
|
||
Returns the weight of all armours pieces worn by the player
|
||
|
||
// ***************************************************************************
|
||
getInventoryWeight()
|
||
Returns the weight of the whole inventory, not including beasts'inventory of course
|
||
|
||
// ***************************************************************************
|
||
getSheathWeight()
|
||
Returns the weight of the sheaths
|
||
|
||
// ***************************************************************************
|
||
getBranchSheetCategory()
|
||
return the types of items that are contained in a branch (with the enum CDBCtrlSheet::TSheetCategory
|
||
|
||
// ***************************************************************************
|
||
copySheet
|
||
param 0 = pointer on a sheet, param 1 = dbAdress.
|
||
This copy characteristics of a sheet (quantity, quality, sheet id) at the given database adress
|
||
|
||
|
||
|