-
Posts
190 -
Joined
-
Last visited
-
Days Won
6 -
Feedback
0%
Content Type
Forums
Store
Third Party - Providers Directory
Feature Plan
Release Notes
Docs
Events
Posts posted by Aveline™
-
-
15000 mysql-port
Kind Regards
HaveBeen
-
Change mysql port after test it again.
Kind Regards
HaveBeen
-
Did you ever use the original video files?
If you still have same problem, take screenshot after paste it.
Kind Regards
HaveBeen
-
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
- 2
- 1
- 9
-
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
-
"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
-
Every source files is good There is one best that's your source files.
Kind Regards
HaveBeen
- 1
-
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
- 1
-
Thanks Shogun
-
Your item_proto really problem first you are need to fix your item_proto after another problems..
Kind Regards
HaveBeen
- 1
-
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
-
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
- 1
-
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
-
-
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
- 1
-
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
-
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
-
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
-
up
Channel2-3-4 syserr, After the close of CH2-3-4:
SYSERR: P2PJoin: member is not in same channel PID: 265937 channel 5, this channel 2
SYSERR: P2PJoin: member is not in same channel PID: 265325 channel 1, this channel 2
Which you are using game revision?
Kind Regards
HaveBeen
- 1
-
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
-
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
- 1
-
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
-
Hey, what is the mistake?
Have you edit inventorywindow.py?
Kind Regards
HaveBeen
-
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
Vanilla Core connection refused...
in Community Support - Questions & Answers
Posted
Paste your config files and syserr in topic.
Kind Regards
HaveBeen