-
Posts
51 -
Joined
-
Last visited
-
Days Won
3 -
Feedback
0%
Content Type
Forums
Store
Third Party - Providers Directory
Feature Plan
Release Notes
Docs
Events
Posts posted by Finnael
-
-
Seems like you are trying to implement another system that uses RenderTarget. Better ask that question to the system owner.
- 1
-
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
-
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.
-
It is just Elon showing off.
- 1
-
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);
-
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)
- 1
-
Use an item_proto.txt that has socket0?
-
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, },
- 1
-
4 minutes ago, Distraught said:
WHAT YOU THINK HOW THE FUCK SENDS ONE CORE THE DATA TO ALL ANOTHER? THE SAME WAY AS IF THEY WERE NOT ON THE SAME MACHINE
lel
- 1
-
24 minutes ago, Distraught said:
Actually this is how the game now works. Don't put a map in more than one channel and its redirecting you between its cores.
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.
8 minutes ago, tierrilopes said:Using the example above, player A has delay to communicate to the server his connected to, same does player B. But then theres also the delay between both servers.
Considering the server-server delay, couldnt it do more harm then good in some ocasions?
Yes exactly.
-
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?
-
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?
-
It doesn't run endlessly, it just takes some time.
-
On 5/12/2020 at 12:51 PM, KemppiOn said:
Just a question - Does what youre trying to do now comply with the terms of service/license agreement of this game?
As far as I know, It doesn't.
Thanks for the guide btw. Very helpful.
-
1 hour ago, נσναnz said:
You know i actually did not think this through, Thanks for the idea
I managed to do it but also bind it to the model index. So that i can get the best camera for each monster.
Thanks again
Glad, I could help.
-
Yeah, that definitely looks much cleaner.
-
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
-
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.
- 3
-
Can you send us the link of the system, so we can look at the code?
-
-
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.
-
44 minutes ago, נσναnz said:
Thanks for the system.
Is there a way to manipulate the camera perspective maybe? Some monsters are too big for the camera position..You mean like zooming or rotating the object?
Mouse Wheel Scrolling UI Event
in Features & Metin2 Systems
Posted
Thanks, pretty useful stuff.