Jump to content

Toki.San

Contributor
  • Posts

    55
  • Joined

  • Last visited

  • Days Won

    10
  • Feedback

    0%

Toki.San last won the day on June 27 2023

Toki.San had the most liked content!

3 Followers

About Toki.San

  • Birthday 05/15/1996

Informations

  • Gender
    Male
  • Country
    Italy
  • Nationality
    Italian

Social Networks

  • Discord
    Toki.San #3335

Recent Profile Visitors

2533 profile views

Toki.San's Achievements

Proficient

Proficient (10/16)

  • Reacting Well
  • Very Popular Rare
  • Dedicated
  • First Post
  • Collaborator

Recent Badges

1.9k

Reputation

  1. Paylaşım için teşekkürler
  2. Download Alternative download links → Mega As you know, several new features have been included among the latest updates, one of these concern the Serpens set. The peculiarity of this set is that, in addition to having the 3 new random bonuses that can come out, the attack and the magic attack assume minimum and maximum values that fall within a range defined in the protos, in new columns. As you can see, in addition to other columns that have been added over the years, these 6 new columns identified new sockets in which, through particular conversions, attack and magic attack values (minimum and maximum) are returned for weapons and armor defense. The first two columns identify the minimum (first column) and maximum (second column) magic attack value, followed by the minimum (third column) and maximum (fourth column) attack. Column five and six remain a mystery at the moment. Through appropriate rules, the value inserted in the columns, if present, is converted into a number, to then become attack/magic attack of the weapon or defense of the armour. The attachment shown above refers to the Serpent Blade, a sword usable only by the suras that has attack and magical attack. As you can see here the minimum values that a weapon can have are in yellow and the maximum attacks in orange. The minimum and maximum values are separated by a hyphen. Below you will find the preview of the system. [Hidden Content]
  3. If you bought server files from Owsap, ask him directly or in his discord channel. If you are using leaked files, you should know that metin2dev does not give assistance for leaked files.
  4. Update: Since there are a lot of people that use the drag bar version, I decided to make a specific version of it. This version use dds, it is a different version than that of @ Distraught
  5. Download Github(link) This is a small adjustment for the minimap when we using the Field of View. In fact, in the normal system, the FoV of the minimap remains unchanged. Normal: Large: Update: Since there are a lot of people that use the drag bar version, I decided to make a specific version of it. Video
  6. M2 Download Center Download Here ( GitHub ) Download Here ( Internal ) There is already a similar system on metin2dev, (here) but it was a bit inconvenient, since you had to change every setting.txt. This new version is no longer needed. -If the map has no WaterType then set the normal water texture. -If the map has the WaterType then look for the folder called "water_x" where x means the type entered in the watertype. -It is possible to use watertype 0. Negative values are not allowed. -255 water textures(not frame) can be inserted.
  7. Well you need to dump the item_proto from db and set the result on pack/locale inside your client. If you make some change on source you should tell us what kind of change are or, alternatively, tell us what type of system or modify you add.
  8. You need to set specular on item_proto. It's between socket5 and socket_pct
  9. Because it's not worth all this money. I did it in a short time and I can say that it is worth much less.
  10. M2 Download Center Downlaod Here ( Internal ) Download Here ( GitHub ) Please dont flame me. @Mali61 push me to pubblish here. Video
  11. Thanks for this system but seems that there are some problem, or at least on my file. I link you the screenshot. char.h:2395: error: 'ESlotMachine' is not a class or a namespace On char.h, line 2395: BYTE m_bSlotMachineReel[ESlotMachine::MAX_SLOT_MACHINE_SLOTS]; Update: I solved by edit ESlotMachine on lenght.h in this way: namespace ESlotMachine { enum ESlotMachine { MAX_SLOT_MACHINE_SLOTS = 3, MAX_SLOT_MACHINE_REELS = 8, }; } But now I've another problem packet.h:2547: error: ISO C++ forbids initialization of member 'bHeader' packet.h:2547: error: making 'bHeader' static packet.h:2547: error: ISO C++ forbids in-class initialization of non-const static member 'bHeader' packet.h:2549: error: ISO C++ forbids initialization of member 'bWin' packet.h:2549: error: making 'bWin' static packet.h:2549: error: ISO C++ forbids in-class initialization of non-const static member 'bWin' packet.h:2550: error: ISO C++ forbids initialization of member 'bJackpot' packet.h:2550: error: making 'bJackpot' static packet.h:2550: error: ISO C++ forbids in-class initialization of non-const static member 'bJackpot' On packet.h line 2547: BYTE bHeader = HEADER_GC_SLOT_MACHINE; BYTE bSlotReel[ESlotMachine::MAX_SLOT_MACHINE_SLOTS]; bool bWin = false; bool bJackpot = false; } TPacketGCSlotMachine; #endif Update part2: Thanks to @Mali61 I solve this error. Now there's the last(I hope) one: char.cpp:9002:18: error: random: No such file or directory char.cpp: In member function 'bool CHARACTER::StartSlotMachine(BYTE)': char.cpp:9042: error: 'random_device' is not a member of 'std' char.cpp:9042: error: expected `;' before 'rd' char.cpp:9043: error: 'mt19937' is not a member of 'std' char.cpp:9043: error: expected `;' before 'mt' char.cpp:9044: error: 'uniform_real_distribution' is not a member of 'std' char.cpp:9044: error: expected primary-expression before '>' token char.cpp:9044: error: 'dist' was not declared in this scope char.cpp:9045: error: 'mt' was not declared in this scope char.cpp: In function 'long int SlotMachineEventFunc(LPEVENT, long int)': char.cpp:9174: error: 'unique_ptr' is not a member of 'std' char.cpp:9174: error: expected primary-expression before '>' token char.cpp:9174: error: 'pMsg' was not declared in this scope Any Advice?
  12. PLEASE NOTE: THIS GUIDE WAS MADE BY @TokiSan AND @arves100 The DungeonBlock is a type assigned to specific objects that are used in dungeons on metin2, are characterized by a lightmap that is associated with the basic texture, giving particular effects, have their own extension in the property and are not interchangeable with the gr2 present in the Building. 1. Foreword I start by saying that the following procedure seems to be very expensive: I will introduce about the DungeonBlock, explaining how it is used in the objects of metin2 and what's the peculiarity. Let's start by saying that the object/mount /pet/monster/weapon/player used on Metin2 have all a .gr2 extension and most of the time, we can simply have a preview of the object through the granny viewer: In the case of the DungeonBlock instead it is not possible to have a preview of the textures, this is because the textures are linked together in a way that the tool cannot process, which is why they are seen white: 2. What changes compared to normal gr2? Let's go and see carefully. If we make a comparison with the textures, we notice that they are present (the path is right!), Except that there is a texture in particular, in common for each object that falls within the DungeonBlock, this texture will not be visible and is the cause of the white texture: The "light_passC_pole.dds", which we see highlighted, corresponds to the light map that allows the object to exploit a combination of lights/shadows present in a separate texture and superimpose them on the base texture, thus creating a particular effect that the normal objects cannot get: The squares highlighted in blue show the light that is obtained from the specific texture Here we have a clear example, it is an object present in the new snake dungeon: In fact, the object cannot be seen with its textures in the granny viewer, but it is possible instead in the world editor. Returning to our DungeonBlock type present in the world editor we can see that they have a different extension: The ".prb" (property building) are the typical extension of the "Building" the normal gr2 that we normally put in the maps (rocks, houses, bridges), the ".prd" (property dungeons) are typical instead of the "DungeonBlock" . Trivially we might think that the gr2 present in the Buildings are the same as those present in the DungeonBlock, but this statement is incorrect, the proof is that creating a .prd with a .gr2 typically classified as a Building, will not show the object. 3. File management inside maps The rendering of our maps on Metin2, as you all know, the map will load different objects based on configurations managed in classic txt. Each of our objects is contained in a particular folder (property) including our dungeon blocks, which differ relatively little from the classic building as regards the format (we have the type change and the gr2 model which has a different name than building ). Dungeonblocks are an extension of Ymir's approach to classic gr2 models. Render of the buildings Normally, during the rendering of a building, the game is limited to rendering the 3d model supporting only one texture in our materials, that is the diffuse map. The rendering of the shadow is managed by drawing the shape of our 3d model on the widespread map of our terrain, that is, based on our vertices, a fusion with a black color is applied in the texture of our terrain (here the ambient light that basic metin2 has). Render of the dungeon block The dungeonblocks, on the other hand, are rendered with the use of a second texture (the "light map"), this texture will be fused (a blend) with the base texture, and will allow us to create lighting effects. The shadow rendering is very particular, because Metin2 invisibly renders a second model (of which only the vertices will be invisible), in this way not only will the rendering of the base shadow be ignored, but the customized settings will also be applied. of the light. Since the color of the light at maximum intensity is white, the alpha of our textures will be ignored and replaced with a highlight color, for this reason (even in the worldeditor) these objects ignore the ambient light. (but theoretically not a problem as we shouldn't see outside the dungeon) 4. Considerations Probably this lightmap was created to be able to exploit multiple points of light without having to touch or change the base ambient light, which could have general problems if it had not been ignored. Of all that I have talked about it is possible to find the operation on EterGrnLib / ThingInstance.cpp for basic objects (including the building), while the dungeonblocks are found in GameLib / DungeonBlock.cpp (which makes special calls to the DirectX8 render) , the render of the map (and of the base shadow) can be found in GameLib / MapOutdoor.cpp 5. 3ds Max To start we need: -3ds max (I use 2018) -A model to export as a dungeonblock -A computer that doesn't explode (preferably) Let's create a new project and import our object. Let's insert the textures and once this is done, head to the quick controls panel on the right, go to the create section (indicated with the "+" sign) and go to the "Photometric" subsection, choosing the type of lighting you want to insert. In my case I will use the "Free Light": Once the light points have been inserted, we go to the bar at the top, click Rendering, then Render to Texture. Once here, a table will appear in which many things are entered. First of all we have to select the object in question, in the input section it will be highlighted. Let's focus on the window called output and click "Add", here we indicate the LightMap as an output map and indicate the path in which we want to save the texture, once this is done, click the render button: PLEASE NOTE: the more complicated the object, the longer the rendering time will be to render the object. For more complex objects it is necessary to have better performing computers (unless you want to make your PCs go to a bad end) In this way we will have created the texture of the LightMap. But that's not all, because metin2 is "special" and has its own way of reading it. We must in fact go to modify the material of our object, and use the blending option to link the normal texture with the lightmap. this operation must be done for each single texture, the result must be this: PLEASE NOTE: while for materials and textures you can leave the default name (Material # 1, Map # 1) for blending operations you must write Blend_x, otherwise the game will not recognize it. Once this part is done, it's time to export our object. We have said in previous times that a dungeonblock cannot be a building, this is because, when the object is to be exported as a dungeonblock it changes a parameter in the mesh. "Coords per vertex" by default is set to one, to make our mesh a dungeonblock it is necessary to set it to at least two: 6. Word Editor Finally, having exported our object, when we go to the word editor just specify that it is a dungeonblock: I leave you with a couple of screenshots of an object that accompanied me during the writing of this guide:
×
×
  • Create New...

Important Information

Terms of Use / Privacy Policy / Guidelines / We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.