home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ring.yamanashi.ac.jp/pub/pc/freem/action/
/
action.zip
/
TQAP.zip
/
Usr
/
Load.tonyu
< prev
next >
Wrap
Text File
|
2007-06-24
|
8KB
|
353 lines
extends SpriteChar;
$screenWidth =32*15;
$screenHeight=32*12;
$map.setbgcolor(color(0,0,0));
header=new Array();
footer=new Array();
FileName=$Location.stagefile;
//FileName="stagedata1.txt";
saved=0;
p=-1;
if ($Location.nokori!=-100){
_stage=$Location.stage;
if (_stage>=1 && _stage<=10) $mplayer.play($se_nm128 ,1);
if (_stage>=11 && _stage<=20) $mplayer.play($se_freeworld ,1);
if (_stage>=21 && _stage<=30) $mplayer.play($se_Stage3 ,1,64);
if (_stage>=31 && _stage<=40) $mplayer.play($se_terepa ,1,64);
if (_stage>=41 && _stage<=50) $mplayer.play($se_field06,1,64);
}
appear(new Effect(x,y,"black5sec"));
update();
for (e in $chars){
if (e is Effect && e.text!="black5sec") e.die();
if (e is Enemy ) e.die();
if (e is Mychar) e.die();
if (e is Key ) e.die();
if (e is Lever ) e.die();
if (e is Door ) e.die();
if (e is Puppet) e.die();
}
wait(1);
init();
new_play();
if ($Location.status_change==1){
file=new FileReader("status.txt");
status=valueOf(file.readLn());
file.close();
if (status<1){
file=new FileWriter("status.txt");
file.writeLn(1);
$mplayer.play($se_pi31);
file.close();
}
}
for (_time=0;_time<250;_time++){
$map.scrollTo(0,0);
drawText (100,100,"STAGE "+$Location.stage,$clWhite,12,0);
drawSprite(200,250,$pat_chara+0,-1,0);
fillRect(0,0,$screenWidth*2,$screenHeight*2,$clBlack,1);
if ($Location.nokori>=0){
drawText(230,245,"ü~ "+$Location.nokori,$clWhite,12,0);
}
if ($Location.nokori==-100){
drawText(230,245,"Edit Mode",$clWhite,12,0);
}
if (getkey(83)==1 && saved!=1){
saved=1;
//âtâ@âCâïé╠ôαùeé≡ô╟é▌ì₧é▌üAêΩÆUözù±é╔ò█æ╢
file=new FileReader(FileName);
while(1){
text=file.readLn();
if (text=="*save") break;
header.add(text);
}
while(1){
text=file.readLn();
if (text=="") break;
}
while(1){
text=file.readLn();
if (text==null) break;
footer.add(text);
}
file.close();
//âfü[â^é╠Åæé½ì₧é▌üiâwâbâ_ü[üAâfü[â^üAâtâbâ^ü[é╠Åçüj
file=new FileWriter(FileName);
for(i=0;i<header.size();i++){
file.writeLn(header.get(i));
}
file.writeLn("*save");
file.writeLn("Start :"+ThreeDigit($Location.stage));
file.writeLn("X-pos :"+ThreeDigit($Location.set_x));
file.writeLn("Y-pos :"+ThreeDigit($Location.set_y));
file.writeLn("Remain :"+ThreeDigit($Location.nokori));
file.writeLn("");
for(i=0;i<footer.size();i++){
file.writeLn(footer.get(i));
}
file.close();
}
if (saved==1) drawText(100,250,"SAVE!",$clWhite,12,0);
update();
}
//OnePointAdvise();
jiki.pause=0;
function new_play(){
var e,e_p,new_obj;
var _x,_y,_x1,_y1,_x2,_y2;
var file;
e_p=null;
file=new FileReader(FileName);
while(1){
blockline=file.readLn();
if (blockline=="Stage"+ThreeDigit($Location.stage)) break;
}
if (file.error()==0){
//â}âbâvô╟é▌ì₧é▌
blockzero=$pat_block+0;
for (_y=1;_y<25;_y++){
blockline=file.readLn();
for (_x=1;_x<31;_x++){
block=blockzero+valueOf(blockline.substring((_x-1)*2,_x*2));
if (block==$pat_block+13) {
$map.set(_x,_y,$pat_block+3);
}
else if (block==$pat_block+14) {
$map.set(_x,_y,$pat_block+4);
}
else {
$map.set(_x,_y,block);
}
}
}
}
jiki=appear(new Mychar($Location.set_x*32+16,$Location.set_y*32+16));
jiki.pause=1;
blockline=file.readLn();
jiki.Scroll=valueOf(blockline.substring(7,8));
wait(1);
while(1){
blockline=file.readLn();
if (blockline=="") break;
e_name= blockline.substring(0,3) ;
ex =valueOf(blockline.substring(4,6));
ey =valueOf(blockline.substring(7,9));
//ôGé≡âZâbâg
if (e_name=="TR1") e_p=$pat_enemy+6;
if (e_name=="TR2") e_p=$pat_enemy+7;
if (e_name=="HOP") e_p=$pat_enemy+12;
if (e_name=="GST") e_p=$pat_enemy+15;
if (e_name=="WLF") e_p=$pat_enemy+18;
if (e_name=="BBL") e_p=$pat_enemy+21;
if (e_name=="RF1") e_p=$pat_enemy+9;
if (e_p!=null) appear(new Enemy(ex*32+16,ey*32+16,e_p));
if (e_name=="RTR") {
e=appear(new Enemy(ex*32+16,ey*32+16,$pat_enemy+8));
e.rotate=1;
}
if (e_name=="RTL") {
e=appear(new Enemy(ex*32+16,ey*32+16,$pat_enemy+8));
e.rotate=0;
}
//öαé≡âZâbâg
if (e_name=="DOR") {
e=appear(new Door(ex*32+16,ey*32+16,$pat_door+0));
e.next_stage=valueOf(blockline.substring(13,16));
e.next_x =valueOf(blockline.substring(17,19));
e.next_y =valueOf(blockline.substring(20,22));
}
if (e_name=="END") appear(new Door(ex*32+16,ey*32+16,$pat_door+2));
//âJâMé≡âZâbâg
if (e_name=="KEY") appear(new Key(ex*32+16,ey*32+16,$pat_key+0));
if (e_name=="LV1") appear(new Lever(ex*32+16,ey*32+16,$pat_lever+0));
if (e_name=="LV2") appear(new Lever(ex*32+16,ey*32+16,$pat_lever+3));
if (e_name=="LV3") appear(new Lever(ex*32+16,ey*32+16,$pat_lever+6));
if (e_name=="LV4") appear(new Lever(ex*32+16,ey*32+16,$pat_lever+9));
e_p=null;
fillRect(0,0,$screenWidth*2,$screenHeight*2,$clBlack,1);
update();
}
}
//ÉöÄÜé≡3îàé╔
function ThreeDigit(number){
var char;
if (number< 100) char="0" +number;
if (number< 10 ) char="00"+number;
if (number>=100) char="" +number;
return char;
}
//ÉöÄÜé≡2îàé╔
function TwoDigit(number){
var char;
if (number< 10) char="0"+number;
if (number>=10) char="" +number;
return char;
}
function init(){
var e;
var _x,_y;
for (_y=0;_y<27;_y++){
for (_x=0;_x<32;_x++){
$map.set(_x,_y,$pat_block+0);
}
}
for (_x=0;_x<32;_x++){
$map.set(_x,0,$pat_block+11);
}
for (_x=0;_x<32;_x++){
$map.set(_x,26,$pat_block+11);
}
for (_y=0;_y<27;_y++){
$map.set(0 ,_y,$pat_block+11);
}
for (_y=0;_y<27;_y++){
$map.set(31,_y,$pat_block+11);
}
for (_x=1;_x<31;_x++){
$map.set(_x,25,$pat_block+1);
}
}
function OnePointAdvise(){
var sx,sy,_set1,_set2,i;
var x1,y1,x2,y2,x3,y3,x4,y4;
var _time,e;
jiki.setVisible(0);
sx=jiki.x-$screenWidth/2;
sy=jiki.y-$screenHeight/2;
if (sx<32) sx=32;
if (sx>$screenWidth+32) sx=$screenWidth+32;
if (sy<32) sy=32;
if (sy>$screenHeight+32) sy=$screenHeight+32;
if (jiki.Scroll==0){
$map.scrollTo(sx,sy);
}
if (jiki.Scroll==1){
_set1=trunc($Location.set_y/12)*32+32;
$map.scrollTo(sx,_set1);
}
if (jiki.Scroll==2){
_set2=trunc($Location.set_x/16)*32+32;
$map.scrollTo(_set2,sy);
}
if (jiki.Scroll==3){
_set1=trunc($Location.set_x/16)*32*15+32;
_set2=trunc($Location.set_y/12)*32*12+32;
$map.scrollTo(_set1,_set2);
}
wait(1);
$mplayer.play($se_power31);
x1=$viewX+90;
y1=$ViewY+70;
x2=x1+300;
y2=y1+200;
x3=x1+85;
y3=y1+15;
x4=x1+215;
y4=y1+215;
mx=x1+50;
my=y1+50;
_time=0;
while(1){
fillRect(x1 ,y1 ,x2 ,y2 ,$clWhite,-2);
fillRect(x1+3,y1+3,x2-3,y2-3,$clBlack,-3);
if (_time<50 ) drawText(x3,y3,"One Point Advise",$clWhite,12,-4);
if (_time>100) _time=0;
_time++;
drawText(x4,y4,"Press X Key",$clWhite,10,-4);
if (getkey(88)==1) break;
if ($Location.stage==2) {
mes1="âuâìâbâNé═éPâ}âXùúéΩé╜é╞é▒éδé╔";
mes2="Åoé╖é▒é╞éαé┼é½é▄é╖üB";
mes3="";
mes4="";
mes5="";
pattern=$pat_advise+0;
}
drawText(mx,my ,mes1,$clWhite,10,-4);
drawText(mx,my+16*1,mes2,$clWhite,10,-4);
drawText(mx,my+16*2,mes3,$clWhite,10,-4);
drawText(mx,my+16*3,mes4,$clWhite,10,-4);
drawText(mx,my+16*4,mes5,$clWhite,10,-4);
if (pattern!=null) drawSprite(mx,my,pattern,0,-4);
update();
}
jiki.setVisible(1);
}