Jump to content

Syntaax

Seller
  • Posts

    22
  • Joined

  • Last visited

  • Feedback

    0%

Posts posted by Syntaax

  1. So i bought an IS few years ago from ProfessorEnte. Now i tryed to implement it and got this problem with his quest...

    I dont want to recode the sql querys to an updated version.

    Does anyone know how i could fix this issue? Could it be that a table got init with "null" and thats cause the Problem?

     

    Line:58

    os.execute('mysql '..pre..' -e'..string.format('%q',query)..' > '..fi) -- für MySQL55


    Syserr

    questing.lua:58: attempt to index a nil value

     

    questing.lua part

    mysql_query = function(query)
        if not pre then
            local rt = io.open('CONFIG','r'):read('*all')
            pre,_= string.gsub(rt,'.+PLAYER_SQL:%s(%S+)%s(%S+)%s(%S+)%s(%S+).+','-h%1 -u%2 -p%3 -D%4')
        end
        math.randomseed(os.time())
        local fi,t,out = 'mysql_data_'..math.random(10^9)+math.random(2^4,2^10),{},{}
        --os.execute('mysql '..pre..' --e='..string.format('%q',query)..' > '..fi) -- für MySQL51
        os.execute('mysql '..pre..' -e'..string.format('%q',query)..' > '..fi) -- für MySQL55
        for av in io.open(fi,'r'):lines() do table.insert(t,split(av,'\t')) end; os.remove(fi);
        for i = 2, table.getn(t) do table.foreach(t[i],function(a,b)
            out[i-1]               = out[i-1] or {}
            out[i-1][a]            = tonumber(b) or b or 'NULL'
            out[t[1][a]]           = out[t[1][a]] or {}
            out[t[1][a]][i-1]      = tonumber(b) or b or 'NULL'
        end) end
        return out
    end
  2. So i got the problem that objects get removed while beeing still in view range. It seems like they get destroyed after the half of the object is outside of the window. I'll add a screenshot how it look like. I still havent found the function which handles this.

    https://metin2.download/picture/0ry14hh1cfGoOrkmcSacuzxaLhfPb8fN/.png

  3. Am 10.7.2019 um 15:51 schrieb ragem0re:

    Hi, thanks for sharing!

    Unfortunately I've found a bug.

    It does only pickup items that you dropped and ignore party member drops.

    However it is possible to pick them up by clicking on.

    I don't see any way to check for party members on client-side, maybe someone do. (?)

    Appreciate any help, thanks.

    Have anyone a fix for that ?

  4. exchange.cpp:311:21: error: no member named 'make_unique' in namespace 'std'
                            s_grid[i] = std::make_unique<CGrid>(INVENTORY_WI...
                                        ~~~~~^
    exchange.cpp:311:33: error: 'CGrid' does not refer to a value
                            s_grid[i] = std::make_unique<CGrid>(INVENTORY_WI...
                                                         ^
    ./exchange.h:3:7: note: declared here
    class CGrid;
          ^
    exchange.cpp:320:26: error: no member named 'make_unique' in namespace 'std'
            s_grid[i] = std::make_unique<CGrid>(INVENTORY_WIDTH,new_size);
                        ~~~~~^
    exchange.cpp:320:38: error: 'CGrid' does not refer to a value
            s_grid[i] = std::make_unique<CGrid>(INVENTORY_WIDTH,new_size);
                                         ^
    ./exchange.h:3:7: note: declared here
    class CGrid;
          ^

    Any fix ? 

  5. exchange.cpp:311:21: error: no member named 'make_unique' in namespace 'std'
                            s_grid[i] = std::make_unique<CGrid>(INVENTORY_WI...
                                        ~~~~~^
    exchange.cpp:311:33: error: 'CGrid' does not refer to a value
                            s_grid[i] = std::make_unique<CGrid>(INVENTORY_WI...
                                                         ^
    ./exchange.h:3:7: note: declared here
    class CGrid;
          ^
    exchange.cpp:320:26: error: no member named 'make_unique' in namespace 'std'
            s_grid[i] = std::make_unique<CGrid>(INVENTORY_WIDTH,new_size);
                        ~~~~~^
    exchange.cpp:320:38: error: 'CGrid' does not refer to a value
            s_grid[i] = std::make_unique<CGrid>(INVENTORY_WIDTH,new_size);
                                         ^
    ./exchange.h:3:7: note: declared here
    class CGrid;

     

    Any idea ?

  6. Bugfix:

     

    		#if srcItemSlotPos == dstItemSlotPos:
    		#	return
    	#if app.ENABLE_SPECIAL_STORAGE:
    	#	if srcItemSlotPos == dstItemSlotPos and not item.IsMetin(srcItemVID):
    	#		return
    	#else:
    		if srcItemSlotPos == dstItemSlotPos and not item.IsMetin(srcItemVID):

     

    and:

    	def OverInItem(self, overSlotPos):
    		overSlotPos = self.__InventoryLocalSlotPosToGlobalSlotPos(overSlotPos)
    		self.wndItem.SetUsableItem(FALSE)
    
    		if mouseModule.mouseController.isAttached():
    			attachedItemType = mouseModule.mouseController.GetAttachedType()
    			if player.SLOT_TYPE_INVENTORY == attachedItemType:
    
    				attachedSlotPos = mouseModule.mouseController.GetAttachedSlotNumber()
    				attachedItemVNum = mouseModule.mouseController.GetAttachedItemIndex()
    				
    				if self.__CanUseSrcItemToDstItem(attachedItemVNum, attachedSlotPos, overSlotPos):
    					self.wndItem.SetUsableItem(TRUE)
    					self.ShowToolTip(overSlotPos)
    					return
    			'''if app.ENABLE_SPECIAL_STORAGE:
    				if player.SLOT_TYPE_INVENTORY == attachedItemType or player.SLOT_TYPE_STONE_INVENTORY == attachedItemType:
    					attachedSlotPos = mouseModule.mouseController.GetAttachedSlotNumber()
    					attachedItemVNum = mouseModule.mouseController.GetAttachedItemIndex()
    	
    					if self.__CanUseSrcItemToDstItem(attachedItemVNum, attachedSlotPos, overSlotPos):
    						self.wndItem.SetUsableItem(True)
    						self.wndItem.SetUseMode(True)
    						self.ShowToolTip(overSlotPos)
    						return
    			else:
    				if player.SLOT_TYPE_INVENTORY == attachedItemType:
    					attachedSlotPos = mouseModule.mouseController.GetAttachedSlotNumber()
    					attachedItemVNum = mouseModule.mouseController.GetAttachedItemIndex()
    	
    					if self.__CanUseSrcItemToDstItem(attachedItemVNum, attachedSlotPos, overSlotPos):
    						self.wndItem.SetUsableItem(True)
    						self.ShowToolTip(overSlotPos)
    						return	'''			
    		self.ShowToolTip(overSlotPos)

     

    • Love 1
  7. Because I didnt found anything helpful, here a small release how to change your skills jumping from 17 to M1 or what ever you want :)

     

    1. open char_skill.cpp

    2. search for "case SKILL_NORMAL:"

    3. 

    810            case SKILL_NORMAL:
    811                // 번섭은 스킬 업그레이드 17~20 사이 랜덤 마스터 수련
    812                if (GetSkillLevel(pkSk->dwVnum) >= 17)
    813                    SetSkillLevel (pkSk->dwVnum, 20);
    814                {
    815                    
    816                }
    817                break;

     

    change to this. 

     

    Maybe i could help some people :)

    If its already public im sorry ^^

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