Advertisement
Guest User

Untitled

a guest
Feb 13th, 2016
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 2.31 KB | None | 0 0
  1. /**
  2.  *  Adicionar um item na lista de posse do personagem
  3.  *  @params playerid ID do player a ter os itens adicionados
  4.  *  @params indexProduto Index do produto dentro de produtoinfo
  5.  *  @params quantidade Quantidade do item a ser adicionada
  6.  *  @return se obtiver sucesso na hora de colocar o item no inventário retorna a posição do item na lista
  7.  *  retorna -2 se o inventário não comportar o item
  8.  *  retorna -1 se der algum outro erro
  9. */
  10. forward adicionarItemPossePlayer(playerid,indexProduto,quantidade);
  11. public adicionarItemPossePlayer(playerid,indexProduto,quantidade){
  12.     new quantidadeAtual = 0;
  13.     new indexAtual = nextItemPersonagem(playerid,0);
  14.     new indexDoProduto = INVALID_POSSE_ID;//Aproveitando o somatório do uso do espaço do inventário,
  15.     //já procura o index do produto a ser adicionado, se houver
  16.     while( indexAtual != INVALID_POSSE_ID ){
  17.         quantidadeAtual += ( posseinfo[indexAtual][quantidadeposse] * produtoinfo[posseinfo[indexAtual][indexProd]][tamprod] );
  18.         if( posseinfo[indexAtual][indexProd] == indexProduto){
  19.             indexDoProduto = posseinfo[indexAtual][indexProd];
  20.             break;
  21.         }
  22.  
  23.         indexAtual = nextItemPersonagem(playerid,indexAtual + 1);
  24.     }
  25.     if( ( quantidade + quantidadeAtual ) > MAX_CAPA_INVENTARIO )
  26.         return -2;
  27.  
  28.     if( indexDoProduto != INVALID_POSSE_ID ){ //Se tiver um index ocupado por este produto
  29.         posseinfo[indexAtual][quantidadeposse] += quantidade;
  30.     }
  31.     else{
  32.         //Procurando um espaço na lista cujo nenhum personagem tenha ocupado
  33.         indexAtual = nextItemPersonagem(INVALID_PLAYER_ID,0);
  34.         posseinfo[indexAtual][indexProd] = indexProduto;
  35.         posseinfo[indexAtual][indexPersoPosse] = playerid;
  36.         posseinfo[indexAtual][quantidadeposse] = quantidade;
  37.     }
  38.  
  39.     //Se for uma arma, atualizar as armas
  40.     if( produtoinfo[posseinfo[indexAtual][indexProd]][acaoProduto] == tp_slot_arma ||
  41.             produtoinfo[posseinfo[indexAtual][indexProd]][acaoProduto] == tp_slot_municao )
  42.         atualizarArmasPlayer(playerid);
  43.  
  44.     new codProduto = produtoinfo[indexProduto][codproduto];
  45.     new codPerso = persoinfo[playerid][codperso];
  46.     format(strsql,sizeof(strsql),"CALL adicionar_item_posse_personagem('%d','%d','%d')",
  47.         codPerso,codProduto,quantidade);
  48.     mysql_query(mysql,strsql,false);
  49.     if( mysql_errno() != 0 )
  50.         return -1;
  51.     return indexAtual;
  52. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement