[Ajuda] Coordenadas nгo sгo salvas.
#1

Olб bom dia.
Estava criando um sistema de concessionбria, e tive um pequeno problema.
Quando eu coloco para criar os arquivos de cada carro da concessionбria, a ъnica coordenada que ele sгo й a do veнculo Nє 1.
OnFilterScriptInit
pawn Код:
new pasta[128],idcar[128],Float:vehx, Float:vehy, Float:vehz,Float:z_rot,newcar;
    if(newcar != INVALID_VEHICLE_ID)
    {
        for(new i = 0; i < sizeof(ConceV); i++)
        {
            GetPlayerVehicleID(i);
            GetVehiclePos(i, vehx, vehy, vehz);
            GetVehicleZAngle(i, z_rot);
            format(pasta, sizeof (pasta),"brasilcapitalpaulista/Carros/%i.ini", i);
            format(idcar, sizeof (idcar),"%i", i);
            if(!DOF2_FileExists(pasta))
            {
                DOF2_CreateFile(pasta);
                DOF2_SetString(pasta,"IDCarro", idcar);
                DOF2_SetString(pasta,"Proprietario", "Concessionaria");
                DOF2_SetFloat(pasta,"X", vehx);
                DOF2_SetFloat(pasta,"Y", vehy);
                DOF2_SetFloat(pasta,"Z", vehz);
                DOF2_SetFloat(pasta,"ZRot", z_rot);
                DOF2_SetString(pasta,"__________________", "__________________");
                DOF2_SetFloat(pasta,"XOriginal", vehx);
                DOF2_SetFloat(pasta,"YOriginal", vehy);
                DOF2_SetFloat(pasta,"ZOriginal", vehz);
                DOF2_SetFloat(pasta,"ZRotOritinal", z_rot);
               
                DOF2_SaveFile();
            }
            SetVehicleToRespawn(i);
        }
    }
O que hб de errado ?
Obrigado.
Reply
#2

Qual o tamanho do vetor/matriz ConceV?
Reply
#3

pawn Код:
new ConceV[58];
Reply
#4

Й quase um tiro no escuro:

PHP код:
new pasta[128], Float:vehxFloat:vehyFloat:vehz,Float:z_rot;
for(new 
0sizeof(ConceV); i++)
{
    
format(pastasizeof (pasta),"brasilcapitalpaulista/Carros/%i.ini"i);
    
GetVehiclePos(ivehxvehyvehz);
    
GetVehicleZAngle(iz_rot);
            
    if(!
DOF2_FileExists(pasta))
        
DOF2_CreateFile(pasta);
    
    
DOF2_SetInt(pasta,"IDCarro"GetPlayerVehicleID(i));
    
DOF2_SetString(pasta,"Proprietario""Concessionaria");
    
DOF2_SetFloat(pasta,"X"vehx);
    
DOF2_SetFloat(pasta,"Y"vehy);
    
DOF2_SetFloat(pasta,"Z"vehz);
    
DOF2_SetFloat(pasta,"ZRot"z_rot);
    
DOF2_SetString(pasta,"__________________""__________________");
    
DOF2_SetFloat(pasta,"XOriginal"vehx);
    
DOF2_SetFloat(pasta,"YOriginal"vehy);
    
DOF2_SetFloat(pasta,"ZOriginal"vehz);
    
DOF2_SetFloat(pasta,"ZRotOritinal"z_rot);
            
    
DOF2_SaveFile();
    
SetVehicleToRespawn(i);

Reply
#5

Continua a mesma coisa PT.
Ele salva apenas o veнculo Nє 1.

Veнculo Nє 1:
Код:
IDCarro = 0
Proprietario = Concessionaria
X = -1049.00000000
Y = 3362.89990234
Z = -84.90000152
ZRot = 0.00000000
__________________ = __________________
XOriginal = -1049.00000000
YOriginal = 3362.89990234
ZOriginal = -84.90000152
ZRotOritinal = 0.00000000
Veнculo 2...3....4
Код:
IDCarro = 0
Proprietario = Concessionaria
X = 0.00000000
Y = 0.00000000
Z = 0.00000000
ZRot = 0.00000000
__________________ = __________________
XOriginal = 0.00000000
YOriginal = 0.00000000
ZOriginal = 0.00000000
ZRotOritinal = 0.00000000
Reply
#6

PHP код:
new pasta[128], Float:vehxFloat:vehyFloat:vehz,Float:z_rot;
for(new 
0sizeof(ConceV); i++)
{
    if ( 
GetVehicleModel(i) != )   // se o veнculo i existir ...
    
{
        
format(pastasizeof (pasta),"brasilcapitalpaulista/Carros/%i.ini"i);
        
GetVehiclePos(ivehxvehyvehz);
        
GetVehicleZAngle(iz_rot);
        if( !
fexist(pasta) )
            
DOF2_CreateFile(pasta);
        
DOF2_SetInt(pasta,"IDCarro",GetVehicleModel(i));
        
DOF2_SetString(pasta,"Proprietario""Concessionaria");
        
DOF2_SetFloat(pasta,"X"vehx);
        
DOF2_SetFloat(pasta,"Y"vehy);
        
DOF2_SetFloat(pasta,"Z"vehz);
        
DOF2_SetFloat(pasta,"ZRot"z_rot);
        
DOF2_SetString(pasta,"__________________""__________________");
        
DOF2_SetFloat(pasta,"XOriginal"vehx);
        
DOF2_SetFloat(pasta,"YOriginal"vehy);
        
DOF2_SetFloat(pasta,"ZOriginal"vehz);
        
DOF2_SetFloat(pasta,"ZRotOritinal"z_rot);
        
DOF2_SaveFile();
        
SetVehicleToRespawn(i);
    }
    else
    {
        
printf("[ ERRO ] O veнculo %d nгo existe!"i);
    }

Vocк deve criar os carros da seguinte maneira:
PHP код:
new pasta[128];
for(new 
0sizeof(ConceV); i++)
{
    
format(pastasizeof (pasta),"brasilcapitalpaulista/Carros/%i.ini"i);
    if( 
fexist(pasta) )
    {
        
ConceV[i] = CreateVehicle(DOF2_GetInt(pasta"IDCarro"), DOF2_GetFloat(pasta"X"), DOF2_GetFloat(pasta"Y"), DOF2_GetFloat(pasta"Z"), DOF2_GetFloat(pasta"ZRot"), 0160);
    }

Ao invйs de:
PHP код:
DOF2_SetString(pasta,"__________________""__________________"); 
Recomendo usar TAGS.

Exemplo:
PHP код:
#include a_samp
#include DOF2
main(){}
public 
OnGameModeInit()
{
    
DOF2_CreateFile("Teste.txt");
    
DOF2_SetFloat("Teste.txt""X"12.0"Original");
    
DOF2_SetFloat("Teste.txt""X"13.0);
    
DOF2_SaveFile();
    
printf("X (Original): %f\n\nX: %f"DOF2_GetFloat("Teste.txt""X""Original"), DOF2_GetFloat("Teste.txt""X") );
    return 
1;

Como irб ficar o arquivo Teste.txt.

PHP код:
13.00000000
[Original]
12.00000000 
Beijos!
Reply
#7

Tб realmente vocк conseguiu me confundir fodidamente.
Vamos la, como vai funcionar isso?
Reply
#8

iCastel, se cуdigo ficou confuso, e vocк nгo entendeu muito bem o que eu fiz.
O IDCarro й o id do veнculo nгo o modelo.
Outra coisa, como eu iria "criar" os carro ai, com a coordenadas ? porque na verdade, a criaзгo de carro sгo feito diretamente na GM, e nгo por comando.
Em relaзгo as tags, obrigado por me mostrar sobre, irei dar uma estudada.
Porйm ainda nгo consegui solucionar meu problema.
Reply
#9

Mostre-nos como estas a criar os veiculos
Reply
#10

Consegui fazer a funзгo, alterando de ongamemodeinit para onvehiclespawn, assim consigo salvar as cordenadas quando o carro nasce, sem problemas!

Porйm, o problema й que quando utilizo /estacionar, o carro ele muda a rotaзгo, mesmo eu salvando e alterando ela para o padrгo...

OnVehicleSpawn:
pawn Код:
if(vehicleid == ConceV[i])
    {
        format(pasta, sizeof (pasta),"brasilcapitalpaulista/Carros/%i.ini", i);
        SetVehiclePos(i, DOF2_GetFloat(pasta, "X"),DOF2_GetFloat(pasta, "Y"),DOF2_GetFloat(pasta, "Z"));
        SetVehicleZAngle(i, DOF2_GetFloat(pasta, "ZRot"));
    }
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)