Search Unity

uMMORPG Official Thread

Discussion in 'Assets and Asset Store' started by mischa2k, Dec 29, 2015.

  1. iSleepzZz

    iSleepzZz

    Joined:
    Dec 23, 2012
    Posts:
    206
    Well like anything in a networked multiplayer game, everything you do need to be told to server and then server needs to tell all clients about it.
    What exactly are you trying to accomplish? Equipping different gloves for players?
    Also, let's see how you are instating the gloves right now.
    You can always instantiate it over the NetworkServer, however to keep it tracked you can have the NetworkTransform sync the position and rotation of it, however I can almost guarantee there are better solutions for you, however I just need to know exactly what you're trying to do.
     
    JBR-games likes this.
  2. mischa2k

    mischa2k

    Joined:
    Sep 4, 2015
    Posts:
    4,347
    This is the uMMORPG thread. Please join our Mirror discord for Mirror related questions :)
     
  3. iSleepzZz

    iSleepzZz

    Joined:
    Dec 23, 2012
    Posts:
    206
    Hello vis!
    Having some issues here... I tried using discord however im very inexperienced in using discord and could not receive any help:(

    I am trying to create a piece of armor like how you have setup on your Warrior class (armor pants).
    The pants' bones are rigged so that the pants will be properly worn on the warrior.
    I have the pants and I have my character. (all from Synty Studios poly characters)
    However, I am unsure how to rig up the pants to have the same thing like you did.
    Can you please give me a quick text-tutorial or a brief description on how to do it?

    P.S. my pants mesh does not contain an avatar. And when I try to create an avatar, it says "unable to create human avatar because it has no bones."
     
  4. mischa2k

    mischa2k

    Joined:
    Sep 4, 2015
    Posts:
    4,347
    Hey. My 3D Modeling knowledge is near zero, an artist did that for me. As far as I understand, she created a character with all the equipment on, then rigged and animated it, then exported only the character and only the equipment parts as fbx models.
     
    tylerguitar75 likes this.
  5. mischa2k

    mischa2k

    Joined:
    Sep 4, 2015
    Posts:
    4,347
    V1.175 [released 2019-07-09]
    • Entity: avoid Linq for performance and to reduce GC
    • Monster: avoid Linq
    • NetworkMessages: avoid Linq
    • Npc: avoid Linq
    • Party: avoid Linq
    • Player.IsOffender/IsMurderer: reuse GetBuffIndexByName
    • Player.HasLearnedSkill: reuse HasLearnedSkillWithLevel
    • Player: avoid Linq in hot path
    • Utils: avoid Linq where possible
    • Utils.InvokeMany: remove unnecessary ToArray call
    • UIUtils: avoid Linq
     
  6. wood333

    wood333

    Joined:
    May 9, 2015
    Posts:
    851
    I own mMMORPG, but I have not worked with it yet.

    1. If I start now, what version of Unity do I want to use, 2018.4 LTS or wait for 2019 LTS?

    2. I don't have the time or resources to run my own server, so for development, what hosting service would you recommend? I can afford to pay for hosting.
     
  7. mischa2k

    mischa2k

    Joined:
    Sep 4, 2015
    Posts:
    4,347
    Use exactly 2018.3.6, newer versions have a Linux server build bug that Unity is still fixing.
    For hosting I highly recommend google cloud. That's where I do all my tests, they just work really well. It's google, after all.
     
  8. mischa2k

    mischa2k

    Joined:
    Sep 4, 2015
    Posts:
    4,347
    V1.176 pending review:
    • NetworkManagerMMO.DoServerDisconnect: don't log if no playercontroller because that happens if a player disconnects while in lobby.
    • NetworkManagerMMO.OnServerCharacterCreate: don't log invalid class/already exists/etc. on a live server
    • Entity.GetSkill/BuffIndexByName: avoid allocations
    • Entity.AddOrRefreshBuff: reuse GetBuffIndexByName to avoid allocations
    • Entity.GetInventoryIndexByName: avoid allocations
    • BuffSkillEffect: reuse GetBuffIndexByName to avoid allocations
    • Player.GetQuestIndexByName: avoid allocations
    • PetItem: fix health being assigned before level, causing spawned pets to always spawn with level 1 max health
     
  9. sabbath1989

    sabbath1989

    Joined:
    Jan 20, 2016
    Posts:
    14
    Good night, is there any way for a player to sell things to another playing without using the switch? as if he makes a store and chooses the products he wants to sell!
     
    Neviah likes this.
  10. JBR-games

    JBR-games

    Joined:
    Sep 26, 2012
    Posts:
    708
    There is 3rd party assets for a auction house.. May be worth looking into..
     
  11. karmik

    karmik

    Joined:
    Oct 8, 2014
    Posts:
    124
    Guys I am looking for devs / studio to develop a game by customising UMMORPG. If any one is interested please pm me.
     
    JBR-games likes this.
  12. mischa2k

    mischa2k

    Joined:
    Sep 4, 2015
    Posts:
    4,347
    We also have a contract work channel in our discord, maybe ask there too!
     
  13. LiLyDarcy

    LiLyDarcy

    Joined:
    Oct 10, 2018
    Posts:
    15
    No Database.sqlite file,Where is this file?
     
  14. mischa2k

    mischa2k

    Joined:
    Sep 4, 2015
    Posts:
    4,347
    It's created above the assets folder after your start the game for the first time.
     
  15. sabbath1989

    sabbath1989

    Joined:
    Jan 20, 2016
    Posts:
    14
    Good afternoon,
    You may already have the solution to the error below, this error is generated when a player loses the connection, either by leaving the game without terminating the application in a "normal" way or by crashing the internet.

    can you help me?

    This message is in Portuguese / Brazil
    Foi forçado o cancelamento de uma conexão existente pelo host remoto. -> It was forced to cancel an existing connection by the remote host.


    Send: stream.Write exception: System.IO.IOException: Unable to write data to the transport connection: Foi forçado o cancelamento de uma conexão existente pelo host remoto.
    . ---> System.Net.Sockets.SocketException: Foi forçado o cancelamento de uma conexão existente pelo host remoto.

    at System.Net.Sockets.Socket.Send (System.Byte[] buffer, System.Int32 offset, System.Int32 size, System.Net.Sockets.SocketFlags socketFlags) [0x00016] in <3845a180c26b4889bc2d47593a665814>:0
    at System.Net.Sockets.NetworkStream.Write (System.Byte[] buffer, System.Int32 offset, System.Int32 size) [0x0009b] in <3845a180c26b4889bc2d47593a665814>:0
    --- End of inner exception stack trace ---
    at System.Net.Sockets.NetworkStream.Write (System.Byte[] buffer, System.Int32 offset, System.Int32 size) [0x000e2] in <3845a180c26b4889bc2d47593a665814>:0
    at Telepathy.Common.SendMessagesBlocking (System.Net.Sockets.NetworkStream stream, System.Byte[][] messages) [0x000ab] in <315716d60db54964a869bd3aa791f4a5>:0
    UnityEngine.Debug:Log(Object)
    Telepathy.Common:SendMessagesBlocking(NetworkStream, Byte[][])
    Telepathy.Common:SendLoop(Int32, TcpClient, SafeQueue`1, ManualResetEvent)
    Telepathy.<>c__DisplayClass8_0:<Listen>b__0()
    System.Threading.ThreadHelper:ThreadStart()
     
  16. mischa2k

    mischa2k

    Joined:
    Sep 4, 2015
    Posts:
    4,347
    Is this logged as an error or a warning?
    Can you make a screenshot of the error in Unity?
    Does everything else work fine? It can happen that a write fails if a player disconnected. Server should be able to handle it though.
     
  17. sabbath1989

    sabbath1989

    Joined:
    Jan 20, 2016
    Posts:
    14

    Good night, first sorry for the delay in replying, I was traveling, this message is information, the rest is working very well, I tried to simulate the message today and fail, I had 2 codes for mobile another desktop, today did The tests on the desktop version, the error did not happen, I will gather more information if the problem continues.
     
    mischa2k likes this.
  18. setauz

    setauz

    Joined:
    Jan 19, 2017
    Posts:
    8
    Hi vis2k,

    I bought UMMORPG years ago but never been able to use it cuz i dont have any networking knowledge (still the same). So i want to make a single offline RPG game with UMMORPG. I see you have URPG asset now for this but i dont want to pay another 40$ ( i already paid UMMORPG 80$ ).

    So i just want to ask, what is the easiest way to ignore networking part of the asset and make a simple RPG game with it?
     
  19. mischa2k

    mischa2k

    Joined:
    Sep 4, 2015
    Posts:
    4,347
    You could change all NetworkBehaviours to MonoBehaviour.
    uRPG is definitely easier for a single player RPG though. Mostly because it has a more action based movement and combat system.
     
  20. Neviah

    Neviah

    Joined:
    Dec 1, 2016
    Posts:
    235
    Heeyyyy ^_^

    Any news on the W-A-S-D movement front? In 3rd person? Just checking in. :3
     
  21. mischa2k

    mischa2k

    Joined:
    Sep 4, 2015
    Posts:
    4,347
    Not yet, sorry.
    Been busy with a new low level transport for Mirror.
    Afterwards uSurvival again.
    Then uMMORPG :)
     
    Neviah likes this.
  22. mischa2k

    mischa2k

    Joined:
    Sep 4, 2015
    Posts:
    4,347
    V1.178 pending review!
    • Mirror updated to latest version (authenticators, allocation free sends)
    • NetworkManagerMMO.OnStart/StopServer: remove unnecessary base calls
    • NetworkAuthenticatorMMO component added to NetworkManager. takes care of all the authentication, and unauthenticated connections can't send messages (or bypass authentication) anymore; OnServerLogin addon hook renamed to OnServerConnect.
    • Player.OnDamageDealtToPlayer calls QuestsOnKilled for self and for all party members if a player was killed. This allows for kill-player type quests.
    • NetworkNavMeshAgentRubberbanding: send position each syncInterval no matter what. should avoid cases where client positions get slightly out of sync.
     
  23. Kytestar

    Kytestar

    Joined:
    Oct 9, 2018
    Posts:
    6
    Is there anyway that I can change uMMORPG to have a lobby system like your uMOBA? I want an engine that I can host locally with 4-10 people (lobby), that is a dungeon crawler which saves character details (3rd person view).

    I have uMMORPG, which has character saving but it does not offer local hosting (as obviously its an MMO engine). I have uRPG which has character saving but no networking and I also have uMOBA which has the lobby system but no database saving. I kinda want a mix of all of these and uMMORPG seems like it would be the easiest to change.

    Could you give me some pointers how to convert uMMORPG to a lobby system pls
     
    JBR-games likes this.
  24. Lodex2002

    Lodex2002

    Joined:
    Aug 1, 2019
    Posts:
    5

    Would be nice to have all U assets cross compatible.
     
    JBR-games likes this.
  25. mischa2k

    mischa2k

    Joined:
    Sep 4, 2015
    Posts:
    4,347
    If you already have uMOBA then just try to port over the lobby. It shouldn't be too difficult.
     
  26. scumprince

    scumprince

    Joined:
    Sep 30, 2019
    Posts:
    3
    Hello there! Id like to know how to add pre created prefabs to character selection menu. Thx)
     
  27. mischa2k

    mischa2k

    Joined:
    Sep 4, 2015
    Posts:
    4,347
    Did you take a look at the documentation?
     
  28. scumprince

    scumprince

    Joined:
    Sep 30, 2019
    Posts:
    3
    Yep sorry got it. New question) Now I think my question not very silly) How 2 lock characters player could choose? Like you get to character selection window, pick your character and go on.

    vis2k, Ill send the order number tommorow)
     
    Last edited: Oct 6, 2019
  29. mischa2k

    mischa2k

    Joined:
    Sep 4, 2015
    Posts:
    4,347
    V1.179 pending review:
    • Mirror updated to latest version (websockets build bug fixed)
    • NetworkmanagerMMO.OnClientDisconnect: removed redundant StopClient call because base function already does so
    • NetworkManagerMMO: character creation code moved into separate function
    • Reimplement SQLite database for 10x performance improvements. make sure to delete your old database file when upgrading manually.
    • Item cooldowns reimplemented. Cooldown buffs aren't needed anymore, instead Player.itemCooldowns sync dictionary handles the cooldown categories now. Cooldown circle added to items in UI too.
    • NetworkManagerMMO.OnServerAddPlayer replaced with OnServerCharacterSelect and CharacterSelectMsg to avoid obsolete Mirror warnings. NetworkManagerMMO.OnServerCharacterSelect addon hook added too.
    • NetworkManagerMMO: set client ready after selecting a character. not after connecting.
    • Fixed all build warnings
    • Database: character_equipment table uses same layout as character_inventory to avoid accidental data loss in case someone makes a game where summonable items can be equipped.
    • ScriptableRecipe.Find function that is used everywhere instead of manually searching the dictionary
    • ScriptableRecipe.IngredientsNotEmpty function that avoids Linq
    • CmdCraft: pass recipe name so that the server doesn't have to search the whole recipe dict, which would potentially slow down the whole world
    • CmdCraft caches recipe so Craft() doesn't have to search for it again. Now the server never searches all recipes anymore.
    • Fixed crafting UI slots being cleared each time in host mode, while they would remain in client-only mode (as intended)
    • NetworkManagerMMO.GetNearestStartPosition: avoid Linq
    • NetworkManagerMMO.MakeCharactersAvailableMessage: avoid Linq
    • NetworkManagerMMO.GetPlayerClasses: avoid Linq
    • NetworkManagerMMO: cache player classes in Awake
    • NetworkManagerMMO.GetStartPositionFor: avoid Linq and reduce GetComponent calls

    Maybe disable the create button?
     
  30. Lodex2002

    Lodex2002

    Joined:
    Aug 1, 2019
    Posts:
    5
    Can someone explain how to implement attacking while moving? I have been all through the Player script and it seems it should be easy, but its not. I have tried several changes and I can get the skills to cast while moving but not finish and apply damage until moving stops.

    Any help would be appreciated.
     
  31. mischa2k

    mischa2k

    Joined:
    Sep 4, 2015
    Posts:
    4,347
    Check out the player state machine in Player.cs.
    It has a few IsMoving checks for skill casts and agent.Reset calls to stop moving when casting, stunned, etc.
     
  32. Lodex2002

    Lodex2002

    Joined:
    Aug 1, 2019
    Posts:
    5
    Thanks for the reply.
    I already commented out the agent.reset in Player.cs., That lets me start the cast while moving but not finish it and apply damage until moving stops.

    I think it has something to do with whats going here.

    NetworkNavMeshAgentRubberbanding: added state check to the 'rubber' (validation) part to reject movement during casting/stunned/dead etc. no matter what. The player FSM already resets it, but we would still get twitching and lookAts otherwise.

    But I'm not really sure. Any advice?
     
  33. injerto

    injerto

    Joined:
    Sep 22, 2019
    Posts:
    6
    Can I host the server on Amazon AWS Linux machine? Or do I depend on external services like UNET?
     
  34. mischa2k

    mischa2k

    Joined:
    Sep 4, 2015
    Posts:
    4,347
    You can host it anywhere you want. E.g. amazon, google cloud, etc.
     
  35. Pr0ject414

    Pr0ject414

    Joined:
    Mar 12, 2016
    Posts:
    1
    I haven't bought this item yet, but I was curious about if this will take advantage of the new networking code being implemented by Unity that was demonstrated in the FPS-Sample? Since its using Mirror/Telepathy backend, im unsure if that is going to be the case or not but figured id ask anyway. @vis2k
     
  36. mischa2k

    mischa2k

    Joined:
    Sep 4, 2015
    Posts:
    4,347
    As far as I understood, Unity's new networking code scales to around 80-200 players.
    So that's not good enough for MMO scale. Mirror is still the best solution for uMMORPG.
     
    JBR-games and Neviah like this.
  37. ScorphiusMultiplayer

    ScorphiusMultiplayer

    Joined:
    Nov 10, 2018
    Posts:
    66
    Hi,
    Do you have any guide on how to host for testing on google cloud ?

    I would like some random players to join and test my game.

    Thank you.
     
  38. mischa2k

    mischa2k

    Joined:
    Sep 4, 2015
    Posts:
    4,347
    Check out the server hosting guide in the documentation.
    It's almost the same for google cloud, just that you need to assign an ip and allow the ports in the firewall :)
     
  39. thecartwright

    thecartwright

    Joined:
    Jan 24, 2018
    Posts:
    1
    Is this still the latest version advice? Unity 2018.3.6 was released on 15 Feb 2019 and there have been quite a number of Unity 2018.3.x and 2018.4.x releases since then.
     
  40. mischa2k

    mischa2k

    Joined:
    Sep 4, 2015
    Posts:
    4,347
    Yes, we are still waiting for Unity to fix a Linux headless mode bug. Doesn't seem to happen for 2018.4 LTS, so we probably have to wait for 2019.4 LTS then.
     
  41. blacksun666

    blacksun666

    Joined:
    Dec 17, 2015
    Posts:
    214
    @vis2k can you clarify your last statement as it seems a bit ambiguous. Do you mean the Linux bug is fixed in 2018.4LTS but is present in later versions, so we are ok using 2018.4LTS?
    Do you have a link to the bug report so we can vote for a fix?
     
  42. mischa2k

    mischa2k

    Joined:
    Sep 4, 2015
    Posts:
    4,347
    Check out this thread: https://forum.unity.com/threads/crash-on-start-on-linux-builds.706673/
    Doesn't seem like we will see a fix in 2018.4 LTS. Will have to wait until 2019 LTS. But it's Q4 already, should be out any time soon.
     
    hopeful likes this.
  43. sabbath1989

    sabbath1989

    Joined:
    Jan 20, 2016
    Posts:
    14
    Good night, in my project the sounds only work well on the server, clients overdue or do not even hear the sound, that of skills, or movement. Is it normal for the asset?
     
  44. mischa2k

    mischa2k

    Joined:
    Sep 4, 2015
    Posts:
    4,347
    V1.180 pending review!

    First wave of improvements from V2 and the new Apathy Transport.

    Apathy is the best TCP Transport for Unity by far. Nothing else comes even close. Apathy was developed from the ground up in native C, with one version for each Platform (Windows/Mac/Linux).

    There are no more Unity/mono/C# limitations anymore. Apathy uses full speed C sockets without any weird bugs or performance issues.

    What this means for our games:

    - There is no more magic in the low level Transport. C's sockets have been around for decades, we won't encounter any bugs in there. Apathy's C code has been extremely carefully engineered for robustness. It's very clean and elegant and we will never have to worry about it again.
    - No more threads means no more deadlocks / race conditions. This is great for stability and ease of mind. Whenever we call an Apathy function it simply returns immediately every single time, no matter when we call it.
    - High performance: Telepathy was the best scaling Transport for Unity, reaching up to 600 CCU. Apathy is not affected by Unity's 1200 thread limit, ultimately allowing us as many CCU as our hardware can handle. This opens up the gates for 1k CCU MMORPGS!

    Apathy has been in development for almost a year.
    This required an insane amount of engineering and pain, and you guys get all of it for free.

    • GUIConsole: LogEntry converted to struct to minimize GC
    • GUIConsole: max log to avoid ever growing memory and performance chokes
    • GUIConsole: default height increased
    • GUIConsole: toggle with F12 hotkey for easier debugging
    • GUIConsole: show the last 50 messages always
    • GUIConsole: use float.MaxValue for auto scroll
    • GUIConsole: hotkey shows it even if log is empty. otherwise it's too confusing and the user might think he didn't use the correct button
    • GUIConsole: add stack trace to errors if available
    • GUIConsole: show all messages in release builds too
    • UI Item Mall Slot: unlock button disabled by default so that too expensive items don't have their unlock button enabled for a short moment when switching categories.
    • Player.FindPlayerFromTradeInvitation: TryGetValue instead of looking it up twice
    • Database.RemoveGuild: fix sql syntax
    • Fixed UI Chat activating during WASD movement again, this time for good. Chat InputField and Button Navigation settings were set from Automatic to None to not activate anymore.
    • Mirror updated to latest version
    • Apathy, FallbackTransport with Apathy, Telepathy
    • Chat.SendGlobalMessage function for those who need it
    • UIChat.AddMessage: combined object creation with set parent
    • Player.RefreshLocation: combined object creation with setparent
    • CmdPartyInviteAccept: use TryGetValue
    • CmdPartyInvite: use TryGetValue
    • Entity.InventorySlotsOccupied
    • Monster.HasLoot uses InventorySlotsOccupied
    • Pet name overlay color changed to yellow again
    • BuffSkill.SpawnEffect: only call GetComponent once
    • SelectionHandling: set nextDest if casting OR STUNNED
    • Instance: use Physics.OverlapBox NonAlloc versions for performance
    • AreaBuffSkill: Physics.OverlapSphere uses NonAlloc version
    • AreaHealSkill: Physics.OverlapSphere uses NonAlloc version for performance
     
    hopeful, vildauget and Kaen_SG like this.
  45. mischa2k

    mischa2k

    Joined:
    Sep 4, 2015
    Posts:
    4,347
    There are no sounds by default, because I never purchased any.
    What do you mean with: they work on server, but not on client?
     
  46. sabbath1989

    sabbath1989

    Joined:
    Jan 20, 2016
    Posts:
    14
    For example: when casting a spell, the server listens to the sounds but the clients do not, or when a variety of sounds like walking, spell, mob attack, you hear only part of the sound or nothing at all, many cases there is also a Daley in the presentation of the sounds.

    My sound files are too small just to maximize this demand.

    Is this problem only in my project?
     
  47. mischa2k

    mischa2k

    Joined:
    Sep 4, 2015
    Posts:
    4,347
    V1.181 pending review:
    • Player.SelectionHandling: clear indiccator if no parent code moved into separate function
    • Buff remainAfterDeath option for murderer and offender buffs
    • Player: cache Camera.main for performance to avoid FindObjectWithTag
    • FaceCamera: cache Camera.main for performance to avoid FindObjectWithTag each time
    • Player Equipment: set equipmentInfo amount to 1 immediately when assigning an item
    • PlayerInventory: set defaultItems amount to 1 immediately when assigning an item
    • UICharacterInfo: speed via F1 mode to avoid situations where a really long floating point might be printed
    • Database.CharacterLoad: limit level to max level
    • UIShowToolTip: set text immediately to avoid a small empty tooltip being shown for one frame. can be reproduced with a low framerate and hovering over the inventory button.
    • Buff/BonusSkill bonus variables renamed for consistency with other bonus variables (e.g. EquipmentItem bonus)
    • Player.UpdateServer_CASTING: remove redundant currentSkill clearing
    • GuildSystem: avoid FindIndex for performance/gc
    • Summonable.GetOwnerItemIndex to avoid FindIndex allocations
    • ScriptableRecipe.CanCraftWith: avoid FindIndex
    • Player Equipment: merge inventory<->equip so we can drag and drop arrow stacks onto the equipment slot arrow stack
    • GridChecker: use sqrMagnitude and 2 instead of magnitude and sqrt(2) to avoid computations
    • GridChecker: avoid UnionWith by passing observers directly
    • UIPetStatus: onClick targets the pet
    • PlayerQuests: use CompareTag to avoid allocations
    • Utils.ParseLastNoun: cache RegEx
    • NetworkBehaviourNonAlloc to avoid .name allocations
    • ScriptableObjectNonAlloc to avoid .name allocations
    • UI: only build tooltip while tooltip is visible. reduces UI allocations by 10x and improves performance
    • Player.CmdSetGuildNotice: set wait time no matter what
    • Player.CmdGuildInviteTarget: set wait time no matter what
    • Player.CmdPartyInvite: reset wait time no matter what
    • TargetHealSkill/TargetBuffSkill.CheckDistance: check distance to corrected target so that CheckDistance can be used by skillbar without calling CheckTarget and setting the target first.
    • PlayerBrain: CASTING state EventMoveStart doesn't return CASTING anymore. fixes a bug where EventSkillFinished would never happen while moving because EventMoveStart would always fire and not allow the code further below.
    • Disabled Unity hardware analytics in player settings
    • NetworkNavMeshAgentRubberbanding: rename ValidateMove to IsValidDestination
    • Pet commands moved into Pet class thanks to Mirror's new authority code
    • Entity.CancelCastSkill function that is used by Player, Monster, Pet.
    • Canceling a skill cast resets cast time. Fixes a bug where if a player would cancel a cast for a 10s cast time skill after 1s, the player wouldn't be able to attempt another cast for 9 more seconds.
    • UIDragAndDropable: currentlyDragged made static so it can be checked by other components too

    Let's start with the first one. What is the easiest way to reproduce the 'sounds only on server but not on client' bug with a fresh uMMORPG version. What do I have to do to reproduce it?
     
  48. ScorphiusMultiplayer

    ScorphiusMultiplayer

    Joined:
    Nov 10, 2018
    Posts:
    66
    Hi,
    I amd trying to sync current skill of the Monster based on the Event which is placed on the Animation Bar of the Monster but I am struggling with it since 2 days..
    I can get the currentskill synced for the player. But it seems the same logic does not apply for the MonsterClass.

    Code (CSharp):
    1. class Monster
    2. {
    3.     updateclient()
    4.     {
    5.         // MonsterAttackStart is property on the AnimationEventHandler Class attached to the Animator (on SomeFame X).
    6.         //At that FrameX I want to call the MonsterSkill and update the currentskill of the monster
    7.         //But not curretskill is not synced.
    8.         //I just want to know how to sync the Currentskill based on the Event placed in the Monster Animation.
    9.  
    10.         if(AnimationEventHandler.MonsterAttackStart == true)
    11.         {
    12.                currentskill = 0;
    13.         }
    14.  
    15.     }
    16.  
    17.  
    18.     [server]
    19.     UpdateServer()
    20.     {
    21.         //currentskill = 0 ;// when I set it here manually. it works.
    22.         if(currentskill >=0)
    23.         {
    24.             FinishMonsterSkill(currentskill);
    25.         }
    26.     }
    27.  
    28.  
    29. }
    30.  
     
    Last edited: Dec 5, 2019
  49. srknclk5578

    srknclk5578

    Joined:
    Aug 20, 2019
    Posts:
    5
    Tüccar sistemi lütfen ekleyin. Knight online tüccar system...
     
  50. mischa2k

    mischa2k

    Joined:
    Sep 4, 2015
    Posts:
    4,347
    Hi, replied to you on discord already :)