сделал функцию поиска статических объектов и столкнулся с проблемой, когда хочу дописать координаты в результирующий файл. Выдает ошибку функции fopen("---","a");
При этом отдельно от процедуры она работает совершенно нормально. Подскажите, где ошибка.
(Добавление)
CODE:
function writeFlag()
{
int X01,Y01;
int Mc;
string s;
double a;
XYSet(139, 236, 1051, 710);
X01=X0; Y01=Y0;
a=(1033.0-260.0)/6.0; divX=mRound(a);
a=(670.0-290.0)/4.0; divY=mRound(a);
if(findflags(mRedFlag)==0){
nfc=0;
floop:
if(nfc<nf){
Xtmp=(X01+PosX_f[nfc]+60);
Ytmp=(Y01+PosY_f[nfc]+40);
textout(nfc,1170,70+nfc*15,format(Xtmp)+", "+format(Ytmp),0);
mouse(LEFT,Xtmp, Ytmp); pause(5000);
XYSet(651, 541, 944, 586);
ncMuds=0;
mloop:
if (ncMuds<nMuds)
{
if (findpicks(Muds[ncMuds])==0)
{
a=1.0*(645-Xtmp)/divX; Xtmp=mRound(a);
a=1.0*(480-Ytmp)/divY; Ytmp=mRound(a);
Xtmp=Xsrch-Xtmp; Ytmp=Ysrch-Ytmp;
messagebox("запись координат 1: "+format(ncMuds)+" "+MudName[ncMuds]));
if (fopen("E:\!bot\!mapsearcher\result.txt","a")!=0)
{
fwrite(MudName[ncMuds]);fwrite(" ");fwrite(Xtmp);fwrite(" ");fwrite(Ytmp);fwrite(ENDL);
fclose();
}
goto mudOk;
}
ncMuds++;
goto mloop;
}
nMuds++;
s="E:\!bot\!mapsearcher\Muds\p_"+format(ncMuds)+".bmp";
savescreen(s,665, 553,815, 570,-1);
MudName[ncMuds]="name_"+format(ncMuds);
Muds[ncMuds]=s;
messagebox("запись чудака: "+format(ncMuds)+" "+MudName[ncMuds]));
if (fopen("E:\!bot\!mapsearcher\Muds\Muds.ini","w")!=0)
{
fwrite(nMuds); fwrite(ENDL);
Mc=0;
Mcl:
if (Mc<nMuds)
{
fwrite(MudName[Mc]); fwrite(ENDL);
fwrite(Muds[Mc]); fwrite(ENDL);
Mc++;
goto Mcl;
}
fclose();
}
a=1.0*(645-Xtmp)/divX; Xtmp=mRound(a);
a=1.0*(480-Ytmp)/divY; Ytmp=mRound(a);
Xtmp=Xsrch-Xtmp; Ytmp=Ysrch-Ytmp;
messagebox("запись координат 2: "+format(ncMuds)+" "+MudName[ncMuds]));
if (fopen("E:\!bot\!mapsearcher\result.txt","a")!=0)
{
fwrite(MudName[ncMuds]);fwrite(" ");fwrite(Xtmp);fwrite(" ");fwrite(Ytmp);fwrite(ENDL);
fclose();
}
mudOk:
mouse(LEFT,Xmap+706,Ymap-445);
pause(500);
nfc++;
goto floop;}
}
}
function writeFlag()
{
int X01,Y01;
int Mc;
string s;
double a;
XYSet(139, 236, 1051, 710);
X01=X0; Y01=Y0;
a=(1033.0-260.0)/6.0; divX=mRound(a);
a=(670.0-290.0)/4.0; divY=mRound(a);
if(findflags(mRedFlag)==0){
nfc=0;
floop:
if(nfc<nf){
Xtmp=(X01+PosX_f[nfc]+60);
Ytmp=(Y01+PosY_f[nfc]+40);
textout(nfc,1170,70+nfc*15,format(Xtmp)+", "+format(Ytmp),0);
mouse(LEFT,Xtmp, Ytmp); pause(5000);
XYSet(651, 541, 944, 586);
ncMuds=0;
mloop:
if (ncMuds<nMuds)
{
if (findpicks(Muds[ncMuds])==0)
{
a=1.0*(645-Xtmp)/divX; Xtmp=mRound(a);
a=1.0*(480-Ytmp)/divY; Ytmp=mRound(a);
Xtmp=Xsrch-Xtmp; Ytmp=Ysrch-Ytmp;
messagebox("запись координат 1: "+format(ncMuds)+" "+MudName[ncMuds]));
if (fopen("E:\!bot\!mapsearcher\result.txt","a")!=0)
{
fwrite(MudName[ncMuds]);fwrite(" ");fwrite(Xtmp);fwrite(" ");fwrite(Ytmp);fwrite(ENDL);
fclose();
}
goto mudOk;
}
ncMuds++;
goto mloop;
}
nMuds++;
s="E:\!bot\!mapsearcher\Muds\p_"+format(ncMuds)+".bmp";
savescreen(s,665, 553,815, 570,-1);
MudName[ncMuds]="name_"+format(ncMuds);
Muds[ncMuds]=s;
messagebox("запись чудака: "+format(ncMuds)+" "+MudName[ncMuds]));
if (fopen("E:\!bot\!mapsearcher\Muds\Muds.ini","w")!=0)
{
fwrite(nMuds); fwrite(ENDL);
Mc=0;
Mcl:
if (Mc<nMuds)
{
fwrite(MudName[Mc]); fwrite(ENDL);
fwrite(Muds[Mc]); fwrite(ENDL);
Mc++;
goto Mcl;
}
fclose();
}
a=1.0*(645-Xtmp)/divX; Xtmp=mRound(a);
a=1.0*(480-Ytmp)/divY; Ytmp=mRound(a);
Xtmp=Xsrch-Xtmp; Ytmp=Ysrch-Ytmp;
messagebox("запись координат 2: "+format(ncMuds)+" "+MudName[ncMuds]));
if (fopen("E:\!bot\!mapsearcher\result.txt","a")!=0)
{
fwrite(MudName[ncMuds]);fwrite(" ");fwrite(Xtmp);fwrite(" ");fwrite(Ytmp);fwrite(ENDL);
fclose();
}
mudOk:
mouse(LEFT,Xmap+706,Ymap-445);
pause(500);
nfc++;
goto floop;}
}
}