Jump to content

BUG with lump of gold (item ID 80008)


Recommended Posts

 

Hi, because i'm making my server on game 34k and prevent from yang-bug i wrote simple quest to store player gold in lump of gold.

Some dude managed to replicate this item from 1 to 200 and I'd like to know how could he do it? How to perform this bug?

And the quest

 

	quest item_gold_piece begin
	    state start begin
    
        when 80008.use begin
        
            local curr_gold = pc.get_gold()
            local value = 100000000
        
        if curr_gold >= 1900000000 then
            syschat("I cannot sell it because you have too much money on account.")
            return
        end
        pc.remove_item(80008, 1)
        pc.change_gold(value)
        
        end
        
        when kill or enter or login with pc.get_gold() >= 100000000 begin
            pc.change_gold(-100000000)
            pc.give_item2(80008, 1)
        end
    end
	end
	
Edited by Lazarus1988
Cutted post
Link to comment
Share on other sites

  • Replies 5
  • Created
  • Last Reply

Top Posters In This Topic

Popular Days

I have not read what you wrote but I read the title, but if you will not help this idea can give others. xD

Some protection may be next:

			if false == pc.can_warp() then	syschat("<Info> Wait 10 seconds before taking this quest!")	return	end

Make checks can_warp function such as:

  • - Private shop window && npc
  • - Your store window
  • - Window deposit
  • - Window refinery

If they were open 10 seconds behind them you will not be able to run quest.
As much praise, can fraud merchant window and bug at SS and other prizes etc.

			if pc.getqf("value_qf") > 0 then	syschat("<Info> You have already done this!")	return	end

And another check return in case your quest is finished to be unable to use because there are many quests that can operate in server and reopen.

			if pc.countitem(itemVnum) < 1 then	syschat("<Info> You do not have this item!")	return	end				

If you can not find any item in your inventory will have a function return, this is for quests with rewards if you receive items collected x x item.

            if pc.count_item(item.get_vnum()) >= 1 then	syschat(string.format("<Info> Succes arg %d)", itemVnum))	pc.give_item2(itemVnum, value)	item.remove()	end

A check correct to initiate an item and get a reward of item.

		local szForbidden = {110, 111, 112, 113}
		if table_is_in(szForbidden, pc.get_map_index()) then
			syschat("<Info> You can not do that in these maps!")
			return
		end

Running some quests in certain maps to be banned because some quests is mandatory that.

If you want to protect it much easier to check if you can do in a dungeon or on a map that is in game99.

		if table_is_in(szForbidden, pc.get_map_index()) or pc.in_dungeon() or pc.get_channel_id() == 99 then

[...................................................]

There are plenty of checks made for proper security for all quests, if you ever need anything please give me a pm.

Link to comment
Share on other sites

Thank you @VegaS but I know about that.

Let's explain again...

My server has very low exp and gold drop rates (about 1 - 100 gold per mob (depending by level and rank) and 5 - 600 exp),

so non-cheating player shoud have on 17lv approx 30.000 gold, as you see, in my quest players gold turns into lump of gold when he reaches 100.000.000 gold, which 

is impossible to get it on that low level without bug-using, one of my players (precisely 17lv) showed me on trade window he has 200x Lump of gold.

I don't have any GM's on server and only I have access to database. That's why I asked you hoping you know what kind of bug this is and how to eliminate.

PS: Also one of other my players told me rumour that bug is also on global servers, but It's hardly to believe me in that rumour.

Link to comment
Share on other sites

That would need to block all bullshit.

quest item_gold_piece begin
	state start begin
		when 80008.use begin
			if not pc.can_warp() or pc.countitem(item.get_vnum()) == 0 then
				syschat("<Debug> There was a problem, wait 10 seconds or perhaps you did not item to inventory!")  
				return 
			elseif get_time() < pc.getqf("use_goldbar") then
				syschat("<Debug> The last time you did this recently, waiting a few seconds for can make that again!")  
				return
			elseif pc.get_money() <= 1900000000 then
				pc.remove_item(item.get_vnum(), 1)
				pc.give_gold(100000000)		
				pc.setqf("use_goldbar", get_time() +5)
				syschat(string.format("<Debug> Succes gold added: + %d", 100000000))	
			else
				syschat("<Debug> I cannot sell it because you have too much money on account.")
			end
		end
			
		when kill or enter or login with pc.get_gold() > 100000000 and pc.can_warp() == true begin
			pc.change_gold(-100000000)
			pc.give_item2(80008, 1)
			syschat(string.format("<Debug> Succes gold withdrawn: - %d", 100000000))	
		end
	end
end

 

Edited by VegaS
+ time check
Link to comment
Share on other sites

54 minutes ago, Lazarus1988 said:

Thank you @VegaS but I know about that.

Let's explain again...

My server has very low exp and gold drop rates (about 1 - 100 gold per mob (depending by level and rank) and 5 - 600 exp),

so non-cheating player shoud have on 17lv approx 30.000 gold, as you see, in my quest players gold turns into lump of gold when he reaches 100.000.000 gold, which 

is impossible to get it on that low level without bug-using, one of my players (precisely 17lv) showed me on trade window he has 200x Lump of gold.

I don't have any GM's on server and only I have access to database. That's why I asked you hoping you know what kind of bug this is and how to eliminate.

PS: Also one of other my players told me rumour that bug is also on global servers, but It's hardly to believe me in that rumour.

If he just received the lamp from another player?

Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

Announcements



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