bhughes01 Posted February 5, 2010 Report Posted February 5, 2010 I've created a javascript routine that figures out the shortest route between two sectors. It does take in account for profession, example a TT is allowed passage through high earth. No idea if this has been done before http://www.bhughes.com/destination.htm There are missing sectors, the map I used as input was old. I'm willing to add the rest in and maintain the code if there is interest. 1 Quote
Jcarr Posted February 5, 2010 Report Posted February 5, 2010 Doesn't seem to work in Firefox. Put in JD, Kail to Saturn, click Calc Path and nothing happens. Here is another one ENBX: Earth & Beyond Maps 2 Quote
bhughes01 Posted February 5, 2010 Author Report Posted February 5, 2010 I tried the flash one, I hadn't seen it before. I think it's too busy, it's hard to read, the resizing and zoom seem a bit clumsy The visually plotted course is hard to follow without dragging the map around to see it all I like mine better, not because I'm full of myself, but because it is as simple as possible, couldn't be any easier to use and doesn't need graphics and loading of flash. The game is my glitter. Another thing I don't like about the flash one is the list of sectors doesn't prefix with their system name, e.g. aragoth - fenris I'm sure the firefox problem can be solved, probably just a matter of syntax. I can research that. I can remove my copyright and link to my website as well, not a problem. I don't even have to host the HTML page, it can be a part of the enb-emulator web. Quote
karu [WDL] Posted February 5, 2010 Report Posted February 5, 2010 nStartID=listFrom.options(listFrom.selectedIndex).value; should be nStartID=listFrom.options[listFrom.selectedIndex].value; options is array, not function. there is many places where this needs the be changed edit: i'm no javascript expect, but common practise is to use var listFrom=document.getElementById('listFrom'); before you use it. I see you using <select id=listFrom> (w/o quotes, right way would be <select id="listFrom">) so listFrom is automatically linked to that object. i call it a fluke unless you can point me some sources that explain it. Quote
blattu Posted February 5, 2010 Report Posted February 5, 2010 nice this will be very helpfull thank you Quote
bhughes01 Posted February 5, 2010 Author Report Posted February 5, 2010 I made the code changes suggested by Karu and it still works on Microsoft I.E. 8 Quote
Jcarr Posted February 5, 2010 Report Posted February 5, 2010 Cool, working in Firefox 3.5, short and 2 the point. 1 Quote
Yazuly Posted February 5, 2010 Report Posted February 5, 2010 Works nice, I like it - thank you. Please add the new sectors. Quote
Guest Genghisbob Posted February 6, 2010 Report Posted February 6, 2010 Yes, very nice. Works fine in Firefox, now! Quote
Casca42 Posted February 6, 2010 Report Posted February 6, 2010 Any chance of adding the PP/TS/JS to the list, as well? Quote
Rossdie [BT] Posted February 6, 2010 Report Posted February 6, 2010 It's anice little program but it really doesnt show the shortest way all the time. Example Fenris to New Ed, paramis is not taken into consideration. Quote
bhughes01 Posted February 6, 2010 Author Report Posted February 6, 2010 It's anice little program but it really doesnt show the shortest way all the time. Example Fenris to New Ed, paramis is not taken into consideration. per the original post the new sectors are on the way Quote
bhughes01 Posted February 8, 2010 Author Report Posted February 8, 2010 The following systems have been added m_arrBig[14]=new AreaItem(14,'Altair'); m_arrBig[15]=new AreaItem(15,'Proxima Centauri'); m_arrBig[16]=new AreaItem(16,'Castor'); Quote
Zackman [LDEV] Posted February 8, 2010 Report Posted February 8, 2010 bhuges, i have an old tool here called "Travelmate", which was (is) a windows tool for EnB-route calculation. Its taking also wormhole-skill/level into consideration for calculation. If you clue me into your algo u using for calculation, im willing to develope a new windows tool. Quote
Zackman [LDEV] Posted February 8, 2010 Report Posted February 8, 2010 NM, i can lookup the source of your java page. Quote
karu [WDL] Posted February 8, 2010 Report Posted February 8, 2010 NM, i can lookup the source of your java page. shortening javascript to java is same as writing care instead of carebear. it just does not make sence Quote
posfordfan1220 Posted February 8, 2010 Report Posted February 8, 2010 bhuges, i have an old tool here called "Travelmate", which was (is) a windows tool for EnB-route calculation. Its taking also wormhole-skill/level into consideration for calculation. If you clue me into your algo u using for calculation, im willing to develope a new windows tool. I never could get it to work with the maps. I always get a "Map is not currently available" message. Could you upload them somewhere (e.g. to the forum) please? Quote
Papousek Posted February 14, 2010 Report Posted February 14, 2010 Updated script with all classes (TS,JS and PP) added new sectors and links according to ST4. I'm not only sure about link Altair III and Aganju. I found in some map it should be Progen Combinate only. Had no time to test it even I do have PP. I did add option for groups to avoid all restricted paths. Here is complete script: <HTML> <HEAD> <script language=javascript> var m_arrBig=new Array(); m_arrBig[0]=new AreaItem(0,'Alpha Centauri'); m_arrBig[1]=new AreaItem(1,'Antares'); m_arrBig[2]=new AreaItem(2,'Aquitaine'); m_arrBig[3]=new AreaItem(3,'Aragoth'); m_arrBig[4]=new AreaItem(4,'Beta Hydri'); m_arrBig[5]=new AreaItem(5,'Capella'); m_arrBig[6]=new AreaItem(6,'Deneb'); m_arrBig[7]=new AreaItem(7,'Gallina'); m_arrBig[8]=new AreaItem(8,'Sirius'); m_arrBig[9]=new AreaItem(9,'Smugglers Run'); m_arrBig[10]=new AreaItem(10,'Sol'); m_arrBig[11]=new AreaItem(11,'Tau Ceti'); m_arrBig[12]=new AreaItem(12,'Vega'); m_arrBig[13]=new AreaItem(13,'61 Cygni'); m_arrBig[14]=new AreaItem(14,'Altair'); m_arrBig[15]=new AreaItem(15,'Proxima Centauri'); m_arrBig[16]=new AreaItem(16,'Castor'); function AreaItem(nID,sName) { this.id=nID; this.name=sName; } var m_arrSector=new Array(); // Alpha Centauri m_arrSector[00]=new SectorItem(00,0,'T','A','Witberg'); m_arrSector[01]=new SectorItem(01,0,'T','A','Zweihander'); m_arrSector[02]=new SectorItem(02,0,'T','A','Zweihander Planet'); m_arrSector[79]=new SectorItem(79,0,'T','A','der Todesengel'); // Antares m_arrSector[03]=new SectorItem(03,1,'J','A','Antares Frontier'); // Aquitanie m_arrSector[04]=new SectorItem(04,2,'A','A','Ardus'); // Aragoth m_arrSector[05]=new SectorItem(05,3,'T','A','Aragoth Prime'); m_arrSector[06]=new SectorItem(06,3,'T','A','Fenris'); m_arrSector[07]=new SectorItem(07,3,'T','A','Freya'); m_arrSector[08]=new SectorItem(08,3,'T','A','Jotunheim'); m_arrSector[09]=new SectorItem(09,3,'T','A','Muspelheim'); m_arrSector[10]=new SectorItem(10,3,'T','A','Odin Rex'); m_arrSector[11]=new SectorItem(11,3,'T','A','Odins Belt'); m_arrSector[12]=new SectorItem(12,3,'T','A','Nifleheim Cloud'); m_arrSector[13]=new SectorItem(13,3,'T','A','Ragnarok'); m_arrSector[14]=new SectorItem(14,3,'T','A','Valkyrie Twins'); m_arrSector[15]=new SectorItem(15,3,'T','A','Varens Girdle'); // Beta Hydri m_arrSector[16]=new SectorItem(16,4,'T','A','Carpenter'); m_arrSector[17]=new SectorItem(17,4,'T','A','Cooper'); m_arrSector[18]=new SectorItem(18,4,'T','A','Glenn'); m_arrSector[19]=new SectorItem(19,4,'T','A','Glorys Orbit'); m_arrSector[20]=new SectorItem(20,4,'T','A','Grissom'); m_arrSector[21]=new SectorItem(21,4,'T','A','Grissom Planet'); m_arrSector[22]=new SectorItem(22,4,'T','A','Shepard'); m_arrSector[23]=new SectorItem(23,4,'T','A','Slayton'); // Capella m_arrSector[24]=new SectorItem(24,5,'J','A','Kailaasa'); m_arrSector[25]=new SectorItem(25,5,'J','A','Yokan'); m_arrSector[26]=new SectorItem(26,5,'J','A','Vishaos Cove'); m_arrSector[27]=new SectorItem(27,5,'J','A','Kitiaras Veil'); m_arrSector[28]=new SectorItem(28,5,'J','A','Dahin'); m_arrSector[29]=new SectorItem(29,5,'J','A','Dahin Planet'); // Deneb m_arrSector[30]=new SectorItem(30,6,'P','A','Roc'); // Gallina m_arrSector[31]=new SectorItem(31,7,'P','A','Lagarto'); m_arrSector[32]=new SectorItem(32,7,'P','A','Endriago'); m_arrSector[33]=new SectorItem(33,7,'P','A','Endriago Planet'); m_arrSector[34]=new SectorItem(34,7,'P','A','Lagarto Moon'); // Sirius m_arrSector[35]=new SectorItem(35,8,'J','A','Xipe Totec'); m_arrSector[36]=new SectorItem(36,8,'J','A','Swooping Eagle'); m_arrSector[37]=new SectorItem(37,8,'J','A','Swooping Eagle Planet'); // Smugglers Run m_arrSector[38]=new SectorItem(38,9,'A','RD','Paramis'); m_arrSector[80]=new SectorItem(80,9,'A','RD','Blackbears Wake'); // Sol m_arrSector[39]=new SectorItem(39,10,'T','A','Earth'); m_arrSector[40]=new SectorItem(40,10,'J','A','Jupiter'); m_arrSector[41]=new SectorItem(41,10,'J','JD','Europa'); m_arrSector[42]=new SectorItem(42,10,'J','JE','Io'); m_arrSector[43]=new SectorItem(43,10,'T','A','Asteroid Belt Gamma'); m_arrSector[44]=new SectorItem(44,10,'T','A','Asteroid Belt Beta'); m_arrSector[45]=new SectorItem(45,10,'T','A','Asteroid Belt Alpha'); m_arrSector[46]=new SectorItem(46,10,'T','A','Saturn'); m_arrSector[47]=new SectorItem(47,10,'T','A','Akerons Gate'); m_arrSector[48]=new SectorItem(48,10,'P','PS','Mars Beta'); m_arrSector[49]=new SectorItem(49,10,'P','PW','Mars Alpha'); m_arrSector[50]=new SectorItem(50,10,'P','A','Mars'); m_arrSector[51]=new SectorItem(51,10,'T','TE','Luna'); m_arrSector[52]=new SectorItem(52,10,'T','TT','High Earth'); // new Sol starting sectors for JS,TS and PP m_arrSector[70]=new SectorItem(70,10,'P','PP','Mars Gamma'); m_arrSector[71]=new SectorItem(71,10,'J','PP','Ganymede'); m_arrSector[72]=new SectorItem(72,10,'T','TS','Equatorial Earth'); // new Sol systems m_arrSector[73]=new SectorItem(73,10,'T','A','Venus'); m_arrSector[74]=new SectorItem(74,10,'T','A','Ceres'); m_arrSector[75]=new SectorItem(75,10,'T','A','Mercury'); m_arrSector[76]=new SectorItem(76,10,'T','A','Pluto and Charon'); m_arrSector[77]=new SectorItem(77,10,'T','A','Uranus'); m_arrSector[78]=new SectorItem(78,10,'T','A','Neptune'); // Tau Ceti m_arrSector[53]=new SectorItem(53,11,'T','A','New Edinburgh'); m_arrSector[54]=new SectorItem(54,11,'T','A','Inverness'); m_arrSector[55]=new SectorItem(55,11,'T','A','Arduinne'); m_arrSector[56]=new SectorItem(56,11,'T','A','Arduinne Planet'); m_arrSector[57]=new SectorItem(57,11,'T','A','Inverness Planet'); // Vega m_arrSector[58]=new SectorItem(58,12,'P','A','Primus'); m_arrSector[59]=new SectorItem(59,12,'P','A','Primus Planet'); m_arrSector[60]=new SectorItem(60,12,'P','A','Tarsis'); // 61 Cygni m_arrSector[61]=new SectorItem(61,13,'T','A','Aganju'); // Altair m_arrSector[62]=new SectorItem(62,14,'P','A','Altair III'); m_arrSector[63]=new SectorItem(63,14,'P','A','Nastrand Vor'); m_arrSector[64]=new SectorItem(64,14,'P','A','Nastrand Vor Planet'); // Proxima Centauri m_arrSector[65]=new SectorItem(65,15,'T','A','Adriel Prime'); m_arrSector[66]=new SectorItem(66,15,'T','A','Margesi'); // Castor m_arrSector[67]=new SectorItem(67,16,'J','A','Ishuan'); m_arrSector[68]=new SectorItem(68,16,'J','A','Menorb'); m_arrSector[69]=new SectorItem(69,16,'J','A','Ishuan Planet'); function SectorItem(nID,nBID,sAlly,sOnly,sName) { this.id=nID; // sector id # this.system_id=nBID; // system id # this.name=sName; // text name of sector this.alliance=sAlly; // which alliance, terrain, progen, jenquai this.restriction=sOnly; // A=All etc this.links=new Array(); // list of links to other sectors this.depth=0; // used during search for shortest path this.next_sector=-1; // used for final path mapping and display } ///////////////////////// function linkSectors() { linkItem(0,1); // witberg - Zweihander linkItem(1,2); // zwei - zwei planet linkItem(0,7); // witberg - freya linkItem(51,1); // luna, zwei linkItem(7,47); // freya - akeron's linkItem(7,12); // freya - nif cloud linkItem(7,8); // freya - jotunheim linkItem(8,10); // jotunheim - odin rex linkItem(10,11); // odin rex - odins belt linkItem(11,9); // odins belt - muspelheim linkItem(9,5); // muspelheim - aragoth prime linkItem(5,15); // aragoth prime - varens girdle linkItem(5,14); // aragoth prime - valkyrie twins linkItem(15,6); // varens girdle - fenris linkItem(14,6); // valkyrie girdle - fenris linkItem(29,28); // planet dahin, dahin linkItem(28,24); // dahin, kailaasa linkItem(25,24); // kailaasa, yokan linkItem(28,27); // kitara's veil, dahin linkItem(27,26); // kitara's veil, vishao's cove linkItem(26,3); // vishao's cove, Antares Frontier linkItem(25,36); // yokan, swooping eagle linkItem(36,37); // swoop, planet swoop linkItem(36,35); // swoop, xipe totec linkItem(35,80); // xipe, smuggler linkItem(36,18); // swoop, glenn linkItem(36,41); // swoop, europa (JD) linkItem(18,16); // glenn, carpenter linkItem(18,23); // glenn, stayton linkItem(23,19); // stayton, glory linkItem(21,20); // grissom planet, grissom linkItem(20,17); // grissom, cooper linkItem(20,80); // grissom, smuggler linkItem(20,22); // grissom, shepard linkItem(16,22); // carpenter, shepard linkItem(18,46); // glenn, saturn linkItem(16,53); // carpenter, new edinburgh linkItem(53,52); // new edinburgh, high earth (TT) linkItem(53,54); // new edinburgh, inverness linkItem(54,57); // inverness, inverness planet linkItem(54,61); // inverness, aganju (61 cygni) linkItem(54,55); // inverness, arduinne linkItem(55,56); // arduinne, arduinne planet linkItem(0,4); // witburg, ardus (aquitaine) linkItem(11,31); // odin's belt, lagarto linkItem(31,34); // lagarto, lagarto moon // linkItem(33,34); // endriago, lagarto moon (one way) linkItem(31,32); // lagarto, endriago linkItem(32,33); // endriago, endriago planet linkItem(32,58); // endriago, primus linkItem(31,48); // lagarto, mars beta (PS) linkItem(31,30); // lararto, roc (deneb) linkItem(59,58); // primus, primus planet linkItem(58,60); // primus, tarsis linkItem(60,49); // tarsis, mars alpha (PW) linkItem(40,41); // jupiter, europa (JD) linkItem(40,42); // jupiter, io (JE) linkItem(40,46); // jupiter, saturn linkItem(39,45); // earth, asteroid alpha linkItem(39,52); // earth, high earth (TT) linkItem(39,51); // earth, luna (TE) linkItem(45,46); // alpha, saturn linkItem(45,44); // alpha, beta linkItem(44,43); // beta, gamma linkItem(44,46); // beta, saturn linkItem(43,50); // gamma, mars linkItem(43,46); // gamma, saturn linkItem(50,48); // mars, mars beta (PS) linkItem(50,49); // mars, mars alpha (PW) linkItem(46,47); // saturn, akeron's gate linkItem(62,63); // altair III, Nastrand Vor linkItem(63,64); // Nastrand Vor, Nastrand Vor Planet linkItem(32,62); // Endriago, Altair III linkItem(61,62); // Aganju, Altair III linkItem(7,65); // Freya, Adriel Prime linkItem(65,66); // Adriel Prime, Margesi linkItem(25,68); // Yokan, Menorb linkItem(68,67); // Menorb, Ishaun linkItem(67,69); // Ishaun, Ishaun gas giant linkItem(39,72); // Earth, Equatorial Earth linkItem(72,66); // Equatorial Earth, Margesi linkItem(40,71); // Jupiter, Ganymede linkItem(71,67); // Ganymede, Ishuan linkItem(50,70); // Mars, Mars Gamma linkItem(70,62); // Mars Gamma, Altair III linkItem(45,73); // ABA, Venus linkItem(73,74); // Venus, Ceres linkItem(73,75); // Venus, Mercury linkItem(75,76); // Mercury, Pluto linkItem(76,77); // Pluto, Uranus linkItem(76,47); // Pluto, Akeron's Gate linkItem(77,78); // Uranus, Neptune linkItem(77,46); // Uranus, Saturn linkItem(00,79); // Witberg, der Todesengel linkItem(38,10); // Paramis, Odin Rex linkItem(38,80); // Paramis, Blackbeards's Wake linkItem(80,09); // Blackbeards's Wake, Muspelheim linkItem(80,54); // Blackbeards's Wake, Iverness } /////////////////////////////////////// function linkItem(nSect1ID,nSect2ID) { s1=m_arrSector[nSect1ID]; s2=m_arrSector[nSect2ID]; s1.links[s1.links.length]=new linkEntry(nSect2ID); // linked lists of connecting sectors s2.links[s2.links.length]=new linkEntry(nSect1ID); } ///////////////////////////////////////////////////////// function linkEntry(nSectID) { this.sector_id=nSectID; // sector that is linked this.path_count=0; // how far away destination is from here } ///////////////////////////////////////////////////////// function loadBody() { var i; var h1; var h2; linkSectors(); h1='<SELECT id="listFrom">'; h2='<SELECT id="listTo">'; for (i=0;i<m_arrSector.length;i++) { h1+='<OPTION VALUE='+m_arrSector[i].id+'>'+m_arrBig[m_arrSector[i].system_id].name+' -- '+m_arrSector[i].name+'</OPTION>'; h2+='<OPTION VALUE='+m_arrSector[i].id+'>'+m_arrBig[m_arrSector[i].system_id].name+' -- '+m_arrSector[i].name+'</OPTION>'; } h1+='</SELECT>'; h2+='</SELECT>'; spanFrom.innerHTML=h1; spanTo.innerHTML=h2; } /////////////////////////////////////////////////////////// var m_strProfession; // This is TT, or TE etc. var m_arrStack; // The list of sectors from start to finish /////////////////////////////////////////////////////////// function calcPath() { var nStartID; var nFinishID; var nDepth; var s,i,j; for (i=0;i<m_arrSector.length;i++) { m_arrSector[i].depth=0; m_arrSector[i].next_sector=-1; for (j=0;j<m_arrSector[i].links.length;j++) // reset path finding logic values { m_arrSector[i].links[j].path_count=0; } } nStartID=document.all.listFrom.options[document.all.listFrom.selectedIndex].value; // sector id 'from' drop down box nFinishID=document.all.listTo.options[document.all.listTo.selectedIndex].value; // sector id 'to' drop down box m_strProfession=document.all.listProf.options[document.all.listProf.selectedIndex].text; // profession text, TT etc if (nStartID==nFinishID) { alert('The limit does not exist!\n\n(you picked the same sector twice)'); return; } nDepth=1; i=testPath(nStartID,nFinishID,nDepth); // go try to find the shortest path between start and finish if (i>0) { m_arrStack=new Array(); // found a path, clear the display stack array showPath(nStartID,nFinishID); // add sectors the display stack array s='<BR>Path For: '+m_strProfession+'<BR>'; // HTML to be displayed below the drop downs j=0; for (i=0;i<m_arrStack.length;i++) { s+='<BR>'; s+=m_arrBig[m_arrSector[m_arrStack[i]].system_id].name+' - '; s+=m_arrSector[m_arrStack[i]].name; if (m_arrSector[m_arrStack[i]].restriction!='A') s+=' Â ['+m_strProfession+']'; // each item in stack represents the next sector to the destination j++; } if (j<24) { for (i=0;i<(24-j);i++) { s+='<br>'; } } spanResult.innerHTML=s; } else { alert('Path for '+m_strProfession+' from '+m_arrSector[nStartID].name+' to '+m_arrSector[nFinishID].name+' not found.'); } } ///////////////////////////////////////////////////////////////////////// // This routine contains the primary logic to find the shortest route // This is a recursive function, meaning it calls itself ///////////////////////////////////////////////////////////////////////// function testPath(a1,a2,nDepth) // returns how far out or 0 if not found { var i1,a,nLen,i2,nHowFar; var t=''; // if the routine has already tried this sector then depth will contain how far along it was when it did try // the trick is if the previously tried depth is greater than the current depth (passed as argument to 'testPath') // then the routine will attempt to find the destination again, because this time the route would be shorter. if (m_arrSector[a1].depth>0 && m_arrSector[a1].depth <= nDepth) return 0; // right away the depth for this sector is now established, or possibly written over (see above) m_arrSector[a1].depth=nDepth; // If the profession cannot pass through this sector, e.g. progen warrior cannot pass through High Earth, then this route fails. if (m_arrSector[a1].restriction!='A') { if (m_arrSector[a1].restriction!=m_strProfession) // is this a restricted sector ? return 0; // then this sector cannot be used as a pathway to the destination } // return of 0 means the calling "testPath" will have to try it's next link // now try each link in the sector's list of sectors that are connected to it. for (i1=0;i1<m_arrSector[a1].links.length;i1++) { a=m_arrSector[a1].links[i1].sector_id; // get a connecting sector id # that potentially might link to the destination if (a==a2) // is it a match to the final destination ? { m_arrSector[a1].next_sector=a2; // yes, add it to the connecting path of the previous sector m_arrSector[a1].path_count=nDepth; // put in how far it took to get here return nDepth; // return how far it took to get here } else { nHowFar=testPath(a,a2,nDepth+1); // here is the recursive part, call the testPath with each linked sector to this one, a1 if (nHowFar>0) // was it able to reach it without doubling back on the path m_arrSector[a1].links[i1].path_count=nHowFar; // yes it did reach it, save how many steps it took to get there, compare after all links are tested } } nLen=9999; // we want the path that took the fewest steps so we start high i2=-1; for (i1=0;i1<m_arrSector[a1].links.length;i1++) { nHowFar=m_arrSector[a1].links[i1].path_count; if (nHowFar > 0 && nHowFar < nLen ) // each link's success is tested, looking for the lowest step count { nLen=nHowFar; i2=i1; } } if (nLen<9999) { m_arrSector[a1].next_sector=m_arrSector[a1].links[i2].sector_id; return nLen; // return shortest path to the destination // here is where a successful recursion returns to the previous sector's testPath call } // each sector's list of connecting sectors is tested and the shortest is marked or saved in the run // by putting the sector id of that shortest successful path into the "next_sector" property of this sector. return 0; // not found } ////////////////////////////////////////////////////////////////////////////////////////////// // showPath is another recursive function, it is simple, just walk the "next_sector" property // and put the result into a list that will be sorted by the linking sectors. ////////////////////////////////////////////////////////////////////////////////////////////// function showPath(a1,a2) // now the work is all done go back and retrace the shortest path { m_arrStack[m_arrStack.length]=a1; if (a1==a2) return; if (m_arrSector[a1].next_sector < 0) // Each "next_sector" set above is retrieved, stored into the stack list and showPath is called again. { alert('Sector #'+a1+' next sector = -1'); // debugging statement return; } showPath(m_arrSector[a1].next_sector,a2); } /////////////////////////////////////////////////////////// </SCRIPT> </HEAD> <BODY ONLOAD='loadBody();' STYLE='background-Color:MidnightBlue; color:yellow;'> <b>EnB Trip Calculator</b> <TABLE> <TR> <TD> Â Prof: Â <SELECT ID="listProf"><OPTION>Grouped<OPTION>TS<OPTION>TE<OPTION>TT<OPTION>JD<OPTION>JE<OPTION>JS<OPTION>PS<OPTION>PW<OPTION>PP<OPTION>RD</SELECT> Â From: Â <SPAN ID=spanFrom></SPAN> Â <TD> Â To: Â <SPAN ID=spanTo></SPAN> Â <INPUT TYPE=BUTTON VALUE="Calc Path" ONCLICK='calcPath()';> Â <TR> <TD COLSPAN=2> <SPAN ID=spanResult> <br><br><br><br><br><br><br><br> <br><br><br><br><br><br><br><br> <br><br><br><br><br><br><br><br> </SPAN> </TABLE> Visit: <A HREF='http://www.bhughes.com/'>www.bhughes.com</A><BR><BR> c 2010 Â Â Brian L Hughes </BODY> </HTML> Quote
bhughes01 Posted February 14, 2010 Author Report Posted February 14, 2010 Added the following sectors m_arrSector[70]=new SectorItem(70,10,'P','PP','Mars Gamma'); m_arrSector[71]=new SectorItem(71,9,'A','RD','Paramis'); m_arrSector[72]=new SectorItem(72,10,'T','TS','Equatorial Earth'); m_arrSector[73]=new SectorItem(73,10,'J','JS','Ganymede'); added TS, JS, and PP to the dropdown linked in Ragnarok to it's surrounding sectors Jot and Freya I found javascript cookie code and put in logic so your current profession is remembered the next time you visit the web page Quote
posfordfan1220 Posted February 14, 2010 Report Posted February 14, 2010 Might want to slap a software license on the code: Public Domain, LGPL, whatever. I think there are some questionnaires out there that will help you choose a proper license based on the criteria you select. Quote
novaflare Posted December 10, 2016 Report Posted December 10, 2016 Yes i know this is a very very old post. How ever i took the above linked trip planer/ calculator html page and compiled it to a exe (that is all i did no tweaks no changes looks and works exactly like the html web based version but in a handy exe format. Credit goes fully to the original creator i just needed something a little more local and compact. It is a resizable 300x800 window on launch wish the program allowed it to be a tiny bit smaller as on a 1280x 800 screen it would fit perfectly beside a windowed enb window.  any how here it is https://goo.gl/zjFVO9 little suckers bigger than i thought at 5.9 mb but eh part of the process lol  screen shot of me using it and the forum post included  1 Quote
mfurie2540 Posted December 10, 2016 Report Posted December 10, 2016 Works like a charm thank you Quote
LordAposno Posted April 22, 2020 Report Posted April 22, 2020 Thanks for the file. Still works. Original site, sadly is gone. Quote
Zarg Posted May 16, 2020 Report Posted May 16, 2020 I did a similar route calculator in python, but its all command-line right now and I haven't put a web UI on it yet. 1 Quote
novaflare Posted May 16, 2020 Report Posted May 16, 2020 I am so glad that this game is still up and running all these years later great game great players awesome dev team! Here's hoping it goes strong for another 10 years! Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.