Jump to content

Finnael

Inactive Member
  • Posts

    51
  • Joined

  • Last visited

  • Days Won

    3
  • Feedback

    0%

Everything posted by Finnael

  1. Seems like you are trying to implement another system that uses RenderTarget. Better ask that question to the system owner.
  2. Try replacing your AppendTextLine function with this: def AppendTextLine(self, text, color = FONT_COLOR, centerAlign = TRUE): textLine = ui.TextLine() textLine.SetParent(self) textLine.SetFontName(self.defFontName) textLine.SetPackedFontColor(color) textLine.SetText(text) textLine.SetOutline() textLine.SetFeather(FALSE) textLine.Show() if centerAlign: textLine.SetPosition(self.toolTipWidth/2, self.toolTipHeight) textLine.SetHorizontalAlignCenter() else: textLine.SetPosition(10, self.toolTipHeight) self.childrenList.append(textLine) self.toolTipHeight += self.TEXT_LINE_HEIGHT self.ResizeToolTip() return textLine
  3. I think models and animations of metin looked really good when it first released back in 2004-2005. Even now it doesn't really look that bad compared to other mmorpgs that released at that time. I think this is a reason why people still play it to this day.
  4. It is just Elon showing off.
  5. I haven't tested it but this might work. (Credits to: @cBaraN) void ClearAffect(bool bSave=false); // Find void ClearAffect(bool bSave = false, bool bSomeAffect = false); // chane void CHARACTER::ClearAffect(bool bSave) // find void CHARACTER::ClearAffect(bool bSave, bool bSomeAffect) // change // Find if (IsPC()) { SendAffectRemovePacket(GetDesc(), GetPlayerID(), pkAff->dwType, pkAff->bApplyOn); } // Add above if (bSomeAffect) { switch (pkAff->dwType) { case (SKILL_JEONGWI): case (SKILL_GEOMKYUNG): case (SKILL_CHUNKEON): case (SKILL_GWIGEOM): case (SKILL_TERROR): case (SKILL_JUMAGAP): case (SKILL_HOSIN): case (SKILL_REFLECT): case (SKILL_GICHEON): case (SKILL_KWAESOK): case (SKILL_JEUNGRYEOK): case (SKILL_JEOKRANG): case (SKILL_CHEONGRANG): { ++it; continue; } } } // Find void CHARACTER::Dead(LPCHARACTER pkKiller, bool bImmediateDead) // Find this in the function ClearAffect(true); // Change ClearAffect(true, (pkKiller && pkKiller->IsPC()) ? false : true);
  6. Yeah, if it is a custom column you add you need to change how that proto is read inside your source file. (db/ProtoReader.cpp) That is not a very easy thing to do. A simpler way might be to enable no txt so you can edit your item_proto table inside navicat. (I am not sure if this will work or not but might worth to try)
  7. Go to your uiscript/refinedialog.py. There is an element called "SuccessPercentage" here find it. This is the success percentage text. If you want it to have a color, simply add this line: "color" : "red" It should look something like this: { "name" : "SuccessPercentage", "type" : "text", "text" : uiScriptLocale.REFINE_INFO, "color" : "red", "horizontal_align" : "center", "vertical_align" : "bottom", "text_horizontal_align" : "center", "x" : 0, "y" : 70, },
  8. Yes the game can work like this because all the cores are inside one machine. When one core requires the data the other core has it gets it instantly. But in this case the cores will be in different continents. Yes exactly.
  9. So from what I understand you are suggesting to connect all the servers to the one master server and distribute information between them through the master server? Am I right? You say server needs to know the information if players are on the same map. Let's say we have two servers one inside EU and one in NA. And we have two players, player A is connected to the server in EU and the player B is connected to the one in NA. And let's say they are on the same map. If the player A moves how are you planning to send this information to player B?
  10. Well, as far as I know this is not possible to do. At least in Metin2. As the information about two players might be stored in two different servers. And one of them might require the data the other one has. Or think about positions of players. Players send their locations to the server and server sends that information to the players that are connected to it. If another player is connected to a different server how are we gonna send this information to the other player that plays on a different server?
  11. It doesn't run endlessly, it just takes some time.
  12. As far as I know, It doesn't. Thanks for the guide btw. Very helpful.
  13. Yeah, that definitely looks much cleaner.
  14. Is there a reason to not write the code like this? Am I missing something? if s >= 1 and s <= 7 then game.drop_item_with_ownership(Vnum ITEM, Quantity) elseif s == 8 then game.drop_item_with_ownership() end
  15. It is not really that hard to do actually. Inside CRenderTarget.cpp there is a function called RenderModel. And inside that function there is this call: camera_manager.GetCurrentCamera()->SetViewParams( D3DXVECTOR3{ 0.0f, -1500.0f, 600.0f }, D3DXVECTOR3{ 0.0f, 0.0f, 95.0f }, D3DXVECTOR3{0.0f, 0.0f, 1.0f} ); The first parameter here is the position of our camera that looks at the target. Second paremeter is the position of our target. The third parameter here is not important for us. (Though it should be always D3DXVECTOR3{0.0f, 0.0f, 1.0f} otherwise we might get weird errors.) So if you want to zoom out you need to either change the position of the camera or the target. What can you do is have a member variable inside CRenderTarget class. Something like this : D3DXVECTOR3 m_cameraPosition; Initialize this variable inside CRenderTarget constructor like this: m_cameraPosition = D3DXVECTOR3{ 0.0f, -1500.0f, 600.0f }; And change the above code to this: camera_manager.GetCurrentCamera()->SetViewParams( m_cameraPosition, D3DXVECTOR3{ 0.0f, 0.0f, 95.0f }, D3DXVECTOR3{0.0f, 0.0f, 1.0f} ); Now when you change the m_cameraPosition to whatever value you want the camera position will be changed instantly.
  16. Can you send us the link of the system, so we can look at the code?
  17. That concept art is really good though, especially when you compared it to the actual model. But I really like the cartonny style of character models.They looked really good back in 2004-2005. I wonder how the same style would look like in 2020.
  18. Is having a completely rewritten server enough to not get sued by Gameforge though? Even if you do rewrite the client side from scratch, you are still gonna use their 3D models, textures, sound effects etc. If you use these without permission that should be enough for them to sue you. And if you have plans to remake those assets too why don't you just make a new game at this point? I don't know but this doesn't sound like a project two or three hobbyist can do in their spare time.
  19. You mean like zooming or rotating the object?
×
×
  • 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.