} unset($players[$row['id']]); } } /*while ( list($key, ) = each($players) ) // now these players are not in this map { $javascript .= 'remove_player(' . $key . ');'; }*/ // update map $javascript = 'map_session_refresh();' . $javascript; js_eval($javascript, $refresh_id); } else { $layer = $_GET['layer']; $event_pos = $event_pos[1]; if ($layer == 1 && isset($events['i' . $event_pos]) && ($event_pos == $user->map_left . '-' . ($user->map_top + 1) || $event_pos == $user->map_left - 1 . '-' . $user->map_top || $event_pos == $user->map_left . '-' . ($user->map_top - 1) || $event_pos == $user->map_left + 1 . '-' . $user->map_top) || $layer == 0 && isset($events['i' . $event_pos]) && $event_pos == $user->map_left . '-' . $user->map_top) { $event_script = new event_script($event_script_data['i' . $event_pos]); $script = array(); while ($data = $event_script->script(true, false)) { // javascript instruction $script[] = '\'' . quotes($data) . '\''; } $javascript .= 'script_eval(0, new Array(' . implode(', ', $script) . '));'; } js_eval($javascript, $refresh_id); } } else { if ($user->in_battle) { header('Location: ' . $config->path . $config->index . '?mod=battle'); exit; } if ($user->refresh == 1) {
$map_name = htmlspecialchars(trim(urldecode($_POST['map_name']))); $text_script = 'TELEPORT ' . $map_id . ',' . $map_left . ',' . $map_top . $map_dir; $event_name = $lang->teleport . ' : ' . $map_id . '. ' . $map_name . ' [' . $map_left . ',' . $map_left . ']'; $size = @getimagesize($config->path . 'images/sprites/' . $config->preset_teleport_sprite); if (!is_array($size)) { $width = 0; $height = 0; } else { $width = intval($size[0]); $height = intval($size[1]); } $result = $db->sql_query('SELECT MAX(id) AS max FROM ' . EVENTS_TABLE); $id = $db->sql_fetchrow($result); $id = $id['max'] + 1; require $config->path . 'includes/functions_map.' . $config->phpex; $event_script = new event_script(); list($compiled, $result) = $event_script->compile($text_script); if (!$compiled) { js_eval('alert(\'' . quotes($result) . '\');', $refresh_id, 1); } $db->sql_query('INSERT INTO ' . EVENTS_TABLE . '(id, name, picture, pic_width, pic_height, dir, text_script, script, layer) VALUES(' . $id . ', \'' . quotes($event_name) . '\', \'' . quotes($config->preset_teleport_sprite) . '\', ' . $width . ', ' . $height . ', \'\', \'' . quotes($text_script) . '\', \'' . quotes(serialize($result)) . '\', 0)'); $lang->load_keys('event_editor'); js_eval('alert(\'' . quotes($lang->event_saved) . '\');remake_event_list(' . $id . ', \'' . quotes($event_name) . '\', \'' . quotes($config->preset_teleport_sprite) . '\', ' . $width . ', ' . $height . ', false);', $refresh_id, 1); } else { exit; } } elseif ($mode == 'GET.event_editor') { if (empty($_GET['event_id'])) { header('Location: ' . $config->path . $config->index . '?mod=admin.map&mode=select_event_to_edit'); exit; }