Jump to content

3bd0

Inactive Member
  • Posts

    194
  • Joined

  • Last visited

  • Days Won

    1
  • Feedback

    0%

Posts posted by 3bd0

  1. Hey guys,

    I'm discovered a very strange problem with my weapon costumes,

    If I travel/logout/change character while equipping them, the core crashes, If I just wear them without doing any of the previous, nothing happens 

    I've tried to know the source of the problem but with no luck

    the best I could do is that the core crashes when it try to do:

        M2_DELETE(ch);

    in CHARACTER_MANAGER::DestroyCharacter (char_maanger.cpp)

    as I understand, this command deletes the pointer to the character , I don't understand why would wearing a weapon costume may affect that!

     

  2. 			if app.ENABLE_CHANGELOOK_SYSTEM:
    				slotClNumberChecked = 0
    			if app.ENABLE_SASH_SYSTEM:
    				slotNumberChecked = 0
    				if not constInfo.IS_AUTO_POTION(itemVnum):
    					self.wndItem.DeactivateSlot(i)
    						
    				for q in xrange(changelook.WINDOW_MAX_MATERIALS):
    					(isHere, iCell) = changelook.GetAttachedItem(q)
    					if isHere:
    						if iCell == slotNumber:
    							self.wndItem.ActivateSlot(i, (238.00 / 255.0), (11.00 / 255.0), (11.00 / 255.0), 1.0)
    							if not slotNumber in self.listAttachedCl:
    								self.listAttachedCl.append(slotNumber)
    							
    							slotClNumberChecked = 1
    					else:
    						if slotNumber in self.listAttachedCl and not slotClNumberChecked:
    							self.wndItem.DeactivateSlot(i)
    							self.listAttachedCl.remove(slotNumber)
    				for j in xrange(sash.WINDOW_MAX_MATERIALS):
    					(isHere, iCell) = sash.GetAttachedItem(j)
    					if isHere:
    						if iCell == slotNumber:
    							self.wndItem.ActivateSlot(i, (36.00 / 255.0), (222.00 / 255.0), (3.00 / 255.0), 1.0)
    							if not slotNumber in self.listAttachedSashs:
    								self.listAttachedSashs.append(slotNumber)
    							
    							slotNumberChecked = 1
    					else:
    						if slotNumber in self.listAttachedSashs and not slotNumberChecked:
    							self.wndItem.DeactivateSlot(i)
    							self.listAttachedSashs.remove(slotNumber)

     

    • Love 1
  3. hi guys,

    I couldn't come up with a better title. So lately I was going through the source files just to have a better idea how things work, but there is something that I couldn't find nor understand.

    let's say for instance the experience points you gather, how do it save to the database? I couldn't find any query that saves the exp into the database

    so how the experience points and the other things get saved to the database?

     

    Thanks in avdvance

  4. M2 Download Center

    This is the hidden content, please
    ( Internal )

    Hi there,

     

    Recently the official server had introduced a new upgrading scroll called rituals stone, it can work only with item with a minimum level of 80, has a better chance of success, and the failed items don't lose a level.

    So I have created it's c++ part, and I would like to share it with you:

     

    you can find the icon and item_desc and so on here:

     

    This is the hidden content, please

    This is the hidden content, please

     

    it's in Arabic, you can translate to your own language

    If you found any bugs please comment below

     

    • Metin2 Dev 91
    • Eyes 2
    • Dislove 2
    • Not Good 1
    • Sad 1
    • Confused 2
    • Scream 2
    • Lmao 2
    • Good 22
    • Love 37
  5. 11 hours ago, DeadSkull7 said:

    Put the original function here and i'wll do it for u 

    this is the command part

    case 'm':	// make
    			if (0 != arg2[0])
    			{
    				while (true == Cube_make(ch))
    					dev_log (LOG_DEB0, "cube make success");
    			}
    			else
    				Cube_make(ch);
    			break;

    and this is the actual function

    if ( percent_number<=cube_proto->percent)
    	{
    		// 성공
    		ch->ChatPacket(CHAT_TYPE_COMMAND, "cube success %d %d", reward_value->vnum, reward_value->count);
    		new_item = ch->AutoGiveItem(reward_value->vnum, reward_value->count);
    
    		LogManager::instance().CubeLog(ch->GetPlayerID(), ch->GetX(), ch->GetY(),
    				reward_value->vnum, new_item->GetID(), reward_value->count, 1);
    		return true;
    	}

     

  6. Hi Guys,

    Sometimes when I close the game using the shutdown shell, it jams on shutting-down the database. Here is a ss of what I mean:

    A2BF9EI.png

    and it stay like that forever. it doesn't happen every time, it rarely happen, but I can't catch a connection with this issue and anything I do.

    this is my shutdown shell

    https://pastebin.com/pv4pTYbb

    and this is the dp shutdown shell

    https://pastebin.com/KPZ95syk

     

  7. 22 minutes ago, Syreldar said:
    
    when devil_stone1.kill begin

    go into locale/xxx/quest/questnpc.txt, it must contain

    
    8015 devil_stone1

    8015 being be the vnum of the metin associated with that name, if you use a different metin change it with its vnum.

    or yeah just do

    
    when kill with npc.get_race() == 8015 begin

     

    please never do like

    
    when 8015.kill begin

    sure it works but it's bad as fuck if what matters to you is code flexibility.

    Sorry it’s a bit off-topic, but I read it multiple times that xxx.kill is bad, but didn’t actually understand why? On the contrary, I always thought that when kill with npc.get_race() == xx is worse because it will make more load on the server as it will check every single kill event to check if it’s matching. 

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