SA-MP Forums Archive
[Ajuda] Sistema de Mochila - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [Ajuda] Sistema de Mochila (/showthread.php?tid=664631)



Sistema de Mochila - BrasileiroTop - 05.03.2019

Eu estava criando um sistema de mochila para meu server porйm me deparei com um pequeno problema que esta me dando dor de cabeзa, eu iria colocar imagens porйm acho melhor por um video https://www.yo utu be.com/watch?v=CB...ure=yo utu .besempre que tento pegar a primeira arma da lista as outras simplesmente nгo aparecem no dialog porйm ainda consigo pega-las.

Codigos que eu usei

PHP Code:
//public OnDialogResponse
new armaidmunicoesarma;
switch(
dialogid)
{
case 
DIALOG_MOCHILA_PEGAR:
{
if(
response)
{
arma armamento[playerid][listitem+1][a_armaid];
municoes armamento[playerid][listitem+1][a_municoes];
armamento[playerid][listitem+1][a_armaid] = 0;
armamento[playerid][listitem+1][a_municoes] = 0;
format(_stringsizeof(_string), "[ MOCHILA ] Vocк pegou a arma %s com %d de muniзгo"NomeArmas[arma], municoes);
SendClientMessage(playerid, -1_string);
GivePlayerWeapon(playeridarmamunicoes);
//cancelar
}
case 
DIALOG_MOCHILA:
{
if(
response)
{
if(
listitem == 0// Guardar Arma
{
if(
GetPlayerWeapon(playerid) == 0) return SendClientMessage(playerid0xFF0000FF"Vocк nгo estб com nenhuma arma na mгo!");
for(new 
1MAX_ARMASy++)
{
if(
armamento[playerid][y][a_armaid] != 0) continue;
armaid y;
break;
}
arma GetPlayerWeapon(playerid), municoes GetPlayerAmmo(playerid);
armamento[playerid][armaid][a_armaid] = arma;
armamento[playerid][armaid][a_municoes] = municoes;
format(_stringsizeof(_string), "[ MOCHILA ] Vocк guardou a arma %s com %d de muniзгo em sua mochila"NomeArmas[arma], municoes);
SendClientMessage(playerid, -1_string);
RemovePlayerWeapon(playeridarma);
}
if(
listitem == 1// Pegar Arma
{
new 
string[1024],string2[256];
for(new 
1MAX_ARMASy++)
{
if(
armamento[playerid][y][a_armaid] > 0)
{
armaid armamento[playerid][y][a_armaid];
municoes armamento[playerid][y][a_municoes];
if(
== 1)
{
format(string2sizeof(string2), "{FFFFFF}Arma\t{FFFFFF}Muniзгo\n0%d. {FF6347}%s\t{D3D3D3}%d\n"yNomeArmas[armaid], municoes);
strcat(stringstring2);
} else {
format(string2sizeof(string2), "\n0%d. {FF6347}%s\t{D3D3D3}%d"yNomeArmas[armaid], municoes);
strcat(stringstring2);
}
}
}
ShowPlayerDialog(playeridDIALOG_MOCHILA_PEGARDIALOG_STYLE_TABLIST_HEADERS"MOCHILA"string"Selecionar""Cancelar");
}
//
}
}




Re: Sistema de Mochila - Felipealves - 06.03.2019

Vocк tentou guarda a arma dnv? eu acho que й ai o problema, vocк nгo seta outra arma no lugar da AK que foi pega a arma que saiu do index 1 nгo entra outra nesse index tente verificar isso, tente colocar a AK de volta e ve se aparece a deagle.


Re: Sistema de Mochila - BrasileiroTop - 06.03.2019

Quote:
Originally Posted by Felipealves
View Post
Vocк tentou guarda a arma dnv? eu acho que й ai o problema, vocк nгo seta outra arma no lugar da AK que foi pega a arma que saiu do index 1 nгo entra outra nesse index tente verificar isso, tente colocar a AK de volta e ve se aparece a deagle.
Se eu colocar a AK de volta aparece as duas, o problema й esse se eu tirar qualquer arma do listitem 0 as outras nгo aparecem, teria como atualizar os listitem apos eu remover uma arma do 0? por exemplo eu tenho 4 armas na lista e se eu remover a arma numero 1, a arma que esta no numero 2 se torna a numero 1...


Re: Sistema de Mochila - RIPOrkut - 06.03.2019

Tente assim:

Code:
for(new y = 0; y < MAX_ARMAS; y++)



Re: Sistema de Mochila - BrasileiroTop - 06.03.2019

Quote:
Originally Posted by RIPOrkut
View Post
Tente assim:

Code:
for(new y = 0; y < MAX_ARMAS; y++)
Eu ja tentei, o real problema e que quando eu pego a arma do slot 0 a arma que esta no slot 1 nao desce pro zero ela continua no slot 1


Re: Sistema de Mochila - Felipealves - 06.03.2019

coloca abaixo qnd remove
PHP Code:
AjustarArma(playerid){
    for(new 
0MAX_ARMASi++){
        if(
armamento[playerid][i][a_armaid] != 0){ // se essa arma for diferente de 0 verifica se a anterior й 0
            
for(new 0MAX_ARMASy++){
                if(
armamento[playerid][y][a_armaid] == 0){ // essa й a anterior!
                    
armamento[playerid][y][a_armaid] = armamento[playerid][i][a_armaid];
                    
armamento[playerid][y][a_municoes] = armamento[playerid][i][a_municoes];
                    
// antiga posiзгo recebe 0
                    
armamento[playerid][i][a_armaid] = 0;
                    
armamento[playerid][i][a_municoes] = 0;
                }
            }
        }
    }




Re: Sistema de Mochila - BrasileiroTop - 06.03.2019

Quote:
Originally Posted by Felipealves
View Post
coloca abaixo qnd remove
PHP Code:
AjustarArma(playerid){
    for(new 
0MAX_ARMASi++){
        if(
armamento[playerid][i][a_armaid] != 0){ // se essa arma for diferente de 0 verifica se a anterior й 0
            
for(new 0MAX_ARMASy++){
                if(
armamento[playerid][y][a_armaid] == 0){ // essa й a anterior!
                    
armamento[playerid][y][a_armaid] = armamento[playerid][i][a_armaid];
                    
armamento[playerid][y][a_municoes] = armamento[playerid][i][a_municoes];
                    
// antiga posiзгo recebe 0
                    
armamento[playerid][i][a_armaid] = 0;
                    
armamento[playerid][i][a_municoes] = 0;
                }
            }
        }
    }

Muito obrigado, vocк й um mito!