Пример #1
0
                }
                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) {
Пример #2
0
        $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;
    }