Skripta koju koristim: N/A
Detaljan opis problema: Kako da napravim spremanje paintjob-a? Napravio sam spremanje obicnog tuninga ali nmg paintjob...
Dio skripte:
Neke slike/video za lakse dobivanje pomoci(neobavezno):
OnVehiclePaintjob (https://wiki.sa-mp.com/wiki/OnVehiclePaintjob) pod ovim callbackom moras sacuvati painjob jer ne postoji funkcija preko koje mozes saznati koji paintjob auto ima.
Primjer:
public OnVehiclePaintJob(playerid, vehicleid, paintjobid)
{
Paintjob[vehicleid] = paintjobid; // prilagodi sebi.
return 1;
}
Ovaj callback se poziva kada vozilo promjeni paintjob u tuning garazi.
i dalje ne kontam sta trebam postaviti pod ucitavanje i spremanje tuninga
Da sacuvas, cuvati mozes samo kada se paintjob promjeni u tuning garazi, primjer:
public OnVehiclePaintJob(playerid, vehicleid, paintjobid)
{
VehInfo[vehicleid][vPaintJob] = paintjobid; // ovo je primjer prilagodi sebi
return 1;
}
A ucitavas sve normalno kao sto i npr ucitavas i poziciju sacuvanog vozila.
A da mu postavis paintjob na respawnu ides ovako pod OnVehicleSpawn:
ChangeVehiclePaintjob(vehicleid, VehInfo[vehicleid][vPaintJob]); // prilagodi sebi.
Dodas jos jednu varijablu u enum za vozila i iz gore navedenog publica getas paint job i cuvas ga na tu varijablu.
U modu mi nema taj public OnVehiclePaintJob ali sam ga dodao i onda trazi Forward funkciju, da li treba tako ili treba nesto drugo
forward OnVehiclePaintJob
public OnVehiclePaintJob
Probao sam bez forward funkcije i kad parkiram vozilo paintjob se pojavi na sekund i nestane, sad cu probati sa forward funkcijom
radio sam system tuning i paintjoba u vrsti toga je vazan tvoji vehicle system to se dodaje sprecificno ali treba da vidim kako si radio tuning system onda da se uradi paintjob i kako da ti cuva paint job jel hoces u dialogu ili hoces u tuning garazu
[pawn]forward SetVehicleModifications(i,car);
public SetVehicleModifications(i,car)
{
if(VoziloInfo[vComponent0] >= 0)
{
AddVehicleComponent(car, VoziloInfo[vComponent0]);
}
if(VoziloInfo[vComponent1] >= 0)
{
AddVehicleComponent(car, VoziloInfo[vComponent1]);
}
if(VoziloInfo[vComponent2] >= 0)
{
AddVehicleComponent(car, VoziloInfo[vComponent2]);
}
if(VoziloInfo[vComponent3] >= 0)
{
AddVehicleComponent(car, VoziloInfo[vComponent3]);
}
if(VoziloInfo[vComponent4] >= 0)
{
AddVehicleComponent(car, VoziloInfo[vComponent4]);
}
if(VoziloInfo[vComponent5] >= 0)
{
AddVehicleComponent(car, VoziloInfo[vComponent5]);
}
if(VoziloInfo[vComponent6] >= 0)
{
AddVehicleComponent(car, VoziloInfo[vComponent6]);
}
if(VoziloInfo[vComponent7] >= 0)
{
AddVehicleComponent(car, VoziloInfo[vComponent7]);
}
if(VoziloInfo[vComponent8] >= 0)
{
AddVehicleComponent(car, VoziloInfo[vComponent8]);
}
if(VoziloInfo[vComponent9] >= 0)
{
AddVehicleComponent(car, VoziloInfo[vComponent9]);
}
if(VoziloInfo[vComponent10] >= 0)
{
AddVehicleComponent(car, VoziloInfo[vComponent10]);
}
if(VoziloInfo[vComponent11] >= 0)
{
AddVehicleComponent(car, VoziloInfo[vComponent11]);
}
if(VoziloInfo[vComponent12] >= 0)
{
AddVehicleComponent(car, VoziloInfo[vComponent12]);
}
if(VoziloInfo[vComponent13] >= 0)
{
AddVehicleComponent(car, VoziloInfo[vComponent13]);
}
}
forward SaveVehicleComponents(car,i);
public SaveVehicleComponents(car,i)
{
new slot[14];
slot[0] = GetVehicleComponentInSlot(car, 0);
slot[1] = GetVehicleComponentInSlot(car, 1);
slot[2] = GetVehicleComponentInSlot(car, 2);
slot[3] = GetVehicleComponentInSlot(car, 3);
slot[4] = GetVehicleComponentInSlot(car, 4);
slot[5] = GetVehicleComponentInSlot(car, 5);
slot[6] = GetVehicleComponentInSlot(car, 6);
slot[7] = GetVehicleComponentInSlot(car, 7);
slot[8] = GetVehicleComponentInSlot(car, 8);
slot[9] = GetVehicleComponentInSlot(car, 9);
slot[10] = GetVehicleComponentInSlot(car, 10);
slot[11] = GetVehicleComponentInSlot(car, 11);
slot[12] = GetVehicleComponentInSlot(car, 12);
slot[13] = GetVehicleComponentInSlot(car, 13);
if(slot[0] != 0)
{
VoziloInfo[vComponent0] = slot[0];
}
if(slot[1] != 0)
{
VoziloInfo[vComponent1] = slot[1];
}
if(slot[2] != 0)
{
VoziloInfo[vComponent2] = slot[2];
}
if(slot[3] != 0)
{
VoziloInfo[vComponent3] = slot[3];
}
if(slot[4] != 0)
{
VoziloInfo[vComponent4] = slot[4];
}
if(slot[5] != 0)
{
VoziloInfo[vComponent5] = slot[5];
}
if(slot[6] != 0)
{
VoziloInfo[vComponent6] = slot[6];
}
if(slot[7] != 0)
{
VoziloInfo[vComponent7] = slot[7];
}
if(slot[8] != 0)
{
VoziloInfo[vComponent8] = slot[8];
}
if(slot[9] != 0)
{
VoziloInfo[vComponent9] = slot[9];
}
if(slot[10] != 0)
{
VoziloInfo[vComponent10] = slot[10];
}
if(slot[11] != 0)
{
VoziloInfo[vComponent11] = slot[11];
}
if(slot[12] != 0)
{
VoziloInfo[vComponent12] = slot[12];
}
if(slot[13] != 0)
{
VoziloInfo[vComponent13] = slot[13];
}
SacuvajVozilo(i);
}
forward UcitajVozila(id, name[], value[]);
public UcitajVozila(id, name[], value[])
{
INI_Int("Model", VoziloInfo[id][vModel]);
INI_Float("X", VoziloInfo[id][vPozX]);
INI_Float("Y", VoziloInfo[id][vPozY]);
INI_Float("Z", VoziloInfo[id][vPozZ]);
INI_Float("A", VoziloInfo[id][vPozA]);
INI_Int("Boja1", VoziloInfo[id][vBoja1]);
INI_Int("Boja2", VoziloInfo[id][vBoja2]);
INI_String("Vlasnik", VoziloInfo[id][vVlasnik],60);
INI_Int("ImaVlasnika", VoziloInfo[id][vImaVlasnika]);
INI_Int("ID", VoziloInfo[id][vID]);
INI_Int("Zakljucan", VoziloInfo[id][vZakljucan]);
INI_Int("Droga", VoziloInfo[id][vDroga]);
INI_Int("Mats", VoziloInfo[id][vMats]);
INI_Int("Oruzije", VoziloInfo[id][vOruzije]);
INI_Int("Municija", VoziloInfo[id][vMunicija]);
INI_Int("Radio", VoziloInfo[id][vRadio]);
INI_Int("Component0", VoziloInfo[id][vComponent0]);
INI_Int("Component1", VoziloInfo[id][vComponent1]);
INI_Int("Component2", VoziloInfo[id][vComponent2]);
INI_Int("Component3", VoziloInfo[id][vComponent3]);
INI_Int("Component4", VoziloInfo[id][vComponent4]);
INI_Int("Component5", VoziloInfo[id][vComponent5]);
INI_Int("Component6", VoziloInfo[id][vComponent6]);
INI_Int("Component7", VoziloInfo[id][vComponent7]);
INI_Int("Component8", VoziloInfo[id][vComponent8]);
INI_Int("Component9", VoziloInfo[id][vComponent9]);
INI_Int("Component10", VoziloInfo[id][vComponent10]);
INI_Int("Component11", VoziloInfo[id][vComponent11]);
INI_Int("Component12", VoziloInfo[id][vComponent12]);
INI_Int("Component13", VoziloInfo[id][vComponent13]);
return 1;
}
stock SacuvajVozilo(id)
{
new vFile[80];
format(vFile, sizeof(vFile), AUTO_FILE, id);
new INI:File = INI_Open(vFile);
INI_WriteInt(File,"Model", VoziloInfo[id][vModel]);
INI_WriteFloat(File,"X", VoziloInfo[id][vPozX]);
INI_WriteFloat(File,"Y", VoziloInfo[id][vPozY]);
INI_WriteFloat(File,"Z", VoziloInfo[id][vPozZ]);
INI_WriteFloat(File,"A", VoziloInfo[id][vPozA]);
INI_WriteInt(File,"Boja1", VoziloInfo[id][vBoja1]);
INI_WriteInt(File,"Boja2", VoziloInfo[id][vBoja2]);
INI_WriteString(File,"Vlasnik", VoziloInfo[id][vVlasnik]);
INI_WriteInt(File,"ImaVlasnika", VoziloInfo[id][vImaVlasnika]);
INI_WriteInt(File,"ID", VoziloInfo[id][vID]);
INI_WriteInt(File,"Zakljucan", VoziloInfo[id][vZakljucan]);
INI_WriteInt(File,"Droga", VoziloInfo[id][vDroga]);
INI_WriteInt(File,"Mats", VoziloInfo[id][vMats]);
INI_WriteInt(File,"Oruzije", VoziloInfo[id][vOruzije]);
INI_WriteInt(File,"Municija", VoziloInfo[id][vMunicija]);
INI_WriteInt(File,"Radio", VoziloInfo[id][vRadio]);
INI_WriteInt(File,"Component0", VoziloInfo[id][vComponent0]);
INI_WriteInt(File,"Component1", VoziloInfo[id][vComponent1]);
INI_WriteInt(File,"Component2", VoziloInfo[id][vComponent2]);
INI_WriteInt(File,"Component3", VoziloInfo[id][vComponent3]);
INI_WriteInt(File,"Component4", VoziloInfo[id][vComponent4]);
INI_WriteInt(File,"Component5", VoziloInfo[id][vComponent5]);
INI_WriteInt(File,"Component6", VoziloInfo[id][vComponent6]);
INI_WriteInt(File,"Component7", VoziloInfo[id][vComponent7]);
INI_WriteInt(File,"Component8", VoziloInfo[id][vComponent8]);
INI_WriteInt(File,"Component9", VoziloInfo[id][vComponent9]);
INI_WriteInt(File,"Component10", VoziloInfo[id][vComponent10]);
INI_WriteInt(File,"Component11", VoziloInfo[id][vComponent11]);
INI_WriteInt(File,"Component12", VoziloInfo[id][vComponent12]);
INI_WriteInt(File,"Component13", VoziloInfo[id][vComponent13]);
INI_Close(File);
return 1;
}
[/pawn]
Citat: Arkoo poslato Mart 13, 2016, 16:48:38 POSLE PODNE
[pawn]forward SetVehicleModifications(i,car);
public SetVehicleModifications(i,car)
{
if(VoziloInfo[vComponent0] >= 0)
{
AddVehicleComponent(car, VoziloInfo[vComponent0]);
}
if(VoziloInfo[vComponent1] >= 0)
{
AddVehicleComponent(car, VoziloInfo[vComponent1]);
}
if(VoziloInfo[vComponent2] >= 0)
{
AddVehicleComponent(car, VoziloInfo[vComponent2]);
}
if(VoziloInfo[vComponent3] >= 0)
{
AddVehicleComponent(car, VoziloInfo[vComponent3]);
}
if(VoziloInfo[vComponent4] >= 0)
{
AddVehicleComponent(car, VoziloInfo[vComponent4]);
}
if(VoziloInfo[vComponent5] >= 0)
{
AddVehicleComponent(car, VoziloInfo[vComponent5]);
}
if(VoziloInfo[vComponent6] >= 0)
{
AddVehicleComponent(car, VoziloInfo[vComponent6]);
}
if(VoziloInfo[vComponent7] >= 0)
{
AddVehicleComponent(car, VoziloInfo[vComponent7]);
}
if(VoziloInfo[vComponent8] >= 0)
{
AddVehicleComponent(car, VoziloInfo[vComponent8]);
}
if(VoziloInfo[vComponent9] >= 0)
{
AddVehicleComponent(car, VoziloInfo[vComponent9]);
}
if(VoziloInfo[vComponent10] >= 0)
{
AddVehicleComponent(car, VoziloInfo[vComponent10]);
}
if(VoziloInfo[vComponent11] >= 0)
{
AddVehicleComponent(car, VoziloInfo[vComponent11]);
}
if(VoziloInfo[vComponent12] >= 0)
{
AddVehicleComponent(car, VoziloInfo[vComponent12]);
}
if(VoziloInfo[vComponent13] >= 0)
{
AddVehicleComponent(car, VoziloInfo[vComponent13]);
}
}
forward SaveVehicleComponents(car,i);
public SaveVehicleComponents(car,i)
{
new slot[14];
slot[0] = GetVehicleComponentInSlot(car, 0);
slot[1] = GetVehicleComponentInSlot(car, 1);
slot[2] = GetVehicleComponentInSlot(car, 2);
slot[3] = GetVehicleComponentInSlot(car, 3);
slot[4] = GetVehicleComponentInSlot(car, 4);
slot[5] = GetVehicleComponentInSlot(car, 5);
slot[6] = GetVehicleComponentInSlot(car, 6);
slot[7] = GetVehicleComponentInSlot(car, 7);
slot[8] = GetVehicleComponentInSlot(car, 8);
slot[9] = GetVehicleComponentInSlot(car, 9);
slot[10] = GetVehicleComponentInSlot(car, 10);
slot[11] = GetVehicleComponentInSlot(car, 11);
slot[12] = GetVehicleComponentInSlot(car, 12);
slot[13] = GetVehicleComponentInSlot(car, 13);
if(slot[0] != 0)
{
VoziloInfo[vComponent0] = slot[0];
}
if(slot[1] != 0)
{
VoziloInfo[vComponent1] = slot[1];
}
if(slot[2] != 0)
{
VoziloInfo[vComponent2] = slot[2];
}
if(slot[3] != 0)
{
VoziloInfo[vComponent3] = slot[3];
}
if(slot[4] != 0)
{
VoziloInfo[vComponent4] = slot[4];
}
if(slot[5] != 0)
{
VoziloInfo[vComponent5] = slot[5];
}
if(slot[6] != 0)
{
VoziloInfo[vComponent6] = slot[6];
}
if(slot[7] != 0)
{
VoziloInfo[vComponent7] = slot[7];
}
if(slot[8] != 0)
{
VoziloInfo[vComponent8] = slot[8];
}
if(slot[9] != 0)
{
VoziloInfo[vComponent9] = slot[9];
}
if(slot[10] != 0)
{
VoziloInfo[vComponent10] = slot[10];
}
if(slot[11] != 0)
{
VoziloInfo[vComponent11] = slot[11];
}
if(slot[12] != 0)
{
VoziloInfo[vComponent12] = slot[12];
}
if(slot[13] != 0)
{
VoziloInfo[vComponent13] = slot[13];
}
SacuvajVozilo(i);
}
forward UcitajVozila(id, name[], value[]);
public UcitajVozila(id, name[], value[])
{
INI_Int("Model", VoziloInfo[id][vModel]);
INI_Float("X", VoziloInfo[id][vPozX]);
INI_Float("Y", VoziloInfo[id][vPozY]);
INI_Float("Z", VoziloInfo[id][vPozZ]);
INI_Float("A", VoziloInfo[id][vPozA]);
INI_Int("Boja1", VoziloInfo[id][vBoja1]);
INI_Int("Boja2", VoziloInfo[id][vBoja2]);
INI_String("Vlasnik", VoziloInfo[id][vVlasnik],60);
INI_Int("ImaVlasnika", VoziloInfo[id][vImaVlasnika]);
INI_Int("ID", VoziloInfo[id][vID]);
INI_Int("Zakljucan", VoziloInfo[id][vZakljucan]);
INI_Int("Droga", VoziloInfo[id][vDroga]);
INI_Int("Mats", VoziloInfo[id][vMats]);
INI_Int("Oruzije", VoziloInfo[id][vOruzije]);
INI_Int("Municija", VoziloInfo[id][vMunicija]);
INI_Int("Radio", VoziloInfo[id][vRadio]);
INI_Int("Component0", VoziloInfo[id][vComponent0]);
INI_Int("Component1", VoziloInfo[id][vComponent1]);
INI_Int("Component2", VoziloInfo[id][vComponent2]);
INI_Int("Component3", VoziloInfo[id][vComponent3]);
INI_Int("Component4", VoziloInfo[id][vComponent4]);
INI_Int("Component5", VoziloInfo[id][vComponent5]);
INI_Int("Component6", VoziloInfo[id][vComponent6]);
INI_Int("Component7", VoziloInfo[id][vComponent7]);
INI_Int("Component8", VoziloInfo[id][vComponent8]);
INI_Int("Component9", VoziloInfo[id][vComponent9]);
INI_Int("Component10", VoziloInfo[id][vComponent10]);
INI_Int("Component11", VoziloInfo[id][vComponent11]);
INI_Int("Component12", VoziloInfo[id][vComponent12]);
INI_Int("Component13", VoziloInfo[id][vComponent13]);
return 1;
}
stock SacuvajVozilo(id)
{
new vFile[80];
format(vFile, sizeof(vFile), AUTO_FILE, id);
new INI:File = INI_Open(vFile);
INI_WriteInt(File,"Model", VoziloInfo[id][vModel]);
INI_WriteFloat(File,"X", VoziloInfo[id][vPozX]);
INI_WriteFloat(File,"Y", VoziloInfo[id][vPozY]);
INI_WriteFloat(File,"Z", VoziloInfo[id][vPozZ]);
INI_WriteFloat(File,"A", VoziloInfo[id][vPozA]);
INI_WriteInt(File,"Boja1", VoziloInfo[id][vBoja1]);
INI_WriteInt(File,"Boja2", VoziloInfo[id][vBoja2]);
INI_WriteString(File,"Vlasnik", VoziloInfo[id][vVlasnik]);
INI_WriteInt(File,"ImaVlasnika", VoziloInfo[id][vImaVlasnika]);
INI_WriteInt(File,"ID", VoziloInfo[id][vID]);
INI_WriteInt(File,"Zakljucan", VoziloInfo[id][vZakljucan]);
INI_WriteInt(File,"Droga", VoziloInfo[id][vDroga]);
INI_WriteInt(File,"Mats", VoziloInfo[id][vMats]);
INI_WriteInt(File,"Oruzije", VoziloInfo[id][vOruzije]);
INI_WriteInt(File,"Municija", VoziloInfo[id][vMunicija]);
INI_WriteInt(File,"Radio", VoziloInfo[id][vRadio]);
INI_WriteInt(File,"Component0", VoziloInfo[id][vComponent0]);
INI_WriteInt(File,"Component1", VoziloInfo[id][vComponent1]);
INI_WriteInt(File,"Component2", VoziloInfo[id][vComponent2]);
INI_WriteInt(File,"Component3", VoziloInfo[id][vComponent3]);
INI_WriteInt(File,"Component4", VoziloInfo[id][vComponent4]);
INI_WriteInt(File,"Component5", VoziloInfo[id][vComponent5]);
INI_WriteInt(File,"Component6", VoziloInfo[id][vComponent6]);
INI_WriteInt(File,"Component7", VoziloInfo[id][vComponent7]);
INI_WriteInt(File,"Component8", VoziloInfo[id][vComponent8]);
INI_WriteInt(File,"Component9", VoziloInfo[id][vComponent9]);
INI_WriteInt(File,"Component10", VoziloInfo[id][vComponent10]);
INI_WriteInt(File,"Component11", VoziloInfo[id][vComponent11]);
INI_WriteInt(File,"Component12", VoziloInfo[id][vComponent12]);
INI_WriteInt(File,"Component13", VoziloInfo[id][vComponent13]);
INI_Close(File);
return 1;
}
[/pawn]
na taj system se treba dodati posebnu skriptu