[Pomoc]Vehicle ownership u y_iniu


Započeo Keso, Januar 06, 2015, 20:17:38 POSLE PODNE

prethodna tema - sledeća tema

0 članova i 1 gost pregledaju ovu temu.

Bok bok evo me nakon dugo vremena poceo opet skriptat malo :) ali evo vec problema..
Skripta koju koristim:Moja (od nule)
Detaljan opis problema:Iz nekog razloga ne radi vehicle system,neznam zasto..
Dio skripte:
Izvan maina
enum VehicleStatistics
{
        SAMPID = 999, 
        FileID = 999, 
        ModelID, 
        Color1, 
        Color2, 
        Float: ParkX,
        Float: ParkY, 
        Float: ParkZ, 
        Float: ParkAng, 
        Plate[MAX_NUMBER_PLATE] 
}
new gVehicleStats[MAX_VEHICLES][VehicleStatistics];

forward LoadVehicleFromFile(i, name[], value[]); 
public LoadVehicleFromFile(i, name[], value[]) 
{
        INI_Int("ModelID", gVehicleStats[i][ModelID]); 
        INI_Int("Color1", gVehicleStats[i][Color1]); 
        INI_Int("Color2", gVehicleStats[i][Color2]); 
        INI_Float("ParkX", gVehicleStats[i][ParkX]); 
        INI_Float("ParkY", gVehicleStats[i][ParkY]); 
        INI_Float("ParkZ", gVehicleStats[i][ParkZ]); 
        INI_Float("ParkAng", gVehicleStats[i][ParkAng]); 
        INI_String("Plate", gVehicleStats[i][Plate], MAX_NUMBER_PLATE); 
        return 0;
}

stock LoadVehicle(i) 
{
        new path[32]; 
        format(path, sizeof(path), "userveh/%d.ini", i); 

        if(fexist(path)) 
        {
                INI_ParseFile(path, "LoadVehicleFromFile", .bExtra = true, .extra = i); 
                gVehicleStats[i][SAMPID] = GetAvailableVehicleID(); 
                gVehicleStats[i][FileID] = i; 
                gVehicleStats[i][SAMPID] = AddStaticVehicleEx(gVehicleStats[i][ModelID], gVehicleStats[i][ParkX], gVehicleStats[i][ParkY], \
                gVehicleStats[i][ParkZ], gVehicleStats[i][ParkAng], gVehicleStats[i][Color1], gVehicleStats[i][Color2], 36000); 
                SetVehicleNumberPlate(gVehicleStats[i][SAMPID], gVehicleStats[i][Plate]); 
                SetVehicleToRespawn(gVehicleStats[i][SAMPID]); 
                printf("[Vehicle System]: Loaded Vehicle %d successfully!", i);//Ovo ne pokazuje u prozoru servera
        }
}

stock LoadSavedVehicles() 
{
        for(new i; i<MAX_VEHICLES; i++) 
        {
                LoadVehicle(i); 
        }
}

stock SaveVehicle(i) 
{
        new path[32]; 

        if(gVehicleStats[i][FileID] == 999) 
        {
                gVehicleStats[i][FileID] = GetAvailableFileID();
        }

        format(path, sizeof(path), "userveh/%s.ini", gVehicleStats[i][FileID]); 

        new INI:handle = INI_Open(path);
        INI_WriteInt(handle, "ModelID", gVehicleStats[i][ModelID]);
        INI_WriteInt(handle, "Color1", gVehicleStats[i][Color1]);
        INI_WriteInt(handle, "Color2", gVehicleStats[i][Color2]);
        INI_WriteFloat(handle, "ParkX", gVehicleStats[i][ParkX]);
        INI_WriteFloat(handle, "ParkY", gVehicleStats[i][ParkY]);
        INI_WriteFloat(handle, "ParkZ", gVehicleStats[i][ParkZ]);
        INI_WriteFloat(handle, "ParkAng", gVehicleStats[i][ParkAng]);
        INI_WriteString(handle, "Plate", gVehicleStats[i][Plate]);
        INI_Close(handle);
}

stock SaveAllVehicles() 
{
        for(new i; i<MAX_VEHICLES; i++) 
        {
                SaveVehicle(i); 
        }
}

stock GetAvailableVehicleID() 
{
        for(new i; i<MAX_VEHICLES; i++) 
        {
                if(gVehicleStats[i][SAMPID] == 999) 
                {
                        return i; 
                }
        }
        return 0;
}

stock GetAvailableFileID() 
{
        new path[32]; 

        for(new i; i<MAX_VEHICLES; i++)
        {
                format(path, sizeof(path), "userveh/%s.ini", i); 
                if(!fexist(path)) 
                {
                        return i;
                }
        }
        return 0;
}

LoadSavedVehicles je u OnGameModeIinit i SaveAllVehicles je u OnGameModeExit.
Neke slike/video za lakse dobivanje pomoci(neobavezno): //

Pojasni kakav problem imas nismo vidoviti u cemu imas problem :D

ko sto rekoh,ne radi :P ne ucitava auto,ne pise da je ucitalo,nista... kao da nema uopce tog u skripti


gore je u kodu,al evo opet cu napisat:
forward LoadVehicleFromFile(i, name[], value[]); 
public LoadVehicleFromFile(i, name[], value[]) 
{
        INI_Int("ModelID", gVehicleStats[i][ModelID]); 
        INI_Int("Color1", gVehicleStats[i][Color1]); 
        INI_Int("Color2", gVehicleStats[i][Color2]); 
        INI_Float("ParkX", gVehicleStats[i][ParkX]); 
        INI_Float("ParkY", gVehicleStats[i][ParkY]); 
        INI_Float("ParkZ", gVehicleStats[i][ParkZ]); 
        INI_Float("ParkAng", gVehicleStats[i][ParkAng]); 
        INI_String("Plate", gVehicleStats[i][Plate], MAX_NUMBER_PLATE); 
        return 0;
}

stock LoadVehicle(i) 
{
        new path[32]; 
        format(path, sizeof(path), "userveh/%d.ini", i); 

        if(fexist(path)) 
        {
                INI_ParseFile(path, "LoadVehicleFromFile", .bExtra = true, .extra = i); 
                gVehicleStats[i][SAMPID] = GetAvailableVehicleID(); 
                gVehicleStats[i][FileID] = i; 
                gVehicleStats[i][SAMPID] = AddStaticVehicleEx(gVehicleStats[i][ModelID], gVehicleStats[i][ParkX], gVehicleStats[i][ParkY], \
                gVehicleStats[i][ParkZ], gVehicleStats[i][ParkAng], gVehicleStats[i][Color1], gVehicleStats[i][Color2], 36000); 
                SetVehicleNumberPlate(gVehicleStats[i][SAMPID], gVehicleStats[i][Plate]); 
                SetVehicleToRespawn(gVehicleStats[i][SAMPID]); 
                printf("[Vehicle System]: Loaded Vehicle %d successfully!", i); 
        }
}

stock LoadSavedVehicles() 
{
        for(new i; i<MAX_VEHICLES; i++) 
        {
                LoadVehicle(i); 
        }
}

Joj izvini samo sam bacio pogled na onaj kod koji si odma stavio i nisam ni video da ima jos... Ajde ovako ova 2 stocka sto imas za load car brisi i jednostavno u public OnGameModeInit stavi ovo i vidi sta ce biti...

for(new i = 0; i < sizeof(gVehicleStats); i++)
	{
  		new path[32];
        format(path, sizeof(path), "userveh/%d.ini", i);
        if(fexist(path))
        {
	        INI_ParseFile(path, "LoadVehicleFromFile", .bExtra = true, .extra = i);
	        gVehicleStats[i][SAMPID] = GetAvailableVehicleID();
	        gVehicleStats[i][FileID] = i;
	        gVehicleStats[i][SAMPID] = AddStaticVehicleEx(gVehicleStats[i][ModelID], gVehicleStats[i][ParkX], gVehicleStats[i][ParkY], gVehicleStats[i][ParkZ], gVehicleStats[i][ParkAng], gVehicleStats[i][Color1], gVehicleStats[i][Color2], 36000);
	        SetVehicleNumberPlate(gVehicleStats[i][SAMPID], gVehicleStats[i][Plate]);
	        SetVehicleToRespawn(gVehicleStats[i][SAMPID]);
	        printf("[Vehicle System]: Loaded Vehicle %d successfully!", i);
        }
	}

opet nista...i opet ne izbaci u prozoru od servera :/

for(new i = 0; i < sizeof(gVehicleStats); i++)
	{
  		new path[32];
        format(path, sizeof(path), "userveh/%d.ini", i);
        if(fexist(path))
        {
	        INI_ParseFile(path, "LoadVehicleFromFile", .bExtra = true, .extra = i);
	        gVehicleStats[i][SAMPID] = AddStaticVehicleEx(gVehicleStats[i][ModelID], gVehicleStats[i][ParkX], gVehicleStats[i][ParkY], gVehicleStats[i][ParkZ], gVehicleStats[i][ParkAng], gVehicleStats[i][Color1], gVehicleStats[i][Color2], 36000);
	        gVehicleStats[i][SAMPID] = GetAvailableVehicleID();
	        gVehicleStats[i][FileID] = i;
	        SetVehicleNumberPlate(gVehicleStats[i][SAMPID], gVehicleStats[i][Plate]);
	        SetVehicleToRespawn(gVehicleStats[i][SAMPID]);
	        printf("[Vehicle System]: Loaded Vehicle %d successfully!", i);
        }
	}

opet nista..

EDIT: citao sam cjeli kod detaljno i ispravio nest i sad radi,hvala na pomoci,moze lock 
Poslednja Izmena: Januar 06, 2015, 22:11:20 POSLE PODNE od Keso