Script seperti ini ditulis oleh Tonypa dan Earl Vergara beberapa waktu yang lalu, sayangnya aku kesulitan mencari sourcenya. Udah kelupaan meletakkannya dimana.
Bukannya bermaksud menuduh, mungkin kebetulan saja sama.
Script yang kubaca sebelum mendecompile punyakmu hariini kebetulan sama persis dengan yang kubaca dari tutorial mereka beberapa bulan yang lalu.
Fungsi2 nya juga sama persis, menggunakan setIndex, MakePath dsb
Bedanya tonypa enggunakan cirikhasnya dalam menulis variabel yaitu didahului dengan garis bawah "_"
Biar gak keliatan asal nebak ini kukutipkan beberapa baris script buatan Tony:
Code:
function setIndex(ob, map)
{
ob.index = new Object();
var _l11 = map[0].length;
var _l12 = map.length;
for (i = 0; i < _l12; i++)
{
for (j = 0; j < _l11; j++)
{
var _l3 = "t_" + i + "_" + j;
ob.index[_l3] = new Object();
ob.index[_l3].shortPath = undefined;
ob.index[_l3].maxPossible = 0;
ob.index[_l3].source = new Array();
ob.index[_l3].destiny = new Array();
}
}
ob.index["t_" + ob.Ytile + "_" + ob.Xtile].shortPath = 0;
ob.index["t_" + ob.Ytile + "_" + ob.Xtile].maxPossible = 1;
var _l2 = [];
var _l8 = [{Ytile: ob.Ytile, Xtile: ob.Xtile}];
while (_l8.length != 0)
{
_l2 = _l8;
_l8 = [];
for (n = 0; n < _l2.length; n++)
{
_l3 = "t_" + _l2[n].Ytile + "_" + _l2[n].Xtile;
var _l6 = "t_" + (_l2[n].Ytile - 1) + "_" + _l2[n].Xtile;
var _l7 = "t_" + (_l2[n].Ytile + 1) + "_" + _l2[n].Xtile;
var _l4 = "t_" + _l2[n].Ytile + "_" + (_l2[n].Xtile - 1);
var _l5 = "t_" + _l2[n].Ytile + "_" + (_l2[n].Xtile + 1);
if (game[_l6].walkable == true)
{
if (ob.index[_l6].shortPath == undefined)
{
ob.index[_l6].shortPath = ob.index[_l3].shortPath + 1;
ob.index[_l6].maxPossible = ob.index[_l6].maxPossible + ob.index[_l3].maxPossible;
ob.index[_l3].destiny.push({Ytile: _l2[n].Ytile - 1, Xtile: _l2[n].Xtile});
ob.index[_l6].source.push({Ytile: _l2[n].Ytile, Xtile: _l2[n].Xtile});
Kalo kubaca ulang, peletakan baris dan lokasi fungsinya sama persis dengan buatan Ali.
Mungkin hanya kebetulan saja.
But so far, Nice job
