O
OneOnline
Guest
Hello. Here is my website:
http://libertyplay.online/
If you click on the cell next to the player, the following script will start working:
After that you will see the message "ok!" (the script is executed, but the hero still exists) and
after which the hero disappears. But on Windows everything works fine. If I remove this script, the hero will not disappear. But the script seems to have no errors. Is this a bug?
Windows game (download link)
http://libertyplay.online/
If you click on the cell next to the player, the following script will start working:
Code:
var ii, jj, PL = MapEID[X,Y], FL, FLEID, Ind, Min, OldShadowsList = ds_list_create();
ds_list_copy(OldShadowsList, ShadowsList);
ds_list_clear(ShadowsList);
// Влево
Min = 0;
for(ii=0; ii < 6; ii++)
{
if X-ii = 0 break;
FL = MapEID[X-ii,Y];
if !collision_line(PL.x,PL.y,FL.x,FL.y,o_Map_Blocked,true,false)
{
FLEID = GlobalFloorEID[X-ii,Y];
ds_list_add(ShadowsList,FLEID);
Ind = ds_list_find_index(OldShadowsList,FLEID);
if Ind != -1 ds_list_delete(OldShadowsList,Ind);
instance_destroy(FLEID.ShadowEID);
}
if ii > 1 Min++;
// Вверх
for(jj=1; jj < 6-Min; jj++)
{
if Y-jj = 0 break;
FL = MapEID[X-ii,Y-jj];
if !collision_line(PL.x,PL.y,FL.x,FL.y,o_Map_Blocked,true,false)
{
FLEID = GlobalFloorEID[X-ii,Y-jj];
ds_list_add(ShadowsList,FLEID);
Ind = ds_list_find_index(OldShadowsList,FLEID);
if Ind != -1 ds_list_delete(OldShadowsList,Ind);
instance_destroy(FLEID.ShadowEID);
}
}
// Вниз
for(jj=1; jj < 6-Min; jj++)
{
if Y+jj = MapSizeY break;
FL = MapEID[X-ii,Y+jj];
if !collision_line(PL.x,PL.y,FL.x,FL.y,o_Map_Blocked,true,false)
{
FLEID = GlobalFloorEID[X-ii,Y+jj];
ds_list_add(ShadowsList,FLEID);
Ind = ds_list_find_index(OldShadowsList,FLEID);
if Ind != -1 ds_list_delete(OldShadowsList,Ind);
instance_destroy(FLEID.ShadowEID);
}
}
}
// Вправо
Min = 0;
for(ii=1; ii < 6; ii++)
{
if X+ii = MapSizeX break;
FL = MapEID[X+ii,Y];
if !collision_line(PL.x,PL.y,FL.x,FL.y,o_Map_Blocked,true,false)
{
FLEID = GlobalFloorEID[X+ii,Y];
ds_list_add(ShadowsList,FLEID);
Ind = ds_list_find_index(OldShadowsList,FLEID);
if Ind != -1 ds_list_delete(OldShadowsList,Ind);
instance_destroy(FLEID.ShadowEID);
}
if ii > 1 Min++;
// Вверх
for(jj=1; jj < 6-Min; jj++)
{
if Y-jj = 0 break;
FL = MapEID[X+ii,Y-jj];
if !collision_line(PL.x,PL.y,FL.x,FL.y,o_Map_Blocked,true,false)
{
FLEID = GlobalFloorEID[X+ii,Y-jj];
ds_list_add(ShadowsList,FLEID);
Ind = ds_list_find_index(OldShadowsList,FLEID);
if Ind != -1 ds_list_delete(OldShadowsList,Ind);
instance_destroy(FLEID.ShadowEID);
}
}
// Вниз
for(jj=1; jj < 6-Min; jj++)
{
if Y+jj = MapSizeY break;
FL = MapEID[X+ii,Y+jj];
if !collision_line(PL.x,PL.y,FL.x,FL.y,o_Map_Blocked,true,false)
{
FLEID = GlobalFloorEID[X+ii,Y+jj];
ds_list_add(ShadowsList,FLEID);
Ind = ds_list_find_index(OldShadowsList,FLEID);
if Ind != -1 ds_list_delete(OldShadowsList,Ind);
instance_destroy(FLEID.ShadowEID);
}
}
}
for(ii = 0; ii < ds_list_size(OldShadowsList); ii++)
{
FLEID = OldShadowsList[| ii];
FLEID.ShadowEID = instance_create_depth(FLEID.x,FLEID.y,FLEID.depth-1,o_Floor_Shadow);
}
ds_list_destroy(OldShadowsList);
after which the hero disappears. But on Windows everything works fine. If I remove this script, the hero will not disappear. But the script seems to have no errors. Is this a bug?
Windows game (download link)
Last edited by a moderator: