verificação - Smith - 28/05/2021
Galera estou adaptando um sistema de inventario a minha gm eu consigo salvar os itens em dof2 mas estou com dificuldade para criar o item quando o player connecta, na call OnPlayerConnect eu uso o codico abaixo para criar o item do player
Código: AddItem(playerid, 1, pItens[playerid][Capacete]);
o pItens[playerid][Capacete] ea quantidade eo item salvo, o numero 1 e o id do item
porem quando o player conecta mesmo ele estando com a variavel zerada "0" ele cria o item.
ai tentei fazer a verificação só que não cria o item usando o codigo abaixo
Código: if(pItens[playerid][Capacete] > 0)
{
AddItem(playerid, 1, pItens[playerid][Capacete]);
}
com o codigo a cima não cria o item salvo
se eu deixo sem a verificação ele cria porem cria mesmo o player não tendo o item e se eu faço a verificação não cria nada no inventario espero que tenha dado pra entender oque quis dizer kkk
RE: verificação - Smith - 30/05/2021
(28/05/2021 20:58)Smith Escreveu: Galera estou adaptando um sistema de inventario a minha gm eu consigo salvar os itens em dof2 mas estou com dificuldade para criar o item quando o player connecta, na call OnPlayerConnect eu uso o codico abaixo para criar o item do player
Código: AddItem(playerid, 1, pItens[playerid][Capacete]);
o pItens[playerid][Capacete] ea quantidade eo item salvo, o numero 1 e o id do item
porem quando o player conecta mesmo ele estando com a variavel zerada "0" ele cria o item.
ai tentei fazer a verificação só que não cria o item usando o codigo abaixo
Código: if(pItens[playerid][Capacete] > 0)
{
AddItem(playerid, 1, pItens[playerid][Capacete]);
}
com o codigo a cima não cria o item salvo
se eu deixo sem a verificação ele cria porem cria mesmo o player não tendo o item e se eu faço a verificação não cria nada no inventario espero que tenha dado pra entender oque quis dizer kkk auguem sabe como posso resolver isso?
como criar o item se o valor da variavel for mair que 0?
RE: verificação - ProKillerPa - 30/05/2021
Se não está adicionando quando voce faz a verificação, provavelmente pItens[playerid][Capacete] não está sendo carregada. Manda aqui o carregamento de pItens[playerid][Capacete] e tambem a function AddItem.
RE: verificação - Smith - 31/05/2021
(30/05/2021 17:37)ProKillerPa Escreveu: Se não está adicionando quando voce faz a verificação, provavelmente pItens[playerid][Capacete] não está sendo carregada. Manda aqui o carregamento de pItens[playerid][Capacete] e tambem a function AddItem.
Código: stock AddItem(playerid, itemid, amount, Float:armorstatus = 100.0)
{
new bool:sucess = false;
for(new i = 0; i < MAX_INVENTORY_SLOTS; i ++)
{
if(pInventory[playerid][invSlot][i] == itemid && Itens[pInventory[playerid][invSlot][i]][item_limite] > 1 && pInventory[playerid][invSlotAmount][i] != Itens[pInventory[playerid][invSlot][i]][item_limite])
{
new check = amount + pInventory[playerid][invSlotAmount][i];
if(check > Itens[pInventory[playerid][invSlot][i]][item_limite])
{
pInventory[playerid][invSlotAmount][i] = Itens[itemid][item_limite];
for(new a = 0; a < MAX_INVENTORY_SLOTS; a ++)
{
if(pInventory[playerid][invSlot][a] == 0)
{
pInventory[playerid][invSlot][a] = itemid;
new resto = Itens[itemid][item_limite] - check;
pInventory[playerid][invSlotAmount][a] = resto*-1;
if(Player[playerid][inInventory])
{
PlayerTextDrawSetPreviewModel(playerid, inventario_index[playerid][a], Itens[itemid][item_modelo]);
PlayerTextDrawSetPreviewRot(playerid, inventario_index[playerid][a], Itens[itemid][item_previewrot][0], Itens[itemid][item_previewrot][1], Itens[itemid][item_previewrot][2], Itens[itemid][item_previewrot][3]);
PlayerTextDrawHide(playerid, inventario_index[playerid][a]);
PlayerTextDrawShow(playerid, inventario_index[playerid][a]);
}
break;
}
}
}
else
{
pInventory[playerid][invSlotAmount][i] += amount;
if(Player[playerid][inInventory])
{
if(pInventory[playerid][invSelectedSlot] == i)
{
if(pInventory[playerid][invSlotAmount][i] > 1)
format(String, sizeof(String), "Quantidade: %d", pInventory[playerid][invSlotAmount][i]);
else
String = " ";
PlayerTextDrawSetString(playerid, inventario_description[playerid][3], String);
PlayerTextDrawHide(playerid, inventario_description[playerid][3]);
PlayerTextDrawShow(playerid, inventario_description[playerid][3]);
}
}
}
sucess = true;
break;
}
}
if(sucess)
return true;
for(new i = 0; i < MAX_INVENTORY_SLOTS; i ++)
{
if(pInventory[playerid][invSlot][i] == 0)
{
pInventory[playerid][invSlot][i] = itemid;
pInventory[playerid][invSlotAmount][i] = amount;
if(itemid == 6)
pInventory[playerid][invArmourStatus][i] = armorstatus;
if(Player[playerid][inInventory])
{
PlayerTextDrawSetPreviewModel(playerid, inventario_index[playerid][i], Itens[itemid][item_modelo]);
PlayerTextDrawSetPreviewRot(playerid, inventario_index[playerid][i], Itens[itemid][item_previewrot][0], Itens[itemid][item_previewrot][1], Itens[itemid][item_previewrot][2], Itens[itemid][item_previewrot][3]);
PlayerTextDrawHide(playerid, inventario_index[playerid][i]);
PlayerTextDrawShow(playerid, inventario_index[playerid][i]);
}
break;
}
}
return true;
}
Código: stock pNome(playerid)
{
static Nome[MAX_PLAYER_NAME];
GetPlayerName(playerid, Nome, MAX_PLAYER_NAME);
return Nome;
}
stock GetarItens(playerid)
{
new PlayerItens[30];
format(PlayerItens, sizeof(PlayerItens), PASTA_ITENS, pNome(playerid));
return PlayerItens;
}
stock SalvarItens(playerid)
{
if(DOF2_FileExists(GetarItens(playerid)))
{
DOF2_SetInt(GetarItens(playerid), "MochilaGrande", pItens[playerid][MochilaGrande]);
DOF2_SetInt(GetarItens(playerid), "MochilaMedia", pItens[playerid][MochilaMedia]);
DOF2_SetInt(GetarItens(playerid), "Mochila", pItens[playerid][Mochila]);
DOF2_SetInt(GetarItens(playerid), "Capacete", pItens[playerid][Capacete]);
DOF2_SetInt(GetarItens(playerid), "KitMedico", pItens[playerid][KitMedico]);
DOF2_SetInt(GetarItens(playerid), "Faca", pItens[playerid][Faca]);
DOF2_SetInt(GetarItens(playerid), "Deagle", pItens[playerid][Deagle]);
DOF2_SetInt(GetarItens(playerid), "M4", pItens[playerid][M4]);
DOF2_SetInt(GetarItens(playerid), "Municao", pItens[playerid][Municao]);
DOF2_SetInt(GetarItens(playerid), "Molotov", pItens[playerid][Molotov]);
DOF2_SetInt(GetarItens(playerid), "Colete", pItens[playerid][Colete]);
DOF2_SetInt(GetarItens(playerid), "Ak47", pItens[playerid][Ak47]);
DOF2_SetInt(GetarItens(playerid), "ShotGun", pItens[playerid][ShotGun]);
DOF2_SetInt(GetarItens(playerid), "Cacetete", pItens[playerid][Cacetete]);
DOF2_SetInt(GetarItens(playerid), "Uzi", pItens[playerid][Uzi]);
DOF2_SetInt(GetarItens(playerid), "Usp", pItens[playerid][Usp]);
DOF2_SetInt(GetarItens(playerid), "Mp5", pItens[playerid][Mp5]);
DOF2_SetInt(GetarItens(playerid), "Sniper", pItens[playerid][Sniper]);
DOF2_SetInt(GetarItens(playerid), "Granada", pItens[playerid][Granada]);
DOF2_SaveFile();
}
}
stock CarregarItens(playerid)
{
if(DOF2_FileExists(GetarItens(playerid)))
{
pItens[playerid][MochilaGrande] = DOF2_GetInt(GetarItens(playerid), "MochilaGrande");
pItens[playerid][MochilaMedia] = DOF2_GetInt(GetarItens(playerid), "MochilaMedia");
pItens[playerid][Mochila] = DOF2_GetInt(GetarItens(playerid), "Mochila");
pItens[playerid][Capacete] = DOF2_GetInt(GetarItens(playerid), "Capacete");
pItens[playerid][KitMedico] = DOF2_GetInt(GetarItens(playerid), "KitMedico");
pItens[playerid][Faca] = DOF2_GetInt(GetarItens(playerid), "Faca");
pItens[playerid][Deagle] = DOF2_GetInt(GetarItens(playerid), "Deagle");
pItens[playerid][M4] = DOF2_GetInt(GetarItens(playerid), "M4");
pItens[playerid][Municao] = DOF2_GetInt(GetarItens(playerid), "Municao");
pItens[playerid][Molotov] = DOF2_GetInt(GetarItens(playerid), "Molotov");
pItens[playerid][Colete] = DOF2_GetInt(GetarItens(playerid), "Colete");
pItens[playerid][Ak47] = DOF2_GetInt(GetarItens(playerid), "Ak47");
pItens[playerid][ShotGun] = DOF2_GetInt(GetarItens(playerid), "ShotGun");
pItens[playerid][Cacetete] = DOF2_GetInt(GetarItens(playerid), "Cacetete");
pItens[playerid][Uzi] = DOF2_GetInt(GetarItens(playerid), "Uzi");
pItens[playerid][Usp] = DOF2_GetInt(GetarItens(playerid), "Usp");
pItens[playerid][Mp5] = DOF2_GetInt(GetarItens(playerid), "Mp5");
pItens[playerid][Sniper] = DOF2_GetInt(GetarItens(playerid), "Sniper");
pItens[playerid][Granada] = DOF2_GetInt(GetarItens(playerid), "Granada");
}
}
ai esta
RE: verificação - ProKillerPa - 31/05/2021
Verifique se na sua pasta, a linha 'Capacete' está diferente de zero, e me retorna.
|