Jump to content

MrJunior

IGC Premium Plus
  • Posts

    1,725
  • Joined

  • Last visited

  • Days Won

    87

MrJunior last won the day on April 11

MrJunior had the most liked content!

Profile Information

  • Gender
    Male

Contact Methods

  • OICQ
    No information

Recent Profile Visitors

10,797 profile views

MrJunior's Achievements

Experienced

Experienced (11/14)

  • Well Followed Rare
  • Dedicated
  • First Post
  • Collaborator
  • Posting Machine Rare

Recent Badges

16

Reputation

19

Community Answers

  1. Hello, I would like to request a native API for temporary character profiles designed for events such as Battle Royale, survival arenas, class trials, ranked PvP and temporary progression modes. The objective is to temporarily place a player into an isolated profile without modifying or risking the original character inventory, equipment, buffs, skills or attributes. Current Lua functions allow item access, deletion, insertion, stat changes and individual buff removal, but they are not sufficient to safely recreate the original state after an event. A full Lua-side solution may cause item serial issues, loss of advanced options, duplicate items, incorrect durability, socket/Harmony problems and incomplete buff restoration. Requested API: local sessionId, result = PlayerEvent.BeginTemporaryProfile(oPlayer, { EventKey = "BATTLE_ROYALE", Snapshot = { Stats = true, Level = true, MasterLevel = true, MasterSkillTree = true, LifeManaShieldAG = true, Equipment = true, MainInventory = true, ExtendedInventory = true, MuunInventory = true, PentagramInventory = true, Buffs = true, Skills = true, CashShopEffects = true, ItemEffects = true, }, TemporaryProfile = { BaseStats = { Strength = 100, Dexterity = 100, Vitality = 100, Energy = 100, Command = 100, }, Level = 1, LevelUpPoints = 0, InventoryMode = "EMPTY_EVENT_INVENTORY", SkillMode = "WHITELIST", AllowedSkills = {}, BuffMode = "SUPPRESS", OriginalBuffTimePolicy = "ELAPSE", }, Restrictions = { BlockTrade = true, BlockWarehouse = true, BlockPersonalShop = true, BlockChaosMachine = true, BlockInventoryMove = true, BlockItemUse = true, BlockItemRepair = true, BlockTeleport = true, BlockNormalItemPickup = true, }, Recovery = { PersistSnapshotBeforeApply = true, RestoreBeforeCharacterSaveOnDisconnect = true, RestorePendingSessionOnLogin = true, RestorePendingSessionsOnServerStart = true, }, }) local result = PlayerEvent.EndTemporaryProfile( oPlayer, sessionId, "EVENT_FINISHED" ) The native implementation should use an internal opaque snapshot. Lua should not be required to manually serialize and rebuild actual items. The snapshot must preserve the exact original item state, including: Original inventory slot and equipped position Unique item serial Item level and durability Skill, luck, additional option and excellent options Ancient/set options Harmony option type and value Socket options and bonus socket option 380 option, period item data, pet data, elemental/pentagram/errtel data Muun inventory and related items Any other internal item fields required for a bit-perfect restoration Buff restoration should preserve: Buff identifier Remaining duration Effect types and values Buff source / caster Cash Shop and item-generated effects Configurable time policy: ELAPSE, PAUSE or REMOVE The API should also provide an isolated Event Inventory: EventInventory.Clear(oPlayer, sessionId) EventInventory.AddItem(oPlayer, sessionId, itemInfo) EventInventory.TransferRewards(oPlayer, sessionId, { Destination = "GREMORY_OR_MAIN_INVENTORY" }) This is necessary so event rewards and temporary equipment do not mix with the player’s original inventory. Required safety guarantees: BeginTemporaryProfile must be atomic. EndTemporaryProfile must be idempotent. No original item may be deleted or recreated through Lua. The original profile must be restored after event finish, disconnect, server restart or unexpected crash. The GameServer must prevent item movement, trade, warehouse, chaos machine and similar actions while the temporary profile is active. The system must prevent duplicate rewards and duplicate profile restoration. Recovery should be automatically processed on player login and GameServer startup. The API should provide clear result/error codes and server logs for create, restore, recovery and failure cases. This feature would allow secure development of Battle Royale, survival arenas and temporary PvP modes without risking player items or permanent character data. Thank you.
  2. Hello developers, through this I would like to request the addition of a way to define where the item will be created, for example: EventInventory GremoryCase CashShop Inventory Ground Currently, there is nothing that allows us to define where the item will be created, such as: https://github.com/srv-config/Configs-Preview/wiki/Item-Structures
  3. This is nice !
  4. @Wizzy Is it possible to add a callback that makes the object :Monster Follow the object :Player?
  5. @Wizzy You can change this to completed; after the last update today, it's possible to manipulate the attributes. Thank you for that.
  6. @Wizzy I can't register to help with the tests.
  7. Hello developers, through this request, I would like to include a callback that captures a player's complete information. Example: onCurrentCharacterUserData(oPlayer, currentData) The idea of this method is to retrieve all the character's information: Items, Level, Resets, Inventory, Attributes, Master Level, Enhancements, Skills Generally, the idea of the method would be to save this information for the creation of an event (Battle Royale). The idea of this event is to place all players in an arena with absolutely nothing. When the event starts, items will begin to appear so that players can equip themselves and use skills until only one survivor remains. But, to implement this event, we need a method that captures the player's current information and saves their current state in a generalized way, because at the end of the event, when the players leave the Battle Royale area, the player's current state would need to be retrieved. In other words, it would basically be a method that stores the player's current information so that we can plan the event accordingly. Demonstration video of a Battle Royale in action:
  8. I have a question, and it's not specified there. Will the new client be a product only for iOS and Android? Will there be a remastered desktop version of the emulator's base game client as a whole, or is the goal only iOS and Android?
  9. Hello developers, through this message I'm requesting a callback to retrieve the character login. Currently, all callbacks are used for oPlayer. Some customizations, especially those that apply bonuses to wcoin, goblinpoint, VIP balance, or any other type of interaction that requires the character login, are being cached, but depending on the context, this isn't the best practice. Therefore, I would like to request a callback that can retrieve the account login more easily, as well as the wcoin and goblinpoint balance, something like: onAccountPlayer(oPlayer oTarget) Retrieves the character login onAccountAmount(oPlayer oCoins) Retrieves the account/character login and coin balance onAccountVipType(oPlayer oTypeVip) Retrieves the player's actual VIP type
  10. I'm creating an event where infection is implemented in PLAYER_KILL mode, not by hit, because currently LuaAPI doesn't expose a reliable attack/hit callback to trigger character infection upon receiving an attack. Therefore, I'm requesting a callback that captures the moment of the attack on the target (oPlayer), as currently we only have the death callback. The idea would be a callback that intercepts the target's first hits. onPlayerAttackHit(oPlayer, target)
  11. Through this, I would like to request from the developers at least one LuaAPI extension that allows changing the names of NPCs/Monsters to be seen as defined in our scripts. I know this would depend on the client, so that's why I'm requesting at least a small extension for this issue. This way, we wouldn't keep the default names for monsters/NPCs, since in many cases we will use the same NPCs and/or monsters with different functions and scripts. The idea would be to include at least this simpler part so that the names defined in the scripts can be seen by the client.
  12. Through this letter, I request the inclusion of new callbacks for handling the off-trade system. offTradeCommand(coinType, value)
  13. Hello developers, I noticed that the documentation only mentions Player.SetMoney and Player.SetRuud. I would like to request the inclusion of the same functionality for CashShop coins, so we don't need to work with caching or queries using onDS... Something like: GetWcoins(oPlayer, oValue) GetGoblinPoints(oPlayer, oValue) Customizations that will have payment fees, such as new commands. I used the onDS dataserver callback... But that wouldn't be the best practice.
  14. Through this, I request that the developers add callbacks that allow us to manipulate all the monster's attributes (MonsterList.xml) according to their respective indexes. onMonsterGetAttr(oMonster, oTarget), -- Return all the monster's attributes according to their index in MonsterList onMonsterSetAttr(oMonster, oTarget), -- To set/change specific monster attributes onMonsterTracker(oMonster, oTarget) -- To track the object/player Currently, the monsters are appearing 100% stationary, and since we can't manipulate their attributes, the events are becoming extremely low quality because players like to compete, but without being able to manipulate these attributes, we can't offer that to the players. On a reset server, attribute alteration is fundamental.
  15. The final result after successfully is the same:
×
×
  • Create New...

Important Information


We use technologies, such as cookies, to customize content and advertising, to provide social media features and to analyse traffic to the site. We also share information about your use of our site with our trusted social media, advertising and analytics partners. See more about cookies and our Privacy Policy.