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ā¦
-
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ā¦
-
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.