Jump to content

narcisxb

Inactive Member
  • Posts

    113
  • Joined

  • Last visited

  • Feedback

    0%

Posts posted by narcisxb

  1. Hi!

    I'm trying to add official character details (bonus page) and I m getting this error.
     

    0317 00:38:44680 :: Traceback (most recent call last):
    
    0317 00:38:44680 ::   File "game.py", line 1216, in OnKeyDown
    
    0317 00:38:44681 ::   File "game.py", line 369, in <lambda>
    
    0317 00:38:44681 ::   File "interfaceModule.py", line 1011, in ToggleCharacterWindow
    
    0317 00:38:44682 ::   File "interfaceModule.py", line 1025, in OpenCharacterWindowWithState
    
    0317 00:38:44682 ::   File "uiCharacter.py", line 874, in Show
    
    0317 00:38:44682 ::   File "uiCharacter.py", line 1103, in __InitCharacterDetailsUIButton
    
    0317 00:38:44682 :: AttributeError
    0317 00:38:44682 :: : 
    0317 00:38:44683 :: 'CharacterWindow' object has no attribute 'ExpandBtn'
    0317 00:38:44683 :: 


    Any idea why?
     

  2. On 3/1/2023 at 11:59 AM, marinebun said:

    My client closes after choosing a character.

    Client syserr:

      Hide 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

    This issue appears because he has a different character window. He has Yohara and Champion level added to it.
    All you have to do is delete those parts and add back the Emoticon window down below the Skill window.

    You can get it from a basic client that does not have the new Champion Level refresh added and it works fine without deleting anything.

    • Love 2
  3. Hi!

    So I just added these new functions to the client source and root.

    Now my client crashes at login. After typing my account credentials and hitting "enter" it goes to "successful connection" and then the client closes. It won t reach character selection phase.
    Syserr is empty on both client and server.
    I tried debugging with vs2022, and I can get it to log in, select character and even get into the game while running debug, but I do get some write memory violation errors.
    Anyone knows what the problem might be?!
    I double checked and did everything as instructed.
     

  4. 43 minutes ago, blanco said:

    the client doesn't support characters like ș and ț (ă â î work fine if i'm not mistaken)

    you're gonna have to use the turkish alternatives, which work just fine: ş and ţ

    the client works just fine, item names for example show those characters.
    It s those server files that just won't save with the correct encoding.
    The issue affects only quest names and text and other strings like NPCs text and NPCs dialogue!

    This is not a client issue.

    Also does anyone know how to completely get rid of dragon soul? (ctrl+o hotkey, button and quest)

  5. On 2/23/2023 at 12:23 PM, Alessio said:

    i found a way to edit the value of bonus on the server side but it isn't enough, i'm trying to change also the values on the client side but i can't open the file Item_proto, if i try to open it with notepad++ it's like encrypted and i can't find any program to open it, anyone know what should i do?

    hey @Alessio

    you just modify the bonuses in item_proto.txt, but next, you will need to have the dump_proto source that usually comes with the client source.
    If you don t have it you can just get one from the net but you might have to make some additional modifications to the source code before compiling it so that your item_proto client side has the same fields as your item_proto.txt serverside.

    Finally, you just compile the dump_proto source, drag item_proto.txt and item_names.txt over the executable (that results from compiling) and it will generate the item_proto for the client side.

    • Good 1
  6. 3 hours ago, TMP4 said:

    Then it is a FreeBSD error most likely. To make things easy I would make a backup via backup.sh then redownload the vdi and restoring your backup.

    Welp it turns out your backup command creates a src folder but does not backup the actual source files. As I just deleted a months worth of work on the source now I m just going to go fkin kill (shot or hang - not decided as of yet -) myself in the livingroom.

  7. 7 minutes ago, CjMt2 said:

    See syslog, syserr form any channel. /var/crash it is with problems from bsd not from metin server

    I literally don t have any syserr or syslog in any of them. I can t even start the server, as soon as I type start and select channel number it dumps stuff in var/crash and reboots freebsd. Any ideea what I m doing wroing? It worked great until last night and this morning I got this crash. 😕

    6 minutes ago, TMP4 said:

    But did you edit the game-db? It really shouldn't crash with default things.

    I added a bunch of stuff (mainly malis and p3nger) but I always did a lot of testing and made sure everything worked. Last night I had 0 errors but this morning I just started getting this crash. 

    I get this: 

    ...
    savecore 560 - - reboot after panic: ffs_write: type 0x19307360 0 (0,57)
    savecore 560 - - writting core to /var/crash/vmcore.0
    Writing crash summary to /var/crash/core.txt.0
    ...
    
  8. 2 hours ago, CsanMag said:

    You need to look for their current version. You can use google. Like auto_ptr - > unique_ptr and i think the bind1st is just std::bind and mem_fun not needed when you use std:bind...

    I did just that and it compiled. (replaced auto ptr with unique ptr and used bind)

    But I have the following issues:

    Any ideea why I get the same messages no matter if player 1 blocks player 2? (Player 1 block Player2 and Player2 gets this: You can t do this action because you blocked Player 1. Even tho Player1 is the one who blocked Player2 and Player2 should get: You can t do this action because Player1 blocked you?

    • Love 1
  9. Hi I want to add this (Whisper Information in Whisper System)script to my server but I have an issue with this part:

    I have this in input_main:

    /*Info*/
    			TPacketGCWhisper pack;
    			int len = MIN(CHAT_MAX_LEN, strlen(msg) + 1);
    			pack.bHeader = HEADER_GC_WHISPER;
    			pack.wSize = static_cast<WORD>(sizeof(TPacketGCWhisper) + len);
    			pack.bType = WHISPER_TYPE_SYSTEM;
    			strlcpy(pack.szNameFrom, pinfo->szNameTo, sizeof(pack.szNameFrom));
    
    			TEMP_BUFFER buf;
    			buf.write(&pack, sizeof(TPacketGCWhisper));
    			buf.write(msg, len);
    			ch->GetDesc()->Packet(buf.read_peek(), buf.size());
    
    			#else
    			TPacketGCWhisper pack;
    			pack.bHeader = HEADER_GC_WHISPER;
    			pack.bType = WHISPER_TYPE_NOT_EXIST;
    			pack.wSize = sizeof(TPacketGCWhisper);
    			strlcpy(pack.szNameFrom, pinfo->szNameTo, sizeof(pack.szNameFrom));
    			ch->GetDesc()->Packet(&pack, sizeof(TPacketGCWhisper));
    			sys_log(0, "WHISPER: no player");
    			#endif

    I have to add this:

    //Find
    			ch->GetDesc()->Packet(&pack, sizeof(TPacketGCWhisper));
    			sys_log(0, "WHISPER: no player");
    		
    ///Change
    #ifdef ENABLE_WHISPER_RENEWAL			
    			char buf[CHAT_MAX_LEN + 1];
    			strlcpy(buf, data + sizeof(TPacketCGWhisper), MIN(iExtraLen + 1, sizeof(buf)));
    			if (!(std::string(buf).find("|?whisper_renewal>|") != std::string::npos || std::string(buf).find("|?whisper_renewal<|") != std::string::npos)) {
    				ch->GetDesc()->Packet(&pack, sizeof(TPacketGCWhisper));
    				sys_log(0, "WHISPER: no player");
    			}
    #else
    			ch->GetDesc()->Packet(&pack, sizeof(TPacketGCWhisper));
    			sys_log(0, "WHISPER: no player");
    #endif

    I tried my best to to no result. I get compiler errors. 

    Any ideeas?

  10. On 11/3/2021 at 10:34 PM, narcisxb said:

    I have this in input_main:

    			/*Info*/
    			TPacketGCWhisper pack;
    			int len = MIN(CHAT_MAX_LEN, strlen(msg) + 1);
    			pack.bHeader = HEADER_GC_WHISPER;
    			pack.wSize = static_cast<WORD>(sizeof(TPacketGCWhisper) + len);
    			pack.bType = WHISPER_TYPE_SYSTEM;
    			strlcpy(pack.szNameFrom, pinfo->szNameTo, sizeof(pack.szNameFrom));
    
    			TEMP_BUFFER buf;
    			buf.write(&pack, sizeof(TPacketGCWhisper));
    			buf.write(msg, len);
    			ch->GetDesc()->Packet(buf.read_peek(), buf.size());
    
    			#else
    			TPacketGCWhisper pack;
    			pack.bHeader = HEADER_GC_WHISPER;
    			pack.bType = WHISPER_TYPE_NOT_EXIST;
    			pack.wSize = sizeof(TPacketGCWhisper);
    			strlcpy(pack.szNameFrom, pinfo->szNameTo, sizeof(pack.szNameFrom));
    			ch->GetDesc()->Packet(&pack, sizeof(TPacketGCWhisper));
    			sys_log(0, "WHISPER: no player");
    			#endif

    How do I insert this part:

    //Find
    			ch->GetDesc()->Packet(&pack, sizeof(TPacketGCWhisper));
    			sys_log(0, "WHISPER: no player");
    		
    ///Change
    #ifdef ENABLE_WHISPER_RENEWAL			
    			char buf[CHAT_MAX_LEN + 1];
    			strlcpy(buf, data + sizeof(TPacketCGWhisper), MIN(iExtraLen + 1, sizeof(buf)));
    			if (!(std::string(buf).find("|?whisper_renewal>|") != std::string::npos || std::string(buf).find("|?whisper_renewal<|") != std::string::npos)) {
    				ch->GetDesc()->Packet(&pack, sizeof(TPacketGCWhisper));
    				sys_log(0, "WHISPER: no player");
    			}
    #else
    			ch->GetDesc()->Packet(&pack, sizeof(TPacketGCWhisper));
    			sys_log(0, "WHISPER: no player");
    #endif

    No matter what I try I get compiler error... 😕

    Any ideea? Still does not work.

  11. 38 minutes ago, Hunger said:

    The code above has nothing to do with the adding chance 😄

    I literally tested the code. As soon as I commented it I could add 6/7 again. (I tested it two or three times). With this fix tou can t add 6/7 (it always fails) using that system. Give it a try yourself I was just as surprised.

  12. I have this in input_main:

    			/*Info*/
    			TPacketGCWhisper pack;
    			int len = MIN(CHAT_MAX_LEN, strlen(msg) + 1);
    			pack.bHeader = HEADER_GC_WHISPER;
    			pack.wSize = static_cast<WORD>(sizeof(TPacketGCWhisper) + len);
    			pack.bType = WHISPER_TYPE_SYSTEM;
    			strlcpy(pack.szNameFrom, pinfo->szNameTo, sizeof(pack.szNameFrom));
    
    			TEMP_BUFFER buf;
    			buf.write(&pack, sizeof(TPacketGCWhisper));
    			buf.write(msg, len);
    			ch->GetDesc()->Packet(buf.read_peek(), buf.size());
    
    			#else
    			TPacketGCWhisper pack;
    			pack.bHeader = HEADER_GC_WHISPER;
    			pack.bType = WHISPER_TYPE_NOT_EXIST;
    			pack.wSize = sizeof(TPacketGCWhisper);
    			strlcpy(pack.szNameFrom, pinfo->szNameTo, sizeof(pack.szNameFrom));
    			ch->GetDesc()->Packet(&pack, sizeof(TPacketGCWhisper));
    			sys_log(0, "WHISPER: no player");
    			#endif

    How do I insert this part:

    //Find
    			ch->GetDesc()->Packet(&pack, sizeof(TPacketGCWhisper));
    			sys_log(0, "WHISPER: no player");
    		
    ///Change
    #ifdef ENABLE_WHISPER_RENEWAL			
    			char buf[CHAT_MAX_LEN + 1];
    			strlcpy(buf, data + sizeof(TPacketCGWhisper), MIN(iExtraLen + 1, sizeof(buf)));
    			if (!(std::string(buf).find("|?whisper_renewal>|") != std::string::npos || std::string(buf).find("|?whisper_renewal<|") != std::string::npos)) {
    				ch->GetDesc()->Packet(&pack, sizeof(TPacketGCWhisper));
    				sys_log(0, "WHISPER: no player");
    			}
    #else
    			ch->GetDesc()->Packet(&pack, sizeof(TPacketGCWhisper));
    			sys_log(0, "WHISPER: no player");
    #endif

    No matter what I try I get compiler error... 😕

  13. 20 hours ago, Aerrow said:

    There is an exploit in the system, probably this is why ymir refused to use it. If you fulfill the required stat, then you just switch your gear, so you no longer fulfill it, the game not auto unequip the item. Currently I'm looing for solutions to fix this.

    Just save the stat points added by the player leveling up instead of counting those added by gear and use that to chek if player has enough. Or do something like add the stats given by gear in a different place. 

×
×
  • 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.