#1470 This is a huge update. It contains all changes we made to the system on the
official ryzom servers. I removed non open source content though. So this version is running on live servers and works!
|
@ -2,6 +2,13 @@
|
|||
error_reporting(E_ALL ^ E_NOTICE);
|
||||
ini_set("display_errors","1");
|
||||
|
||||
$tmp_log_xmlgen_time = 0;
|
||||
|
||||
$microstart = explode(' ',microtime());
|
||||
$start_time = $microstart[0] + $microstart[1];
|
||||
|
||||
$MY_PATH = dirname(__FILE__);
|
||||
|
||||
if(file_exists("parser.stop")) {
|
||||
exit(0);
|
||||
}
|
||||
|
@ -15,7 +22,6 @@
|
|||
$_REQUEST['file'] = $argv[1];
|
||||
}
|
||||
|
||||
$log = new Logfile();
|
||||
if($CONF['logging'] == true) {
|
||||
require_once("class/Logfile_class.php");
|
||||
$log = new Logfile($CONF['logfile']);
|
||||
|
@ -27,6 +33,7 @@
|
|||
|
||||
if(!$_REQUEST['file']) {
|
||||
$log->logf("ERROR: no file given! EXITING!");
|
||||
$log->close();
|
||||
die();
|
||||
}
|
||||
|
||||
|
@ -34,9 +41,6 @@
|
|||
$DBc = new mySQL($CONF['mysql_error']);
|
||||
$DBc->connect($CONF['mysql_server'],$CONF['mysql_user'],$CONF['mysql_pass'],$CONF['mysql_database']);
|
||||
|
||||
$DBc_char = new mySQL($_CONF['mysql_error']);
|
||||
$DBc_char->connect($CONF['char_mysql_server'],$CONF['char_mysql_user'],$CONF['char_mysql_pass'],$CONF['char_mysql_database']);
|
||||
|
||||
|
||||
require_once("class/DataDispatcher_class.php");
|
||||
require_once("class/DataSourceHandler_class.php");
|
||||
|
@ -44,9 +48,16 @@
|
|||
require_once("class/Callback_class.php");
|
||||
require_once("class/ValueCache_class.php");
|
||||
require_once("class/Atom_class.php");
|
||||
require_once("class/XMLgenerator_class.php");
|
||||
require_once("class/XMLnode_class.php");
|
||||
require_once("class/XMLfile_class.php");
|
||||
require_once("class/Stats_class.php");
|
||||
|
||||
$_CACHE = new ValueCache();
|
||||
|
||||
//new generator for API xml files.
|
||||
$XMLgenerator = new XMLgenerator();
|
||||
|
||||
//create datasource handler
|
||||
$_DISPATCHER = new DataDispatcher();
|
||||
$_DATASOURCE = new DataSourceHandler();
|
||||
|
@ -61,135 +72,248 @@
|
|||
$tmp = explode("/",$_REQUEST['file']);
|
||||
$tmp2 = explode("_",$tmp[(sizeof($tmp)-1)]);
|
||||
|
||||
$DBc->database($CONF['char_mysql_database']);
|
||||
|
||||
$chars = array(($tmp2[1]*16+$tmp2[2]));
|
||||
$res = $DBc->sendSQL("SELECT id FROM players WHERE cid='".$DBc->mre($tmp2[1]*16+$tmp2[2])."' AND deleted='0'","ARRAY");
|
||||
#$res[0]['id'] = 1;
|
||||
if(($res[0]['id'] > 0) == false) {
|
||||
$log->logf("ERROR: no character found!");
|
||||
$log->close();
|
||||
die();
|
||||
}
|
||||
$cdata = array("cid"=>$res[0]['id'],"aid"=>$tmp2[1],"sid"=>$tmp2[2]);
|
||||
|
||||
#$cdata = array("cid"=>1,"aid"=>1,"sid"=>1);
|
||||
|
||||
$DBc->database($CONF['mysql_database']);
|
||||
|
||||
#echo var_export($cdata);
|
||||
|
||||
$log->logf(" done!");
|
||||
|
||||
foreach($chars as $cid) {
|
||||
$microstop = explode(' ',microtime());
|
||||
$stop_time = $microstop[0] + $microstop[1];
|
||||
|
||||
$log->logf("Expired time: ".($stop_time - $start_time));
|
||||
|
||||
#foreach($chars as $cid) {
|
||||
#STEP 1: load and register atoms
|
||||
|
||||
$log->logf("Processing char '".$cid."' ...");
|
||||
$log->logf("Processing char '".$cdata['cid']."' ...");
|
||||
|
||||
$log->logi("Loading and registering Atoms... ",false);
|
||||
|
||||
$atom_list = array();
|
||||
|
||||
$res = $DBc->sendSQL("SELECT at_id FROM ach_task WHERE NOT EXISTS (SELECT * FROM ach_player_task WHERE apt_player='".$cid."' AND apt_task=at_id)","ARRAY");
|
||||
$res = $DBc->sendSQL("SELECT at_id FROM ach_task WHERE NOT EXISTS (SELECT * FROM ach_player_task WHERE apt_player='".$cdata['cid']."' AND apt_task=at_id) AND at_dev='0'","ARRAY");
|
||||
foreach($res as $task) {
|
||||
//get unfinished atoms belonging to unfinished objectives
|
||||
$res2 = $DBc->sendSQL("SELECT ach_atom.* FROM ach_atom,ach_objective,ach_achievement WHERE ao_task='".$task['at_id']."' AND ao_id=atom_objective AND ap_achievement=aa_id AND NOT EXISTS (SELECT * FROM ach_player_objective WHERE apo_player='".$cid."' AND apo_objective=ao_id)","ARRAY");
|
||||
$res2 = $DBc->sendSQL("SELECT ach_atom.* FROM ach_atom,ach_objective WHERE ao_task='".$task['at_id']."' AND ao_id=atom_objective AND NOT EXISTS (SELECT * FROM ach_player_objective WHERE apo_player='".$cdata['cid']."' AND apo_objective=ao_id)","ARRAY");
|
||||
foreach($res2 as $atom) {
|
||||
$a = new Atom($atom,$cid);
|
||||
$a = new Atom($atom,$cdata);
|
||||
$atom_list[] = $a;
|
||||
$atom_list[] = $a;
|
||||
$a->register();
|
||||
}
|
||||
}
|
||||
|
||||
$statsdb = new Stats();
|
||||
$statsdb->register();
|
||||
|
||||
$log->logf("done!");
|
||||
|
||||
$log->logf("Memory load: ".memory_get_usage()." bytes");
|
||||
$microstop = explode(' ',microtime());
|
||||
$stop_time = $microstop[0] + $microstop[1];
|
||||
|
||||
$log->logf("Expired time: ".($stop_time - $start_time));
|
||||
|
||||
$log->logi("Driving data... ",false);
|
||||
|
||||
#STEP 2: drive data
|
||||
$_CACHE->setChar($cid);
|
||||
$_DATASOURCE->drive($cid);
|
||||
$_CACHE->setChar($cdata);
|
||||
$res = $DBc->sendSQL("SELECT sum(at_value) as anz FROM ach_task,ach_player_task WHERE at_id=apt_task AND apt_player='".$cdata['cid']."'","ARRAY");
|
||||
$_DISPATCHER->dispatchValue("yubopoints",$res[0]['anz']);
|
||||
|
||||
$_DISPATCHER->dispatchValue("aid",$cdata['aid']);
|
||||
$_DISPATCHER->dispatchValue("cid",$cdata['cid']);
|
||||
$_DISPATCHER->dispatchValue("sid",$cdata['sid']);
|
||||
$_DATASOURCE->drive($cdata);
|
||||
|
||||
//save daily stats
|
||||
$res = $DBc->sendSQL("SELECT COUNT(*) as anz FROM stat_daily WHERE sdm_day='".date("Y-m-d",time())."'","ARRAY");
|
||||
if($res[0]['anz'] == 0) {
|
||||
$res = $DBc->sendSQL("SELECT SUM(sp_money) as all_money, AVG(sp_money) as avg_money, COUNT(*) as playercount FROM app_achievements.stat_players as s, webig.players as p, ring_live.characters as c, nel.user as n WHERE s.sp_char = p.id AND p.cid = c.char_id AND c.user_id = n.uid AND n.privilege=''","ARRAY");
|
||||
|
||||
$res2 = $DBc->sendSQL("SELECT sp_money FROM app_achievements.stat_players as s, webig.players as p, ring_live.characters as c, nel.user as n WHERE s.sp_char = p.id AND p.cid = c.char_id AND c.user_id = n.uid AND n.privilege='' ORDER by sp_money ASC LIMIT ".floor($res[0]['playercount']/2).",1","ARRAY");
|
||||
|
||||
$res3 = $DBc->sendSQL("SELECT SUM(sp_yubototal) as all_yubo, AVG(sp_yubototal) as avg_yubo FROM app_achievements.stat_players as s, webig.players as p, ring_live.characters as c, nel.user as n WHERE s.sp_char = p.id AND p.cid = c.char_id AND c.user_id = n.uid AND n.privilege=''","ARRAY");
|
||||
|
||||
$res4 = $DBc->sendSQL("SELECT sp_yubototal FROM app_achievements.stat_players as s, webig.players as p, ring_live.characters as c, nel.user as n WHERE s.sp_char = p.id AND p.cid = c.char_id AND c.user_id = n.uid AND n.privilege='' ORDER by sp_money ASC LIMIT ".floor($res[0]['playercount']/2).",1","ARRAY");
|
||||
|
||||
$res5 = $DBc->sendSQL("SELECT SUM(sp_mekcount) as all_mek, AVG(sp_mekcount) as avg_mek FROM app_achievements.stat_players as s, webig.players as p, ring_live.characters as c, nel.user as n WHERE s.sp_char = p.id AND p.cid = c.char_id AND c.user_id = n.uid AND n.privilege=''","ARRAY");
|
||||
|
||||
$res6 = $DBc->sendSQL("SELECT sp_mekcount FROM app_achievements.stat_players as s, webig.players as p, ring_live.characters as c, nel.user as n WHERE s.sp_char = p.id AND p.cid = c.char_id AND c.user_id = n.uid AND n.privilege='' ORDER by sp_money ASC LIMIT ".floor($res[0]['playercount']/2).",1","ARRAY");
|
||||
|
||||
$res7 = $DBc->sendSQL("SELECT SUM(sp_maxlevel) as all_lvl, AVG(sp_maxlevel) as avg_lvl FROM app_achievements.stat_players as s, webig.players as p, ring_live.characters as c, nel.user as n WHERE s.sp_char = p.id AND p.cid = c.char_id AND c.user_id = n.uid AND n.privilege=''","ARRAY");
|
||||
|
||||
$res8 = $DBc->sendSQL("SELECT sp_maxlevel FROM app_achievements.stat_players as s, webig.players as p, ring_live.characters as c, nel.user as n WHERE s.sp_char = p.id AND p.cid = c.char_id AND c.user_id = n.uid AND n.privilege='' ORDER by sp_money ASC LIMIT ".floor($res[0]['playercount']/2).",1","ARRAY");
|
||||
|
||||
$res9 = $DBc->sendSQL("SELECT SUM(sp_itemcount) as all_item, AVG(sp_itemcount) as avg_item FROM app_achievements.stat_players as s, webig.players as p, ring_live.characters as c, nel.user as n WHERE s.sp_char = p.id AND p.cid = c.char_id AND c.user_id = n.uid AND n.privilege=''","ARRAY");
|
||||
|
||||
$res10 = $DBc->sendSQL("SELECT sp_itemcount FROM app_achievements.stat_players as s, webig.players as p, ring_live.characters as c, nel.user as n WHERE s.sp_char = p.id AND p.cid = c.char_id AND c.user_id = n.uid AND n.privilege='' ORDER by sp_money ASC LIMIT ".floor($res[0]['playercount']/2).",1","ARRAY");
|
||||
|
||||
$DBc->sendSQL("INSERT IGNORE INTO stat_daily (sd_day,sd_players,sd_money_avg,sd_money_total,sd_money_mean,sd_mek_total,sd_mek_avg,sd_mek_mean,sd_yubo_total,sd_yubo_avg,sd_yubo_mean,sd_lvl_total,sd_lvl_avg,sd_lvl_mean,sd_item_total,sd_item_avg,sd_item_mean) VALUES ('".date("Y-m-d",time())."','".$res[0]['playercount']."','".$res[0]['avg_money']."','".$res[0]['all_money']."','".$res2[0]['sp_money']."','".$res5[0]['all_mek']."','".$res5[0]['avg_mek']."','".$res6[0]['sp_mekcount']."','".$res3[0]['all_yubo']."','".$res3[0]['avg_yubo']."','".$res4[0]['sp_yubototal']."','".$res7[0]['all_lvl']."','".$res7[0]['avg_lvl']."','".$res8[0]['sp_maxlevel']."','".$res9[0]['all_item']."','".$res9[0]['avg_item']."','".$res102[0]['sp_itemcounty']."')","NONE");
|
||||
}
|
||||
|
||||
$log->logf("done!");
|
||||
$microstop = explode(' ',microtime());
|
||||
$stop_time = $microstop[0] + $microstop[1];
|
||||
|
||||
$log->logf("Expired time: ".($stop_time - $start_time));
|
||||
$log->logf("xml-gen took: ".$tmp_log_xmlgen_time);
|
||||
$log->logf("Memory load: ".memory_get_usage()." bytes");
|
||||
|
||||
$log->logi("Writing XML export... ",false);
|
||||
|
||||
$XMLgenerator->generate();
|
||||
|
||||
$log->logf("done!");
|
||||
|
||||
$log->logf("Memory load: ".memory_get_usage()." bytes");
|
||||
$microstop = explode(' ',microtime());
|
||||
$stop_time = $microstop[0] + $microstop[1];
|
||||
|
||||
$log->logf("Expired time: ".($stop_time - $start_time));
|
||||
|
||||
#STEP 3: detect obj/task progression
|
||||
$log->logi("Detecting Objectives... ",false);
|
||||
|
||||
//obj
|
||||
$res = $DBc->sendSQL("SELECT ao_id FROM ach_objective WHERE ao_condition='all' AND NOT EXISTS (SELECT * FROM ach_player_objective WHERE apo_objective=ao_id AND apo_player='".$cid."') AND NOT EXISTS (SELECT * FROM ach_atom WHERE atom_objective=ao_id AND NOT EXISTS (SELECT * FROM ach_player_atom WHERE apa_atom=atom_id AND apa_state='GRANT' AND apa_player='".$cid."')) AND EXISTS (SELECT * FROM ach_atom WHERE atom_objective=ao_id)","ARRAY");
|
||||
$res = $DBc->sendSQL("SELECT ao_id FROM ach_objective WHERE ao_condition='all' AND NOT EXISTS (SELECT * FROM ach_player_objective WHERE apo_objective=ao_id AND apo_player='".$cdata['cid']."') AND NOT EXISTS (SELECT * FROM ach_atom WHERE atom_objective=ao_id AND NOT EXISTS (SELECT * FROM ach_player_atom WHERE apa_atom=atom_id AND apa_state='GRANT' AND apa_player='".$cdata['cid']."')) AND EXISTS (SELECT * FROM ach_atom WHERE atom_objective=ao_id)","ARRAY");
|
||||
$sz = sizeof($res);
|
||||
for($i=0;$i<$sz;$i++) {
|
||||
$DBc->sendSQL("INSERT INTO ach_player_objective (apo_objective,apo_player,apo_date) VALUES ('".$res[$i]['ao_id']."','".$cid."','".time()."')","NONE");
|
||||
$DBc->sendSQL("INSERT INTO ach_player_objective (apo_objective,apo_player,apo_date) VALUES ('".$res[$i]['ao_id']."','".$cdata['cid']."','".time()."')","NONE");
|
||||
}
|
||||
|
||||
$res = $DBc->sendSQL("SELECT ao_id FROM ach_objective WHERE ao_condition='value' AND NOT EXISTS (SELECT * FROM ach_player_objective WHERE apo_objective=ao_id AND apo_player='".$cid."') AND ao_value<=(SELECT sum(apa_value) FROM ach_atom,ach_player_atom WHERE atom_objective=ao_id AND apa_atom=atom_id AND apa_state='GRANT' AND apa_player='".$cid."') AND EXISTS (SELECT * FROM ach_atom WHERE atom_objective=ao_id)","ARRAY");
|
||||
$log->logf("1... ",false);
|
||||
|
||||
$res = $DBc->sendSQL("SELECT ao_id FROM ach_objective WHERE ao_condition='value' AND NOT EXISTS (SELECT * FROM ach_player_objective WHERE apo_objective=ao_id AND apo_player='".$cdata['cid']."') AND ao_value<=(SELECT sum(apa_value) FROM ach_atom,ach_player_atom WHERE atom_objective=ao_id AND apa_atom=atom_id AND apa_state='GRANT' AND apa_player='".$cdata['cid']."') AND EXISTS (SELECT * FROM ach_atom WHERE atom_objective=ao_id)","ARRAY");
|
||||
$sz = sizeof($res);
|
||||
for($i=0;$i<$sz;$i++) {
|
||||
$DBc->sendSQL("INSERT INTO ach_player_objective (apo_objective,apo_player,apo_date) VALUES ('".$res[$i]['ao_id']."','".$cid."','".time()."')","NONE");
|
||||
$DBc->sendSQL("INSERT INTO ach_player_objective (apo_objective,apo_player,apo_date) VALUES ('".$res[$i]['ao_id']."','".$cdata['cid']."','".time()."')","NONE");
|
||||
}
|
||||
|
||||
$res = $DBc->sendSQL("SELECT ao_id FROM ach_objective WHERE ao_condition='any' AND NOT EXISTS (SELECT * FROM ach_player_objective WHERE apo_objective=ao_id AND apo_player='".$cid."') AND EXISTS (SELECT * FROM ach_atom WHERE atom_objective=ao_id AND EXISTS (SELECT * FROM ach_player_atom WHERE apa_atom=atom_id AND apa_state='GRANT' AND apa_player='".$cid."')) AND EXISTS (SELECT * FROM ach_atom WHERE atom_objective=ao_id)","ARRAY");
|
||||
$log->logf("2... ",false);
|
||||
|
||||
$res = $DBc->sendSQL("SELECT ao_id FROM ach_objective WHERE ao_condition='any' AND NOT EXISTS (SELECT * FROM ach_player_objective WHERE apo_objective=ao_id AND apo_player='".$cdata['cid']."') AND EXISTS (SELECT * FROM ach_atom WHERE atom_objective=ao_id AND EXISTS (SELECT * FROM ach_player_atom WHERE apa_atom=atom_id AND apa_state='GRANT' AND apa_player='".$cdata['cid']."')) AND EXISTS (SELECT * FROM ach_atom WHERE atom_objective=ao_id)","ARRAY");
|
||||
$sz = sizeof($res);
|
||||
for($i=0;$i<$sz;$i++) {
|
||||
$DBc->sendSQL("INSERT INTO ach_player_objective (apo_objective,apo_player,apo_date) VALUES ('".$res[$i]['ao_id']."','".$cid."','".time()."')","NONE");
|
||||
$DBc->sendSQL("INSERT INTO ach_player_objective (apo_objective,apo_player,apo_date) VALUES ('".$res[$i]['ao_id']."','".$cdata['cid']."','".time()."')","NONE");
|
||||
}
|
||||
|
||||
$log->logf("3... ",false);
|
||||
|
||||
//meta
|
||||
$res = $DBc->sendSQL("SELECT ao_id FROM ach_objective,ach_task as t1,ach_achievement WHERE ao_display='meta' ao_task=t1.at_id AND t1.at_achievement=aa_id AND NOT EXISTS (SELECT * FROM ach_task as t2 WHERE t2.at_achievement=aa_metalink AND NOT EXISTS (SELECT * FROM ach_player_task WHERE apt_task=t2.at_id AND apt_player='".$cid."'))");
|
||||
#$res = $DBc->sendSQL("SELECT ao_id FROM ach_objective,ach_task as t1,ach_achievement WHERE ao_display='meta' AND ao_task=t1.at_id AND t1.at_achievement=aa_id AND NOT EXISTS (SELECT * FROM ach_task as t2 WHERE t2.at_achievement=ao_metalink AND NOT EXISTS (SELECT * FROM ach_player_task WHERE apt_task=t2.at_id AND apt_player='".$cdata['cid']."'))","ARRAY");
|
||||
$res = $DBc->sendSQL("SELECT ao_id FROM ach_objective WHERE ao_display='meta' AND NOT EXISTS (SELECT * FROM ach_player_objective WHERE apo_objective=ao_id AND apo_player='".$cdata['cid']."') AND NOT EXISTS (SELECT * FROM ach_task WHERE ao_metalink=at_achievement AND NOT EXISTS (SELECT * FROM ach_player_task WHERE apt_task=at_id AND apt_player='".$cdata['cid']."'))","ARRAY");
|
||||
$sz = sizeof($res);
|
||||
for($i=0;$i<$sz;$i++) {
|
||||
$DBc->sendSQL("INSERT INTO ach_player_objective (apo_objective,apo_player,apo_date) VALUES ('".$res[$i]['ao_id']."','".$cid."','".time()."')","NONE");
|
||||
$DBc->sendSQL("INSERT INTO ach_player_objective (apo_objective,apo_player,apo_date) VALUES ('".$res[$i]['ao_id']."','".$cdata['cid']."','".time()."')","NONE");
|
||||
}
|
||||
|
||||
$log->logf("4... ",false);
|
||||
|
||||
$log->logf("done!");
|
||||
|
||||
$microstop = explode(' ',microtime());
|
||||
$stop_time = $microstop[0] + $microstop[1];
|
||||
|
||||
$log->logf("Expired time: ".($stop_time - $start_time));
|
||||
|
||||
$log->logi("Clearing atom data... ",false);
|
||||
|
||||
//clear atom state for completed objectives
|
||||
$DBc->sendSQL("DELETE FROM ach_player_atom WHERE EXISTS (SELECT * FROM ach_player_objective,ach_atom WHERE atom_id=apa_atom AND apa_player='".$cid."' AND atom_objective=ao_id)");
|
||||
#$DBc->sendSQL("DELETE FROM ach_player_atom WHERE EXISTS (SELECT * FROM ach_player_objective,ach_atom WHERE atom_id=apa_atom AND apa_player='".$cdata['cid']."' AND atom_objective=apo_objective)");
|
||||
|
||||
$DBc->sendSQL("DELETE FROM ach_player_atom WHERE apa_player='".$cdata['cid']."' AND EXISTS (SELECT * FROM ach_player_objective,ach_atom WHERE atom_id=apa_atom AND apo_player='".$cdata['cid']."' AND atom_objective=apo_objective)");
|
||||
|
||||
$log->logf("done!");
|
||||
|
||||
$microstop = explode(' ',microtime());
|
||||
$stop_time = $microstop[0] + $microstop[1];
|
||||
|
||||
$log->logf("Expired time: ".($stop_time - $start_time));
|
||||
|
||||
//task
|
||||
$log->logi("Detecting Tasks... ",false);
|
||||
$res = $DBc->sendSQL("SELECT at_id FROM ach_task WHERE at_condition='all' AND NOT EXISTS (SELECT * FROM ach_player_task WHERE apt_task=at_id AND aptp_player='".$cid."') AND NOT EXISTS (SELECT * FROM ach_objective WHERE ao_task=ap_id AND NOT EXISTS (SELECT * FROM ach_player_objective WHERE apo_objective=ao_id AND apo_player='".$cid."')) AND EXISTS (SELECT * FROM ach_objective WHERE ao_task=ap_id) AND at_dev='0'","ARRAY");
|
||||
$res = $DBc->sendSQL("SELECT at_id FROM ach_task WHERE at_condition='all' AND NOT EXISTS (SELECT * FROM ach_player_task WHERE apt_task=at_id AND apt_player='".$cdata['cid']."') AND NOT EXISTS (SELECT * FROM ach_objective WHERE ao_task=at_id AND NOT EXISTS (SELECT * FROM ach_player_objective WHERE apo_objective=ao_id AND apo_player='".$cdata['cid']."')) AND EXISTS (SELECT * FROM ach_objective WHERE ao_task=at_id) AND at_dev='0'","ARRAY");
|
||||
$sz = sizeof($res);
|
||||
for($i=0;$i<$sz;$i++) {
|
||||
$DBc->sendSQL("INSERT INTO ach_player_task (apt_task,apt_player,apt_date) VALUES ('".$res[$i]['ap_id']."','".$cid."','".time()."')","NONE");
|
||||
$DBc->sendSQL("INSERT INTO ach_player_task (apt_task,apt_player,apt_date) VALUES ('".$res[$i]['at_id']."','".$cdata['cid']."','".time()."')","NONE");
|
||||
}
|
||||
|
||||
$res = $DBc->sendSQL("SELECT ap_id FROM ach_task WHERE at_condition='value' AND NOT EXISTS (SELECT * FROM ach_player_task WHERE apt_task=at_id AND apt_player='".$cid."') AND at_value<=(SELECT count(*) FROM ach_objective WHERE ao_task=at_id AND EXISTS (SELECT * FROM ach_player_objective WHERE apo_objective=ao_id AND apo_player='".$cid."')) AND EXISTS (SELECT * FROM ach_objective WHERE ao_task=at_id) AND at_dev='0'","ARRAY");
|
||||
$log->logf("1... ",false);
|
||||
|
||||
$res = $DBc->sendSQL("SELECT at_id FROM ach_task WHERE at_condition='value' AND NOT EXISTS (SELECT * FROM ach_player_task WHERE apt_task=at_id AND apt_player='".$cdata['cid']."') AND at_value<=(SELECT count(*) FROM ach_objective WHERE ao_task=at_id AND EXISTS (SELECT * FROM ach_player_objective WHERE apo_objective=ao_id AND apo_player='".$cdata['cid']."')) AND EXISTS (SELECT * FROM ach_objective WHERE ao_task=at_id) AND at_dev='0'","ARRAY");
|
||||
$sz = sizeof($res);
|
||||
for($i=0;$i<$sz;$i++) {
|
||||
$DBc->sendSQL("INSERT INTO ach_player_task (apt_task,apt_player,apt_date) VALUES ('".$res[$i]['ap_id']."','".$cid."','".time()."')","NONE");
|
||||
$DBc->sendSQL("INSERT INTO ach_player_task (apt_task,apt_player,apt_date) VALUES ('".$res[$i]['at_id']."','".$cdata['cid']."','".time()."')","NONE");
|
||||
}
|
||||
|
||||
$res = $DBc->sendSQL("SELECT at_id FROM ach_task WHERE ap_condition='any' AND NOT EXISTS (SELECT * FROM ach_player_task WHERE apt_task=at_id AND apt_player='".$cid."') AND EXISTS (SELECT * FROM ach_objective WHERE ao_task=at_id AND EXISTS (SELECT * FROM ach_player_objective WHERE apo_objective=ao_id AND apo_player='".$cid."')) AND EXISTS (SELECT * FROM ach_objective WHERE ao_task=at_id) AND at_dev='0'","ARRAY");
|
||||
$log->logf("2... ",false);
|
||||
|
||||
$res = $DBc->sendSQL("SELECT at_id FROM ach_task WHERE at_condition='any' AND NOT EXISTS (SELECT * FROM ach_player_task WHERE apt_task=at_id AND apt_player='".$cdata['cid']."') AND EXISTS (SELECT * FROM ach_objective WHERE ao_task=at_id AND EXISTS (SELECT * FROM ach_player_objective WHERE apo_objective=ao_id AND apo_player='".$cdata['cid']."')) AND EXISTS (SELECT * FROM ach_objective WHERE ao_task=at_id) AND at_dev='0'","ARRAY");
|
||||
$sz = sizeof($res);
|
||||
for($i=0;$i<$sz;$i++) {
|
||||
$DBc->sendSQL("INSERT INTO ach_player_task (apt_task,apt_player,apt_date) VALUES ('".$res[$i]['ap_id']."','".$cid."','".time()."')","NONE");
|
||||
$DBc->sendSQL("INSERT INTO ach_player_task (apt_task,apt_player,apt_date) VALUES ('".$res[$i]['at_id']."','".$cdata['cid']."','".time()."')","NONE");
|
||||
}
|
||||
|
||||
if($CONF['facebook'] == true) {
|
||||
$log->logf("3... ",false);
|
||||
|
||||
/*if($CONF['facebook'] == true) {
|
||||
require_once("../fb/facebook.php");
|
||||
|
||||
$facebook = new Facebook(array(appId=>$CONF['fb_id'], secret=>$CONF['fb_secret']));
|
||||
|
||||
|
||||
$res = $DBc->sendSQL("SELECT * FROM ach_fb_token WHERE aft_player='".$cid."'","ARRAY");
|
||||
$res = $DBc->sendSQL("SELECT * FROM ach_fb_token WHERE aft_player='".$cdata['cid']."'","ARRAY");
|
||||
|
||||
$access_token = $res[0]['aft_token'];
|
||||
|
||||
if($res[0]['aft_allow'] == 1) {
|
||||
|
||||
$res2 = $DBc->sendSQL("SELECT * FROM ach_player_task WHERE apt_player='".$cid."' AND apt_fb='0'","ARRAY");
|
||||
$res2 = $DBc->sendSQL("SELECT * FROM ach_player_task WHERE apt_player='".$cdata['cid']."' AND apt_fb='0'","ARRAY");
|
||||
$sz = sizeof($res2);
|
||||
|
||||
for($i=0;$i<$sz;$i++) {
|
||||
|
||||
//this has to be adapted!
|
||||
|
||||
/*$result = $facebook->api(
|
||||
'/me/feed/',
|
||||
array('access_token' => $$access_token, 'message' => 'Playing around with FB Graph..')
|
||||
);*/
|
||||
#$result = $facebook->api(
|
||||
# '/me/feed/',
|
||||
# array('access_token' => $$access_token, 'message' => 'Playing around with FB Graph..')
|
||||
#);
|
||||
|
||||
}
|
||||
|
||||
$DBc->sendSQL("UPDATE ach_player_task SET apt_fb='1' WHERE apt_player='".$cid."'","NONE");
|
||||
$DBc->sendSQL("UPDATE ach_player_task SET apt_fb='1' WHERE apt_player='".$cdata['cid']."'","NONE");
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
}*/
|
||||
|
||||
$log->logf("done!");
|
||||
}
|
||||
#}
|
||||
|
||||
$microstop = explode(' ',microtime());
|
||||
$stop_time = $microstop[0] + $microstop[1];
|
||||
|
||||
$log->logf("Total time: ".($stop_time - $start_time));
|
||||
|
||||
$log->logf("Run complete; exiting...");
|
||||
$log->close();
|
||||
exit(0);
|
||||
?>
|
|
@ -61,19 +61,19 @@
|
|||
function grant($count = 1) { // grant an atom
|
||||
global $DBc;
|
||||
|
||||
$DBc->sendSQL("INSERT INTO ach_player_atom (apa_atom,apa_player,apa_date,apa_expire,apa_state,apa_value) VALUES ('".$this->id."','".$this->user."','".time()."',null,'GRANT','".$count."')","NONE");
|
||||
$DBc->sendSQL("INSERT INTO ach_player_atom (apa_atom,apa_player,apa_date,apa_expire,apa_state,apa_value) VALUES ('".$this->id."','".$this->user['cid']."','".time()."',null,'GRANT','".$count."')","NONE");
|
||||
}
|
||||
|
||||
function deny() { // deny an atom
|
||||
global $DBc;
|
||||
|
||||
$DBc->sendSQL("INSERT INTO ach_player_atom (apa_atom,apa_player,apa_date,apa_expire,apa_state) VALUES ('".$this->id."','".$this->user."','".time()."',null,'DENY','1')","NONE");
|
||||
$DBc->sendSQL("INSERT INTO ach_player_atom (apa_atom,apa_player,apa_date,apa_expire,apa_state) VALUES ('".$this->id."','".$this->user['cid']."','".time()."',null,'DENY','1')","NONE");
|
||||
}
|
||||
|
||||
function reset_() { // reset progress for this atom
|
||||
global $DBc;
|
||||
|
||||
$DBc->sendSQL("DELETE FROM ach_player_atom WHERE apa_atom='".$this->id."' AND apa_player='".$this->user."'","NONE");
|
||||
$DBc->sendSQL("DELETE FROM ach_player_atom WHERE apa_atom='".$this->id."' AND apa_player='".$this->user['cid']."'","NONE");
|
||||
}
|
||||
|
||||
function reset_all() { // reset progress for all atoms of the same objective
|
||||
|
@ -82,14 +82,14 @@
|
|||
$res = $DBc->sendSQL("SELECT atom_id FROM ach_atom WHERE atom_objective='".$this->objective."'","ARRAY");
|
||||
$sz = sizeof($res);
|
||||
for($i=0;$i<$sz;$i++) {
|
||||
$DBc->sendSQL("DELETE FROM ach_player_atom WHERE apa_atom='".$res[$i]['atom_id']."' AND apa_player='".$this->user."'","NONE");
|
||||
$DBc->sendSQL("DELETE FROM ach_player_atom WHERE apa_atom='".$res[$i]['atom_id']."' AND apa_player='".$this->user['cid']."'","NONE");
|
||||
}
|
||||
}
|
||||
|
||||
function unlock() { // unlock atom
|
||||
global $DBc;
|
||||
|
||||
$DBc->sendSQL("DELETE FROM ach_player_atom WHERE apa_atom='".$this->id."' AND apa_player='".$this->user."' AND apa_state='DENY'","NONE");
|
||||
$DBc->sendSQL("DELETE FROM ach_player_atom WHERE apa_atom='".$this->id."' AND apa_player='".$this->user['cid']."' AND apa_state='DENY'","NONE");
|
||||
}
|
||||
|
||||
function unlock_all() { // unlock all atoms of the same objective
|
||||
|
@ -98,7 +98,7 @@
|
|||
$res = $DBc->sendSQL("SELECT atom_id FROM ach_atom WHERE atom_objective='".$this->objective."'","ARRAY");
|
||||
$sz = sizeof($res);
|
||||
for($i=0;$i<$sz;$i++) {
|
||||
$DBc->sendSQL("DELETE FROM ach_player_atom WHERE apa_atom='".$res[$i]['atom_id']."' AND apa_player='".$this->user."' AND apa_state='DENY'","NONE");
|
||||
$DBc->sendSQL("DELETE FROM ach_player_atom WHERE apa_atom='".$res[$i]['atom_id']."' AND apa_player='".$this->user['cid']."' AND apa_state='DENY'","NONE");
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -13,9 +13,9 @@
|
|||
$this->source[] = $src;
|
||||
}
|
||||
|
||||
function drive($cid) { // tell the datasources to start reading data
|
||||
function drive($cdata) { // tell the datasources to start reading data
|
||||
foreach($this->source as $elem) {
|
||||
$elem->drive($cid);
|
||||
$elem->drive($cdata);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
*/
|
||||
abstract class Entity {
|
||||
private $name;
|
||||
private $_dataset = array();
|
||||
|
||||
function getName() {
|
||||
return $this->name;
|
||||
|
@ -12,5 +13,13 @@
|
|||
function setName($n) {
|
||||
$this->name = $n;
|
||||
}
|
||||
|
||||
function setData($key,$data) {
|
||||
$this->_dataset[$key] = $data;
|
||||
}
|
||||
|
||||
function getData($key) {
|
||||
return $this->_dataset[$key];
|
||||
}
|
||||
}
|
||||
?>
|
|
@ -7,33 +7,38 @@
|
|||
private $logfile;
|
||||
|
||||
function Logfile($f = false) {
|
||||
global $CONF,$MY_PATH;
|
||||
$this->logfile = false;
|
||||
|
||||
if($f != false) {
|
||||
$this->logfile = fopen($this->logfile.'.'.$_REQUEST['file'].'.'.date("Ymd",time()).'.txt','a');;
|
||||
$this->logfile = fopen($MY_PATH.$CONF['logfile'].'.'.date("Ymd",time()).'.txt','a+');
|
||||
#echo "kk";
|
||||
}
|
||||
}
|
||||
|
||||
function logf($t,$nl = true) {
|
||||
$this->write($t);
|
||||
$this->write("[".date("H:i:s")."] ".$t);
|
||||
if($nl == true) {
|
||||
$this->write("\n");
|
||||
}
|
||||
}
|
||||
|
||||
function logi($t,$nl = true) {
|
||||
$this->write(" > ".$t);
|
||||
#echo $t;
|
||||
$this->write("[".date("H:i:s")."] > ".$t);
|
||||
if($nl == true) {
|
||||
$this->write("\n");
|
||||
}
|
||||
}
|
||||
|
||||
function write($txt) {
|
||||
#echo $txt;
|
||||
fwrite($this->logfile,$txt);
|
||||
}
|
||||
|
||||
function close() {
|
||||
fclose($this->logfile);
|
||||
#echo "ii";
|
||||
}
|
||||
}
|
||||
?>
|
|
@ -4,6 +4,6 @@
|
|||
*/
|
||||
|
||||
abstract class SourceDriver {
|
||||
abstract function drive($cid);
|
||||
abstract function drive($cdata);
|
||||
}
|
||||
?>
|
|
@ -0,0 +1,42 @@
|
|||
<?php
|
||||
class Stats {
|
||||
#private $user;
|
||||
|
||||
function Stats() {
|
||||
#$this->user = $user;
|
||||
}
|
||||
|
||||
function register() { // register the stats code
|
||||
|
||||
include_once("script/statsdb.php");
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
function registerValue($name,$func) { // register to listen for a value
|
||||
global $_DISPATCHER;
|
||||
|
||||
$tmp = new Callback($this,$func);
|
||||
$_DISPATCHER->registerValue($name,$tmp);
|
||||
}
|
||||
|
||||
function unregisterValue($name,$callback) { // unregister listening
|
||||
global $_DISPATCHER;
|
||||
|
||||
$_DISPATCHER->unregisterValue($name,$callback);
|
||||
}
|
||||
|
||||
function registerEntity($name,$func) { // register to listen for an entity
|
||||
global $_DISPATCHER;
|
||||
|
||||
$tmp = new Callback($this,$func);
|
||||
$_DISPATCHER->registerEntity($name,$tmp);
|
||||
}
|
||||
|
||||
function unregisterEntity($name,$callback) { // unregister
|
||||
global $_DISPATCHER;
|
||||
|
||||
$_DISPATCHER->unregisterEntity($name,$callback);
|
||||
}
|
||||
}
|
||||
?>
|
|
@ -10,14 +10,14 @@
|
|||
$this->char = false;
|
||||
}
|
||||
|
||||
function setChar($c) { // select the character
|
||||
$this->char = $c;
|
||||
function setChar($cdata) { // select the character
|
||||
$this->char = $cdata['cid'];
|
||||
}
|
||||
|
||||
function writeData($key,$val) { // write to cache
|
||||
global $DBc;
|
||||
|
||||
$DBc->sendSQL("INSERT INTO ach_player_valuecache (apv_name,apv_player,apv_value,apv_date) VALUES ('".$this->user."','".$DBc->mre($key)."','".$DBc->mre($val)."','".time()."') ON DUPLICATE KEY UPDATE apv_value='".$DBc->mre($val)."', apv_date='".time()."'","NONE");
|
||||
$DBc->sendSQL("INSERT INTO ach_player_valuecache (apv_name,apv_player,apv_value,apv_date) VALUES ('".$DBc->mre($key)."','".$this->char."','".$DBc->mre($val)."','".time()."') ON DUPLICATE KEY UPDATE apv_value='".$DBc->mre($val)."', apv_date='".time()."'","NONE");
|
||||
}
|
||||
|
||||
function getData($key) { // read from cache
|
||||
|
|
|
@ -0,0 +1,74 @@
|
|||
<?php
|
||||
class XMLfile {
|
||||
private $ident;
|
||||
private $xml;
|
||||
|
||||
private $curr;
|
||||
|
||||
function XMLfile($i) {
|
||||
$this->ident = $i;
|
||||
$this->xml = new XMLNode($this->ident);
|
||||
$this->curr = $this->xml;
|
||||
}
|
||||
|
||||
function getIdent() {
|
||||
return $this->ident;
|
||||
}
|
||||
|
||||
function addXML($name,$attrs,$open) {
|
||||
if($open == true) {
|
||||
if($name == "__KEY__") {
|
||||
$x = explode(".",$attrs["VALUE"]);
|
||||
if(sizeof($x) > 1) {
|
||||
$v = $x[1];
|
||||
$a = array("sheetid"=>$attrs["VALUE"]);
|
||||
}
|
||||
else {
|
||||
$v = $attrs["VALUE"];
|
||||
$a = array();
|
||||
}
|
||||
$this->curr = new XMLNode($v,null,$this->curr);
|
||||
foreach($a as $key=>$elem) {
|
||||
$this->curr->addArg($key,$elem);
|
||||
}
|
||||
$tmp = $this->curr->getParent();
|
||||
$tmp->addChild($this->curr);
|
||||
}
|
||||
elseif($name == "__VAL__") {
|
||||
$this->curr->setValue($attrs["VALUE"]);
|
||||
}
|
||||
else {
|
||||
$this->curr = new XMLNode($name,null,$this->curr);
|
||||
if(isset($attrs["VALUE"])) {
|
||||
$this->curr->addArg("value",$attrs["VALUE"]);
|
||||
}
|
||||
$tmp = $this->curr->getParent();
|
||||
$tmp->addChild($this->curr);
|
||||
}
|
||||
}
|
||||
else {
|
||||
if($name == "__KEY__") {
|
||||
// do nothing
|
||||
}
|
||||
elseif($name == "__VAL__") {
|
||||
$this->curr = $this->curr->getParent();
|
||||
}
|
||||
elseif($name == $this->curr->getName()) {
|
||||
if($this->curr->getArg("value") !== null) {
|
||||
$this->curr->setValue($this->curr->getArg("value"));
|
||||
$this->curr->clearArg("value");
|
||||
}
|
||||
$this->curr = $this->curr->getParent();
|
||||
}
|
||||
else {
|
||||
$this->curr = $this->curr->getParent();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function generate($i) {
|
||||
return $this->xml->generate($i);
|
||||
}
|
||||
|
||||
}
|
||||
?>
|
|
@ -0,0 +1,106 @@
|
|||
<?php
|
||||
class XMLgenerator {
|
||||
private $def = array();
|
||||
private $files = array();
|
||||
private $wildcard = array();
|
||||
|
||||
function XMLgenerator() {
|
||||
//load xml def & filegen
|
||||
|
||||
#$this->def['xml/CLEAR'] = array("stats");
|
||||
require_once("xmldef/public.php");
|
||||
$this->files["public"] = new XMLfile("public");
|
||||
|
||||
require_once("xmldef/logs.php");
|
||||
$this->files["logs"] = new XMLfile("logs");
|
||||
|
||||
require_once("xmldef/stats.php");
|
||||
$this->files["stats"] = new XMLfile("stats");
|
||||
|
||||
require_once("xmldef/faction.php");
|
||||
$this->files["faction"] = new XMLfile("faction");
|
||||
|
||||
require_once("xmldef/inventory.php");
|
||||
$this->files["inventory"] = new XMLfile("inventory");
|
||||
|
||||
require_once("xmldef/shop.php");
|
||||
$this->files["shop"] = new XMLfile("shop");
|
||||
|
||||
require_once("xmldef/fame.php");
|
||||
$this->files["fame"] = new XMLfile("fame");
|
||||
|
||||
require_once("xmldef/knowledge.php");
|
||||
$this->files["knowledge"] = new XMLfile("knowledge");
|
||||
|
||||
require_once("xmldef/social.php");
|
||||
$this->files["social"] = new XMLfile("social");
|
||||
|
||||
require_once("xmldef/skills.php");
|
||||
$this->files["skills"] = new XMLfile("skills");
|
||||
|
||||
require_once("xmldef/missions.php");
|
||||
$this->files["missions"] = new XMLfile("missions");
|
||||
|
||||
require_once("xmldef/debug.php");
|
||||
$this->files["debug"] = new XMLfile("debug");
|
||||
}
|
||||
|
||||
function addWildcard($w,$ident) {
|
||||
$this->wildcard[] = array($ident,$w);
|
||||
}
|
||||
|
||||
function xml_split($pathid,$name,$attrs,$open) {
|
||||
global $tmp_log_xmlgen_time;
|
||||
$microstart = explode(' ',microtime());
|
||||
$start_time = $microstart[0] + $microstart[1];
|
||||
|
||||
#echo $pathid." => ".$name."<br>";
|
||||
if(is_array($this->def[$pathid])) {
|
||||
foreach($this->def[$pathid] as $elem) {
|
||||
#echo $elem."<br>";
|
||||
$this->files[$elem]->addXML($name,$attrs,$open);
|
||||
}
|
||||
}
|
||||
|
||||
foreach($this->wildcard as $elem) {
|
||||
if($elem[1] == substr($pathid,0,strlen($elem[1]))) {
|
||||
$this->files[$elem[0]]->addXML($name,$attrs,$open);
|
||||
}
|
||||
}
|
||||
|
||||
$microstop = explode(' ',microtime());
|
||||
$stop_time = $microstop[0] + $microstop[1];
|
||||
|
||||
$tmp_log_xmlgen_time += ($stop_time - $start_time);
|
||||
}
|
||||
|
||||
function generate() {
|
||||
global $cdata,$CONF;
|
||||
|
||||
foreach($this->files as $elem) {
|
||||
$xml = '<?xml version="1.0" encoding="UTF-8" ?>'."\n";
|
||||
$xml .= "<xml>\n";
|
||||
$xml .= " <cached>".time()."</cached>\n";
|
||||
$xml .= " <uniqueid>".$cdata['cid']."</uniqueid>\n";
|
||||
$xml .= " <accountid>".$cdata['aid']."</accountid>\n";
|
||||
$xml .= " <charslotid>".$cdata['sid']."</charslotid>\n";
|
||||
|
||||
$xml .= $elem->generate(' ');
|
||||
|
||||
$xml .= "</xml>";
|
||||
|
||||
|
||||
//store
|
||||
$pth = $CONF['export_xml_path'].$elem->getIdent()."/".($cdata['cid']%10);
|
||||
|
||||
if(!is_dir($pth)) {
|
||||
mkdir($pth,0777,true);
|
||||
}
|
||||
|
||||
$f = fopen($pth."/".$cdata['cid'].".xml","w");
|
||||
fwrite($f,$xml);
|
||||
fclose($f);
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
|
@ -0,0 +1,77 @@
|
|||
<?php
|
||||
class XMLNode {
|
||||
private $name;
|
||||
private $value = null;
|
||||
private $args = array();
|
||||
private $children = array();
|
||||
private $parent = null;
|
||||
|
||||
function XMLNode($n = null,$v = null,$p = null) {
|
||||
$this->name = $n;
|
||||
$this->value = $v;
|
||||
$this->parent = $p;
|
||||
}
|
||||
|
||||
function getParent() {
|
||||
return $this->parent;
|
||||
}
|
||||
|
||||
function getName() {
|
||||
return $this->name;
|
||||
}
|
||||
|
||||
function setName($n) {
|
||||
$this->name = $n;
|
||||
}
|
||||
|
||||
function setValue($v) {
|
||||
$this->value = $v;
|
||||
}
|
||||
|
||||
function addArg($k,$v) {
|
||||
$this->args[$k] = $v;
|
||||
}
|
||||
|
||||
function getArg($k) {
|
||||
return $this->args[$k];
|
||||
}
|
||||
|
||||
function clearArg($k) {
|
||||
unset($this->args[$k]);
|
||||
}
|
||||
|
||||
function addChild($c) {
|
||||
$this->children[] = $c;
|
||||
}
|
||||
|
||||
function generate($indent) {
|
||||
$xml = "";
|
||||
#for($i=0;$i<$indent;$i++) {
|
||||
$xml .= $indent;
|
||||
#}
|
||||
$xml .= "<".strtolower($this->name);
|
||||
foreach($this->args as $key=>$elem) {
|
||||
$xml .= ' '.strtolower($key).'="'.$elem.'"';
|
||||
}
|
||||
|
||||
if(sizeof($this->children) > 0) {
|
||||
$xml .= ">\n";
|
||||
foreach($this->children as $elem) {
|
||||
$xml .= $elem->generate($indent.' ');
|
||||
}
|
||||
#for($i=0;$i<$indet;$i++) {
|
||||
$xml .= $indent;
|
||||
#}
|
||||
$xml .= "</".strtolower($this->name).">\n";
|
||||
}
|
||||
elseif($this->value !== null) {
|
||||
$xml .= ">".$this->value."</".strtolower($this->name).">\n";
|
||||
}
|
||||
else {
|
||||
$xml .= " />\n";
|
||||
}
|
||||
|
||||
return $xml;
|
||||
}
|
||||
}
|
||||
?>
|
|
@ -1,21 +1,27 @@
|
|||
<?php
|
||||
require_once("../../webig/config.php");
|
||||
// necessary to include the server api
|
||||
$_SERVER['HTTP_HOST'] = 'app.ryzom.com';
|
||||
|
||||
require_once("../../config.php");
|
||||
|
||||
$CONF = array();
|
||||
|
||||
$CONF['logging'] = true;
|
||||
$CONF['logfile'] = "log/AchWebParser.log";
|
||||
$CONF['logfile'] = "/log/AchWebParser.log";
|
||||
|
||||
$CONF['mysql_error'] = "PRINT";
|
||||
$CONF['mysql_error'] = "LOG";
|
||||
$CONF['mysql_server'] = RYAPI_WEBDB_HOST;
|
||||
$CONF['mysql_user'] = RYAPI_WEBDB_LOGIN;
|
||||
$CONF['mysql_pass'] = RYAPI_WEBDB_PASS;
|
||||
$CONF['mysql_database'] = "app_achievements_test";
|
||||
$CONF['mysql_database'] = "app_achievements";
|
||||
|
||||
$CONF['char_mysql_server'] = "localhost";
|
||||
$CONF['char_mysql_user'] = "root";
|
||||
$CONF['char_mysql_pass'] = "";
|
||||
$CONF['char_mysql_database'] = "app_achievements";
|
||||
#$CONF['char_mysql_server'] = RYAPI_NELDB_HOST;
|
||||
#$CONF['char_mysql_user'] = RYAPI_NELDB_LOGIN;
|
||||
#$CONF['char_mysql_pass'] = RYAPI_NELDB_PASS;
|
||||
$CONF['char_mysql_database'] = "webig";
|
||||
|
||||
$CONF['export_xml_path'] = RYAPI_PATH."data/cache/players/";
|
||||
#$CONF['export_xml_path'] = "testxml/";
|
||||
|
||||
$CONF['data_source'] = array("PDRtoXMLdriver");
|
||||
|
||||
|
|
|
@ -0,0 +1,77 @@
|
|||
<?php
|
||||
/*
|
||||
* Code from:
|
||||
* http://www.assemblysys.com/dataServices/php_pointinpolygon.php
|
||||
*
|
||||
* Probably not free to use!!!
|
||||
*/
|
||||
|
||||
class pointLocation {
|
||||
var $pointOnVertex = true; // Check if the point sits exactly on one of the vertices
|
||||
|
||||
function pointLocation() {
|
||||
|
||||
}
|
||||
|
||||
|
||||
function pointInPolygon($point, $polygon, $pointOnVertex = true) {
|
||||
$this->pointOnVertex = $pointOnVertex;
|
||||
|
||||
// Transform string coordinates into arrays with x and y values
|
||||
$point = $this->pointStringToCoordinates($point);
|
||||
$vertices = array();
|
||||
foreach($polygon as $vertex) {
|
||||
$vertices[] = $this->pointStringToCoordinates($vertex);
|
||||
}
|
||||
|
||||
// Check if the point sits exactly on a vertex
|
||||
if($this->pointOnVertex == true and $this->pointOnVertex($point, $vertices) == true) {
|
||||
return "vertex";
|
||||
}
|
||||
|
||||
// Check if the point is inside the polygon or on the boundary
|
||||
$intersections = 0;
|
||||
$vertices_count = count($vertices);
|
||||
|
||||
for($i=1; $i < $vertices_count; $i++) {
|
||||
$vertex1 = $vertices[$i-1];
|
||||
$vertex2 = $vertices[$i];
|
||||
if($vertex1['y'] == $vertex2['y'] and $vertex1['y'] == $point['y'] and $point['x'] > min($vertex1['x'], $vertex2['x']) and $point['x'] < max($vertex1['x'], $vertex2['x'])) { // Check if point is on an horizontal polygon boundary
|
||||
return "boundary";
|
||||
}
|
||||
if($point['y'] > min($vertex1['y'], $vertex2['y']) and $point['y'] <= max($vertex1['y'], $vertex2['y']) and $point['x'] <= max($vertex1['x'], $vertex2['x']) and $vertex1['y'] != $vertex2['y']) {
|
||||
$xinters = ($point['y'] - $vertex1['y']) * ($vertex2['x'] - $vertex1['x']) / ($vertex2['y'] - $vertex1['y']) + $vertex1['x'];
|
||||
if($xinters == $point['x']) { // Check if point is on the polygon boundary (other than horizontal)
|
||||
return "boundary";
|
||||
}
|
||||
if($vertex1['x'] == $vertex2['x'] || $point['x'] <= $xinters) {
|
||||
$intersections++;
|
||||
}
|
||||
}
|
||||
}
|
||||
// If the number of edges we passed through is even, then it's in the polygon.
|
||||
if ($intersections % 2 != 0) {
|
||||
return "inside";
|
||||
}
|
||||
else {
|
||||
return "outside";
|
||||
}
|
||||
}
|
||||
|
||||
function pointOnVertex($point, $vertices) {
|
||||
foreach($vertices as $vertex) {
|
||||
if ($point == $vertex) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
|
||||
}
|
||||
|
||||
function pointStringToCoordinates($pointString) {
|
||||
$coordinates = explode(" ", $pointString);
|
||||
return array("x" => $coordinates[0], "y" => $coordinates[1]);
|
||||
}
|
||||
}
|
||||
?>
|
|
@ -0,0 +1,13 @@
|
|||
<?php
|
||||
function item_grade($item) {
|
||||
global $DBc;
|
||||
|
||||
#echo $item;
|
||||
|
||||
$res = $DBc->sendSQL("SELECT grade FROM ryzom_nimetu_item_data WHERE sheetid='".str_replace(".sitem","",$item)."'","ARRAY");
|
||||
|
||||
#echo $res[0]['grade'];
|
||||
|
||||
return $res[0]['grade'];
|
||||
}
|
||||
?>
|
|
@ -0,0 +1,6 @@
|
|||
<?php
|
||||
$region = array();
|
||||
|
||||
|
||||
|
||||
?>
|
|
@ -0,0 +1,5 @@
|
|||
<?php
|
||||
$region = array();
|
||||
|
||||
$region['place_silan'] = array("8182 -12294","11346 -12300","11346 -10252","8172 -10250","8182 -12294");
|
||||
?>
|
|
@ -0,0 +1,26 @@
|
|||
<?php
|
||||
$region = array();
|
||||
|
||||
$region['place_starting_zone_arena'] = array("10056 -11594 ","10144 -11726 ","10280 -11670 ","10308 -11558 ","10132 -11498 ","10056 -11594");
|
||||
|
||||
$region['region_newbieland_blight_zone'] = array("9376 -10940","9120 -11148","9048 -11780","9624 -11988","9792 -11732","9960 -11388","9376 -10940");
|
||||
|
||||
$region['region_newbieland_hunting_grounds'] = array("10296 -10812","10232 -11164","10080 -11484","10320 -11540","10824 -11540","11112 -11268","11080 -10804","10640 -10644","10296 -10812");
|
||||
|
||||
$region['kami_enclave'] = array("10416 -11654","10352 -11718","10416 -11770","10488 -11710","10416 -11654");
|
||||
|
||||
$region['karavan embassy'] = array("10388 -11818","10320 -11874","10404 -11922","10456 -11858","10388 -11818");
|
||||
|
||||
$region['region_newbieland_kitins_jungle'] = array("8184 -11076","8680 -11036","8704 -10244","8160 -10252","8184 -11076");
|
||||
|
||||
$region['region_newbieland_starting_zone'] = array("9968 -11346","10384 -11582","10788 -11574","10760 -11962","9892 -12014","9812 -11682","9968 -11346");
|
||||
|
||||
$region['place_shattered_ruins_trone'] = array("9678 -10692","9574 -10778","9668 -10846","9784 -10748","9678 -10692");
|
||||
|
||||
$region['place_shattered_ruins_silan'] = array("9558 -10764 ","9700 -10910 ","9616 -11008 ","9864 -11238 ","10158 -11224 ","10280 -11070 ","10166 -10982 ","9986 -10880 ","9878 -10808 ","9684 -10660 ","9558 -10764");
|
||||
|
||||
$region['region_newbieland_the_shattered_ruins'] = array("9472 -10562 ","9336 -10974 ","9824 -11266 ","10252 -11354 ","10328 -11182 ","10272 -11126 ","10288 -11074 ","10356 -11070 ","10308 -10746 ","9804 -10458 ","9472 -10562");
|
||||
|
||||
$region['region_newbieland_shining_lake'] = array("8608 -11244","8840 -11356","9288 -11044","9488 -10644","9360 -10340","8776 -10380","8624 -10676","8608 -11244");
|
||||
|
||||
?>
|
|
@ -0,0 +1,82 @@
|
|||
<?php
|
||||
$this->registerValue("_money","_statsdb_money");
|
||||
function _statsdb_money($money,$_P,$_CB) {
|
||||
global $cdata,$DBc;
|
||||
$_IDENT = "_money";
|
||||
|
||||
$DBc->sendSQL("INSERT INTO stat_players (sp_char,sp_money) VALUES ('".$cdata['cid']."','".$money."') ON DUPLICATE KEY UPDATE sp_money='".$money."'","NONE");
|
||||
|
||||
$_P->unregisterValue($_IDENT,$_CB);
|
||||
}
|
||||
|
||||
$this->registerValue("_race","_statsdb_race");
|
||||
function _statsdb_race($race,$_P,$_CB) {
|
||||
global $cdata,$DBc;
|
||||
$_IDENT = "_race";
|
||||
|
||||
$race = "r_".strtolower($race);
|
||||
|
||||
$DBc->sendSQL("INSERT INTO stat_players (sp_char,sp_race) VALUES ('".$cdata['cid']."','".$race."') ON DUPLICATE KEY UPDATE sp_race='".$race."'","NONE");
|
||||
|
||||
$_P->unregisterValue($_IDENT,$_CB);
|
||||
}
|
||||
|
||||
$this->registerValue("yubopoints","_statsdb_yubototal");
|
||||
function _statsdb_yubototal($yubo,$_P,$_CB) {
|
||||
global $cdata,$DBc;
|
||||
$_IDENT = "yubopoints";
|
||||
|
||||
$DBc->sendSQL("INSERT INTO stat_players (sp_char,sp_yubototal) VALUES ('".$cdata['cid']."','".$yubo."') ON DUPLICATE KEY UPDATE sp_yubototal='".$yubo."'","NONE");
|
||||
|
||||
$_P->unregisterValue($_IDENT,$_CB);
|
||||
}
|
||||
|
||||
$this->registerValue("petcount","_statsdb_mekcount");
|
||||
function _statsdb_mekcount($count,$_P,$_CB) {
|
||||
global $cdata,$DBc;
|
||||
$_IDENT = "petcount";
|
||||
|
||||
$DBc->sendSQL("INSERT INTO stat_players (sp_char,sp_mekcount) VALUES ('".$cdata['cid']."','".$count."') ON DUPLICATE KEY UPDATE sp_mekcount='".$count."'","NONE");
|
||||
|
||||
$_P->unregisterValue($_IDENT,$_CB);
|
||||
}
|
||||
|
||||
$this->registerValue("skilllist","_statsdb_maxlevel");
|
||||
function _statsdb_maxlevel($skills,$_P,$_CB) {
|
||||
global $cdata,$DBc,$log;
|
||||
$_IDENT = "skilllist";
|
||||
|
||||
$log->logf("rcv skilllist: ".var_export($skills,true));
|
||||
|
||||
$lvl = 0;
|
||||
foreach($skills->skills as $elem) {
|
||||
if($elem->current > $lvl) {
|
||||
$lvl = $elem->current;
|
||||
}
|
||||
}
|
||||
|
||||
$DBc->sendSQL("INSERT INTO stat_players (sp_char,sp_maxlevel) VALUES ('".$cdata['cid']."','".$lvl."') ON DUPLICATE KEY UPDATE sp_maxlevel='".$lvl."'","NONE");
|
||||
|
||||
$_P->unregisterValue($_IDENT,$_CB);
|
||||
}
|
||||
|
||||
$this->registerValue("_guildid","_statsdb_guildid");
|
||||
function _statsdb_guildid($id,$_P,$_CB) {
|
||||
global $cdata,$DBc;
|
||||
$_IDENT = "_guildid";
|
||||
|
||||
$DBc->sendSQL("INSERT INTO stat_players (sp_char,sp_guildid) VALUES ('".$cdata['cid']."','".$id."') ON DUPLICATE KEY UPDATE sp_guildid='".$id."'","NONE");
|
||||
|
||||
$_P->unregisterValue($_IDENT,$_CB);
|
||||
}
|
||||
|
||||
$this->registerValue("itemcount","_statsdb_itemcount");
|
||||
function _statsdb_itemcount($count,$_P,$_CB) {
|
||||
global $cdata,$DBc;
|
||||
$_IDENT = "itemcount";
|
||||
|
||||
$DBc->sendSQL("INSERT INTO stat_players (sp_char,sp_itemcount) VALUES ('".$cdata['cid']."','".$count."') ON DUPLICATE KEY UPDATE sp_itemcount='".$count."'","NONE");
|
||||
|
||||
$_P->unregisterValue($_IDENT,$_CB);
|
||||
}
|
||||
?>
|
|
@ -15,12 +15,17 @@
|
|||
require_once($BASE_PATH."/entity/PhysCharacs_entity.php");
|
||||
require_once($BASE_PATH."/entity/PhysScores_entity.php");
|
||||
require_once($BASE_PATH."/entity/SkillPoints_entity.php");
|
||||
#require_once($BASE_PATH."/entity/Skills_entity.php");
|
||||
require_once($BASE_PATH."/entity/Skill_entity.php");
|
||||
require_once($BASE_PATH."/entity/SpentSkillPoints_entity.php");
|
||||
require_once($BASE_PATH."/entity/Position_entity.php");
|
||||
require_once($BASE_PATH."/entity/Gear_entity.php");
|
||||
require_once($BASE_PATH."/entity/SkillList_entity.php");
|
||||
require_once($BASE_PATH."/entity/MissionList_entity.php");
|
||||
require_once($BASE_PATH."/entity/Friendlist_entity.php");
|
||||
require_once($BASE_PATH."/entity/Friend_entity.php");
|
||||
require_once($BASE_PATH."/entity/FriendOf_entity.php");
|
||||
require_once($BASE_PATH."/entity/Title_entity.php");
|
||||
require_once($BASE_PATH."/entity/RespawnPoints_entity.php");
|
||||
|
||||
class PDRtoXMLdriver extends SourceDriver {
|
||||
private $ignore;
|
||||
|
@ -32,17 +37,29 @@
|
|||
private $iblock;
|
||||
private $gear;
|
||||
private $skills;
|
||||
private $petcount;
|
||||
private $friendlist;
|
||||
private $itemcount;
|
||||
|
||||
private $respawn_outer = 0; // needed to fetch respawn points due to nested tags with same name...
|
||||
|
||||
private $pathid = array();
|
||||
|
||||
function PDRtoXMLdriver() {
|
||||
|
||||
$this->lock = 0;
|
||||
$this->open = null;
|
||||
$this->entity = null;
|
||||
$this->inv = null;
|
||||
$this->iblock = false;
|
||||
|
||||
$this->petcount = 0;
|
||||
$this->itemcount = 0;
|
||||
|
||||
$this->gear = new Gear();
|
||||
$this->skills = new SkillList();
|
||||
$this->mission = new MissionList();
|
||||
$this->friendlist = new Friendlist();
|
||||
|
||||
//these nodes are ignored, but children are processed
|
||||
$this->ignore = array();
|
||||
|
@ -75,15 +92,16 @@
|
|||
$this->ignore_block[] = "_ENCYCLOCHAR";
|
||||
$this->ignore_block[] = "_GAMEEVENT";
|
||||
$this->ignore_block[] = "_ENTITYPOSITION";
|
||||
$this->ignore_block[] = "_MISSIONHISTORIES";
|
||||
$this->ignore_block[] = "_KNOWNBRICKS";
|
||||
$this->ignore_block[] = "_BOUGHTPHRASES";
|
||||
$this->ignore_block[] = "SKILLPOINTS";
|
||||
$this->ignore_block[] = "SPENTSKILLPOINTS";
|
||||
$this->ignore_block[] = "_LASTLOGSTATS";
|
||||
}
|
||||
|
||||
function drive($cid) {
|
||||
global $_DISPATCHER;
|
||||
|
||||
echo "kk";
|
||||
|
||||
#$uid = floor($cid/16);
|
||||
#$slot = ($cid%16);
|
||||
function drive($cdata) {
|
||||
global $_DISPATCHER,$MY_PATH,$log;
|
||||
|
||||
#$file = $this->conf['xml_dir']."account_".$uid."_".$slot."_pdr.xml";
|
||||
$file = $_REQUEST['file'];
|
||||
|
@ -92,19 +110,36 @@
|
|||
xml_set_object($xml_parser,$this);
|
||||
xml_set_element_handler($xml_parser, "startElement", "endElement");
|
||||
|
||||
if(!xml_parse($xml_parser, file_get_contents($file))) {
|
||||
#error
|
||||
echo "error";
|
||||
// temporary storage for xml files for debug purpose
|
||||
$ftmp = fopen($MY_PATH."/log/xml_tmp/char_".$cdata['cid'].".xml","w");
|
||||
$fcont = file_get_contents($file);
|
||||
fwrite($ftmp,$fcont);
|
||||
fclose($ftmp);
|
||||
# end of temp xml store
|
||||
|
||||
if(!xml_parse($xml_parser, $fcont)) {
|
||||
$log->logf("FATAL ERROR (PDRtoXMLdriver): unable to parse given XML!");
|
||||
$log->close();
|
||||
die();
|
||||
}
|
||||
|
||||
xml_parser_free($xml_parser);
|
||||
|
||||
$_DISPATCHER->dispatchEntity($this->gear->getName(),$this->gear);
|
||||
#echo var_export($this->gear,true);
|
||||
$_DISPATCHER->dispatchEntity($this->skills->getName(),$this->skills);
|
||||
$_DISPATCHER->dispatchEntity($this->skills->mission(),$this->mission);
|
||||
$_DISPATCHER->dispatchEntity($this->friendlist->getName(),$this->friendlist);
|
||||
#$_DISPATCHER->dispatchEntity($this->skills->mission(),$this->mission);
|
||||
$_DISPATCHER->dispatchValue('petcount',$this->petcount);
|
||||
$_DISPATCHER->dispatchValue('itemcount',$this->itemcount);
|
||||
}
|
||||
|
||||
function startElement($parser, $name, $attrs) {
|
||||
global $_DISPATCHER;
|
||||
global $_DISPATCHER,$DBc,$XMLgenerator;
|
||||
|
||||
array_push($this->pathid,$name);
|
||||
|
||||
$XMLgenerator->xml_split(implode("/",$this->pathid),$name,$attrs,true);
|
||||
|
||||
if($this->lock == 1) {
|
||||
return null;
|
||||
|
@ -119,6 +154,20 @@
|
|||
return null;
|
||||
}
|
||||
|
||||
/* spawn points */
|
||||
if($name == "RESPAWNPOINTS" && !$attrs["VALUE"]) {
|
||||
$this->open = "RESPAWNPOINTS";
|
||||
$this->entity = new RespawnPoints();
|
||||
return null;
|
||||
}
|
||||
|
||||
if($this->open == "RESPAWNPOINTS") {
|
||||
if($name == "RESPAWNPOINTS") {
|
||||
$this->respawn_outer = 0;
|
||||
$this->entity->spawns[] = $attrs["VALUE"];
|
||||
}
|
||||
}
|
||||
|
||||
/* faction points */
|
||||
if($name == "FACTIONPOINTS") {
|
||||
$this->open = "FACTIONPOINTS";
|
||||
|
@ -220,6 +269,20 @@
|
|||
return null;
|
||||
}
|
||||
|
||||
if($name == "_FRIENDSLIST") {
|
||||
$this->entity = new Friend();
|
||||
$this->entity->id = $attrs["VALUE"];
|
||||
$this->friendlist->friends[] = $this->entity;
|
||||
$_DISPATCHER->dispatchEntity($this->entity->getName(),$this->entity);
|
||||
}
|
||||
|
||||
if($name == "_ISFRIENDOF") {
|
||||
$this->entity = new FriendOf();
|
||||
$this->entity->id = $attrs["VALUE"];
|
||||
$this->friendlist->friendof[] = $this->entity;
|
||||
$_DISPATCHER->dispatchEntity($this->entity->getName(),$this->entity);
|
||||
}
|
||||
|
||||
/* permanent mod */
|
||||
if($name == "SCOREPERMANENTMODIFIERS") {
|
||||
$this->open = "SCOREPERMANENTMODIFIERS";
|
||||
|
@ -262,6 +325,7 @@
|
|||
}
|
||||
if($name == "PETSHEETID") {
|
||||
$this->entity->petsheetid = $attrs["VALUE"];
|
||||
$this->petcount++;
|
||||
return null;
|
||||
}
|
||||
if($name == "PRICE") {
|
||||
|
@ -434,7 +498,7 @@
|
|||
|
||||
if($this->open == "SKILLS") {
|
||||
if($name == "__KEY__") {
|
||||
$this->entity = new Skills();
|
||||
$this->entity = new Skill();
|
||||
$this->entity->skill = $attrs["VALUE"];
|
||||
return null;
|
||||
}
|
||||
|
@ -513,9 +577,11 @@
|
|||
}
|
||||
|
||||
if($name == "_ITEMS" || $name == "_ITEM") {
|
||||
#echo "i<br>";
|
||||
$this->open = "_ITEM";
|
||||
$this->entity = new Item();
|
||||
$this->entity->inventory = $this->inv;
|
||||
$this->itemcount++;
|
||||
return null;
|
||||
}
|
||||
|
||||
|
@ -535,6 +601,11 @@
|
|||
return null;
|
||||
}
|
||||
if($name == "_SHEETID") {
|
||||
if($attrs["VALUE"]{0} == "#") {
|
||||
$tmp = str_replace("#","",$attrs["VALUE"]);
|
||||
$res = $DBc->sendSQL("SELECT * FROM ryzom_nimetu_sheets WHERE nsh_numid='".$tmp."'","ARRAY");
|
||||
$attrs["VALUE"] = $res[0]['nsh_name']."".$res[0]['nsh_suffix'];
|
||||
}
|
||||
$this->entity->_sheetid = $attrs["VALUE"];
|
||||
return null;
|
||||
}
|
||||
|
@ -560,6 +631,9 @@
|
|||
}
|
||||
if($name == "_REFINVENTORYSLOT") {
|
||||
$this->entity->_refinventoryslot = $attrs["VALUE"];
|
||||
#if($this->entity->refinventoryid != null) {
|
||||
$this->gear->items[] = $this->entity;
|
||||
#}
|
||||
return null;
|
||||
}
|
||||
if($name == "REFINVENTORYID") {
|
||||
|
@ -602,12 +676,27 @@
|
|||
}
|
||||
|
||||
function endElement($parser, $name) {
|
||||
global $_DISPATCHER;
|
||||
global $_DISPATCHER,$XMLgenerator;
|
||||
|
||||
$XMLgenerator->xml_split(implode("/",$this->pathid),$name,null,false);
|
||||
array_pop($this->pathid);
|
||||
|
||||
if(in_array($name,$this->ignore_block)) {
|
||||
$this->lock = 0;
|
||||
}
|
||||
|
||||
/* respawn points */
|
||||
if($name == "RESPAWNPOINTS") {
|
||||
$this->respawn_outer++; // increment to track double close at end of block
|
||||
}
|
||||
|
||||
if($name == "RESPAWNPOINTS" && $this->respawn_outer > 1) {
|
||||
$this->open = null;
|
||||
$_DISPATCHER->dispatchEntity($this->entity->getName(),$this->entity);
|
||||
$this->entity = null;
|
||||
return null;
|
||||
}
|
||||
|
||||
/* faction points */
|
||||
if($name == "FACTIONPOINTS") {
|
||||
$this->open = null;
|
||||
|
@ -710,18 +799,21 @@
|
|||
|
||||
/* position */
|
||||
if($name == "POSSTATE") {
|
||||
$this->entity->loadPlace();
|
||||
$_DISPATCHER->dispatchEntity($this->entity->getName(),$this->entity);
|
||||
$this->entity = null;
|
||||
return null;
|
||||
}
|
||||
|
||||
/* items */
|
||||
if($name == "_ITEMS") {
|
||||
if($name == "_ITEMS" || $name == "_ITEM") {
|
||||
#echo "c<br>";
|
||||
if($this->open == "_ITEM") {
|
||||
#echo var_export($this->entity,true);
|
||||
$_DISPATCHER->dispatchEntity($this->entity->getName(),$this->entity);
|
||||
if($this->entity->refinventoryid != null) {
|
||||
$this->gear->items[] = $this->entity;
|
||||
}
|
||||
$this->entity = null;
|
||||
}
|
||||
$this->open = null;
|
||||
return null;
|
||||
}
|
||||
|
||||
|
@ -730,11 +822,16 @@
|
|||
return null;
|
||||
}
|
||||
|
||||
if($name == "_ITEM" || $name == "_ITEMS") {
|
||||
$this->open = null;
|
||||
if($name == "_CRAFTPARAMETERS") {
|
||||
$this->icraft = false;
|
||||
return null;
|
||||
}
|
||||
|
||||
/*if($name == "_ITEM" || $name == "_ITEMS") {
|
||||
$this->open = null;
|
||||
return null;
|
||||
}*/
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -0,0 +1,15 @@
|
|||
<?php
|
||||
class FriendOf extends Entity {
|
||||
public $id = null;
|
||||
|
||||
function FriendOf() {
|
||||
$this->setName("friendof");
|
||||
}
|
||||
|
||||
function getRealID() {
|
||||
$tmp = explode(":",$this->id);
|
||||
|
||||
return $tmp[0];
|
||||
}
|
||||
}
|
||||
?>
|
|
@ -0,0 +1,15 @@
|
|||
<?php
|
||||
class Friend extends Entity {
|
||||
public $id = null;
|
||||
|
||||
function Friend() {
|
||||
$this->setName("friend");
|
||||
}
|
||||
|
||||
function getRealID() {
|
||||
$tmp = explode(":",$this->id);
|
||||
|
||||
return $tmp[0];
|
||||
}
|
||||
}
|
||||
?>
|
|
@ -0,0 +1,29 @@
|
|||
<?php
|
||||
class Friendlist extends Entity {
|
||||
public $friends = array();
|
||||
public $friendof = array();
|
||||
public $confirmed = false;
|
||||
|
||||
function Friendlist() {
|
||||
$this->setName("friendlist");
|
||||
}
|
||||
|
||||
function countConfirmed() {
|
||||
if($this->confirmed == false) {
|
||||
$count = 0;
|
||||
foreach($this->friends as $elem) {
|
||||
$id = $elem->getRealID();
|
||||
foreach($this->friendof as $elem2) {
|
||||
if($elem2->getRealID() == $id) {
|
||||
$count++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$this->confirmed = $count;
|
||||
}
|
||||
|
||||
return $this->confirmed;
|
||||
}
|
||||
}
|
||||
?>
|
|
@ -4,9 +4,71 @@
|
|||
public $y;
|
||||
public $z;
|
||||
public $heading;
|
||||
public $placeid;
|
||||
|
||||
function Position() {
|
||||
$this->setName("position");
|
||||
$this->placeid = "place_unknown";
|
||||
}
|
||||
|
||||
function loadPlace() {
|
||||
global $_DISPATCHER;
|
||||
|
||||
@include_once("script/include_InPoly_class.php");
|
||||
$region = array();
|
||||
$subregion = false;
|
||||
|
||||
include("script/places/global.php");
|
||||
|
||||
$point = floor($this->x/1000)." ".floor($this->y/1000);
|
||||
|
||||
$pointLocation = new pointLocation();
|
||||
|
||||
$res = $pointLocation->pointInPolygon($point, $region['place_silan'], false);
|
||||
|
||||
if($res != "outside") {
|
||||
include("script/places/silan.php");
|
||||
}
|
||||
else {
|
||||
include("script/places/continents.php");
|
||||
$region2 = $region;
|
||||
foreach($region2 as $key=>$r) {
|
||||
$res = $pointLocation->pointInPolygon($point, $r, false);
|
||||
if($res != "outside") {
|
||||
include("script/places/".$key.".php");
|
||||
if($subregion == true) {
|
||||
foreach($region as $key2=>$r2) {
|
||||
$res2 = $pointLocation->pointInPolygon($point, $r2, false);
|
||||
if($res2 != "outside") {
|
||||
include("script/places/".$key."/".$key2.".php");
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
foreach($region as $key=>$r) {
|
||||
$res = $pointLocation->pointInPolygon($point, $r, false);
|
||||
if($res != "outside") {
|
||||
if($this->placeid == "place_unknown") {
|
||||
$this->placeid = $key;
|
||||
}
|
||||
else {
|
||||
$tmp = new Position();
|
||||
$tmp->x = $this->x;
|
||||
$tmp->y = $this->y;
|
||||
$tmp->z = $this->z;
|
||||
$tmp->heading = $this->heading;
|
||||
$tmp->placeid = $key;
|
||||
|
||||
$_DISPATCHER->dispatchEntity($tmp->getName(),$tmp);
|
||||
}
|
||||
#break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
|
@ -0,0 +1,80 @@
|
|||
<?php
|
||||
class RespawnPoints extends Entity {
|
||||
public $spawns;
|
||||
private $region_map;
|
||||
|
||||
function RespawnPoints() {
|
||||
$this->setName("respawn_points");
|
||||
|
||||
$this->spawns = array();
|
||||
|
||||
$this->region_map = array();
|
||||
$this->region_map['spawn_global_bagne_matis'] = "roots";
|
||||
$this->region_map['spawn_global_bagne_nexus'] = "roots";
|
||||
$this->region_map['spawn_global_route_gouffre_fyros'] = "roots";
|
||||
$this->region_map['spawn_global_route_gouffre_nexus'] = "roots";
|
||||
$this->region_map['spawn_global_route_gouffre_tryker'] = "roots";
|
||||
$this->region_map['spawn_global_route_gouffre_zorai'] = "roots";
|
||||
$this->region_map['spawn_global_sources_fyros'] = "roots";
|
||||
$this->region_map['spawn_global_sources_zorai'] = "roots";
|
||||
$this->region_map['spawn_global_terre_nexus'] = "roots";
|
||||
$this->region_map['spawn_global_terre_zorai'] = "roots";
|
||||
$this->region_map['spawn_global_nexus_bagne'] = "roots";
|
||||
$this->region_map['spawn_global_nexus_route_gouffre'] = "roots";
|
||||
$this->region_map['spawn_global_nexus_terre'] = "roots";
|
||||
// 13/13
|
||||
|
||||
$this->region_map['spawn_global_fyros_matis'] = "desert";
|
||||
$this->region_map['spawn_global_fyros_route_gouffre'] = "desert";
|
||||
$this->region_map['spawn_global_fyros_sources'] = "desert";
|
||||
$this->region_map['spawn_global_fyros_to_zorai'] = "desert";
|
||||
$this->region_map['spawn_kami_place_pyr'] = "desert";
|
||||
$this->region_map['spawn_kami_place_thesos'] = "desert";
|
||||
$this->region_map['spawn_karavan_place_pyr'] = "desert";
|
||||
// 7/7
|
||||
|
||||
$this->region_map['spawn_global_matis_bagne'] = "forest";
|
||||
$this->region_map['spawn_global_matis_fyros'] = "forest";
|
||||
$this->region_map['spawn_global_matis_tryker'] = "forest";
|
||||
$this->region_map['spawn_kami_place_dyron'] = "forest";
|
||||
$this->region_map['spawn_kami_place_yrkanis'] = "forest";
|
||||
$this->region_map['spawn_karavan_place_avalae'] = "forest";
|
||||
$this->region_map['spawn_karavan_place_davae'] = "forest";
|
||||
#$this->region_map['spawn_karavan_place_yrkanis'] = "forest";
|
||||
// 8/7
|
||||
|
||||
$this->region_map['spawn_global_tryker_matis'] = "lakes";
|
||||
$this->region_map['spawn_global_tryker_route_gouffre'] = "lakes";
|
||||
#$this->region_map['spawn_kami_place_fairhaven'] = "lakes";
|
||||
$this->region_map['spawn_karavan_place_avendale'] = "lakes";
|
||||
$this->region_map['spawn_karavan_place_crystabell'] = "lakes";
|
||||
$this->region_map['spawn_karavan_place_fairhaven'] = "lakes";
|
||||
$this->region_map['spawn_karavan_place_windermeer'] = "lakes";
|
||||
// 7/6
|
||||
|
||||
$this->region_map['spawn_kami_place_hoi_cho'] = "jungle";
|
||||
$this->region_map['spawn_kami_place_jen_lai'] = "jungle";
|
||||
$this->region_map['spawn_kami_place_min_cho'] = "jungle";
|
||||
$this->region_map['spawn_global_zorai_route_gouffre'] = "jungle";
|
||||
$this->region_map['spawn_global_zorai_sources'] = "jungle";
|
||||
$this->region_map['spawn_global_zorai_terre'] = "jungle";
|
||||
$this->region_map['spawn_global_zorai_to_fyros'] = "jungle";
|
||||
$this->region_map['spawn_kami_place_zora'] = "jungle";
|
||||
#$this->region_map['spawn_karavan_place_zora'] = "jungle";
|
||||
// 9/8
|
||||
|
||||
}
|
||||
|
||||
function countRegion($r) {
|
||||
$c = 0;
|
||||
|
||||
foreach($this->spawns as $elem) {
|
||||
if($this->region_map[$elem] == $r) {
|
||||
$c++;
|
||||
}
|
||||
}
|
||||
|
||||
return $c;
|
||||
}
|
||||
}
|
||||
?>
|
|
@ -4,6 +4,7 @@
|
|||
|
||||
function SkillList() {
|
||||
$this->setName("skilllist");
|
||||
$this->skills = array();
|
||||
}
|
||||
}
|
||||
?>
|
|
@ -0,0 +1,20 @@
|
|||
<?php
|
||||
class Title extends Entity {
|
||||
public $title_id;
|
||||
public $title;
|
||||
|
||||
function Title() {
|
||||
$this->setName("title");
|
||||
$this->title_id = "";
|
||||
$this->title = null;
|
||||
}
|
||||
|
||||
function loadID() {
|
||||
global $DBc;
|
||||
|
||||
$res = $DBc->sendSQL("SELECT t_id FROM ryzom_title WHERE t_male='".$DBc->mre($this->title)."' OR t_female='".$DBc->mre($this->title)."'","ARRAY");
|
||||
|
||||
$this->title_id = $res[0]['t_id'];
|
||||
}
|
||||
}
|
||||
?>
|
84
code/web/app/app_achievements/_AchWebParser/xmldef/debug.php
Normal file
|
@ -0,0 +1,84 @@
|
|||
<?php
|
||||
|
||||
$this->def['XML/UTC__PVPFLAGLASTTIMECHANGE'] = array("debug");
|
||||
$this->def['XML/UTC__PVPRECENTACTIONTIME'] = array("debug");
|
||||
$this->def['XML/UTC__PVPFLAGTIMESETTEDON'] = array("debug");
|
||||
$this->def['XML/_REGIONKILLEDINPVP'] = array("debug");
|
||||
$this->def['XML/_CREATIONPOINTSREPARTITION'] = array("debug");
|
||||
$this->def['XML/UTC__FORBIDAURAUSESTARTDATE'] = array("debug");
|
||||
$this->def['XML/UTC__FORBIDAURAUSEENDDATE'] = array("debug");
|
||||
array_push($this->def['XML/_TITLE'],"debug");
|
||||
$this->def['XML/NAMESTRINGID'] = array("debug");
|
||||
$this->def['XML/_HAIRCUTEDISCOUNT'] = array("debug");
|
||||
$this->addWildcard("XML/_FORBIDPOWERDATES","debug");
|
||||
$this->def['XML/_INEFFECTIVEAURAS'] = array("debug");
|
||||
$this->def['XML/_INEFFECTIVEAURAS/_AURAACTIVATIONDATES'] = array("debug");
|
||||
$this->def['XML/_INEFFECTIVEAURAS/_AURAACTIVATIONDATES/DEACTIVATIONDATE'] = array("debug");
|
||||
$this->def['XML/_INEFFECTIVEAURAS/_AURAACTIVATIONDATES/ACTIVATIONDATE'] = array("debug");
|
||||
$this->def['XML/_INEFFECTIVEAURAS/_AURAACTIVATIONDATES/CONSUMABLEFAMILYID'] = array("debug");
|
||||
$this->def['XML/_INEFFECTIVEAURAS/_AURAACTIVATIONDATES/POWERTYPE'] = array("debug");
|
||||
$this->def['XML/_MODIFIERSINDB'] = array("debug");
|
||||
$this->addWildcard("XML/_MODIFIERSINDB/BONUS","debug");
|
||||
$this->addWildcard("XML/_MODIFIERSINDB/MALUS","debug");
|
||||
$this->def['XML/ENTITYBASE'] = array("debug");
|
||||
$this->def['XML/ENTITYBASE/_SHEETID'] = array("debug");
|
||||
$this->def['XML/ENTITYBASE/MELEEATTACKMODIFIERONENEMY'] = array("debug");
|
||||
$this->def['XML/ENTITYBASE/MELEEATTACKMODIFIERONSELF'] = array("debug");
|
||||
$this->def['XML/ENTITYBASE/MAGICCASTINGMODIFIERONSELF'] = array("debug");
|
||||
$this->def['XML/ENTITYBASE/MAGICCASTINGMODIFIERONENEMY'] = array("debug");
|
||||
$this->def['XML/ENTITYBASE/RANGEATTACKMODIFIERONENEMY'] = array("debug");
|
||||
$this->def['XML/ENTITYBASE/RANGEATTACKMODIFIERONSELF'] = array("debug");
|
||||
$this->def['XML/ENTITYBASE/ATTACKMODIFIERONSELF'] = array("debug");
|
||||
$this->def['XML/ENTITYBASE/CHANCETOFAILSTRATEGY'] = array("debug");
|
||||
$this->def['XML/ENTITYBASE/CHANCETOFAILSPELL'] = array("debug");
|
||||
$this->def['XML/ENTITYBASE/CHANCETOFAILFABER'] = array("debug");
|
||||
$this->def['XML/ENTITYBASE/CHANCETOFAILHARVEST'] = array("debug");
|
||||
$this->def['XML/ENTITYBASE/CHANCETOFAILTRACKING'] = array("debug");
|
||||
$this->def['XML/ENTITYBASE/MELEEATTACKSLOW'] = array("debug");
|
||||
$this->def['XML/ENTITYBASE/MELEESLASHINGDAMAGEARMOR'] = array("debug");
|
||||
$this->def['XML/ENTITYBASE/MELEEBLUNTDAMAGEARMOR'] = array("debug");
|
||||
$this->def['XML/ENTITYBASE/MELEEPIERCINGDAMAGEARMOR'] = array("debug");
|
||||
$this->def['XML/ENTITYBASE/MELEEDAMAGEMODIFIERFACTOR'] = array("debug");
|
||||
$this->def['XML/ENTITYBASE/RANGEDAMAGEMODIFIERFACTOR'] = array("debug");
|
||||
$this->def['XML/ENTITYBASE/CREATUREMELEETAKENDAMAGEFACTOR'] = array("debug");
|
||||
$this->def['XML/ENTITYBASE/CREATURERANGETAKENDAMAGEFACTOR'] = array("debug");
|
||||
$this->def['XML/ENTITYBASE/COMBATBRICKLATENCYMULTIPLIER'] = array("debug");
|
||||
$this->def['XML/ENTITYBASE/MAGICBRICKLATENCYMULTIPLIER'] = array("debug");
|
||||
$this->def['XML/ENTITYBASE/ARMORQUALITYMODIFIER'] = array("debug");
|
||||
$this->def['XML/ENTITYBASE/WEAPONQUALITYMODIFIER'] = array("debug");
|
||||
$this->def['XML/ENTITYBASE/ARMORABSORBTIONMULTIPLIER'] = array("debug");
|
||||
$this->def['XML/RINGREWARDPOINTS'] = array("debug");
|
||||
$this->def['XML/RINGREWARDPOINTS/RINGREWARDPOINTS/__KEY__'] = array("debug");
|
||||
$this->def['XML/RINGREWARDPOINTS/RINGREWARDPOINTS/__VAL__'] = array("debug");
|
||||
$this->addWildcard("XML/_PERSISTENTEFFECTS","debug");
|
||||
$this->def['XML/_PACT'] = array("debug");
|
||||
$this->def['XML/_PACT/PACTNATURE'] = array("debug");
|
||||
$this->def['XML/_PACT/PACTTYPE'] = array("debug");
|
||||
array_push($this->def['XML/_PLAYERPETS'],"debug");
|
||||
array_push($this->def['XML/_PLAYERPETS/__KEY__'],"debug");
|
||||
array_push($this->def['XML/_PLAYERPETS/__VAL__'],"debug");
|
||||
$this->def['XML/_PLAYERPETS/__VAL__/TICKETPETSHEETID'] = array("debug");
|
||||
$this->def['XML/_PLAYERPETS/__VAL__/PRICE'] = array("debug");
|
||||
$this->def['XML/_PLAYERPETS/__VAL__/OWNERID'] = array("debug");
|
||||
$this->def['XML/_PLAYERPETS/__VAL__/STABLEALIAS'] = array("debug");
|
||||
$this->def['XML/_PLAYERPETS/__VAL__/SLOT'] = array("debug");
|
||||
$this->def['XML/_PLAYERPETS/__VAL__/ISTPALLOWED'] = array("debug");
|
||||
$this->def['XML/_PLAYERPETS/__VAL__/CUSTOMNAME'] = array("debug");
|
||||
$this->def['XML/STARTINGCHARACTERISTICVALUES'] = array("debug");
|
||||
$this->def['XML/STARTINGCHARACTERISTICVALUES/__KEY__'] = array("debug");
|
||||
$this->def['XML/STARTINGCHARACTERISTICVALUES/__VAL__'] = array("debug");
|
||||
$this->def['XML/_ENCYCLOCHAR'] = array("debug");
|
||||
$this->def['XML/_ENCYCLOCHAR/_ENCYCHARALBUMS'] = array("debug");
|
||||
$this->def['XML/_ENCYCLOCHAR/_ENCYCHARALBUMS/ALBUMSTATE'] = array("debug");
|
||||
$this->def['XML/_ENCYCLOCHAR/_ENCYCHARALBUMS/THEMAS'] = array("debug");
|
||||
$this->def['XML/_ENCYCLOCHAR/_ENCYCHARALBUMS/THEMAS/THEMASTATE'] = array("debug");
|
||||
$this->def['XML/_ENCYCLOCHAR/_ENCYCHARALBUMS/THEMAS/RITETASKSTATEPACKED'] = array("debug");
|
||||
$this->def['XML/_GAMEEVENT'] = array("debug");
|
||||
$this->def['XML/_GAMEEVENT/UTC__DATE'] = array("debug");
|
||||
$this->addWildcard("XML/ENTITYBASE/_ENTITYPOSITION","debug");
|
||||
$this->addWildcard("XML/_ENTITYPOSITION","debug");
|
||||
$this->def['XML/INVISIBLE'] = array("debug");
|
||||
$this->def['XML/AGGROABLE'] = array("debug");
|
||||
$this->def['XML/GODMODE'] = array("debug");
|
||||
|
||||
?>
|
|
@ -0,0 +1,12 @@
|
|||
<?php
|
||||
|
||||
$this->def['XML/FACTIONPOINTS'] = array("faction");
|
||||
$this->def['XML/FACTIONPOINTS/__KEY__'] = array("faction");
|
||||
$this->def['XML/FACTIONPOINTS/__VAL__'] = array("faction");
|
||||
$this->def['XML/_ORGANIZATION'] = array("faction");
|
||||
$this->def['XML/_ORGANIZATIONSTATUS'] = array("faction");
|
||||
$this->def['XML/_ORGANIZATIONPOINTS'] = array("faction");
|
||||
$this->def['XML/DECLAREDCULT'] = array("faction");
|
||||
$this->def['XML/DECLAREDCIV'] = array("faction");
|
||||
|
||||
?>
|
10
code/web/app/app_achievements/_AchWebParser/xmldef/fame.php
Normal file
|
@ -0,0 +1,10 @@
|
|||
<?php
|
||||
|
||||
#$this->def['XML/_FAMES/_FAME'] = array("fame");
|
||||
$this->def['XML/_FAMES/_FAME/__KEY__'] = array("fame");
|
||||
$this->def['XML/_FAMES/_FAME/__VAL__'] = array("fame");
|
||||
$this->def['XML/_FAMES/_FAME/__VAL__/FAME'] = array("fame");
|
||||
$this->def['XML/_FAMES/_FAME/__VAL__/FAMEMEMORY'] = array("fame");
|
||||
$this->def['XML/_FAMES/_FAME/__VAL__/LASTFAMECHANGETREND'] = array("fame");
|
||||
|
||||
?>
|
131
code/web/app/app_achievements/_AchWebParser/xmldef/inventory.php
Normal file
|
@ -0,0 +1,131 @@
|
|||
<?php
|
||||
|
||||
$this->def['XML/_MONEY'] = array("inventory");
|
||||
$this->def['XML/_PLAYERROOM'] = array("inventory");
|
||||
$this->def['XML/_PLAYERROOM/BUILDING'] = array("inventory");
|
||||
$this->def['XML/_PLAYERROOM/ROOMINVENTORY'] = array("inventory");
|
||||
$this->def['XML/_PLAYERROOM/ROOMINVENTORY/_ITEMS'] = array("inventory");
|
||||
$this->def['XML/_PLAYERROOM/ROOMINVENTORY/_ITEMS/_ITEMID'] = array("inventory");
|
||||
$this->def['XML/_PLAYERROOM/ROOMINVENTORY/_ITEMS/_SHEETID'] = array("inventory");
|
||||
$this->def['XML/_PLAYERROOM/ROOMINVENTORY/_ITEMS/_LOCSLOT'] = array("inventory");
|
||||
$this->def['XML/_PLAYERROOM/ROOMINVENTORY/_ITEMS/_HP'] = array("inventory");
|
||||
$this->def['XML/_PLAYERROOM/ROOMINVENTORY/_ITEMS/_RECOMMENDED'] = array("inventory");
|
||||
$this->def['XML/_PLAYERROOM/ROOMINVENTORY/_ITEMS/_CREATORID'] = array("inventory");
|
||||
$this->def['XML/_PLAYERROOM/ROOMINVENTORY/_ITEMS/_PHRASEID'] = array("inventory");
|
||||
$this->def['XML/_PLAYERROOM/ROOMINVENTORY/_ITEMS/_USENEWSYSTEMREQUIREMENT'] = array("inventory");
|
||||
$this->def['XML/_PLAYERROOM/ROOMINVENTORY/_ITEMS/_REQUIREDSKILLLEVEL'] = array("inventory");
|
||||
$this->def['XML/_PLAYERROOM/ROOMINVENTORY/_ITEMS/_CUSTOMTEXT'] = array("inventory");
|
||||
$this->def['XML/_PLAYERROOM/ROOMINVENTORY/_ITEMS/_LOCKEDBYOWNER'] = array("inventory");
|
||||
$this->def['XML/_PLAYERROOM/ROOMINVENTORY/_ITEMS/STACKSIZE'] = array("inventory");
|
||||
$this->def['XML/_PLAYERROOM/ROOMINVENTORY/_ITEMS/_CRAFTPARAMETERS'] = array("inventory");
|
||||
$this->def['XML/_PLAYERROOM/ROOMINVENTORY/_ITEMS/_CRAFTPARAMETERS/DURABILITY'] = array("inventory");
|
||||
$this->def['XML/_PLAYERROOM/ROOMINVENTORY/_ITEMS/_CRAFTPARAMETERS/WEIGHT'] = array("inventory");
|
||||
$this->def['XML/_PLAYERROOM/ROOMINVENTORY/_ITEMS/_CRAFTPARAMETERS/STATENERGY'] = array("inventory");
|
||||
$this->def['XML/_PLAYERROOM/ROOMINVENTORY/_ITEMS/_CRAFTPARAMETERS/DODGEMODIFIER'] = array("inventory");
|
||||
$this->def['XML/_PLAYERROOM/ROOMINVENTORY/_ITEMS/_CRAFTPARAMETERS/PARRYMODIFIER'] = array("inventory");
|
||||
$this->def['XML/_PLAYERROOM/ROOMINVENTORY/_ITEMS/_CRAFTPARAMETERS/PROTECTIONFACTOR'] = array("inventory");
|
||||
$this->def['XML/_PLAYERROOM/ROOMINVENTORY/_ITEMS/_CRAFTPARAMETERS/MAXSLASHINGPROTECTION'] = array("inventory");
|
||||
$this->def['XML/_PLAYERROOM/ROOMINVENTORY/_ITEMS/_CRAFTPARAMETERS/MAXBLUNTPROTECTION'] = array("inventory");
|
||||
$this->def['XML/_PLAYERROOM/ROOMINVENTORY/_ITEMS/_CRAFTPARAMETERS/MAXPIERCINGPROTECTION'] = array("inventory");
|
||||
$this->def['XML/_PLAYERROOM/ROOMINVENTORY/_ITEMS/_CRAFTPARAMETERS/COLOR'] = array("inventory");
|
||||
$this->def['XML/_PLAYERROOM/ROOMINVENTORY/_ITEMS/_CRAFTPARAMETERS/FOCUSBUFF'] = array("inventory");
|
||||
$this->def['XML/_PLAYERROOM/ROOMINVENTORY/_ITEMS/_CRAFTPARAMETERS/HPBUFF'] = array("inventory");
|
||||
$this->def['XML/_PLAYERROOM/ROOMINVENTORY/_ITEMS/_CRAFTPARAMETERS/SAPBUFF'] = array("inventory");
|
||||
$this->def['XML/_PLAYERROOM/ROOMINVENTORY/_ITEMS/_CRAFTPARAMETERS/STABUFF'] = array("inventory");
|
||||
$this->def['XML/_PLAYERROOM/ROOMINVENTORY/_ITEMS/_CRAFTPARAMETERS/PROTECTION'] = array("inventory");
|
||||
$this->def['XML/_PLAYERROOM/ROOMINVENTORY/_ITEMS/_CRAFTPARAMETERS/PROTECTION1'] = array("inventory");
|
||||
$this->def['XML/_PLAYERROOM/ROOMINVENTORY/_ITEMS/_CRAFTPARAMETERS/PROTECTION2'] = array("inventory");
|
||||
$this->def['XML/_PLAYERROOM/ROOMINVENTORY/_ITEMS/_CRAFTPARAMETERS/PROTECTION3'] = array("inventory");
|
||||
$this->def['XML/_PLAYERROOM/ROOMINVENTORY/_ITEMS/_CRAFTPARAMETERS/SAPLOAD'] = array("inventory");
|
||||
$this->def['XML/_PLAYERROOM/ROOMINVENTORY/_ITEMS/_CRAFTPARAMETERS/DMG'] = array("inventory");
|
||||
$this->def['XML/_PLAYERROOM/ROOMINVENTORY/_ITEMS/_CRAFTPARAMETERS/SPEED'] = array("inventory");
|
||||
$this->def['XML/_PLAYERROOM/ROOMINVENTORY/_ITEMS/_CRAFTPARAMETERS/RANGE'] = array("inventory");
|
||||
$this->def['XML/_PLAYERROOM/ROOMINVENTORY/_ITEMS/_CRAFTPARAMETERS/ADVERSARYDODGEMODIFIER'] = array("inventory");
|
||||
$this->def['XML/_PLAYERROOM/ROOMINVENTORY/_ITEMS/_CRAFTPARAMETERS/ADVERSARYPARRYMODIFIER'] = array("inventory");
|
||||
$this->def['XML/_PLAYERROOM/ROOMINVENTORY/_ITEMS/_CRAFTPARAMETERS/PROTECTION1FACTOR'] = array("inventory");
|
||||
$this->def['XML/_PLAYERROOM/ROOMINVENTORY/_ITEMS/_CRAFTPARAMETERS/PROTECTION2FACTOR'] = array("inventory");
|
||||
$this->def['XML/_PLAYERROOM/ROOMINVENTORY/_ITEMS/_CRAFTPARAMETERS/PROTECTION3FACTOR'] = array("inventory");
|
||||
$this->def['XML/_PLAYERROOM/ROOMINVENTORY/_ITEMS/_CRAFTPARAMETERS/DESERTRESISTANCEFACTOR'] = array("inventory");
|
||||
$this->def['XML/_PLAYERROOM/ROOMINVENTORY/_ITEMS/_CRAFTPARAMETERS/FORESTRESISTANCEFACTOR'] = array("inventory");
|
||||
$this->def['XML/_PLAYERROOM/ROOMINVENTORY/_ITEMS/_CRAFTPARAMETERS/LACUSTRERESISTANCEFACTOR'] = array("inventory");
|
||||
$this->def['XML/_PLAYERROOM/ROOMINVENTORY/_ITEMS/_CRAFTPARAMETERS/JUNGLERESISTANCEFACTOR'] = array("inventory");
|
||||
$this->def['XML/_PLAYERROOM/ROOMINVENTORY/_ITEMS/_CRAFTPARAMETERS/PRIMARYROOTRESISTANCEFACTOR'] = array("inventory");
|
||||
$this->def['XML/_PLAYERROOM/ROOMINVENTORY/_ITEMS/_CRAFTPARAMETERS/ELEMENTALCASTINGTIMEFACTOR'] = array("inventory");
|
||||
$this->def['XML/_PLAYERROOM/ROOMINVENTORY/_ITEMS/_CRAFTPARAMETERS/ELEMENTALPOWERFACTOR'] = array("inventory");
|
||||
$this->def['XML/_PLAYERROOM/ROOMINVENTORY/_ITEMS/_CRAFTPARAMETERS/OFFENSIVEAFFLICTIONCASTINGTIMEFACTOR'] = array("inventory");
|
||||
$this->def['XML/_PLAYERROOM/ROOMINVENTORY/_ITEMS/_CRAFTPARAMETERS/OFFENSIVEAFFLICTIONPOWERFACTOR'] = array("inventory");
|
||||
$this->def['XML/_PLAYERROOM/ROOMINVENTORY/_ITEMS/_CRAFTPARAMETERS/HEALCASTINGTIMEFACTOR'] = array("inventory");
|
||||
$this->def['XML/_PLAYERROOM/ROOMINVENTORY/_ITEMS/_CRAFTPARAMETERS/HEALPOWERFACTOR'] = array("inventory");
|
||||
$this->def['XML/_PLAYERROOM/ROOMINVENTORY/_ITEMS/_CRAFTPARAMETERS/DEFENSIVEAFFLICTIONCASTINGTIMEFACTOR'] = array("inventory");
|
||||
$this->def['XML/_PLAYERROOM/ROOMINVENTORY/_ITEMS/_CRAFTPARAMETERS/DEFENSIVEAFFLICTIONPOWERFACTOR'] = array("inventory");
|
||||
$this->def['XML/_PLAYERPETS'] = array("inventory");
|
||||
$this->def['XML/_PLAYERPETS/__KEY__'] = array("inventory");
|
||||
$this->def['XML/_PLAYERPETS/__VAL__'] = array("inventory");
|
||||
$this->def['XML/_PLAYERPETS/__VAL__/PETSHEETID'] = array("inventory");
|
||||
$this->def['XML/_PLAYERPETS/__VAL__/LANDSCAPE_X'] = array("inventory");
|
||||
$this->def['XML/_PLAYERPETS/__VAL__/LANDSCAPE_Y'] = array("inventory");
|
||||
$this->def['XML/_PLAYERPETS/__VAL__/LANDSCAPE_Z'] = array("inventory");
|
||||
$this->def['XML/_PLAYERPETS/__VAL__/UTC_DEATHTICK'] = array("inventory");
|
||||
$this->def['XML/_PLAYERPETS/__VAL__/PETSTATUS'] = array("inventory");
|
||||
$this->def['XML/_PLAYERPETS/__VAL__/SATIETY'] = array("inventory");
|
||||
$this->def['XML/INVENTORY'] = array("inventory");
|
||||
$this->def['XML/INVENTORY/__KEY__'] = array("inventory");
|
||||
$this->def['XML/INVENTORY/__VAL__'] = array("inventory");
|
||||
$this->def['XML/INVENTORY/__VAL__/_ITEM'] = array("inventory");
|
||||
$this->def['XML/INVENTORY/__VAL__/_ITEM/_ITEMID'] = array("inventory");
|
||||
$this->def['XML/INVENTORY/__VAL__/_ITEM/_SHEETID'] = array("inventory");
|
||||
$this->def['XML/INVENTORY/__VAL__/_ITEM/_LOCSLOT'] = array("inventory");
|
||||
$this->def['XML/INVENTORY/__VAL__/_ITEM/_HP'] = array("inventory");
|
||||
$this->def['XML/INVENTORY/__VAL__/_ITEM/_RECOMMENDED'] = array("inventory");
|
||||
$this->def['XML/INVENTORY/__VAL__/_ITEM/_CREATORID'] = array("inventory");
|
||||
$this->def['XML/INVENTORY/__VAL__/_ITEM/_PHRASEID'] = array("inventory");
|
||||
$this->def['XML/INVENTORY/__VAL__/_ITEM/_USENEWSYSTEMREQUIREMENT'] = array("inventory");
|
||||
$this->def['XML/INVENTORY/__VAL__/_ITEM/_REQUIREDSKILLLEVEL'] = array("inventory");
|
||||
$this->def['XML/INVENTORY/__VAL__/_ITEM/_CUSTOMTEXT'] = array("inventory");
|
||||
$this->def['XML/INVENTORY/__VAL__/_ITEM/_LOCKEDBYOWNER'] = array("inventory");
|
||||
$this->def['XML/INVENTORY/__VAL__/_ITEM/STACKSIZE'] = array("inventory");
|
||||
$this->def['XML/INVENTORY/__VAL__/_ITEM/_CRAFTPARAMETERS'] = array("inventory");
|
||||
$this->def['XML/INVENTORY/__VAL__/_ITEM/_CRAFTPARAMETERS/DURABILITY'] = array("inventory");
|
||||
$this->def['XML/INVENTORY/__VAL__/_ITEM/_CRAFTPARAMETERS/WEIGHT'] = array("inventory");
|
||||
$this->def['XML/INVENTORY/__VAL__/_ITEM/_CRAFTPARAMETERS/STATENERGY'] = array("inventory");
|
||||
$this->def['XML/INVENTORY/__VAL__/_ITEM/_CRAFTPARAMETERS/DODGEMODIFIER'] = array("inventory");
|
||||
$this->def['XML/INVENTORY/__VAL__/_ITEM/_CRAFTPARAMETERS/PARRYMODIFIER'] = array("inventory");
|
||||
$this->def['XML/INVENTORY/__VAL__/_ITEM/_CRAFTPARAMETERS/PROTECTIONFACTOR'] = array("inventory");
|
||||
$this->def['XML/INVENTORY/__VAL__/_ITEM/_CRAFTPARAMETERS/MAXSLASHINGPROTECTION'] = array("inventory");
|
||||
$this->def['XML/INVENTORY/__VAL__/_ITEM/_CRAFTPARAMETERS/MAXBLUNTPROTECTION'] = array("inventory");
|
||||
$this->def['XML/INVENTORY/__VAL__/_ITEM/_CRAFTPARAMETERS/MAXPIERCINGPROTECTION'] = array("inventory");
|
||||
$this->def['XML/INVENTORY/__VAL__/_ITEM/_CRAFTPARAMETERS/COLOR'] = array("inventory");
|
||||
$this->def['XML/INVENTORY/__VAL__/_ITEM/_CRAFTPARAMETERS/FOCUSBUFF'] = array("inventory");
|
||||
$this->def['XML/INVENTORY/__VAL__/_ITEM/_CRAFTPARAMETERS/HPBUFF'] = array("inventory");
|
||||
$this->def['XML/INVENTORY/__VAL__/_ITEM/_CRAFTPARAMETERS/SAPBUFF'] = array("inventory");
|
||||
$this->def['XML/INVENTORY/__VAL__/_ITEM/_CRAFTPARAMETERS/STABUFF'] = array("inventory");
|
||||
$this->def['XML/INVENTORY/__VAL__/_ITEM/_CRAFTPARAMETERS/PROTECTION'] = array("inventory");
|
||||
$this->def['XML/INVENTORY/__VAL__/_ITEM/_CRAFTPARAMETERS/PROTECTION1'] = array("inventory");
|
||||
$this->def['XML/INVENTORY/__VAL__/_ITEM/_CRAFTPARAMETERS/PROTECTION2'] = array("inventory");
|
||||
$this->def['XML/INVENTORY/__VAL__/_ITEM/_CRAFTPARAMETERS/PROTECTION3'] = array("inventory");
|
||||
$this->def['XML/INVENTORY/__VAL__/_ITEM/_CRAFTPARAMETERS/SAPLOAD'] = array("inventory");
|
||||
$this->def['XML/INVENTORY/__VAL__/_ITEM/_CRAFTPARAMETERS/DMG'] = array("inventory");
|
||||
$this->def['XML/INVENTORY/__VAL__/_ITEM/_CRAFTPARAMETERS/SPEED'] = array("inventory");
|
||||
$this->def['XML/INVENTORY/__VAL__/_ITEM/_CRAFTPARAMETERS/RANGE'] = array("inventory");
|
||||
$this->def['XML/INVENTORY/__VAL__/_ITEM/_CRAFTPARAMETERS/ADVERSARYDODGEMODIFIER'] = array("inventory");
|
||||
$this->def['XML/INVENTORY/__VAL__/_ITEM/_CRAFTPARAMETERS/ADVERSARYPARRYMODIFIER'] = array("inventory");
|
||||
$this->def['XML/INVENTORY/__VAL__/_ITEM/_CRAFTPARAMETERS/PROTECTION1FACTOR'] = array("inventory");
|
||||
$this->def['XML/INVENTORY/__VAL__/_ITEM/_CRAFTPARAMETERS/PROTECTION2FACTOR'] = array("inventory");
|
||||
$this->def['XML/INVENTORY/__VAL__/_ITEM/_CRAFTPARAMETERS/PROTECTION3FACTOR'] = array("inventory");
|
||||
$this->def['XML/INVENTORY/__VAL__/_ITEM/_CRAFTPARAMETERS/DESERTRESISTANCEFACTOR'] = array("inventory");
|
||||
$this->def['XML/INVENTORY/__VAL__/_ITEM/_CRAFTPARAMETERS/FORESTRESISTANCEFACTOR'] = array("inventory");
|
||||
$this->def['XML/INVENTORY/__VAL__/_ITEM/_CRAFTPARAMETERS/LACUSTRERESISTANCEFACTOR'] = array("inventory");
|
||||
$this->def['XML/INVENTORY/__VAL__/_ITEM/_CRAFTPARAMETERS/JUNGLERESISTANCEFACTOR'] = array("inventory");
|
||||
$this->def['XML/INVENTORY/__VAL__/_ITEM/_CRAFTPARAMETERS/PRIMARYROOTRESISTANCEFACTOR'] = array("inventory");
|
||||
$this->def['XML/INVENTORY/__VAL__/_ITEM/_CRAFTPARAMETERS/ELEMENTALCASTINGTIMEFACTOR'] = array("inventory");
|
||||
$this->def['XML/INVENTORY/__VAL__/_ITEM/_CRAFTPARAMETERS/ELEMENTALPOWERFACTOR'] = array("inventory");
|
||||
$this->def['XML/INVENTORY/__VAL__/_ITEM/_CRAFTPARAMETERS/OFFENSIVEAFFLICTIONCASTINGTIMEFACTOR'] = array("inventory");
|
||||
$this->def['XML/INVENTORY/__VAL__/_ITEM/_CRAFTPARAMETERS/OFFENSIVEAFFLICTIONPOWERFACTOR'] = array("inventory");
|
||||
$this->def['XML/INVENTORY/__VAL__/_ITEM/_CRAFTPARAMETERS/HEALCASTINGTIMEFACTOR'] = array("inventory");
|
||||
$this->def['XML/INVENTORY/__VAL__/_ITEM/_CRAFTPARAMETERS/HEALPOWERFACTOR'] = array("inventory");
|
||||
$this->def['XML/INVENTORY/__VAL__/_ITEM/_CRAFTPARAMETERS/DEFENSIVEAFFLICTIONCASTINGTIMEFACTOR'] = array("inventory");
|
||||
$this->def['XML/INVENTORY/__VAL__/_ITEM/_CRAFTPARAMETERS/DEFENSIVEAFFLICTIONPOWERFACTOR'] = array("inventory");
|
||||
$this->def['XML/INVENTORY/__VAL__/_ITEM/_REFINVENTORYSLOT'] = array("inventory");
|
||||
$this->def['XML/INVENTORY/__VAL__/_ITEM/REFINVENTORYID'] = array("inventory");
|
||||
|
||||
?>
|
|
@ -0,0 +1,11 @@
|
|||
<?php
|
||||
|
||||
$this->def['XML/_BOUGHTPHRASES'] = array("knowledge");
|
||||
$this->def['XML/_KNOWNBRICKS'] = array("knowledge");
|
||||
$this->def['XML/_KNOWNPHRASES'] = array("knowledge");
|
||||
$this->def['XML/_MEMORIZEDPHRASES'] = array("knowledge");
|
||||
$this->def['XML/_MEMORIZEDPHRASES/PHRASEDESC/NAME'] = array("knowledge");
|
||||
$this->def['XML/_MEMORIZEDPHRASES/PHRASEDESC/BRICKS'] = array("knowledge");
|
||||
$this->def['XML/RESPAWNPOINTS/RESPAWNPOINTS'] = array("knowledge");
|
||||
|
||||
?>
|
11
code/web/app/app_achievements/_AchWebParser/xmldef/logs.php
Normal file
|
@ -0,0 +1,11 @@
|
|||
<?php
|
||||
|
||||
$this->def['XML/_FIRSTCONNECTEDTIME'] = array("logs");
|
||||
$this->def['XML/_LASTCONNECTEDTIME'] = array("logs");
|
||||
$this->def['XML/_PLAYEDTIME'] = array("logs");
|
||||
$this->def['XML/_LASTLOGSTATS'] = array("logs");
|
||||
$this->def['XML/_LASTLOGSTATS/LOGINTIME'] = array("logs");
|
||||
$this->def['XML/_LASTLOGSTATS/DURATION'] = array("logs");
|
||||
$this->def['XML/_LASTLOGSTATS/LOGOFFTIME'] = array("logs");
|
||||
|
||||
?>
|
|
@ -0,0 +1,3 @@
|
|||
<?php
|
||||
$this->addWildcard("XML/_MISSIONS","missions");
|
||||
?>
|
|
@ -0,0 +1,40 @@
|
|||
<?php
|
||||
|
||||
$this->def['XML/_HAIRTYPE'] = array("public");
|
||||
$this->def['XML/HAIRTYPE'] = array("public");
|
||||
$this->def['XML/_HAIRCOLOR'] = array("public");
|
||||
$this->def['XML/HAIRCOLOR'] = array("public");
|
||||
$this->def['XML/_HATCOLOR'] = array("public");
|
||||
$this->def['XML/_JACKETCOLOR'] = array("public");
|
||||
$this->def['XML/_ARMSCOLOR'] = array("public");
|
||||
$this->def['XML/_TROUSERSCOLOR'] = array("public");
|
||||
$this->def['XML/_FEETCOLOR'] = array("public");
|
||||
$this->def['XML/_HANDSCOLOR'] = array("public");
|
||||
$this->def['XML/_PVPFLAG'] = array("public");
|
||||
$this->def['XML/_GUILDID'] = array("public");
|
||||
$this->def['XML/_TITLE'] = array("public");
|
||||
$this->def['XML/GABARITHEIGHT'] = array("public");
|
||||
$this->def['XML/GABARITTORSOWIDTH'] = array("public");
|
||||
$this->def['XML/GABARITARMSWIDTH'] = array("public");
|
||||
$this->def['XML/GABARITLEGSWIDTH'] = array("public");
|
||||
$this->def['XML/GABARITBREASTSIZE'] = array("public");
|
||||
$this->def['XML/MORPHTARGET1'] = array("public");
|
||||
$this->def['XML/MORPHTARGET2'] = array("public");
|
||||
$this->def['XML/MORPHTARGET3'] = array("public");
|
||||
$this->def['XML/MORPHTARGET4'] = array("public");
|
||||
$this->def['XML/MORPHTARGET5'] = array("public");
|
||||
$this->def['XML/MORPHTARGET6'] = array("public");
|
||||
$this->def['XML/MORPHTARGET7'] = array("public");
|
||||
$this->def['XML/MORPHTARGET8'] = array("public");
|
||||
$this->def['XML/EYESCOLOR'] = array("public");
|
||||
$this->def['XML/TATTOO'] = array("public");
|
||||
$this->def['XML/NORMALPOSITIONS/VEC/POSSTATE'] = array("public");
|
||||
$this->def['XML/NORMALPOSITIONS/VEC/POSSTATE/X'] = array("public");
|
||||
$this->def['XML/NORMALPOSITIONS/VEC/POSSTATE/Y'] = array("public");
|
||||
$this->def['XML/NORMALPOSITIONS/VEC/POSSTATE/Z'] = array("public");
|
||||
$this->def['XML/NORMALPOSITIONS/VEC/POSSTATE/HEADING'] = array("public");
|
||||
$this->def['XML/ENTITYBASE/_NAME'] = array("public");
|
||||
$this->def['XML/ENTITYBASE/_GENDER'] = array("public");
|
||||
$this->def['XML/ENTITYBASE/_SIZE'] = array("public");
|
||||
|
||||
?>
|
66
code/web/app/app_achievements/_AchWebParser/xmldef/shop.php
Normal file
|
@ -0,0 +1,66 @@
|
|||
<?php
|
||||
|
||||
$this->def['XML/_ITEMSINSHOPSTORE'] = array("shop");
|
||||
$this->def['XML/_ITEMSINSHOPSTORE/_ITEMSFORSALE'] = array("shop");
|
||||
$this->def['XML/_ITEMSINSHOPSTORE/_ITEMSFORSALE/_PRICE'] = array("shop");
|
||||
$this->def['XML/_ITEMSINSHOPSTORE/_ITEMSFORSALE/_RETIREPRICE'] = array("shop");
|
||||
$this->def['XML/_ITEMSINSHOPSTORE/_ITEMSFORSALE/UTC__STARTSALECYCLE'] = array("shop");
|
||||
$this->def['XML/_ITEMSINSHOPSTORE/_ITEMSFORSALE/_OWNER'] = array("shop");
|
||||
$this->def['XML/_ITEMSINSHOPSTORE/_ITEMSFORSALE/_CONTINENT'] = array("shop");
|
||||
$this->def['XML/_ITEMSINSHOPSTORE/_ITEMSFORSALE/_QUANTITY'] = array("shop");
|
||||
$this->def['XML/_ITEMSINSHOPSTORE/_ITEMSFORSALE/_IDENTIFIER'] = array("shop");
|
||||
$this->def['XML/_ITEMSINSHOPSTORE/_ITEMSFORSALE/_ITEMPTR'] = array("shop");
|
||||
$this->def['XML/_ITEMSINSHOPSTORE/_ITEMSFORSALE/_ITEMPTR/_ITEMID'] = array("shop");
|
||||
$this->def['XML/_ITEMSINSHOPSTORE/_ITEMSFORSALE/_ITEMPTR/_SHEETID'] = array("shop");
|
||||
$this->def['XML/_ITEMSINSHOPSTORE/_ITEMSFORSALE/_ITEMPTR/_LOCSLOT'] = array("shop");
|
||||
$this->def['XML/_ITEMSINSHOPSTORE/_ITEMSFORSALE/_ITEMPTR/_HP'] = array("shop");
|
||||
$this->def['XML/_ITEMSINSHOPSTORE/_ITEMSFORSALE/_ITEMPTR/_RECOMMENDED'] = array("shop");
|
||||
$this->def['XML/_ITEMSINSHOPSTORE/_ITEMSFORSALE/_ITEMPTR/_CREATORID'] = array("shop");
|
||||
$this->def['XML/_ITEMSINSHOPSTORE/_ITEMSFORSALE/_ITEMPTR/_PHRASEID'] = array("shop");
|
||||
$this->def['XML/_ITEMSINSHOPSTORE/_ITEMSFORSALE/_ITEMPTR/STACKSIZE'] = array("shop");
|
||||
$this->def['XML/_ITEMSINSHOPSTORE/_ITEMSFORSALE/_ITEMPTR/_USENEWSYSTEMREQUIREMENT'] = array("shop");
|
||||
$this->def['XML/_ITEMSINSHOPSTORE/_ITEMSFORSALE/_ITEMPTR/_CUSTOMTEXT'] = array("shop");
|
||||
$this->def['XML/_ITEMSINSHOPSTORE/_ITEMSFORSALE/_ITEMPTR/_LOCKEDBYOWNER'] = array("shop");
|
||||
$this->def['XML/_ITEMSINSHOPSTORE/_ITEMSFORSALE/_ITEMPTR/_CRAFTPARAMETERS'] = array("shop");
|
||||
$this->def['XML/_ITEMSINSHOPSTORE/_ITEMSFORSALE/_ITEMPTR/_CRAFTPARAMETERS/DURABILITY'] = array("shop");
|
||||
$this->def['XML/_ITEMSINSHOPSTORE/_ITEMSFORSALE/_ITEMPTR/_CRAFTPARAMETERS/WEIGHT'] = array("shop");
|
||||
$this->def['XML/_ITEMSINSHOPSTORE/_ITEMSFORSALE/_ITEMPTR/_CRAFTPARAMETERS/STATENERGY'] = array("shop");
|
||||
$this->def['XML/_ITEMSINSHOPSTORE/_ITEMSFORSALE/_ITEMPTR/_CRAFTPARAMETERS/DODGEMODIFIER'] = array("shop");
|
||||
$this->def['XML/_ITEMSINSHOPSTORE/_ITEMSFORSALE/_ITEMPTR/_CRAFTPARAMETERS/PARRYMODIFIER'] = array("shop");
|
||||
$this->def['XML/_ITEMSINSHOPSTORE/_ITEMSFORSALE/_ITEMPTR/_CRAFTPARAMETERS/PROTECTIONFACTOR'] = array("shop");
|
||||
$this->def['XML/_ITEMSINSHOPSTORE/_ITEMSFORSALE/_ITEMPTR/_CRAFTPARAMETERS/MAXSLASHINGPROTECTION'] = array("shop");
|
||||
$this->def['XML/_ITEMSINSHOPSTORE/_ITEMSFORSALE/_ITEMPTR/_CRAFTPARAMETERS/MAXBLUNTPROTECTION'] = array("shop");
|
||||
$this->def['XML/_ITEMSINSHOPSTORE/_ITEMSFORSALE/_ITEMPTR/_CRAFTPARAMETERS/MAXPIERCINGPROTECTION'] = array("shop");
|
||||
$this->def['XML/_ITEMSINSHOPSTORE/_ITEMSFORSALE/_ITEMPTR/_CRAFTPARAMETERS/COLOR'] = array("shop");
|
||||
$this->def['XML/_ITEMSINSHOPSTORE/_ITEMSFORSALE/_ITEMPTR/_CRAFTPARAMETERS/FOCUSBUFF'] = array("shop");
|
||||
$this->def['XML/_ITEMSINSHOPSTORE/_ITEMSFORSALE/_ITEMPTR/_CRAFTPARAMETERS/HPBUFF'] = array("shop");
|
||||
$this->def['XML/_ITEMSINSHOPSTORE/_ITEMSFORSALE/_ITEMPTR/_CRAFTPARAMETERS/SAPBUFF'] = array("shop");
|
||||
$this->def['XML/_ITEMSINSHOPSTORE/_ITEMSFORSALE/_ITEMPTR/_CRAFTPARAMETERS/STABUFF'] = array("shop");
|
||||
$this->def['XML/_ITEMSINSHOPSTORE/_ITEMSFORSALE/_ITEMPTR/_CRAFTPARAMETERS/PROTECTION'] = array("shop");
|
||||
$this->def['XML/_ITEMSINSHOPSTORE/_ITEMSFORSALE/_ITEMPTR/_CRAFTPARAMETERS/PROTECTION1'] = array("shop");
|
||||
$this->def['XML/_ITEMSINSHOPSTORE/_ITEMSFORSALE/_ITEMPTR/_CRAFTPARAMETERS/PROTECTION2'] = array("shop");
|
||||
$this->def['XML/_ITEMSINSHOPSTORE/_ITEMSFORSALE/_ITEMPTR/_CRAFTPARAMETERS/PROTECTION3'] = array("shop");
|
||||
$this->def['XML/_ITEMSINSHOPSTORE/_ITEMSFORSALE/_ITEMPTR/_CRAFTPARAMETERS/SAPLOAD'] = array("shop");
|
||||
$this->def['XML/_ITEMSINSHOPSTORE/_ITEMSFORSALE/_ITEMPTR/_CRAFTPARAMETERS/DMG'] = array("shop");
|
||||
$this->def['XML/_ITEMSINSHOPSTORE/_ITEMSFORSALE/_ITEMPTR/_CRAFTPARAMETERS/SPEED'] = array("shop");
|
||||
$this->def['XML/_ITEMSINSHOPSTORE/_ITEMSFORSALE/_ITEMPTR/_CRAFTPARAMETERS/RANGE'] = array("shop");
|
||||
$this->def['XML/_ITEMSINSHOPSTORE/_ITEMSFORSALE/_ITEMPTR/_CRAFTPARAMETERS/ADVERSARYDODGEMODIFIER'] = array("shop");
|
||||
$this->def['XML/_ITEMSINSHOPSTORE/_ITEMSFORSALE/_ITEMPTR/_CRAFTPARAMETERS/ADVERSARYPARRYMODIFIER'] = array("shop");
|
||||
$this->def['XML/_ITEMSINSHOPSTORE/_ITEMSFORSALE/_ITEMPTR/_CRAFTPARAMETERS/PROTECTION1FACTOR'] = array("shop");
|
||||
$this->def['XML/_ITEMSINSHOPSTORE/_ITEMSFORSALE/_ITEMPTR/_CRAFTPARAMETERS/PROTECTION2FACTOR'] = array("shop");
|
||||
$this->def['XML/_ITEMSINSHOPSTORE/_ITEMSFORSALE/_ITEMPTR/_CRAFTPARAMETERS/PROTECTION3FACTOR'] = array("shop");
|
||||
$this->def['XML/_ITEMSINSHOPSTORE/_ITEMSFORSALE/_ITEMPTR/_CRAFTPARAMETERS/DESERTRESISTANCEFACTOR'] = array("shop");
|
||||
$this->def['XML/_ITEMSINSHOPSTORE/_ITEMSFORSALE/_ITEMPTR/_CRAFTPARAMETERS/FORESTRESISTANCEFACTOR'] = array("shop");
|
||||
$this->def['XML/_ITEMSINSHOPSTORE/_ITEMSFORSALE/_ITEMPTR/_CRAFTPARAMETERS/LACUSTRERESISTANCEFACTOR'] = array("shop");
|
||||
$this->def['XML/_ITEMSINSHOPSTORE/_ITEMSFORSALE/_ITEMPTR/_CRAFTPARAMETERS/JUNGLERESISTANCEFACTOR'] = array("shop");
|
||||
$this->def['XML/_ITEMSINSHOPSTORE/_ITEMSFORSALE/_ITEMPTR/_CRAFTPARAMETERS/PRIMARYROOTRESISTANCEFACTOR'] = array("shop");
|
||||
$this->def['XML/_ITEMSINSHOPSTORE/_ITEMSFORSALE/_ITEMPTR/_CRAFTPARAMETERS/ELEMENTALCASTINGTIMEFACTOR'] = array("shop");
|
||||
$this->def['XML/_ITEMSINSHOPSTORE/_ITEMSFORSALE/_ITEMPTR/_CRAFTPARAMETERS/ELEMENTALPOWERFACTOR'] = array("shop");
|
||||
$this->def['XML/_ITEMSINSHOPSTORE/_ITEMSFORSALE/_ITEMPTR/_CRAFTPARAMETERS/OFFENSIVEAFFLICTIONCASTINGTIMEFACTOR'] = array("shop");
|
||||
$this->def['XML/_ITEMSINSHOPSTORE/_ITEMSFORSALE/_ITEMPTR/_CRAFTPARAMETERS/OFFENSIVEAFFLICTIONPOWERFACTOR'] = array("shop");
|
||||
$this->def['XML/_ITEMSINSHOPSTORE/_ITEMSFORSALE/_ITEMPTR/_CRAFTPARAMETERS/HEALCASTINGTIMEFACTOR'] = array("shop");
|
||||
$this->def['XML/_ITEMSINSHOPSTORE/_ITEMSFORSALE/_ITEMPTR/_CRAFTPARAMETERS/HEALPOWERFACTOR'] = array("shop");
|
||||
$this->def['XML/_ITEMSINSHOPSTORE/_ITEMSFORSALE/_ITEMPTR/_CRAFTPARAMETERS/DEFENSIVEAFFLICTIONCASTINGTIMEFACTOR'] = array("shop");
|
||||
$this->def['XML/_ITEMSINSHOPSTORE/_ITEMSFORSALE/_ITEMPTR/_CRAFTPARAMETERS/DEFENSIVEAFFLICTIONPOWERFACTOR'] = array("shop");
|
||||
|
||||
?>
|
|
@ -0,0 +1,21 @@
|
|||
<?php
|
||||
|
||||
$this->def['XML/ENTITYBASE/_SKILLS/SKILLS'] = array("skills");
|
||||
$this->def['XML/ENTITYBASE/_SKILLS/SKILLS/__KEY__'] = array("skills");
|
||||
$this->def['XML/ENTITYBASE/_SKILLS/SKILLS/__VAL__'] = array("skills");
|
||||
$this->def['XML/ENTITYBASE/_SKILLS/SKILLS/__VAL__/BASE'] = array("skills");
|
||||
$this->def['XML/ENTITYBASE/_SKILLS/SKILLS/__VAL__/CURRENT'] = array("skills");
|
||||
$this->def['XML/ENTITYBASE/_SKILLS/SKILLS/__VAL__/MAXLVLREACHED'] = array("skills");
|
||||
$this->def['XML/ENTITYBASE/_SKILLS/SKILLS/__VAL__/XP'] = array("skills");
|
||||
$this->def['XML/ENTITYBASE/_SKILLS/SKILLS/__VAL__/XPNEXTLVL'] = array("skills");
|
||||
$this->def['XML/SKILLPOINTS'] = array("skills");
|
||||
$this->def['XML/SKILLPOINTS/__KEY__'] = array("skills");
|
||||
$this->def['XML/SKILLPOINTS/__VAL__'] = array("skills");
|
||||
$this->def['XML/SPENTSKILLPOINTS'] = array("skills");
|
||||
$this->def['XML/SPENTSKILLPOINTS/__KEY__'] = array("skills");
|
||||
$this->def['XML/SPENTSKILLPOINTS/__VAL__'] = array("skills");
|
||||
$this->def['XML/SCOREPERMANENTMODIFIERS'] = array("skills");
|
||||
$this->def['XML/SCOREPERMANENTMODIFIERS/__KEY__'] = array("skills");
|
||||
$this->def['XML/SCOREPERMANENTMODIFIERS/__VAL__'] = array("skills");
|
||||
|
||||
?>
|
|
@ -0,0 +1,7 @@
|
|||
<?php
|
||||
|
||||
$this->def['XML/_FRIENDSLIST'] = array("social");
|
||||
$this->def['XML/_ISFRIENDOF'] = array("social");
|
||||
$this->def['XML/FRIENDVISIBILITy'] = array("social");
|
||||
|
||||
?>
|
27
code/web/app/app_achievements/_AchWebParser/xmldef/stats.php
Normal file
|
@ -0,0 +1,27 @@
|
|||
<?php
|
||||
|
||||
$this->def['XML/_HPB'] = array("stats");
|
||||
$this->def['XML/_PVPPOINT'] = array("stats");
|
||||
$this->def['XML/_DEATHPENALTIES'] = array("stats");
|
||||
$this->def['XML/_DEATHPENALTIES/_NBDEATH'] = array("stats");
|
||||
$this->def['XML/_DEATHPENALTIES/_CURRENTDEATHXP'] = array("stats");
|
||||
$this->def['XML/_DEATHPENALTIES/_DEATHXPTOGAIN'] = array("stats");
|
||||
$this->def['XML/_DEATHPENALTIES/_BONUSUPDATETIME'] = array("stats");
|
||||
$this->def['XML/ENTITYBASE/_DODGEASDEFENSE'] = array("stats");
|
||||
$this->def['XML/ENTITYBASE/_PHYSCHARACS/_PHYSICALCHARACTERISTICS'] = array("stats");
|
||||
$this->def['XML/ENTITYBASE/_PHYSCHARACS/_PHYSICALCHARACTERISTICS/__KEY__'] = array("stats");
|
||||
$this->def['XML/ENTITYBASE/_PHYSCHARACS/_PHYSICALCHARACTERISTICS/__VAL__'] = array("stats");
|
||||
$this->def['XML/ENTITYBASE/_PHYSSCORES'] = array("stats");
|
||||
$this->def['XML/ENTITYBASE/_PHYSSCORES/BASEWALKSPEED'] = array("stats");
|
||||
$this->def['XML/ENTITYBASE/_PHYSSCORES/BASERUNSPEED'] = array("stats");
|
||||
$this->def['XML/ENTITYBASE/_PHYSSCORES/CURRENTWALKSPEED'] = array("stats");
|
||||
$this->def['XML/ENTITYBASE/_PHYSSCORES/CURRENTRUNSPEED'] = array("stats");
|
||||
$this->def['XML/ENTITYBASE/_PHYSSCORES/__KEY__'] = array("stats");
|
||||
$this->def['XML/ENTITYBASE/_PHYSSCORES/__VAL__/CURRENT'] = array("stats");
|
||||
$this->def['XML/ENTITYBASE/_PHYSSCORES/__VAL__/BASE'] = array("stats");
|
||||
$this->def['XML/ENTITYBASE/_PHYSSCORES/__VAL__/MAX'] = array("stats");
|
||||
$this->def['XML/ENTITYBASE/_PHYSSCORES/__VAL__/BASEREGENERATEREPOS'] = array("stats");
|
||||
$this->def['XML/ENTITYBASE/_PHYSSCORES/__VAL__/BASEREGENERATEACTION'] = array("stats");
|
||||
$this->def['XML/ENTITYBASE/_PHYSSCORES/__VAL__/CURRENTREGENERATE'] = array("stats");
|
||||
|
||||
?>
|
|
@ -1,235 +0,0 @@
|
|||
-- phpMyAdmin SQL Dump
|
||||
-- version 3.5.1
|
||||
-- http://www.phpmyadmin.net
|
||||
--
|
||||
-- Host: localhost
|
||||
-- Generation Time: Aug 20, 2012 at 01:48 PM
|
||||
-- Server version: 5.5.24-log
|
||||
-- PHP Version: 5.4.3
|
||||
|
||||
SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
|
||||
SET time_zone = "+00:00";
|
||||
|
||||
|
||||
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
||||
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
||||
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
|
||||
/*!40101 SET NAMES utf8 */;
|
||||
|
||||
--
|
||||
-- Database: `app_achievements_test`
|
||||
--
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- Table structure for table `ach_achievement`
|
||||
--
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `ach_achievement` (
|
||||
`aa_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`aa_category` bigint(20) unsigned NOT NULL,
|
||||
`aa_parent` bigint(20) unsigned DEFAULT NULL,
|
||||
`aa_tie_race` varchar(64) COLLATE utf8_bin DEFAULT NULL,
|
||||
`aa_tie_cult` varchar(64) COLLATE utf8_bin DEFAULT NULL,
|
||||
`aa_tie_civ` varchar(64) COLLATE utf8_bin DEFAULT NULL,
|
||||
`aa_image` varchar(64) COLLATE utf8_bin NOT NULL,
|
||||
`aa_dev` tinyint(1) unsigned NOT NULL DEFAULT '0',
|
||||
`aa_sticky` tinyint(1) unsigned NOT NULL,
|
||||
PRIMARY KEY (`aa_id`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin AUTO_INCREMENT=346 ;
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- Table structure for table `ach_achievement_lang`
|
||||
--
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `ach_achievement_lang` (
|
||||
`aal_achievement` bigint(20) unsigned NOT NULL,
|
||||
`aal_lang` varchar(2) COLLATE utf8_bin NOT NULL,
|
||||
`aal_name` varchar(255) COLLATE utf8_bin NOT NULL,
|
||||
`aal_template` varchar(255) COLLATE utf8_bin DEFAULT NULL,
|
||||
PRIMARY KEY (`aal_achievement`,`aal_lang`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- Table structure for table `ach_atom`
|
||||
--
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `ach_atom` (
|
||||
`atom_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`atom_objective` bigint(20) unsigned NOT NULL,
|
||||
`atom_mandatory` tinyint(1) unsigned NOT NULL,
|
||||
`atom_ruleset` blob NOT NULL,
|
||||
`atom_ruleset_parsed` blob NOT NULL,
|
||||
PRIMARY KEY (`atom_id`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin AUTO_INCREMENT=25 ;
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- Table structure for table `ach_category`
|
||||
--
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `ach_category` (
|
||||
`ac_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`ac_parent` bigint(20) unsigned DEFAULT NULL,
|
||||
`ac_order` smallint(5) unsigned NOT NULL,
|
||||
`ac_image` varchar(64) COLLATE utf8_bin DEFAULT NULL,
|
||||
`ac_dev` tinyint(1) unsigned NOT NULL DEFAULT '0',
|
||||
`ac_heroic` tinyint(1) unsigned NOT NULL,
|
||||
PRIMARY KEY (`ac_id`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin AUTO_INCREMENT=50 ;
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- Table structure for table `ach_category_lang`
|
||||
--
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `ach_category_lang` (
|
||||
`acl_category` bigint(20) unsigned NOT NULL,
|
||||
`acl_lang` varchar(2) COLLATE utf8_bin NOT NULL,
|
||||
`acl_name` varchar(255) COLLATE utf8_bin NOT NULL,
|
||||
PRIMARY KEY (`acl_category`,`acl_lang`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- Table structure for table `ach_fb_token`
|
||||
--
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `ach_fb_token` (
|
||||
`aft_player` bigint(20) unsigned NOT NULL,
|
||||
`aft_token` varchar(255) NOT NULL,
|
||||
`aft_date` bigint(20) unsigned NOT NULL,
|
||||
`aft_allow` tinyint(1) unsigned NOT NULL,
|
||||
PRIMARY KEY (`aft_player`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- Table structure for table `ach_objective`
|
||||
--
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `ach_objective` (
|
||||
`ao_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`ao_task` bigint(20) unsigned NOT NULL,
|
||||
`ao_condition` enum('all','any','value') COLLATE utf8_bin NOT NULL,
|
||||
`ao_value` bigint(20) unsigned DEFAULT NULL,
|
||||
`ao_display` enum('simple','meta','value','hidden') COLLATE utf8_bin NOT NULL DEFAULT 'hidden',
|
||||
`ao_metalink` bigint(20) unsigned DEFAULT NULL,
|
||||
PRIMARY KEY (`ao_id`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin AUTO_INCREMENT=2026 ;
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- Table structure for table `ach_objective_lang`
|
||||
--
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `ach_objective_lang` (
|
||||
`aol_objective` bigint(20) unsigned NOT NULL,
|
||||
`aol_lang` varchar(2) COLLATE utf8_bin NOT NULL,
|
||||
`aol_name` varchar(255) COLLATE utf8_bin DEFAULT NULL,
|
||||
PRIMARY KEY (`aol_objective`,`aol_lang`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- Table structure for table `ach_player_atom`
|
||||
--
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `ach_player_atom` (
|
||||
`apa_atom` bigint(20) unsigned NOT NULL,
|
||||
`apa_player` bigint(20) unsigned NOT NULL,
|
||||
`apa_date` bigint(20) unsigned NOT NULL,
|
||||
`apa_expire` blob,
|
||||
`apa_state` enum('GRANT','DENY') COLLATE utf8_bin NOT NULL,
|
||||
`apa_value` bigint(20) unsigned NOT NULL,
|
||||
KEY `apa_atom` (`apa_atom`,`apa_player`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- Table structure for table `ach_player_objective`
|
||||
--
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `ach_player_objective` (
|
||||
`apo_objective` bigint(20) unsigned NOT NULL,
|
||||
`apo_player` bigint(20) unsigned NOT NULL,
|
||||
`apo_date` bigint(20) unsigned NOT NULL,
|
||||
PRIMARY KEY (`apo_objective`,`apo_player`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- Table structure for table `ach_player_task`
|
||||
--
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `ach_player_task` (
|
||||
`apt_task` bigint(20) unsigned NOT NULL,
|
||||
`apt_player` bigint(20) unsigned NOT NULL,
|
||||
`apt_date` bigint(20) unsigned NOT NULL,
|
||||
`apt_fb` tinyint(1) unsigned NOT NULL,
|
||||
PRIMARY KEY (`apt_task`,`apt_player`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- Table structure for table `ach_player_valuecache`
|
||||
--
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `ach_player_valuecache` (
|
||||
`apv_name` bigint(20) unsigned NOT NULL,
|
||||
`apv_player` bigint(20) unsigned NOT NULL,
|
||||
`apv_value` varchar(255) COLLATE utf8_bin NOT NULL,
|
||||
`apv_date` bigint(20) unsigned NOT NULL,
|
||||
PRIMARY KEY (`apv_name`,`apv_player`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- Table structure for table `ach_task`
|
||||
--
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `ach_task` (
|
||||
`at_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`at_achievement` bigint(20) unsigned NOT NULL,
|
||||
`at_parent` bigint(20) unsigned DEFAULT NULL,
|
||||
`at_value` int(10) unsigned NOT NULL,
|
||||
`at_condition` enum('all','any','value') COLLATE utf8_bin NOT NULL DEFAULT 'all',
|
||||
`at_condition_value` int(10) unsigned DEFAULT NULL,
|
||||
`at_dev` tinyint(1) unsigned NOT NULL DEFAULT '0',
|
||||
`at_torder` smallint(5) unsigned NOT NULL,
|
||||
PRIMARY KEY (`at_id`),
|
||||
UNIQUE KEY `ap_parent` (`at_parent`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin AUTO_INCREMENT=635 ;
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- Table structure for table `ach_task_lang`
|
||||
--
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `ach_task_lang` (
|
||||
`atl_task` bigint(20) unsigned NOT NULL,
|
||||
`atl_lang` varchar(2) COLLATE utf8_bin NOT NULL,
|
||||
`atl_name` varchar(255) COLLATE utf8_bin NOT NULL,
|
||||
`atl_template` varchar(255) COLLATE utf8_bin DEFAULT NULL,
|
||||
PRIMARY KEY (`atl_task`,`atl_lang`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
|
||||
|
||||
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
|
||||
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
|
||||
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
|
50109
code/web/app/app_achievements/_doc/data_app_achievements.sql
Normal file
|
@ -0,0 +1,278 @@
|
|||
-- --------------------------------------------------------
|
||||
-- Host: 178.33.225.92
|
||||
-- Server version: 5.5.28-0ubuntu0.12.04.2-log - (Ubuntu)
|
||||
-- Server OS: debian-linux-gnu
|
||||
-- HeidiSQL version: 7.0.0.4053
|
||||
-- Date/time: 2012-12-10 14:52:03
|
||||
-- --------------------------------------------------------
|
||||
|
||||
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
||||
/*!40101 SET NAMES utf8 */;
|
||||
/*!40014 SET FOREIGN_KEY_CHECKS=0 */;
|
||||
|
||||
-- Dumping structure for table app_achievements.ach_achievement
|
||||
CREATE TABLE IF NOT EXISTS `ach_achievement` (
|
||||
`aa_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`aa_category` bigint(20) unsigned NOT NULL,
|
||||
`aa_parent` bigint(20) unsigned DEFAULT NULL,
|
||||
`aa_tie_race` varchar(64) COLLATE utf8_bin DEFAULT NULL,
|
||||
`aa_tie_cult` varchar(64) COLLATE utf8_bin DEFAULT NULL,
|
||||
`aa_tie_civ` varchar(64) COLLATE utf8_bin DEFAULT NULL,
|
||||
`aa_image` varchar(64) COLLATE utf8_bin NOT NULL,
|
||||
`aa_dev` tinyint(1) unsigned NOT NULL DEFAULT '0',
|
||||
`aa_sticky` tinyint(1) unsigned NOT NULL,
|
||||
PRIMARY KEY (`aa_id`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
|
||||
|
||||
-- Data exporting was unselected.
|
||||
|
||||
|
||||
-- Dumping structure for table app_achievements.ach_achievement_lang
|
||||
CREATE TABLE IF NOT EXISTS `ach_achievement_lang` (
|
||||
`aal_achievement` bigint(20) unsigned NOT NULL,
|
||||
`aal_lang` varchar(2) COLLATE utf8_bin NOT NULL,
|
||||
`aal_name` varchar(255) COLLATE utf8_bin NOT NULL,
|
||||
`aal_template` varchar(255) COLLATE utf8_bin DEFAULT NULL,
|
||||
PRIMARY KEY (`aal_achievement`,`aal_lang`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
|
||||
|
||||
-- Data exporting was unselected.
|
||||
|
||||
|
||||
-- Dumping structure for table app_achievements.ach_atom
|
||||
CREATE TABLE IF NOT EXISTS `ach_atom` (
|
||||
`atom_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`atom_objective` bigint(20) unsigned NOT NULL,
|
||||
`atom_mandatory` tinyint(1) unsigned NOT NULL,
|
||||
`atom_ruleset` blob NOT NULL,
|
||||
`atom_ruleset_parsed` blob NOT NULL,
|
||||
PRIMARY KEY (`atom_id`),
|
||||
KEY `atom_objective` (`atom_objective`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
|
||||
|
||||
-- Data exporting was unselected.
|
||||
|
||||
|
||||
-- Dumping structure for table app_achievements.ach_category
|
||||
CREATE TABLE IF NOT EXISTS `ach_category` (
|
||||
`ac_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`ac_parent` bigint(20) unsigned DEFAULT NULL,
|
||||
`ac_order` smallint(5) unsigned NOT NULL,
|
||||
`ac_image` varchar(64) COLLATE utf8_bin DEFAULT NULL,
|
||||
`ac_dev` tinyint(1) unsigned NOT NULL DEFAULT '0',
|
||||
`ac_heroic` tinyint(1) unsigned NOT NULL,
|
||||
`ac_contest` tinyint(1) unsigned NOT NULL,
|
||||
PRIMARY KEY (`ac_id`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
|
||||
|
||||
-- Data exporting was unselected.
|
||||
|
||||
|
||||
-- Dumping structure for table app_achievements.ach_category_lang
|
||||
CREATE TABLE IF NOT EXISTS `ach_category_lang` (
|
||||
`acl_category` bigint(20) unsigned NOT NULL,
|
||||
`acl_lang` varchar(2) COLLATE utf8_bin NOT NULL,
|
||||
`acl_name` varchar(255) COLLATE utf8_bin NOT NULL,
|
||||
PRIMARY KEY (`acl_category`,`acl_lang`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
|
||||
|
||||
-- Data exporting was unselected.
|
||||
|
||||
|
||||
-- Dumping structure for table app_achievements.ach_fb_token
|
||||
CREATE TABLE IF NOT EXISTS `ach_fb_token` (
|
||||
`aft_player` bigint(20) unsigned NOT NULL,
|
||||
`aft_token` varchar(255) NOT NULL,
|
||||
`aft_date` bigint(20) unsigned NOT NULL,
|
||||
`aft_allow` tinyint(1) unsigned NOT NULL,
|
||||
PRIMARY KEY (`aft_player`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
|
||||
|
||||
-- Data exporting was unselected.
|
||||
|
||||
|
||||
-- Dumping structure for table app_achievements.ach_objective
|
||||
CREATE TABLE IF NOT EXISTS `ach_objective` (
|
||||
`ao_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`ao_task` bigint(20) unsigned NOT NULL,
|
||||
`ao_condition` enum('all','any','value') COLLATE utf8_bin NOT NULL,
|
||||
`ao_value` bigint(20) unsigned DEFAULT NULL,
|
||||
`ao_display` enum('simple','meta','value','hidden') COLLATE utf8_bin NOT NULL DEFAULT 'hidden',
|
||||
`ao_metalink` bigint(20) unsigned DEFAULT NULL,
|
||||
PRIMARY KEY (`ao_id`),
|
||||
KEY `ao_task` (`ao_task`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
|
||||
|
||||
-- Data exporting was unselected.
|
||||
|
||||
|
||||
-- Dumping structure for table app_achievements.ach_objective_lang
|
||||
CREATE TABLE IF NOT EXISTS `ach_objective_lang` (
|
||||
`aol_objective` bigint(20) unsigned NOT NULL,
|
||||
`aol_lang` varchar(2) COLLATE utf8_bin NOT NULL,
|
||||
`aol_name` varchar(255) COLLATE utf8_bin DEFAULT NULL,
|
||||
PRIMARY KEY (`aol_objective`,`aol_lang`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
|
||||
|
||||
-- Data exporting was unselected.
|
||||
|
||||
|
||||
-- Dumping structure for table app_achievements.ach_player_atom
|
||||
CREATE TABLE IF NOT EXISTS `ach_player_atom` (
|
||||
`apa_atom` bigint(20) unsigned NOT NULL,
|
||||
`apa_player` bigint(20) unsigned NOT NULL,
|
||||
`apa_date` bigint(20) unsigned NOT NULL,
|
||||
`apa_expire` blob,
|
||||
`apa_state` enum('GRANT','DENY') COLLATE utf8_bin NOT NULL,
|
||||
`apa_value` bigint(20) unsigned NOT NULL,
|
||||
KEY `apa_atom` (`apa_atom`,`apa_player`),
|
||||
KEY `apa_state` (`apa_state`),
|
||||
KEY `apa_atom_2` (`apa_atom`,`apa_player`,`apa_state`),
|
||||
KEY `apa_player` (`apa_player`),
|
||||
KEY `apa_atom_3` (`apa_atom`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
|
||||
|
||||
-- Data exporting was unselected.
|
||||
|
||||
|
||||
-- Dumping structure for table app_achievements.ach_player_objective
|
||||
CREATE TABLE IF NOT EXISTS `ach_player_objective` (
|
||||
`apo_objective` bigint(20) unsigned NOT NULL,
|
||||
`apo_player` bigint(20) unsigned NOT NULL,
|
||||
`apo_date` bigint(20) unsigned NOT NULL,
|
||||
PRIMARY KEY (`apo_objective`,`apo_player`),
|
||||
KEY `apo_player` (`apo_player`),
|
||||
KEY `apo_objective` (`apo_objective`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
|
||||
|
||||
-- Data exporting was unselected.
|
||||
|
||||
|
||||
-- Dumping structure for table app_achievements.ach_player_task
|
||||
CREATE TABLE IF NOT EXISTS `ach_player_task` (
|
||||
`apt_task` bigint(20) unsigned NOT NULL,
|
||||
`apt_player` bigint(20) unsigned NOT NULL,
|
||||
`apt_date` bigint(20) unsigned NOT NULL,
|
||||
`apt_fb` tinyint(1) unsigned NOT NULL,
|
||||
PRIMARY KEY (`apt_task`,`apt_player`),
|
||||
KEY `apt_player` (`apt_player`),
|
||||
KEY `apt_task` (`apt_task`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
|
||||
|
||||
-- Data exporting was unselected.
|
||||
|
||||
|
||||
-- Dumping structure for table app_achievements.ach_player_valuecache
|
||||
CREATE TABLE IF NOT EXISTS `ach_player_valuecache` (
|
||||
`apv_name` varchar(64) COLLATE utf8_bin NOT NULL,
|
||||
`apv_player` bigint(20) unsigned NOT NULL,
|
||||
`apv_value` varchar(255) COLLATE utf8_bin NOT NULL,
|
||||
`apv_date` bigint(20) unsigned NOT NULL,
|
||||
PRIMARY KEY (`apv_name`,`apv_player`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
|
||||
|
||||
-- Data exporting was unselected.
|
||||
|
||||
|
||||
-- Dumping structure for table app_achievements.ach_task
|
||||
CREATE TABLE IF NOT EXISTS `ach_task` (
|
||||
`at_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`at_achievement` bigint(20) unsigned NOT NULL,
|
||||
`at_parent` bigint(20) unsigned DEFAULT NULL,
|
||||
`at_value` int(10) unsigned NOT NULL,
|
||||
`at_condition` enum('all','any','value') COLLATE utf8_bin NOT NULL DEFAULT 'all',
|
||||
`at_condition_value` int(10) unsigned DEFAULT NULL,
|
||||
`at_dev` tinyint(1) unsigned NOT NULL DEFAULT '0',
|
||||
`at_torder` smallint(5) unsigned NOT NULL,
|
||||
`at_inherit` tinyint(1) unsigned NOT NULL,
|
||||
PRIMARY KEY (`at_id`),
|
||||
UNIQUE KEY `ap_parent` (`at_parent`),
|
||||
KEY `at_achievement` (`at_achievement`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
|
||||
|
||||
-- Data exporting was unselected.
|
||||
|
||||
|
||||
-- Dumping structure for table app_achievements.ach_task_lang
|
||||
CREATE TABLE IF NOT EXISTS `ach_task_lang` (
|
||||
`atl_task` bigint(20) unsigned NOT NULL,
|
||||
`atl_lang` varchar(2) COLLATE utf8_bin NOT NULL,
|
||||
`atl_name` varchar(255) COLLATE utf8_bin NOT NULL,
|
||||
`atl_template` varchar(255) COLLATE utf8_bin DEFAULT NULL,
|
||||
PRIMARY KEY (`atl_task`,`atl_lang`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
|
||||
|
||||
-- Data exporting was unselected.
|
||||
|
||||
|
||||
-- Dumping structure for table app_achievements.ach_task_tie_civ
|
||||
CREATE TABLE IF NOT EXISTS `ach_task_tie_civ` (
|
||||
`attciv_task` bigint(20) unsigned NOT NULL,
|
||||
`attciv_civ` varchar(64) NOT NULL,
|
||||
PRIMARY KEY (`attciv_task`,`attciv_civ`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
|
||||
|
||||
-- Data exporting was unselected.
|
||||
|
||||
|
||||
-- Dumping structure for table app_achievements.ach_task_tie_cult
|
||||
CREATE TABLE IF NOT EXISTS `ach_task_tie_cult` (
|
||||
`attcult_task` bigint(20) unsigned NOT NULL,
|
||||
`attcult_cult` varchar(64) NOT NULL,
|
||||
PRIMARY KEY (`attcult_task`,`attcult_cult`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
|
||||
|
||||
-- Data exporting was unselected.
|
||||
|
||||
|
||||
-- Dumping structure for table app_achievements.ach_task_tie_race
|
||||
CREATE TABLE IF NOT EXISTS `ach_task_tie_race` (
|
||||
`attr_task` bigint(20) unsigned NOT NULL,
|
||||
`attr_race` varchar(64) NOT NULL,
|
||||
PRIMARY KEY (`attr_task`,`attr_race`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
|
||||
|
||||
-- Data exporting was unselected.
|
||||
|
||||
|
||||
-- Dumping structure for table app_achievements.stat_daily
|
||||
CREATE TABLE IF NOT EXISTS `stat_daily` (
|
||||
`sd_day` date NOT NULL DEFAULT '0000-00-00',
|
||||
`sd_players` bigint(20) unsigned DEFAULT NULL,
|
||||
`sd_money_total` bigint(20) unsigned DEFAULT NULL,
|
||||
`sd_money_avg` int(10) unsigned DEFAULT NULL,
|
||||
`sd_money_mean` int(10) unsigned DEFAULT NULL,
|
||||
`sd_mek_total` bigint(20) unsigned DEFAULT NULL,
|
||||
`sd_mek_avg` smallint(5) unsigned DEFAULT NULL,
|
||||
`sd_mek_mean` smallint(5) unsigned DEFAULT NULL,
|
||||
`sd_lvl_total` bigint(20) unsigned DEFAULT NULL,
|
||||
`sd_lvl_avg` int(10) unsigned DEFAULT NULL,
|
||||
`sd_lvl_mean` int(10) unsigned DEFAULT NULL,
|
||||
`sd_item_total` bigint(20) unsigned DEFAULT NULL,
|
||||
`sd_item_avg` int(10) unsigned DEFAULT NULL,
|
||||
`sd_item_mean` int(10) unsigned DEFAULT NULL,
|
||||
`sd_yubo_total` bigint(20) unsigned DEFAULT NULL,
|
||||
`sd_yubo_avg` int(10) unsigned DEFAULT NULL,
|
||||
`sd_yubo_mean` int(10) unsigned DEFAULT NULL,
|
||||
PRIMARY KEY (`sd_day`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
||||
|
||||
-- Data exporting was unselected.
|
||||
|
||||
|
||||
-- Dumping structure for table app_achievements.stat_players
|
||||
CREATE TABLE IF NOT EXISTS `stat_players` (
|
||||
`sp_char` bigint(20) unsigned NOT NULL DEFAULT '0',
|
||||
`sp_money` bigint(20) unsigned DEFAULT NULL,
|
||||
`sp_race` enum('r_matis','r_tryker','r_fyros','r_zorai') DEFAULT NULL,
|
||||
`sp_yubototal` int(10) unsigned DEFAULT NULL,
|
||||
`sp_mekcount` int(10) unsigned DEFAULT NULL,
|
||||
`sp_maxlevel` smallint(5) unsigned DEFAULT NULL,
|
||||
`sp_guildid` int(10) unsigned DEFAULT NULL,
|
||||
`sp_itemcount` int(10) unsigned DEFAULT NULL,
|
||||
PRIMARY KEY (`sp_char`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
||||
|
||||
-- Data exporting was unselected.
|
||||
/*!40014 SET FOREIGN_KEY_CHECKS=1 */;
|
||||
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
|
|
@ -36,16 +36,16 @@
|
|||
|
||||
protected $parent_id;
|
||||
protected $category;
|
||||
protected $tie_race;
|
||||
protected $tie_civ;
|
||||
protected $tie_cult;
|
||||
#protected $tie_race;
|
||||
#protected $tie_civ;
|
||||
#protected $tie_cult;
|
||||
protected $image;
|
||||
protected $name;
|
||||
protected $template;
|
||||
protected $sticky;
|
||||
|
||||
function AchAchievement($data,$parent) {
|
||||
global $DBc,$_USER;
|
||||
global $DBc,$_USER,$_CONF;
|
||||
|
||||
parent::__construct();
|
||||
|
||||
|
@ -53,15 +53,21 @@
|
|||
$this->setID($data['aa_id']);
|
||||
$this->parent_id = $data['aa_parent']; // id of parent
|
||||
$this->category = $data['aa_category'];
|
||||
$this->tie_race = $data['aa_tie_race'];
|
||||
$this->tie_civ = $data['aa_tie_civ'];
|
||||
$this->tie_cult = $data['aa_tie_cult'];
|
||||
#$this->tie_race = $data['aa_tie_race'];
|
||||
#$this->tie_civ = $data['aa_tie_civ'];
|
||||
#$this->tie_cult = $data['aa_tie_cult'];
|
||||
$this->image = $data['aa_image'];
|
||||
$this->name = $data['aal_name'];
|
||||
$this->template = $data['aal_template'];
|
||||
$this->dev = $data['aa_dev'];
|
||||
$this->sticky = $data['aa_sticky'];
|
||||
|
||||
if($this->name == null) {
|
||||
$res = $DBc->sqlQuery("SELECT * FROM ach_achievement_lang WHERE aal_lang='".$_CONF['default_lang']."' AND aal_achievement='".$this->id."'");
|
||||
$this->name = $res[0]['aal_name'];
|
||||
$this->template = $res[0]['aal_template'];
|
||||
}
|
||||
|
||||
$res = $DBc->sqlQuery("SELECT * FROM ach_task LEFT JOIN (ach_task_lang) ON (atl_lang='".$_USER->getLang()."' AND atl_task=at_id) LEFT JOIN (ach_player_task) ON (apt_task=at_id AND apt_player='".$_USER->getID()."') WHERE at_achievement='".$this->id."' ORDER by at_torder ASC");
|
||||
|
||||
$sz = sizeof($res);
|
||||
|
@ -89,6 +95,9 @@
|
|||
}
|
||||
else {
|
||||
$p = $this->parent->getChildDataByID($this->parent_id);
|
||||
if($p == null) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return ($p->hasOpen() == false);
|
||||
}
|
||||
|
@ -104,15 +113,81 @@
|
|||
}
|
||||
|
||||
function getTieRace() {
|
||||
return $this->tie_race;
|
||||
#return $this->tie_race;
|
||||
$iter = $this->nodes->getIterator();
|
||||
while($iter->hasNext()) {
|
||||
$curr = $iter->getNext();
|
||||
if($curr->hasTieRace()) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
function getTieCiv() {
|
||||
return $this->tie_civ;
|
||||
#return $this->tie_civ;
|
||||
$iter = $this->nodes->getIterator();
|
||||
while($iter->hasNext()) {
|
||||
$curr = $iter->getNext();
|
||||
if($curr->hasTieCiv()) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
function getTieCult() {
|
||||
return $this->tie_cult;
|
||||
#return $this->tie_cult;
|
||||
$iter = $this->nodes->getIterator();
|
||||
while($iter->hasNext()) {
|
||||
$curr = $iter->getNext();
|
||||
if($curr->hasTieCult()) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
function isTiedRace($r) {
|
||||
#return $this->tie_race;
|
||||
$iter = $this->nodes->getIterator();
|
||||
while($iter->hasNext()) {
|
||||
$curr = $iter->getNext();
|
||||
if($curr->isTiedRace($r)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
function isTiedCiv($c) {
|
||||
#return $this->tie_civ;
|
||||
$iter = $this->nodes->getIterator();
|
||||
while($iter->hasNext()) {
|
||||
$curr = $iter->getNext();
|
||||
if($curr->isTiedCiv($c)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
function isTiedCult($c) {
|
||||
#return $this->tie_cult;
|
||||
$iter = $this->nodes->getIterator();
|
||||
while($iter->hasNext()) {
|
||||
$curr = $iter->getNext();
|
||||
if($curr->isTiedCult($c)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
function getImage() {
|
||||
|
@ -177,5 +252,9 @@
|
|||
return $this->parent->isHeroic();
|
||||
}
|
||||
|
||||
function isContest() {
|
||||
return $this->parent->isContest();
|
||||
}
|
||||
|
||||
}
|
||||
?>
|
|
@ -12,7 +12,9 @@
|
|||
protected $ties_civ_dev;
|
||||
protected $cult;
|
||||
protected $civ;
|
||||
protected $race;
|
||||
protected $heroic;
|
||||
protected $contest;
|
||||
|
||||
function AchCategory($id,$race = null,$cult = null,$civ = null) {
|
||||
global $DBc,$_USER;
|
||||
|
@ -40,7 +42,7 @@
|
|||
|
||||
$this->id = $DBc->sqlEscape($id);
|
||||
|
||||
$res = $DBc->sqlQuery("SELECT * FROM ach_achievement LEFT JOIN (ach_achievement_lang) ON (aal_lang='".$_USER->getLang()."' AND aal_achievement=aa_id) WHERE aa_category='".$this->id."' AND (aa_tie_race IS NULL OR aa_tie_race LIKE '".$race."') AND (aa_tie_cult IS NULL OR aa_tie_cult LIKE '".$cult."') AND (aa_tie_civ IS NULL OR aa_tie_civ LIKE '".$civ."') ORDER by aa_sticky DESC, aal_name ASC");
|
||||
$res = $DBc->sqlQuery("SELECT * FROM ach_achievement LEFT JOIN (ach_achievement_lang) ON (aal_lang='".$_USER->getLang()."' AND aal_achievement=aa_id) WHERE aa_category='".$this->id."' ORDER by aa_sticky DESC, aal_name ASC");
|
||||
|
||||
$sz = sizeof($res);
|
||||
for($i=0;$i<$sz;$i++) {
|
||||
|
@ -54,11 +56,12 @@
|
|||
}
|
||||
}
|
||||
|
||||
$res = $DBc->sqlQuery("SELECT ac_heroic FROM ach_category WHERE ac_id='".$this->id."'");
|
||||
$res = $DBc->sqlQuery("SELECT ac_heroic,ac_contest FROM ach_category WHERE ac_id='".$this->id."'");
|
||||
$this->heroic = $res[0]['ac_heroic'];
|
||||
$this->contest = $res[0]['ac_contest'];
|
||||
|
||||
//load counts for tie determination
|
||||
$res = $DBc->sqlQuery("SELECT count(*) as anz FROM ach_achievement WHERE aa_tie_cult IS NOT NULL AND aa_category='".$this->id."' AND aa_dev='0'");
|
||||
/*$res = $DBc->sqlQuery("SELECT count(*) as anz FROM ach_achievement WHERE aa_tie_cult IS NOT NULL AND aa_category='".$this->id."' AND aa_dev='0'");
|
||||
$this->ties_cult = $res[0]['anz'];
|
||||
|
||||
$res = $DBc->sqlQuery("SELECT count(*) as anz FROM ach_achievement WHERE aa_tie_civ IS NOT NULL AND aa_category='".$this->id."' AND aa_dev='0'");
|
||||
|
@ -74,7 +77,40 @@
|
|||
$this->ties_cult_dev = $res[0]['anz'];
|
||||
|
||||
$res = $DBc->sqlQuery("SELECT count(*) as anz FROM ach_achievement WHERE aa_tie_civ IS NOT NULL AND aa_category='".$this->id."'");
|
||||
$this->ties_civ_dev = $res[0]['anz'];
|
||||
$this->ties_civ_dev = $res[0]['anz'];*/
|
||||
|
||||
$iter = $this->nodes->getIterator();
|
||||
$tmp = false;
|
||||
while($iter->hasNext()) {
|
||||
$curr = $iter->getNext();
|
||||
if($curr->getTieRace()) {
|
||||
$tmp = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
$this->ties_race = $tmp;
|
||||
|
||||
$iter = $this->nodes->getIterator();
|
||||
$tmp = false;
|
||||
while($iter->hasNext()) {
|
||||
$curr = $iter->getNext();
|
||||
if($curr->getTieCiv()) {
|
||||
$tmp = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
$this->ties_civ = $tmp;
|
||||
|
||||
$iter = $this->nodes->getIterator();
|
||||
$tmp = false;
|
||||
while($iter->hasNext()) {
|
||||
$curr = $iter->getNext();
|
||||
if($curr->getTieCult()) {
|
||||
$tmp = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
$this->ties_cult = $tmp;
|
||||
}
|
||||
|
||||
#@override Parentum::makeChild()
|
||||
|
@ -82,6 +118,10 @@
|
|||
return new AchAchievement($a,$this);
|
||||
}
|
||||
|
||||
function isTiedRace() {
|
||||
return ($this->ties_race > 0);
|
||||
}
|
||||
|
||||
function isTiedCult() {
|
||||
return ($this->ties_cult > 0);
|
||||
}
|
||||
|
@ -90,6 +130,10 @@
|
|||
return ($this->ties_civ > 0);
|
||||
}
|
||||
|
||||
function isTiedRaceDev() {
|
||||
return ($this->ties_race_dev > 0);
|
||||
}
|
||||
|
||||
function isTiedCultDev() {
|
||||
return ($this->ties_cult_dev > 0);
|
||||
}
|
||||
|
@ -106,8 +150,16 @@
|
|||
return $this->cult;
|
||||
}
|
||||
|
||||
function getCurrentRace() {
|
||||
return $this->race;
|
||||
}
|
||||
|
||||
function isHeroic() {
|
||||
return ($this->heroic == 1);
|
||||
}
|
||||
|
||||
function isContest() {
|
||||
return ($this->contest == 1);
|
||||
}
|
||||
}
|
||||
?>
|
|
@ -36,7 +36,7 @@
|
|||
protected $order;
|
||||
|
||||
function AchMenuNode($data,$parent) {
|
||||
global $DBc,$_USER;
|
||||
global $DBc,$_USER,$_CONF;
|
||||
|
||||
parent::__construct();
|
||||
|
||||
|
@ -49,6 +49,11 @@
|
|||
$this->open = ($this->id == $data['open']);
|
||||
$this->dev = $data['ac_dev'];
|
||||
|
||||
if($this->name == null) {
|
||||
$res = $DBc->sqlQuery("SELECT * FROM ach_category_lang WHERE acl_lang='".$_CONF['default_lang']."' AND acl_category='".$this->id."'");
|
||||
$this->name = $res[0]['acl_name'];
|
||||
}
|
||||
|
||||
$res = $DBc->sqlQuery("SELECT * FROM ach_category LEFT JOIN (ach_category_lang) ON (acl_lang='".$_USER->getLang()."' AND acl_category=ac_id) WHERE ac_parent='".$this->id."' ORDER by ac_order ASC, acl_name ASC");
|
||||
|
||||
$sz = sizeof($res);
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
$tmp['ac_id'] = 0;
|
||||
$tmp['ac_parent'] = null;
|
||||
$tmp['acl_name'] = get_translation('ach_summary',$_USER->getLang());
|
||||
$tmp['ac_image'] = "test.png";
|
||||
$tmp['ac_image'] = "summary.png";
|
||||
$tmp['ac_order'] = -1;
|
||||
$tmp['open'] = $open;
|
||||
$this->addChild(new AchMenuNode($tmp,$this));
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
protected $metalink;
|
||||
|
||||
function AchObjective($data,$parent) {
|
||||
global $DBc,$_USER;
|
||||
global $DBc,$_USER,$_CONF;
|
||||
|
||||
parent::__construct();
|
||||
|
||||
|
@ -28,6 +28,17 @@
|
|||
|
||||
if($this->metalink != null) {
|
||||
$this->name = $data['aal_name'];
|
||||
|
||||
if($this->name == null) {
|
||||
$res = $DBc->sqlQuery("SELECT * FROM ach_achievement_lang WHERE aal_lang='".$_CONF['default_lang']."' AND aal_achievement='".$this->metalink."'");
|
||||
$this->name = $res[0]['aal_name'];
|
||||
}
|
||||
}
|
||||
else {
|
||||
if($this->name == null) {
|
||||
$res = $DBc->sqlQuery("SELECT * FROM ach_objective_lang WHERE aol_lang='en' AND aol_objective='".$this->id."'");
|
||||
$this->name = $res[0]['aol_name'];
|
||||
}
|
||||
}
|
||||
|
||||
$this->progress = $this->value;
|
||||
|
|
|
@ -10,10 +10,14 @@
|
|||
|
||||
$this->menu = $menu;
|
||||
|
||||
#die("x:".$size);
|
||||
|
||||
//read all recent tasks of user
|
||||
//make distinct achievement list
|
||||
|
||||
$res = $DBc->sqlQuery("SELECT DISTINCT aa_id,ach.*,(SELECT aal_name FROM ach_achievement_lang WHERE aal_lang='".$_USER->getLang()."' AND aal_achievement=ach.aa_id) as aal_name, (SELECT aal_template FROM ach_achievement_lang WHERE aal_lang='".$_USER->getLang()."' AND aal_achievement=ach.aa_id) as aal_template FROM ach_achievement as ach,ach_task,ach_player_task WHERE at_achievement=aa_id AND apt_player='".$_USER->getID()."' AND apt_task=at_id ORDER by apt_date DESC LIMIT 0,".($size-1));
|
||||
$res = $DBc->sqlQuery("SELECT DISTINCT aa_id,ach.*,(SELECT aal_name FROM ach_achievement_lang WHERE aal_lang='".$_USER->getLang()."' AND aal_achievement=ach.aa_id) as aal_name, (SELECT aal_template FROM ach_achievement_lang WHERE aal_lang='".$_USER->getLang()."' AND aal_achievement=ach.aa_id) as aal_template FROM ach_achievement as ach,ach_task,ach_player_task WHERE at_achievement=aa_id AND apt_player='".$_USER->getID()."' AND apt_task=at_id ORDER by apt_date DESC LIMIT 0,".$size);
|
||||
|
||||
#echo var_export($res,true);
|
||||
|
||||
$sz = sizeof($res);
|
||||
for($i=0;$i<$sz;$i++) {
|
||||
|
@ -106,5 +110,9 @@
|
|||
function isHeroic() {
|
||||
return false;
|
||||
}
|
||||
|
||||
function isContest() {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
?>
|
|
@ -37,13 +37,16 @@
|
|||
protected $parent_id;
|
||||
protected $inherit_obj;
|
||||
private $heritage_list;
|
||||
protected $tie_race;
|
||||
protected $tie_cult;
|
||||
protected $tie_civ;
|
||||
|
||||
function AchTask($data,$parent) {
|
||||
global $DBc,$_USER;
|
||||
global $DBc,$_USER,$_CONF;
|
||||
|
||||
parent::__construct();
|
||||
|
||||
$this->heritage_list = array();
|
||||
#$this->heritage_list = array();
|
||||
|
||||
$this->setParent($parent);
|
||||
$this->setID($data['at_id']);
|
||||
|
@ -56,7 +59,18 @@
|
|||
$this->parent_id = $data['at_parent'];
|
||||
$this->inherit_obj = $data['at_inherit'];
|
||||
|
||||
#if($this->inherit_obj == 0) {
|
||||
if($this->inherit_obj == 1) {
|
||||
$this->heritage_list = new AVLTree();
|
||||
}
|
||||
else {
|
||||
$this->heritage_list = null;
|
||||
}
|
||||
|
||||
if($this->name == null) {
|
||||
$res = $DBc->sqlQuery("SELECT * FROM ach_task_lang WHERE atl_lang='".$_CONF['default_lang']."' AND atl_task='".$this->id."'");
|
||||
$this->name = $res[0]['atl_name'];
|
||||
$this->template = $res[0]['atl_template'];
|
||||
}
|
||||
|
||||
$res = $DBc->sqlQuery("SELECT * FROM ach_objective LEFT JOIN (ach_objective_lang) ON (aol_lang='".$_USER->getLang()."' AND aol_objective=ao_id) LEFT JOIN (ach_player_objective) ON (apo_objective=ao_id AND apo_player='".$_USER->getID()."') LEFT JOIN (ach_achievement,ach_achievement_lang) ON (aa_id=ao_metalink AND aa_id=aal_achievement AND aal_lang='".$_USER->getLang()."') WHERE ao_task='".$this->id."' ORDER by aol_name ASC,aal_name ASC");
|
||||
|
||||
|
@ -64,7 +78,31 @@
|
|||
for($i=0;$i<$sz;$i++) {
|
||||
$this->addChild($this->makeChild($res[$i]));
|
||||
}
|
||||
#}
|
||||
|
||||
//load ties
|
||||
$res = $DBc->sqlQuery("SELECT attr_race FROM ach_task_tie_race WHERE attr_task='".$this->id."'");
|
||||
$sz = sizeof($res);
|
||||
|
||||
$this->tie_race = array();
|
||||
for($i=0;$i<$sz;$i++) {
|
||||
$this->tie_race[] = $res[$i]['attr_race'];
|
||||
}
|
||||
|
||||
$res = $DBc->sqlQuery("SELECT attcult_cult FROM ach_task_tie_cult WHERE attcult_task='".$this->id."'");
|
||||
$sz = sizeof($res);
|
||||
|
||||
$this->tie_cult = array();
|
||||
for($i=0;$i<$sz;$i++) {
|
||||
$this->tie_cult[] = $res[$i]['attcult_cult'];
|
||||
}
|
||||
|
||||
$res = $DBc->sqlQuery("SELECT attciv_civ FROM ach_task_tie_civ WHERE attciv_task='".$this->id."'");
|
||||
$sz = sizeof($res);
|
||||
|
||||
$this->tie_civ = array();
|
||||
for($i=0;$i<$sz;$i++) {
|
||||
$this->tie_civ[] = $res[$i]['attciv_civ'];
|
||||
}
|
||||
}
|
||||
|
||||
function loadHeritage() {
|
||||
|
@ -79,7 +117,7 @@
|
|||
while($iter->hasNext()) {
|
||||
$curr = $iter->getNext();
|
||||
$this->addChild($curr);
|
||||
$this->heritage_list[] = $curr->getID();
|
||||
$this->heritage_list->insert($curr);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -93,7 +131,46 @@
|
|||
}
|
||||
|
||||
function isInherited($id) {
|
||||
return in_array($id,$this->heritage_list);
|
||||
if($this->getHeritage() == 0) {
|
||||
return false;
|
||||
}
|
||||
if($this->heritage_list == null) {
|
||||
return false;
|
||||
}
|
||||
return ($this->heritage_list->find($id) != null);
|
||||
}
|
||||
|
||||
function hasTieRace() {
|
||||
return (sizeof($this->tie_race) != 0);
|
||||
}
|
||||
|
||||
function hasTieCult() {
|
||||
return (sizeof($this->tie_cult) != 0);
|
||||
}
|
||||
|
||||
function hasTieCiv() {
|
||||
return (sizeof($this->tie_civ) != 0);
|
||||
}
|
||||
|
||||
function isTiedRace($r) {
|
||||
if(sizeof($this->tie_race) == 0) {
|
||||
return true;
|
||||
}
|
||||
return in_array($r,$this->race);
|
||||
}
|
||||
|
||||
function isTiedCult($c) {
|
||||
if(sizeof($this->tie_cult) == 0) {
|
||||
return true;
|
||||
}
|
||||
return in_array($c,$this->tie_cult);
|
||||
}
|
||||
|
||||
function isTiedCiv($c) {
|
||||
if(sizeof($this->tie_civ) == 0) {
|
||||
return true;
|
||||
}
|
||||
return in_array($c,$this->tie_civ);
|
||||
}
|
||||
|
||||
function getAchievement() {
|
||||
|
|
|
@ -83,7 +83,7 @@
|
|||
}
|
||||
|
||||
function removeNode($id) { // remove a node
|
||||
$this->avl->inorder();
|
||||
#$this->avl->inorder();
|
||||
|
||||
$n = $this->findNode($id);
|
||||
if($n != null) {
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
}
|
||||
|
||||
function getID() {
|
||||
return $this->data["cid"];
|
||||
return $this->data["id"];
|
||||
}
|
||||
|
||||
function getLang() {
|
||||
|
@ -35,7 +35,7 @@
|
|||
}
|
||||
|
||||
function getName() {
|
||||
return $this->data['name'];
|
||||
return $this->data['char_name'];
|
||||
}
|
||||
}
|
||||
?>
|
|
@ -5,11 +5,12 @@
|
|||
|
||||
$_CONF = array();
|
||||
|
||||
$_CONF['summary_size'] = 5;
|
||||
#$_CONF['default_lang'] = 'en';
|
||||
$_CONF['summary_size'] = 3;
|
||||
$_CONF['default_lang'] = 'en';
|
||||
$_CONF['enable_webig'] = true;
|
||||
$_CONF['enable_offgame'] = true;
|
||||
$_CONF['image_url'] = "http://www.3025-game.de/special/app_achievements/";
|
||||
$_CONF['image_cdate'] = 0; // timestamp to bybass image cache ingame
|
||||
|
||||
$_CONF['use_fb'] = false;
|
||||
$_CONF['fb_id'] = "447985781893176";
|
||||
|
|
BIN
code/web/app/app_achievements/favicon.ico
Normal file
After Width: | Height: | Size: 2.1 KiB |
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
function ach_render() {
|
||||
global $_USER;
|
||||
global $_USER,$_CONF;
|
||||
|
||||
$c = "<table>
|
||||
<tr>
|
||||
|
@ -25,7 +25,7 @@
|
|||
$cat = new AchCategory($open,$_REQUEST['cult'],$_REQUEST['civ']);
|
||||
}
|
||||
else {
|
||||
$cat = new AchSummary($menu,8);
|
||||
$cat = new AchSummary($menu,$_CONF['summary_size']);
|
||||
$c .= ach_render_summary_header();
|
||||
}
|
||||
|
||||
|
@ -110,9 +110,9 @@
|
|||
function ach_render_yubopoints() {
|
||||
global $DBc,$_USER,$_CONF;
|
||||
|
||||
$res = $DBc->sqlQuery("SELECT sum(at_value) as anz FROM ach_task,ach_player_task WHERE ap_id=apt_task AND apt_player='".$_USER->getID()."'");
|
||||
$res = $DBc->sqlQuery("SELECT sum(at_value) as anz FROM ach_task,ach_player_task WHERE at_id=apt_task AND apt_player='".$_USER->getID()."'");
|
||||
|
||||
$html = "<font size='32px'>".$_USER->getName()." <img src='".$_CONF['image_url']."pic/yubo_done.png'> ".max(0,$res[0]['anz'])."</font>";
|
||||
$html = "<font size='32px'>".$_USER->getName()." <img src='".$_CONF['image_url']."pic/yubo_done.png?cacheid=".$_CONF['image_cdate']."'> ".max(0,$res[0]['anz'])."</font>";
|
||||
|
||||
return $html;
|
||||
}
|
||||
|
@ -148,10 +148,10 @@
|
|||
|
||||
$html .= "<tr><td>";
|
||||
if($sub == 0) {
|
||||
$html .= "<img src='".$_CONF['image_url']."pic/menu/ig_".$curr->getImage()."' />";
|
||||
$html .= "<img src='".$_CONF['image_url']."pic/menu/ig_".$curr->getImage()."?cacheid=".$_CONF['image_cdate']."' />";
|
||||
}
|
||||
else {
|
||||
$html .= "<img src='".$_CONF['image_url']."pic/menu_space.png' />";
|
||||
$html .= "<img src='".$_CONF['image_url']."pic/menu_space.png?cacheid=".$_CONF['image_cdate']."' />";
|
||||
}
|
||||
$html .= "</td><td><a href='?lang=en&cat=".$curr->getID()."'><font size='".(16-$sub)."px'";
|
||||
if($curr->isOpen()) {
|
||||
|
@ -173,11 +173,12 @@
|
|||
}
|
||||
|
||||
function ach_render_category(&$cat) {
|
||||
#return "";
|
||||
global $_USER;
|
||||
|
||||
$html = "";
|
||||
|
||||
if($cat->isHeroic() && !$cat->hasDone()) {
|
||||
return "<center style='font-size:24px;'>You haven't earned any Heroic Deeds so far.</center>";
|
||||
return "<center style='font-size:24px;'>".get_translation('ach_no_heroic_deeds',$_USER->getLang())."</center>";
|
||||
}
|
||||
|
||||
if($cat->isTiedCult() || $cat->isTiedCiv()) {
|
||||
|
@ -220,13 +221,16 @@
|
|||
<td width='450px' bgcolor='#D2CBDC88'>
|
||||
<table width='450px' cellpadding='3px'>
|
||||
<tr>
|
||||
<td width='70px'><img src='".$_CONF['image_url']."pic/icon/".$ach->getImage()."'></td>
|
||||
<td width='70px'><img src='".$_CONF['image_url']."pic/icon/".$ach->getImage()."?cacheid=".$_CONF['image_cdate']."'></td>
|
||||
<td><center><font size='22px'><b>".$ach->getName()."</b></font></center>
|
||||
<table>".ach_render_task_done($ach)."</table>
|
||||
</td>
|
||||
<td width='35px'>";
|
||||
if(!$ach->isHeroic()) {
|
||||
$html .= "<font size='24px' color='#000000'>".$ach->getValueDone()."</font><br><img src='".$_CONF['image_url']."pic/yubo_done.png'>";
|
||||
if((!$ach->isHeroic() && !$ach->isContest()) && $ach->getValueDone() > 0) {
|
||||
$html .= "<font size='24px' color='#000000'>".$ach->getValueDone()."</font><br><img src='".$_CONF['image_url']."pic/yubo_done.png?cacheid=".$_CONF['image_cdate']."'>";
|
||||
}
|
||||
else {
|
||||
$html .= '<img src="'.$_CONF['image_url'].'pic/star_done.png?cacheid='.$_CONF['image_cdate'].'"><br>';
|
||||
}
|
||||
$html .= "</td>
|
||||
</tr>
|
||||
|
@ -248,11 +252,15 @@
|
|||
<td width='450px' bgcolor='#D2CBDC33'>
|
||||
<table width='450px' cellpadding='3px'>
|
||||
<tr>
|
||||
<td width='70px'><img src='".$_CONF['image_url']."pic/icon/grey/".$ach->getImage()."'></td>
|
||||
<td width='70px'><img src='".$_CONF['image_url']."pic/icon/grey/".$ach->getImage()."?cacheid=".$_CONF['image_cdate']."'></td>
|
||||
<td><center><font size='22px'><b>".$ach->getName()."</b></font></center>
|
||||
<table>".ach_render_task_open($ach)."</table>
|
||||
</td>
|
||||
<td width='35px'><font size='22px' color='#000000'>".$ach->getValueOpen()."</font><br><img src='".$_CONF['image_url']."pic/yubo_pending.png'></td>
|
||||
<td width='35px'>";
|
||||
if(!$ach->isHeroic() && !$ach->isContest()) {
|
||||
$html .= "<font size='22px' color='#000000'>".$ach->getValueOpen()."</font><br><img src='".$_CONF['image_url']."pic/yubo_pending.png?cacheid=".$_CONF['image_cdate']."'>";
|
||||
}
|
||||
$html .= "</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
|
@ -294,7 +302,11 @@
|
|||
if($task->inDev()) {
|
||||
continue;
|
||||
}
|
||||
$html .= "<tr><td><font color='#66CC00'><b>".$task->getDisplayName()."</b></font> ( ".date('d.m.Y',$task->getDone())." ) <img src='".$_CONF['image_url']."pic/yubo_done_small.png' /> ".$task->getValue()."</td></tr>";
|
||||
$html .= "<tr><td><font color='#66CC00'><b>".$task->getDisplayName()."</b></font><br>( ".date('d.m.Y',$task->getDone())." )";
|
||||
if($task->getValue() > 0) {
|
||||
$html .= " <img src='".$_CONF['image_url']."pic/yubo_done_small.png?cacheid=".$_CONF['image_cdate']."' /> ".$task->getValue();
|
||||
}
|
||||
$html .= "</td></tr>";
|
||||
}
|
||||
|
||||
return $html;
|
||||
|
@ -358,10 +370,10 @@
|
|||
|
||||
$html = "";
|
||||
if($obj->isdone()) {
|
||||
$html .= "<img src='".$_CONF['image_url']."pic/check.png' height='10px' /> <font color='#71BE02;'>";
|
||||
$html .= "<img src='".$_CONF['image_url']."pic/check.png?cacheid=".$_CONF['image_cdate']."' height='10px' /> <font color='#71BE02;'>";
|
||||
}
|
||||
else {
|
||||
$html .= "<img src='".$_CONF['image_url']."pic/pending.png' height='10px' /> <font color='#999999;'>";
|
||||
$html .= "<img src='".$_CONF['image_url']."pic/pending.png?cacheid=".$_CONF['image_cdate']."' height='10px' /> <font color='#999999;'>";
|
||||
}
|
||||
|
||||
$html .= $obj->getDisplayName()."</font>";
|
||||
|
@ -383,8 +395,9 @@
|
|||
|
||||
return "<table cellspacing='0' cellpadding='0'>
|
||||
<tr>
|
||||
<td><img src='".$_CONF['image_url']."pic/icon/".$grey."small/".$obj->getMetaImage()."' /></td>
|
||||
<td><font color='".$col."'> ".$obj->getDisplayName()."</font></td>
|
||||
<td><img src='".$_CONF['image_url']."pic/icon/".$grey."small/".$obj->getMetaImage()."?cacheid=".$_CONF['image_cdate']."' /></td>
|
||||
<td> </td>
|
||||
<td><font color='".$col."'>".$obj->getDisplayName()."</font></td>
|
||||
</tr>
|
||||
</table>";
|
||||
}
|
||||
|
@ -466,7 +479,7 @@
|
|||
$html .= "<tr>";
|
||||
}
|
||||
|
||||
$html .= "<td width='225px'>".$elem[0]."<br>";
|
||||
$html .= "<td width='225px'>".$elem[0];
|
||||
if($elem[3] == false) {
|
||||
$html .= ach_render_progressbar($elem[1],$elem[2],150);
|
||||
}
|
||||
|
@ -474,7 +487,7 @@
|
|||
$html .= ach_render_progressbar($elem[1],false,150);
|
||||
}
|
||||
|
||||
$html .= "</td>";
|
||||
$html .= "<br></td>";
|
||||
|
||||
$sum_done += $elem[1];
|
||||
$sum_total += $elem[2];
|
||||
|
@ -494,7 +507,7 @@
|
|||
<font size='30px' color='#FFFFFF'>".get_translation('ach_summary_stats',$_USER->getLang())."</font>
|
||||
<table width='450px'>
|
||||
<tr>
|
||||
<td width='450px'>".get_translation('ach_summary_stats_total',$_USER->getLang())."<br>".ach_render_progressbar($sum_done,$sum_total,350)."<br></td>
|
||||
<td width='450px'>".get_translation('ach_summary_stats_total',$_USER->getLang()).ach_render_progressbar($sum_done,$sum_total,350)."<br></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width='450px'><table width='450px'>".$html."</table></td>
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
function ach_render() {
|
||||
global $user;
|
||||
global $user,$_CONF;
|
||||
|
||||
$c = "<center><table>
|
||||
<tr>
|
||||
|
@ -34,7 +34,8 @@
|
|||
$cat = new AchCategory($open,null,$_REQUEST['cult'],$_REQUEST['civ']);
|
||||
}
|
||||
else {
|
||||
$cat = new AchSummary($menu,8);
|
||||
#die($_CONF['summary_size']);
|
||||
$cat = new AchSummary($menu,$_CONF['summary_size']);
|
||||
$c .= ach_render_summary_header();
|
||||
}
|
||||
|
||||
|
@ -133,6 +134,8 @@
|
|||
}
|
||||
|
||||
function ach_render_facebook() {
|
||||
return "";
|
||||
|
||||
return "<div id='auth-status'>
|
||||
<div id='auth-loggedout'>
|
||||
<a href='#' id='auth-loginlink'><img src='pic/f-connect.png' height='30px'></a>
|
||||
|
@ -164,6 +167,7 @@
|
|||
border:1px solid #000000;
|
||||
margin-bottom:2px;
|
||||
color:#FFFFFF;
|
||||
width:100%;
|
||||
}
|
||||
.ach_menu:hover {
|
||||
color:orange;
|
||||
|
@ -192,7 +196,7 @@
|
|||
$html .= "<span class='ach_mspan'><a href='?lang=en&cat=".$curr->getID()."'><table class='ach_menu'>
|
||||
<tr>";
|
||||
if($sub == 0) {
|
||||
$html .= "<td><img src='".$_CONF['image_url']."pic/menu/".$curr->getImage()."' /></td>";
|
||||
$html .= "<td style='width:32px;'><img src='".$_CONF['image_url']."pic/menu/".$curr->getImage()."' /></td>";
|
||||
}
|
||||
$html .= "<td style='font-size:".(20-$sub)."px;font-weight:bold;";
|
||||
if($curr->isOpen()) {
|
||||
|
@ -210,10 +214,11 @@
|
|||
}
|
||||
|
||||
function ach_render_category(&$cat) {
|
||||
global $_USER;
|
||||
$html = "";
|
||||
|
||||
if($cat->isHeroic() && !$cat->hasDone()) {
|
||||
return "<center style='font-size:24px;'>You haven't earned any Heroic Deeds so far.</center>";
|
||||
return "<center style='font-size:24px;'>".get_translation('ach_no_heroic_deeds',$_USER->getLang())."</center>";
|
||||
}
|
||||
|
||||
if($cat->isTiedCult() || $cat->isTiedCiv()) {
|
||||
|
@ -264,13 +269,16 @@
|
|||
<td rowspan="2" valign="top"><img src="'.$_CONF['image_url'].'pic/icon/'.$ach->getImage().'"></td>
|
||||
<td width="100%"><center><span style="font-weight:bold;font-size:24px;color:#000000;">'.$ach->getName().'</span></center></td>
|
||||
<td rowspan="2" valign="top" style="font-weight: bold; text-align: center; font-size: 30px;color:#000000;padding-right:10px;">';
|
||||
if(!$ach->isHeroic()) {
|
||||
if((!$ach->isHeroic() && !$ach->isContest()) && $ach->getValueDone() > 0) {
|
||||
$html .= $ach->getValueDone().'<br><img src="'.$_CONF['image_url'].'pic/yubo_done.png">';
|
||||
}
|
||||
else {
|
||||
$html .= '<img src="'.$_CONF['image_url'].'pic/star_done.png"><br> ';
|
||||
}
|
||||
$html .= '</td>
|
||||
</tr><tr><td align="center" valign="top">';
|
||||
</tr><tr><td align="center" valign="top"><table>';
|
||||
$html .= ach_render_task_done($ach);
|
||||
$html .= '</td></tr></tbody></table></center>
|
||||
$html .= '</table></td></tr></tbody></table></center>
|
||||
</td>
|
||||
<td style="background-image: url('.$_CONF['image_url'].'pic/bar_done_r.png);"></td>
|
||||
</tr>
|
||||
|
@ -300,9 +308,14 @@
|
|||
<tbody><tr>
|
||||
<td rowspan="2" valign="top"><img src="'.$_CONF['image_url'].'pic/icon/grey/'.$ach->getImage().'"></td>
|
||||
<td width="100%"><center><span style="font-weight:bold;font-size:24px;color:#FFFFFF;">'.$ach->getName().'</span></center></td>
|
||||
<td rowspan="2" valign="top" style="font-weight: bold; text-align: center; font-size: 30px;color:#FFFFFF;padding-right:10px;">
|
||||
'.$ach->getValueOpen().'<br><img src="'.$_CONF['image_url'].'pic/yubo_pending.png">
|
||||
</td>
|
||||
<td rowspan="2" valign="top" style="font-weight: bold; text-align: center; font-size: 30px;color:#FFFFFF;padding-right:10px;">';
|
||||
if(!$ach->isHeroic() && !$ach->isContest()) {
|
||||
$html .= $ach->getValueOpen().'<br><img src="'.$_CONF['image_url'].'pic/yubo_pending.png">';
|
||||
}
|
||||
else {
|
||||
$html .= '<img src="pic/star_pending.png">';
|
||||
}
|
||||
$html .= '</td>
|
||||
</tr><tr><td align="center" valign="top">';
|
||||
$html .= ach_render_task_open($ach);
|
||||
$html .= '</td></tr></tbody></table></center>
|
||||
|
@ -350,7 +363,11 @@
|
|||
if($task->inDev()) {
|
||||
continue;
|
||||
}
|
||||
$html .= "<div style='display:block;'><span style='color:#66CC00;font-weight:bold;'>".$task->getDisplayName()."</span> ( ".date('d.m.Y',$task->getDone())." ) <img src='".$_CONF['image_url']."pic/yubo_done.png' width='15px' /> ".$task->getValue()."</div>";
|
||||
$html .= "<tr><td><span style='color:#66CC00;font-weight:bold;'>".$task->getDisplayName()."</span></td><td>( ".date('d.m.Y',$task->getDone())." )</td>";
|
||||
if($task->getValue() > 0) {
|
||||
$html .= "<td><img src='".$_CONF['image_url']."pic/yubo_done.png' width='15px' /> ".$task->getValue()."</td>";
|
||||
}
|
||||
$html .= "</tr>";
|
||||
}
|
||||
|
||||
return $html;
|
||||
|
|
|
@ -5,18 +5,20 @@ ini_set("display_errors","1");
|
|||
|
||||
define('APP_NAME', 'app_achievements');
|
||||
|
||||
require_once('../webig/config.php');
|
||||
include_once('../webig/lang.php');
|
||||
require_once('../config.php');
|
||||
include_once('../lang.php');
|
||||
include_once('lang.php');
|
||||
require_once('conf.php');
|
||||
|
||||
// Ask to authenticate user (using ingame or session method) and fill $user with all information
|
||||
ryzom_app_authenticate($user, false);
|
||||
ryzom_app_authenticate($user, true);
|
||||
|
||||
#echo var_export($user,true);
|
||||
|
||||
#$user['id'] = $user['char_id'];
|
||||
#$user['name'] = $user['char_name'];
|
||||
|
||||
$user = array();
|
||||
/*$user = array();
|
||||
$user['cid'] = 1;
|
||||
$user['lang'] = 'en';
|
||||
$user['name'] = 'Talvela';
|
||||
|
@ -24,7 +26,7 @@ $user['race'] = "r_matis";
|
|||
$user['civilization'] = "c_neutral";
|
||||
$user['cult'] = "c_neutral";
|
||||
$user['ig'] = ($_REQUEST['ig']==1);
|
||||
#$user['ig'] = true;
|
||||
#$user['ig'] = true;*/
|
||||
|
||||
require_once("class/RyzomUser_class.php");
|
||||
$_USER = new RyzomUser($user);
|
||||
|
@ -55,15 +57,15 @@ require_once("class/AchAchievement_class.php");
|
|||
require_once("class/AchTask_class.php");
|
||||
require_once("class/AchObjective_class.php");
|
||||
|
||||
require_once("fb/facebook.php");
|
||||
#require_once("fb/facebook.php");
|
||||
|
||||
// Update user acces on Db
|
||||
$DBc = ryDB::getInstance(APP_NAME."_test");
|
||||
#$DBc = ryDB::getInstance(APP_NAME);
|
||||
#$DBc = ryDB::getInstance(APP_NAME."_test");
|
||||
$DBc = ryDB::getInstance(APP_NAME);
|
||||
|
||||
$c = "";
|
||||
if(!$_USER->isIG()) {
|
||||
$facebook = new Facebook(array(
|
||||
/*$facebook = new Facebook(array(
|
||||
'appId' => $_CONF['fb_id'],
|
||||
'secret' => $_CONF['fb_secret'],
|
||||
'cookie' => true
|
||||
|
@ -87,7 +89,7 @@ if(!$_USER->isIG()) {
|
|||
}
|
||||
else {
|
||||
$DBc->sqlQuery("INSERT INTO ach_fb_token (aft_player,aft_token,aft_date,aft_allow) VALUES ('".$_USER->getID()."','".$DBc->sqlEscape($facebook->getAccessToken())."','".time()."','1') ON DUPLICATE KEY UPDATE aft_token='".$DBc->sqlEscape($facebook->getAccessToken())."', aft_date='".time()."'");
|
||||
}
|
||||
}*/
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -1,88 +1,91 @@
|
|||
<?php
|
||||
|
||||
<?php // %2012-10-03T19:19:10+02:00
|
||||
$__texts = array (
|
||||
'ach_summary' =>
|
||||
array (
|
||||
'en' => 'Summary',
|
||||
'fr' => '',
|
||||
'de' => '',
|
||||
'ru' => '',
|
||||
'fr' => 'Résumé',
|
||||
'de' => 'Übersicht',
|
||||
'ru' => 'Резюме',
|
||||
),
|
||||
'ach_summary_header' =>
|
||||
array (
|
||||
'en' => 'Recent Achievements',
|
||||
'fr' => '',
|
||||
'de' => '',
|
||||
'ru' => '',
|
||||
'fr' => 'Derniers Accomplissements',
|
||||
'de' => 'Aktuelle Erfolge',
|
||||
'ru' => 'недавние достижения',
|
||||
),
|
||||
'ach_summary_stats' =>
|
||||
array (
|
||||
'en' => 'Statistics',
|
||||
'fr' => '',
|
||||
'de' => '',
|
||||
'fr' => 'Statistiques',
|
||||
'de' => 'Statistik',
|
||||
'ru' => '',
|
||||
),
|
||||
'ach_summary_stats_total' =>
|
||||
array (
|
||||
'en' => 'Total',
|
||||
'fr' => '',
|
||||
'de' => '',
|
||||
'fr' => 'Total',
|
||||
'de' => 'Gesamt',
|
||||
'ru' => '',
|
||||
),
|
||||
'ach_c_neutral' =>
|
||||
array (
|
||||
'en' => 'neutral',
|
||||
'fr' => '',
|
||||
'de' => '',
|
||||
'en' => 'Neutral',
|
||||
'fr' => 'Neutre',
|
||||
'de' => 'Neutral',
|
||||
'ru' => '',
|
||||
),
|
||||
'ach_allegiance_neutral_cult' =>
|
||||
array (
|
||||
'en' => 'While being of %s allegiance with the higher powers',
|
||||
'fr' => '',
|
||||
'fr' => 'En ayant %s de renommée avec les puissances',
|
||||
'de' => '',
|
||||
'ru' => '',
|
||||
),
|
||||
'ach_allegiance_neutral_civ' =>
|
||||
array (
|
||||
'en' => 'While being of %s allegiance with the homin civilizations',
|
||||
'fr' => '',
|
||||
'fr' => 'En ayant %s de renommée avec les nations homines',
|
||||
'de' => '',
|
||||
'ru' => '',
|
||||
),
|
||||
'ach_allegiance_neutral' =>
|
||||
array (
|
||||
'en' => 'While being of %s allegiance',
|
||||
'fr' => '',
|
||||
'fr' => 'En ayant %s de renommée',
|
||||
'de' => '',
|
||||
'ru' => '',
|
||||
),
|
||||
'ach_allegiance_start' =>
|
||||
array (
|
||||
'en' => 'While being aligned with the ',
|
||||
'fr' => '',
|
||||
'fr' => 'En appartenant à',
|
||||
'de' => '',
|
||||
'ru' => '',
|
||||
),
|
||||
'ach_allegiance_and' =>
|
||||
array (
|
||||
'en' => ' and the ',
|
||||
'fr' => '',
|
||||
'fr' => ' et le',
|
||||
'de' => '',
|
||||
'ru' => '',
|
||||
),
|
||||
'ach_allegiance_end' =>
|
||||
array (
|
||||
'en' => ', accomplish the following achievements:',
|
||||
'fr' => '',
|
||||
'de' => '',
|
||||
'fr' => ', effectuez les accomplissements suivants : ',
|
||||
'de' => ', erfüllen die folgenden Leistungen: ',
|
||||
'ru' => '',
|
||||
),
|
||||
'ach_no_heroic_deeds' =>
|
||||
array (
|
||||
'en' => 'You haven\'t earned any Heroic Deeds so far.',
|
||||
'fr' => 'Vous n\'avez gagné aucun acte héroïque jusqu\'à présent.',
|
||||
'de' => 'Du hast noch keine Heldentaten vollbracht.',
|
||||
'ru' => '',
|
||||
),
|
||||
);
|
||||
|
||||
|
||||
if(isset($ryzom_texts))
|
||||
$ryzom_texts = array_merge ($__texts, $ryzom_texts);
|
||||
else
|
||||
$ryzom_texts = $__texts;
|
||||
?>
|
Before Width: | Height: | Size: 60 KiB After Width: | Height: | Size: 60 KiB |
Before Width: | Height: | Size: 71 KiB After Width: | Height: | Size: 69 KiB |
Before Width: | Height: | Size: 60 KiB After Width: | Height: | Size: 59 KiB |
Before Width: | Height: | Size: 2.4 KiB After Width: | Height: | Size: 51 KiB |
BIN
code/web/app/app_achievements/pic/star_done.png
Normal file
After Width: | Height: | Size: 3.5 KiB |
|
@ -101,7 +101,7 @@
|
|||
function update() {
|
||||
global $DBc;
|
||||
|
||||
$DBc->sqlQuery("UPDATE ach_achievement SET aa_category='".$this->getCategory()."',aa_parent=".mkn($this->getParentID()).",aa_tie_race=".mkn($this->getTieRace()).",aa_tie_cult=".mkn($this->getTieCult()).",aa_tie_civ=".mkn($this->getTieCiv()).",aa_image='".$DBc->sqlEscape($this->getImage())."',aa_dev='".$this->getDev()."',aa_sticky='".$DBc->sqlEscape($this->getSticky())."' WHERE aa_id='".$this->getID()."'");
|
||||
$DBc->sqlQuery("UPDATE ach_achievement SET aa_category='".$this->getCategory()."',aa_parent=".mkn($this->getParentID()).",aa_image='".$DBc->sqlEscape($this->getImage())."',aa_dev='".$this->getDev()."',aa_sticky='".$DBc->sqlEscape($this->getSticky())."' WHERE aa_id='".$this->getID()."'");
|
||||
|
||||
#MISSING: update lang entry
|
||||
$DBc->sqlQuery("INSERT INTO ach_achievement_lang (aal_achievement,aal_lang,aal_name,aal_template) VALUES ('".$this->getID()."','en','".$DBc->sqlEscape($this->getName())."',".mkn($this->getTemplate()).") ON DUPLICATE KEY UPDATE aal_name='".$DBc->sqlEscape($this->getName())."',aal_template=".mkn($this->getTemplate())."");
|
||||
|
@ -112,7 +112,7 @@
|
|||
|
||||
$this->dev = 1;
|
||||
|
||||
$DBc->sqlQuery("INSERT INTO ach_achievement (aa_category,aa_parent,aa_tie_race,aa_tie_cult,aa_tie_civ,aa_image,aa_dev,aa_sticky) VALUES ('".$this->getCategory()."',".mkn($this->getParentID()).",".mkn($this->getTieRace()).",".mkn($this->getTieCult()).",".mkn($this->getTieCiv()).",'".$DBc->sqlEscape($this->getImage())."','1','".$DBc->sqlEscape($this->getSticky())."')");
|
||||
$DBc->sqlQuery("INSERT INTO ach_achievement (aa_category,aa_parent,aa_image,aa_dev,aa_sticky) VALUES ('".$this->getCategory()."',".mkn($this->getParentID()).",'".$DBc->sqlEscape($this->getImage())."','1','".$DBc->sqlEscape($this->getSticky())."')");
|
||||
$id = $DBc->insertID();
|
||||
$this->setID($id);
|
||||
|
||||
|
|
|
@ -312,9 +312,9 @@ function '.$func.'('.$match[2][$key].',$_P,$_CB) {
|
|||
|
||||
#CACHE ([^ ]+) AS ([$][^ ]+);#
|
||||
$match = array();
|
||||
preg_match_all("#CACHE ([^ ]+) AS ([$][^ ]+);#",$this->ruleset,$match);
|
||||
preg_match_all("#CACHE ([^ ]+) AS ([$][^;]+);#",$this->ruleset,$match);
|
||||
foreach($match[0] as $key=>$elem) {
|
||||
$tmp = $match[2][$key].' = $_CACHE->getData('.$match[1][$key].');';
|
||||
$tmp = $match[2][$key].' = $_CACHE->getData(\''.$match[1][$key].'\');';
|
||||
|
||||
//replace
|
||||
$res = str_replace($elem,$tmp,$res);
|
||||
|
@ -322,9 +322,9 @@ function '.$func.'('.$match[2][$key].',$_P,$_CB) {
|
|||
|
||||
#CACHE ([^ ]+) SET ([$][^ ]+);#
|
||||
$match = array();
|
||||
preg_match_all("#CACHE ([^ ]+) SET ([$][^ ]+);#",$this->ruleset,$match);
|
||||
preg_match_all("#CACHE ([^ ]+) SET ([$][^;]+);#",$this->ruleset,$match);
|
||||
foreach($match[0] as $key=>$elem) {
|
||||
$tmp = '$_CACHE->writeData('.$match[1][$key].','.$match[2][$key].');';
|
||||
$tmp = '$_CACHE->writeData(\''.$match[1][$key].'\','.$match[2][$key].');';
|
||||
|
||||
//replace
|
||||
$res = str_replace($elem,$tmp,$res);
|
||||
|
@ -332,7 +332,7 @@ function '.$func.'('.$match[2][$key].',$_P,$_CB) {
|
|||
|
||||
#SCRIPT ([^ ]+) AS ([$][^ ]+);#
|
||||
$match = array();
|
||||
preg_match_all("#SCRIPT ([^\(]+)\(([^\)]*)\) AS ([$][^ ]+);#",$this->ruleset,$match);
|
||||
preg_match_all("#SCRIPT ([^\(]+)\(([^\)]*)\) AS ([$][^;]+);#",$this->ruleset,$match);
|
||||
foreach($match[0] as $key=>$elem) {
|
||||
$tmp = '@include_once("script/'.$match[1][$key].'_script.php");
|
||||
'.$match[3][$key].' = '.$match[1][$key].'('.$match[2][$key].');';
|
||||
|
|
|
@ -65,5 +65,22 @@
|
|||
$n->insert();
|
||||
$this->addOpen($n);
|
||||
}
|
||||
|
||||
function setLang($lang,$txt) {
|
||||
global $DBc;
|
||||
|
||||
$DBc->sqlQuery("INSERT INTO ach_category_lang (acl_category,acl_lang,acl_name) VALUES ('".$this->getID()."','".$DBc->sqlEscape($lang)."','".$DBc->sqlEscape($txt)."') ON DUPLICATE KEY UPDATE acl_name='".$DBc->sqlEscape($txt)."'");
|
||||
}
|
||||
|
||||
function getLang($lang) {
|
||||
global $DBc;
|
||||
|
||||
$res = $DBc->sqlQuery("SELECT acl_name FROM ach_category_lang WHERE acl_category='".$this->getID()."' AND acl_lang='".$DBc->sqlEscape($lang)."'");
|
||||
return $res[0]['acl_name'];
|
||||
}
|
||||
|
||||
function update() {
|
||||
global $DBc;
|
||||
}
|
||||
}
|
||||
?>
|
|
@ -83,7 +83,7 @@
|
|||
function setLang($lang,$txt) { // write language
|
||||
global $DBc,$_USER;
|
||||
|
||||
$DBc->sqlQuery("INSERT INTO ach_objective_lang (aol_task,aol_lang,aol_name) VALUES ('".$this->getID()."','".$DBc->sqlEscape($lang)."','".$DBc->sqlEscape($txt)."') ON DUPLICATE KEY UPDATE aol_name='".$DBc->sqlEscape($txt)."'");
|
||||
$DBc->sqlQuery("INSERT INTO ach_objective_lang (aol_objective,aol_lang,aol_name) VALUES ('".$this->getID()."','".$DBc->sqlEscape($lang)."','".$DBc->sqlEscape($txt)."') ON DUPLICATE KEY UPDATE aol_name='".$DBc->sqlEscape($txt)."'");
|
||||
|
||||
if($_USER->getLang() == $lang) {
|
||||
$this->name = $txt;
|
||||
|
|
|
@ -83,7 +83,7 @@
|
|||
function setLang($lang,$txt,$tpl) { // write language
|
||||
global $DBc,$_USER;
|
||||
|
||||
$DBc->sqlQuery("INSERT INTO ach_task_lang (atl_task,atl_lang,atl_name,atl_template) VALUES ('".$this->getID()."','".$DBc->sqlEscape($lang)."','".$DBc->sqlEscape($txt)."',".mkn($tpl).") ON DUPLICATE KEY UPDATE apl_name='".$DBc->sqlEscape($txt)."',apl_template=".mkn($tpl)."");
|
||||
$DBc->sqlQuery("INSERT INTO ach_task_lang (atl_task,atl_lang,atl_name,atl_template) VALUES ('".$this->getID()."','".$DBc->sqlEscape($lang)."','".$DBc->sqlEscape($txt)."',".mkn($tpl).") ON DUPLICATE KEY UPDATE atl_name='".$DBc->sqlEscape($txt)."',atl_template=".mkn($tpl)."");
|
||||
|
||||
if($_USER->getLang() == $lang) {
|
||||
$this->name = $txt;
|
||||
|
|
|
@ -12,10 +12,10 @@
|
|||
$_CONF['enable_CSR'] = true;
|
||||
$_CONF['enable_ADM'] = true;
|
||||
|
||||
$_CONF['char_mysql_server'] = "localhost";
|
||||
/*$_CONF['char_mysql_server'] = "localhost";
|
||||
$_CONF['char_mysql_user'] = "root";
|
||||
$_CONF['char_mysql_pass'] = "";
|
||||
$_CONF['char_mysql_database'] = "app_achievements";
|
||||
$_CONF['char_mysql_database'] = "app_achievements";*/
|
||||
|
||||
$_CONF['langs'] = array('en','de','fr','es','ru');
|
||||
?>
|
|
@ -544,7 +544,7 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td class='bw'>condition value:</td>
|
||||
<td><input type='text' name='ap_condition_value' value='".htmlspecialchars($task->getConditionValue(),ENT_QUOTES)."' /></td>
|
||||
<td><input type='text' name='at_condition_value' value='".htmlspecialchars($task->getConditionValue(),ENT_QUOTES)."' /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan='2'><input type='submit' value='save' /></td>
|
||||
|
|
|
@ -23,6 +23,8 @@
|
|||
function adm_render_mnode(&$menu,$sub) {
|
||||
global $_CONF;
|
||||
|
||||
$html = "";
|
||||
|
||||
$iter = $menu->getIterator();
|
||||
while($iter->hasNext()) {
|
||||
$curr = $iter->getNext();
|
||||
|
@ -182,7 +184,7 @@ function catchTab(item,e){
|
|||
while($obj->hasNext()) {
|
||||
$elem = $obj->getNext();
|
||||
|
||||
if($task->isInherited($elem->getID())) {
|
||||
if($task->isInherited($elem->getID()) || $elem->getDisplay() == "meta") {
|
||||
continue;
|
||||
}
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
function is_user($id) {
|
||||
global $DBc_char;
|
||||
|
||||
$res = $DBc_char->sendSQL("SELECT count(*) as anz FROM characters WHERE char_id='".mysql_real_escape_string($id)."'","ARRAY");
|
||||
$res = $DBc_char->sqlQuery("SELECT count(*) as anz FROM players WHERE id='".$DBc_char->sqlEscape($id)."'");
|
||||
|
||||
if($res[0]['anz'] > 0) {
|
||||
return true;
|
||||
|
@ -10,6 +10,14 @@
|
|||
return false;
|
||||
}
|
||||
|
||||
function user_get_name($id) {
|
||||
global $DBc_char;
|
||||
|
||||
$res = $DBc_char->sqlQuery("SELECT name FROM players WHERE id='".$DBc_char->sqlEscape($id)."'");
|
||||
|
||||
return $res[0]['name'];
|
||||
}
|
||||
|
||||
function csr_render_yubopoints() {
|
||||
global $DBc,$_USER,$_CONF;
|
||||
|
||||
|
@ -41,7 +49,7 @@
|
|||
if($_REQUEST['pname'] != "") {
|
||||
$html .= "<div style='display:block;color:#000000;background-color:#FFFFFF;margin-top:5px;'>";
|
||||
|
||||
$res = $DBc_char->sendSQL("SELECT char_id,char_name FROM characters WHERE char_name LIKE '".mysql_real_escape_string($_REQUEST['pname'])."%'","ARRAY");
|
||||
$res = $DBc_char->sqlQuery("SELECT * FROM players WHERE (name LIKE '".$DBc_char->sqlEscape(strtolower($_REQUEST['pname']))."%' OR id='".$DBc_char->sqlEscape(strtolower($_REQUEST['pname']))."') AND deleted='0' LIMIT 0,100");
|
||||
$sz = sizeof($res);
|
||||
|
||||
if($sz == 0) {
|
||||
|
@ -60,7 +68,7 @@
|
|||
$html .= "</tr><tr>";
|
||||
}
|
||||
|
||||
$html .= "<td><a href='?mode=player&pid=".$res[$i]['char_id']."'><b>".$res[$i]['char_name']."</b></a></td>";
|
||||
$html .= "<td><a href='?mode=player&pid=".$res[$i]['id']."'><b>".$res[$i]['name']."</b></a></td>";
|
||||
}
|
||||
|
||||
$html .= "</tr></table>";
|
||||
|
@ -248,7 +256,7 @@
|
|||
$html .= "<span style='color:#999999;font-weight:bold;display:block;'>";
|
||||
|
||||
if($task->getName() != null) {
|
||||
$html .= $task->getName();
|
||||
$html .= $task->getDisplayName();
|
||||
}
|
||||
else {
|
||||
$html .= "[untitled]";
|
||||
|
@ -273,7 +281,7 @@
|
|||
if($task->inDev()) {
|
||||
continue;
|
||||
}
|
||||
$html .= "<div style='display:block;'><span style='color:#66CC00;font-weight:bold;'>".$task->getName()."</span> ( ".date('d.m.Y',$task->getDone())." ) <img src='".$_CONF['image_url']."pic/yubo_done.png' width='15px' /> ".$task->getValue()." <a href='?mode=player&pid=".$_REQUEST['pid']."&cat=".$_REQUEST['cat']."&deny=".$task->getPath()."'>Task: deny</a></div>";
|
||||
$html .= "<div style='display:block;'><span style='color:#66CC00;font-weight:bold;'>".$task->getDisplayName()."</span> ( ".date('d.m.Y',$task->getDone())." ) <img src='".$_CONF['image_url']."pic/yubo_done.png' width='15px' /> ".$task->getValue()." <a href='?mode=player&pid=".$_REQUEST['pid']."&cat=".$_REQUEST['cat']."&deny=".$task->getPath()."'>Task: deny</a></div>";
|
||||
}
|
||||
|
||||
return $html;
|
||||
|
@ -343,7 +351,7 @@
|
|||
$html .= "<img src='".$_CONF['image_url']."pic/pending.png' height='10px' /> <span style='color:#999999;'>";
|
||||
}
|
||||
|
||||
$html .= $obj->getName();
|
||||
$html .= $obj->getDisplayName();
|
||||
if($obj->isdone()) {
|
||||
$html .= " <a href='?mode=player&pid=".$_REQUEST['pid']."&cat=".$_REQUEST['cat']."&deny=".$obj->getPath()."'>Obj: deny</a>";
|
||||
}
|
||||
|
@ -370,7 +378,7 @@
|
|||
$html .= "<table cellspacing='0' cellpadding='0'>
|
||||
<tr>
|
||||
<td><img src='".$_CONF['image_url']."pic/icon/".$grey.$obj->getMetaImage()."' width='20px' /></td>
|
||||
<td valign='middle'><span style='color:".$col.";'> ".$obj->getName();
|
||||
<td valign='middle'><span style='color:".$col.";'> ".$obj->getDisplayName();
|
||||
if($obj->isdone()) {
|
||||
$html .= " <a href='?mode=player&pid=".$_REQUEST['pid']."&cat=".$_REQUEST['cat']."&deny=".$obj->getPath()."'>Obj: deny</a>";
|
||||
}
|
||||
|
@ -393,7 +401,7 @@
|
|||
else {
|
||||
$col = "#999999";
|
||||
}
|
||||
$html .= "<div style='color:".$col.";display:block;'>".$obj->getName()."</div>";
|
||||
$html .= "<div style='color:".$col.";display:block;'>".$obj->getDisplayName()."</div>";
|
||||
}
|
||||
|
||||
$html .= "<table>
|
||||
|
|
|
@ -38,9 +38,17 @@
|
|||
if($curr->isOpen()) {
|
||||
$html .= "color:orange;";
|
||||
}
|
||||
$html .= "'>".$curr->getName()."</td>
|
||||
$html .= "'>";
|
||||
if($curr->inDev()) {
|
||||
$html .= "<s>".$curr->getName()."</s>";
|
||||
}
|
||||
else {
|
||||
$html .= $curr->getName();
|
||||
}
|
||||
$html .= "</td>
|
||||
</tr>
|
||||
</table></a></span>";
|
||||
|
||||
if($curr->hasOpenCat() != 0) {
|
||||
$html .= "<div style='display:block;margin-left:25px;'>".adm_render_mnode($curr,($sub+4))."</div>";
|
||||
}
|
||||
|
@ -50,6 +58,8 @@
|
|||
}
|
||||
|
||||
function atom_render_category(&$cat) {
|
||||
global $_CONF;
|
||||
|
||||
$html = "<style>
|
||||
.bar {
|
||||
background-color:#FFFFFF;
|
||||
|
@ -65,6 +75,30 @@
|
|||
}
|
||||
</style>";
|
||||
|
||||
|
||||
$html .= "<div style='display: block; margin-bottom: 5px;'>
|
||||
<div style='display:block;font-size:22px;' class='bar'>Category:<form method='post' action='?mode=lang&cat=".$_REQUEST['cat']."&act=cat_save&id=".$cat->getID()."'>
|
||||
<table>
|
||||
<tr>
|
||||
<td> </td>
|
||||
<td style='color:#454545;'>name</td>
|
||||
</tr>";
|
||||
|
||||
foreach($_CONF['langs'] as $elem) {
|
||||
|
||||
$html .= "<tr>
|
||||
<td style='color:#454545;'>".$elem."</td>
|
||||
<td><input type='text' name='c_name[".$elem."]' style='width:270px;' value='".htmlspecialchars($cat->getLang($elem),ENT_QUOTES)."' /></td>
|
||||
</tr>";
|
||||
}
|
||||
|
||||
$html .= "<tr>
|
||||
<td> </td>
|
||||
<td colspan='2'><input type='submit' value='save' /></td>
|
||||
</tr>
|
||||
</table>
|
||||
</form></div></div>";
|
||||
|
||||
$iter = $cat->getOpen();
|
||||
while($iter->hasNext()) {
|
||||
$curr = $iter->getNext();
|
||||
|
@ -86,10 +120,10 @@
|
|||
}
|
||||
|
||||
$html = "<div style='display: block; margin-bottom: 5px;'>
|
||||
<div style='display:block;font-size:22px;' class='bar'><a href='javascript:hs(\"ach_".$ach->getID()."\",\"block\");'>[+]</a> ".$ach->getName()." <span style='font-size:12px;'>(ties= race: ".$ach->getTieRace()."; civ: ".$ach->getTieCiv()."; cult: ".$ach->getTieCult().")</span>
|
||||
<div style='display:block;font-size:22px;' class='bar'><a name='jach_".$ach->getID()."'></a><a href='javascript:hs(\"ach_".$ach->getID()."\",\"block\");'>[+]</a> ".$ach->getName()."</span>
|
||||
|
||||
<div style='margin-left:35px;'>
|
||||
<form method='post' action='?mode=lang&cat=".$_REQUEST['cat']."&act=ach_save&id=".$ach->getPathID()."'>
|
||||
<form method='post' action='?mode=lang&cat=".$_REQUEST['cat']."&act=ach_save&id=".$ach->getPathID()."#jach_".$ach->getID()."'>
|
||||
<table>
|
||||
<tr>
|
||||
<td> </td>
|
||||
|
@ -139,11 +173,15 @@
|
|||
$o = "block";
|
||||
}
|
||||
|
||||
$tmp = $task->getLang('en');
|
||||
|
||||
if($tmp[0] != "" || $tmp[1] != '') {
|
||||
|
||||
$html .= "<div style='display: block; margin-bottom: 5px;'>
|
||||
<div style='display:block;font-size:16px;' class='bar'><a href='javascript:hs(\"task_".$task->getID()."\",\"block\");'>[+]</a> ".$task->getDisplayName()."
|
||||
<div style='display:block;font-size:16px;' class='bar'><a name='jtask_".$task->getID()."'></a><a href='javascript:hs(\"task_".$task->getID()."\",\"block\");'>[+]</a> ".$task->getDisplayName()."
|
||||
|
||||
<div style='margin-left:35px;'>
|
||||
<form method='post' action='?mode=lang&cat=".$_REQUEST['cat']."&act=task_save&id=".$task->getPathID()."'>
|
||||
<form method='post' action='?mode=lang&cat=".$_REQUEST['cat']."&act=task_save&id=".$task->getPathID()."#jtask_".$task->getID()."'>
|
||||
<table>
|
||||
<tr>
|
||||
<td> </td>
|
||||
|
@ -173,6 +211,10 @@
|
|||
<div style='margin-left:25px;display:".$o.";' id='task_".$task->getID()."'>".ach_render_obj_list($task->getIterator(),$task)."</div>
|
||||
</div>";
|
||||
}
|
||||
else {
|
||||
$html .= "<div style='display: block; margin-bottom: 5px;'><div style='margin-left:25px;display:block;' id='task_".$task->getID()."'>".ach_render_obj_list($task->getIterator(),$task)."</div></div>";
|
||||
}
|
||||
}
|
||||
|
||||
return $html;
|
||||
}
|
||||
|
@ -186,17 +228,17 @@
|
|||
while($obj->hasNext()) {
|
||||
$elem = $obj->getNext();
|
||||
|
||||
if($task->isInherited($elem->getID())) {
|
||||
if($task->isInherited($elem->getID()) || $elem->getDisplay() == 'hidden' || $elem->getDisplay() == "meta" || $elem->getLang('en') == "") {
|
||||
continue;
|
||||
}
|
||||
|
||||
|
||||
|
||||
$html .= "<div style='display: block; margin-bottom: 5px;'>
|
||||
<div style='display:block;' class='bar'> ".$elem->getDisplayName()."</span>
|
||||
<div style='display:block;' class='bar'><a name='jobj_".$elem->getID()."'></a> ".$elem->getDisplayName()."</span>
|
||||
|
||||
<div style='margin-left:35px;'>
|
||||
<form method='post' action='?mode=lang&cat=".$_REQUEST['cat']."&act=obj_save&id=".$elem->getPathID()."'>
|
||||
<form method='post' action='?mode=lang&cat=".$_REQUEST['cat']."&act=obj_save&id=".$elem->getPathID()."#jobj_".$elem->getID()."'>
|
||||
<table>
|
||||
<tr>
|
||||
<td> </td>
|
||||
|
@ -208,7 +250,7 @@
|
|||
|
||||
$html .= "<tr>
|
||||
<td style='color:#454545;'>".$lang."</td>
|
||||
<td><input type='text' name='' style='width:246px;' value='".htmlspecialchars($tmp,ENT_QUOTES)."' /></td>
|
||||
<td><input type='text' name='o_name[".$lang."]' style='width:246px;' value='".htmlspecialchars($tmp,ENT_QUOTES)."' /></td>
|
||||
</tr>";
|
||||
}
|
||||
|
||||
|
|
|
@ -0,0 +1,24 @@
|
|||
<?php
|
||||
function stats_render() {
|
||||
global $DBc;
|
||||
|
||||
$html = "";
|
||||
|
||||
$res = $DBc->sqlQuery("SELECT SUM(sp_money) as all_money, AVG(sp_money) as avg_money, COUNT(*) as playercount FROM app_achievements.stat_players as s, webig.players as p, ring_live.characters as c, nel.user as n WHERE s.sp_char = p.id AND p.cid = c.char_id AND c.user_id = n.uid AND n.privilege=''");
|
||||
|
||||
$html .= "<b>Total characters</b>: ".nf($res[0]['playercount'])."<p>";
|
||||
|
||||
#$res = $DBc->sqlQuery("SELECT SUM(sp_money) as anz FROM stat_players");
|
||||
$html .= "<b>Total money</b>: ".nf($res[0]['all_money'])."<p>";
|
||||
|
||||
#$res = $DBc->sqlQuery("SELECT AVG(sp_money) as anz FROM stat_players");
|
||||
$html .= "<b>Average money</b>: ".nf($res[0]['avg_money'])."<p>";
|
||||
|
||||
$res = $DBc->sqlQuery("SELECT sp_money FROM app_achievements.stat_players as s, webig.players as p, ring_live.characters as c, nel.user as n WHERE s.sp_char = p.id AND p.cid = c.char_id AND c.user_id = n.uid AND n.privilege='' ORDER by sp_money ASC LIMIT ".floor($res[0]['playercount']/2).",1");
|
||||
$html .= "<b>Mean money</b>: ".nf($res[0]['sp_money'])."<p>";
|
||||
|
||||
|
||||
|
||||
return $html;
|
||||
}
|
||||
?>
|
|
@ -8,22 +8,24 @@ ini_set("display_errors","1");
|
|||
|
||||
define('APP_NAME', 'app_achievements_admin');
|
||||
|
||||
require_once('../webig/config.php');
|
||||
include_once('../webig/lang.php');
|
||||
require_once('../config.php');
|
||||
include_once('../lang.php');
|
||||
include_once('lang.php');
|
||||
require_once('conf.php');
|
||||
|
||||
// Ask to authenticate user (using ingame or session method) and fill $user with all information
|
||||
ryzom_app_authenticate($user, false);
|
||||
ryzom_app_authenticate($user, true);
|
||||
|
||||
$user = array();
|
||||
#echo var_export($user,true);
|
||||
|
||||
/*$user = array();
|
||||
$user['id'] = 1;
|
||||
$user['lang'] = 'en';
|
||||
$user['name'] = 'Talvela';
|
||||
$user['race'] = "r_matis";
|
||||
$user['civilization'] = "c_neutral";
|
||||
$user['cult'] = "c_neutral";
|
||||
$user['admin'] = true;
|
||||
$user['admin'] = true;*/
|
||||
|
||||
require_once($_CONF['app_achievements_path']."class/RyzomUser_class.php");
|
||||
require_once("class/RyzomAdmin_class.php");
|
||||
|
@ -72,7 +74,7 @@ require_once("class/CSRTask_class.php");
|
|||
require_once("class/CSRObjective_class.php");
|
||||
require_once("class/CSRAtom_class.php");
|
||||
|
||||
$DBc = ryDB::getInstance("app_achievements_test");
|
||||
$DBc = ryDB::getInstance("app_achievements");
|
||||
|
||||
function mkn($x) { // make NULL function for SQL
|
||||
global $DBc;
|
||||
|
@ -123,6 +125,7 @@ $c = "<script type='text/javascript'>
|
|||
<li><a href='?mode=ach'>achievement settings</a></li>
|
||||
<li><a href='?mode=atom'>trigger settings</a></li>
|
||||
<li><a href='?mode=lang'>language editor</a></li>
|
||||
<li><a href='?mode=stats'>statistics</a></li>
|
||||
</ul><p />";
|
||||
}
|
||||
if($_ADMIN->isCSR()) {
|
||||
|
@ -172,6 +175,14 @@ $c .= "</div></td>
|
|||
if($open != 0) {
|
||||
$cat = new AdmCategory($open,'%','%','%');
|
||||
|
||||
if($_REQUEST['act'] == "cat_save") {
|
||||
if(is_array($_REQUEST['c_name'])) {
|
||||
foreach($_REQUEST['c_name'] as $key=>$elem) {
|
||||
$cat->setLang($key,$_REQUEST['c_name'][$key]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if($_REQUEST['act'] == "ach_save") {
|
||||
$ach = $cat->getElementByPath($_REQUEST['id']);
|
||||
|
||||
|
@ -219,7 +230,7 @@ $c .= "</div></td>
|
|||
*/
|
||||
|
||||
if($_REQUEST['mode'] == "atom" && $_ADMIN->isAdmin()) {
|
||||
$c .= "<h1>Tigger Settings</h1>";
|
||||
$c .= "<h1>Trigger Settings</h1>";
|
||||
|
||||
$user = array();
|
||||
$user['id'] = 0;
|
||||
|
@ -556,14 +567,28 @@ $c .= "</div></td>
|
|||
|
||||
}
|
||||
|
||||
/*
|
||||
* Statistics page
|
||||
*/
|
||||
|
||||
if($_REQUEST['mode'] == "stats" && $_ADMIN->isCSR()) {
|
||||
require_once("include/adm_render_stats.php");
|
||||
|
||||
$c .= "<h1>Statistics</h1>";
|
||||
|
||||
$c .= stats_render();
|
||||
}
|
||||
|
||||
/*
|
||||
* CSR player manager
|
||||
*/
|
||||
if($_REQUEST['mode'] == "player" && $_ADMIN->isCSR()) {
|
||||
$c .= "<h1>Player Administration</h1>";
|
||||
|
||||
$DBc_char = new mySQL($_CONF['mysql_error']);
|
||||
$DBc_char->connect($_CONF['char_mysql_server'],$_CONF['char_mysql_user'],$_CONF['char_mysql_pass'],$_CONF['char_mysql_database']);
|
||||
#$DBc_char = new mySQL($_CONF['mysql_error']);
|
||||
#$DBc_char->connect($_CONF['char_mysql_server'],$_CONF['char_mysql_user'],$_CONF['char_mysql_pass'],$_CONF['char_mysql_database']);
|
||||
|
||||
$DBc_char = ryDB::getInstance("webig");
|
||||
//menu
|
||||
require_once("include/adm_render_csr.php");
|
||||
|
||||
|
@ -574,7 +599,7 @@ $c .= "</div></td>
|
|||
$user = array();
|
||||
$user['id'] = $_REQUEST['pid'];
|
||||
$user['lang'] = 'en';
|
||||
$user['name'] = 'Talvela';
|
||||
$user['char_name'] = user_get_name($_REQUEST['pid']);
|
||||
$user['race'] = "r_matis";
|
||||
$user['civilization'] = "c_neutral";
|
||||
$user['cult'] = "c_neutral";
|
||||
|
@ -616,7 +641,7 @@ $c .= "</div></td>
|
|||
$c .= csr_render_category($cat);
|
||||
}
|
||||
else {
|
||||
$cat = new AchSummary($menu,8);
|
||||
$cat = new AchSummary($menu,3);
|
||||
$c .= ach_render_summary_header();
|
||||
}
|
||||
|
||||
|
|
|
@ -1,88 +1,84 @@
|
|||
<?php
|
||||
|
||||
<?php // %2012-10-03T19:04:52+02:00
|
||||
$__texts = array (
|
||||
'ach_summary' =>
|
||||
array (
|
||||
'en' => 'Summary',
|
||||
'fr' => '',
|
||||
'de' => '',
|
||||
'ru' => '',
|
||||
'fr' => 'Résumé ',
|
||||
'de' => 'Übersicht',
|
||||
'ru' => 'Резюме',
|
||||
),
|
||||
'ach_summary_header' =>
|
||||
array (
|
||||
'en' => 'Recent Achievements',
|
||||
'fr' => '',
|
||||
'de' => '',
|
||||
'ru' => '',
|
||||
'fr' => 'Derniers Accomplissements',
|
||||
'de' => 'Aktuelle Erfolge',
|
||||
'ru' => 'недавние достижения',
|
||||
),
|
||||
'ach_summary_stats' =>
|
||||
array (
|
||||
'en' => 'Statistics',
|
||||
'fr' => '',
|
||||
'de' => '',
|
||||
'fr' => 'Statistiques',
|
||||
'de' => 'Statistiken',
|
||||
'ru' => '',
|
||||
),
|
||||
'ach_summary_stats_total' =>
|
||||
array (
|
||||
'en' => 'Total',
|
||||
'fr' => '',
|
||||
'de' => '',
|
||||
'fr' => 'Total',
|
||||
'de' => 'Gesamt',
|
||||
'ru' => '',
|
||||
),
|
||||
'ach_c_neutral' =>
|
||||
array (
|
||||
'en' => 'neutral',
|
||||
'fr' => '',
|
||||
'de' => '',
|
||||
'en' => 'Neutral',
|
||||
'fr' => 'Neutre',
|
||||
'de' => 'Neutral',
|
||||
'ru' => '',
|
||||
),
|
||||
'ach_allegiance_neutral_cult' =>
|
||||
array (
|
||||
'en' => 'While being of %s allegiance with the higher powers',
|
||||
'fr' => '',
|
||||
'fr' => 'En ayant %s de renommée envers les Puissances',
|
||||
'de' => '',
|
||||
'ru' => '',
|
||||
),
|
||||
'ach_allegiance_neutral_civ' =>
|
||||
array (
|
||||
'en' => 'While being of %s allegiance with the homin civilizations',
|
||||
'fr' => '',
|
||||
'fr' => 'En ayant %s de renommée envers les nations homines',
|
||||
'de' => '',
|
||||
'ru' => '',
|
||||
),
|
||||
'ach_allegiance_neutral' =>
|
||||
array (
|
||||
'en' => 'While being of %s allegiance',
|
||||
'fr' => '',
|
||||
'fr' => 'En ayant %s de réputation',
|
||||
'de' => '',
|
||||
'ru' => '',
|
||||
),
|
||||
'ach_allegiance_start' =>
|
||||
array (
|
||||
'en' => 'While being aligned with the ',
|
||||
'fr' => '',
|
||||
'fr' => 'En appartenant à',
|
||||
'de' => '',
|
||||
'ru' => '',
|
||||
),
|
||||
'ach_allegiance_and' =>
|
||||
array (
|
||||
'en' => ' and the ',
|
||||
'fr' => '',
|
||||
'de' => '',
|
||||
'fr' => ' et le',
|
||||
'de' => 'und',
|
||||
'ru' => '',
|
||||
),
|
||||
'ach_allegiance_end' =>
|
||||
array (
|
||||
'en' => ', accomplish the following achievements:',
|
||||
'fr' => '',
|
||||
'de' => '',
|
||||
'fr' => ', effectuez les accomplissements suivants : ',
|
||||
'de' => ', erfüllen die folgenden Leistungen:',
|
||||
'ru' => '',
|
||||
),
|
||||
);
|
||||
|
||||
|
||||
if(isset($ryzom_texts))
|
||||
$ryzom_texts = array_merge ($__texts, $ryzom_texts);
|
||||
else
|
||||
$ryzom_texts = $__texts;
|
||||
?>
|