SA-MP Forums Archive
[Ajuda] string - 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] string (/showthread.php?tid=655075)



string - iWiNeR - 12.06.2018

HeyGuys, estou com um problema em meu sistema de casas, em que ocorre o seguinte й carregado um 3dtextlabel exibindo, ID da casa e o DONO, o problema estб quando ele exibe o dono a primeira casa carrega normalmente, ja a segunda exibe o dono da primeira e a dela ficando por exemplo assim: DONO : Joazinho Mariazinha e assim por diante na terceira aparece Joazinho Mariazinha Bugzinho. Desde jб agradeзo a ajuda

PHP код:
CarregarCasa(casas)
{
        new 
query[250];
        new 
dono[64];
        for(new 
0MAX_CASASc++)
        {
            
format(querysizeof(query), "Casas/Casa%d.ini"c);
        
            
houseData[c][houseX] = DOF2_GetFloat(query"PosX");
            
houseData[c][houseY] = DOF2_GetFloat(query"PosY");
            
houseData[c][houseZ] = DOF2_GetFloat(query"PosZ");
            
strcat(donoDOF2_GetString(query"Dono"));
            
houseData[c][Dono] = dono;
            
houseData[c][PrecoH] = DOF2_GetInt(query"Preco");
            
houseData[c][CasaID] = DOF2_GetInt(query"CasaId");
            
CreateDynamicPickup(12731houseData[c][houseX], houseData[c][houseY], houseData[c][houseZ], -1, -1, -13.0);
            
format(STRXsizeof(STRX), "{00FFFF}Dono(a): {FFFFFF}%s \n\n{00FFFF}CasaID:{FFFFFF}%d"houseData[c][Dono],c);
            
CreateDynamic3DTextLabel(STRX, -1houseData[c][houseX], houseData[c][houseY], houseData[c][houseZ], 30.0INVALID_PLAYER_IDINVALID_VEHICLE_ID1, -1, -1, -13.0);
        }
        return 
1;




Re: string - Minerva - 12.06.2018

Leia isso: https://sampwiki.blast.hk/wiki/Strcat

PHP код:
format(houseData[c][Dono], 24DOF2_GetString(query"Dono")); 
Espero ter ajudado


Re: string - iWiNeR - 12.06.2018

Quote:
Originally Posted by Minerva
Посмотреть сообщение
Leia isso: https://sampwiki.blast.hk/wiki/Strcat

PHP код:
format(houseData[c][Dono], 24DOF2_GetString(query"Dono")); 
Espero ter ajudado
Ja testei dessa forma, porйm sem resultado


Re: string - Ermanhaut - 12.06.2018

Код:
format(houseData[c][Dono], 24, "%s", DOF2_GetString(query, "Dono"));
Tente isto..
(Sei que й a mesma coisa que sу colocar a funзгo do DOF2 ali, mas sei lб nй)


Re: string - AutoMatic2 - 13.06.2018

PHP код:
new Text3D:LabelCasa[MAX_CASAS];
CarregarCasa(casas)
{
    new 
query[250];
    new 
dono[64];
    new 
PickupId;
    
    for(new 
0MAX_CASASc++)
     {
        
format(querysizeof(query), "Casas/Casa%d.ini"c);
        
houseData[c][houseX] = DOF2_GetFloat(query"PosX");
        
houseData[c][houseY] = DOF2_GetFloat(query"PosY");
        
houseData[c][houseZ] = DOF2_GetFloat(query"PosZ");
        
houseData[c][Dono] = DOF2_GetString(query"Dono"));
        
houseData[c][PrecoH] = DOF2_GetInt(query"Preco");
        
houseData[c][CasaID] = DOF2_GetInt(query"CasaId");
        
PickupId CreateDynamicPickup(12731houseData[c][houseX], houseData[c][houseY], houseData[c][houseZ], -1, -1, -13.0);
        
DOF2_SetInt(query"PickupId"PickupId);
        
format(STRXsizeof(STRX), "{00FFFF}Dono(a): {FFFFFF}%s \n\n{00FFFF}CasaID:{FFFFFF}%d"houseData[c][Dono], c);
        
LabelCasa[c] = CreateDynamic3DTextLabel(STRX, -1houseData[c][houseX], houseData[c][houseY], houseData[c][houseZ], 30.0INVALID_PLAYER_IDINVALID_VEHICLE_ID1, -1, -1, -13.0);
    }
    return 
1;

tenta assim, eu uso DOF2_GetString(query, "Dono")
mas acho que assim tbm da acho que falto o LabelCasa

esse carregar casa se vc for colocar no OnGameModeInit a minha e outra funзгo que so carrega:

Pickup, mapicon й TextLabel o resto carrega sem erros e conflitos


Re: string - iWiNeR - 13.06.2018

Quote:
Originally Posted by AutoMatic2
Посмотреть сообщение
PHP код:
new Text3D:LabelCasa[MAX_CASAS];
CarregarCasa(casas)
{
    new 
query[250];
    new 
dono[64];
    new 
PickupId;
    
    for(new 
0MAX_CASASc++)
     {
        
format(querysizeof(query), "Casas/Casa%d.ini"c);
        
houseData[c][houseX] = DOF2_GetFloat(query"PosX");
        
houseData[c][houseY] = DOF2_GetFloat(query"PosY");
        
houseData[c][houseZ] = DOF2_GetFloat(query"PosZ");
        
houseData[c][Dono] = DOF2_GetString(query"Dono"));
        
houseData[c][PrecoH] = DOF2_GetInt(query"Preco");
        
houseData[c][CasaID] = DOF2_GetInt(query"CasaId");
        
PickupId CreateDynamicPickup(12731houseData[c][houseX], houseData[c][houseY], houseData[c][houseZ], -1, -1, -13.0);
        
DOF2_SetInt(query"PickupId"PickupId);
        
format(STRXsizeof(STRX), "{00FFFF}Dono(a): {FFFFFF}%s \n\n{00FFFF}CasaID:{FFFFFF}%d"houseData[c][Dono], c);
        
LabelCasa[c] = CreateDynamic3DTextLabel(STRX, -1houseData[c][houseX], houseData[c][houseY], houseData[c][houseZ], 30.0INVALID_PLAYER_IDINVALID_VEHICLE_ID1, -1, -1, -13.0);
    }
    return 
1;

tenta assim, eu uso DOF2_GetString(query, "Dono")
mas acho que assim tbm da acho que falto o LabelCasa

esse carregar casa se vc for colocar no OnGameModeInit a minha e outra funзгo que so carrega:

Pickup, mapicon й TextLabel o resto carrega sem erros e conflitos
Dessa forma funcionou, porйm gerou outro bug, quando atualiza o 3DTextLabel ele fica sobreposto com o antigo em vez de atualizar


Re: string - Ermanhaut - 13.06.2018

Quote:
Originally Posted by iWiNeR
Посмотреть сообщение
Dessa forma funcionou, porйm gerou outro bug, quando atualiza o 3DTextLabel ele fica sobreposto com o antigo em vez de atualizar
Vocк tem que checar se hб uma textdraw criada para aquela casa, se hб, vocк deve atualiza-la, nгo criar outra.

Код:
new Text3D:LabelCasa[MAX_CASAS]; 

CarregarCasa(casas) 
{ 
    new query[250]; 
    new dono[64]; 
    new PickupId; 
     
    for(new c = 0; c < MAX_CASAS; c++) 
     { 
        format(query, sizeof(query), "Casas/Casa%d.ini", c); 

        houseData[c][houseX] = DOF2_GetFloat(query, "PosX"); 
        houseData[c][houseY] = DOF2_GetFloat(query, "PosY"); 
        houseData[c][houseZ] = DOF2_GetFloat(query, "PosZ"); 
        houseData[c][Dono] = DOF2_GetString(query, "Dono")); 
        houseData[c][PrecoH] = DOF2_GetInt(query, "Preco"); 
        houseData[c][CasaID] = DOF2_GetInt(query, "CasaId"); 

        PickupId = CreateDynamicPickup(1273, 1, houseData[c][houseX], houseData[c][houseY], houseData[c][houseZ], -1, -1, -1, 3.0); 
        DOF2_SetInt(query, "PickupId", PickupId); 

        format(STRX, sizeof(STRX), "{00FFFF}Dono(a): {FFFFFF}%s \n\n{00FFFF}CasaID:{FFFFFF}%d", houseData[c][Dono], c);
        if(LabelCasa[c] == Text3D:INVALID_3DTEXT_ID) {
            LabelCasa[c] = CreateDynamic3DTextLabel(STRX, -1, houseData[c][houseX], houseData[c][houseY], houseData[c][houseZ], 30.0, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 1, -1, -1, -1, 3.0); 
        }
        else {
            Update3DTextLabelText(LabelCasa[c], -1, STRX);
        }
    } 
    return 1; 
}



Re: string - iWiNeR - 13.06.2018

Quote:
Originally Posted by Ermanhaut
Посмотреть сообщение
Vocк tem que checar se hб uma textdraw criada para aquela casa, se hб, vocк deve atualiza-la, nгo criar outra.

Код:
new Text3D:LabelCasa[MAX_CASAS]; 

CarregarCasa(casas) 
{ 
    new query[250]; 
    new dono[64]; 
    new PickupId; 
     
    for(new c = 0; c < MAX_CASAS; c++) 
     { 
        format(query, sizeof(query), "Casas/Casa%d.ini", c); 

        houseData[c][houseX] = DOF2_GetFloat(query, "PosX"); 
        houseData[c][houseY] = DOF2_GetFloat(query, "PosY"); 
        houseData[c][houseZ] = DOF2_GetFloat(query, "PosZ"); 
        houseData[c][Dono] = DOF2_GetString(query, "Dono")); 
        houseData[c][PrecoH] = DOF2_GetInt(query, "Preco"); 
        houseData[c][CasaID] = DOF2_GetInt(query, "CasaId"); 

        PickupId = CreateDynamicPickup(1273, 1, houseData[c][houseX], houseData[c][houseY], houseData[c][houseZ], -1, -1, -1, 3.0); 
        DOF2_SetInt(query, "PickupId", PickupId); 

        format(STRX, sizeof(STRX), "{00FFFF}Dono(a): {FFFFFF}%s \n\n{00FFFF}CasaID:{FFFFFF}%d", houseData[c][Dono], c);
        if(LabelCasa[c] == Text3D:INVALID_3DTEXT_ID) {
            LabelCasa[c] = CreateDynamic3DTextLabel(STRX, -1, houseData[c][houseX], houseData[c][houseY], houseData[c][houseZ], 30.0, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 1, -1, -1, -1, 3.0); 
        }
        else {
            Update3DTextLabelText(LabelCasa[c], -1, STRX);
        }
    } 
    return 1; 
}
Dessa forma ela nem й carregada


Re: string - AutoMatic2 - 13.06.2018

Tenta assim:

PHP код:
format(STRXsizeof(STRX), "{00FFFF}Dono(a): {FFFFFF}%s \n\n{00FFFF}CasaID:{FFFFFF}%d"houseData[c][Dono], c);
UpdateDynamic3DTextLabelText(LabelCasa[c], BrancoSTRX); 
espero que n haja outro bug com UpdateDynamic3DTextLabelText

ou assim:

PHP код:
if(LabelCasa[c] == Text3D:INVALID_3DTEXT_ID)
{
    
LabelCasa[c] = CreateDynamic3DTextLabel(STRX, -1houseData[c][houseX], houseData[c][houseY], houseData[c][houseZ], 30.0INVALID_PLAYER_IDINVALID_VEHICLE_ID1, -1, -1, -13.0);
}
else
{
    
UpdateDynamic3DTextLabelText(LabelCasa[c], BrancoSTRX);




Re: string - iWiNeR - 13.06.2018

Quote:
Originally Posted by AutoMatic2
Посмотреть сообщение
Tenta assim:

PHP код:
format(STRXsizeof(STRX), "{00FFFF}Dono(a): {FFFFFF}%s \n\n{00FFFF}CasaID:{FFFFFF}%d"houseData[c][Dono], c);
UpdateDynamic3DTextLabelText(LabelCasa[c], BrancoSTRX); 
espero que n haja outro bug com UpdateDynamic3DTextLabelText

ou assim:

PHP код:
if(LabelCasa[c] == Text3D:INVALID_3DTEXT_ID)
{
    
LabelCasa[c] = CreateDynamic3DTextLabel(STRX, -1houseData[c][houseX], houseData[c][houseY], houseData[c][houseZ], 30.0INVALID_PLAYER_IDINVALID_VEHICLE_ID1, -1, -1, -13.0);
}
else
{
    
UpdateDynamic3DTextLabelText(LabelCasa[c], BrancoSTRX);

Continua sobreposto o Update acontece em outro comando, nгo se se isso interfere em algo