Jump to content

Papousek

Members
  • Posts

    23
  • Joined

  • Last visited

  • Donations

    0.00 USD 

Everything posted by Papousek

  1. It still hapens with latest Net-7 launcher. Everytime when E&B client does end or closed by Terminate Client from tray where is Net7Proxy. I see that Windows message about program stop working.   Net7Proxy v2.24 Windows 7 64bit edition   Additional Trace info:   Problem Event Name:    APPCRASH   Application Name:    Net7Proxy.exe   Application Version:    0.0.0.0   Application Timestamp:    50f8885e   Fault Module Name:    StackHash_51fb   Fault Module Version:    6.1.7601.17725   Fault Module Timestamp:    4ec49b8f   Exception Code:    c0000374   Exception Offset:    000ce6c3   OS Version:    6.1.7601.2.1.0.256.4   Locale ID:    1029   Additional Information 1:    51fb   Additional Information 2:    51fbb60b488237a701ec289cca08c79f   Additional Information 3:    2fc8   Additional Information 4:    2fc8fb3fbc5c8ad65c6cc51a6a445777  
  2. I was owner of FF tag on my ship playing on Pegasus. I went out of game before sunset to EVE beta and I do play EVE to present day closing 10 years. I did play E&B emu from ST2 then left again due to RL issues. I'm thinking about trying E&B emu again, because this game was my true 1st MMO love.    
  3. BTW I want add some tips. I can make window bigger than 800 x 600, E&B windows can overlap and switching still works. I even make one E&B windows smaller and blend it into bigger one some kind of PiP and switch windows size and position on instance switch. I call that function PiP switch where main window come to PiP when I switching instances and PiP instance become main window. With AutoHotkey is possible to make any window transparent. Thanks to posibility to run more than one instace of E&B on one computer I can use all gadgets what I did use in World of Warcraft where I did run full group multibox and I did use all these kinds of trick with multiwindow on one computer with one main window for master toon and smaller windows for all slaves. With tools what I do have (HotKeynet) I can dupe mouse clicks over all instances and I'm able play all toons actively. Actually I do play 3 E&B toons and all are active when I play (I'm using all three for fight) buffing, healing and shooting even CCing mob. Before I need to use three computers now I can do it on single computer. Adventage running all three on one computer is smaller latency on key reaction. Network communication always have bigger latency than sending key on same computer to 3 different windows. Some ppl think thats crazy idea, but in fact I do it in all MMO games what I do play past E&B where I did start dual box. As I count it is over 8 years I do actively multiboxing. Most active accounts I had in EVE where I run crazy group of 6 proactive pirates, hunting people around 0.0 space.
  4. I'm using free tool AutoHotKey. Is really nice scripting engine, where you can bind actions to hot-keys. here is code snip which make you resize and switch two E&B instances with ease: #SingleInstance force ; Forced only one instace #WinActivateForce ; Force activate window (prevent taskbar buttons from flashing) ; Fill global variables, it is necessary for reloading script and fetching correct IDs WinGet, IDs, list, ahk_Class G if IDs >= 2 { ID1 := IDs1 ; get 1st window ID ID2 := IDs2 ; get 2nd window ID } MX1 := 0 ; save mouse for instance switching MY1 := 0 MX2 := 0 MY2 := 0 return >#F12:: Reload >#F11:: ExitApp >#F10:: ; Enumerate E&B windows, resize, move and strip Windows gadgets use it at least once after E&B start WinGet, IDs, list, ahk_Class G if IDs >= 2 { ID1 := IDs1 ; get 1st window ID WinSet, Style, -0xC00000, ahk_id %ID1% ; remove titlebar WinSet, Style, -0x800000, ahk_id %ID1% ; remove border WinMove, ahk_id %ID1%,,0,0,640,480 ; move and resize ID2 := IDs2 ; get 2nd window ID WinSet, Style, -0xC00000, ahk_id %ID2% ; remove titlebar WinSet, Style, -0x800000, ahk_id %ID2% ; remove border WinMove, ahk_id %ID2%,,640,0,640,480 ; move and resize } return >#A:: ; Switch to 1st instance if ID1 <> 0 { MouseGetPos, MX2, MY2 ; store mouse pos in this instance WinActivate, ahk_id %ID1% if MX1 + MY1 > 0 MouseMove, MX1, MY1, 0 ; restore mouse in new instance } return >#B:: ; Switch to 2nd instance if ID2 <> 0 { MouseGetPos, MX1, MY1 ; remember where mouse was in this instance WinActivate, ahk_id %ID2% if MX2 + MY2 > 0 MouseMove, MX2, MY2, 0 ; restore mouse in 2nd instance } return on RightWin + A it will switch to instance A and on RightWin + B will switch to instance B. You need at least once use RightWin + F10 after launching both E&B clients to arrange client windows. I'd use small example for 640 x 480 windows, because I wanted produce snapshot and I have in office just 1280 x 1024 screen. But it works on any resolution just adjust numbers in WinMove I'm using home resolution 800 x 600. and here is nice picture how it looks E&B window side by side without any Windows gadgets
  5. I'm using E&B windowed. Now when I can run 2 clients at once is even better. I'm using HotKeynet that tool is able move and resize window and even is able strip borders from window so I have nice and plain E&B windows without any Microsoft© Windows® obstacles (close button etc.). Only one I hate about E&B and thats mouse catch (it won't allow move moouse outside E&B window, like most of 1st person shooter games). For that I have another tool, what is able instantly move mouse out of window (release it from jail) without need to alt-tab. So I have now nice two E&B windows side by side and I'm able to switch between them without need to alt-tab.
  6. at that level none, is simply duplicit item. Diferent levels have diferent buffs. At level 3 both have same buff and same amount of buff at 100% it is +316 warp equiped.
  7. Nice. I did think oposite way. Same port more IPs. This is way more elegant same IP diferent ports. Yes of course when I did run more E&B cklients in Live I had own copy for each client. E&B have open a lot of files for write so it is not possible to run more clients from same copy. I'm only confused a bit about network.ini port selection. Do you mean file in .\data\common or .\data\client\ini directory? I did check sections there and your diff file looks for Port defined in [MasterServer] section. That confuse me a bit I did think it could be in [GlobalServer_Client]. Just quick Q as I did look in SVN all code is compiled in Visual Studio 2008, right? Another Q is about how to launch. I would need run proxy by hand not from Launcher or my compiled Net7Proxy would be updated from Launcher to Net-7 published one?
  8. Thanks for reply. From which you did told me and what I'm able to see if I check my system for ports listened on. Net7Proxy has build-in bind to localhost 127.0.0.1 and has not defined parametrized IP bind to. BTW is possible to run two different servers on same machine on same port as far as each of servers does bound to specific address like 127.0.0.1 and local ip by my example on my machine 192.168.1.202. I'm a bit skilled in programming and in socket definition when you build listener socket you can bound to 0.0.0.0 IP which means all IPs defined on your system or to specific IP like 127.0.0.1 for local host or 192.168.1.x as for private IP network. I think I now clearly understand limitation of actual process and relations between Net7 Launcher, Proxy and E&B client. Launcher does just launch Net7 Proxy and then E&B client. E&B client instead contacting old EA servers does connect to 127.0.0.1 as I have seen in launch.bat. Net7 proxy is actually hardcoded to bind to 127.0.0.1 and expect client connections from E&B client on that address. Run two Client against single Net7 Proxy is not possible because then proxy must be able handle two or more separate instances (clients) and that posibility is not coded in Net7 Proxy. I did just hope there is posibility to specify Net7 Proxy to bind to different IP on same ports. That way I would have two instances of Net7 proxy each with own client. I'm able run on same machine two instances but second one must be actually virtual machine. Limitation on EMU server side really doesn't exist, because I assure you both instances have same IP, if you looking from server side. Just one E@B instance run in my virtual PC. I'm using bridged interface in virtual PC so in fact both real and virtualized E&B client does look from EMU server like these both comming from single computer with single IP. I think one picture is more than thousand words. In next picture in pink you can see which addres is Net7Proxy bound (it is 0.0.0.0 that mean to all IPs defined on system). List of programs and used ports in system
  9. I did think there is some way how to bind NetLauncher and Net7Proxy to specific IP. For having more IPs more adapters is not necessary. I'd think I would be able to specify IP via switch or pull down menu, but I see message: Net7Proxy version 1.76 Using IP: 127.0.0.1 (127.0.0.1) that mean localhost. If that could be changed to specific IP then running more net7Proxy Clients via NetLauncher would be possible. Even machine with multiple network adapters would have just one localhost (127.0.0.1). I saw in directory .\release batch file launch.bat it has -SERVER_ADDR arg for CLIENT.EXE specifying address 127.0.0.1. I expecting this using Net7Launcher letting client know which address to use. I didn't find way how I could tell net7proxy to use different address than 127.0.0.1 If would be possible to specify address, then there would be no longer anything preventing run more than one CLIENT.EXE and Net7Proxy.EXE pairs per one machine. I doubt that two addapters would work at all.
  10. I saw in patch notes posibility to specify IP address, Launcher and probably game client, to be bound. Can be set by Local IP drop-down box, when I specify Server (Custom)? Is this way, how I could manage two E&B clients on same machine? I can add to my primary address any number of secondary IP addresses. Is here any [DEV] or [TS] who can bring light into my question? Please TIA
  11. Yup server did *hug* on tree for now.
  12. New stable DB dump is out, are you having plan update your excelent map with new DB feed? BTW guys stop discusion about if having map is good or bad. We will have wipe, and who want can ignore map, and go on explore self. But who really want to do some testing, need to know where to go and not loosing precious time by just getting ropes. BTW I found corelation between location numbers stored in DB and scale what is shown on sector map. In DB number 50000 does mean 50.00 in sector map. So number shown on your interactive map need to be divided by 1000 and rounded to 2 significant number after decimal point to get ingame shown coordinates.
  13. Actually I got diferent mission as PP for HU100. It was called Joint something (I don't remember it. I was forced to forfeit and buy my HU). But let me go into problem what I had with that mission. Until step 8/14 it was fine. I was send to few spots in Asteroid Belts, then to Odin's Belt to Mining facility and Chavez Outpost. In step 8 I got in big troubles. It say I should kill CL39 Chavez. IMHO that alone is bit tought, but when I went into Ragnarok to given spot there was actually 2 CL39 Chavez surrounded by couple of CL30 to CL35 (6 of them) and five CL23 to CL35. All does aggro on me. I don't know why me being OL100 should handle 11 mobs that level and most of them does aggro on me. People does advice me get a group. Fine but there are two problems: 1st group kill is not counted toward mission 2nd Hull Upgrade does involve grouping? Since when? It could help but can't be forced by nature. I don't know what should wait for me next in steps 9 thru 14, but step 8 was enough for me to give it up and buy my HU for 300000 credits. Please could be this reviewed and rethink? my personal point of view is that mission is not in line with OL, fighting mobs around CL30 is fine but close to CL40? This is not so common.
  14. Same here. I had problem in-game I did quit to desktop. When I fired .Net 7 proxy it connect but on E&B login screen I see Connecting To Server ... and I'm unable to login. I see ppl are on-line in .Nez7 check status, but that number falling down. So it seems that who is in game is there until leave. Probably login server is down.
  15. This is stress test and I won't see any bad when people (who want) can look where exactly perticular mob is. I have few questions about coordinates showing in your great map. These seems to be a lot diferent than we using in Client. I didn't find any co-realtion with coords showing in your map. Second thing is question about Spw, I guess is spawn timer. If so I guess it is in seconds and when there is 0 then that mob respawn instantly when killed, or is then random time? BTW I found during my exploration some disproportion with real ST4 mob distribution. Example is Xipe Totec Ruined Red Dragon Outpost. In your map it show 3 CL 20 Bio-Ripers but actually there is 3 CL50 Bio-something else. Wow what a shock for me being CL20 OL70 when I pass them, lucky alive.
  16. Is here any way how to remove "Earth & Beyond Service Rules of Conduct" with two buttons to choose "I Disagree" or "I Agree". I don't remember if in Live I had it always push everytime I did start client. I would like to go straight to user/password. I know how to remove video, but not know how-to remove this window. TIA
  17. No one had idea or words of wisdom, please.
  18. I don't remember how faction changes did work in Live when I was grouped. I have two questions in my mind is here any light to my questions? 1st when I'm grouped. Gain faction by killing NPC who get faction change in group? Who did most of damage 51% and more or all group members? 2nd when my group shoot NPC who has postive standing to me (color of NPC is green). I can't shoot it but someone in my group who has yellow or red standing can. Will be my standing changed (lowered) too? Sorry if my question sound stupid, but that's my concern around grouping and faction change.
  19. When I did play live I had two accounts and I did run two clients on same machine. Because game now need Net7 proxy to be able play on Net7 servers I guess that's not possible anymore. Or I did miss something around in forums with how-to. I saw post talking about VMWARE or other virtualising tools. So I guess I need host system to run two copies of Net7 Launcher and two E&B clients. Am I right? May be there is some tweak fro Net7 Launcher to allow two separate E@B clients running and one Net7-Proxy running. Please can anyone give me a bit of light in dark?
  20. has not set their status

  21. 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>
  22. Thank you! Yes I was blind. You point me right direction.
  23. I reading around and seems that ST4 and EMU can create all 9 classes. If is that true, can you give me rope. I did rejoin this great stuff, after 8 years when I left E&B on Sunset. I did launch my patched client via .Net7 launcher but screen did offer 6 standard classes only. Sorry if I did miss some FAQ where is answer.
×
×
  • Create New...