skilltree fixes, classes identified by id now, definitions

This commit is contained in:
Ulf Gebhardt 2014-11-04 13:53:20 +01:00
parent fff7dba457
commit 27827a7b66
30 changed files with 216 additions and 1789 deletions

View File

@ -3,7 +3,7 @@ class charcreation {
const DEFAULT_CHAR_NAME = 'Charactername'; const DEFAULT_CHAR_NAME = 'Charactername';
const DEFAULT_CHAR_GENDER = 'default'; const DEFAULT_CHAR_GENDER = 'default';
const DEFAULT_CHAR_RACE = 'default'; const DEFAULT_CHAR_RACE = 'default';
const DEFAULT_CHAR_CLASS = 'default'; const DEFAULT_CHAR_CLASS = 0;
const MOJO_CC_SESSIONKEY = 'mojo_charcreation'; const MOJO_CC_SESSIONKEY = 'mojo_charcreation';
const DEFAULT_CHAR_APPEARANCE = 0; const DEFAULT_CHAR_APPEARANCE = 0;
public static function data($json = NULL){ public static function data($json = NULL){
@ -38,14 +38,14 @@ class charcreation {
public static function checkClassRace($class,$race){ public static function checkClassRace($class,$race){
switch($race){ switch($race){
case 'human': return in_array($class, array('warrior', 'rogue', 'priest', 'mage', 'warlock', 'paladin')); case 'human': return in_array($class, array(player_classes::WARRIOR, player_classes::ROGUE, player_classes::PRIEST, player_classes::MAGE, player_classes::WARLOCK, player_classes::PALADIN));
case 'ork': return in_array($class, array('warrior', 'hunter', 'shaman', 'rogue', 'warlock')); case 'ork': return in_array($class, array(player_classes::WARRIOR, player_classes::HUNTER, player_classes::SHAMAN, player_classes::ROGUE, player_classes::WARLOCK));
case 'dwarf': return in_array($class, array('warrior', 'hunter', 'rogue', 'priest', 'paladin')); case 'dwarf': return in_array($class, array(player_classes::WARRIOR, player_classes::HUNTER, player_classes::ROGUE, player_classes::PRIEST, player_classes::PALADIN));
case 'undead': return in_array($class, array('warrior', 'rogue', 'priest', 'mage', 'warlock')); case 'undead': return in_array($class, array(player_classes::WARRIOR, player_classes::ROGUE, player_classes::PRIEST, player_classes::MAGE, player_classes::WARLOCK));
case 'nightelf': return in_array($class, array('warrior', 'hunter', 'rogue', 'priest', 'druid')); case 'nightelf': return in_array($class,array(player_classes::WARRIOR, player_classes::HUNTER, player_classes::ROGUE, player_classes::PRIEST, player_classes::DRUID));
case 'tauren': return in_array($class, array('warrior', 'hunter', 'shaman', 'druid')); case 'tauren': return in_array($class, array(player_classes::WARRIOR, player_classes::HUNTER, player_classes::SHAMAN, player_classes::DRUID));
case 'gnome': return in_array($class, array('warrior', 'rogue', 'mage', 'warlock')); case 'gnome': return in_array($class, array(player_classes::WARRIOR, player_classes::ROGUE, player_classes::MAGE, player_classes::WARLOCK));
case 'troll': return in_array($class, array('warrior', 'hunter', 'shaman', 'rogue', 'priest', 'mage')); case 'troll': return in_array($class, array(player_classes::WARRIOR, player_classes::HUNTER, player_classes::SHAMAN, player_classes::ROGUE, player_classes::PRIEST, player_classes::MAGE));
default: return false; default: return false;
} }
} }

File diff suppressed because it is too large Load Diff

View File

@ -37,7 +37,8 @@ class skilltree{
'type' => $res[$count]['type'], 'type' => $res[$count]['type'],
'border' => $res[$count]['border'], 'border' => $res[$count]['border'],
'text_color' => $text_color, 'text_color' => $text_color,
'max' => $max_text)); 'max_text' => $max_text,
'max' => $res[$count]['max']));
$count++; $count++;
} else { } else {
@ -48,7 +49,8 @@ class skilltree{
'type' => 'talent_icon', 'type' => 'talent_icon',
'border' => '', 'border' => '',
'text_color' => '', 'text_color' => '',
'max' => '')); 'max_text' => '',
'max' => 0));
} }
if($c == 4){ if($c == 4){

View File

@ -1,4 +1,4 @@
<table class="skilltree" width="900" border="0" cellspacing="0" cellpadding="0" align="left" style="margin-left: 10px;"> <table oncontextmenu="return false;" class="skilltree" width="900" border="0" cellspacing="0" cellpadding="0" align="left" style="margin-left: 10px;">
<tr> <tr>
<td class="talentheader"> <td class="talentheader">
<div id="treeheader1"> <div id="treeheader1">

View File

@ -1,4 +1,4 @@
<div class="icon" id="${id}" style="${style}"> <div class="icon" id="${id}" style="${style}">
<img src="./api.php?call=files&cat=skilltree&id=spacer.gif" class="${type} ${border}" alt="" id="${id}}i"> <img src="./api.php?call=files&cat=skilltree&id=spacer.gif" class="${type} ${border}" alt="" id="${id}i">
<div class="icon_number ${text_color}" id="${id}}c">${max}</div> <div class="icon_number ${text_color}" id="${id}c" max="${max}" cur="0">${max_text}</div>
</div> </div>

View File

@ -0,0 +1,54 @@
<?php
class player_classes {
const WARRIOR = 1;
const WARRIOR_NAME = 'Warrior';
const PALADIN = 2;
const PALADIN_NAME = 'Paladin';
const HUNTER = 3;
const HUNTER_NAME = 'Hunter';
const ROGUE = 4;
const ROGUE_NAME = 'Rogue';
const PRIEST = 5;
const PRIEST_NAME = 'Priest';
const SHAMAN = 7;
const SHAMAN_NAME = 'Shaman';
const MAGE = 8;
const MAGE_NAME = 'Mage';
const WARLOCK = 9;
const WARLOCK_NAME = 'Warlock';
const DRUID = 11;
const DRUID_NAME = 'Druid';
public static function name($class){
switch($class){
case self::WARRIOR:
return self::WARRIOR_NAME;
case self::PALADIN:
return self::PALADIN_NAME;
case self::HUNTER:
return self::HUNTER_NAME;
case self::ROGUE:
return self::ROGUE_NAME;
case self::PRIEST:
return self::PRIEST_NAME;
case self::SHAMAN:
return self::SHAMAN_NAME;
case self::MAGE:
return self::MAGE_NAME;
case self::WARLOCK:
return self::WARLOCK_NAME;
case self::DRUID:
return self::DRUID_NAME;
default:
return 'class not valid';
}
}
}

View File

@ -1 +1,4 @@
INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (1, 1, 0, -1, NULL, 'action', NULL); INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (1, 1, 0, -1, NULL, 'page', NULL);
INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (10, 1, 2, 1, 'default_info', 'id', 'STRING');
INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (110, 1, 2, 1, 'wizard_toolbar', 'last', 'STRING');
INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (111, 1, 2, 1, 'wizard_toolbar', 'next', 'STRING');

View File

Before

Width:  |  Height:  |  Size: 3.8 KiB

After

Width:  |  Height:  |  Size: 3.8 KiB

View File

Before

Width:  |  Height:  |  Size: 3.7 KiB

After

Width:  |  Height:  |  Size: 3.7 KiB

View File

Before

Width:  |  Height:  |  Size: 5.6 KiB

After

Width:  |  Height:  |  Size: 5.6 KiB

View File

Before

Width:  |  Height:  |  Size: 6.2 KiB

After

Width:  |  Height:  |  Size: 6.2 KiB

View File

Before

Width:  |  Height:  |  Size: 5.1 KiB

After

Width:  |  Height:  |  Size: 5.1 KiB

View File

Before

Width:  |  Height:  |  Size: 6.3 KiB

After

Width:  |  Height:  |  Size: 6.3 KiB

View File

Before

Width:  |  Height:  |  Size: 5.1 KiB

After

Width:  |  Height:  |  Size: 5.1 KiB

View File

Before

Width:  |  Height:  |  Size: 6.5 KiB

After

Width:  |  Height:  |  Size: 6.5 KiB

View File

Before

Width:  |  Height:  |  Size: 4.9 KiB

After

Width:  |  Height:  |  Size: 4.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 KiB

View File

@ -8,4 +8,5 @@
\SYSTEM\FILES\files::registerFolder(dirname(__FILE__).'/skilltree/','skilltree','*.*'); \SYSTEM\FILES\files::registerFolder(dirname(__FILE__).'/skilltree/','skilltree','*.*');
\SYSTEM\FILES\files::registerFolder(dirname(__FILE__).'/skilltree/tree/','skilltree_tree','*.*'); \SYSTEM\FILES\files::registerFolder(dirname(__FILE__).'/skilltree/tree/','skilltree_tree','*.*');
\SYSTEM\FILES\files::registerFolder(dirname(__FILE__).'/skilltree/skills/','skilltree_skills','*.*'); \SYSTEM\FILES\files::registerFolder(dirname(__FILE__).'/skilltree/skills/','skilltree_skills','*.*');
\SYSTEM\FILES\files::registerFolder(dirname(__FILE__).'/skilltree/skills_grey/','skilltree_skills_grey','*.*'); \SYSTEM\FILES\files::registerFolder(dirname(__FILE__).'/skilltree/skills_grey/','skilltree_skills_grey','*.*');
\SYSTEM\FILES\files::registerFolder(dirname(__FILE__).'/class/','class','*.*');

View File

@ -16,7 +16,9 @@ class default_page extends SYSTEM\PAGE\Page {
'<script type="text/javascript" language="JavaScript" src="'.SYSTEM\WEBPATH(new PPAGE(),'wizard_details/js/wizard_details.js').'"></script>'. '<script type="text/javascript" language="JavaScript" src="'.SYSTEM\WEBPATH(new PPAGE(),'wizard_details/js/wizard_details.js').'"></script>'.
'<script type="text/javascript" language="JavaScript" src="'.SYSTEM\WEBPATH(new PPAGE(),'wizard_visuals/js/wizard_visuals.js').'"></script>'. '<script type="text/javascript" language="JavaScript" src="'.SYSTEM\WEBPATH(new PPAGE(),'wizard_visuals/js/wizard_visuals.js').'"></script>'.
'<script type="text/javascript" language="JavaScript" src="'.SYSTEM\WEBPATH(new PAPI(),'char/js/skilltree.js').'"></script>'. '<script type="text/javascript" language="JavaScript" src="'.SYSTEM\WEBPATH(new PAPI(),'char/js/skilltree.js').'"></script>'.
'<script type="text/javascript" language="JavaScript" src="'.SYSTEM\WEBPATH(new PPAGE(),'wizard_spawn/js/wizard_spawn.js').'"></script>'; '<script type="text/javascript" language="JavaScript" src="'.SYSTEM\WEBPATH(new PPAGE(),'wizard_skills/js/wizard_skills.js').'"></script>'.
'<script type="text/javascript" language="JavaScript" src="'.SYSTEM\WEBPATH(new PPAGE(),'wizard_spawn/js/wizard_spawn.js').'"></script>'.
'<script type="text/javascript" language="JavaScript" src="'.SYSTEM\WEBPATH(new PPAGE(),'wizard_toolbar/js/wizard_toolbar.js').'"></script>';
} }
private function css (){ private function css (){

View File

@ -1,11 +1,10 @@
<?php <?php
class user_start extends SYSTEM\PAGE\Page { class user_start extends SYSTEM\PAGE\Page {
public static function get_char_statistics(){ public static function get_char_statistics(){
$result = ''; $result = '';
$chars = \DBD\CHAR_STATS::QA(); $chars = \DBD\CHAR_STATS::QA();
$vars[''] $vars = array();
$result = SYSTEM\PAGE\replace::replaceFile(SYSTEM\SERVERPATH(new PPAGE(),'user_start/char_stats_realm.tpl'), $vars); $result = SYSTEM\PAGE\replace::replaceFile(SYSTEM\SERVERPATH(new PPAGE(),'user_start/char_stats_realm.tpl'), $vars);
return $result; return $result;

View File

@ -25,19 +25,19 @@
<a class="female troll fadein info" info="race_troll" race="troll" gender="female" href="#"><img src="${WOWICONS}troll_female.png" /></a> <a class="female troll fadein info" info="race_troll" race="troll" gender="female" href="#"><img src="${WOWICONS}troll_female.png" /></a>
</div> </div>
<div id="details_class" style="float: left; margin: 15px;"> <div id="details_class" style="float: left; margin: 15px;">
<a class="human dwarf nightelf gnome ork undead tauren troll fadein info" info="class_warrior" cclass="warrior" href="#"><img src="${WOWICONS}warrior.png" /></a> <a class="human dwarf nightelf gnome ork undead tauren troll fadein info" info="class_warrior" cclass="1" href="#"><img src="${WOW_CLASS}Warrior.png" /></a>
<a class="dwarf nightelf ork tauren troll fadein info" info="class_hunter" cclass="hunter" href="#"><img src="${WOWICONS}hunter.png" /></a> <a class="dwarf nightelf ork tauren troll fadein info" info="class_hunter" cclass="3" href="#"><img src="${WOW_CLASS}Hunter.png" /></a>
<br> <br>
<a class="fadein tauren troll ork info" info="class_shaman" cclass="shaman" href="#"><img src="${WOWICONS}shaman.png" /></a> <a class="fadein tauren troll ork info" info="class_shaman" cclass="7" href="#"><img src="${WOW_CLASS}Shaman.png" /></a>
<a class="dwarf human nightelf gnome ork undead troll fadein info" info="class_rogue" cclass="rogue" href="#"><img src="${WOWICONS}rogue.png" /></a> <a class="dwarf human nightelf gnome ork undead troll fadein info" info="class_rogue" cclass="4" href="#"><img src="${WOW_CLASS}Rogue.png" /></a>
<br> <br>
<a class="dwarf human nightelf undead troll fadein info" info="class_priest" cclass="priest" href="#"><img src="${WOWICONS}priest.png" /></a> <a class="dwarf human nightelf undead troll fadein info" info="class_priest" cclass="5" href="#"><img src="${WOW_CLASS}Priest.png" /></a>
<a class="human gnome undead troll fadein info" info="class_mage" cclass="mage" href="#"><img src="${WOWICONS}mage.png" /></a> <a class="human gnome undead troll fadein info" info="class_mage" cclass="8" href="#"><img src="${WOW_CLASS}Mage.png" /></a>
<br> <br>
<a class="human gnome ork undead fadein info" info="class_warlock" cclass="warlock" href="#"><img src="${WOWICONS}warlock.png" /></a> <a class="human gnome ork undead fadein info" info="class_warlock" cclass="9" href="#"><img src="${WOW_CLASS}Warlock.png" /></a>
<a class="fadein nightelf tauren info" info="class_druid" cclass="druid" href="#"><img src="${WOWICONS}druid.png" /></a> <a class="fadein nightelf tauren info" info="class_druid" cclass="11" href="#"><img src="${WOW_CLASS}Druid.png" /></a>
<br> <br>
<a class="dwarf human fadein info" info="class_paladin" cclass="paladin" href="#" style="padding-left:30px;"><img src="${WOWICONS}paladin.png" /></a> <a class="dwarf human fadein info" info="class_paladin" cclass="2" href="#" style="padding-left:30px;"><img src="${WOW_CLASS}Paladin.png" /></a>
</div> </div>
<div class="lifecraft link-color" id="details_info" style="float: left; margin-top: 15px; width: 120px; height: 300px; overflow-y: hidden; padding: 8px; font-size: 14px;"> <div class="lifecraft link-color" id="details_info" style="float: left; margin-top: 15px; width: 120px; height: 300px; overflow-y: hidden; padding: 8px; font-size: 14px;">
<h3><img src="${WOWICONS}help_questionmark.png" width="25px"/>&nbsp;&nbsp;Info</h3> <h3><img src="${WOWICONS}help_questionmark.png" width="25px"/>&nbsp;&nbsp;Info</h3>

View File

@ -1,7 +1,5 @@
function init_wizard_details_toolbar(){ function init_wizard_details_toolbar(){
$('#last').click(function(){sys.load($(this).attr('sysload'));}); wizard_toolbar();}
$('#next').click(function(){sys.load($(this).attr('sysload'));});
}
function init_wizard_details (){ function init_wizard_details (){
//sys.load('wizard_details_toolbar'); //sys.load('wizard_details_toolbar');

View File

@ -13,6 +13,7 @@ class wizard_details extends SYSTEM\PAGE\Page {
$vars['js'] = $this->js(); $vars['js'] = $this->js();
$vars['css'] = $this->css(); $vars['css'] = $this->css();
$vars['WOWICONS'] = \SYSTEM\CONFIG\config::get(\SYSTEM\CONFIG\config_ids::SYS_CONFIG_PATH_BASEURL).'api.php?call=files&cat=wowicons&id='; $vars['WOWICONS'] = \SYSTEM\CONFIG\config::get(\SYSTEM\CONFIG\config_ids::SYS_CONFIG_PATH_BASEURL).'api.php?call=files&cat=wowicons&id=';
$vars['WOW_CLASS'] = \SYSTEM\CONFIG\config::get(\SYSTEM\CONFIG\config_ids::SYS_CONFIG_PATH_BASEURL).'api.php?call=files&cat=class&id=';
$vars['infotext_default'] = \SYSTEM\locale::getStrings(DBD\locale_string::VALUE_CATEGORY_WOW_INFOTEXT)['default']; $vars['infotext_default'] = \SYSTEM\locale::getStrings(DBD\locale_string::VALUE_CATEGORY_WOW_INFOTEXT)['default'];
$vars = array_merge($vars, \SYSTEM\locale::getStrings(DBD\locale_string::VALUE_CATEGORY_MAINPAGE)); $vars = array_merge($vars, \SYSTEM\locale::getStrings(DBD\locale_string::VALUE_CATEGORY_MAINPAGE));
return SYSTEM\PAGE\replace::replaceFile(SYSTEM\SERVERPATH(new PPAGE(),'wizard_details/details.tpl'), $vars); return SYSTEM\PAGE\replace::replaceFile(SYSTEM\SERVERPATH(new PPAGE(),'wizard_details/details.tpl'), $vars);

View File

@ -1,4 +1,5 @@
function init_wizard_skills_toolbar(){ function init_wizard_skills_toolbar(){
$('#last').click(function(){sys.load($(this).attr('sysload'));}); wizard_toolbar();}
$('#next').click(function(){sys.load($(this).attr('sysload'));});
} function init_wizard_skills(){
skilltree();}

View File

@ -3,15 +3,15 @@ class wizard_skills extends SYSTEM\PAGE\Page {
private function js(){ private function js(){
return ''; return '';
} }
private function css (){ private function css (){
return ''; return '';
} }
public function html(){ public function html(){
$vars = array(); $vars = json_decode(charcreation::data(),true)['result'];
$vars['skilltree'] = skilltree::generate(11); //druid $vars['skilltree'] = skilltree::generate($vars['char_class']);
return \SYSTEM\PAGE\replace::replaceFile(SYSTEM\SERVERPATH(new PPAGE(),'wizard_skills/wizard_skills.tpl'), $vars); return \SYSTEM\PAGE\replace::replaceFile(SYSTEM\SERVERPATH(new PPAGE(),'wizard_skills/wizard_skills.tpl'), $vars);
} }
} }

View File

@ -0,0 +1,2 @@
function wizard_toolbar(){
$('.tb_link').click(function(){sys.load($(this).attr('sysload'));});}

View File

@ -9,9 +9,11 @@ class wizard_toolbar extends SYSTEM\PAGE\Page {
} }
public function html(){ public function html(){
$vars = json_decode(charcreation::data(),true)['result']; $vars = json_decode(charcreation::data(),true)['result'];
$vars['char_class'] = player_classes::name($vars['char_class']);
$vars['last'] = $this->last; $vars['last'] = $this->last;
$vars['next'] = $this->next; $vars['next'] = $this->next;
$vars['WOWICONS'] = \SYSTEM\CONFIG\config::get(\SYSTEM\CONFIG\config_ids::SYS_CONFIG_PATH_BASEURL).'api.php?call=files&cat=wowicons&id='; $vars['WOWICONS'] = \SYSTEM\CONFIG\config::get(\SYSTEM\CONFIG\config_ids::SYS_CONFIG_PATH_BASEURL).'api.php?call=files&cat=wowicons&id=';
$vars['WOW_CLASS'] = \SYSTEM\CONFIG\config::get(\SYSTEM\CONFIG\config_ids::SYS_CONFIG_PATH_BASEURL).'api.php?call=files&cat=class&id=';
return SYSTEM\PAGE\replace::replaceFile(SYSTEM\SERVERPATH(new PPAGE(),'wizard_toolbar/wizard_toolbar.tpl'), $vars); return SYSTEM\PAGE\replace::replaceFile(SYSTEM\SERVERPATH(new PPAGE(),'wizard_toolbar/wizard_toolbar.tpl'), $vars);
} }
} }

View File

@ -1,10 +1,10 @@
<a id="last" sysload="${last}" href="#${last}" style="padding-left: 10px;"><img src="${WOWICONS}arrow_left.png" /></a> <a class="tb_link" id="tb_last" sysload="${last}" href="#${last}" style="padding-left: 10px;"><img src="${WOWICONS}arrow_left.png" /></a>
<a class="name" href="#" style="padding-left: 10px;">${char_name}</a> <a class="tb_link" id="tb_name" sysload="wizard_details" href="#wizard_details" style="padding-left: 10px;">${char_name}</a>
<a class="gender race" href="#" style="padding-left: 10px;"><img src="${WOWICONS}${char_race}_${char_gender}.png" /></a> <a class="tb_link" id="tb_gender race" sysload="wizard_details" href="#wizard_details" style="padding-left: 10px;"><img src="${WOWICONS}${char_race}_${char_gender}.png" /></a>
<a class="class" href="#" style="padding-left: 10px;"><img src="${WOWICONS}${char_class}.png" /></a> <a class="tb_link" id="tb_class" sysload="wizard_details" href="#wizard_details" style="padding-left: 10px;"><img src="${WOW_CLASS}${char_class}.png" /></a>
<a class="visuals" href="#" style="padding-left: 30px;"><img src="${WOWICONS}default.png" /></a> <a class="tb_link" id="tb_visuals" sysload="wizard_visuals" href="#wizard_visuals" style="padding-left: 30px;"><img src="${WOWICONS}default.png" /></a>
<a class="guild" href="#" style="padding-left: 30px;"><img src="${WOWICONS}default.png" /></a> <a class="tb_link" id="tb_skills" sysload="wizard_skills" href="#wizard_skills" style="padding-left: 30px;"><img src="${WOWICONS}default.png" /></a>
<a class="skill" href="#" style="padding-left: 30px;"><img src="${WOWICONS}default.png" /></a> <a class="skill" href="#" style="padding-left: 30px;"><img src="${WOWICONS}default.png" /></a>
<a class="skill" href="#" style="padding-left: 30px;"><img src="${WOWICONS}default.png" /></a> <a class="skill" href="#" style="padding-left: 30px;"><img src="${WOWICONS}default.png" /></a>
<a class="spawn" href="#" style="padding-left: 30px;"><img src="${WOWICONS}default.png" /></a> <a class="spawn" href="#" style="padding-left: 30px;"><img src="${WOWICONS}default.png" /></a>
<a id="next" sysload="${next}" href="#${next}" style="padding-left: 20px;"><img src="${WOWICONS}arrow_right.png" /></a> <a class="tb_link" id="tb_next" sysload="${next}" href="#${next}" style="padding-left: 15px;"><img src="${WOWICONS}arrow_right.png" /></a>

View File

@ -1,7 +1,5 @@
function init_wizard_visuals_toolbar(){ function init_wizard_visuals_toolbar(){
$('#last').click(function(){sys.load($(this).attr('sysload'));}); wizard_toolbar();}
$('#next').click(function(){sys.load($(this).attr('sysload'));});
}
function init_wizard_visuals (){ function init_wizard_visuals (){
$('#sel_skin_color').change(function(){ $('#sel_skin_color').change(function(){

View File

@ -14,6 +14,7 @@ function load_skilltree_tab(tree){
register_icon_add(); register_icon_add();
register_icon_delete(); register_icon_delete();
register_tree_edit(); register_tree_edit();
skilltree();
$('img#loader').hide();}); $('img#loader').hide();});
} }