[PR]ÃÚËÞ”Ô‘g•\
¡–é‚̔ԑgÁª¯¸

ÉÔ¶ñ¹ç¤Î½¤Àµ - Ver b2.1.2

ÀßÃÖ»Ù±ç¥Ú¡¼¥¸¤Ø

[Ver b2.0]¡¡ [Ver b2.1]¡¡
[Ver b1.4]¡¡ [Ver b1.3]¡¡ [Ver b1.2.1]¡¡ [Ver b1.1]¡¡ [Ver b1.0]¡¡

  1. ÀïÆ®´ØÏ¢¤ÎÉÔ¶ñ¹ç½¤Àµ
  2. ²Ùʪ´ØÏ¢¤ÎÉÔ¶ñ¹ç½¤Àµ
  3. °Üư´ØÏ¢¤ÎÉÔ¶ñ¹ç½¤Àµ
  4. ¤½¤Î¾¤ÎÉÔ¶ñ¹ç½¤Àµ
  5. ¤Á¤ç¤Ã¤È¤·¤¿¤³¤È


  1. ÀïÆ®´ØÏ¢¤ÎÉÔ¶ñ¹ç½¤Àµ
    1. ÀßÄê¤è¤ê¿¤¯¤ÎÀïÆ®ÍúÎò¤¬»Ä¤ë

    ÀßÄê¤è¤ê¿¤¯¤ÎÀïÆ®ÍúÎò¤¬»Ä¤ëÉÔ¶ñ¹ç¤ò½¤Àµ¤·¤Þ¤¹¡£

    ÍúÎò¤Î¿ô¤ÎÀßÄê¤òÊѹ¹Á°¤è¤ê¾¯¤Ê¤¯¤·¤¿¾ì¹ç¤ËÀßÄê¤è¤ê¿¤¯¤ÎÀïÆ®ÍúÎò¤¬»Ä¤ë¡£

    library/fight.cgi¤ò³«¤¯
    sub fight_player:
        pop(@Uen) if @Uen >= $set::elx;
    ¢­
        @Uen = @Uen[0..$set::elx-1] && pop(@Uen) if @Uen >= $set::elx;
    

    ¡Ú¥ê¥¹¥È¤ØÌá¤ë¡Û

    ¡Ú¥È¥Ã¥×¤ØÌá¤ë¡Û



  2. ²Ùʪ´ØÏ¢¤ÎÉÔ¶ñ¹ç½¤Àµ
    1. ºîÀ®¤Ç¡¢¼ºÇÔ¤·¤ÆºàÎÁ¤¬Ìá¤Ã¤Æ¤¯¤ë¤È¡¢ÁõÈ÷Ãæ¤ÎÆ»¶ñ¤ò»È¤¤ÀڤäƤ¤¤¿»þ¤Ë¤½¤ÎÆ»¶ñ¤¬³°¤ì¤ë

    ºîÀ®¤Ç¡¢¼ºÇÔ¤·¤ÆºàÎÁ¤¬Ìá¤Ã¤Æ¤¯¤ë¤È¡¢ÁõÈ÷Ãæ¤ÎÆ»¶ñ¤ò»È¤¤ÀڤäƤ¤¤¿»þ¤Ë¤½¤ÎÆ»¶ñ¤¬³°¤ì¤ëÉÔ¶ñ¹ç¤ò½¤Àµ¤·¤Þ¤¹¡£

    library/compose.cgi¤ò³«¤¯
    sub compose_after:
    my (@CL,@ID,$K,$V);
    ¢­
    my (@CL,@ID,@EQ,$K,$V);
    
    sub compose_after:
            next if !$F{$i} && $Ii->{eq} ne 'rh' && $Ii->{eq} ne 'sb';
    ¢­
            next if !$F{$i} && $Ii->{eq} ne 'rh' && $Ii->{eq} ne 'sb';
            push(@EQ,{%$Ii}) if $Ii->{eq} eq 'rh' || $Ii->{eq} eq 'sb';
    
    sub compose_after:
                &M("ºîÀ®¤Ë»ÈÍѤ·¤¿ºàÎÁ¤Ï̵»ö¤Ç¤·¤¿¡£");
                $Ui->{ex} = 0;
                $I->{DS} = 1;
    ¢­
                &M("ºîÀ®¤Ë»ÈÍѤ·¤¿ºàÎÁ¤Ï̵»ö¤Ç¤·¤¿¡£");
                $Ui->{ex} = 0;
                $I->{DS} = 1;
                foreach (@EQ) {
                    &set_equipment($I,$_);
                    &get_effect($_);
                    &reload_data($_->{eq},"$_->{nm}$_->{Ef}",$_->{im});
                }
    

    ¡Ú¥ê¥¹¥È¤ØÌá¤ë¡Û

    ¡Ú¥È¥Ã¥×¤ØÌá¤ë¡Û



  3. ¥¢¥¤¥Æ¥à¥Ç¡¼¥¿¤ÎÀßÄê¤ÎÉÔ¶ñ¹ç½¤Àµ
    1. ÀßÄê¥ß¥¹¤È»×¤ï¤ì¤ë²Õ½ê¤ò½¤Àµ

    ÀßÄê¥ß¥¹¤È»×¤ï¤ì¤ë²Õ½ê¤ò½¤Àµ¤·¤Þ¤¹¡£

    item/woodwork.cgi¤ò³«¤¯
    »°ÀáÛþ:
              ki => 'Chain',
    ¢­
              ki => 'Squaredlumber',
    
    ¥¸¥ã¥ô¥§¥ê¥ó:
              ki => 'Thinboard',
    ¢­
              ki => 'Woodenstick',
    

    ¡Ú¥ê¥¹¥È¤ØÌá¤ë¡Û

    ¡Ú¥È¥Ã¥×¤ØÌá¤ë¡Û



  4. °Üư´ØÏ¢¤ÎÉÔ¶ñ¹ç½¤Àµ½¤Àµ
    1. ¶¨²ñ¤Ç¡¢²ø²æ¤Î¼£ÎŤò¤·¤ÆÌ㤦¤ÈHAP¤Îɽ¼¨¤¬¤ª¤«¤·¤¯¤Ê¤ë¡£
    2. »Ô¾ì¤Ç¡¢¿¦¿Í³¹¤ÇÇ㤤ʪ¤ò¤·¤¿»þ¤Ë¥¨¥é¡¼¤Ë¤Ê¤ë¤È»Ô¾ì¤ØÌá¤ë¡£

    ¶¨²ñ¤Ç¡¢²ø²æ¤Î¼£ÎŤò¤·¤ÆÌ㤦¤ÈHAP¤Îɽ¼¨¤¬¤ª¤«¤·¤¯¤Ê¤ëÉÔ¶ñ¹ç¤ò½¤Àµ¤·¤Þ¤¹¡£

    library/church.cgi¤ò³«¤¯
    sub church_after:
            &reload_data('hy');
    ¢­
            &reload_gage('hy','V');
    

    ¡Ú¥ê¥¹¥È¤ØÌá¤ë¡Û

    »Ô¾ì¤Ç¡¢¿¦¿Í³¹¤ÇÇ㤤ʪ¤ò¤·¤¿»þ¤Ë¥¨¥é¡¼¤Ë¤Ê¤ë¤È»Ô¾ì¤ØÌá¤ëÉÔ¶ñ¹ç¤ò½¤Àµ¤·¤Þ¤¹¡£

    library/shopping.cgi¤ò³«¤¯
    sub shopping_after:
        if (&purchase_item($IC{$I->{pl}},\%FI,'Mk','shopping_before')) {
    ¢­
        if (&purchase_item($IC{$I->{pl}},\%FI,'Mk','shopping_before','','cu')) {
    
    library/purchase.cgi¤ò³«¤¯
    sub purchase_item:
    my  $R = shift; # return mode
    ¢­
    my  @R = @_; # return mode
    
    sub purchase_item:
        $R ||= $I->{Sp}{$P}{md};
    ¢­
        $R[0] ||= $I->{Sp}{$P}{md};
    
    sub purchase_item:
                &say("$Ui->{nm}¡§¿ôÃͰʳ°¤Ï»ÈÍѽÐÍè¤Þ¤»¤ó",$R);
    ¢­
                &say("$Ui->{nm}¡§¿ôÃͰʳ°¤Ï»ÈÍѽÐÍè¤Þ¤»¤ó",@R);
    
    sub purchase_item:
                &say("$Ui->{nm}¤Ï¾¤Î¿Í¤Ëͽ\Ìó¤µ¤ì¤Æ¤¤¤Þ¤¹",$R);
    ¢­
                &say("$Ui->{nm}¤Ï¾¤Î¿Í¤Ëͽ\Ìó¤µ¤ì¤Æ¤¤¤Þ¤¹",@R);
    
    sub purchase_item:
                &say('¤³¤ì°Ê¾å¤Ï½Å¤¯¤Æ»ý¤Æ¤Þ¤»¤ó',$R);
    ¢­
                &say('¤³¤ì°Ê¾å¤Ï½Å¤¯¤Æ»ý¤Æ¤Þ¤»¤ó',@R);
    
    sub purchase_item:
                &say('¤ª¶â¤¬Â­¤ê¤Þ¤»¤ó',$R);
    ¢­
                &say('¤ª¶â¤¬Â­¤ê¤Þ¤»¤ó',@R);
    
    sub purchase_item:
                &say("²Ùʪ¥¹¥í¥Ã¥È¤¬°ìÇդǤ¹",$R);
    ¢­
                &say("²Ùʪ¥¹¥í¥Ã¥È¤¬°ìÇդǤ¹",@R);
    
    sub purchase_pet:
    my  $R = shift; # return mode
    ¢­
    my  @R = @_; # return mode
    
    sub purchase_pet:
        $R ||= $I->{Sp}{$P}{md};
    ¢­
        $R[0] ||= $I->{Sp}{$P}{md};
    
    sub purchase_pet:
                &say("$Ui->{nm}¡§¿ôÃͰʳ°¤Ï»ÈÍѽÐÍè¤Þ¤»¤ó",$R);
    ¢­
                &say("$Ui->{nm}¡§¿ôÃͰʳ°¤Ï»ÈÍѽÐÍè¤Þ¤»¤ó",@R);
    
    sub purchase_pet:
                &say("$Ui->{nm}¤Ï¾¤Î¿Í¤Ëͽ\Ìó¤µ¤ì¤Æ¤¤¤Þ¤¹",$R);
    ¢­
                &say("$Ui->{nm}¤Ï¾¤Î¿Í¤Ëͽ\Ìó¤µ¤ì¤Æ¤¤¤Þ¤¹",@R);
    
    sub purchase_item:
                &say("¥¹¥í¥Ã¥È¤Î¶õ¤­¤¬Â­¤ê¤Þ¤»¤ó",$R);
    ¢­
                &say("¥¹¥í¥Ã¥È¤Î¶õ¤­¤¬Â­¤ê¤Þ¤»¤ó",@R);
    
    sub purchase_pet:
                &say('¤ª¶â¤¬Â­¤ê¤Þ¤»¤ó',$R);
    ¢­
                &say('¤ª¶â¤¬Â­¤ê¤Þ¤»¤ó',@R);
    

    ¡Ú¥ê¥¹¥È¤ØÌá¤ë¡Û

    ¡Ú¥È¥Ã¥×¤ØÌá¤ë¡Û



  5. ¤½¤Î¾¤Î½¤Àµ
    1. ¥¤¥á¡¼¥¸²èÁü¤ÎÊѹ¹¤Ç¡¢Êѹ¹Á°¤Î²èÁü¤¬É½¼¨¤µ¤ì¤Ê¤¤
    2. ž¿¦¤Ç¡¢ÈñÍѤ¬Â­¤ê¤Ê¤¯¤Æ¤âž¿¦¤Ç¤­¤ë¡¢¤Þ¤¿ÈñÍѤ¬¥¤¥á¡¼¥¸²èÁü¤ÎÊѹ¹Èñ¤Ë¤Ê¤Ã¤Æ¤¤¤ë
    3. ÉÔÀµ¤Ê¥Ç¡¼¥¿¤òÁ÷¤é¤ì¤ë¤ÈCGI¥×¥í¥°¥é¥à¥¨¥é¡¼¤Ë¤Ê¤ë
    4. OpenWindow¤Ç¥ê¥¯¥¨¥¹¥È¤¬Æó½Å¤ËÁ÷¤é¤ì¤ë

    ¥¤¥á¡¼¥¸²èÁü¤ÎÊѹ¹¤Ç¡¢Êѹ¹Á°¤Î²èÁü¤¬É½¼¨¤µ¤ì¤Ê¤¤ÉÔ¶ñ¹ç¤ò½¤Àµ¤·¤Þ¤¹¡£

    library/face.cgi¤ò³«¤¯
    sub face_before:
        <th nowrap class=padding><img src=$set::mim_dir/$F{sx}$F{im} name=image class=image></th>
    ¢­
        <th nowrap class=padding><img src=$set::mim_dir/$I->{im} name=image class=image></th>
    

    ¡Ú¥ê¥¹¥È¤ØÌá¤ë¡Û

    ž¿¦¤Ç¡¢ÈñÍѤ¬Â­¤ê¤Ê¤¯¤Æ¤âž¿¦¤Ç¤­¤ë¡¢¤Þ¤¿ÈñÍѤ¬¥¤¥á¡¼¥¸²èÁü¤ÎÊѹ¹Èñ¤Ë¤Ê¤Ã¤Æ¤¤¤ëÉÔ¶ñ¹ç¤ò½¤Àµ¤·¤Þ¤¹¡£

    library/jobchange.cgi¤ò³«¤¯
    sub jobchange_after:
        $I = &get_user('I');
    ¢­
        $I = &get_user('I');
    
        &say("¤ª¶â¤¬Â­¤ê¤Þ¤»¤ó",'CLOSE') if $I->{gl} < $set::jcm;
    
    sub jobchange_after:
        &change_status($I,'gl',-$set::fcp);
    ¢­
        &change_status($I,'gl',-$set::jcm);
    

    ¡Ú¥ê¥¹¥È¤ØÌá¤ë¡Û

    ÉÔÀµ¤Ê¥Ç¡¼¥¿¤òÁ÷¤é¤ì¤ë¤ÈCGI¥×¥í¥°¥é¥à¥¨¥é¡¼¤Ë¤Ê¤ëÉÔ¶ñ¹ç¤ò½¤Àµ¤·¤Þ¤¹¡£

    library/compose.cgi¤ò³«¤¯
    sub compose_after:
        &error('Compose File Error') if !$F{fi} || $F{fi} =~ /[^a-z_]/;
    ¢­
        &error('Compose File Error') if !$F{fi} || $F{fi} =~ /[^a-z_]/ || ! -e "$set::itm_dir/$F{fi}.cgi";
    

    ľ¤·¤¿¤Ä¤â¤ê¤À¤Ã¤¿¤ó¤À¤±¤ÉºÜ¤»Ëº¤ì¤Æ¤¿¡Ä

    library/fishing.cgi¤ò³«¤¯
    sub fishing:
    my  $backto;
    ¢­
    my  $backto;
    
        &error('Fishing File Error') if !$F{fl} || $F{fl} =~ /[^a-z_]/ || ! -e "$set::dat_dir/$F{fl}.cgi";
    

    ¡Ú¥ê¥¹¥È¤ØÌá¤ë¡Û

    OpenWindow¤Ç¥ê¥¯¥¨¥¹¥È¤¬Æó½Å¤ËÁ÷¤é¤ì¤ëÉÔ¶ñ¹ç¤ò½¤Àµ¤·¤Þ¤¹¡£
    ¤Ä¤¤¤Ç¤ËÁ´²èÌÌɽ¼¨¤ò¥¹¥¯¥ê¡¼¥ó¤ÎÍ­¸úÈϰϤ«¤éȽÃǤ¹¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£

    javascript¤Èform¤Ç1²ó¤º¤Ä¥ê¥¯¥¨¥¹¥È¤¬Åꤲ¤é¤ì¤Æ¤¤¤ë¤Î¤Ç¡¢js¤Î¤Û¤¦¤Ï¶õ¤Î¥Ú¡¼¥¸¤ò³«¤¯¤è¤¦¤Ë¤·¤Þ¤¹¡£
    Äɵ­¡§´û¤Ë¾®Á뤬³«¤«¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¶õ¤Î¥Ú¡¼¥¸¤ò³«¤«¤º¤Ë¤½¤Î¤Þ¤Þɽ¼¨¤¹¤ë¤è¤¦¤Ë¡¢
    ¤Þ¤¿¡¢javascript¥ª¥ó¤Î¤È¤­¤Ïjavascript¤Î¤ß¤Çưºî¤¹¤ë¤è¤¦¤Ë¤·¤Þ¤·¤¿¡£
    URL¤¬¶õ¤Î¾ì¹ç¤Ëabout:blank¤ò³«¤¯¤è¤¦¤Ë¤·¤Þ¤·¤¿¡£
    w_size,h_size¤Ë0¤ò»ØÄꤹ¤ë¤Èscreen.availWidth,screen.availHeight¤¬ÂåÆþ¤µ¤ì¤ë¤è¤¦¤Ë¤·¤Þ¤·¤¿¡£

    library/main.cgi¤ò³«¤¯
    sub main:
        print <<"    END_OF_HTML";
        :
        :
        :
        END_OF_HTML
    ¢­
        print <<"    END_OF_HTML";
        <table class=basetable cellpadding=5 align=center>
        <tr>
        <td width=50%> 
        <div class=label>¾ì½ê</div>
        <table class=outertable border=1>
        <tr>
        <td class=padding><img id=I1 src=$set::mim_dir/$I->{Pl}{im}></td>
        <td class=padding width=100%>
        ²¦¹ñ¡§<span id=kg>$I->{Kg}{nm}</span><br>
        ¸½ºßÃÏ¡§<span id=pl>$I->{Pl}{nm}</span><br>
        <span id=pl2>$I->{Pl}{nm}</span>¤Ë¤¤¤ë¿Í¿ô¡§<span id=pp>$I->{Pp}</span>¿Í <br>
        ÆÃħ¡§<span id=pr>$I->{Pl}{pr}</span>
        </td>
        </tr>
        <tr><td class=padding colspan=2>
        <span id=ev>$environment</span><img src=$set::mim_dir/envCh.gif title="¶µ²ñ">
        <div class=r><input type=button class=button onClick="return OpenWindow('$set::htm_dir/environment.html','myrecord',400,600)" value="´Ä¶­¥ê¥¹¥È"></div>
        </td></tr>
        </table>
        <br> 
        <div class=label>¥³¥Þ¥ó¥É</div>
        <table class=outertable>
        <tr>
        <form method=post action=$set::cgi_url target=myrecord>
        <td>
        <input type=submit class=button onClick="return OpenWindow('','myrecord',600,600,this.form)" value="My Record">
        <input type=hidden name=md value="myrecord">
        <input type=hidden name=id value="$F{id}">
        <input type=hidden name=ps value="$F{ps}">
        </td>
        </form>
        <form name=mapform method=post action=$set::cgi_url target=map>
        <td>
        <input type=submit class=button onClick="return OpenWindow('','map',500,400,this.form)" value="ÃÏ¿Þ">
        <input type=hidden name=md value="map">
        <input type=hidden name=id value="$F{id}">
        <input type=hidden name=ps value="$F{ps}">
        </td>
        </form>
        <form method=post action=$set::cgi_url target=bag>
        <td>
        <input type=submit class=button onClick="return OpenWindow('','bag',350,500,this.form)" value="²Ùʪ">
        <input type=hidden name=md value="bag">
        <input type=hidden name=id value="$F{id}">
        <input type=hidden name=ps value="$F{ps}">
        </td>
        </form>
        <form method=post action=$set::cgi_url target=bag>
        <td>
        <input type=submit class=button onClick="return OpenWindow('','bag',350,500,this.form)" value="ºîÀ®">
        <input type=hidden name=md value="compose">
        <input type=hidden name=id value="$F{id}">
        <input type=hidden name=ps value="$F{ps}">
        </td>
        </form>
        <form method=post action=$set::cgi_url target=pet>
        <td>
        <input type=submit class=button onClick="return OpenWindow('','pet',350,600,this.form)" value="$set::lab{pt}">
        <input type=hidden name=md value="pet">
        <input type=hidden name=id value="$F{id}">
        <input type=hidden name=ps value="$F{ps}">
        </td>
        </form>
        <form method=post action=$set::cgi_url target=guild>
        <td>
        <input type=submit class=button onClick="return OpenWindow('','guild',350,600,this.form)" value="$set::lab{gu}">
        <input type=hidden name=md value="guild">
        <input type=hidden name=id value="$F{id}">
        <input type=hidden name=ps value="$F{ps}">
        </td>
        </form>
        <form method=post action=$set::cgi_url target=quest>
        <td>
        <input type=submit class=button onClick="return OpenWindow('','quest',350,600,this.form)" value="$set::lab{qs}">
        <input type=hidden name=md value="quest_before">
        <input type=hidden name=id value="$F{id}">
        <input type=hidden name=ps value="$F{ps}">
        </td>
        </form>
        <form method=post action=$set::cgi_url>
        <td width=100% class=r>
        <input type=submit class=button value="¥í¥°¥¢¥¦¥È">
        <input type=hidden name=md value="logout">
        <input type=hidden name=id value="$F{id}">
        <input type=hidden name=ps value="$F{ps}">
        </td>
        </form>
        </tr>
        </table>
    
        <table class=outertable border=1>
        <tr><th>¥¢¥¯¥·¥ç¥ó</th><th>¥×¥ì¥¤¥ä¡¼¥ê¥¹¥È</th><th>°Üư</th><th>õº÷</th></tr>
        <tr>
        <form action=$set::cgi_url method=post target=action>
        <td nowrap>
        <select name=md size=8 class=select>
        <option value="contact_before" selected>¥×¥ì¥¤¥ä¡¼¤ËÀÜ¿¨</option>
        <option value="transfer_before">¾¤ÎÃÏ¤Ø°ÜÆ°</option>
        <option value="words_before">¼«¸Ê¾Ò²ðÀßÄê</option>
        <option value="friends_before">¥Õ¥ì¥ó¥ÉÀßÄê</option>
        <option value="orb_before">$set::orb{x}¤ÎÀßÄê</option>
        <option value="bounty_before">$set::lab{rw}¤ò·ü¤±¤ë</option>
        <option value="option_before">ÀïÆ®Êä½õ¥¢¥¤¥Æ¥à</option>
        $option_poem
        $option_magic
        <option value="color_before">ʸ»ú¿§¤ÎÀßÄê</option>
        <option value="stance_before">¥¹¥¿¥ó¥¹¤ÎÀßÄê</option>
        <option value="ornament_before">Éð¶ñ¤òÊõ¾þ¤¹¤ë</option>
        <option value="levelup_before">¥ì¥Ù¥ë¥¢¥Ã¥×¥Ü¡¼¥Ê¥¹</option>
        <option value="face_before">¥¤¥á¡¼¥¸²èÁü¤ÎÊѹ¹</option>
        <option value="backup_before">¥Ç¡¼¥¿¤Î¥Ð¥Ã¥¯¥¢¥Ã¥×</option>
        <option value="jobchange_before">ž¿¦¤¹¤ë</option>
        <option value="delete_before">¥­¥ã¥é¥¯¥¿¡¼¤òºï½ü</option>
        </select>
        <input type=submit class=button onClick="return OpenWindow('','action',400,550,this.form)" value="$set::okb">
        <input type=hidden name=id value="$F{id}">
        <input type=hidden name=ps value="$F{ps}">
        </td>
        </form>
        <form name=playerlistform method=post action=$set::cgi_url target=playerlist>
        <td nowrap>
        <select name=or size=8 class=select>
        <option value="Ft" selected>ÀïÆ®·Ï</option>
        <option value="Cz">À¸»º·Ï</option>
        <option value="Bt">¾Þ¶â¼ó</option>
        <option value="Ps">¿Í¸ýÅý·×</option>
        <option value="Si">ÈÎÇä¾ðÊó</option>
        <option value="Rk">¥é¥ó¥­¥ó¥°</option>
        </select>
        <input type=submit class=button onClick="return OpenWindow('','playerlist',0,0,this.form)" value="$set::okb">
        <input type=hidden name=md value="playerlist">
        <input type=hidden name=pl value="$I->{pl}">
        </td>
        </form>
        <form name=spotform method=post action=$set::cgi_url target=spot>
        <td nowrap>
        <select name=md size=8 class=select>$spotoption<option value=church_before>¶µ²ñ¤Ø¹Ô¤¯</option></select>
        <input type=submit class=button onClick="return OpenWindow('','spot',400,500,this.form)" value="$set::okb">
        <input type=hidden name=id value="$F{id}">
        <input type=hidden name=ps value="$F{ps}">
        </td>
        </form>
        <form name=findform method=post action=$set::cgi_url target=find>
        <td nowrap width=100% class=r>
        <select name=do class=select>$do</select>
        <input type=submit class=button onClick="return OpenWindow('','find',400,500,this.form)" value="$set::okb">
        <input type=hidden name=md value="find">
        <input type=hidden name=id value="$F{id}">
        <input type=hidden name=ps value="$F{ps}">
        </td>
        </form>
        </tr>
        </table>
    
        <table class=outertable>
        <tr>
        <form method=post action=$set::cgi_url target=mailbox>
        <td width=100% class=r>
        <input type=submit class=button onClick="return OpenWindow('','mailbox',600,600,this.form)" value="¼ê»æ¤òÆÉ¤à">
        <input type=hidden name=md value="mail_box">
        <input type=hidden name=id value="$F{id}">
        <input type=hidden name=ps value="$F{ps}">
        </td>
        </form>
        <form method=post action=$set::cgi_url target=mail>
        <td>
        <input type=submit class=button onClick="return OpenWindow('','mail',400,500,this.form)" value="¼ê»æ¤ò½ñ¤¯">
        <input type=hidden name=md value="mail_before">
        <input type=hidden name=id value="$F{id}">
        <input type=hidden name=ps value="$F{ps}">
        </td>
        </form>
        </tr>
        </table>
    
        </td>
    
        <td width=50%>
        <div class=label>¥¹¥Æ¡¼¥¿¥¹</div>
        <table class=outertable border=1>
        <tr>
        <th nowrap class=padding><img name=I2 src=$set::mim_dir/$I->{im} class=image><br><span id=nm>$I->{nm}</span></th>
        <td width=100% rowspan=2>
    
        <table width=100%>
        <tr>
        <td class=padding width=40%>
        $set::lab{sx}¡§<img src=$set::mim_dir/$I->{sx}.gif><br>
        $set::lab{kg}¡§<img src=$set::mim_dir/flag$I->{kg}.gif title=$I->{Kg}{nm}><br>
        $set::lab{jb}¡§<span id=jb>$I->{jb}</span><br>
        $set::lab{lv}¡§<span id=lv>$I->{lv}</span><br>
        $set::lab{ex}¡§<span id=ex>$I->{ex}</span><br>
        $set::lab{gl}¡§<span id=gl>$I->{gl}</span> $set::mny<br>
        $set::lab{rw}¡§<span id=rw>$I->{rw}</span> $set::mny<br>
        $set::lab{da}¡§<span id=da>$I->{Da}</span><br>
        $set::lab{ij}¡§<span id=ij>$I->{Ij}</span><br>
        $set::lab{cd}¡§<span id=cd>$I->{Cd}{in}</span><br>
        </td>
        <td class=padding>
        $set::eqp{rh}¡§<span id=rh>$I->{Rh}{Im}$I->{Rh}{nm}$I->{Rh}{Ef}</span><br>
        $set::eqp{lh}¡§<span id=lh>$I->{Lh}{Im}$I->{Lh}{nm}$I->{Lh}{Ef}</span><br>
        $set::eqp{sb}¡§<span id=sb>$I->{Sb}{Im}$I->{Sb}{nm}$I->{Sb}{Ef}</span><br>
        $set::eqp{hd}¡§<span id=hd>$I->{Hd}{Im}$I->{Hd}{nm}$I->{Hd}{Ef}</span><br>
        $set::eqp{bd}¡§<span id=bd>$I->{Bd}{Im}$I->{Bd}{nm}$I->{Bd}{Ef}</span><br>
        $set::eqp{lg}¡§<span id=lg>$I->{Lg}{Im}$I->{Lg}{nm}$I->{Lg}{Ef}</span><br>
        $set::eqp{nk}¡§<span id=nk>$I->{Nk}{Im}$I->{Nk}{nm}$I->{Nk}{Ef}</span><br>
        $set::eqp{fg}¡§<span id=fg>$I->{Fg}{Im}$I->{Fg}{nm}$I->{Fg}{Ef}</span><br>
        </td>
        </tr>
        </table>
        </td>
        </tr>
        <tr>
        <th><span id=pim>$I->{Co}{Im}</span><br><span id=pnm>$I->{Co}{nm}</span></th>
        </tr>
        </table>
    
        <table class=outertable border=1>
        <tr>
        <td width=100>
        <table>
        <tr>
        <td nowrap class=monospace>$set::lab{tc}</td>
        <td nowrap class=r><span id=tc>$I->{tc}</span></td>
        <td width=100%><span id=Gtc>$I->{Gtc}</span></td>
        </tr>
        <tr> 
        <td nowrap class=monospace>$set::lab{st}</td>
        <td nowrap class=r><span id=st>$I->{st}</span></td>
        <td width=100%><span id=Gst>$I->{Gst}</span></td>
        </tr>
        <tr> 
        <td nowrap class=monospace>$set::lab{dx}</td>
        <td nowrap class=r><span id=dx>$I->{dx}</span></td>
        <td width=100%><span id=Gdx>$I->{Gdx}</span></td>
        </tr>
        <tr> 
        <td nowrap class=monospace>$set::lab{in}</td>
        <td nowrap class=r><span id=in>$I->{in}</span></td>
        <td width=100%><span id=Gin>$I->{Gin}</span></td>
        </tr>
        <tr> 
        <td nowrap class=monospace>$set::lab{cn}</td>
        <td nowrap class=r><span id=cn>$I->{cn}</span></td>
        <td width=100%><span id=Gcn>$I->{Gcn}</span></td>
        </tr>
        </table>
        </td>
        <td>
        <table>
        <tr>
        <td nowrap class=monospace>$set::lab{lf}</td>
        <td nowrap class=r><span id=lf>$I->{lf}</span></td>
        <td width=100%><span id=Glf class=gage>$I->{Glf}$I->{Xlf}</span></td>
        </tr>
        <tr> 
        <td nowrap class=monospace>$set::lab{vt}</td>
        <td nowrap class=r><span id=vt>$I->{Vt}/$I->{Mvt}</span></td>
        <td width=100%><span id=Gvt class=gage>$I->{Gvt}$I->{Xvt}</span></td>
        </tr>
        <tr> 
        <td nowrap class=monospace>$set::lab{hl}</td>
        <td nowrap class=r><span id=hl>$I->{hl}</span></td>
        <td width=100%><span id=Ghl class=gage>$I->{Ghl}$I->{Xhl}</span></td>
        </tr>
        <tr> 
        <td nowrap class=monospace>$set::lab{ap}</td>
        <td nowrap class=r><span id=ap>$I->{ap}</span></td>
        <td width=100%><span id=Gap class=gage>$I->{Gap}$I->{Xap}</span></td>
        </tr>
        <tr> 
        <td nowrap class=monospace>$set::lab{hy}</td>
        <td nowrap class=r><span id=hy>$I->{hy}</span></td>
        <td width=100%><span id=Ghy class=gage>$I->{Ghy}$I->{Xhy}</span></td>
        </tr>
        </table>
        </td>
        </tr>
        </table>
    
        <table class=outertable>
        <tr> 
        <td width=33%>
        <a class=back href=$set::htm_dir/manual/ target=_blank>¥Þ¥Ë¥å¥¢¥ë</a><br>
        <a class=back href=$set::htm_dir/kingdom.html target=_blank>¹ñ°ìÍ÷ɽ\</a><br>
        </td>
        <td width=33%>
        </td>
        <td width=33%>
        </td>
        </tr>
        </table>
        </td>
        </tr>
        </table>
        <div class=inform><div id=newmail></div><div id=newrecord></div><div id=revive></div></div>
        END_OF_HTML
    

    OpenWindow¤ò¤¤¤¸¤Ã¤¿¤À¤±¤Ê¤ó¤Ç¤¹¤¬¡¢½¤Àµ¤¬¤ä¤ä¤³¤·¤¤¤Î¤ÇÃÖ¤­´¹¤¨¤Ç¡£

    library/church.cgi¤ò³«¤¯
    sub church_before:
        <input type=button class=button onClick="OpenWindow('$set::cem_htm','cemetery',1024,768)" value="$set::lab{pt}ÊèÃÏ">
    ¢­
        <input type=button class=button onClick="return OpenWindow('$set::cem_htm','cemetery',0,0)" value="$set::lab{pt}ÊèÃÏ">
    
    library/partner.cgi¤ò³«¤¯
    sub partner_talk:
        <input type=submit class=button onClick="OpenWindow('$set::cgi_url','partner',300,500)" value="$U->{nm}¤Î¥¹¥Æ¡¼¥¿¥¹">
    ¢­
        <input type=submit class=button onClick="return OpenWindow('','partner',300,500,this.form)" value="$U->{nm}¤Î¥¹¥Æ¡¼¥¿¥¹">
    
    javascript/OpenWindow.js¤ò³«¤¯
    function OpenWindow(url,name,w_size,h_size,self){
    
       if (typeof sos3 == "undefined")
          sos3 = opener && typeof opener.sos3 != "undefined" ? opener.sos3 : { window:{} };
    
       if (!self || !sos3.window[name] || sos3.window[name].closed) {
          if (!url) url = "about:blank";
          if (!w_size) w_size = screen.availWidth;
          if (!h_size) h_size = screen.availHeight;
    
          option = "scrollbars=yes,resizable=yes,width=" + w_size + ",height=" + h_size;
          sos3.window[name] = window.open(url,name,option);
    
          if (opener) opener.sos3 = sos3;
       }
    
       if (self) self.submit();
       return false;
    }
    

    ¾åµ­¤ËÃÖ¤­´¹¤¨¡£
    self¤¬¤Ê¤¤¡¦¾®Á뤬³«¤«¤ì¤¿¤³¤È¤¬¤Ê¤¤¡¦¾®Á뤬ÊĤ¸¤é¤ì¤Æ¤¤¤ë¾ì¹ç¤Ë¾®Áë¤ò³«¤­¤Þ¤¹¡£
    self¤Ë¤Ï¥Õ¥©¡¼¥à¼«¿È¤¬Æþ¤ê¡¢self¤¬¤¢¤ë¾ì¹ç¤Ë¤Ïsubmit¤µ¤ì¤Þ¤¹¡£
    OpenWindow¤¬¼Â¹Ô¤µ¤ì¤¿¤È¤­¤ÏHTML¤Îsubmit¥Ü¥¿¥ó¤Ïưºî¤·¤Þ¤»¤ó¡£

    ¡Ú¥ê¥¹¥È¤ØÌá¤ë¡Û

    ¡Ú¥È¥Ã¥×¤ØÌá¤ë¡Û



  6. ¤Á¤ç¤Ã¤È¤·¤¿¤³¤È
    1. ¥¤¥ó¥Õ¥©¥á¡¼¥·¥ç¥óºîÀ®¤Çʸ»ú¼ÂÂλ²¾È¤¬»È¤¨¤ë¤è¤¦¤Ë
    2. Spetial Thanks¤Î¥¢¥ó¥«¡¼¤ò̵¸ú¤Ë
    3. ÀÜ¿¨¤·¤¿Áê¼ê¤¬¥í¥°¥¤¥óÃæ¤Î¾ì¹ç¤ËÌá¤ë¥Ü¥¿¥ó
    4. ¥â¥ó¥¹¥¿¡¼¤Î½Ð¤ëÃϰè¤Ç¤ª¶â¤ò½¦¤¨¤ë¤è¤¦¤Ë
    5. ÇÀ¾ì¤Ç¤âAPP¤Ë¤è¤Ã¤ÆÈÎÇä²Á³Ê¤¬ÊÑÆ°¤¹¤ë¤è¤¦¤Ë
    6. Ê£¿ô¥ª¡¼¥Ö¥È¥ì¡¼¥É
    7. ¤¤¤Ä¤â¤Î2ÇܺîÀ®¤ËÀ®¸ù¤·¤¿¤é³ÍÆÀ·Ð¸³Ãͤâ2ÇܤË
    8. ¥°¥ì¡¼¥É¤òʸ»ú¤Çɽ¼¨
    9. Åô¤ê¤òÊä½õ¤È¤·¤ÆÁõÈ÷½ÐÍè¤ë¤è¤¦¤Ë
    10. °ìÄê´ü´ÖÂпÍÀï¤ò»Å³Ý¤±¤Æ¤¤¤Ê¤¤¥×¥ì¥¤¥ä¡¼¤Ï¾Þ¶â¼ó¤Ç¤â¥¬¡¼¥É¤Ë¼é¤é¤ì¤ë¤è¤¦¤Ë
    11. ξ¼êÁõÈ÷¤Î¥¢¥¤¥Æ¥à¤òÊä½õ¤ËÁõÈ÷¤·¤Æ¤¤¤ë¤È¤­¤Ç¤âº¸¼ê¤Ë¥¢¥¤¥Æ¥à¤òÁõÈ÷½ÐÍè¤ë¤è¤¦¤Ë
    12. ¸¢Íø½ñÈÎÇäɽ¼¨¤Î½ç½ø¤òÊѹ¹
    13. °Üư¥³¥Þ¥ó¥É¤Î¥×¥ë¥À¥¦¥ó¤Î½ç½ø¤òÊѹ¹
    14. ¥Ú¥Ã¥È¤Ë¤¨¤µ¤òÍ¿¤¨¤ë¤È¤­¡¢¸Ä¿ô»ØÄê¤Ç¤­¤ë¤è¤¦¤Ë
    15. ¥ª¡¼¥ÖÀßÄê¤Î¡Ö°ì¸Ä¤º¤Ä»Ä¤·¤Æ¤½¤ì°Ê³°¤Ï¥È¥ì¡¼¥É¡×¤Ç¸Ä¿ô»ØÄê¤Ç¤­¤ë¤è¤¦¤Ë
    16. ¥Ú¥Ã¥È¤Î¤ª¤Ê¤«¤Î¾õÂÖ¤¬MAX¤Î¤È¤­¤Ë¡ÖËþÊ¢¡×¤Îɽ¼¨¤Ë¤Ê¤ë¤è¤¦¤Ë
    ÉÔ¶ñ¹ç¤Ç¤Ï¤Ê¤¤¤±¤É¤ä¤Ã¤Æ¤ß¤¿¤³¤È¤Ç¤¹¡£

    ¥¤¥ó¥Õ¥©¥á¡¼¥·¥ç¥óºîÀ®¤Çʸ»ú¼ÂÂλ²¾È¤¬»È¤¨¤ë¤è¤¦¤Ë(ÌäÂ꤬µ¯¤³¤ê¤½¤¦¤Ê¤Î¤Ç¤ä¤é¤Ê¤¤¤Û¤¦¤¬¤¤¤¤¤«¤â)

    master.cgi¤ò³«¤¯
    sub edit_information:
        $t1 =~ s/<br>/\n/g;
    ¢­
        $t1 =~ s/<br>/\n/g;
        $t1 =~ s/&/&amp;/g;
    
    sub make_information:
        $F{in} =~ s/&lt;/</g;
        $F{in} =~ s/&gt;/>/g;
    ¢­
        $F{in} =~ s/&lt;/</g;
        $F{in} =~ s/&gt;/>/g;
        $F{in} =~ s/&amp;/&/g;
    
    library/base.cgi¤ò³«¤¯
    sub decode:
            $V =~ s/</&lt;/g;
            $V =~ s/>/&gt;/g;
    ¢­
            $V =~ s/&/&amp;/g;
            $V =~ s/</&lt;/g;
            $V =~ s/>/&gt;/g;
    

    ¡Ú¥ê¥¹¥È¤ØÌá¤ë¡Û

    Spetial Thanks¤Î¥¢¥ó¥«¡¼¤ò̵¸ú¤Ë¡£

    library/rights.cgi¤ò³«¤¯
    sub rights:
        print qq|<a href="#" onClick="GetView('creators')">$creators_label</a>\n| if !$set::stv;
    ¢­
        print qq|<a href="#" onClick="GetView('creators');return false">$creators_label</a>\n| if !$set::stv;
    

    ¡Ú¥ê¥¹¥È¤ØÌá¤ë¡Û

    ÀÜ¿¨¤·¤¿Áê¼ê¤¬¥í¥°¥¤¥óÃæ¤Î¾ì¹ç¤ËÌá¤ë¥Ü¥¿¥ó¤òɽ¼¨¤·¤Æ¤ß¤ë¡£

    library/base.cgi¤ò³«¤¯
    sub login_check:
    my  $T = shift; # true -> return true, false -> error
    ¢­
    my  $T = shift; # mode -> say, true -> return true, false -> error
    
    sub login_check:
            if ($T) { return 1 }
    ¢­
            if ($T =~ /\D/) { &say("$S->{nm}¤Ï¸½ºß¥í¥°¥¤¥óÃæ¤Ç¤¹",$T) }
            if ($T) { return 1 }
    
    library/bounty.cgi¤ò³«¤¯
    sub bounty_after:
        &login_check($U);
    ¢­
        &login_check($U,'bounty_before');
    
    library/buy.cgi¤ò³«¤¯
    sub buy_before:
        &login_check($U);
    ¢­
        &login_check($U,'contact_before');
    
    sub buy_after:
        &login_check($U);
    ¢­
        &login_check($U,'contact_before');
    
    library/contact.cgi¤ò³«¤¯
    sub contact_after:
        &login_check($U);
    ¢­
        &login_check($U,'contact_before');
    
    library/cure.cgi¤ò³«¤¯
    sub cure_before:
        &login_check($U);
    ¢­
        &login_check($U,'contact_before');
    
    sub cure_after:
        &login_check($U);
    ¢­
        &login_check($U,'contact_before');
    
    library/destone.cgi¤ò³«¤¯
    sub destone:
        &login_check($U);
    ¢­
        &login_check($U,'contact_before');
    
    library/fight.cgi¤ò³«¤¯
    sub fight_player:
        &login_check($U);
    ¢­
        &login_check($U,'contact_before');
    
    library/trade.cgi¤ò³«¤¯
    sub trade_before:
        &login_check($U);
    ¢­
        &login_check($U,'contact_before');
    
    sub trade_after:
        &login_check($U);
    ¢­
        &login_check($U,'contact_before');
    

    ¡Ú¥ê¥¹¥È¤ØÌá¤ë¡Û

    ¥â¥ó¥¹¥¿¡¼¤Î½Ð¤ëÃϰè¤Ç¤ª¶â¤ò½¦¤¨¤ë¤è¤¦¤Ë¤·¤Æ¤ß¤ë¡£

    library/find.cgi¤ò³«¤¯
    sub find:
            &found($I,"monster_$I->{pl}",$set::fvt,'õº÷','¤Ä¼ê¤ËÆþ¤ì¤Þ¤·¤¿',0,'monster');
    ¢­
            &found($I,"monster_$I->{pl}",$set::fvt,'õº÷','¤Ä¼ê¤ËÆþ¤ì¤Þ¤·¤¿',1,'monster');
    
    sub find:
        &reload_data('gl') if !$I->{Pl}{ev}{Ms};
    ¢­
        &reload_data('gl');
    

    ¡Ú¥ê¥¹¥È¤ØÌá¤ë¡Û

    ÇÀ¾ì¤Ç¤âAPP¤Ë¤è¤Ã¤ÆÈÎÇä²Á³Ê¤¬ÊÑÆ°¤¹¤ë¤è¤¦¤Ë¤·¤Æ¤ß¤ë¡£

    library/farm.cgi¤ò³«¤¯
    # Sub Farm Before #
    ¢­
    require "$set::lib_dir/status.cgi";
    
    # Sub Farm Before #
    
    sub farm_before:
        &dead_check($I,'CLOSE');
    ¢­
        &dead_check($I,'CLOSE');
    
        &get_appearance($I);
    
    sub farm_after:
        $I = &get_user('I');
    ¢­
        $I = &get_user('I');
    
        &get_appearance($I);
    

    ¡Ú¥ê¥¹¥È¤ØÌá¤ë¡Û

    Ê£¿ô¥ª¡¼¥Ö¥È¥ì¡¼¥É¤ò¼ÂÁõ¤·¤Æ¤ß¤ë¡£

    library/trade.cgi¤ò³«¤¯
    sub trade_before:
    my  $checked;
    ¤È
        $checked = ' checked';
    ¤È
                $checked = '';
    ¤òÁ´¤Æºï½ü
    
    sub trade_before:
                $t1 .= qq|<input type=radio name=Iob class=radio value="$_"$checked> |;
    ¢­
                $t1 .= "<input type=checkbox name=I$_ class=checkbox> ";
                $t1 .= "<input type=text size=2 name=tI$_ class=textbox value=1> ";
    
    sub trade_before:
                $t2 .= qq|<input type=radio name=Uob class=radio value="$_"$checked> |;
    ¢­
                $t2 .= "<input type=checkbox name=U$_ class=checkbox> ";
                $t2 .= "<input type=text size=2 name=tU$_ class=textbox value=1> ";
    
    sub trade_before:
        <tt>¤½¤ì¤¾¤ì¥È¥ì¡¼¥É¤¹¤ë$set::orb{x}¤òÁªÂò¤·¤Æ¤¯¤À¤µ¤¤¡£</tt><br>
    ¢­
        <tt>¤½¤ì¤¾¤ì¥È¥ì¡¼¥É¤¹¤ë$set::orb{x}¤Ë¥Á¥§¥Ã¥¯¤òÆþ¤ì¡¢¸Ä¿ô¤ò¤¢¤ï¤»¤Æ$set::okb¥Ü¥¿¥ó¤ò²¡¤·¤Æ¤·¤Æ¤¯¤À¤µ¤¤¡£</tt><br>
    
    sub trade_after:
    sub trade_after {
    ¢­
    sub trade_after {
    my ($t1,$t2);
    my ($Itc,$Utc,$count);
    
    sub trade_after:
        unless ($I->{ob} =~ s/$F{Iob}// || $I->{ob} =~ s/$F{Iob}//i) { &say('¥È¥ì¡¼¥É¤Ë¼ºÇÔ¤·¤Þ¤·¤¿','trade_before') }
        else { @{$I->{Ob}} = split(//,$I->{ob}.uc($F{Uob})) }
        &set_orb($I);
    
        unless ($U->{ob} =~ s/$F{Uob}//) { &say('¥È¥ì¡¼¥É¤Ë¼ºÇÔ¤·¤Þ¤·¤¿','trade_before') }
        else { @{$U->{Ob}} = split(//,$U->{ob}.uc($F{Iob})) }
        &set_orb($U);
    ¢­
        foreach ('a' .. 'l') {
            $count = 0;
            while ($F{"I$_"} && $count < $F{"tI$_"}) {
                $I->{ob} =~ s/$_// || $I->{ob} =~ s/$_//i || &say("$U->{nm}¤ËÅϤ¹$set::orb{$_}$set::orb{x}¤¬Â­¤ê¤Þ¤»¤ó",'trade_before');
    
                $t1 .= &orb_image($_);
                $U->{ob} .= uc($_);
    
                $Itc++;
                $count++;
            }
    
            $count = 0;
            while ($F{"U$_"} && $count < $F{"tU$_"}) {
                $U->{ob} =~ s/$_// || &say("$I->{nm}¤ËÅϤ¹$set::orb{$_}$set::orb{x}¤¬Â­¤ê¤Þ¤»¤ó",'trade_before');
    
                $t2 .= &orb_image($_);
                $I->{ob} .= uc($_);
    
                $Utc++;
                $count++;
            }
        }
    
        &say("¥È¥ì¡¼¥É¤¹¤ë$set::orb{x}¤Î¿ô¤¬°ìÃפ·¤Þ¤»¤ó",'trade_before') if $Itc != $Utc;
    
        @{$I->{Ob}} = split(//,$I->{ob});
        @{$U->{Ob}} = split(//,$U->{ob});
    
        &set_orb($I);
        &set_orb($U);
    
    sub trade_after:
        lc $F{Iob};
        lc $F{Uob};
    
        &set_record("$I->{nm}¤¬$set::orb{$F{Iob}}$set::orb{x}¤ò$U->{nm}¤Î$set::orb{$F{Uob}}$set::orb{x}¤È¥È¥ì¡¼¥É¤·¤Þ¤·¤¿¡£");
        &get_words($U);
        &partner('',"$set::orb{x}¤ò¥È¥ì¡¼¥É¤·¤Þ¤·¤¿");
    ¢­
        &set_record("$I->{nm}¤¬$set::orb{x}¤Î¥È¥ì¡¼¥É¤ËÍè¤Þ¤·¤¿¡£<br>\n$t1¡§$I->{nm}¤Î½Ð¤·¤¿$set::orb{x}<br>\n$t2¡§$U->{nm}¤Î½Ð¤·¤¿$set::orb{x}");
        &get_words($U);
        &partner($U->{w10},"$set::orb{x}¤ò¥È¥ì¡¼¥É¤·¤Þ¤·¤¿¡£<br>\n$t1¡§$I->{nm}¤Î½Ð¤·¤¿$set::orb{x}<br>\n$t2¡§$U->{nm}¤Î½Ð¤·¤¿$set::orb{x}");
    

    ¡Ú¥ê¥¹¥È¤ØÌá¤ë¡Û

    ¤¤¤Ä¤â¤Î2ÇܺîÀ®¤ËÀ®¸ù¤·¤¿¤é³ÍÆÀ·Ð¸³Ãͤâ2Çܤˤ·¤Æ¤ß¤ë¡£

    set.cgi¤ò³«¤¯
    # ¹çÀ® Compose ####################################### #
    $dex = 2;                    # ¥À¥Ö¥ë¥í¡¼¥ë¤ËÀ®¸ù¤·¤¿¤È¤­¤Ï³ÍÆÀ·Ð¸³ÃͤònÇܤˤ¹¤ë
    
    library/compose.cgi¤ò³«¤¯
    sub compose_after:
            &double_roll($I,$Ui->{dt}) if $Ui->{dt}{cl} =~ /(Fd|Mt)/;
    ¢­
            &double_roll($I,$Ui->{dt}) if $Ui->{dt}{cl} =~ /(Fd|Mt)/;
            $Ui->{ex} = int($Ui->{ex} * $set::dex) if $I->{DB};
    
    sub double_roll:
            $Si->{qn} *= $set::ddu;
    ¢­
            $Si->{qn} *= $set::ddu;
            $S->{DB} = 1;
    

    ±þÍѤǥ¨¥¯¥»¥ì¥ó¥È¥í¡¼¥ë¤Î¤È¤­¤â½ÐÍè¤Þ¤¹¤Í¡£

    ¡Ú¥ê¥¹¥È¤ØÌá¤ë¡Û

    ¥°¥ì¡¼¥É¤òʸ»ú¤Çɽ¼¨¤·¤Æ¤ß¤ë¡£

    ¥°¥ì¡¼¥É2°Ê¾å¤Î¥¢¥¤¥Æ¥à¤ò¡ÖÌÚ¤ÎÈÄ:G2¡×¤Î¤è¤¦¤Ëɽ¼¨¤·¤Þ¤¹¡£
    ¿§Ê¬¤±¤µ¤ì¤Æ¤¤¤Æ¤âʬ¤«¤ê¤Ë¤¯¤¤»þ¤Ë¤ä¤Ã¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£

    library/base.cgi¤ò³«¤¯
    sub decorate_item:
        $V = $Si->{Nm} ? $Si->{Nm} : $Si->{nm};
    ¢­
        $V = $Si->{Nm} ? $Si->{Nm} : $Si->{nm};
        $V .= ":G$Si->{gd}" if $Si->{gd} > 1;
    

    ¡Ú¥ê¥¹¥È¤ØÌá¤ë¡Û

    Åô¤ê¤òÊä½õ¤È¤·¤ÆÁõÈ÷½ÐÍè¤ë¤è¤¦¤Ë¤·¤Æ¤ß¤ë¡£

    ¹Û»³¤ä¥À¥ó¥¸¥ç¥ó¤Ç»ÈÍѤ¹¤ëÅô¤ê¤òÊä½õÁõÈ÷¤È¤·¤Æ»ý¤Æ¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£
    ¤³¤ì¤Ë¤è¤ê¥À¥ó¥¸¥ç¥ó¤Çξ¼êÁõÈ÷¤ò¼çÁõÈ÷¤È¤·¤ÆÁõÈ÷¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ë¤Ê¤É¡¢ÁõÈ÷ÁªÂò¤ÎÉý¤¬¹­¤¬¤ê¤Þ¤¹¡£
    ¤½¤Î¤«¤ï¤ê¡¢Î¾¼êÁõÈ÷¤ò¤Ï¤¸¤«¤ì¤¿¤È¤­¤Ï¥í¥¦¥½¥¯¤ÇÀ臘±©ÌÜ¤Ë¡Ä¡Ê¥í¥¦¥½¥¯¤ÏÁǼ갷¤¤¡Ë

    item/market_sale_item.cgi¤ò³«¤¯
        'Candle_mk' => {
                  nm => '¥í¥¦¥½¥¯',
                  cl => 'Tl',
                  id => 'Candle_mk',
                  ql => 'Lh,Li,Dk,Ns',
    ¢­
        'Candle_mk' => {
                  nm => '¥í¥¦¥½¥¯',
                  cl => 'Tl',
                  id => 'Candle_mk',
                  ql => 'Lh,Sb,Li,Dk,Ns',
    

    ¥«¥ó¥Æ¥é¤¬¤¢¤ë¾ì¹ç¤ÏƱÍͤË'Sb'¤òÄɲá£

    library/break.cgi¤ò³«¤¯
    sub break_check:
        $e = 'sb' if $F && !$S->{Rh}{ql}{$F};
    
        $E = ucfirst $e;
    ¢­
        $E = ucfirst $e;
    
        ($e,$E) = ('sb','Sb') if $F && !$S->{$E}{ql}{$F};
    
    library/dungeon.cgi¤ò³«¤¯
    sub enter_check:
            $F = 1 if $I->{$E}{ql}{Li};
    ¢­
            ($F = 1) && last if $I->{$E}{ql}{Li};
    
    sub enter_check:
        &set_item($I) if &break_check($I,'lh');
    ¢­
        &set_item($I) if &break_check($I,$e);
    
    library/mine.cgi¤ò³«¤¯
    sub mine_after:
        &say("ÌÀ¤«¤ê¤òÅô¤¹¥¢¥¤¥Æ¥à¤òÁõÈ÷¤·¤Æ¤¤¤Þ¤»¤ó",'CLOSE') if !$I->{Lh}{ql}{Li};
        &say("$I->{Lh}{Im}$I->{Lh}{nm}¤ÎÂѵ×ÎϤϻĤê$I->{Lh}{db}¤Ç¤¹",'mine_before') if $I->{Lh}{db} < $F{do};
    ¢­
        $Y = $I->{Lh}{ql}{Li} ? 'Lh' : $I->{Sb}{ql}{Li} ? 'Sb' : 0;
        &say("ÌÀ¤«¤ê¤òÅô¤¹¥¢¥¤¥Æ¥à¤òÁõÈ÷¤·¤Æ¤¤¤Þ¤»¤ó",'CLOSE') if !$Y;
        &say("$I->{$Y}{Im}$I->{$Y}{nm}¤ÎÂѵ×ÎϤϻĤê$I->{$Y}{db}¤Ç¤¹",'mine_before') if $I->{$Y}{db} < $F{do};
    
    sub enter_check:
        &break_check($I,'lh',$F{do});
    ¢­
        &break_check($I,'lh',$F{do},'Li');
    

    ¡Ú¥ê¥¹¥È¤ØÌá¤ë¡Û

    °ìÄê´ü´ÖÂпÍÀï¤ò»Å³Ý¤±¤Æ¤¤¤Ê¤¤¥×¥ì¥¤¥ä¡¼¤Ï¾Þ¶â¼ó¤Ç¤â¥¬¡¼¥É¤Ë¼é¤é¤ì¤ë¤è¤¦¤Ë¤·¤Æ¤ß¤ë¡£

    ÀïÆ®¤Î°Õ»×¤Î¤Ê¤¤°ìÈÌ»Ô̱¤ËÊ󾩶â¤ò·ü¤±¤ë¤³¤È¤Ç¾Þ¶â¼ó¤Ë¤·¡¢³¹Ãæ¤ÇµÔ»¦¤Ç¤­¤Æ¤·¤Þ¤¦¤Î¤Ç
    ¤½¤ÎÂкö¤È¤·¤ÆÂпÍÀï¤ò»Å³Ý¤±¤Æ¤¤¤Ê¤¤¥×¥ì¥¤¥ä¡¼¤Ï¾Þ¶â¼ó¤Ç¤â¥¬¡¼¥É¤Ë¼é¤é¤ì¤ë¤è¤¦¤Ë¤·¤Æ¤ß¤Þ¤¹¡£

    set.cgi¤ò³«¤¯
    # ¾Þ¶â¼ó Bounty ###################################### #
    $bod = 7;                    # nÆü´ÖÂпÍÀï¤ò»Å³Ý¤±¤Æ¤¤¤Ê¤¤¤È¥¬¡¼¥É¤Ë¼é¤é¤ì¤ë¤è¤¦¤Ë¤¹¤ë(yes=Æü,no=0)
    
    library/fight.cgi¤ò³«¤¯
    sub fight_player:
        &partner('',"<img src=$set::mim_dir/envGd.gif><br><br>$I->{Pl}{nm}¤Ç¤ÎÀïÆ®¤Ï¶Ø»ß¤µ¤ì¤Æ¤¤¤Þ¤¹") if $I->{Pl}{ev}{Gd} && !$U->{vp} && $U->{rw} < $set::sps;
    ¢­
        $U->{en} =~ s/^(\d+),//;
        $U->{FT} = $1 ? $1 : 0;
    
        &partner('',"<img src=$set::mim_dir/envGd.gif><br><br>$I->{Pl}{nm}¤Ç¤ÎÀïÆ®¤Ï¶Ø»ß¤µ¤ì¤Æ¤¤¤Þ¤¹") if $I->{Pl}{ev}{Gd} && !$U->{vp} && ($U->{rw} < $set::sps || time - $U->{FT} > $set::bod * 3600 * 24);
    
    sub fight_player:
        # ¼«Ê¬¤òºÇ¶áÀï¤Ã¤¿Áê¼ê¤ËÄɲà #
        pop(@Uen) if @Uen >= $set::elx;
        $U->{en} = join(',',"$I->{id}:".time,@Uen);
    ¢­
        # ¼«Ê¬¤ÎÀïÆ®ÍúÎò¤òºîÀ® #
        $I->{en} = join(',',time,($I->{en} =~ /^[^,]*,(.*)/)[0]);
    
        # ¼«Ê¬¤òºÇ¶áÀï¤Ã¤¿Áê¼ê¤ËÄɲà #
        pop(@Uen) if @Uen >= $set::elx;
        $U->{en} = join(',',$U->{FT},"$I->{id}:".time,@Uen);
    
    library/contact.cgi¤ò³«¤¯
    sub contact_before:
            $U->{Li} = &login_check($U,1) ? '¡û':
                    $U->{rw} >= $set::sps ? '¢§':
    ¢­
            $U->{Bo} = $U->{rw} >= $set::sps && (!$I->{Pl}{ev}{Gd} || time - (split /,/,$U->{en})[0] <= $set::bod * 3600 * 24) ? 1 : 0;
            $U->{Li} = &login_check($U,1) ? '¡û':
                                 $U->{Bo} ? '¢§':
    
    library/partner.cgi¤ò³«¤¯
    sub partner_status:
        $U->{rw} = "<span class=alert>$U->{rw}</span>" if $U->{rw} >= $set::sps;
    ¢­
        $U->{rw} = "<span class=alert>$U->{rw}</span>" if $U->{rw} >= $set::sps && (!$U->{Pl}{ev}{Gd} || time - (split /,/,$U->{en})[0] <= $set::bod * 3600 * 24);
    
    library/playerlist.cgi¤ò³«¤¯
    sub playerlist:
        &get_resident($I);
    ¢­
        &get_place($I);
        &get_resident($I);
    
    sub playerlist:
            next if $F{or} eq 'Bt' &&  $U->{rw} < $set::sps;
            $U->{Li} = &login_check($U,1) ? '¡û':
                    $U->{rw} >= $set::sps ? '¢§':
    ¢­
            next if $F{or} eq 'Bt' &&  $U->{rw} < $set::sps;
            $U->{Bo} = $U->{rw} >= $set::sps && (!$I->{Pl}{ev}{Gd} || time - (split /,/,$U->{en})[0] <= $set::bod * 3600 * 24) ? 1 : 0;
            $U->{Li} = &login_check($U,1) ? '¡û':
                                 $U->{Bo} ? '¢§':
    

    ¡Ú¥ê¥¹¥È¤ØÌá¤ë¡Û

    ξ¼êÁõÈ÷¤Î¥¢¥¤¥Æ¥à¤òÊä½õ¤ËÁõÈ÷¤·¤Æ¤¤¤ë¤È¤­¤Ç¤âº¸¼ê¤Ë¥¢¥¤¥Æ¥à¤òÁõÈ÷½ÐÍè¤ë¤è¤¦¤Ë¤·¤Æ¤ß¤ë¡£

    º¸¼êÁõÈ÷¤ÈƱ»þ¤Ëξ¼êÁõÈ÷¤òÊä½õ¤ËÁõÈ÷¤Ç¤­¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£
    ÀïÆ®Ãæ¡¢¼çÁõÈ÷¤«¤éÊä½õÁõÈ÷¤Ë»ý¤ÁÂØ¤¨¤ë»þ¤Ï²øÎÏ¥¹¥­¥ë¤¬¤Ê¤¤¾ì¹ç¤Ïº¸¼êÁõÈ÷¤ò¤·¤Þ¤¦¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£

    library/equip.cgi¤ò³«¤¯
    sub fitting_room:
        elsif ($Si->{Ql}{Dh} && !$I->{Sk}{Hs} && &equip_check('lh','O')) {
    ¢­
        elsif (!$F{sb} && $Si->{Ql}{Dh} && !$I->{Sk}{Hs} && &equip_check('lh','O')) {
    
    sub equip_check:
        elsif ($T eq 'D' && ($I->{rh} || $I->{sb})) {
    ¢­
        elsif ($T eq 'D' && $I->{$E}) {
    
    sub equip_check:
            &get_equipment($I,'sb');
    ¤È
            elsif ($I->{Sb}{ql}{Dh})  { return 1 }
    ¤òºï½ü
    
    library/fight.cgi¤ò³«¤¯
    sub change_weapon:
                $S->{WO} = 5;   # 5 = ÉûÁõÈ÷ON
                %{$S->{Rh}} = %{$S->{Sb}};
                &M("$S->{Nm}¤Ï$S->{Rh}{nm}¤ò¼è¤ê½Ð¤·¤¿¡£");
    ¢­
                $S->{WO} = 5;   # 5 = ÉûÁõÈ÷ON
                %{$S->{Rh}} = %{$S->{Sb}};
                if ($S->{Rh}{ql}{Dh} && $S->{Lh}{nm} && !$S->{Sk}{Hs}) {
                    &M("$S->{Nm}¤Ï$S->{Lh}{nm}¤ò»ÅÉñ¤¤$S->{Rh}{nm}¤ò¼è¤ê½Ð¤·¤¿¡£");
                    undef $S->{SH} if $S->{Lh}{cl} eq 'Sh';
                    undef %{$S->{Lh}};
                }
                else {
                    &M("$S->{Nm}¤Ï$S->{Rh}{nm}¤ò¼è¤ê½Ð¤·¤¿¡£");
                }
    

    ¡Ú¥ê¥¹¥È¤ØÌá¤ë¡Û

    ¸¢Íø½ñÈÎÇäɽ¼¨¤Î½ç½ø¤òÊѹ¹¤·¤Æ¤ß¤ë¡£

    Á´¤Æ¤Î¥×¥ì¥¤¥ä¡¼¤Ë¼ûÍפΤ¢¤ê¤½¤¦¤Êºâ»º¸¢Íø½ñ¤òÀèÆ¬¤Ë»ý¤Ã¤Æ¤¤¤­¡¢ÀïÆ®¿¦¤Ë¤¢¤Þ¤ê±ï¤Î¤Ê¤¤ÈÎÇä¸¢Íø½ñ¤ò¤½¤Î¼¡¤Ë°Üư¤·¤Þ¤¹¡£

    library/castle.cgi¤ò³«¤¯
    sub castle_before:
        <input type=radio class=radio name=tp value=Dd1 checked> ÈÎÇä¸¢Íø½ñ¤ò¹ØÆþ¤¹¤ë¡¦¡¦¡¦$V1 $set::mny<br>
        <input type=radio class=radio name=tp value=Dd2> ºâ»º¸¢Íø½ñ¤ò¹ØÆþ¤¹¤ë¡¦¡¦¡¦$V2 $set::mny<br>
    ¢­
        <input type=radio class=radio name=tp value=Dd2 checked> ºâ»º¸¢Íø½ñ¤ò¹ØÆþ¤¹¤ë¡¦¡¦¡¦$V2 $set::mny<br>
        <input type=radio class=radio name=tp value=Dd1> ÈÎÇä¸¢Íø½ñ¤ò¹ØÆþ¤¹¤ë¡¦¡¦¡¦$V1 $set::mny<br>
    

    ¡Ú¥ê¥¹¥È¤ØÌá¤ë¡Û

    °Üư¥³¥Þ¥ó¥É¤Î¥×¥ë¥À¥¦¥ó¤Î½ç½ø¤òÊѹ¹¤·¤Æ¤ß¤ë¡£

    »È¤¤¤ä¤¹¤¤Ê¤ӤòÌϺ÷¡£

    data/place.cgi¤ò³«¤¯

    Á´¤Æ¤Î³¹¤Î 'ev' ¤ò

    1. 'Mk' -> »Ô¾ì
    2. 'Bk' -> ¶ä¹Ô
    3. 'Ct' -> ¾ë
    4. 'Hb' -> ¹Á
    5. 'Fm' -> ÇÀ¾ì
    6. 'Fr' -> ¿¹
    7. 'Rv' -> Àî
    8. 'Mn' -> ¹Û»³
    9. 'Dg' -> ¥À¥ó¥¸¥ç¥ó
    10. 'Pb' -> ¸ø½°Íá¾ì
    11. 'Gd' -> ¥¬¡¼¥É
    12. 'Ms' -> ¥â¥ó¥¹¥¿¡¼
    13. 'Dr' -> ¥É¥é¥´¥ó

    ¤Î½ç¤ËʤÙÂØ¤¨

    ¡Ú¥ê¥¹¥È¤ØÌá¤ë¡Û

    ¥Ú¥Ã¥È¤Ë¤¨¤µ¤òÍ¿¤¨¤ë¤È¤­¡¢¸Ä¿ô»ØÄê¤Ç¤­¤ë¤è¤¦¤Ë¤·¤Æ¤ß¤ë¡£

    library/feed.cgi¤ò³«¤¯
    sub feed_before:
            $t1 .= "<input type=checkbox name=$i class=checkbox> ";
            $t1 .= &decorate_item($Ii);
    ¢­
            $t1 .= qq|<tr>\n<td>\n|;
            $t1 .= qq|<input type=checkbox name=$i class=checkbox> |;
            $t1 .= &decorate_item($Ii);
            $t1 .= qq|</td>\n<td class=r>|;
            $t1 .= qq|<input type=textbox name=t$i class=textbox size=5 value=$Ii->{qn}>|;
            $t1 .= qq|</td>\n</tr>\n|;
    
    sub feed_before:
        $t2 = &item_image($Ip)."$Ip->{Nm}<br>\n<br>\n";
    ¢­
        $t2 = &item_image($Ip)."$Ip->{Nm}<br>\n";
    
    sub feed_before:
        $t2
        $t1
    ¢­
        $t2
        <table class=item>
        <tr class=first>
        <td colspan=2 class=r>Í¿¤¨¤ë¸Ä¿ô</td>
        </tr>
        $t1
        </table>
    
    sub feed_after:
    		next if !$F{$i};
            &say('Item Select Error','CLOSE') if !&favorite_check($Ip,$Ii);
    ¢­
    		next if !$F{$i};
            next if $F{"t$i"} <= 0;
            &say('Item Select Error','CLOSE') if !&favorite_check($Ip,$Ii);
            &say("$Ii->{nm}¡§¿ôÃͰʳ°¤Ï»ÈÍѽÐÍè¤Þ¤»¤ó¡£",'pet') if $F{"t$i"} =~ /\D/;
            $F{"t$i"} = $Ii->{qn} if $F{"t$i"} > $Ii->{qn};
    
    sub feed_after:
                $energy += int($Ii->{Ef} * $Ii->{qn});
    ¢­
                $energy += int($Ii->{Ef} * $F{"t$i"});
    
    sub feed_after:
            &M("$Ip->{Nm}¤Ë$Ii->{nm}¤ò¤¢¤²¤Þ¤·¤¿¡£");
            &change_status($Ip,'lf',$Ii->{Ef},1,$Ip->{lx}) if $Ip->{lf} < $Ip->{lx};
            &change_status($I,'bg',-($Ii->{wt} * $Ii->{qn}));
            $Ii->{qn} = 0;
    ¢­
            &M("$Ip->{Nm}¤Ë$Ii->{nm}¤ò".$F{"t$i"}."¸Ä¤¢¤²¤Þ¤·¤¿¡£");
            &change_status($Ip,'lf',$Ii->{Ef},1,$Ip->{lx}) if $Ip->{lf} < $Ip->{lx};
            &change_status($I,'bg',-($Ii->{wt} * $F{"t$i"}));
            &change_status($Ii,'qn',-$F{"t$i"});
    

    ¡Ú¥ê¥¹¥È¤ØÌá¤ë¡Û

    ¥ª¡¼¥ÖÀßÄê¤Î¡Ö°ì¸Ä¤º¤Ä»Ä¤·¤Æ¤½¤ì°Ê³°¤Ï¥È¥ì¡¼¥É¡×¤Ç¸Ä¿ô»ØÄê¤Ç¤­¤ë¤è¤¦¤Ë¤·¤Æ¤ß¤ë¡£

    library/orb.cgi¤ò³«¤¯
    sub orb_before:
        <input type=checkbox name=ta> °ì¸Ä¤º¤Ä»Ä¤·¤Æ¤½¤ì°Ê³°¤Ï¥È¥ì¡¼¥É<br>
    ¢­
        <input type=checkbox name=ta> <input type=text size=2 name=tb class=textbox value=1> ¸Ä¤º¤Ä»Ä¤·¤Æ¤½¤ì°Ê³°¤Ï¥È¥ì¡¼¥É<br>
    
    sub orb_after:
    my  %unique;
    ¢­
    my  %unique;
    
        &say("¿ôÃͰʳ°»ÈÍѤǤ­¤Þ¤»¤ó",'orb_before') if $F{ta} && $F{tb} =~ /[^\d]/;
    
    sub orb_after:
            $F{$_} = 0 if $F{ta} && !$unique{$_}++;
    ¢­
            $F{$_} = 0 if $F{ta} && $unique{$_}++ < $F{tb};
    

    ¡Ú¥ê¥¹¥È¤ØÌá¤ë¡Û

    ¥Ú¥Ã¥È¤Î¤ª¤Ê¤«¤Î¾õÂÖ¤¬MAX¤Î¤È¤­¤Ë¡ÖËþÊ¢¡×¤Îɽ¼¨¤Ë¤Ê¤ë¤è¤¦¤Ë¤·¤Æ¤ß¤ë¡£

    ¤ª¤Ê¤«¤Î¾õÂÖ¤¬80%°Ê¾å¤ÇËþÊ¢¤Îɽ¼¨¤À¤Ã¤¿¤Î¤ò¡¢100%¤ÇËþÊ¢¤Îɽ¼¨¤Ë¤Ê¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£
    ¤³¤ì¤Ë¤è¤ê¡¢80¡Á100%¤Î¶èʬ¤Îɽ¼¨¤¬¡Ö½¼Ê¬¡×¤Ë¤Ê¤ê¤Þ¤¹¡£

    data/petdata.cgi¤ò³«¤¯
    # Pet's Stomach #
    @PS = ('²î»à',
           'µ²²î',
           '¶õÊ¢',
           'ÉáÄÌ',
           'Ȭʬ',
           'ËþÊ¢',
           'ÉÔÍ×',
    );
    ¢­
    # Pet's Stomach #
    @PS = ('²î»à',
           'µ²²î',
           '¶õÊ¢',
           'ÉáÄÌ',
           'Ȭʬ',
           '½¼Ê¬',
           'ËþÊ¢',
           'ÉÔÍ×',
    );
    
    library/pet.cgi¤ò³«¤¯
    sub pet:
                    $stomach = int(($Ip->{hg} - 1) / $Ip->{hx} * 5) + 1;
    ¢­
                    $stomach = int($Ip->{hg} / $Ip->{hx} * 5) + 1;
    

    ¡Ú¥ê¥¹¥È¤ØÌá¤ë¡Û

    ¡Ú¥È¥Ã¥×¤ØÌá¤ë¡Û