Avocado.CommunityEdition/Plugin/지역관리/AvocadoEdition.MapManager/extend/map.config.php
2022-02-09 03:09:45 +09:00

104 lines
3.5 KiB
PHP

<?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
// 맵 관련 테이블값 추가
$g5['map_table'] = G5_TABLE_PREFIX.'map'; // 지역 테이블
$g5['map_event_table'] = G5_TABLE_PREFIX.'map_event'; // 지역이벤트 테이블
$g5['map_move_table'] = G5_TABLE_PREFIX.'map_flow'; // 지역설정 테이블
// 맵 테이블이 없을 경우 생성
if(!sql_query(" DESC {$g5['map_table']} ")) {
sql_query(" CREATE TABLE IF NOT EXISTS `{$g5['map_table']}` (
`ma_id` int(11) NOT NULL AUTO_INCREMENT,
`ma_name` varchar(255) NOT NULL default '',
`ma_parent` int(11) NOT NULL default '0',
`ma_top` int(111) NOT NULL default '0',
`ma_left` int(11) NOT NULL default '0',
`ma_width` int(11) NOT NULL default '0',
`ma_height` int(11) NOT NULL default '0',
`ma_start` int(11) NOT NULL default '0',
`ma_use` int(11) NOT NULL default '0',
PRIMARY KEY (`ma_id`)
) ", false);
}
// 맵 이동 설정값이 없을 경우 생성
if(!sql_query(" DESC {$g5['map_move_table']} ")) {
sql_query(" CREATE TABLE IF NOT EXISTS `{$g5['map_move_table']}` (
`mf_id` int(11) NOT NULL AUTO_INCREMENT,
`mf_start` int(11) NOT NULL default '0',
`mf_end` int(11) NOT NULL default '0',
`mf_use` int(11) NOT NULL default '0',
PRIMARY KEY (`mf_id`)
) ", false);
}
// 맵 이벤트 설정값이 없을 경우 생성
if(!sql_query(" DESC {$g5['map_event_table']} ")) {
sql_query(" CREATE TABLE IF NOT EXISTS `{$g5['map_event_table']}` (
`me_id` int(11) NOT NULL AUTO_INCREMENT,
`ma_id` int(11) NOT NULL default '0',
`me_type` varchar(255) NOT NULL default '',
`me_title` varchar(255) NOT NULL default '',
`me_img` varchar(255) NOT NULL default '',
`me_content` text NOT NULL,
`me_get_item` int(11) NOT NULL default '0',
`me_get_money` int(11) NOT NULL default '0',
`me_move_map` int(11) NOT NULL default '0',
`me_get_hp` int(11) NOT NULL default '0',
`me_mon_hp` int(11) NOT NULL default '0',
`me_mon_attack` int(11) NOT NULL default '0',
`me_per_s` int(11) NOT NULL default '0',
`me_per_e` int(11) NOT NULL default '0',
`me_replay_cnt` int(11) NOT NULL default '0',
`me_now_cnt` int(11) NOT NULL default '0',
`me_use` int(11) NOT NULL default '0',
PRIMARY KEY (`me_id`)
) ", false);
}
// 캐릭터에 맵 이동 값이 존재하지 않을 경우
if($is_member && $character['ch_id'] && !isset($character['ma_id'])) {
sql_query(" ALTER TABLE `{$g5['character_table']}` ADD `ma_id` INT(11) NOT NULL DEFAULT '0' AFTER `ch_side` ");
}
// 관리자에 맵 기능 사용 여부 설정값 추가
if(!isset($config['cf_use_map'])) {
sql_query(" ALTER TABLE `{$g5['config_table']}` ADD `cf_use_map` INT(11) NOT NULL DEFAULT '0' AFTER `cf_open` ");
}
if(isset($character['ch_id']) && !$character['ma_id']) {
$ma_id = sql_fetch("select ma_id from {$g5['map_table']} where ma_start = '1' limit 0, 1");
$ma_id = $ma_id['ma_id'];
sql_query("
update {$g5['character_table']}
set ma_id = '{$ma_id}'
where ch_id = '{$character['ch_id']}'
");
$character['ma_id'] = $ma_id;
}
function get_map($ma_id) {
global $g5;
$ma = sql_fetch("select * from {$g5['map_table']} where ma_id = '{$ma_id}'");
return $ma;
}
function get_map_name($ma_id) {
global $g5;
$ma = sql_fetch("select ma_name from {$g5['map_table']} where ma_id = '{$ma_id}'");
$result = $ma['ma_name'] ? $ma['ma_name'] : "-";
return $result;
}
function get_map_parnet_name($ma_id) {
global $g5;
$ma = sql_fetch("select b.ma_name from (select ma_parent from {$g5['map_table']} where ma_id = '{$ma_id}') a, {$g5['map_table']} b where a.ma_parent = b.ma_id");
return $ma['ma_name'];
}
?>