These forums have been archived and are now read-only.

The new forums are live and can be found at https://forums.eveonline.com/

Ships & Modules

 
  • Topic is locked indefinitely.
 

pyfa 1.15.0 (Vanguard)

First post First post First post
Author
Bam Stroker
The Graduates
The Initiative.
#121 - 2013-10-05 17:49:06 UTC
Thanks for all your work on Pyfa, it's probably the most useful Eve tool I've ever had!

Now that CCP have published the stats on the new SoE ships will you be adding them to the Pyfa DB soon? I can't wait to start playing with fits for these things. :)

https://forums.eveonline.com/default.aspx?g=posts&t=283120&find=unread

EVE Down Under - a community for players in the AUTZ

In-game channel: evedownunder // Twitter: @evedownunder

https://www.facebook.com/evedownunder

stoicfaux
#122 - 2013-10-06 04:06:00 UTC
Random instructions on how to "hack" pyfa's DB to add new items or tweak stats.

Firstly, the pyfa database is an SQLite database. I used this sqlite firefox plugin to run sql against the database. The database is: pyfa_dir/staticdata/eve.db. Be sure to make a backup of the database before you change it.

Generally speaking, ships, modules, etc., are listed in the invtypes table. Effects (e.g. tracking bonus) are in the dgmattribs table. Attributes are in the dgmattribs table. The effects tell pyfa what to do (tracking bonus, velocity bonus, etc.) while the attributes tell it how much the bonus (or penalty) is.

Secondly, Views.
Create the following two views to get an easier understanding of things:

create view itemAttribs as
select
invtypes.typeName, invtypes.typeID, dgmtypeattribs.value, dgmattribs.*
from
invtypes,
dgmtypeattribs,
dgmattribs
where
dgmtypeattribs.typeID = invtypes.typeID
and dgmattribs.attributeID = dgmtypeattribs.attributeID
order by invtypes.typeName, attributeName

create view itemEffects as
select
invtypes.typeName, dgmeffects.*
from
invtypes,
dgmtypeeffects,
dgmeffects
where
dgmtypeeffects.typeID = invtypes.typeID
and dgmeffects.effectID = dgmtypeeffects.effectID
order by invtypes.typeName

If you're creating a module, you will want to first create an entry in the invtypes table, like so:
INSERT or replace INTO "invtypes" VALUES ("400000", "Bastion Module", "Super transformy mode go!", null, "5", "5000", "0", "1" ,"706", "3346", "213");


Now you need to select the effects you want your module to have. It is possible to create new effects (effects engine), but I haven't tried it. If you don't create new effects then you are limited to apply existing effects to your module. So if you want a module that provides a 100% boost to armor repair rate when active, then you're out of luck. Instead you will have to apply the Auxiliary Nano Pump rig's repair boost effect to your module, which means your module will boost the repair rate even when off.
What I do is:
1. search for an existing module with the effect(s) that I want.
2. Pull up that module in the itemAttribs view we created previously
3. Record the attributeID.
4. Pull up that module in the itemEffects view we created previously
5. Record the effectID.

Now we need to create the sql linking our typeID to the itemID to the effectID and give it a value, like so:
-- armor repair bonus
INSERT OR REPLACE INTO "dgmtypeattribs" (attributeID, value, typeID) VALUES ("806","100","400000");
INSERT OR REPLACE INTO "dgmtypeeffects" (typeID, effectID) VALUES ("400000","1281");

"400000" is our typeID. 100 is 100% repair rate. 1281 is the "structuralAnalysisEffect" (i.e. the repair armor effect). 806 is the "repairBonus", i.e. how much our "structuralAnalysisEffect" repairs.

Also, you will need to tell it what slot to use and turn online effect on.
--high power slot
INSERT OR REPLACE INTO "dgmtypeeffects" (typeID, effectID) VALUES ("400000","12");
--online effect
INSERT OR REPLACE INTO "dgmtypeeffects" (typeID, effectID) VALUES ("400000","16");

However, since the Nano Pump rig's repair boost effect is always on, your custom module will provide a repair boost even when off. In other words, you applied the Nano Pump's repair effect to your module, so your module acts like a Nano Pump rig.


To update a ship's stats, use the itemAttribs view we created previously, search for the ship name, and you will see most/all of the ship's stats. Record the typeID of the ship, and the attributeID you want to change. The do something like this:
update dgmtypeattribs set value=8 where typeID=28659 and attributeId=14;
It will update the Paladin (typeID of 28659) to have 8 highslots (highslots are attributeId 14.)

You will need to figure out the effects and attribute links, but again, the views I provided should make that easier. Look at existing modules to see what effects and attributes you want to use or tweak.

Good luck!

Pon Farr Memorial: once every 7 years, all the carebears in high-sec must PvP or they will be temp-banned.

stoicfaux
#123 - 2013-10-06 04:06:56 UTC
Rubicon Bastion Module:

Here's an example of creating a custom module.

delete from dgmtypeeffects where typeID = 400000;
delete from dgmtypeattribs where typeID = 400000;

INSERT or replace INTO "invtypes" VALUES ("400000","Bastion Module","Super transformy mode go!",null,"5","5000","0","1","706","3346","213");

--gunneryMaxRangeFalloffTrackingSpeedBonus (TC)
INSERT OR REPLACE INTO "dgmtypeeffects" (typeID, effectID) VALUES ("400000","4559");

-- armor repair bonus
INSERT OR REPLACE INTO "dgmtypeattribs" (attributeID, value, typeID) VALUES ("806","100","400000");
INSERT OR REPLACE INTO "dgmtypeeffects" (typeID, effectID) VALUES ("400000","1281");
--INSERT OR REPLACE INTO "dgmtypeeffects" (typeID, effectID) VALUES ("400000","2868");


--capacitor need
INSERT OR REPLACE INTO "dgmtypeattribs" (attributeID, value, typeID) VALUES ("6","10","400000");
--hp
INSERT OR REPLACE INTO "dgmtypeattribs" (attributeID, value, typeID) VALUES ("9","40","400000");
--power
INSERT OR REPLACE INTO "dgmtypeattribs" (attributeID, value, typeID) VALUES ("30","100","400000");
--cpu
INSERT OR REPLACE INTO "dgmtypeattribs" (attributeID, value, typeID) VALUES ("50","10","400000");
--duration
INSERT OR REPLACE INTO "dgmtypeattribs" (attributeID, value, typeID) VALUES ("73","60000","400000");
--requiredskill1
INSERT OR REPLACE INTO "dgmtypeattribs" (attributeID, value, typeID) VALUES ("182","3394","400000");

INSERT OR REPLACE INTO "dgmtypeattribs" (attributeID, value, typeID) VALUES ("267","0.7","400000");
INSERT OR REPLACE INTO "dgmtypeattribs" (attributeID, value, typeID) VALUES ("268","0.7","400000");
INSERT OR REPLACE INTO "dgmtypeattribs" (attributeID, value, typeID) VALUES ("269","0.7","400000");
INSERT OR REPLACE INTO "dgmtypeattribs" (attributeID, value, typeID) VALUES ("270","0.7","400000");
INSERT OR REPLACE INTO "dgmtypeattribs" (attributeID, value, typeID) VALUES ("271","0.7","400000");
INSERT OR REPLACE INTO "dgmtypeattribs" (attributeID, value, typeID) VALUES ("272","0.7","400000");
INSERT OR REPLACE INTO "dgmtypeattribs" (attributeID, value, typeID) VALUES ("273","0.7","400000");
INSERT OR REPLACE INTO "dgmtypeattribs" (attributeID, value, typeID) VALUES ("274","0.7","400000");
--requiredSkillLevel
INSERT OR REPLACE INTO "dgmtypeattribs" (attributeID, value, typeID) VALUES ("277","4","400000");
--techLevel
INSERT OR REPLACE INTO "dgmtypeattribs" (attributeID, value, typeID) VALUES ("422","2","400000");
--metaLevel
INSERT OR REPLACE INTO "dgmtypeattribs" (attributeID, value, typeID) VALUES ("633","5","400000");
--maxGroupActive
-- INSERT OR REPLACE INTO "dgmtypeattribs" (attributeID, value, typeID) VALUES ("763","1","400000");
INSERT OR REPLACE INTO "dgmtypeattribs" (attributeID, value, typeID) VALUES ("974","0.7","400000");
INSERT OR REPLACE INTO "dgmtypeattribs" (attributeID, value, typeID) VALUES ("975","0.7","400000");
INSERT OR REPLACE INTO "dgmtypeattribs" (attributeID, value, typeID) VALUES ("976","0.7","400000");
INSERT OR REPLACE INTO "dgmtypeattribs" (attributeID, value, typeID) VALUES ("977","0.7","400000");


-- shield boosting
INSERT OR REPLACE INTO "dgmtypeattribs" (attributeID, value, typeID) VALUES ("548","100","400000");
-- armor repair bonus
--INSERT OR REPLACE INTO "dgmtypeattribs" (attributeID, value, typeID) VALUES ("806","100","400000");
-- falloffBonus (tc/te)
INSERT OR REPLACE INTO "dgmtypeattribs" (attributeID, value, typeID) VALUES ("349","25","400000");
-- maxRangeBonus (tc/te)
INSERT OR REPLACE INTO "dgmtypeattribs" (attributeID, value, typeID) VALUES ("351","25","400000");
--trackingSpeedBonus
--INSERT OR REPLACE INTO "dgmtypeattribs" (attributeID, value, typeID) VALUES ("767","1","400000");
INSERT OR REPLACE INTO "dgmtypeattribs" (attributeID, value, typeID) VALUES ("767","0","400000");


--high power slot
INSERT OR REPLACE INTO "dgmtypeeffects" (typeID, effectID) VALUES ("400000","12");
--online effect
INSERT OR REPLACE INTO "dgmtypeeffects" (typeID, effectID) VALUES ("400000","16");

--damageControl
INSERT OR REPLACE INTO "dgmtypeeffects" (typeID, effectID) VALUES ("400000","2302");
--shieldBoostAmplifier
INSERT OR REPLACE INTO "dgmtypeeffects" (typeID, effectID) VALUES ("400000","1720");

--missileSkillMissileProjectileVelocityBonus
INSERT OR REPLACE INTO "dgmtypeeffects" (typeID, effectID) VALUES ("400000","1764");
--speedFactor (missile velocity)
INSERT OR REPLACE INTO "dgmtypeattribs" (attributeID, value, typeID) VALUES ("20","25","400000");


Pon Farr Memorial: once every 7 years, all the carebears in high-sec must PvP or they will be temp-banned.

stoicfaux
#124 - 2013-10-06 04:07:45 UTC
And here's how to tweak the Marauders with the Rubicon changes:

--paladin
update dgmtypeattribs set value=8 where typeID=28659 and attributeId=14;
update dgmtypeattribs set value=16500 where typeID=28659 and attributeId=11;
update dgmtypeattribs set value=530 where typeID=28659 and attributeId=48;
update dgmtypeattribs set value=6300 where typeID=28659 and attributeId=263;
update dgmtypeattribs set value=8000 where typeID=28659 and attributeId=265;
update dgmtypeattribs set value=7700 where typeID=28659 and attributeId=9;
update dgmtypeattribs set value=8000 where typeID=28659 and attributeId=482;
update dgmtypeattribs set value=1000000 where typeID=28659 and attributeId=55;
update dgmtypeattribs set value=85 where typeID=28659 and attributeId=37;
update dgmtypeattribs set value=0.119 where typeID=28659 and attributeId=70;
update dgmtypeattribs set value=50 where typeID=28659 and attributeId=283;
update dgmtypeattribs set value=50 where typeID=28659 and attributeId=1271;
update dgmtypeattribs set value=91000 where typeID=28659 and attributeId=76;
update dgmtypeattribs set value=120 where typeID=28659 and attributeId=564;
update dgmtypeattribs set value=420 where typeID=28659 and attributeId=552;

--golem
update dgmtypeattribs set value=8 where typeID=28710 and attributeId=14;
update dgmtypeattribs set value=8500 where typeID=28710 and attributeId=11;
update dgmtypeattribs set value=8000 where typeID=28710 and attributeId=263;
update dgmtypeattribs set value=6100 where typeID=28710 and attributeId=265;
update dgmtypeattribs set value=7000 where typeID=28710 and attributeId=9;
update dgmtypeattribs set value=6325 where typeID=28710 and attributeId=482;
update dgmtypeattribs set value=1150000 where typeID=28710 and attributeId=55;
update dgmtypeattribs set value=85 where typeID=28710 and attributeId=37;
update dgmtypeattribs set value=50 where typeID=28710 and attributeId=283;
update dgmtypeattribs set value=50 where typeID=28710 and attributeId=1271;
update dgmtypeattribs set value=95000 where typeID=28710 and attributeId=76;
update dgmtypeattribs set value=105 where typeID=28710 and attributeId=564;
update dgmtypeattribs set value=450 where typeID=28710 and attributeId=552;

--kronos
update dgmtypeattribs set value=8 where typeID=28661 and attributeId=14;
update dgmtypeattribs set value=14000 where typeID=28661 and attributeId=11;
update dgmtypeattribs set value=580 where typeID=28661 and attributeId=48;
update dgmtypeattribs set value=6600 where typeID=28661 and attributeId=263;
update dgmtypeattribs set value=7200 where typeID=28661 and attributeId=265;
update dgmtypeattribs set value=8600 where typeID=28661 and attributeId=9;
update dgmtypeattribs set value=6900 where typeID=28661 and attributeId=482;
update dgmtypeattribs set value=1150000 where typeID=28661 and attributeId=55;
update dgmtypeattribs set value=98 where typeID=28661 and attributeId=37;
update dgmtypeattribs set value=0.114 where typeID=28661 and attributeId=70;
update dgmtypeattribs set value=50 where typeID=28661 and attributeId=283;
update dgmtypeattribs set value=50 where typeID=28661 and attributeId=1271;
update dgmtypeattribs set value=90000 where typeID=28661 and attributeId=76;
update dgmtypeattribs set value=120 where typeID=28661 and attributeId=564;

--vargur
update dgmtypeattribs set value=8 where typeID=28665 and attributeId=14;
update dgmtypeattribs set value=12900 where typeID=28665 and attributeId=11;
update dgmtypeattribs set value=7500 where typeID=28665 and attributeId=263;
update dgmtypeattribs set value=6600 where typeID=28665 and attributeId=265;
update dgmtypeattribs set value=6300 where typeID=28665 and attributeId=9;
update dgmtypeattribs set value=6200 where typeID=28665 and attributeId=482;
update dgmtypeattribs set value=1100000 where typeID=28665 and attributeId=55;
update dgmtypeattribs set value=100 where typeID=28665 and attributeId=37;
update dgmtypeattribs set value=0.112 where typeID=28665 and attributeId=70;
update dgmtypeattribs set value=50 where typeID=28665 and attributeId=283;
update dgmtypeattribs set value=50 where typeID=28665 and attributeId=1271;
update dgmtypeattribs set value=81000 where typeID=28665 and attributeId=76;
update dgmtypeattribs set value=145 where typeID=28665 and attributeId=564;
update dgmtypeattribs set value=360 where typeID=28665 and attributeId=552;


However, there doesn't appear to be a ship mass attribute in pyfa, so you can't have everything.

Pon Farr Memorial: once every 7 years, all the carebears in high-sec must PvP or they will be temp-banned.

noBap
Federal Defense Union
Gallente Federation
#125 - 2013-10-06 17:07:23 UTC
Is it just me, or scan resolution bonus penalty doesn't count on (medium) targeting system subcontroller i and signal amplifier ii?
Oberus MacKenzie
Handsome Millionaire Playboys
Sedition.
#126 - 2013-10-06 23:22:36 UTC  |  Edited by: Oberus MacKenzie
Thank you for all the effort you put into keeping this tool up-to-date. It is, without a doubt, my favorite 3rd party app for Eve.

That being said, I think the calibration cost of some of the medium shield rigs are incorrect, specifically the capacitor safeguard rigs. T2 is costing 150 calibration when in-game it's 75.

Thanks again!

Edit: ignore this ^
turns out that my brain doesn't feel like reading properly today.
Kadesh Priestess
Descendance.
GoonSwarm.
#127 - 2013-10-07 13:10:15 UTC  |  Edited by: Kadesh Priestess
Garviel Tarrant wrote:
I like all the features.. i think its excellent

but why does overheating guns have like a 2 second latency?(just an example, everything is like that) Its really really slow...
This is one of the main reasons to get rid of current engine (the 2nd being maintenance cost which can be further reduced).

On a related note:
I've made significant progress with new one during past month, it's approximately 75-80% ready for local fit calculations (no gang / projected stuff yet, although i already have design plans on how they should be implemented and integrated). Thus, I'm looking for UI developer for a UI rewrite.
Following 3rd party technologies are planned to be used:

python 3.x (3.3+ or maybe even 3.4+, depending on time of release)
wxwidgets

The rest is adjustable. Personally, i'm not a fan of ORMs, so getting rid of SQLAlchemy during rewrite would be good idea.

I will handle all the backend (=engine) work, and most of the 'business logic' layer, so only UI experience is needed. If you're interested, send me an eve-mail or contact me via IRC: #evefit@coldfront.net (i'm in there at ~18-21 UTC).

Primo Theron wrote:
Hey guys... there seems to be something wrong showing the velocity on the Vagabond with 10 MN modules
vagabond with 10mn ab on all5 char has speed 2453. Isn't it sane?
William Darkk wrote:
I've noticed pyfa beachballing and crashing lately while editing fits. I know there's a directory in my home folder that I can delete to clear the settings that might be causing the problem, but will this delete my fits?

Using a mac.
Yes, it will delete your fits. But it will help only if database became corrupted. Try to:

1) Identify specific steps after which pyfa crashes for you
2) Send me ~/.pyfa/saveddata.db file with steps

Louis Ferreira wrote:
Anybody have any ideas why I keep getting "random" segfaults with pyfa?
I'm having these as well sometimes. Most likely bugs in wxwidgets are the reason, but as i'm not UI dev - i lack experience to trace them down and do some kind of sane work around.

Justin Perelta wrote:
First off, THANK YOU! Your work is appreciated.

But I have an issue with the Mac client not being about to load my previous .XML fitting file. I get the loading ping-pong graphic and it hangs there. Have to do a force quit to exit the app.
It means importer has crashed. Please provide XML file so i can fix it.
Kadesh Priestess
Descendance.
GoonSwarm.
#128 - 2013-10-07 13:14:57 UTC
Bam Stroker wrote:
Now that CCP have published the stats on the new SoE ships will you be adding them to the Pyfa DB soon? I can't wait to start playing with fits for these things. :)
I will make a release few soonish after CCP uploads these changes to sisi.

stoicfaux wrote:
And here's how to tweak the Marauders with the Rubicon changes:
However, there doesn't appear to be a ship mass attribute in pyfa, so you can't have everything.
It is in invtypes table, just like in CCP static data dumps.

Thanks for explaining how to add custom stuff - but you're missing the most important part, describing how one modules influence other (pyfa/eos/effects/* files).

noBap wrote:
Is it just me, or scan resolution bonus penalty doesn't count on (medium) targeting system subcontroller i and signal amplifier ii?
This bug was fixed a while ago in development branch, next release will include fix.
Kadesh Priestess
Descendance.
GoonSwarm.
#129 - 2013-10-07 22:07:49 UTC
As promised, new build with latest SiSi data - singularity 621408:
Windows
Mac
Linux/src

Includes few additions and fixes as well.
Titanic Nut
The Scope
Gallente Federation
#130 - 2013-10-08 01:08:40 UTC  |  Edited by: Titanic Nut
snip
Mandar Amelana
Hedion University
Amarr Empire
#131 - 2013-10-08 15:32:58 UTC
I cannot fetch characters from API. I have selected my main, no expiry and character sheet access.

Can someone help because it is frustrating.
Kadesh Priestess
Descendance.
GoonSwarm.
#132 - 2013-10-08 17:05:31 UTC
Send me keyID and vCode via evemail, i will check if key provides required access. Most often wrong key settings are an issue.
Bienator II
madmen of the skies
#133 - 2013-10-09 02:05:05 UTC
latest build works all perfectly so far. thanks guys!

how to fix eve: 1) remove ECM 2) rename dampeners to ECM 3) add new anti-drone ewar for caldari 4) give offgrid boosters ongrid combat value

Darkwolf
#134 - 2013-10-10 08:40:29 UTC  |  Edited by: Darkwolf
Strangely, I can't get pyfa to run on my main PC, but it runs just fine on my other PCs. There's no error log, no output log, it just starts up and closes immediately (no crash dialog).

I have had this happen before with other apps, and it's often because they can't handle a very wide desktop resolution - I run 7680x1440. Running Windows 7 x64 here.

EDIT: Still seems to happen when I reconfigure to just one monitor, 2560x1440, so it may not be that. Strange.
Wolfger Silberbaer
Quantum Anomaly Corporation
#135 - 2013-10-13 12:46:38 UTC
Coming back to Eve after close to a year off. Just wanted to say thank you for keeping PyFA going!
Harry Saq
Of Tears and ISK
ISK.Net
#136 - 2013-10-17 01:34:25 UTC
Is it possible to change the colors on the graph in the current engine? I am running a black windows theme, and the graph is showing up as black on black, so can;t read the numbers. I can switch the theme, but curious if it was possible to customize the text colors, or would I have to go into code to do that?
Akiko Ichosira
State War Academy
Caldari State
#137 - 2013-10-22 12:10:10 UTC
Havnt been able to fit the kestrel in pyfa since 1.1.16. I find it in the ships tab but when i click on a fit or try to make a new one nothing happens. Tried deleting everything and download from scratch. Still the same problem, Anyone else having this or is it just me?
Nolen Cadmar
Caldari Provisions
Caldari State
#138 - 2013-10-24 17:10:14 UTC  |  Edited by: Nolen Cadmar
Is there a way to force PYFA to pull market data for all items?

Wondering b/c my internet at work prevents PYFA from pulling market prices when I equip an item. I'd like to be able to pull all prices while at home, so that I can experiment with fittings during downtime at work.

EDIT: I am also experiencing the same issue as Akiko.

Nolen's Spreadsheet Guru Services

Pre-made spreadsheets available covering market, manufacturing and more!

Custom requests welcome!

Sheet Screenshots

PsyPeople Doomka
UniQPO
#139 - 2013-10-28 19:09:53 UTC  |  Edited by: PsyPeople Doomka
Why all attributes in final pyfa is wrong?
At this moment i saw all frigs in pyfa and EvE tranq - all have different attributes.
http://puu.sh/527kK.png
Bogdan Yassavi
Viziam
Amarr Empire
#140 - 2013-10-30 12:35:23 UTC
Because the stats you see in pyfa are influenced by the pilot (your case an All 5) while the ones in Eve are raw stats