Jump to content

ATAG

Active Member
  • Posts

    236
  • Joined

  • Last visited

  • Days Won

    1
  • Feedback

    0%

Posts posted by ATAG

  1. 4 hours ago, Metin2GH said:

    hi how to solve ietm_proto.txt

     

    any modification in item_proto.txt i get error mor exactly dis error

     

    SYSERR: Apr 15 06:06:53 :: Set_Proto_Item_Table: ItemProto Reading Failed : Invalid value. (index: 2, col: 2, value: MATERIAL_LEATHER)
    SYSERR: Apr 15 06:06:53 :: Set_Proto_Item_Table:     0 ~ 2 Values: 85000,0,

     

     

    i put in protoreader.cpp material_lether but dis flas is already here

     

     

    Did you look at that line in item_proto?

    85000	?????ITEM_MATERIAL	MATERIAL_LEATHER	1	ANTI_DROP | ANTI_SELL | ANTI_PKDROP | ANTI_MYSHOP | ANTI_GIVE | ANTI_SAFEBOX	ITEM_STACKABLE	NONE	NONE	0	0	0	0	0	LIMIT_NONE	0	LIMIT_NONE	0	APPLY_NONE	0	APPLY_NONE	0	APPLY_NONE	0	0	0	0	0	0	0	0	0	0

    There's a missing tab between the name and the type, should be: ??????    ITEM_MATERIAL

     

    ...just guessing 🙂

  2. On 3/29/2023 at 2:48 AM, ATAG said:

    A quick fix on the target.vid quest function:

    in game/target.cpp

    search:

    #if defined(BL_PRIVATESHOP_SEARCH_SYSTEM)
    		case TARGET_TYPE_VID_SHOP_SEARCH:
    #endif
    			{
    				tch = CHARACTER_MANAGER::instance().Find(info->iArg1);

    add the missing "case TARGET_TYPE_VID :"

    #if defined(BL_PRIVATESHOP_SEARCH_SYSTEM)
    		case TARGET_TYPE_VID_SHOP_SEARCH:
    #endif
    		case TARGET_TYPE_VID:
    			{
    				tch = CHARACTER_MANAGER::instance().Find(info->iArg1);

    spacer.png

    Another fix, to make the target.pos working again:

    game/target.cpp

    search for

    pck.lID = iID;
    pck.lX = x;
    #if defined(BL_PRIVATESHOP_SEARCH_SYSTEM)
    pck.bIsShopSearch = bIsShopSearch;
    #endif

    And add the missing (deleted) y coord

    pck.lID = iID;
    pck.lX = x;
    pck.lY = y;
    #if defined(BL_PRIVATESHOP_SEARCH_SYSTEM)
    pck.bIsShopSearch = bIsShopSearch;
    #endif

     

    • Love 1
  3. Maybe a dumb question, but is there any way to "pop up" a quest scroll?

    levelup.quest stopped working after the upgrade. The makequestbutton function is dead by itself, but send_letter works. This way it is unable to use the 'when info begin' event 😞 Maybe i missed something?

  4. On 1/21/2023 at 8:15 PM, ReFresh said:

    Check the spoiler, it's directly copied from the files, which I edited.

    Already tried and still 0 output when the mine event starts.

    In test mode there's an error message:

    Quote

    HandleReceiveAllEvent: QUEST There's suspended quest state, can't run new quest state (quest: mining pc: Admin)

    Btw since the pc.mining() triggers the mining event (from the quest) you don't need to create a new  event for it, you can run your code directly from mining.quest 😄

    Here is an example what i am talking about:

    new_event_test.quest

    quest new_event_test begin
    	state start begin
    		function mine()
    			notice("You are mining :)")
    		end
    		when fish begin
    				...

    mining.quest

    		...
    		when 20047.click or 20048.click or 20049.click or 20050.click or 20051.click or 20052.click
    			or 20053.click or 20054.click or 20055.click or 20056.click or 20057.click or 20058.click 
    			or 20059.click or 30301.click or 30302.click or 30303.click or 30304.click or 30305.click 
    		begin
    			if pc.is_mount() != true then
    				new_event_test.mine()
    				pc.mining()
    			end
    		end
    		...

    You have to add new_event_test.mine to quest_functions, and it works like a charm 🙂

    • Metin2 Dev 1
  5. On 2/25/2023 at 11:27 PM, Lima said:

    dumb question here, how do you @ Mali get to have the client open and the live editing on vstudio? i cant find the option to get the proccess [10804] Metin2Debug.exe

    I am new to this, if there is a guide on this already, could you point it? I must admit this is a bit overwhelming to start

    Change (UserInterface->Settings) your output directory to your client directory

    Spoiler

    spacer.png

    OR copy your whole client to your output directory (i prefer this one), then

    spacer.png

    • Metin2 Dev 1
  6. On 3/1/2023 at 10:59 AM, marinebun said:

    My client closes after choosing a character.

    Client syserr:

      Reveal hidden contents

    0301 11:56:24571 :: Failed to load script file : UIScript/CharacterWindow.py
    0301 11:56:24572 :: 
    ui.py(line:2863) LoadScriptFile
    system.py(line:192) execfile
    system.py(line:163) Run
    UIScript/CharacterWindow.py(line:1749) <module>

    LoadScriptFile!!!!!!!!!!!!!! - <type 'exceptions.AttributeError'>:'module' object has no attribute 'CHARACTER_SPECTIAL_ACTION'

    0301 11:56:24572 :: ============================================================================================================
    0301 11:56:24572 :: Abort!!!!


    0301 11:56:24572 :: 
    uiCharacter.py(line:1130) __LoadWindow
    uiCharacter.py(line:876) __LoadScript
    ui.py(line:2880) LoadScriptFile
    exception.py(line:36) Abort

    CharacterWindow.__LoadWindow - <type 'exceptions.SystemExit'>:

    0301 11:56:24572 :: ============================================================================================================
    0301 11:56:24572 :: Abort!!!!

    solved by adding "CHARACTER_SPECTIAL_ACTION    Special Actions" to locale_interface.txt and deleting 2x SPECIAL_ACTION_START_INDEX from characterwindow.py

    app.SPECIAL_ACTION_START_INDEX is 101, you can replace it instead of deleting... 🙂

    • Love 1
  7. 10 hours ago, Metin2GH said:

    hi... when i add somthing to item_proto allways i get dis error  but i never add soamnthing whit MATERIAL_LEATHER

     

    SYSERR: Apr  1 00:26:09 :: Set_Proto_Item_Table: ItemProto Reading Failed : Invalid value. (index: 2, col: 2, value: MATERIAL_LEATHER)
    SYSERR: Apr  1 00:26:09 :: Set_Proto_Item_Table:     0 ~ 2 Values: 85000,0,
     

    The data you try to add is wrong, maybe you should post it here 🙂

  8. On 5/29/2021 at 9:59 PM, ByLost said:

    Hello Devs!

    I had some problems with the paypal. 
    Payments were being completed but the cash/md was not being delivered.
    Until I found the solution.

    Problem:
    spacer.png

     

    The solution is very simple, you need to think first that every payment has a status.
    So here we see all the payment statusof the paypal.

    https://www.masonadventures.com/paypal-payment-status/#:~:text=Pending – PayPal is reviewing the,d like to cancel it.

    And check "On hold and Temporary hold"

    This security status is for the paypal whether your transaction actually occurred and the product was delivered.
    This can occur primarily if your account is NEW.

    For our case, the service is digital and delivery needs to be made. Payment is only released after a few days or manually.

     

    Solution:

    check your script paument "Paypal" = Completed
     


    Change to
     



    Enjoy :)
    ps: usage Translator xD

    Also can use the 'Refunded' status flag to reduce the cash balance 🙂

  9. On 3/17/2023 at 5:05 PM, gergogonczi said:

    Nice work!
     

    Does anyone have a solution for this? 

    1. Quest scrolls disappear when changing characters.
    2. Server compile (llvm-devel) it runs into an error.

    Sorry for the english!

    Thank you in advance for your help!

    After hours of searching for what was causing the first (quest scroll) problem, I couldn't figure it out, but I found a dirty workaround. Use it at your own risk 🙂

    In root/interfacemodule.py search:

    	def __del__(self):
    		systemSetting.DestroyInterfaceHandler()
    		event.SetInterfaceWindow(None)

     

    And change it to:

    	def __del__(self):
    		systemSetting.DestroyInterfaceHandler()
    		#event.SetInterfaceWindow(None)

    It doesn't solve the problem, just bypasses it!

    • Love 1
  10. A quick fix on the target.vid quest function:

    in game/target.cpp

    search:

    #if defined(BL_PRIVATESHOP_SEARCH_SYSTEM)
    		case TARGET_TYPE_VID_SHOP_SEARCH:
    #endif
    			{
    				tch = CHARACTER_MANAGER::instance().Find(info->iArg1);

    add the missing "case TARGET_TYPE_VID :"

    #if defined(BL_PRIVATESHOP_SEARCH_SYSTEM)
    		case TARGET_TYPE_VID_SHOP_SEARCH:
    #endif
    		case TARGET_TYPE_VID:
    			{
    				tch = CHARACTER_MANAGER::instance().Find(info->iArg1);

    spacer.png

    • Love 1
    • Love 1
  11. Open db/src/ClientManager.cpp

     

    In function CClientManager::RESULT_SAFEBOX_LOAD look for:

    					if (pItemTable->bType == ITEM_UNIQUE)
    					{
    						if (pItemAward->dwSocket2 != 0)
    							dwSocket2 = pItemAward->dwSocket2;
    						else
    							dwSocket2 = pItemTable->alValues[0];
    					}
    					else if ((dwItemVnum == 50300 || dwItemVnum == 70037) && pItemAward->dwSocket0 == 0)
    
    

    And edit like below:

    					if (pItemTable->bType == ITEM_UNIQUE)
    					{
    						if (pItemAward->dwSocket2 != 0)
    							dwSocket2 = pItemAward->dwSocket2;
    						else
    							dwSocket2 = pItemTable->alValues[0];
    					}
    					else if (pItemTable->bType == ITEM_WEAPON || pItemTable->bType == ITEM_ARMOR)
    					{
    						dwSocket2 = pItemAward->dwSocket2;
    					}
    					else if ((dwItemVnum == 50300 || dwItemVnum == 70037) && pItemAward->dwSocket0 == 0)
    
    
  12. This quest is wrong. Use the original one.

    quest chagne_name begin
    	state start begin
    		when 71055.use begin
    			if pc.is_married() then
    				say("You cannot change your name if you are married.")
    				say("")
    				return
    			end
    
    			if pc.is_polymorphed() then
    				say("You cannot change your name if you are transformed.")
    				say("")
    				return
    			end
    
    			if pc.has_guild() then
    				say("You cannot change your name if you are in a guild. ")
    				say("")
    				return
    			end
    
    			if party.is_party() then
    				say("You cannot change your name if you are in a party.")
    				say("")
    				return
    			end
    
    			if pc.get_level() < 35 then
    				say("You need level 35 to change your name!")
    				say("")
    				return
    			end
    
    			if get_time() < pc.getqf("next_time") then
    				say("You can not use it now.")
    				say("")
    
    				if is_test_server() == true then
    					say("Since it's test server, you can go")
    					say("")
    				else
    					return
    				end
    			end
    
    			say("Please enter the name you want to have") ;
    
    			local name = pc.name ;
    			local str = input() ;
    			if string.len(str) > 16 then
    				say("This name is too long. Please try again.")
    				say("")
    				return
    				
    			end
    			local ret = pc.change_name(str) ;
    
    			if ret == 0 then
    				say("You didn't log in after you have changed your name.")
    				say("please re-log in.")
    				say("")
    
    				char_log(0, "CHANGE_NAME", "HAVE NOT RE-LOGIN")
    			elseif ret == 1 then
    				say("The problem occured while using the item.")
    				say("Please use again.")
    				say("")
    				
    				char_log(0, "CHANGE_NAME", "ITEM USE PROBLEM")
    			elseif ret == 2 then
    				say("The name is not available.")
    				say("Please enter other name.")
    				say("")
    
    				char_log(0, "CHANGE_NAME", "CAN NOT USE NAME")
    			elseif ret == 3 then
    				say("The name is not available.")
    				say("Please enter other name.")
    				say("")
    
    				char_log(0, "CHANGE_NAME", "ALREADY USING NAME")
    			elseif ret == 4 then
    				say("You have changed your name successfully.")
    				say("Please log in again.")
    				say("")
    
    				item.remove() ;
    
    				pc.setqf("next_time", get_time() + time_hour_to_sec(24*15))
    
    				char_log(0, "CHANGE_NAME", "SUCCESS: from "..name.." to "..str)
    			else
    				say("Unknown error occured.")
    				say("")
    
    				char_log(0, "CHANGE_NAME", "UNKNOWN NAME")
    			end
    		end
    	end
    end
    
    
    
×
×
  • 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.