Jump to content

Cheshire

Super Contributor
  • Posts

    935
  • Joined

  • Last visited

  • Days Won

    72

Community Answers

  1. Cheshire's post in Where is map data stored? was marked as the answer   
    If you knew how to create said binary files.. yes?
    But that would again require you to look at how the map data is saved in the server.
     
    I feel like the ''easiest'' way to do this would be to write an import module for the editor that reads data, transposes it to an Intersect map and saves it.
  2. Cheshire's post in Cannot run the client was marked as the answer   
    Copying this from a similar post: 
     
     
  3. Cheshire's post in Can't Open Client: "The resources directory could not be found!" was marked as the answer   
    I hate to be that person, but have you follow the botttom of this page regarding downloading the assets and placing them next to the editor and client?
     
    https://docs.freemmorpgmaker.com/dev/start/compiling.html
     
  4. Cheshire's post in Hide Name was marked as the answer   
    As a toggle, or just permanently hide ALL names unless you mouseover them?
     
    If you want it done permanently, it's relatively simple.
    Mind, below is a quick hackjob. Use at your own risk, really. I haven't thoroughly tested it.
    The patch file is pretty long because I originally made its own method for the rendering, but I could have just modified the method that renders your targets to do names as well.
     

     
    Download Patch
     
  5. Cheshire's post in Spread out loot was marked as the answer   
    I'm fiddling with this between work, but JC mentioned that in Resources.cs on the server there's a method SpawnResourceItems that has a piece of logic that can almost be copied verbatim for this request if anyone feels like taking a crack at it before I can finish it.
     
    EDIT: I've made a patch that does exactly this: 
     
    public void SpawnResourceItems(Entity killer) { //Find tile to spawn items var tiles = new List<TileHelper>(); for (var x = X - 1; x <= X + 1; x++) { for (var y = Y - 1; y <= Y + 1; y++) { var tileHelper = new TileHelper(MapId, x, y); if (tileHelper.TryFix()) { //Tile is valid.. let's see if its open var map = MapInstance.Get(tileHelper.GetMapId()); if (map != null) { if (!map.TileBlocked(tileHelper.GetX(), tileHelper.GetY())) { tiles.Add(tileHelper); } else { if (killer.MapId == tileHelper.GetMapId() && killer.X == tileHelper.GetX() && killer.Y == tileHelper.GetY()) { tiles.Add(tileHelper); } } } } } } if (tiles.Count > 0) { TileHelper selectedTile = null; //Prefer the players tile, otherwise choose randomly for (var i = 0; i < tiles.Count; i++) { if (tiles[i].GetMapId() == killer.MapId && tiles[i].GetX() == killer.X && tiles[i].GetY() == killer.Y) { selectedTile = tiles[i]; } } if (selectedTile == null) { selectedTile = tiles[Globals.Rand.Next(0, tiles.Count)]; } // Drop items foreach (var item in Items) { if (ItemBase.Get(item.ItemId) != null) { MapInstance.Get(selectedTile.GetMapId()) .SpawnItem(selectedTile.GetX(), selectedTile.GetY(), item, item.Quantity); } } } Items.Clear(); }  
  6. Cheshire's post in How to move city name at top center? was marked as the answer   
    I've just tried fiddling with this myself, and while I was able to move it to the center of the screen it would stretch the box to that side as well.. And no amount of disabling the background from rendering would actually hide the background. I imagine if you make the box as wide as the screen is and simply don't use a background texture, you could technically get away with it? (ie, blank out entitybox.png)
     
    It's not perfect, but you can definitely do it through editing Client and Editor\resources\gui\layouts\game\PlayerBox.json
    Change the first Bounds value to something rediculous like "Bounds": "4,4,1000,208" and then go further down to "EntityMapLabel" and set the bounds as follows: "500,6,200,22"
     
    Then make entitybox.png a transparent image, and voila.
    Not perfect, and you'll likely need to adjust your UI style to match not having a backdrop.. But it works, to a degree.
     

     
    heck, I imagine that if you make a piece of UI graphics with this in mind you COULD actually do it justice, and have a UI still. (ie, make a UI piece as wide as your bounds, and add a second section that the map name can display in at your desired location, then adjust the bounds for the text to show up accordingly).
     
    EDIT:
     
    See a quick mock-up:

     
    Image: https://www.ascensiongamedev.com/resources/filehost/dfc4924b02bbb4e8310603c7956d1ed8.png
    Json File: https://www.ascensiongamedev.com/resources/filehost/671c62f037268e7a49900059e91377bc.json
     
    Your imagination and ability to work with the limitations given to you are the only thing stopping you there, really.
     
    EDIT 2: Just to clarify, this won't scale properly with higher resolutions, since it works with an offset to the left it will never be centered at all resolutions. But you will be able to move it ''out'' from the name section of the player info window.
     
    Also, since the "MouseInputEnabled": false, properly seems to do bugger all, you can't click through the invisible large chunk on your screen. Interesting.
  7. Cheshire's post in White glow creating a black background glow was marked as the answer   
    The editor and game don't render the map in the same way, which causes some of this weird stuff to happen. It's mostly the same, but between the render pipelines of the DirectX and OpenGL versions of MonoGame there's some minor oddities like this.
    I don't think there's much you can really do about it aside from trying to tweak your tiles or background layers to make it look similar.
  8. Cheshire's post in Best tools for char creation (1.9) was marked as the answer   
    I don't think the character sheets have changed between 1.9 and the most recent versions, should be fine with anything that would work for 4.6 as well. (Not that I really know of anything, but hey :P)
    And 1.9 didn't have a quest system, it just had the option for it listed already.
  9. Cheshire's post in Need help on port forwarding was marked as the answer   
    Intersect's server does that by default on its own, but clearly it's not working on his case. (UPnP is enabled by default on the majority of home routers/modems.)
    And yes, I know this is in the Orion+ section, but one of his screenshots has the Intersect server running.
  10. Cheshire's post in How to delete accounts from server's database? was marked as the answer   
    It's a little involved, but the easiest way would be to get something that can read SQLite databases (such as: http://sqlitebrowser.org/) and execute the query from the following post to completely wipe ALL USERS: 
     
  11. Cheshire's post in Functions that create .bin files, and how to read .bin files was marked as the answer   
    The logic behind this would be in modDatabase: https://github.com/Damian666/Orion-Plus-Game-Engine/blob/master/Source/Server/Source/Modules/ServerDatabase.vb
    You'll find it in some of the Save methods. It uses a library someone wrote at some point to handle the actual saving, so all you'd need to really get used to is how the saving/loading methods themselves work.
  12. Cheshire's post in modVariables.newCharSprite - Questions was marked as the answer   
    It's probably something hacky that stops the client from crashing when creating a new character. Rather than always showing the first sprite a class can pick by default on the client-side that value seems to be sent from the server.
  13. Cheshire's post in How to create variables please ? was marked as the answer   
    It's in the editor tool alongside the other editing options.
     

  14. Cheshire's post in New Here - Some questions Regarding Engine was marked as the answer   
    I'll try to answer this as best I can:
     
    Map Sizes: You can connect maps by double clicking next to them in the editor, this will make them appear as one seamless map to the client. :)So there's little to no need to mess with the actual size values (which are explicitly chosen for GPU performance reasons, any larger may cause issues as it's rendered as a singule texture)
    If you do want to change the size of individual maps, you'll need to delete your game's database or erase all the existing maps before it will work. Experience: This, along with HP/MP scaling I would like to see in formulas.xml as well. But it is currently not implemented I believe. Account List: You'll have to open the database file in an SQLite viewer or write a tool to read the database for that I'm afraid, no more flat files. Permissions: If that's not clarified over Here yet then I doubt there's much documentation to be found on that I'm afraid. Storage: Everything is stored in the database file kept in the server's resource folder. Unless you're highly knowledgable in using and merging SQL databases I would really not recommend you tamper with that or try to insert data from outside sources. So aside from giving them the regular editor, there's no real way to get them to help with your edits. If you don't trust someone, don't give them access.  
    Maybe someone else can clarify on things a little more, I'm currently working so I can't really fire up my server machine to see!
  15. Cheshire's post in Combat Formulas and stats was marked as the answer   
    There should be a file called formulas.xml alongside your server configuration files which has the damage formulas in it for all three types of damage.
     
    <?xml version="1.0" encoding="utf-8"?> <!--formulas.xml generated automatically by Intersect Server. Here you can modify formulas used in the Intersect Engine. The three main formulas are for calculating Physical, Magical, and True Damage. The following functions can be used: Random(min,max): Returns an integer value between min and max. The following variables can be used: BaseDamage: Base damage of weapon or spell used. ScalingStat: Value of stat that was selected in the item/spell editor to scale with the attack. ScaleFactor: Value set in editors for how spell/weapon should scale off of the scaling stat. CritFactor: Value to multiply potential damage by if the attack is a critical strike. (Server provides 0 is not a crit, and 2 if it is a crit) A_Attack: Attackers attack stat. A_Defense: Attackers defense stat. A_Speed: Attackers speed stat. A_AbilityPwr Attackers ability power stat. A_MagicResist: Attackers magic resist stat. V_Attack: Victims attack stat. V_Defense: Victims defense stat. V_Speed: Victims speed stat. V_AbilityPwr Victims ability power stat. V_MagicResist: Victims magic resist stat. --> <Formulas> <PhysicalDamage>Random(((BaseDamage + (ScalingStat * ScaleFactor))) * CritFactor * .975, ((BaseDamage + (ScalingStat * ScaleFactor))) * CritFactor * 1.025) * (100 / (100 + V_Defense))</PhysicalDamage> <MagicDamage>Random(((BaseDamage + (ScalingStat * ScaleFactor))) * CritFactor * .975, ((BaseDamage + (ScalingStat * ScaleFactor))) * CritFactor * 1.025) * (100 / (100 + V_MagicResist))</MagicDamage> <TrueDamage>Random(((BaseDamage + (ScalingStat * ScaleFactor))) * CritFactor * .975, ((BaseDamage + (ScalingStat * ScaleFactor))) * CritFactor * 1.025)</TrueDamage> </Formulas>  
  16. Cheshire's post in Attack Animation Intersect Engine was marked as the answer   
    To clarify; not at this moment.
    The base engine as it's provided does not allow for this sort of thing, however once the source code has been released you'll be able to modify it as you see fit (or perhaps someone else will do it, and you can ask them to do it for you as well?).
     
    You can use spells/projectiles/animations and some trickery to at least show ''slashes'' when the player attacks though, I know it's not exactly the same thing but it's a reasonable alternative for the time being.
  17. Cheshire's post in Where is Item Spawn and DeSpawn time? was marked as the answer   
    I don't believe there's a way to affect what gets dropped on death quite yet, but there's an option in the server configuration (./resources/config.xml) where you can affect how long they remain on the map for.
     
    <ItemDespawnTime>15000</ItemDespawnTime> This is in milliseconds, so in this case it'd be 15 seconds before your items despawn.
×
×
  • Create New...