Jump to content

wezt

Inactive Member
  • Posts

    97
  • Joined

  • Last visited

  • Days Won

    4
  • Feedback

    0%

Everything posted by wezt

  1. Hey, should be ok now. Idk why, but some pieces of code were corrupted (already fixed in 1st post). Regards.
  2. You can do everything you want in 'EterBase\Debug.cpp' & 'EterBase\Debug.h' (client source) If you cannot handle with these simple functions, then learn and google a bit or just hire someone Regards.
  3. Hello, I'd like to share a fix for "Phase Game does not handle this header (header: 81, last: 45, 81)". Let's start First of all I'd like to begin from adding some debug info in client, in order to be sure that this fix is necessary (check spoiler below). Compile your game client and try to catch an error with header. Check out client syserr.txt. There should be more info (we've added it with previous changes). If you'll have there something like this: Means that this fix is for you At this point we'll start with fix (if you didn't have "!Recv(sizeof(BLA), &BLA)" in syserr.txt I don't sure that this fix is for you). GAME SOURCE: game/src/packet.h game/src/questpc.cpp CLIENT SOURCE: UserInterface\Packet.h UserInterface\PythonNetworkStreamPhaseGame.cpp That's it. As you can see we've just deleted TEMP_BUFFER from server function and put all data in packet body. Let me know if you'll have problems with compiling (I could forget to add something in this TUT). And sorry if my English isn't good enough for you Regards.
  4. As far i remember you need to edit 'ymir work\ui\minimap_image_filter.dds' (file should be in etc pack)
  5. @BerserK Here is a little test which you can do (in order to fix your problem): Go in Client_source\UserInterface\PythonNetworkStreamPhaseGame.cpp Find there "bool CPythonNetworkStream::RecvQuestInfoPacket()": add change it: Let me know about errors in syserr.txt after you'll recompile the game client. If the problem will be in this part of code, I'll show how to fix. P.S.: In my case problem was there, and it's already fixed;) Regards.
  6. I'd advice you to start from char.cpp -> 'void CHARACTER::PointChange' -> 'case POINT_EXP' Regards.
  7. Hey, Check out this function 'void EffectPacket(int enumEffectType);' (in char.h/cpp), it's exactly for sending custom effects to client. P.S.: Also you will need to add new effect in 'common/length.h' (server side) and in 'playerSettingModule.py' (root in client). As far i remember that's all. Best regards.
  8. With new boos you may have problems, because of "boost::unordered_map<VID, size_t>::iterator iterTargetMap = rSkillUseInfo.TargetVIDMap.find(TargetVID);" in char_skill.cpp Fix for boost: And if you want to compile game and/or db with '-static' flag (with this you'll not need any libs on x64 operating systems), you have to change default setup config for devil. Also you'll need to include additional libs in game/src/Makefile Check spoiler Regards.
  9. Ahh. Also you have to change claw costumes subtype in item_proto to 17.
  10. In enum ECostumeSubTypes change 'COSTUME_WEAPON_CLAW,' to 'COSTUME_WEAPON_CLAW = 17,' (server and client sides).
  11. Hey, Show EWeaponSubTypes and ECostumeSubTypes from GameLib->ItemData.h and from common->item_length.h
  12. Hey, In game source input_main.cpp find this: sys_log(0, "MOVE: %s trying to move too far (dist: %.1fm) Riding(%d)", ch->GetName(), fDist, ch->IsRiding()); And replace with: sys_log(0, "MOVE: %s trying to move too far (dist: %.1fm) Riding(%s) WalkMode(%s)", ch->GetName(), fDist, ch->IsRiding()?"yes":"no", ch->IsWalking()?"walking":"running"); After you do this, compile game and show message from logs.
  13. @Haruka you could just send a link to [Hidden Content] or at least didn't tell that it's your solution
  14. You need to set correct antiflag value in item_proto.
  15. Yes, it is. But the thing is that sequence tables are the same on server/client sides (in my case). And with disabled _IMPROVED_PACKET_ENCRYPTION_ I had to disable sequence packet.
  16. Hey, thanks for advice with locale files (I've had it in old-old client but forgot to add this thing in new one when moved to 40k). Now this problem also fixed for me (200 teleports in row - no any crashes). As far i remember the problem is in loading background images for loading screen. @mafianekcek I'd advice you move all py/txt files back to locale pack and leave in locale folder only images Regards
  17. Hello, I've seen a lot of questions about header 254 error in server logs, and all what I've found were diffs for binaries. Below you will find a way how to fix it in source. Let's start: SERVER: In game/packet_info.cpp find this "Set(HEADER_CG_PONG, sizeof(BYTE), "Pong", true);" replace with "Set(HEADER_CG_PONG, sizeof(BYTE), "Pong", false);" CLIENT: All changes will be in UserInterface folder: In PythonNetworkStream.cpp find function "bool CPythonNetworkStream::RecvPingPacket()" and change to: bool CPythonNetworkStream::RecvPingPacket() { Tracef("recv ping packet. (securitymode %u)\n", IsSecurityMode()); TPacketGCPing kPacketPing; if (!Recv(sizeof(TPacketGCPing), &kPacketPing)) return false; m_dwLastGamePingTime = ELTimer_GetMSec(); TPacketCGPong kPacketPong; kPacketPong.bHeader = HEADER_CG_PONG; if (!Send(sizeof(TPacketCGPong), &kPacketPong)) return false; //if (IsSecurityMode()) // return SendSequence(); //else return true; } In AccountConnector.cpp find "bool CAccountConnector::__AuthState_SendPong()" and change to: bool CAccountConnector::__AuthState_SendPong() { TPacketCGPong kPacketPong; kPacketPong.bHeader = HEADER_CG_PONG; if (!Send(sizeof(kPacketPong), &kPacketPong)) return false; //if (IsSecurityMode()) //return SendSequence(); return true; } In GuildMarkDownloader.cpp find "bool CGuildMarkDownloader::__LoginState_RecvPing()" and change to: bool CGuildMarkDownloader::__LoginState_RecvPing() { TPacketGCPing kPacketPing; if (!Recv(sizeof(kPacketPing), &kPacketPing)) return false; TPacketCGPong kPacketPong; kPacketPong.bHeader = HEADER_CG_PONG; if (!Send(sizeof(TPacketCGPong), &kPacketPong)) return false; //if (IsSecurityMode()) //return SendSequence(); //else return true; } In GuildMarkUploader.cpp find "bool CGuildMarkUploader::__LoginState_RecvPing()" and change to: bool CGuildMarkUploader::__LoginState_RecvPing() { TPacketGCPing kPacketPing; if (!Recv(sizeof(kPacketPing), &kPacketPing)) return false; TPacketCGPong kPacketPong; kPacketPong.bHeader = HEADER_CG_PONG; if (!Send(sizeof(TPacketCGPong), &kPacketPong)) return false; //if (IsSecurityMode()) //return SendSequence(); //else return true; } With these changes the game won't send sequence for PONG packet, and you'll not have errors about it in syserr, at least i don't have them now. P.S.: Probably it's not a best way. I'm open for suggestions Regards
  18. Hello, try this: In questlua_global.cpp Search for "int _notice(lua_State* L)", after this function add: int _notice_big(lua_State* L) { ostringstream s; combine_lua_string(L, s); CQuestManager::Instance().GetCurrentCharacterPtr()->ChatPacket(CHAT_TYPE_BIG_NOTICE, "%s", s.str().c_str()); return 0; } Also add after this line " { "notice", _notice }," next: { "notice_big", _notice_big }, And add this function in share/locale/XX/quest/quest_functions Regards
  19. More easier way, use existing function (already in localeInfo.py): In introSelect.py change "self.PlayTime.SetText(str(playTime))" to "self.PlayTime.SetText(str(localeInfo.SecondToDHM(playTime*60)))" Furthermore in locale_xx\localale\xx\ui\selectcharacterwindow.py : Regards
  20. (1) In questlua_pc.cpp: Search for "{ "get_killee_drop_pct", pc_get_killee_drop_pct }," After add this line "{ "unequip_from_index", pc_unequip_from_index }," Like on screen (2) Also in share/locale/XX/quest/quest_functions you need to add line with "pc.unequip_from_index"
  21. Try to change c++ quest function to this [Hidden Content] P.S.: @Denis, in your function, at this part: " if (item->GetVnum() == vnum) " need to be change to " if (item && item->GetVnum() == vnum)". Because if core trying to get vnum from NULL item it leads to crash.
  22. Well, you need to add one more additional function in StateManager.cpp (also do not forget to add function in header file (StateManager.h)) Then go to PythonMiniMap.cpp, search for "DrawIndexedPrimitive" and replace it with "DrawIndexedPrimitive1" P.s.: As far i remember it's a full fix. Cannot check for sure because I don't use dx9.
  23. Hi, if you have client source you may find fix here [Hidden Content] Regards.
  24. Try change your quest to this: If it won't work, then try to debug quest function. Add this line in source before "if (lMapIndex == ch->GetMapIndex())" sys_err("pc_unequip_from_index lMapIndex :%d vnum:%d", lMapIndex, vnum); Then you'll see in syserr more info about the problem. P.S.: Sry for almost the same quest, didn't see xP3NG3Rx reply.
×
×
  • 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.