-
Posts
152 -
Joined
-
Last visited
-
Days Won
2 -
Feedback
0%
Content Type
Forums
Store
Third Party - Providers Directory
Feature Plan
Release Notes
Docs
Events
Posts posted by Dr3Ame3r
-
-
Yeah but this will not work as it will keep the flags in uiaffectshower after one player will kill you, in PVM works fine.
How to reproduce:
Buff yourself, enable some skills, die from another player's hand, you will see the affectshower still in the left corner of the window but if you rewarp, they disappear. But the bonus isn't there anymore, its removed.
On the pvm side it works as a charm.
12 hours ago, Pisti95 said:uiaffectshower.py
Search for:def __AppendAffect(self, affect):
Change:image.SetSkillAffectFlag(TRUE)
With it:if skillIndex >= 94 and skillIndex <= 96 or skillIndex == 110 or skillIndex == 111: image.SetSkillAffectFlag(FALSE) else: image.SetSkillAffectFlag(TRUE)
-
Tested, it works, but, with a slight little problem, after the loading phase ends (the loadingscreen photos disappear) and it should popup your character, it freezes for about 0.7-1s until it shows entities near you(that happens only 1 time for each client)
-
Basically, the server has a heartbeat at which it processes the entries in the database, if you kill the process via SSH before the heartbeat finishes, you will lose all your items and progress.
Best way is to /shutdown in game then killall in ssh, WITHOUT arguments, only killall cause it will be graceful everytime.
- 1
-
What character set are you using? I can see that "latin5" is used in this case, is this the one you're searching for? I think it needs to comply with the one from common table from database.
Best regards,
Dr3Ame3r
- 1
-
Hello,
Taking in consideration that you've uploaded your src into /src/ ( i can't see anything behind that )
You need to be in the specific directory that contains liblua folder, after that you will be able to create them. Also, you have to build them with gmake/make.
Let's say you have /usr/src/game/src/, you have to be in /usr/src/ and do gmake all, after that libs will be created.
Best regards,
Dr3Ame3r
- 1
-
Depends on th serverfiles you're using, if you're using files that are using SQL "no_TXT", you'll have to comply to that one.
Convert your actual txt's into SQL using converters available on the website.
Best regards,
Dr3Ame3r
-
Hello,
A similar syntax could be "SELECT pid from account as a"
'a' stands for a definition of a table, that syntax is used when a query contains JOINs.
We'd like to see your issue or where it comes from.
Best regards,
Dr3Ame3r
- 1
-
Upgrading existing packages should fix the issue..
Just run
pkg upgrade
Also, if it doesn't work, i see that this error occurs only on 12.1, i upgraded to 12.2 and worked. (rich presence lib doesn't work on 12.1)
-
5 hours ago, ElRenardo said:
It's not how I did it but it's certainly the same result.
If someone can post here the Render function of GrpTextInstance, I can modify it and post it with the fix.
void CGraphicTextInstance::Render(RECT * pClipRect) { if (!m_isUpdate) return; CGraphicText* pkText=m_roText.GetPointer(); if (!pkText) return; CGraphicFontTexture* pFontTexture = pkText->GetFontTexturePointer(); if (!pFontTexture) return; float fStanX = m_v3Position.x; float fStanY = m_v3Position.y + 1.0f; UINT defCodePage = GetDefaultCodePage(); if (defCodePage == CP_ARABIC) { switch (m_hAlign) { case HORIZONTAL_ALIGN_LEFT: fStanX -= m_textWidth; break; case HORIZONTAL_ALIGN_CENTER: fStanX -= float(m_textWidth / 2); break; } } else { switch (m_hAlign) { case HORIZONTAL_ALIGN_RIGHT: fStanX -= m_textWidth; break; case HORIZONTAL_ALIGN_CENTER: fStanX -= float(m_textWidth / 2); break; } } switch (m_vAlign) { case VERTICAL_ALIGN_BOTTOM: fStanY -= m_textHeight; break; case VERTICAL_ALIGN_CENTER: fStanY -= float(m_textHeight) / 2.0f; break; } //WORD FillRectIndices[6] = { 0, 2, 1, 2, 3, 1 }; STATEMANAGER.SaveRenderState(D3DRS_SRCBLEND, D3DBLEND_SRCALPHA); STATEMANAGER.SaveRenderState(D3DRS_DESTBLEND, D3DBLEND_INVSRCALPHA); DWORD dwFogEnable = STATEMANAGER.GetRenderState(D3DRS_FOGENABLE); DWORD dwLighting = STATEMANAGER.GetRenderState(D3DRS_LIGHTING); STATEMANAGER.SetRenderState(D3DRS_FOGENABLE, FALSE); STATEMANAGER.SetRenderState(D3DRS_LIGHTING, FALSE); STATEMANAGER.SetVertexShader(D3DFVF_XYZ|D3DFVF_DIFFUSE|D3DFVF_TEX1); STATEMANAGER.SetTextureStageState(0, D3DTSS_COLORARG1, D3DTA_TEXTURE); STATEMANAGER.SetTextureStageState(0, D3DTSS_COLORARG2, D3DTA_DIFFUSE); STATEMANAGER.SetTextureStageState(0, D3DTSS_COLOROP, D3DTOP_MODULATE); STATEMANAGER.SetTextureStageState(0, D3DTSS_ALPHAARG1, D3DTA_TEXTURE); STATEMANAGER.SetTextureStageState(0, D3DTSS_ALPHAARG2, D3DTA_DIFFUSE); STATEMANAGER.SetTextureStageState(0, D3DTSS_ALPHAOP, D3DTOP_MODULATE); { const float fFontHalfWeight=1.0f; float fCurX; float fCurY; float fFontSx; float fFontSy; float fFontEx; float fFontEy; float fFontWidth; float fFontHeight; float fFontMaxHeight; float fFontAdvance; SVertex akVertex[4]; akVertex[0].z=m_v3Position.z; akVertex[1].z=m_v3Position.z; akVertex[2].z=m_v3Position.z; akVertex[3].z=m_v3Position.z; CGraphicFontTexture::TCharacterInfomation* pCurCharInfo; // Å׵θ® if (m_isOutline) { fCurX=fStanX; fCurY=fStanY; fFontMaxHeight=0.0f; CGraphicFontTexture::TPCharacterInfomationVector::iterator i; for (i=m_pCharInfoVector.begin(); i!=m_pCharInfoVector.end(); ++i) { pCurCharInfo = *i; fFontWidth=float(pCurCharInfo->width); fFontHeight=float(pCurCharInfo->height); fFontAdvance=float(pCurCharInfo->advance); // NOTE : ÆùÆ® Ãâ·Â¿¡ Width Á¦ÇÑÀ» µÓ´Ï´Ù. - [levites] if ((fCurX+fFontWidth)-m_v3Position.x > m_fLimitWidth) { if (m_isMultiLine) { fCurX=fStanX; fCurY+=fFontMaxHeight; } else { break; } } if (pClipRect) { if (fCurY <= pClipRect->top) { fCurX += fFontAdvance; continue; } } fFontSx = fCurX - 0.5f; fFontSy = fCurY - 0.5f; fFontEx = fFontSx + fFontWidth; fFontEy = fFontSy + fFontHeight; pFontTexture->SelectTexture(pCurCharInfo->index); STATEMANAGER.SetTexture(0, pFontTexture->GetD3DTexture()); akVertex[0].u=pCurCharInfo->left; akVertex[0].v=pCurCharInfo->top; akVertex[1].u=pCurCharInfo->left; akVertex[1].v=pCurCharInfo->bottom; akVertex[2].u=pCurCharInfo->right; akVertex[2].v=pCurCharInfo->top; akVertex[3].u=pCurCharInfo->right; akVertex[3].v=pCurCharInfo->bottom; akVertex[3].color = akVertex[2].color = akVertex[1].color = akVertex[0].color = m_dwOutLineColor; float feather = 0.0f; // m_fFontFeather akVertex[0].y=fFontSy-feather; akVertex[1].y=fFontEy+feather; akVertex[2].y=fFontSy-feather; akVertex[3].y=fFontEy+feather; // ¿Þ akVertex[0].x=fFontSx-fFontHalfWeight-feather; akVertex[1].x=fFontSx-fFontHalfWeight-feather; akVertex[2].x=fFontEx-fFontHalfWeight+feather; akVertex[3].x=fFontEx-fFontHalfWeight+feather; if (CGraphicBase::SetPDTStream((SPDTVertex*)akVertex, 4)) STATEMANAGER.DrawPrimitive(D3DPT_TRIANGLESTRIP, 0, 2); // ¿À¸¥ akVertex[0].x=fFontSx+fFontHalfWeight-feather; akVertex[1].x=fFontSx+fFontHalfWeight-feather; akVertex[2].x=fFontEx+fFontHalfWeight+feather; akVertex[3].x=fFontEx+fFontHalfWeight+feather; if (CGraphicBase::SetPDTStream((SPDTVertex*)akVertex, 4)) STATEMANAGER.DrawPrimitive(D3DPT_TRIANGLESTRIP, 0, 2); akVertex[0].x=fFontSx-feather; akVertex[1].x=fFontSx-feather; akVertex[2].x=fFontEx+feather; akVertex[3].x=fFontEx+feather; // À§ akVertex[0].y=fFontSy-fFontHalfWeight-feather; akVertex[1].y=fFontEy-fFontHalfWeight+feather; akVertex[2].y=fFontSy-fFontHalfWeight-feather; akVertex[3].y=fFontEy-fFontHalfWeight+feather; // 20041216.myevan.DrawPrimitiveUP if (CGraphicBase::SetPDTStream((SPDTVertex*)akVertex, 4)) STATEMANAGER.DrawPrimitive(D3DPT_TRIANGLESTRIP, 0, 2); // ¾Æ·¡ akVertex[0].y=fFontSy+fFontHalfWeight-feather; akVertex[1].y=fFontEy+fFontHalfWeight+feather; akVertex[2].y=fFontSy+fFontHalfWeight-feather; akVertex[3].y=fFontEy+fFontHalfWeight+feather; // 20041216.myevan.DrawPrimitiveUP if (CGraphicBase::SetPDTStream((SPDTVertex*)akVertex, 4)) STATEMANAGER.DrawPrimitive(D3DPT_TRIANGLESTRIP, 0, 2); fCurX += fFontAdvance; } } // ¸ÞÀÎ ÆùÆ® fCurX=fStanX; fCurY=fStanY; fFontMaxHeight=0.0f; for (int i = 0; i < m_pCharInfoVector.size(); ++i) { pCurCharInfo = m_pCharInfoVector[i]; fFontWidth=float(pCurCharInfo->width); fFontHeight=float(pCurCharInfo->height); fFontMaxHeight=max(fFontHeight, pCurCharInfo->height); fFontAdvance=float(pCurCharInfo->advance); // NOTE : ÆùÆ® Ãâ·Â¿¡ Width Á¦ÇÑÀ» µÓ´Ï´Ù. - [levites] if ((fCurX+fFontWidth)-m_v3Position.x > m_fLimitWidth) { if (m_isMultiLine) { fCurX=fStanX; fCurY+=fFontMaxHeight; } else { break; } } if (pClipRect) { if (fCurY <= pClipRect->top) { fCurX += fFontAdvance; continue; } } fFontSx = fCurX-0.5f; fFontSy = fCurY-0.5f; fFontEx = fFontSx + fFontWidth; fFontEy = fFontSy + fFontHeight; pFontTexture->SelectTexture(pCurCharInfo->index); STATEMANAGER.SetTexture(0, pFontTexture->GetD3DTexture()); akVertex[0].x=fFontSx; akVertex[0].y=fFontSy; akVertex[0].u=pCurCharInfo->left; akVertex[0].v=pCurCharInfo->top; akVertex[1].x=fFontSx; akVertex[1].y=fFontEy; akVertex[1].u=pCurCharInfo->left; akVertex[1].v=pCurCharInfo->bottom; akVertex[2].x=fFontEx; akVertex[2].y=fFontSy; akVertex[2].u=pCurCharInfo->right; akVertex[2].v=pCurCharInfo->top; akVertex[3].x=fFontEx; akVertex[3].y=fFontEy; akVertex[3].u=pCurCharInfo->right; akVertex[3].v=pCurCharInfo->bottom; //m_dwColorInfoVector[i]; //m_dwTextColor; akVertex[0].color = akVertex[1].color = akVertex[2].color = akVertex[3].color = m_dwColorInfoVector[i]; // 20041216.myevan.DrawPrimitiveUP if (CGraphicBase::SetPDTStream((SPDTVertex*)akVertex, 4)) STATEMANAGER.DrawPrimitive(D3DPT_TRIANGLESTRIP, 0, 2); //STATEMANAGER.DrawPrimitiveUP(D3DPT_TRIANGLESTRIP, 2, akVertex, sizeof(SVertex)); fCurX += fFontAdvance; } } if (m_isCursor) { // Draw Cursor float sx, sy, ex, ey; TDiffuse diffuse; int curpos = CIME::GetCurPos(); int compend = curpos + CIME::GetCompLen(); __GetTextPos(curpos, &sx, &sy); // If Composition if(curpos<compend) { diffuse = 0x7fffffff; __GetTextPos(compend, &ex, &sy); } else { diffuse = 0xffffffff; ex = sx + 2; } // FOR_ARABIC_ALIGN if (defCodePage == CP_ARABIC) { sx += m_v3Position.x - m_textWidth; ex += m_v3Position.x - m_textWidth; sy += m_v3Position.y; ey = sy + m_textHeight; } else { sx += m_v3Position.x; sy += m_v3Position.y; ex += m_v3Position.x; ey = sy + m_textHeight; } switch (m_vAlign) { case VERTICAL_ALIGN_BOTTOM: sy -= m_textHeight; break; case VERTICAL_ALIGN_CENTER: sy -= float(m_textHeight) / 2.0f; break; } // ÃÖÀûÈ »çÇ× // °°ÀºÅؽºÃĸ¦ »ç¿ëÇÑ´Ù¸é... STRIPÀ» ±¸¼ºÇÏ°í, ÅؽºÃÄ°¡ º¯°æµÇ°Å³ª ³¡³ª¸é DrawPrimitive¸¦ È£ÃâÇØ // ÃÖ´ëÇÑ ¼ýÀÚ¸¦ ÁÙÀ̵µ·ÏÇÏÀÚ! TPDTVertex vertices[4]; vertices[0].diffuse = diffuse; vertices[1].diffuse = diffuse; vertices[2].diffuse = diffuse; vertices[3].diffuse = diffuse; vertices[0].position = TPosition(sx, sy, 0.0f); vertices[1].position = TPosition(ex, sy, 0.0f); vertices[2].position = TPosition(sx, ey, 0.0f); vertices[3].position = TPosition(ex, ey, 0.0f); STATEMANAGER.SetTexture(0, NULL); // 2004.11.18.myevan.DrawIndexPrimitiveUP -> DynamicVertexBuffer CGraphicBase::SetDefaultIndexBuffer(CGraphicBase::DEFAULT_IB_FILL_RECT); if (CGraphicBase::SetPDTStream(vertices, 4)) STATEMANAGER.DrawIndexedPrimitive(D3DPT_TRIANGLELIST, 0, 4, 0, 2); int ulbegin = CIME::GetULBegin(); int ulend = CIME::GetULEnd(); if(ulbegin < ulend) { __GetTextPos(curpos+ulbegin, &sx, &sy); __GetTextPos(curpos+ulend, &ex, &sy); sx += m_v3Position.x; sy += m_v3Position.y + m_textHeight; ex += m_v3Position.x; ey = sy + 2; vertices[0].diffuse = 0xFFFF0000; vertices[1].diffuse = 0xFFFF0000; vertices[2].diffuse = 0xFFFF0000; vertices[3].diffuse = 0xFFFF0000; vertices[0].position = TPosition(sx, sy, 0.0f); vertices[1].position = TPosition(ex, sy, 0.0f); vertices[2].position = TPosition(sx, ey, 0.0f); vertices[3].position = TPosition(ex, ey, 0.0f); STATEMANAGER.DrawIndexedPrimitiveUP(D3DPT_TRIANGLELIST, 0, 4, 2, c_FillRectIndices, D3DFMT_INDEX16, vertices, sizeof(TPDTVertex)); } } STATEMANAGER.RestoreRenderState(D3DRS_SRCBLEND); STATEMANAGER.RestoreRenderState(D3DRS_DESTBLEND); STATEMANAGER.SetRenderState(D3DRS_FOGENABLE, dwFogEnable); STATEMANAGER.SetRenderState(D3DRS_LIGHTING, dwLighting); if (m_emojiVector.size() != 0) { for (std::vector<SEmoji>::iterator itor = m_emojiVector.begin(); itor != m_emojiVector.end(); ++itor) { SEmoji & rEmo = *itor; if (rEmo.pInstance) { rEmo.pInstance->SetPosition(fStanX + rEmo.x, (fStanY + 7.0) - (rEmo.pInstance->GetHeight() / 2)); rEmo.pInstance->Render(); } } } //±Ý°°æ ¸µÅ© ¶ç¿öÁÖ´Â ºÎºÐ. if (m_hyperlinkVector.size() != 0) { int lx = gs_mx - m_v3Position.x; int ly = gs_my - m_v3Position.y; //¾Æ¶øÀº ÁÂÇ¥ ºÎÈ£¸¦ ¹Ù²ãÁØ´Ù. if (GetDefaultCodePage() == CP_ARABIC) { lx = -lx; ly = -ly + m_textHeight; } if (lx >= 0 && ly >= 0 && lx < m_textWidth && ly < m_textHeight) { std::vector<SHyperlink>::iterator it = m_hyperlinkVector.begin(); while (it != m_hyperlinkVector.end()) { SHyperlink & link = *it++; if (lx >= link.sx && lx < link.ex) { gs_hyperlinkText = link.text; /* OutputDebugStringW(link.text.c_str()); OutputDebugStringW(L"\n"); */ break; } } } } }
-
This is over evaluated, the correct price would be around 200-250euros, an entire system which involves DB, P2P communication would worth 400-500e, not this, sorry but it's the reality.
-
6 hours ago, Vlad Ionut said:
This it’s worst tutorial ever!
That makes you a kid, just by saying that. You'll have to read his information and deduct what he's saying.
Ontopic: tested on a live server, crashes the client and makes it unresponding, it even loads for good at the loading phase.
-
Those were automated messages because your server lost internet connections, yes, it was truly a internet connectivity issue, maybe a NIC, maybe some routing issues.
Hope you choose your server well next time(btw, i would prefer WAW-1 datacenter over anything else)
-
2 hours ago, martysama0134 said:
- your mysql server is getting laggy due to the crappy machine hardware (ram or cpu mostly)
- or your website is opening lots of connection
- or your machine network is crap
Depends, if they have a improper set MySQL server, it is very possible to encounter frequent disconnects.
If they have improper SWAP memory in addition to physical set memory they will encounter the same slowdown as mysql timeouts, ssh timeouts, etc.
Please give us the required information @ATechST
-
Hello,
I have been a customer of OVH FR for about 5 years, can you please tell us, where are you from, what service provider do you use?
Also, can you do a MTR(winMTR for windows) from your PC to the Server itself for about 10 minutes and then give us a picture?
Do you use any firewalls? Fail2ban, iptables, ipfw, pf, ipf etc?
Did you host your VPS on OVH Cloud or especially on a dedicated virtualised server?
It looks like a peering problem, something that interconnects OVH network with the rest of the exchangers.
Thank you,
Dr3Ame3r
-
-
-
-
-
-
Dear community,
The Thrones3 family begins today, 26.11.18, looking for a new member: a C ++ developer with rich experience working on the source of the game, and minimal English knowledge. Experience in Python and / or Lua or other similar technical skills are gratification benefits. Honesty and teamwork are also required.
We offer you the opportunity to be a successful freelancer, flexible working hours and the opportunity to be part of a team with high goals in one of the most successful projects in this field ! Financial considerations will be discussed privately after your acceptance with us!
We promise that along with your performance, promotion and wage growth will be possible.
If you are interested in joining us, please send us an email with your personal details (name, nationality, date of birth, city of residence) along with a description of your game experience both as a player and as a developer, at [email protected]
Selected candidates will be contacted by email and will be offered the chance to an online interview shortly.
We are impatient to meet you,
The Thrones3 Team -
La 26.05.2018 la 21:57, Tryn a spus:
I think there are some "bugs". If u mount for example the power mounts the texttail is floating miles above you. Also if you're not riding a mount the texttail above them ("XZY's Horse") is also miles above them. Maybe you can take a look for this "bugs". But nice release anyway.
Thanks P3ng3rLa 29.05.2018 la 12:28, 3bd0 a spus:yup same here, tried adding values and changing existing values, I even tried to delete all the data, and nothing changes in game.
Use what exygo posted.
If you want the dictionary in the same file, you'll have to modify
Dict = npcheight.NPC_HEIGHT
to
Dict = NPC_HEIGHT
Open instancebase.cpp and search for->
if ((dwHorseVnum >= 20101 && dwHorseVnum <= 20109) || (dwHorseVnum == 20029 || dwHorseVnum == 20030)) return 100.0f;
Make a new case under it and put your mounts vnums, in my case it is:
if ((dwHorseVnum >= 20110 || dwHorseVnum <= 20266)) return 50.0f;
Then, enter PlayerSettingModule.py and use Exygo's dict as this for mounts->
20110 : 160.00, 20111 : 160.00, 20112 : 160.00, 20113 : 160.00, 20114 : 160.00, 20115 : 160.00, ............... 20266 : 160,00,
- 1
-
Acum 10 ore, charparodar a spus:
What if we have our servers outside European jurisdiction? Ping on metin2 isn't that much important than on cs go or any fps or moba...
I know that they still can process us, but there's not much to go on and prof besides the testimony of one guy and maybe because of that they can get a search warrant for the computers and shit, but besides that, what can happen if we work on the cloud for example?
As much as i know, the cloud is formed above some sort of physical servers, right? It depends on the location where you're colocated, your "cloud" is influenced by the datacenter's location because it doesn't mean that if the term "cloud" is available your server will be somewhere in Antarctida. That's totally irrelevant, but this is old news, he got caught in 2016 and he had to pay 50k euros as i know to the german government then he bought a server in nepal or syria (that's what i heard from here and there).
Now that we're talking networking, with any sort of warrant the accuser can take responsability only in his country, in this case only germany. ( so don't buy hosting in germany )
#i forgot to add info, if they want to "judge" with you, they will need an entire process to take your server down and to "bust" you and that's gonna take time, like 1-2 years (just for one server)
-
Hello, can you please provide us a GDB report regarding your server crash?
If you don't have a ".core" file, how did you find out that your server crashed?
Please provide the output of the following commands too:
dmesg
tail -f /var/log/messages
-
La 22.07.2016 la 20:45, Agator a spus:
and i have this problem
0509 18:27:28288 :: Traceback (most recent call last):
0509 18:27:28288 :: File "ui.py", line 1590, in OnSelectEmptySlot
0509 18:27:28288 :: File "ui.py", line 89, in __call__
0509 18:27:28289 :: File "ui.py", line 80, in __call__
0509 18:27:28289 :: File "uiswitch.py", line 114, in __OnSelectEmptySlot
0509 18:27:28289 :: IndexError
0509 18:27:28289 :: :
0509 18:27:28289 :: list index out of range
0509 18:27:28289 ::0509 18:27:28289 :: Traceback (most recent call last):
0509 18:27:28289 :: File "uiswitch.py", line 163, in OnUpdate
0509 18:27:28289 :: File "uiswitch.py", line 154, in refresh
0509 18:27:28290 :: IndexError
0509 18:27:28290 :: :
0509 18:27:28290 :: list index out of range
0509 18:27:28290 ::Old but the only thing you had to do was to:
search :
for i in xrange(player.ATTRIBUTE_SLOT_MAX_NUM-2):
replace:
for i in xrange(0, 5):
- 1
On DDOS protection
in Operating Systems
Posted
Glad you've posted this here @ Shogun, people who sell other people's lost nights, anxiety and stress, are just some rats which are trying to escape the Paris canals. Many of them don't even know what they sell, they just install it and that's it, if there's in need of adjustments, pray to god for support, cause the guys who install it, will never know how to fix it.
We both know who we're referring to, we hope he will realize what he did and stop being filthy.
For those who still want to buy Shogun's services, you're buying support not only the protection, he's one of the best people i know which really know security and the passion behind an operating system. Support means more than anything in this world at the moment.
Stay humble