[Ajuda] string
#1

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;

Reply
#2

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

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

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
Reply
#4

Код:
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й)
Reply
#5

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
Reply
#6

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
Reply
#7

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; 
}
Reply
#8

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
Reply
#9

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);

Reply
#10

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
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)