RMRK is retiring.
Registration is disabled. The site will remain online, but eventually become a read-only archive. More information.

RMRK.net has nothing to do with Blockchains, Cryptocurrency or NFTs. We have been around since the early 2000s, but there is a new group using the RMRK name that deals with those things. We have nothing to do with them.
NFTs are a scam, and if somebody is trying to persuade you to buy or invest in crypto/blockchain/NFT content, please turn them down and save your money. See this video for more information.
We're still having code issues, Roph. ;-;

0 Members and 1 Guest are viewing this topic.

********
Furry Philosopher
Rep:
Level 94
Rawr?
2013 Best RPG Maker User (Creativity)Randomizer - GIAW 11Gold - GIAW 11 (Hard)Secret Santa 2013 ParticipantFor frequently finding and reporting spam and spam bots2012 Best RPG Maker User (Programming)2012 Best RPG Maker User (Mapping)Secret Santa 2012 ParticipantGold - GIAW 9Project of the Month winner for September 2008For taking a crack at the RMRK Wiki2011 Best RPG Maker User (Programming)2011 Best Veteran2011 Kindest Member2010 Most Deserving Of A Promotion2010 Best RPG Maker User (Technical)
We've had several people now who have been having problems copying any scripts from RMRK in the [code] boxes. They try to copy it down to their clipboard, but it pastes out only in one single line, which means its obviously not gonna work in any RPG Maker. This has been a big issue for a long while now, ever since our switch to SMF 2.0. It's probably an Internet Explorer issue, as only people who use IE have had this problem. But despite RMRK's preference for other internet browsers, we can't just tell people to switch over to something like Firefox just to solve this problem.

Think you can figure out how to fix these code boxes to be IE friendly, Roph?




*
( ´ิ(ꈊ) ´ิ) ((≡^⚲͜^≡)) (ી(΄◞ิ౪◟ิ‵)ʃ)
Rep:
Level 102
(っ˘ڡ˘ς) ʕ•̼͛͡•ʕ-̺͛͡•ʔ•̮͛͡•ʔ (*ꆤ.̫ꆤ*)
2014 Avast Ye Merry Pirate!2013 Avast Ye Merry Pirate Award2012 Avast Ye Merry Pirate AwardFor frequently finding and reporting spam and spam bots2011 Avast Ye Merry Pirate2011 Most Unsung Member2010 Avast Ye Merry Pirate Award
The problem is Internet Explorer's. I can't fix Internet Explorer.

There are two methods of storing text on the clipboard, plain text and rich text. Rich text preserves colours or other formatting etc, plain text is just the text characters themselves (this includes basic formatting like spaces, line breaks, tabs etc as these are just additional special characters).

Example code:

Code: [Select]
function xml2array($contents, $get_attributes=1, $priority = 'tag') {
    if(!$contents) return array();

    if(!function_exists('xml_parser_create')) {
        return array();
    }
 
    $parser = xml_parser_create('');
    xml_parser_set_option($parser, XML_OPTION_TARGET_ENCODING, "UTF-8");
    xml_parser_set_option($parser, XML_OPTION_CASE_FOLDING, 0);
    xml_parser_set_option($parser, XML_OPTION_SKIP_WHITE, 1);
    xml_parse_into_struct($parser, trim($contents), $xml_values);
    xml_parser_free($parser);

    if(!$xml_values) return;

    $xml_array = array();
    $parents = array();
    $opened_tags = array();
    $arr = array();

    $current = &$xml_array;

    $repeated_tag_index = array();
    foreach($xml_values as $data) {
        unset($attributes,$value);
        extract($data);

        $result = array();
        $attributes_data = array();
       
        if(isset($value)) {
            if($priority == 'tag') $result = $value;
            else $result['value'] = $value;
        }

        if(isset($attributes) and $get_attributes) {
            foreach($attributes as $attr => $val) {
                if($priority == 'tag') $attributes_data[$attr] = $val;
                else $result['attr'][$attr] = $val;
            }
        }

        if($type == "open") {
            $parent[$level-1] = &$current;
            if(!is_array($current) or (!in_array($tag, array_keys($current)))) {
                $current[$tag] = $result;
                if($attributes_data) $current[$tag. '_attr'] = $attributes_data;
                $repeated_tag_index[$tag.'_'.$level] = 1;

                $current = &$current[$tag];

            } else {

                if(isset($current[$tag][0])) {
                    $current[$tag][$repeated_tag_index[$tag.'_'.$level]] = $result;
                    $repeated_tag_index[$tag.'_'.$level]++;
                } else {
                    $current[$tag] = array($current[$tag],$result);
                    $repeated_tag_index[$tag.'_'.$level] = 2;
                   
                    if(isset($current[$tag.'_attr'])) {
                        $current[$tag]['0_attr'] = $current[$tag.'_attr'];
                        unset($current[$tag.'_attr']);
                    }
                }
                $last_item_index = $repeated_tag_index[$tag.'_'.$level]-1;
                $current = &$current[$tag][$last_item_index];
            }

        } elseif($type == "complete") {
            if(!isset($current[$tag])) {
                $current[$tag] = $result;
                $repeated_tag_index[$tag.'_'.$level] = 1;
                if($priority == 'tag' and $attributes_data) $current[$tag. '_attr'] = $attributes_data;

            } else {
                if(isset($current[$tag][0]) and is_array($current[$tag])) {

                    $current[$tag][$repeated_tag_index[$tag.'_'.$level]] = $result;
                   
                    if($priority == 'tag' and $get_attributes and $attributes_data) {
                        $current[$tag][$repeated_tag_index[$tag.'_'.$level] . '_attr'] = $attributes_data;
                    }
                    $repeated_tag_index[$tag.'_'.$level]++;

                } else {
                    $current[$tag] = array($current[$tag],$result);
                    $repeated_tag_index[$tag.'_'.$level] = 1;
                    if($priority == 'tag' and $get_attributes) {
                        if(isset($current[$tag.'_attr'])) {
                           
                            $current[$tag]['0_attr'] = $current[$tag.'_attr'];
                            unset($current[$tag.'_attr']);
                        }
                       
                        if($attributes_data) {
                            $current[$tag][$repeated_tag_index[$tag.'_'.$level] . '_attr'] = $attributes_data;
                        }
                    }
                    $repeated_tag_index[$tag.'_'.$level]++;
                }
            }

        } elseif($type == 'close') {
            $current = &$parent[$level-1];
        }
    }
   
    return($xml_array);
}

We can test both types of text formatting by using 2 different apps to paste into. Notepad only supports plain text pasting, wordpad will take rich text pasting.

When copied from Firefox:

Notepad (Plain text):


Wordpad (Rich text, it looks the same, but it is going to and from the clipboard via the rich text path):


Now when copied from a piece of shit like Internet Explorer:

Notepad (Plain text):


Wordpad (Rich Text):


And so the problem is revealed. Internet Explorer cannot properly manage plain text copying. In RPG Maker, the script tools only accept plain text pasting, and rightly so. The problem is NOT in RPG Maker, or even in notepad. RPG Maker and Notepad are simply pasting from the clipboard what IE wrote to it. The Problem is the broken way in which Internet Explorer copies via plain text.

The solution is incredibly simple and easy, and will make every IE user's life easier: Stop using it!
« Last Edit: August 06, 2010, 02:28:52 PM by Roph »
bringing sexy back

*
A blessing
Rep:
Level 91
<3 Back.
Cannot be any truer.  :x