Configuring the Character Achievement App

* edit conf.php, set image_url and (optionally) use_fb = true with id and key. (cotare: disable fb since facebook integration is not fully developed => use_fb = false)
* create app_achievements database
* source structure_app_achievements.sql
* grant webdb access: GRANT ALL ON app_achievements.* TO webdb@localhost;

 

OK, here we go...

 

we have three parts of the achievements system:

  • web/app/app_achievements
  • web/app/app_achievements_admin
  • web/api/server/scripts/achievement_tracker/

 

 

https://bitbucket.org/SirCotare/ryzom/src/c3cdcf23d012/code/web/app/app_achievements/_doc/Ryzom%20Player%20Achievements.pdf?at=gsoc2012-achievements

Scripting
Scripting triggers uses special keywords mixed with PHP code. Each definition inside the code that starts with VALUE, ENTITY or EVENT will be put inside a PHP function.
Here are some examples:


VALUE _money AS $money {
   CACHE blach AS $test;
   if($money >= 10000 && $test == 0) {
      RESET;
      GRANT $money UNTIL TIMER:3600;
      FINAL;
   }
   else {
      CACHE blach SET $money;
   }
   SCRIPT wealth($money) AS $res;
   if($res == "lol") {
      DENY;
   }
}


ENTITY _pos AS $pos {
   SCRIPT inside($pos,"majestic_garden") AS $region;
   if($region == true) {
      GRANT;
   }
}