Portal SAMP
[Ajuda] Colocar modelo correto - Versão de Impressão

+- Portal SAMP (https://portalsamp.com)
+-- Fórum: SA-MP (https://portalsamp.com/forumdisplay.php?fid=5)
+--- Fórum: Área de suporte (https://portalsamp.com/forumdisplay.php?fid=6)
+--- Tópico: [Ajuda] Colocar modelo correto (/showthread.php?tid=2760)



Colocar modelo correto - DeathSync - 04/09/2022

Gostaria de setar o modelo para os [pArma][0], [pArma][1] e [pArma][2] como poderia fazer?


Código:
        if (DATA_INFO[playerid][pArma][0]  == 0)
        {
            PlayerTextDrawSetPreviewModel(playerid, Inv_PTD[playerid][4], 10), PlayerTextDrawShow(playerid, Inv_PTD[playerid][4]);
            PlayerTextDrawSetPreviewModel(playerid, Inv_PTD[playerid][5], 10), PlayerTextDrawShow(playerid, Inv_PTD[playerid][5]);
            PlayerTextDrawSetPreviewModel(playerid, Inv_PTD[playerid][6], 10), PlayerTextDrawShow(playerid, Inv_PTD[playerid][6]);
            
        }
        else if (DATA_INFO[playerid][pArma][0] != 0)
        {
            PlayerTextDrawSetPreviewModel(playerid, Inv_PTD[playerid][4], GetWeaponModel(DATA_INFO[playerid][pArma][0])), PlayerTextDrawShow(playerid, Inv_PTD[playerid][4]);
            PlayerTextDrawSetPreviewModel(playerid, Inv_PTD[playerid][5], GetWeaponModel(DATA_INFO[playerid][pArma][1])), PlayerTextDrawShow(playerid, Inv_PTD[playerid][5]);
            PlayerTextDrawSetPreviewModel(playerid, Inv_PTD[playerid][6], GetWeaponModel(DATA_INFO[playerid][pArma][2])), PlayerTextDrawShow(playerid, Inv_PTD[playerid][6]);
           
        }



RE: Colocar modelo correto - xbruno1000x - 05/09/2022

Explique melhor sua ideia, pois eu não consegui compreender a dúvida.


RE: Colocar modelo correto - DeathSync - 05/09/2022

Eu coloquei que se o pArma[0] fosse igual a 0 não aparecia o modelo da arma e sim ficaria em branco, mas se o id fosse 1 iria aparecer o modelo da arma, porém eu queria que a mesma logica funcionasse para os pArmas[1] e [2], mas só funciona com o 0.

Não sei se consegue entender.


RE: Colocar modelo correto - xbruno1000x - 05/09/2022

Código:
        if (DATA_INFO[playerid][pArma][0]  == 0)
        {
            PlayerTextDrawSetPreviewModel(playerid, Inv_PTD[playerid][4], 10), PlayerTextDrawShow(playerid, Inv_PTD[playerid][4]);           
        }
        if (DATA_INFO[playerid][pArma][1]  == 0)
        {
            PlayerTextDrawSetPreviewModel(playerid, Inv_PTD[playerid][5], 10), PlayerTextDrawShow(playerid, Inv_PTD[playerid][5]);
        }   
        if (DATA_INFO[playerid][pArma][2]  == 0)
        {
            PlayerTextDrawSetPreviewModel(playerid, Inv_PTD[playerid][6], 10), PlayerTextDrawShow(playerid, Inv_PTD[playerid][6]);
        }                
        if (DATA_INFO[playerid][pArma][0] != 0)
        {
            PlayerTextDrawSetPreviewModel(playerid, Inv_PTD[playerid][4], GetWeaponModel(DATA_INFO[playerid][pArma][0])), PlayerTextDrawShow(playerid, Inv_PTD[playerid][4]);
        }
        if (DATA_INFO[playerid][pArma][1] != 0)
        {        
            PlayerTextDrawSetPreviewModel(playerid, Inv_PTD[playerid][5], GetWeaponModel(DATA_INFO[playerid][pArma][1])), PlayerTextDrawShow(playerid, Inv_PTD[playerid][5]);
        }
        if (DATA_INFO[playerid][pArma][2] != 0)
        {        
            PlayerTextDrawSetPreviewModel(playerid, Inv_PTD[playerid][6], GetWeaponModel(DATA_INFO[playerid][pArma][2])), PlayerTextDrawShow(playerid, Inv_PTD[playerid][6]);
        }
Tente dessa forma.


RE: Colocar modelo correto - DeathSync - 05/09/2022

Tem alguma forma simplificada de fazer isso?


RE: Colocar modelo correto - xbruno1000x - 05/09/2022

(05/09/2022 21:12)DeathSync Escreveu: Tem alguma forma simplificada de fazer isso?

Dá pra fazer com looping e case, por exemplo.

Código:
for(new i; i != 3; i++)
{
    switch(DATA_INFO[playerid][pArma][i])
    {
        case 0: PlayerTextDrawSetPreviewModel(playerid, Inv_PTD[playerid][i+4], 10), PlayerTextDrawShow(playerid, Inv_PTD[playerid][i+4]);
tipo isso...

Eu fiz da forma mais simples, apenas para demonstrar a lógica que deve ser seguida.