[Pedido] Inventario
#1

Bom Fiz Meu Sistema de Inventario Tal Mais quando pego 1 item do Chao aparece em todos os slots que defini '-' !
PHP код:
    if(newkeys == KEY_CROUCH) {
            if(
GetPlayerSpecialAction(playerid) != SPECIAL_ACTION_DUCK) return true;
            for(new 
0MAX_SERVER_ITENSi++) {
            if(
mundoItens[i][mItem_ativo] == false) continue;
            if(!
IsPlayerInRangeOfPoint(playerid1.0mundoItens[i][mItem_x], mundoItens[i][mItem_y], mundoItens[i][mItem_z])) continue;
            
PlayerTextDrawSetPreviewModel(playeridITENS_INV[0][playerid], serverItens[mundoItens[i][mItem_index]][sItem_modelo]);
             
PlayerTextDrawSetPreviewModel(playeridITENS_INV[1][playerid], serverItens[mundoItens[i][mItem_index]][sItem_modelo]);
              
PlayerTextDrawSetPreviewModel(playeridITENS_INV[2][playerid], serverItens[mundoItens[i][mItem_index]][sItem_modelo]);
               
PlayerTextDrawSetPreviewModel(playeridITENS_INV[3][playerid], serverItens[mundoItens[i][mItem_index]][sItem_modelo]);
                
PlayerTextDrawSetPreviewModel(playeridITENS_INV[4][playerid], serverItens[mundoItens[i][mItem_index]][sItem_modelo]);
                 
PlayerTextDrawSetPreviewModel(playeridITENS_INV[5][playerid], serverItens[mundoItens[i][mItem_index]][sItem_modelo]);
                  
PlayerTextDrawSetPreviewModel(playeridITENS_INV[6][playerid], serverItens[mundoItens[i][mItem_index]][sItem_modelo]);
                   
PlayerTextDrawSetPreviewModel(playeridITENS_INV[7][playerid], serverItens[mundoItens[i][mItem_index]][sItem_modelo]);
                   
            
DestroyObject(mundoItens[GetPVarInt(playerid"mundoItens_index_ativo")][mItem_createObject]);
            
Delete3DTextLabel(mundoItens[GetPVarInt(playerid"mundoItens_index_ativo")][mItem_text3d]);
            
SetPVarInt(playerid"mundoItens_index_ativo"i);
            
ApplyAnimation(playerid"BOMBER""BOM_PLANT_IN"10000.000000);
            break;
        }
        return 
1;
    } 
Reply
#2

Explica melhor seu problema, seu cуdigo faz tanto sentido quanto o que vocк especificou.
Reply
#3

Esse tipo de cуdigo pra quem olha de fora й difнcil de entender..

Mas acho que vocк estб colocando o item em todos os slots do inventбrio..

Vocк vai ter fazer um loop pra verificar algum slot vazio, setar o item e dar um break.
Reply
#4

Quote:
Originally Posted by CaioTJF
Посмотреть сообщение
Esse tipo de cуdigo pra quem olha de fora й difнcil de entender..

Mas acho que vocк estб colocando o item em todos os slots do inventбrio..

Vocк vai ter fazer um loop pra verificar algum slot vazio, setar o item e dar um break.
Como Posso Fazer Isso .

Explicando Melhor

Voceis Podem Me Mandar Alguma Maneira de Adicionar Item no Inventario Utilizando a Funзao q Postei Acima
PHP код:
PlayerTextDrawSetPreviewModel(playeridITENS_INV[0][playerid], serverItens[mundoItens[i][mItem_index]][sItem_modelo]); 
Reply
#5

Bom vou tentar explicar de uma maneira simples..

Vocк precisa criar uma array pra armazenar os itens do seu inventбrio

Exemplo:

new Inventary[MAX_PLAYERS][10];

Digamos que se o valor й igual a 0, o slot estб vazio.

for(new i = 0; i < 10; i ++)
if(Inventary[playerid][i] == 0)
Inventary[playerid][i] = itemid;
break;
Reply
#6

L0l e so isso caio ?

#Edit

Mais Como vou saber se o item vai pro inventario
Reply
#7

for(new i = 0; i < 10; i ++)
if(Inventary[playerid][i] == 0)
Inventary[playerid][i] = itemid;
PlayerTextDrawSetPreviewModel(playerid, ITENS_INV[i][playerid], serverItens[mundoItens[i][mItem_index]][sItem_modelo]);
break;
Reply
#8

PHP код:
public OnPlayerKeyStateChange(playeridnewkeys)
{
    if(
newkeys == KEY_CROUCH) {
            if(
GetPlayerSpecialAction(playerid) != SPECIAL_ACTION_DUCK) return true;
            for(new 
0MAX_SERVER_ITENSi++) {
            if(
mundoItens[i][mItem_ativo] == false) continue;
            if(!
IsPlayerInRangeOfPoint(playerid1.0mundoItens[i][mItem_x], mundoItens[i][mItem_y], mundoItens[i][mItem_z])) continue;
            for(new 
013i++){
            if(
Inventario[playerid][i] == 0)
            
Inventario[playerid][i] = itemid
            PlayerTextDrawSetPreviewModel
(playeridITENS_INV[i][playerid], serverItens[mundoItens[i][mItem_index]][sItem_modelo]);
            break;
            }
            
            
DestroyObject(mundoItens[GetPVarInt(playerid"mundoItens_index_ativo")][mItem_createObject]);
            
Delete3DTextLabel(mundoItens[GetPVarInt(playerid"mundoItens_index_ativo")][mItem_text3d]);
            
SendClientMessage(playerid, -1,"Voce Pegou 1 Item Esta em Seu Inventario !");
            
SetPVarInt(playerid"mundoItens_index_ativo"i);
            
ApplyAnimation(playerid"BOMBER""BOM_PLANT_IN"10000.000000);
            break;
        }
        return 
1;
    } 
PHP код:
C:\Users\Usuario\Desktop\THE DM\gamemodes\criarportao.pwn(432) : warning 219local variable "i" shadows a variable at a preceding level
C
:\Users\Usuario\Desktop\THE DM\gamemodes\criarportao.pwn(434) : error 001expected token";"but found ")"
C:\Users\Usuario\Desktop\THE DM\gamemodes\criarportao.pwn(434) : error 029invalid expressionassumed zero
C
:\Users\Usuario\Desktop\THE DM\gamemodes\criarportao.pwn(434) : warning 215expression has no effect
Pawn compiler 3.2.3664              Copyright 
(c1997-2006ITB CompuPhase
2 Errors

Reply
#9

Faltou as chaves, e tem que mudar a var do loop.

for(new b = 0; b < 13; b++)
{
if(Inventario[playerid][b] == 0)
{
Inventario[playerid][b] = serverItens[mundoItens[b][mItem_index]][sItem_modelo]);
PlayerTextDrawSetPreviewModel(playerid, ITENS_INV[b][playerid], serverItens[mundoItens[i][mItem_index]][sItem_modelo]);
break;
}
}
Reply
#10

vOU TESTAR QUALQERCOISA EU EDITO O TOPICO

#Edit Como Posso Mandar a MSG QND O INV TIVER CHeio

Seu Inventario Esta Cheio !

Como Posso Mandar a MSG QND O INV TIVER CHeio

Seu Inventario Esta Cheio !
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)