4. Примеры (Подготовка)
1. Конфиг
Под все модули будет общий и будет распологаться в папке /config/ , которая находится в директории сайта (корень).
PHP код:
<?php
/**
* @author Desperado
* @copyright 2010
*/
define ("DBHOST", "localhost:20516"); // Хост Mysql (если надо, через двоеточие добавить порт)
define ("DBUSER", ""); // Пользователь Mysql
define ("DBPASS", ""); // Пароль Mysql
define ("COLLATE", "cp1251"); // кодировка соединения.
define ("CACHETIME", "120"); // Кеширование (в секундах)
define ("CDB", "characters"); // Название базы персонажей
define ("RDB", "realmd"); // Название базы realmd
define ("MDB", "mangos"); // Название базы mangos
define ("SHOST", "127.0.0.1"); // IP Сервера
define ("SPORT", "8080"); // Игровой порт
?>
2. Массивы
будут находиться в папке /engine/modules/wow/includes/array/
Всего нами будет использовано 2 массива: массив локаций, массив персонажей и классов
Содержание массива персонажей
Содержание массива зон
3. Функции
Функции сложим в папочку /engine/modules/wow/includes/functions/ под именем func.php
PHP код:
<?php
/**
* @author Desperado
* @copyright 2010
*/
function getGold($gold) // Для правильной работы функции необходимо закинуть в папку /images/ изображения "валют"
{
$g = floor( $gold / (100*100) );
$gold = $gold - $g*100*100;
$s = floor( $gold / 100 );
$gold = $gold - $s*100;
$c = floor( $gold );
return sprintf("<b>%d<img src=\"../images/gold.png\"> %02d<img src=\"../images/silver.png\"> %02d<img src=\"../images/copper.png\"></b>", $g, $s, $c);
}
function number_ending($number, $ending0, $ending1, $ending2) {
$num100 = $number % 100;
$num10 = $number % 10;
if ($num100 >= 5 && $num100 <= 20) {
return $ending0;
} else if ($num10 == 0) {
return $ending0;
} else if ($num10 == 1) {
return $ending1;
} else if ($num10 >= 2 && $num10 <= 4) {
return $ending2;
} else if ($num10 >= 5 && $num10 <= 9) {
return $ending0;
} else {
return $ending2;
}
}
?>
4. Класс кеширования
Класс для кеширования данных мы разбирали выше.
Закидываем в папку /engine/ файлик cacheClass.php