Dev's Limit Breaking 101 Techniques
-
-
viper wrote:
Thank you very very much adoxa I tried it long time but all I got was crash on unmount ^^ âŚAny hint how to disable unmounting of a single equipment piece
without client crash?ATM i m going to have a HP, which canât be accessed
together with no good for the item, which shouldnât
be traded or transfered to an other ship. -
0x75->0xEB in freelancer.exe, 0xB88A4, 0xB88A4 = disable "Select Ship" ship dealer button ~adoxa ```The button will still appear valid, but won't have any affect. I thought if there's no good, the equipment isn't listed? Doesn't that take care of everything? Assuming, of course, that it comes with the shipâŚ
-
@adoxa
thank you very much again. That was exactly I was searching for.@F!R
Isnt their a way to add item like engines to an ship but dont show it?
Why u dont use this way. The Item will be on the ship but its unmoutable -
Viper⌠what are you doing? 8-)
Curiosity at full⌠im seriously interested in why youâd do thatâŚ
-
âŚ@F!R
Isnt their a way to add item like engines to an ship but dont show it?
Why u dont use this way. The Item will be on the ship but its unmoutableThatâs the basic result, of what i described above
- but different from the engines, cause the item will just not show,
while you are docked.
Why i am not satisfied with that?
I 'd want to allow the player to mount other weapons on that 2 ship slots
(not wanting to add some slots 4 balance reasons) but i d not want the
players to collect 10 of those guns (by buying 5 of those ships) and
mount it on an other one (also 4 balance reasons).The 2 possible - not really - âsollutionsâ i found:
â client crashes, when unmounting those babys cause of missing [good]
â weapons of ship canât be changed - but different from the engines, cause the item will just not show,
-
@F!R
Ah ok whats about to make those guns to high level like 11, (dont know if its possible to make weaponslots with an level above 10) and only to slots of the ship to this level?@Xarian_Prime
I just want to prevent any changes on a char in some circumstances -
Hereâs a couple of hexedits that control the speed of the Nav Mapâs zooming.
1.5f in freelancer.exe, 0x944AC, 0x944AC = time taken to zoom out (not zero) ~adoxa 1.5f in freelancer.exe, 0x9F2A7, 0x9F2A7 = time taken to zoom in (not zero) ~adoxa
-
The market files contain what we all presumed to be the number of items in stock, but it was never honoured. Turns out if itâs not zero, itâs set to 0x7f000000. Hereâs two hexedits to either set the explicit stock count, or honour the file setting.
0x7f000000 in freelancer.exe, 0x37ECF, 0x37ECF = number of items in stock ~adoxa 0xC74424440000007F->0x894424448D642400 in freelancer.exe, 0x37ECB, 0x37ECB = market files control items in stock ~adoxa ```Of course, since there's an instantaneous restock (launch, turn around, dock), it's more of a hassle than a real restriction.
-
viper wrote:
@F!R
Ah ok whats about to make those guns to high level like 11, (dont know if its possible to make weaponslots with an level above 10) and only to slots of the ship to this level? âŚAFAIK it will work, as if no level is set.
Maybe a job for adoxa to create a âonly-pre-mounted-stuffâ Hp.
(So now itâs up from 2001 additional Hps to 2002.)
-
F!R wrote:
Any hint how to disable unmounting of a single equipment piece
without client crash?Give it a large volume. Mounted items donât occupy any cargo space, but unmounted items do, so a mounted item that has a volume larger than the cargo hold cannot be unmounted. Donât think that helps with transfer, though.
-
âŚ. but unmounted items doâŚ
Even mounted internal equipment does
- thatâs how i tried to balance our capital reactors, armor etc.
before you came out with your Hp-hack.
âŚ. that would have safed me a nice bunch of work âŚ
- thatâs how i tried to balance our capital reactors, armor etc.
-
I realised a little afterwards that I should perhaps have been more specific. It actually checks the mount point, not the mounted flag. This means my Hp-hack should have the side-effect that mounted engines and powerplants donât use cargo space.
-
True⌠@ F!R⌠I just finished phase 1 of intergrating the engines/power into X⌠might have saved you a ton of work⌠but it makes a ton more m8 especially when the ship-counts are high like in our modsâŚ
and yes⌠a small side effect adoxa⌠but only a tiny one as long as all the ships are âleveledâ it shouldnât be a issue (trading powerplants between chars⌠ectâŚ)
Oh and a final note here⌠when re-coding your mods to work with Adoxaâs engclass.dll⌠Donât pull ye hair out when getting to your loadouts⌠the game donât care what NPC mounts what ENG/PWRâŚ
as theyâll never need to unmount and remount in spaceâŚThat should save yeâs about a day or 2⌠just add the HP its attached to though⌠(just like a gun or shield) although i dont think that is even needed in the loadouts⌠but safe to have it there as Lancers-FLEC sees it as a loadout error if not thereâŚ
Hehe⌠anyone done all this and actually ran the FLEC⌠I haveâŚ
-
btw.
Is there a special technic to find these hacks in a disassembled file? -
Depends what youâre trying to find. For example, the bat/bot HUD limit I found by simply searching for 000003E7 (999), plus knowing how it recognises bats & bots. Disabling buttons is also not that difficult, since button creation uses text strings as identifiers. So to disable the âSelect Shipâ button, I searched for the resource string (0000039A), which led me to the âShipTraderBuyButtonâ, which is stored at offset â[esi+0380]â, so searching for â+0380]â takes me to âcmp edi, [esi+0380] / jneâ. Change âjneâ to âjmpâ and bye-bye âSelect Shipâ. The same technique will work to disable any button.
-
0xC74424440000007F->0x8944248D642400 in freelancer.exe, 0x37ECB, 0x37ECB = market files control items in stock ~adoxa
This didnât work for me - it just prevented any items from showing up at the commodity/equipment dealer. Hereâs what worked for me:
C74424440000007F->0x8944244490909090 in freelancer.exe, 0x37ECB, 0x37ECB = market files control items in stock ```The value used is the second unknown value in the MarketGood entries, so the format is
MarketGood = , <required level=ââ>, <required rep=ââ>, <unknown>, <stock>, <sell>,</sell></stock></unknown></required></required>
-
Oops, I left out a byte; fixed the original post.
The unknown value looks to be the minimum in stock - retrieved by pub::Market::GetMinInventory as part of a function in content.dll. That function suggests a dynamic economy was planned, but not fully implemented.
For those unaware of it, bases also have a âprice_variance = floatâ value as part of [BaseInfo]. It picks a random number between (1 - price_variance) and (1 + price_variance) to adjust the cost of each good (equipment and commodities).
That section also contains âship_repair_cost = floatâ (default 0.33). This affects the repair value of the ship and its groups, but not equipment. The formula is: repair_cost = (1 - damage) * hit_pts * ship_repair_cost. Damage is the fractional health value (75/100 = 0.75).
-
Thatâs 100% correct. This price randomizer feature was something Cold Void came across a few years back and only seems to work in SP. I played around with this and it works wonderfully in SP but not in MP as it causes crashes. I wrote a little tutorial explaining the functions of this a while back as well but canât find it on here so here it is again for those interested.
The example here is for the Battleship Missouri. You need to add the variance line to every base to see it work properly.
This code needs to go into you base ini files. DATA\UNIVERSE\SYSTEMS\LI01\BASES
[BaseInfo]
nickname = Li01_03_Base
start_room = Deck
price_variance = 0.001[Room]
nickname = Bar
file = Universe\Systems\Li01\Bases\Rooms\Li01_03_Bar.ini[Room]
nickname = Deck
file = Universe\Systems\Li01\Bases\Rooms\Li01_03_Deck.iniWhat this does is vary the prices of any commodity, weapon or ship sold on a base each time you land. The lowest number you can have is 0.001. Iâve been messing around using 0.1 giving varying prices of between 10 and 1000+ per item depending on initial commodity price. In mods that have high prices for items iâd keep the variance a lot lower.
While not a totally dynamic economy, as it is not dependant on other items being present to affect the price, as in say X3, it gives the impression of a working dynamic economy and is a vast improvement over the pricing structure in the original game.
Here are some number variables and their meaning
price_variance = 0.001 - gives a 0.1% difference in price
price_variance = 0.01 - gives a 1% difference in price (not the most realistic but no abuse)
price_variance = 0.1 - gives a 10% difference in price (most realistic and open to abuse)There is room for abuse by players here with people no doubt docking and undocking to try and get a better price so try to keep the variance number reasonably low. I personally wouldnât use anything bigger than 0.01 (1%) but i will be experimenting with this to try different values.
-
⌠but not in MP as it causes crashesâŚ
Canât confirm, it causes crashes,
but player who sell or buy stuff on such a base,
will have a very high chance to get banned,
cause server + client wonât have the same price.
211/1120