Поиск по STEAMB

Π˜Π³Ρ€Ρ‹ ΠΏΠΎ ΠΎΠ½Π»Π°ΠΉΠ½Ρƒ ΠΈ скины ΠΏΠΎ ΠΎΠ±ΡŠΡ‘ΠΌΡƒ ΠΏΡ€ΠΎΠ΄Π°ΠΆ

НичСго Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½ΠΎ

ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ Π΄Ρ€ΡƒΠ³ΠΎΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΡŽ.

МСню

πŸ“’ Server Code Updates - 26/02/26

1 / 1 Β· 100%

Prison Priest only revives User (#1215) – ReyarB

The Prison Priest now only revives the corresponding user (User#1215 – ReyarB). It does not modify any other status or affect other characters.


Refactor unused parameters (#1195) – Centorios

  • Removed the [c]MapNumber[/c] parameter from [c]UserDisconnected[/c].

  • Added explicit [c]Integer[/c] typing to the [c]UserConnected[/c] parameter.

  • Updated the [c]SaveUser[/c] call to match the new [c]UserDisconnected[/c] signature (now only receives [c]UserIndex[/c]).

This simplifies the user connection/disconnection interfaces and ensures consistent parameter types.


Item damage in combat against NPCs (#1190) – aledg994

Added support for NPC-specific damage ranges using new item properties:

  • [c]MinHitToNPC[/c]

  • [c]MaxHitToNPC[/c]

Weapons and ammunition can now define an alternative damage range that applies only when the target is an NPC, while maintaining the current behavior against users.

Technical changes

  • [c]GetUserDamage[/c] now receives the target type ([c]TargetType[/c]).

  • [c]GetUserDamageWithItem[/c] incorporates differentiated logic based on the target.

  • All calls to [c]GetUserDamageWithItem[/c] were updated accordingly.

Added helper [c]GetHitRangeValues[/c], which:

  • Uses [c]MinHitToNPC[/c] / [c]MaxHitToNPC[/c] when the target is an NPC.

  • Allows partial overrides (min only or max only).

  • Validates invalid ranges ([c]MaxHit < MinHit[/c]).

  • Applies to both weapons and ammunition.

If a weapon or ammunition does not define [c]MinHitToNPC[/c] and/or [c]MaxHitToNPC[/c], traditional values are used automatically.


Refactor SaveCharacterDB into orchestration + focused DB helpers (#1218) – Morgolock

[c]SaveCharacterDB[/c] was converted into an orchestrator while preserving:

  • Original login validation

  • [c]PerformanceTestStart[/c] timing

  • Call order

  • Invocation of [c]SaveCharacterQuestsDB[/c]

  • [c]InitUserPersistSnapshot[/c]

  • [c]LogSaveCharacterDuration[/c]

  • Original error handler text

Database operations were extracted into private helpers:

  • [c]SaveCharacterMainDB[/c]

  • [c]SaveCharacterSpellsDB[/c]

  • [c]SaveCharacterInventoryDB[/c]

  • [c]SaveCharacterBankInventoryDB[/c]

  • [c]SaveCharacterSkillsDB[/c]

  • [c]SaveCharacterPetsDB[/c]

  • [c]SaveCharacterQuestsDoneDB[/c]

  • [c]SaveCharacterInventorySkinsDB[/c]

Each helper:

  • Receives [c]ByRef[/c] parameters

  • Follows the [c]GetTickCountRaw + Execute + AppendQueryDuration[/c] pattern

  • Preserves the original timing labels

Parameter order and SQL constants were preserved (no query strings were modified), as well as the exact pet-type selection logic and quest builder/cleanup behavior.

[c]SaveInventorySkins[/c] was encapsulated within [c]SaveCharacterInventorySkinsDB[/c] to keep the "save inventory skins" timing label unchanged.


Stop updating immutable identity fields on character save (#1219) – Morgolock

Removed [c]name = ?[/c], [c]genre_id = ?[/c], [c]race_id = ?[/c], and [c]class_id = ?[/c] from the [c]QUERY_UPDATE_MAINPJ[/c] builder in [c]Codigo/Database_Queries.bas[/c], so [c]UPDATE user SET ... WHERE id = ?[/c] no longer modifies identity fields.

Also:

  • Removed packing of corresponding VB parameters from:

    • [c]SaveCharacterMainDB[/c]

    • [c]SaveChangesInUser[/c]

  • Adjusted [c]ReDim Params[/c] from 65 to 61 to match the new placeholder count.

  • Added [c]Debug.Assert i = UBound(Params) + 1[/c] immediately before [c]Execute(QUERY_UPDATE_MAINPJ, Params)[/c] in both save paths to detect future mismatches between SQL placeholders and packed parameters.


New [c]DisabledInBattleServer[/c] flag for NPCs (#1223, #1224) – Temis-gt

Introduces a new NPC configuration field: [c]DisabledInBattleServer As Integer[/c].

Configuration

Read from config file:

[c]DisabledInBattleServer = Val(LeerNPCs.GetValue(SectionName, "DISABLEDINBATTLESERVER"))[/c]

Conditional check in BattleServer mode:

#If BATTLESERVER = 1 Then
    If Info.DisabledInBattleServer > 0 Then Exit Function
#End If

Impact

  • Normal servers (BattleServer = 0): No changes. All NPCs load normally.

  • BattleServer (BattleServer = 1): NPCs with [c]DisabledInBattleServer = 1[/c] are not loaded or listed.

This prevents irrelevant or restricted NPCs from appearing in BattleServer mode and maintains gameplay consistency.


Fix: Net fishing not allowed from the shore (#1226) – ReyarB

Fixed a bug that allowed fishing nets to be used from the shore when it should not have been possible.


Hit Probability Limit Adjustment (5%–95%) (#1203) – Temis-gt

The hit probability calculation in combat (against both NPCs and players) has been adjusted.

Before: Minimum 10% – Maximum 90%

Now: Minimum 5% – Maximum 95%

This adjustment smooths extreme cases:

  • In extreme disadvantage situations, a minimum 5% chance is allowed (instead of 10%), keeping the possibility of a lucky hit.

  • In extreme advantage situations, the cap is raised to 95% (instead of 90%), slightly reducing misses when the attacker has a clear advantage.

This change only affects extreme cases and does not modify intermediate values, preserving overall combat balance.

Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π² Steam β†—

ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ 0

ГостСвыС Π½ΠΈΠΊΠ½Π΅ΠΉΠΌΡ‹ Π½Π΅ ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π°ΡŽΡ‚ Π»ΠΈΡ‡Π½ΠΎΡΡ‚ΡŒ. ВсС ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ проходят ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ Π²Π»Π°Π΄Π΅Π»ΡŒΡ†Π΅ΠΌ сайта.

ΠžΠ±ΡΡƒΠΆΠ΄Π΅Π½ΠΈΠ΅ Π΅Ρ‰Ρ‘ Π½Π΅ Π½Π°Ρ‡Π°Π»ΠΎΡΡŒ.

    Настройки cookies

    Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π²Ρ‹Π±ΠΎΡ€ Π² любой ΠΌΠΎΠΌΠ΅Π½Ρ‚. ΠžΡ‚ΠΊΠ°Π· ΠΎΡ‚ Π°Π½Π°Π»ΠΈΡ‚ΠΈΠΊΠΈ Π½Π΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ доступ ΠΊ сайту.

    Π’Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ, ΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€Ρ‹ ΠΈ сроки хранСния