Jump to content

Zetsu

Inactive Member
  • Posts

    122
  • Joined

  • Last visited

  • Days Won

    3
  • Feedback

    0%

Posts posted by Zetsu

  1.  

    i have one problem

    SYSERR: May  8 20:43:55 :: RunState: LUA_ERROR: locale/germany/quest/questlib.lua:1715: attempt to call global `split' (a nil value)
    SYSERR: May  8 20:43:55 :: WriteRunningStateToSyserr: LUA_ERROR: quest thsgiftdev.start click
    SYSERR: May  8 20:45:23 :: RunState: LUA_ERROR: locale/germany/quest/questlib.lua:1715: attempt to call global `split' (a nil value)
    SYSERR: May  8 20:45:23 :: WriteRunningStateToSyserr: LUA_ERROR: quest thsgiftdev.start click
    SYSERR: May  8 20:45:23 :: RunState: LUA_ERROR: locale/germany/quest/questlib.lua:1715: attempt to call global `split' (a nil value)
    SYSERR: May  8 20:45:23 :: WriteRunningStateToSyserr: LUA_ERROR: quest thsgiftdev.start click
    SYSERR: May  8 20:45:23 :: RunState: LUA_ERROR: locale/germany/quest/questlib.lua:1715: attempt to call global `split' (a nil value)
    SYSERR: May  8 20:45:23 :: WriteRunningStateToSyserr: LUA_ERROR: quest thsgiftdev.start click
    SYSERR: May  8 20:45:23 :: RunState: LUA_ERROR: locale/germany/quest/questlib.lua:1715: attempt to call global `split' (a nil value)
    SYSERR: May  8 20:45:23 :: WriteRunningStateToSyserr: LUA_ERROR: quest thsgiftdev.start click
    SYSERR: May  8 20:45:24 :: RunState: LUA_ERROR: locale/germany/quest/questlib.lua:1715: attempt to call global `split' (a nil value)
    SYSERR: May  8 20:45:24 :: WriteRunningStateToSyserr: LUA_ERROR: quest thsgiftdev.start click
    SYSERR: May  8 20:45:24 :: RunState: LUA_ERROR: locale/germany/quest/questlib.lua:1715: attempt to call global `split' (a nil value)
    SYSERR: May  8 20:45:24 :: WriteRunningStateToSyserr: LUA_ERROR: quest thsgiftdev.start click
    

    Da-mi add pe skype: ***

     

    Te ajut eu -_- Pana acum numai tu si ala de mai sus aveti problema asta :-?

  2.  

    syser from channel:

    SYSERR: May  8 17:55:28 :: RunState: LUA_ERROR: [string "gift"]:2: attempt to index global `thsgiftdev' (a nil value)
    SYSERR: May  8 17:55:28 :: WriteRunningStateToSyserr: LUA_ERROR: quest gift.start click
    SYSERR: May  8 17:55:29 :: RunState: LUA_ERROR: [string "gift"]:2: attempt to index global `thsgiftdev' (a nil value)
    SYSERR: May  8 17:55:29 :: WriteRunningStateToSyserr: LUA_ERROR: quest gift.start click
    SYSERR: May  8 17:55:29 :: RunState: LUA_ERROR: [string "gift"]:2: attempt to index global `thsgiftdev' (a nil value)
    SYSERR: May  8 17:55:29 :: WriteRunningStateToSyserr: LUA_ERROR: quest gift.start click
    SYSERR: May  8 17:55:29 :: RunState: LUA_ERROR: [string "gift"]:2: attempt to index global `thsgiftdev' (a nil value)
    SYSERR: May  8 17:55:29 :: WriteRunningStateToSyserr: LUA_ERROR: quest gift.start click
    SYSERR: May  8 17:55:29 :: RunState: LUA_ERROR: [string "gift"]:2: attempt to index global `thsgiftdev' (a nil value)
    SYSERR: May  8 17:55:29 :: WriteRunningStateToSyserr: LUA_ERROR: quest gift.start click
    SYSERR: May  8 17:55:29 :: RunState: LUA_ERROR: [string "gift"]:2: attempt to index global `thsgiftdev' (a nil value)
    SYSERR: May  8 17:55:29 :: WriteRunningStateToSyserr: LUA_ERROR: quest gift.start click
    SYSERR: May  8 17:55:30 :: RunState: LUA_ERROR: [string "gift"]:2: attempt to index global `thsgiftdev' (a nil value)
    SYSERR: May  8 17:55:30 :: WriteRunningStateToSyserr: LUA_ERROR: quest gift.start click
    SYSERR: May  8 17:55:30 :: RunState: LUA_ERROR: [string "gift"]:2: attempt to index global `thsgiftdev' (a nil value)
    SYSERR: May  8 17:55:30 :: WriteRunningStateToSyserr: LUA_ERROR: quest gift.start click
    SYSERR: May  8 17:55:30 :: RunState: LUA_ERROR: [string "gift"]:2: attempt to index global `thsgiftdev' (a nil value)
    SYSERR: May  8 17:55:30 :: WriteRunningStateToSyserr: LUA_ERROR: quest gift.start click
    SYSERR: May  8 17:55:31 :: RunState: LUA_ERROR: [string "gift"]:2: attempt to index global `thsgiftdev' (a nil value)
    SYSERR: May  8 17:55:31 :: WriteRunningStateToSyserr: LUA_ERROR: quest gift.start click
    SYSERR: May  8 17:55:31 :: RunState: LUA_ERROR: [string "gift"]:2: attempt to index global `thsgiftdev' (a nil value)
    SYSERR: May  8 17:55:31 :: WriteRunningStateToSyserr: LUA_ERROR: quest gift.start click
    SYSERR: May  8 17:55:31 :: RunState: LUA_ERROR: [string "gift"]:2: attempt to index global `thsgiftdev' (a nil value)
    SYSERR: May  8 17:55:31 :: WriteRunningStateToSyserr: LUA_ERROR: quest gift.start click
    SYSERR: May  8 17:55:32 :: RunState: LUA_ERROR: [string "gift"]:2: attempt to index global `thsgiftdev' (a nil value)
    SYSERR: May  8 17:55:32 :: WriteRunningStateToSyserr: LUA_ERROR: quest gift.start click
    SYSERR: May  8 17:55:32 :: RunState: LUA_ERROR: [string "gift"]:2: attempt to index global `thsgiftdev' (a nil value)
    SYSERR: May  8 17:55:32 :: WriteRunningStateToSyserr: LUA_ERROR: quest gift.start click

    You're the only one who's getting this error. How the fuck is possible.. Do you know how to install a quest? I'll upload it for you .. wait 5 minutes.

  3. lol nice ill change it to  24 hours and wuahla :D the perfect daily gift ! i hope i can change the icon tho :D

     

    ONE QUESTION:DOES IT DISSAPEAR WHEN YOU CLICK ON IT OR NO ?

    I DONT TIME TO LOOK AT THE CODE

     

    It appears only when event is running. Thanks for question.. i will add now :-s

     

    Also, you can do anything with this system. You can change icon and position, really move it in a window or near minimap (but you need a 16x16 icon)

  4. Hello everybody

     

    Today I will show my new system - I decided to release it...It's a very simple system and useful for PServers.

     

    What does it do? Well, it gives a random item to a player at every 12 hrs. He must enter the game and click on a gift to get the item. GM can set 5 items in DB and one of them will be gived to the players.

    16j0dxi.jpg

    You can change time for this system 

    e.g.:

     

     

    kd04r8.jpg

     

     

    Items ID are stored in a new table called "surprisebox".

     

    Server_side:

    FirstReq: If somebody wants to add new conditions to quest, first ask me in pm, then post here. Probably some people would think that it's my mistake...Thanks for understanding!

    You must run this query to install:

    CREATE TABLE `surprisebox` (
    `id`  int(5) NOT NULL AUTO_INCREMENT ,
    `openorclose`  int(5) NOT NULL ,
    `box1`  int(8) NULL DEFAULT NULL ,
    `box2`  int(8) NULL DEFAULT NULL ,
    `box3`  int(8) NULL DEFAULT NULL ,
    `box4`  int(8) NULL DEFAULT NULL ,
    `box5`  int(8) NULL DEFAULT NULL ,
    `date`  varchar(20) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL ,
    `hour`  varchar(20) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL ,
    PRIMARY KEY (`id`)
    )
    ENGINE=MyISAM
    DEFAULT CHARACTER SET=latin1 COLLATE=latin1_swedish_ci
    AUTO_INCREMENT=47
    CHECKSUM=0
    ROW_FORMAT=DYNAMIC
    DELAY_KEY_WRITE=0
    ;

    Then run this:

    INSERT INTO `surprisebox` (`openorclose`,`box1`,`box2`,`box3`,`box4`,`box5`,`date`,`hour`) VALUES (1, ITEM_ID_1, ITEM_ID_2, ITEM_ID_3, ITEM_ID_4, ITEM_ID_5, '<date>', '<hour>');

    This is just an example. You must have one row with column openorclose=1 , in rests 0 (that if you have more saved).

     

    Now you have to install the quest. Also, i made this system possible to be edited by anybody, so you can modify the codes..

    thsgiftdev.quest

     

    DO NOT rename the quest. You must install it with name: thsgiftdev.quest or it doesn't work. If you renamed it i'll not help you. Good luck!

     - Use new quest from Updates at the end of topic!!

    First version:

    -- (c) 2014 Zetsu - This system it's made by me for metin2Dev.org
    -- Thanks:
    -- THS Dev Team 
    -- Invictus for some changes
    -- Do not change Copyrights or re-post on another stupid forums!
    quest thsgiftdev begin
    	state start begin
    		when login begin
    			cmdchat("zetsugfsys "..q.getcurrentquestindex())
    		end
    		
    		function giverandomitem()
    			local random_nr = number(1,5)
    			chat("I: The box it's opening...") -- Opening 
    			if random_nr==1 then
    				pc.give_item2(tonumber(mysql_query('SELECT box1 from player.surprisebox WHERE openorclose=1 LIMIT 1;').box1[1]))
    			elseif random_nr==2 then
    				pc.give_item2(tonumber(mysql_query('SELECT box2 from player.surprisebox WHERE openorclose=1 LIMIT 1;').box2[1]))
    			elseif random_nr==3 then
    				pc.give_item2(tonumber(mysql_query('SELECT box3 from player.surprisebox WHERE openorclose=1 LIMIT 1;').box3[1]))
    			elseif random_nr==4 then
    				pc.give_item2(tonumber(mysql_query('SELECT box4 from player.surprisebox WHERE openorclose=1 LIMIT 1;').box4[1]))
    			elseif random_nr==5 then
    				pc.give_item2(tonumber(mysql_query('SELECT box5 from player.surprisebox WHERE openorclose=1 LIMIT 1;').box5[1]))
    			end
    			pc.setqf("giftsystemuse", get_time()+60*60*12) -- 12 HRS  
                cmdchat("giftsyshide")
    		end
    
    		when button or info begin
    			if pc.getqf("giftsystemuse") <= get_time() then
    				thsgiftdev.giverandomitem() -- yeah..function  don't try to bind that condition with this..
    			else
    				chat("W: You have no gift. Try after 12 hours...") -- Played 
    			end
    		end 
    	end
    end

    Edit:

    If you want to show the box when the event it's running add under cmdchat("zetsugfsys "..q.getcurrentquestindex())

    if tonumber(mysql_query('SELECT openorclose from player.surprisebox WHERE id>0 LIMIT 1;').openorclose[1]) != 0 then
    	cmdchat("giftsysshow")
    else
    	cmdchat("giftsyshide")
    end
    
    

    Download full: https://mega.co.nz/#!iZQiUbqY!VEULcrJ6set30fFQkkCRlD71U3Dvy-TjULhcIICC1JM

    Client_side:

    Be careful! Forum replace a blank by Tab button with spaces! Be careful at syntax.

     

     

    Open game.py(root) and search:

    self.playerGauge = None

    Under this add:

    		## Z ##############################################################################
    		self.GiftBox = ui.Button()
    		self.GiftBox.SetUpVisual("d:/ymir work/ui/present.tga")
    		self.GiftBox.SetOverVisual("d:/ymir work/ui/present.tga")
    		self.GiftBox.SetDownVisual("d:/ymir work/ui/present.tga")
    		self.GiftBox.SetText("?")
    		self.GiftBox.SetToolTipText("Open the box!")
    		self.GiftBox.SetPosition(10, int(wndMgr.GetScreenHeight())-126)
    		self.GiftBox.SetEvent(self.ZetsuGiftSystem__deff__)
    		self.GiftBox.Show()
    		## Z ##############################################################################

    =================================================================================================

    Search:

    def OnUpdate(self):

    Under this, add:

    ## Z ##############################################################################
    		if app.IsPressed(app.DIK_P) and app.IsPressed(app.DIK_LSHIFT):
    			if self.GiftBox.IsShow():
    				self.GiftBox.Hide()
    			else:
    				self.GiftBox.Show()
    		## Z ##############################################################################

    or added to this function. Picture:

     

    pzO5P.jpg

     

    Now search

    	def __ServerCommand_Build(self):
    		serverCommandList={

    And add:

    			## Begin LuckyBoxes system by Zetsu
    			"zetsugfsys"                            : self.ZetsuGiftSystem__init__,
                "giftsysshow" : self.ZetsuGiftSystem__show__,
                "giftsyshide" : self.ZetsuGiftSystem__hide__,
    			## End LuckyBoxes

    Picture:

    5CGmp.jpg

     

    Do NOT add:

                "giftsyspop" : self.ZetsuGiftSystem__prnt__,

    My mistake...

     

    Now, the last thing it's to add the function at the end:

    ## Begin LuckyBoxes system by Zetsu
    	def ZetsuGiftSystem__init__(self, index):	
    		constInfo.GIFTSYS = index # if doesn't work replace with:   constInfo.GIFTSYS = int(index) # But it's impossible...
    	def ZetsuGiftSystem__deff__(self):
    		import event
    		event.QuestButtonClick(int(constInfo.GIFTSYS))
    	## End LuckyBoxes
    	# Warning!! Let the last row empty!! ##
        def ZetsuGiftSystem__show__(self):
            self.GiftBox.Show()
        def ZetsuGiftSystem__hide__(self):
            self.GiftBox.Hide()

    Picture:

    DCPcf.jpgWarning! If you add this at the end of game.py, the last line must be empty!

     

    Now open constinfo.py and add at the beginning of the file:

    GIFTSYS = 1 

     

    #####New: GS-Tool#####

    MeZk7.jpg

    Don't add this PHP Cpannel to your website. Use a free domain or localhost.

    Config CPannel from dbCOnf.php also replace

    $dbname = "zetsusystems";

    With

     

    $dbname = "player";

     

    Updates:

    13.iun.2014. - v1.2 - Added Gift box(17609 item)

    Hello!

     

    I decided to add Gift box item! :D

    About it:

    Vnum: 17609

    Use from level: 10

    Can be used for: infinite times (you decide that)

    Can: -

    Can't: be stored, traded, sold.

    Icon: 2iuoxld.gif2sbu2ix.jpg

     

    New quest update:

    quest thsgiftdev begin
        state start begin
            when login begin
                cmdchat("zetsugfsys "..q.getcurrentquestindex())
            end
             
            function giverandomitem()
                local random_nr = number(1,5)
                chat("I: The box it's opening...") -- Opening 
                if random_nr==1 then
                    pc.give_item2(tonumber(mysql_query('SELECT box1 from player.surprisebox WHERE openorclose=1 LIMIT 1;').box1[1]))
                elseif random_nr==2 then
                    pc.give_item2(tonumber(mysql_query('SELECT box2 from player.surprisebox WHERE openorclose=1 LIMIT 1;').box2[1]))
                elseif random_nr==3 then
                    pc.give_item2(tonumber(mysql_query('SELECT box3 from player.surprisebox WHERE openorclose=1 LIMIT 1;').box3[1]))
                elseif random_nr==4 then
                    pc.give_item2(tonumber(mysql_query('SELECT box4 from player.surprisebox WHERE openorclose=1 LIMIT 1;').box4[1]))
                elseif random_nr==5 then
                    pc.give_item2(tonumber(mysql_query('SELECT box5 from player.surprisebox WHERE openorclose=1 LIMIT 1;').box5[1]))
                end
                pc.setqf("giftsystemuse", get_time()+60*60*12) -- 12 HRS  
                cmdchat("giftsyshide")
            end
    		
    		when 17609.use with pc.get_level() >= 10 begin
    			local random_nr = number(1,5)
                chat("I: The box it's opening...")
                if random_nr==1 then
                    pc.give_item2(tonumber(mysql_query('SELECT box1 from player.surprisebox WHERE openorclose=1 LIMIT 1;').box1[1]))
                elseif random_nr==2 then
                    pc.give_item2(tonumber(mysql_query('SELECT box2 from player.surprisebox WHERE openorclose=1 LIMIT 1;').box2[1]))
                elseif random_nr==3 then
                    pc.give_item2(tonumber(mysql_query('SELECT box3 from player.surprisebox WHERE openorclose=1 LIMIT 1;').box3[1]))
                elseif random_nr==4 then
                    pc.give_item2(tonumber(mysql_query('SELECT box4 from player.surprisebox WHERE openorclose=1 LIMIT 1;').box4[1]))
                elseif random_nr==5 then
                    pc.give_item2(tonumber(mysql_query('SELECT box5 from player.surprisebox WHERE openorclose=1 LIMIT 1;').box5[1]))
                end
    		end
     
            when button or info begin
                if pc.getqf("giftsystemuse") <= get_time() then
                    thsgiftdev.giverandomitem() -- yeah..function  don't try to bind that condition with this..
                else
                    chat("W: You have no gift. Try after 12 hours...") -- Played 
                end
            end
        end
    end

    Download: 13.jun.2014 Update

     

    3.july.2014 - v1.3 - Quest repaired. Added no-mysql_query version and shows box only when you can use it.

    A lot of people have problems with mysql_query command, so i've made a quest version with array. Now it's easy to edit random items and also you can add more without alter a table (easy, no? :D ). More than that, it's annoying when you see it on the screen but you can't use it, so i've added a condition which shows the box only if time is over.

     

    No-MySql_Query

    -- © 2014 Zetsu - This system it's made by me for metin2Dev.org
    -- Do not change Copyrights or re-post on another stupid forums!
    quest thsgiftdev begin
        state start begin
            when login begin
                cmdchat("zetsugfsys "..q.getcurrentquestindex())
    			if pc.getqf("giftsystemuse") > get_time() then
    				cmdchat("giftsyshide")
    			end
            end
             
            function giverandomitem()
                local random_nr = number(1,5)
                chat("I: The box it's opening...") -- Opening 
                random_items = { 45009, 28013, 30044, 27105, 30029,} -- Items list
    			
                pc.give_item2(tonumber(random_items[random_nr]))
    			
                pc.setqf("giftsystemuse", get_time()+60*60*12) -- 12 hours (60*minutes*hrs, 30 minutes example: 60*30, 10 minutes example: 60*10)
                cmdchat("giftsyshide")
            end
     
            when button or info begin
                if pc.getqf("giftsystemuse") <= get_time() then
                    thsgiftdev.giverandomitem()
                else
                    chat("W: You have no gift. Try after 12 hours...") -- Played 
                end
            end
        end
    end

    MySql_Query version:

    -- © 2014 Zetsu - This system it's made by me for metin2Dev.org
    -- Do not change Copyrights or re-post on another stupid forums!
    quest thsgiftdev begin
        state start begin
            when login begin
                cmdchat("zetsugfsys "..q.getcurrentquestindex())
    			if pc.getqf("giftsystemuse") > get_time() then
    				cmdchat("giftsyshide")
    			end
            end
             
            function giverandomitem()
                local random_nr = number(1,5)
                chat("I: The box it's opening...") -- Opening 
                if random_nr==1 then
                    pc.give_item2(tonumber(mysql_query('SELECT box1 from player.surprisebox WHERE openorclose=1 LIMIT 1;').box1[1]))
                elseif random_nr==2 then
                    pc.give_item2(tonumber(mysql_query('SELECT box2 from player.surprisebox WHERE openorclose=1 LIMIT 1;').box2[1]))
                elseif random_nr==3 then
                    pc.give_item2(tonumber(mysql_query('SELECT box3 from player.surprisebox WHERE openorclose=1 LIMIT 1;').box3[1]))
                elseif random_nr==4 then
                    pc.give_item2(tonumber(mysql_query('SELECT box4 from player.surprisebox WHERE openorclose=1 LIMIT 1;').box4[1]))
                elseif random_nr==5 then
                    pc.give_item2(tonumber(mysql_query('SELECT box5 from player.surprisebox WHERE openorclose=1 LIMIT 1;').box5[1]))
                end
                pc.setqf("giftsystemuse", get_time()+60*60*12) -- 12 hours (60*minutes*hrs)
                cmdchat("giftsyshide")
            end
     
            when button or info begin
                if pc.getqf("giftsystemuse") <= get_time() then
                    thsgiftdev.giverandomitem()
                else
                    chat("W: You have no gift. Try after 12 hours...") -- Played 
                end
            end
        end
    end

     

    Download the button: mega.co.nz - Add it in: (Etc.epk/eix)D:/ymir work/ui

    Download PHP-CPannel: mega.co.nz

     

     

     

    Kind regards,

    Zetsu

    I offer support, just ask me here or in PM! Soon I will add PHP_CPannel for beginners.

    I know this system it's very simple and contains some parts where i choose the hard way, but anyway.. i think this system keeps players online.

     

    Note: If you want to hide the Box press: LShift+P

    Sometimes it's annoying xD ...

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