Jump to content

Aveline™

Inactive Member
  • Posts

    190
  • Joined

  • Last visited

  • Days Won

    6
  • Feedback

    0%

Everything posted by Aveline™

  1. Paste your config files and syserr in topic. Kind Regards HaveBeen
  2. Change mysql port after test it again. Kind Regards HaveBeen
  3. Did you ever use the original video files? If you still have same problem, take screenshot after paste it. Kind Regards HaveBeen
  4. M2 Download Center Download Here ( Internal ) Hi guys. Someone still does not know how to add function in source files and if you have source files and you don't know anything about c++, This topic usefull for you Meanwhile thanks imer for codes. If you are ready then let's go First open questlua_npc.cpp after add these; int npc_get_pid(lua_State* L) { CQuestManager & q = CQuestManager::instance(); LPCHARACTER npc = q.GetCurrentNPCCharacterPtr(); lua_pushnumber(L,npc->GetPlayerID()); return 1; } int npc_select(lua_State* L) { if(lua_isnumber(L,1)) { DWORD vid = lua_tonumber(L,1); LPCHARACTER pc = CQuestManager::instance().GetCurrentCharacterPtr(); LPCHARACTER ch = CHARACTER_MANAGER::instance().Find(vid); if(ch) { pc->SetQuestNPCID(vid); lua_pushnumber(L,1); return 1; } } lua_pushnumber(L,0); return 1; } Add these ; { "select",npc_select}, { "get_pid",npc_get_pid}, After open questlua_item.cpp add these ; int item_get_wearflag(lua_State* L) { LPITEM item = CQuestManager::instance().GetCurrentItem(); if(item) { lua_pushnumber(L,item->GetProto()->dwWearFlags); return 1; } lua_pushnumber(L,0); return 1; } int item_is_wearflag(lua_State* L) { LPITEM item = CQuestManager::instance().GetCurrentItem(); if(item) { lua_pushboolean(L,(item->GetProto()->dwWearFlags & (DWORD)lua_tonumber(L,1))); return 1; } lua_pushnumber(L,0); return 1; } int item_get_attr(lua_State* L) { LPITEM item = CQuestManager::instance().GetCurrentItem(); if(!lua_isnumber(L,1) || !item) { return 0; } int attr_index = lua_tonumber(L,1); if(attr_index < 0 || attr_index > 6) { return 0; } TPlayerItemAttribute attr = item->GetAttribute(attr_index); lua_pushnumber(L,attr.bType); lua_pushnumber(L,attr.sValue); return 2; } int item_set_attr(lua_State* L) { LPITEM item = CQuestManager::instance().GetCurrentItem(); if(!lua_isnumber(L,1) || !lua_isnumber(L,2) || !lua_isnumber(L,3) || !item) { lua_pushboolean(L,false); return 1; } int attr_index = lua_tonumber(L,1); if(attr_index < 0 || attr_index > 6) { lua_pushboolean(L,false); return 1; } item->SetForceAttribute(attr_index,lua_tonumber(L,2),lua_tonumber(L,3)); lua_pushboolean(L,true); return 1; } int item_equip(lua_State* L) { LPITEM item = CQuestManager::instance().GetCurrentItem(); LPCHARACTER ch = CQuestManager::instance().GetCurrentCharacterPtr(); if(!lua_isnumber(L,1) || !item || !ch) { lua_pushboolean(L,false); return 1; } int equipcell = lua_tonumber(L,1); LPITEM wear = ch->GetWear(equipcell); if(wear) { ch->UnequipItem(wear); } item->EquipTo(ch,equipcell); lua_pushboolean(L,true); return 1; } Add these ; { "get_wearflag", item_get_wearflag}, { "is_wearflag", item_is_wearflag}, { "get_attr", item_get_attr}, { "set_attr", item_set_attr}, { "equip", item_equip}, How to use these function in my quest? quest examples begin state start begin when 20354.take begin say(item.get_wearflag()) end when 20354.take begin local type,value = item.get_attr(1) say("Type : "..type) say("Value : "..value) end when 20354.take begin item.set_attr(1,2,2000) end when kill with npc.is_pc() begin setskin(NOWINDOW) chat(npc.get_pid()) end when kill with npc.is_pc() begin local a = npc.select(npc.get_vid()) chat(pc.get_name()) npc.select(a) end end end Kind Regards HaveBeen
  5. Already TEC Interactive has made a few something about this topic. There are big servers and Tec Interactive send petition to owner of the server. If owner of the server not close server, I think there was a suit for damages. Because i have seen these situations in turkey and many people know these situations. But ymir entartaiment is finished at the moment just there Webzen If webzen want, they can close all servers. Because we're breaking copyright But i am respect ymir entartaiment. Some people got no respect you know What's ever Kind Regards HaveBeen
  6. "53003 no valid mapindex" u_u you are trying to like this? pc.warp_local(pc.get_map_index(),xCoordinate,yCoordinate) Or you want d.warp_local d.warp_local(d.get_map_index(),xCoordinate,yCoordinate) Kind Regards HaveBeen
  7. Every source files is good There is one best that's your source files. Kind Regards HaveBeen
  8. Of course I'm sure. First you are need to fix item_proto,refine_proto because this error SYSERR: Apr 22 21:57:05 :: DoRefineWithScroll: REFINE : Unknown refine scroll item. Value0: 1 Just associated with this error. Kind Regards HaveBeen
  9. Your item_proto really problem first you are need to fix your item_proto after another problems.. Kind Regards HaveBeen
  10. Is there this variable "reportviolentwhisperbutton" in your uiscript/whisperdialog.py? If it doesn't exist, you must be add this variable in your uiscript/whisperdialog.py else remove it.. Kind Regards HaveBeen
  11. import uiScriptLocale ROOT_PATH = "d:/ymir work/ui/public/" TEMPORARY_X = +13 BUTTON_TEMPORARY_X = 5 PVP_X = -10 LINE_LABEL_X = 30 LINE_DATA_X = 90 LINE_STEP = 0 SMALL_BUTTON_WIDTH = 45 MIDDLE_BUTTON_WIDTH = 65 window = { "name" : "GameOptionDialog", "style" : ("movable", "float",), "x" : 0, "y" : 0, "width" : 300, "height" : 25*11+8, "children" : ( { "name" : "board", "type" : "board", "x" : 0, "y" : 0, "width" : 300, "height" : 25*11+8, "children" : ( ## Title { "name" : "titlebar", "type" : "titlebar", "style" : ("attach",), "x" : 8, "y" : 8, "width" : 284, "color" : "gray", "children" : ( { "name":"titlename", "type":"text", "x":0, "y":3, "text" : uiScriptLocale.GAMEOPTION_TITLE, "horizontal_align":"center", "text_horizontal_align":"center" }, ), }, ## 이름색 { "name" : "name_color", "type" : "text", "x" : LINE_LABEL_X, "y" : 40+2, "text" : uiScriptLocale.OPTION_NAME_COLOR, }, { "name" : "name_color_normal", "type" : "radio_button", "x" : LINE_DATA_X+MIDDLE_BUTTON_WIDTH*0, "y" : 40, "text" : uiScriptLocale.OPTION_NAME_COLOR_NORMAL, "default_image" : ROOT_PATH + "Middle_Button_01.sub", "over_image" : ROOT_PATH + "Middle_Button_02.sub", "down_image" : ROOT_PATH + "Middle_Button_03.sub", }, { "name" : "name_color_empire", "type" : "radio_button", "x" : LINE_DATA_X+MIDDLE_BUTTON_WIDTH*1, "y" : 40, "text" : uiScriptLocale.OPTION_NAME_COLOR_EMPIRE, "default_image" : ROOT_PATH + "Middle_Button_01.sub", "over_image" : ROOT_PATH + "Middle_Button_02.sub", "down_image" : ROOT_PATH + "Middle_Button_03.sub", }, ## 타겟창 { "name" : "target_board", "type" : "text", "x" : LINE_LABEL_X, "y" : 65+2, "text" : uiScriptLocale.OPTION_TARGET_BOARD, }, { "name" : "target_board_no_view", "type" : "radio_button", "x" : LINE_DATA_X+MIDDLE_BUTTON_WIDTH*0, "y" : 65, "text" : uiScriptLocale.OPTION_TARGET_BOARD_NO_VIEW, "default_image" : ROOT_PATH + "Middle_Button_01.sub", "over_image" : ROOT_PATH + "Middle_Button_02.sub", "down_image" : ROOT_PATH + "Middle_Button_03.sub", }, { "name" : "target_board_view", "type" : "radio_button", "x" : LINE_DATA_X+MIDDLE_BUTTON_WIDTH*1, "y" : 65, "text" : uiScriptLocale.OPTION_TARGET_BOARD_VIEW, "default_image" : ROOT_PATH + "Middle_Button_01.sub", "over_image" : ROOT_PATH + "Middle_Button_02.sub", "down_image" : ROOT_PATH + "Middle_Button_03.sub", }, ## PvP Mode { "name" : "pvp_mode", "type" : "text", "x" : LINE_LABEL_X, "y" : 90+2, "text" : uiScriptLocale.OPTION_PVPMODE, }, { "name" : "pvp_peace", "type" : "radio_button", "x" : LINE_DATA_X+SMALL_BUTTON_WIDTH*0, "y" : 90, "text" : uiScriptLocale.OPTION_PVPMODE_PEACE, "tooltip_text" : uiScriptLocale.OPTION_PVPMODE_PEACE_TOOLTIP, "default_image" : ROOT_PATH + "small_Button_01.sub", "over_image" : ROOT_PATH + "small_Button_02.sub", "down_image" : ROOT_PATH + "small_Button_03.sub", }, { "name" : "pvp_revenge", "type" : "radio_button", "x" : LINE_DATA_X+SMALL_BUTTON_WIDTH*1, "y" : 90, "text" : uiScriptLocale.OPTION_PVPMODE_REVENGE, "tooltip_text" : uiScriptLocale.OPTION_PVPMODE_REVENGE_TOOLTIP, "default_image" : ROOT_PATH + "small_Button_01.sub", "over_image" : ROOT_PATH + "small_Button_02.sub", "down_image" : ROOT_PATH + "small_Button_03.sub", }, { "name" : "pvp_guild", "type" : "radio_button", "x" : LINE_DATA_X+SMALL_BUTTON_WIDTH*2, "y" : 90, "text" : uiScriptLocale.OPTION_PVPMODE_GUILD, "tooltip_text" : uiScriptLocale.OPTION_PVPMODE_GUILD_TOOLTIP, "default_image" : ROOT_PATH + "small_Button_01.sub", "over_image" : ROOT_PATH + "small_Button_02.sub", "down_image" : ROOT_PATH + "small_Button_03.sub", }, { "name" : "pvp_free", "type" : "radio_button", "x" : LINE_DATA_X+SMALL_BUTTON_WIDTH*3, "y" : 90, "text" : uiScriptLocale.OPTION_PVPMODE_FREE, "tooltip_text" : uiScriptLocale.OPTION_PVPMODE_FREE_TOOLTIP, "default_image" : ROOT_PATH + "small_Button_01.sub", "over_image" : ROOT_PATH + "small_Button_02.sub", "down_image" : ROOT_PATH + "small_Button_03.sub", }, ## Block { "name" : "block", "type" : "text", "x" : LINE_LABEL_X, "y" : 115+2, "text" : uiScriptLocale.OPTION_BLOCK, }, { "name" : "block_exchange_button", "type" : "toggle_button", "x" : LINE_DATA_X+MIDDLE_BUTTON_WIDTH*0, "y" : 115, "text" : uiScriptLocale.OPTION_BLOCK_EXCHANGE, "default_image" : ROOT_PATH + "middle_button_01.sub", "over_image" : ROOT_PATH + "middle_button_02.sub", "down_image" : ROOT_PATH + "middle_button_03.sub", }, { "name" : "block_party_button", "type" : "toggle_button", "x" : LINE_DATA_X+MIDDLE_BUTTON_WIDTH*1, "y" : 115, "text" : uiScriptLocale.OPTION_BLOCK_PARTY, "default_image" : ROOT_PATH + "middle_button_01.sub", "over_image" : ROOT_PATH + "middle_button_02.sub", "down_image" : ROOT_PATH + "middle_button_03.sub", }, { "name" : "block_guild_button", "type" : "toggle_button", "x" : LINE_DATA_X+MIDDLE_BUTTON_WIDTH*2, "y" : 115, "text" : uiScriptLocale.OPTION_BLOCK_GUILD, "default_image" : ROOT_PATH + "middle_button_01.sub", "over_image" : ROOT_PATH + "middle_button_02.sub", "down_image" : ROOT_PATH + "middle_button_03.sub", }, { "name" : "block_whisper_button", "type" : "toggle_button", "x" : LINE_DATA_X+MIDDLE_BUTTON_WIDTH*0, "y" : 140, "text" : uiScriptLocale.OPTION_BLOCK_WHISPER, "default_image" : ROOT_PATH + "middle_button_01.sub", "over_image" : ROOT_PATH + "middle_button_02.sub", "down_image" : ROOT_PATH + "middle_button_03.sub", }, { "name" : "block_friend_button", "type" : "toggle_button", "x" : LINE_DATA_X+MIDDLE_BUTTON_WIDTH*1, "y" : 140, "text" : uiScriptLocale.OPTION_BLOCK_FRIEND, "default_image" : ROOT_PATH + "middle_button_01.sub", "over_image" : ROOT_PATH + "middle_button_02.sub", "down_image" : ROOT_PATH + "middle_button_03.sub", }, { "name" : "block_party_request_button", "type" : "toggle_button", "x" : LINE_DATA_X+MIDDLE_BUTTON_WIDTH*2, "y" : 140, "text" : uiScriptLocale.OPTION_BLOCK_PARTY_REQUEST, "default_image" : ROOT_PATH + "middle_button_01.sub", "over_image" : ROOT_PATH + "middle_button_02.sub", "down_image" : ROOT_PATH + "middle_button_03.sub", }, ## Chat { "name" : "chat", "type" : "text", "x" : LINE_LABEL_X, "y" : 165+2, "text" : uiScriptLocale.OPTION_VIEW_CHAT, }, { "name" : "view_chat_on_button", "type" : "radio_button", "x" : LINE_DATA_X, "y" : 165, "text" : uiScriptLocale.OPTION_VIEW_CHAT_ON, "default_image" : ROOT_PATH + "middle_button_01.sub", "over_image" : ROOT_PATH + "middle_button_02.sub", "down_image" : ROOT_PATH + "middle_button_03.sub", }, { "name" : "view_chat_off_button", "type" : "radio_button", "x" : LINE_DATA_X+MIDDLE_BUTTON_WIDTH, "y" : 165, "text" : uiScriptLocale.OPTION_VIEW_CHAT_OFF, "default_image" : ROOT_PATH + "middle_button_01.sub", "over_image" : ROOT_PATH + "middle_button_02.sub", "down_image" : ROOT_PATH + "middle_button_03.sub", }, ## Always Show Name { "name" : "always_show_name", "type" : "text", "x" : LINE_LABEL_X, "y" : 190+2, "text" : uiScriptLocale.OPTION_ALWAYS_SHOW_NAME, }, { "name" : "always_show_name_on_button", "type" : "radio_button", "x" : LINE_DATA_X, "y" : 190, "text" : uiScriptLocale.OPTION_ALWAYS_SHOW_NAME_ON, "default_image" : ROOT_PATH + "middle_button_01.sub", "over_image" : ROOT_PATH + "middle_button_02.sub", "down_image" : ROOT_PATH + "middle_button_03.sub", }, { "name" : "always_show_name_off_button", "type" : "radio_button", "x" : LINE_DATA_X+MIDDLE_BUTTON_WIDTH, "y" : 190, "text" : uiScriptLocale.OPTION_ALWAYS_SHOW_NAME_OFF, "default_image" : ROOT_PATH + "middle_button_01.sub", "over_image" : ROOT_PATH + "middle_button_02.sub", "down_image" : ROOT_PATH + "middle_button_03.sub", }, ## Effect On/Off { "name" : "effect_on_off", "type" : "text", "x" : LINE_LABEL_X, "y" : 215+2, "text" : uiScriptLocale.OPTION_EFFECT, }, { "name" : "show_damage_on_button", "type" : "radio_button", "x" : LINE_DATA_X, "y" : 215, "text" : uiScriptLocale.OPTION_VIEW_CHAT_ON, "default_image" : ROOT_PATH + "middle_button_01.sub", "over_image" : ROOT_PATH + "middle_button_02.sub", "down_image" : ROOT_PATH + "middle_button_03.sub", }, { "name" : "show_damage_off_button", "type" : "radio_button", "x" : LINE_DATA_X+MIDDLE_BUTTON_WIDTH, "y" : 215, "text" : uiScriptLocale.OPTION_VIEW_CHAT_OFF, "default_image" : ROOT_PATH + "middle_button_01.sub", "over_image" : ROOT_PATH + "middle_button_02.sub", "down_image" : ROOT_PATH + "middle_button_03.sub", }, ## 판매문구 { "name" : "salestext_on_off", "type" : "text", "x" : LINE_LABEL_X, "y" : 240+2, "text" : uiScriptLocale.OPTION_SALESTEXT, }, { "name" : "salestext_on_button", "type" : "radio_button", "x" : LINE_DATA_X, "y" : 240, "text" : uiScriptLocale.OPTION_SALESTEXT_VIEW_ON, "default_image" : ROOT_PATH + "middle_button_01.sub", "over_image" : ROOT_PATH + "middle_button_02.sub", "down_image" : ROOT_PATH + "middle_button_03.sub", }, { "name" : "salestext_off_button", "type" : "radio_button", "x" : LINE_DATA_X+MIDDLE_BUTTON_WIDTH, "y" : 240, "text" : uiScriptLocale.OPTION_SALESTEXT_VIEW_OFF, "default_image" : ROOT_PATH + "middle_button_01.sub", "over_image" : ROOT_PATH + "middle_button_02.sub", "down_image" : ROOT_PATH + "middle_button_03.sub", }, ), }, ), } Try this py. If you don't know, unpack uiscript.epk after open gameoptiondialog.py after replace to this. after pack and log in game Kind Regards HaveBeen
  12. If you are using pre_qc.py, first you have to create a pre_qc folder in quest folder and that's replace vnums and write it in pre_qc folder. Kind Regards HaveBeen
  13. [Hidden Content] If you don't have this .dll in your metin2 files, put it after test it again. Kind Regards HaveBeen
  14. You mean like ./qc? If you mean like, create a bat file and write these things in bat file. qc test.quest Kind Regards HaveBeen
  15. If you want to change some keyboard function, you should be look at game.py onPressKeyDict[app.DIK_W] = lambda : self.MoveUp() onPressKeyDict[app.DIK_S] = lambda : self.MoveDown() onPressKeyDict[app.DIK_A] = lambda : self.MoveLeft() onPressKeyDict[app.DIK_D] = lambda : self.MoveRight() Kind Regards HaveBeen
  16. Some folders you have to put in D: Local disk So I mean d:/ymir work/ is there like this you have put in D: Local disk. Kind Regards HaveBeen
  17. I think problem is binary. You are compiled your self binary or you are using public binary. First tell us after if you are using public binary. Use to yourself binary. @Frozen Already if it's appear ??????, it's blank in client syserr.txt just there errorlog.txt Kind Regards HaveBeen
  18. Which you are using game revision? Kind Regards HaveBeen
  19. I think so. I say "My Own Game" already it's public source files on forums . Source code is perfect for c++ users. Ehehehe Kind Regards HaveBeen
  20. SYSERR: Apr 15 00:15:47 :: locale_find: LOCALE_ERROR: "ÀÌ¹Ì µÐ°©ÁßÀÎ »óÅÂÀÔ´Ï´Ù."; Just take this text and convert to your language after add it in your locale_string.txt SYSERR: Apr 15 01:42:40 :: RunState: LUA_ERROR: [string "balik_tutma_yarismasi"]:78: attempt to call global `mysql_query10' (a nil value) SYSERR: Apr 15 01:42:40 :: WriteRunningStateToSyserr: LUA_ERROR: quest balik_tutma_yarismasi.start letter I think you don't have mysql_query10 function in your questlib.lua and lua does not know this function. If you don't sure, check it. UseMobSkill: No skill hit data for mob BILINMIYOR index 0 This mob has a skill but it does not using this skill in game. Check your mob_proto if you don't know anything, upload original mob_proto. DoRefineWithScroll: REFINE : Unknown refine scroll item. Value0: 1 Check refine_proto.sql if you don't know anything, upload original refine_proto.sql in your db GetMoveMotionSpeed: cannot find motion (name Nakajima race 20364 mode 0) Have you got Nakajima .msa files in your data? If you don't sure, check it. it does not exist, take from your client. DirectQuery: AsyncSQL::DirectQuery : mysql_query error: Table 'player.change_empire' doesn't exist query: SELECT change_count FROM change_empire WHERE account_id = 873 If you don't have change_empire.sql in your db. Upload change_empire.sql in your db after test it again. SYSERR: Apr 16 16:13:40 :: Process: UNKNOWN HEADER: 178, LAST HEADER: 0(0), REMAIN BYTES: 785, fd: 88 Which you are using binary version and game revision, tell me. Kind Regards HaveBeen
  21. You can't at the moment because new binary change packet system but if you know good c++, you can. If you know 2089 packet.h, this situations is easy for you. Kind Regards HaveBeen
  22. Have you edit inventorywindow.py? Kind Regards HaveBeen
  23. Have you got d:/wild dragon/taskbar.pyc in your pack files? If you don't sure, check it after test it again. Kind Regards HaveBeen
×
×
  • 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.