OkMuOnline


NowaHosting


AlphaServers


Resultados 1 a 2 de 2

Tópico: Ajuda ShopV3

  1. #1
    Membro LuizerA's Avatar

    Data de Ingresso
    Jul 2022
    Posts
    51
    Thanks Thanks Given 
    41
    Thanks Thanks Received 
    313
    Thanked in
    12 Posts
    Mentioned
    0 Post(s)
    País
    Brazil

    Ajuda ShopV3

    Queria utilizar a venda de kit completo do shop, mas tem um problema. Não utilizo a função de recuperar item. E ao comprar o kit, ele vai adicionando item por item no baú, e se acabar o espaço pra algum, ele pede pra usar a função de recuperar do shopping, que não utilizo, pois dizem que tem como dupar.

    Eu queria que ao comprar o KIT só fosse entregue caso tenha espaço pra todos os itens. Alguem consegue fazer essa mudança ?

    Não tenho certeza, mas acredito que deve ser nessa função:

    Código:
    		public function FindSlotsFree($buyKit = false)		{
    			for($i = (int)0; $i < 120; $i++)
    			{
    				if($this->Vault_Slots[$i]['Hex'] == str_pad("", DIVISOR, "F"))
    				{
    					$Full = false;
    					for($CTemp = 0; $CTemp < $this->X; $CTemp++)
    					{
    						for($LTemp = 0; $LTemp < $this->Y; $LTemp++)
    						{       
    							$tempI = $i+1;
    							if(($tempI % 8) == 0 && $this->X > 1) $Full = true; //Necessário para não adcionar o item partindo ele para outra linha.
    							elseif(($tempI % 8) == 7 && $this->X > 2) $Full = true; //Necessário para não adcionar o item partindo ele para outra linha.
    							elseif(($tempI % 8) == 6 && $this->X > 3) $Full = true; //Necessário para não adcionar o item partindo ele para outra linha.
    							elseif(($tempI % 8) == 5 && $this->X > 4) $Full = true; //Necessário para não adcionar o item partindo ele para outra linha.
    							elseif($this->Vault_Slots[$i+$CTemp]['Free'] == false || $this->Vault_Slots[$i+$CTemp+(8*$LTemp)]['Free'] == false) $Full = true; else continue(1);
    						}
    					}
    					if($Full == false) {
    						$this->Place_Avaliable = $i;
    						break;
    					} else $this->Place_Avaliable = -1;
    				}
    			}
    			if($this->Place_Avaliable < 0 && $buyKit == false) 
                    exit(Print_error("<ul><li>Infelizmente sua compra n&atilde;o foi realizada, pois n&atilde;o h&aacute; lugar para adicionar o item no bau. Entre no jogo e libere espa&ccedil;o.</ul></li>"));
                elseif($this->Place_Avaliable < 0 && $buyKit == true) return false;  
                
    			$this->Vault_Slots[$this->Place_Avaliable]['Free'] = false;
    			$this->Vault_Slots[$this->Place_Avaliable]['Hex'] = $this->Hex_ItemBuy;
    			$this->Vault_Slots[$this->Place_Avaliable]['Key'] = $this->ProductID;
    			$this->Vault_Slots[$this->Place_Avaliable]['Width'] = $this->X;
    			$this->Vault_Slots[$this->Place_Avaliable]['Height'] = $this->Y;  
                //var_dump($this->Vault_Slots);
                return true;
    		}

  2. #2
    PHP Coder LaMO's Avatar


    Data de Ingresso
    Jul 2022
    Posts
    45
    Thanks Thanks Given 
    114
    Thanks Thanks Received 
    87
    Thanked in
    22 Posts
    Mentioned
    2 Post(s)
    País
    Yemen
    Citação Originally Posted by LuizerA Ver Post
    Queria utilizar a venda de kit completo do shop, mas tem um problema. Não utilizo a função de recuperar item. E ao comprar o kit, ele vai adicionando item por item no baú, e se acabar o espaço pra algum, ele pede pra usar a função de recuperar do shopping, que não utilizo, pois dizem que tem como dupar.

    Eu queria que ao comprar o KIT só fosse entregue caso tenha espaço pra todos os itens. Alguem consegue fazer essa mudança ?

    Não tenho certeza, mas acredito que deve ser nessa função:

    Código:
            public function FindSlotsFree($buyKit = false)        {
                for($i = (int)0; $i < 120; $i++)
                {
                    if($this->Vault_Slots[$i]['Hex'] == str_pad("", DIVISOR, "F"))
                    {
                        $Full = false;
                        for($CTemp = 0; $CTemp < $this->X; $CTemp++)
                        {
                            for($LTemp = 0; $LTemp < $this->Y; $LTemp++)
                            {       
                                $tempI = $i+1;
                                if(($tempI % 8) == 0 && $this->X > 1) $Full = true; //Necessário para não adcionar o item partindo ele para outra linha.
                                elseif(($tempI % 8) == 7 && $this->X > 2) $Full = true; //Necessário para não adcionar o item partindo ele para outra linha.
                                elseif(($tempI % 8) == 6 && $this->X > 3) $Full = true; //Necessário para não adcionar o item partindo ele para outra linha.
                                elseif(($tempI % 8) == 5 && $this->X > 4) $Full = true; //Necessário para não adcionar o item partindo ele para outra linha.
                                elseif($this->Vault_Slots[$i+$CTemp]['Free'] == false || $this->Vault_Slots[$i+$CTemp+(8*$LTemp)]['Free'] == false) $Full = true; else continue(1);
                            }
                        }
                        if($Full == false) {
                            $this->Place_Avaliable = $i;
                            break;
                        } else $this->Place_Avaliable = -1;
                    }
                }
                if($this->Place_Avaliable < 0 && $buyKit == false) 
                    exit(Print_error("<ul><li>Infelizmente sua compra n&atilde;o foi realizada, pois n&atilde;o h&aacute; lugar para adicionar o item no bau. Entre no jogo e libere espa&ccedil;o.</ul></li>"));
                elseif($this->Place_Avaliable < 0 && $buyKit == true) return false;  
                
                $this->Vault_Slots[$this->Place_Avaliable]['Free'] = false;
                $this->Vault_Slots[$this->Place_Avaliable]['Hex'] = $this->Hex_ItemBuy;
                $this->Vault_Slots[$this->Place_Avaliable]['Key'] = $this->ProductID;
                $this->Vault_Slots[$this->Place_Avaliable]['Width'] = $this->X;
                $this->Vault_Slots[$this->Place_Avaliable]['Height'] = $this->Y;  
                //var_dump($this->Vault_Slots);
                return true;
            }
    Eu consigo, e o André AMW também, mas seria um serviço pago pra ambos.

Permissões de Postagem

  • Você não pode iniciar novos tópicos
  • You may not post Resposta(s)
  • Você não pode enviar anexos
  • Você não pode editar suas mensagens
  •