alberto2010

Member
  • Content Count

    29
  • Joined

  • Last visited

Community Reputation

2 Neutral

About alberto2010

  • Rank
    Neutral

Profile Information

  • Gender
    Not Telling

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. alberto2010

    open

    Hello, i really want to make metin2 to work in lan how it was before i have a 40k source. Look let's say my router gateway is 192.168.1.1 and server ip via dhcp is 192.168.1.150 and my external ip is something like 69.69.69.69 Look what i want to do, i want the server to work inside lan 24/7 even if i'm getting flooded it still have to stay up inside lan. The thing is , If i'm using as server ip in config : 192.168.1.150 it will work but only on lan , outside people that connect with 69.69.69.69 will get disconnected at select character. If i'm using 69.69.69.69 as server ip in config, outside people will not get anymore disconnect at select character but , there is a but! , if server is getting flooded and outside bandwidth fully ocuppied the server will shutdown game cores. And the reason for that is because server isn't using the lan ip to connect to himself , it is using 69.69.69.69. I don't know how to explain it better.
  2. alberto2010

    open

    thanks man
  3. alberto2010

    open

    Hello , there is any python automatic dragon soul refine? Can't find anything about that and i saw in many clients that they have automatic refine.
  4. alberto2010

    Is there any way to make this one to work with a no-ip dns if i have a dynamic ip ?
  5. Hello , How I can increase mob drop level range limit ? right now it is like -+10 levels for each boss. EX: Mob 2598 has level 91 , If i kill him when my char has level 100 I get drop but if I kill him when char is level 101-105 , i don't get anything , There is a way to increase mob drop level range limit?
  6. alberto2010

    open

    hello guys, i want to make a ban command but i have a problem , this is the code: ACMD(do_ban) { char arg1[256], arg2[256]; const char* name; const char* reason; if (!ch || ch->GetGMLevel() != GM_IMPLEMENTOR) { sys_log(0, "do_ban without rights %s[%d]", ch->GetName(), ch->GetPlayerID()); return; } two_arguments(argument, arg1, sizeof (arg1), arg2, sizeof(arg2)); if (!*arg1 || !*arg2) { ch->ChatPacket(CHAT_TYPE_INFO, "Correct command form: /ban <player name> <reason>"); return; } name = arg1; reason = arg2; LPDESC LDESC = DESC_MANAGER::instance().FindByCharacterName(name); LPCHARACTER LCHARACTER = LDESC ? LDESC->GetCharacter() : NULL; if (!LCHARACTER) { ch->ChatPacket(CHAT_TYPE_INFO, "%s not found.", name); return; } if (LCHARACTER == ch) { ch->ChatPacket(CHAT_TYPE_INFO, "You cant ban yourself!"); return; } if (LCHARACTER->GetGMLevel() >= GM_LOW_WIZARD) { ch->ChatPacket(CHAT_TYPE_INFO, "You cant do that."); return; } LCHARACTER = CHARACTER_MANAGER::instance().FindPC(name); std::auto_ptr<SQLMsg> msg(DBManager::instance().DirectQuery("UPDATE account.account SET status = 'BLOCK' WHERE id = %d", LCHARACTER->GetAID())); std::auto_ptr<SQLMsg> msg(DBManager::instance().DirectQuery("UPDATE player.player SET reason = %s WHERE id = %d", reason, LCHARACTER->GetAID())); LDESC->DelayedDisconnect(5); sys_log(0, "%s[%d] banned %s with reason: %s", ch->GetName(), ch->GetPlayerID(), name, reason); ch->ChatPacket(CHAT_TYPE_INFO, "%s was banned with reason: %s", name, reason); } my problem is how i can use two directquery? i get this when i try to compile: cmd_gm.cpp:2836: error: redeclaration of 'std::auto_ptr<_SQLMsg> msg' cmd_gm.cpp:2836: error: 'std::auto_ptr<_SQLMsg> msg' previously declared here
  7. Hello guys , i want to change bonuses from this item: 71136 ÇÒ·ÎÀ© »çÅÁ ITEM_COSTUME COSTUME_ACCSLOT 1 ANTI_MYSHOP | ANTI_STACK | ANTI_GIVE | ANTI_SELL | ANTI_DROP NONE NONE NONE 0 0 0 0 0 REAL_TIME 0 LIMIT_NONE 0 APPLY_NONE 0 APPLY_NONE 0 APPLY_NONE 0 0 0 0 0 0 0 0 0 0 but i don't understand where to put values... here is what i want to add: PV: 3000 20% Chance of Critical Hit 25% Chance of Piercing Hit(this is penetrate_pct) Strong against Half Human +15% +10 Strength
  8. Hello , if i try to close offline shop when my inventory is full , items are deleted. items are deleted only when inventory is full . i attached my offlineshop_manager.cpp I hope some1 can help me with that. offlineshop_manager.cpp (fixed , i just rewrote some functions as quest.lua and is fine)
  9. alberto2010

    solved

    i don't like to help romanians but .. just install this: quest fix_bug_string begin state start begin when login begin setskin(NOWINDOW) say_title(" ") return end end end and if you have quests like this: quest give_basic_weapon begin state start begin when login with pc.get_level() >= 1 begin say_title("text") say("text") say("text") say("text") say("text") say("text") pc.give_item2(x,y) set_state(endcall) end end state endcall begin end end you have to rewrite them like this exemple: quest give_basic_weapon begin state start begin when login with pc.get_level() >= 1 begin timer("give_basic_weapon", 2) end when give_basic_weapon.timer begin say_title("text") say("text") say("text") say("text") say("text") say("text") pc.give_item2(x,y) set_state(endcall) end end state endcall begin end end
  10. Hello guys , any1 know how to add a limit of how many players can be online on a channel ?
  11. Hello guys , there is a way to make monsters to don't disappear if you ride a mount and you have big speed?
  12. Hello , any1 know how to make a quest to work same as Compass for Metin Stones item ? I want to use this quest to make a button in inventory to find stones. (In other words i want this compass for metin stones directly in inventory.)
  13. I implemented a bonus page board and i have a problem with it when i press button again , this page just show again and again when i press button , not hiding. These are scripts: uibonuspage.py inside uiinventory (just bonus page scripts): inventorywindow.py button: So. How i can make this board to hide when i press again the button ?
  14. Hello , i made a bar for buttons and i can't use buttons placed on bar , if i put buttons directly on inventory it works. screen: If i put buttons directly on inventory it works. I think is a problem with inventory range or something because if i move buttons to left them works. There is full script: import uiScriptLocale import item EQUIPMENT_START_INDEX = 180 window = { "name" : "InventoryWindow", ## 600 - (width + ¡Ë?A¡Ë¡þ¢®IAEA¡Ë¡þ¢®¢´I ¡§¡þIAI ¡ËOc¡Ë?i¢®¨úa 24 px) "x" : SCREEN_WIDTH - 176, "y" : SCREEN_HEIGHT - 37 - 571, "style" : ("movable", "float",), "width" : 176, "height" : 576, "children" : ( ## Inventory, Equipment Slots { "name" : "board", "type" : "board", "style" : ("attach", "float",), "x" : -37, "y" : 26, "width" : 37, "height" : 155, "children" : ( { "name" : "teleporter_index", "type" : "button", "x" : 6, "y" : 6, "tooltip_text" : "Teleportare", "default_image" : "locale/es/ui/teleport1.tga", "over_image" : "locale/es/ui/teleport2.tga", "down_image" : "locale/es/ui/teleport2.tga", }, { "name" : "antiexp_index", "type" : "button", "x" : 6, "y" : 39, "tooltip_text" : "Anti Experienta", "default_image" : "locale/es/ui/inelexp1.tga", "over_image" : "locale/es/ui/inelexp2.tga", "down_image" : "locale/es/ui/inelexp2.tga", }, { "name" : "depozit_index", "type" : "button", "x" : 6, "y" : 72, "tooltip_text" : "Depozit", "default_image" : "locale/es/ui/depozit1.tga", "over_image" : "locale/es/ui/depozit2.tga", "down_image" : "locale/es/ui/depozit2.tga", }, { "name" : "tombola_button", "type" : "button", "x" : 6, "y" : 105, "tooltip_text" : "Tombola", "default_image" : "locale/es/ui/buton_tombola1.tga", "over_image" : "locale/es/ui/buton_tombola2.tga", "down_image" : "locale/es/ui/buton_tombola2.tga", }, ), }, { "name" : "board", "type" : "board", "style" : ("attach",), "x" : 0, "y" : 0, "width" : 176, "height" : 576, "children" : ( ## Title { "name" : "TitleBar", "type" : "titlebar", "style" : ("attach",), "x" : 8, "y" : 7, "width" : 166, "color" : "yellow", "children" : ( { "name":"TitleName", "type":"text", "x":77, "y":3, "text":uiScriptLocale.INVENTORY_TITLE, "text_horizontal_align":"center" }, ), }, ## Equipment Slot { "name" : "Equipment_Base", "type" : "image", "x" : 7, "y" : 26, "image" : "d:/ymir work/ui/equipment_bg_without_ring.tga", "children" : ( { "name" : "EquipmentSlot", "type" : "slot", "x" : 3, "y" : 3, "width" : 150, "height" : 176, "slot" : ( {"index":EQUIPMENT_START_INDEX+0, "x":39, "y":37, "width":32, "height":64}, {"index":EQUIPMENT_START_INDEX+1, "x":39, "y":2, "width":32, "height":32}, {"index":EQUIPMENT_START_INDEX+2, "x":39, "y":145, "width":32, "height":32}, {"index":EQUIPMENT_START_INDEX+3, "x":75, "y":67, "width":32, "height":32}, {"index":EQUIPMENT_START_INDEX+4, "x":3, "y":3, "width":32, "height":96}, {"index":EQUIPMENT_START_INDEX+5, "x":114, "y":67, "width":32, "height":32}, {"index":EQUIPMENT_START_INDEX+6, "x":114, "y":35, "width":32, "height":32}, {"index":EQUIPMENT_START_INDEX+7, "x":2, "y":145, "width":32, "height":32}, {"index":EQUIPMENT_START_INDEX+8, "x":75, "y":145, "width":32, "height":32}, {"index":EQUIPMENT_START_INDEX+9, "x":114, "y":2, "width":32, "height":32}, {"index":EQUIPMENT_START_INDEX+10, "x":75, "y":35, "width":32, "height":32}, {"index":item.EQUIPMENT_BELT, "x":39, "y":106, "width":32, "height":32}, ), }, ## Dragon Soul Button { "name" : "DSSButton", "type" : "button", "x" : 114, "y" : 107, "tooltip_text" : "Deschide Alchimie", "default_image" : "d:/ymir work/ui/dragonsoul/dss_inventory_button_01.tga", "over_image" : "d:/ymir work/ui/dragonsoul/dss_inventory_button_02.tga", "down_image" : "d:/ymir work/ui/dragonsoul/dss_inventory_button_03.tga", }, ## Offline Shop Button { "name" : "OfflineShopButton", "type" : "button", "x" : 77, "y" : 109, "tooltip_text" : uiScriptLocale.TASKBAR_OFFLINE_SHOP, "default_image" : "locale/es/offlineshop/boton1.tga", "over_image" : "locale/es/offlineshop/boton2.tga", "down_image" : "locale/es/offlineshop/boton1.tga", }, ## MallButton { "name" : "MallButton", "type" : "button", "x" : 118, "y" : 148, "tooltip_text" : uiScriptLocale.MALL_TITLE, "default_image" : "d:/ymir work/ui/game/TaskBar/Mall_Button_01.tga", "over_image" : "d:/ymir work/ui/game/TaskBar/Mall_Button_02.tga", "down_image" : "d:/ymir work/ui/game/TaskBar/Mall_Button_03.tga", }, { "name" : "BancaYang", "type" : "button", "x" : 3, "y" : 109, "tooltip_text" : "Banca Yang", "default_image" : "locale/es/ui/banca_buton1.tga", "over_image" : "locale/es/ui/banca_buton2.tga", "down_image" : "locale/es/ui/banca_buton2.tga", }, ## CostumeButton { "name" : "CostumeButton", "type" : "button", "x" : 78, "y" : 5, "tooltip_text" : uiScriptLocale.COSTUME_TITLE, "default_image" : "d:/ymir work/ui/game/taskbar/costume_Button_01.tga", "over_image" : "d:/ymir work/ui/game/taskbar/costume_Button_02.tga", "down_image" : "d:/ymir work/ui/game/taskbar/costume_Button_03.tga", }, { "name" : "Equipment_Tab_01", "type" : "radio_button", "x" : 86, "y" : 161, "default_image" : "d:/ymir work/ui/game/windows/tab_button_small_01.sub", "over_image" : "d:/ymir work/ui/game/windows/tab_button_small_02.sub", "down_image" : "d:/ymir work/ui/game/windows/tab_button_small_03.sub", "children" : ( { "name" : "Equipment_Tab_01_Print", "type" : "text", "x" : 0, "y" : 0, "all_align" : "center", "text" : "I", }, ), }, { "name" : "Equipment_Tab_02", "type" : "radio_button", "x" : 86 + 32, "y" : 161, "default_image" : "d:/ymir work/ui/game/windows/tab_button_small_01.sub", "over_image" : "d:/ymir work/ui/game/windows/tab_button_small_02.sub", "down_image" : "d:/ymir work/ui/game/windows/tab_button_small_03.sub", "children" : ( { "name" : "Equipment_Tab_02_Print", "type" : "text", "x" : 0, "y" : 0, "all_align" : "center", "text" : "II", }, ), }, ), }, { "name" : "Inventory_Tab_01", "type" : "radio_button", "x" : 7, "y" : 33 + 180, "default_image" : "d:/ymir work/ui/game/windows/tab_button_small_01.sub", "over_image" : "d:/ymir work/ui/game/windows/tab_button_small_02.sub", "down_image" : "d:/ymir work/ui/game/windows/tab_button_small_03.sub", "tooltip_text" : uiScriptLocale.INVENTORY_PAGE_BUTTON_TOOLTIP_1, "children" : ( { "name" : "Inventory_Tab_01_Print", "type" : "text", "x" : 0, "y" : 0, "all_align" : "center", "text" : "I", }, ), }, { "name" : "Inventory_Tab_02", "type" : "radio_button", "x" : 13 + 27, "y" : 33 + 180, "default_image" : "d:/ymir work/ui/game/windows/tab_button_small_01.sub", "over_image" : "d:/ymir work/ui/game/windows/tab_button_small_02.sub", "down_image" : "d:/ymir work/ui/game/windows/tab_button_small_03.sub", "tooltip_text" : uiScriptLocale.INVENTORY_PAGE_BUTTON_TOOLTIP_2, "children" : ( { "name" : "Inventory_Tab_02_Print", "type" : "text", "x" : 0, "y" : 0, "all_align" : "center", "text" : "II", }, ), }, { "name" : "Inventory_Tab_03", "type" : "radio_button", "x" : 13 + 57, "y" : 33 + 180, "default_image" : "d:/ymir work/ui/game/windows/tab_button_small_01.sub", "over_image" : "d:/ymir work/ui/game/windows/tab_button_small_02.sub", "down_image" : "d:/ymir work/ui/game/windows/tab_button_small_03.sub", "tooltip_text" : "3.Inventar", "children" : ( { "name" : "Inventory_Tab_03_Print", "type" : "text", "x" : 0, "y" : 0, "all_align" : "center", "text" : "III", }, ), }, { "name" : "Inventory_Tab_04", "type" : "radio_button", "x" : 13 + 87, "y" : 33 + 180, "default_image" : "d:/ymir work/ui/game/windows/tab_button_small_01.sub", "over_image" : "d:/ymir work/ui/game/windows/tab_button_small_02.sub", "down_image" : "d:/ymir work/ui/game/windows/tab_button_small_03.sub", "tooltip_text" : "4.Inventar", "children" : ( { "name" : "Inventory_Tab_04_Print", "type" : "text", "x" : 0, "y" : 0, "all_align" : "center", "text" : "IV", }, ), }, ## Item Slot { "name" : "ItemSlot", "type" : "grid_table", "x" : 8, "y" : 246, "start_index" : 0, "x_count" : 5, "y_count" : 9, "x_step" : 32, "y_step" : 32, "image" : "d:/ymir work/ui/public/Slot_Base.sub" }, ## Print # { # "name" : "Switchbot", # "type" : "button", # "x" : 169, # "y" : 37, # "tooltip_text" : "Schimba bonus", # "default_image" : "locale/es/ui/switcher1.tga", # "over_image" : "locale/es/ui/switcher2.tga", # "down_image" : "locale/es/ui/switcher2.tga", # }, # { # "name" : "PaginaBonusuri", # "type" : "button", # "x" : 169, # "y" : 74, # "tooltip_text" : "Bonusuri", # "default_image" : "locale/es/ui/bp1.tga", # "over_image" : "locale/es/ui/bp2.tga", # "down_image" : "locale/es/ui/bp2.tga", # }, { "name":"Money_Slot", "type":"button", "x":37, "y":28+14, "horizontal_align":"center", "vertical_align":"bottom", "default_image" : "d:/ymir work/ui/public/parameter_slot_03.sub", "over_image" : "d:/ymir work/ui/public/parameter_slot_03.sub", "down_image" : "d:/ymir work/ui/public/parameter_slot_03.sub", "children" : ( { "name":"Money_Icon", "type":"image", "x":-14, "y":2, "image":"d:/ymir work/ui/game/windows/money_icon.sub", }, { "name" : "Money", "type" : "text", "x" : 3, "y" : 3, "horizontal_align" : "right", "text_horizontal_align" : "right", "text" : "123456789", }, ), }, { "name":"Pct_Slot", "type":"button", "x":-48, "y":28+14, "horizontal_align":"center", "vertical_align":"bottom", "default_image" : "d:/ymir work/ui/public/parameter_slot_01.sub", "over_image" : "d:/ymir work/ui/public/parameter_slot_01.sub", "down_image" : "d:/ymir work/ui/public/parameter_slot_01.sub", "children" : ( { "name":"Pct_Icon", "type":"image", "x":-14, "y":2, "image" : "locale/es/ui/puncte.sub", }, { "name" : "Pct", "type" : "text", "x" : 3, "y" : 3, "horizontal_align" : "right", "text_horizontal_align" : "right", "text" : "123456789 PCT", }, ), }, { "name":"Banca_Slot", "type":"button", "x":4, "y":25, "horizontal_align":"center", "vertical_align":"bottom", "default_image" : "locale/es/ui/banca.sub", "over_image" : "locale/es/ui/banca.sub", "down_image" : "locale/es/ui/banca.sub", "children" : ( { "name":"Banca_Icon", "type":"image", "x":-14, "y":2, "image":"locale/es/ui/banca_sign.sub", }, { "name" : "Banca", "type" : "text", "x" : 3, "y" : 3, "horizontal_align" : "right", "text_horizontal_align" : "right", "text" : "123456789 Yang in Banca", }, ), }, ), }, ), }
  15. Hello! First of all this example: CH1: 1 3 4 5 21 23 24 25 26 41 43 44 45 61 62 63 64 65 66 67 68 69 70 71 72 73 81 103 104 105 107 108 109 110 111 CH99: 113 114 118 119 120 121 122 123 124 125 126 127 128 181 182 183 193 206 207 212 213 215 216 217 218 240 250 Good , think about if I want to transfer me with a portal from map 1 to map 21. Every time you will transfer from a map to other map with a portal you will see a loading screen. But , these maps are on same channel and same core so , how i can make the transfer like this function from dungeons d.new_jump(mapindex, xcoord, ycoord)? If we go in game source we can copy this function d.new_jump and remake it as pc.new_jump without this condition if pc.in_dungeon , this will jump peoples directly from a map to other map without loading screen if maps are on same channel and same core. So this is real question , how i can change function warp from portals to become pc.new_jump ? In short : I want to get rid of loading bar when peoples teleport , i want this bar to appear only when you move from ch1 map to ch99 map.