Balkan SA:MP

PAWN skriptanje, gamemodovi, filterskripte, include fajlovi, mape, pluginovi => Razgovor u vezi PAWN - skriptanja => Temu započeo: Arkoo poslato Mart 13, 2016, 11:01:16 PRE PODNE

Naslov: [POMOC] PaintJob
Poruka od: Arkoo poslato Mart 13, 2016, 11:01:16 PRE PODNE
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):
Naslov: Odg: [POMOC] PaintJob
Poruka od: [CH]Lenon poslato Mart 13, 2016, 11:14:15 PRE PODNE
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.
Naslov: Odg: [POMOC] PaintJob
Poruka od: Arkoo poslato Mart 13, 2016, 12:37:54 POSLE PODNE
i dalje ne kontam sta trebam postaviti pod ucitavanje i spremanje tuninga
Naslov: Odg: [POMOC] PaintJob
Poruka od: [CH]Lenon poslato Mart 13, 2016, 12:43:23 POSLE PODNE
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.
Naslov: Odg: [POMOC] PaintJob
Poruka od: Letic poslato Mart 13, 2016, 15:42:54 POSLE PODNE
Dodas jos jednu varijablu u enum za vozila i iz gore navedenog publica getas paint job i cuvas ga na tu varijablu.
Naslov: Odg: [POMOC] PaintJob
Poruka od: Arkoo poslato Mart 13, 2016, 16:19:24 POSLE PODNE
U modu mi nema taj public OnVehiclePaintJob ali sam ga dodao i onda trazi Forward funkciju, da li treba tako ili treba nesto drugo
Naslov: Odg: [POMOC] PaintJob
Poruka od: Letic poslato Mart 13, 2016, 16:27:29 POSLE PODNE
forward OnVehiclePaintJob
public OnVehiclePaintJob
Naslov: Odg: [POMOC] PaintJob
Poruka od: Arkoo poslato Mart 13, 2016, 16:28:49 POSLE PODNE
Probao sam bez forward funkcije i kad parkiram vozilo paintjob se pojavi na sekund i nestane, sad cu probati sa forward funkcijom
Naslov: Odg: [POMOC] PaintJob
Poruka od: Ilcev321 poslato Mart 13, 2016, 16:31:31 POSLE PODNE
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
Naslov: Odg: [POMOC] PaintJob
Poruka od: 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]
Naslov: Odg: [POMOC] PaintJob
Poruka od: Ilcev321 poslato Mart 13, 2016, 17:11:02 POSLE PODNE
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