Jump to content
Happy

[Sistema]GiftBox

Recommended Posts

Hoy os voy a mostrar un sistema que subieron ayer en metin2dev, este sistema consiste en que cada x horas te daran un regalo. [Los items que se dan se pueden editar]

 

Imagen del sistema: 

 

Imagen enviada

 

 

 

Primero de todo es poner esta query: 

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=MyISAMDEFAULT CHARACTER SET=latin1 COLLATE=latin1_swedish_ciAUTO_INCREMENT=47CHECKSUM=0ROW_FORMAT=DYNAMICDELAY_KEY_WRITE=0;

Una vez puesta la anterior procedimos a poner la siguiente: 

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>');

Donde dice Item_ID_X hay ponemos la id del item que queramos que de.

 

Aora ponemos esta quest:

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	endend

Ahora vamos a la instalacion del cliente.

 

Abrimos el game.py (root), y buscamos: self.playerGauge = None

 

a continuación pegamos esto:

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()

Buscamos: def OnUpdate(self):

 

a continuación pegamos esto:

        ## 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 #############################################################################

Tiene que quedar algo asi:

 

Imagen enviada

 

Ahora buscaos: def __ServerCommand_Build(self):

 

Y agregamos:

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

Y a final del archivo pegamos esto:

## Begin LuckyBoxes system    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() 

Ahora guardamos el game.py y abrimos el costinfo.py

Justo al principio del archivo pegamos esto: GIFTSYS = 1

 

Esto seria todo, falta añadir el boton.

 

Debes iniciar sesión para ver el contenido del enlace en esta publicación.

 

Lo pegan en (Etc.epk/eix)D:/ymir work/ui

 

Y listo

 

 

Fuente: Metin2Dev

Creditos: Zetsu

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...