[Pomoc] Oko tuninga i jos jednog pitanje oko pijace

Započeo Markoni990, Novembar 30, 2013, 11:29:55 PRE PODNE

prethodna tema - sledeća tema

0 članova i 1 gost pregledaju ovu temu.

Skripta koju koristim:BE:YP v1.1
Detaljan opis problema: Ubacio sam jedan tuning sistem koji jedino on radi ali desi mi se da izjedamput nekog vremena ceo cars.cfg mi pobrise nzm do cega, a drugo pitanje ubacio sam kamione i prikolice na prodaju i ja sad kad dodjem do prikolice automacki mi zakaci ali kako da mu iscita da moze da je kupi to nzm nikako napraviti
Dio skripte:// Vehicle mod saving FS by Fresh Killa.

#include <a_samp>


forward Starting();
forward LoadComponents(vehicleid);
forward LoadMods();
forward SaveMods();
forward split(const strsrc[], strdest[][], delimiter);

new VehiclesMod[MAX_VEHICLES][11];

strtok(const string[], &index)
{
new length = strlen(string);
while ((index < length) && (string[index] <= ' '))
{
index++;
}

new offset = index;
new result[20];
while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
{
result[index - offset] = string[index];
index++;
}
result[index - offset] = EOS;
return result;
}

public OnFilterScriptInit()
{
    LoadMods();
    SetTimer("Starting",1,true);
    return 1;
}

/*public OnPlayerStateChange(playerid, newstate, oldstate)
{

if(newstate == PLAYER_STATE_DRIVER || newstate == PLAYER_STATE_PASSENGER)
{
for(new v = 0; v < MAX_VEHICLES; v++)
    {
        LoadComponents(v);
    }
}
}*/
#pragma tabsize 0

public OnPlayerStateChange(playerid, newstate, oldstate)
{
if(newstate == PLAYER_STATE_DRIVER || newstate == PLAYER_STATE_PASSENGER)
{
        //StopAudioStreamForPlayer(playerid);
//PlayAudioStreamForPlayer(playerid, "http://www.pinkradio.com/listen.m3u");
}
// stop the internet stream
else if(oldstate == PLAYER_STATE_DRIVER || oldstate == PLAYER_STATE_PASSENGER)
{
    StopAudioStreamForPlayer(playerid);
}
return 0;
}


public Starting()
{
    for(new v = 0; v < MAX_VEHICLES; v++)
    {
        LoadComponents(v);
    }
}

public OnVehicleSpawn(vehicleid)
{
    LoadComponents(vehicleid);
return 1;
}

public OnVehicleMod(playerid,vehicleid,componentid)
{


SaveMods();

if(VehiclesMod[vehicleid][0] == 0)
{
    VehiclesMod[vehicleid][0] = componentid;
}
else if(VehiclesMod[vehicleid][1] == 0)
{
    VehiclesMod[vehicleid][1] = componentid;
}
else if(VehiclesMod[vehicleid][2] == 0)
{
    VehiclesMod[vehicleid][2] = componentid;
}
else if(VehiclesMod[vehicleid][3] == 0)
{
    VehiclesMod[vehicleid][3] = componentid;
}
else if(VehiclesMod[vehicleid][4] == 0)
{
    VehiclesMod[vehicleid][4] = componentid;
}
else if(VehiclesMod[vehicleid][5] == 0)
{
    VehiclesMod[vehicleid][5] = componentid;
}
else if(VehiclesMod[vehicleid][6] == 0)
{
    VehiclesMod[vehicleid][6] = componentid;
}
else if(VehiclesMod[vehicleid][7] == 0)
{
    VehiclesMod[vehicleid][7] = componentid;
}
else if(VehiclesMod[vehicleid][8] == 0)
{
    VehiclesMod[vehicleid][8] = componentid;
}
else if(VehiclesMod[vehicleid][9] == 0)
{
    VehiclesMod[vehicleid][9] = componentid;
}
else
{
SendClientMessage(playerid,0xFFFFFF96,"Da sacuvate tuning parkirajte vozilo.");
SendClientMessage(playerid,0xFFFFFF96,"Ako zelite ponovo tunirati vozilo kucajte /unmodcar.");
}
    return 1;
}

public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
{
    VehiclesMod[vehicleid][10] = paintjobid;
return 1;
}

public LoadComponents(vehicleid)
{
    if(VehiclesMod[vehicleid][0] >= 1000 && VehiclesMod[vehicleid][0] <= 1193)
{
    if(GetVehicleComponentInSlot(vehicleid,GetVehicleComponentType(VehiclesMod[vehicleid][0])) != VehiclesMod[vehicleid][0])
        {
            AddVehicleComponent(vehicleid,VehiclesMod[vehicleid][0]);
        }
}
if(VehiclesMod[vehicleid][1] >= 1000 && VehiclesMod[vehicleid][1] <= 1193)
{
    if(GetVehicleComponentInSlot(vehicleid,GetVehicleComponentType(VehiclesMod[vehicleid][1])) != VehiclesMod[vehicleid][1])
        {
            AddVehicleComponent(vehicleid,VehiclesMod[vehicleid][1]);
        }
}
if(VehiclesMod[vehicleid][2] >= 1000 && VehiclesMod[vehicleid][2] <= 1193)
{
    if(GetVehicleComponentInSlot(vehicleid,GetVehicleComponentType(VehiclesMod[vehicleid][2])) != VehiclesMod[vehicleid][2])
        {
            AddVehicleComponent(vehicleid,VehiclesMod[vehicleid][2]);
        }
}
if(VehiclesMod[vehicleid][3] >= 1000 && VehiclesMod[vehicleid][3] <= 1193)
{
    if(GetVehicleComponentInSlot(vehicleid,GetVehicleComponentType(VehiclesMod[vehicleid][3])) != VehiclesMod[vehicleid][3])
        {
            AddVehicleComponent(vehicleid,VehiclesMod[vehicleid][3]);
        }
}
if(VehiclesMod[vehicleid][4] >= 1000 && VehiclesMod[vehicleid][4] <= 1193)
{
    if(GetVehicleComponentInSlot(vehicleid,GetVehicleComponentType(VehiclesMod[vehicleid][4])) != VehiclesMod[vehicleid][4])
        {
            AddVehicleComponent(vehicleid,VehiclesMod[vehicleid][4]);
        }
}
if(VehiclesMod[vehicleid][5] >= 1000 && VehiclesMod[vehicleid][5] <= 1193)
{
    if(GetVehicleComponentInSlot(vehicleid,GetVehicleComponentType(VehiclesMod[vehicleid][5])) != VehiclesMod[vehicleid][5])
        {
            AddVehicleComponent(vehicleid,VehiclesMod[vehicleid][5]);
        }
}
if(VehiclesMod[vehicleid][6] >= 1000 && VehiclesMod[vehicleid][6] <= 1193)
{
    if(GetVehicleComponentInSlot(vehicleid,GetVehicleComponentType(VehiclesMod[vehicleid][6])) != VehiclesMod[vehicleid][6])
        {
            AddVehicleComponent(vehicleid,VehiclesMod[vehicleid][6]);
        }
}
if(VehiclesMod[vehicleid][7] >= 1000 && VehiclesMod[vehicleid][7] <= 1193)
{
    if(GetVehicleComponentInSlot(vehicleid,GetVehicleComponentType(VehiclesMod[vehicleid][7])) != VehiclesMod[vehicleid][7])
        {
            AddVehicleComponent(vehicleid,VehiclesMod[vehicleid][7]);
        }
}
if(VehiclesMod[vehicleid][8] >= 1000 && VehiclesMod[vehicleid][8] <= 1193)
{
    if(GetVehicleComponentInSlot(vehicleid,GetVehicleComponentType(VehiclesMod[vehicleid][8])) != VehiclesMod[vehicleid][8])
        {
            AddVehicleComponent(vehicleid,VehiclesMod[vehicleid][8]);
        }
}
if(VehiclesMod[vehicleid][9] >= 1000 && VehiclesMod[vehicleid][9] <= 1193)
{
    if(GetVehicleComponentInSlot(vehicleid,GetVehicleComponentType(VehiclesMod[vehicleid][9])) != VehiclesMod[vehicleid][9])
        {
            AddVehicleComponent(vehicleid,VehiclesMod[vehicleid][9]);
        }
}
    if(VehiclesMod[vehicleid][10] > 0)
{
    ChangeVehiclePaintjob(vehicleid,VehiclesMod[vehicleid][10]);
}
return 1;
}

public OnPlayerCommandText(playerid, cmdtext[])
{
new cmd[256];
new idx;
cmd = strtok(cmdtext, idx);

    if(strcmp("/unmodcar",cmd,true)==0)
    {
        if (!IsPlayerInAnyVehicle(playerid))
        {
            SendClientMessage(playerid,0xFFFFFF96,"Morate biti u vozilu da bi skinuli toning.");
            return 1;
        }
        new vehicleid = GetPlayerVehicleID(playerid);
    if(VehiclesMod[vehicleid][0] > 0)
    {
        VehiclesMod[vehicleid][0] = 0;
        VehiclesMod[vehicleid][1] = 0;
        VehiclesMod[vehicleid][2] = 0;
        VehiclesMod[vehicleid][3] = 0;
        VehiclesMod[vehicleid][4] = 0;
        VehiclesMod[vehicleid][5] = 0;
        VehiclesMod[vehicleid][6] = 0;
        VehiclesMod[vehicleid][7] = 0;
        VehiclesMod[vehicleid][8] = 0;
        VehiclesMod[vehicleid][9] = 0;
        VehiclesMod[vehicleid][10] = 0;
        SendClientMessage(playerid,0xFFFFFF96,"Vozilu je skinut tuning i respawnovan je.");
        SetVehicleToRespawn(vehicleid);
        return 1;
    }
    else
    {
        SendClientMessage(playerid,0xFFFFFF96,"To vozilo nije tunirano.");
    }
        return 1;
}

return 0;
}

public LoadMods()
{
new arrCoords[11][64];
new strFromFile2[256];
new File: file = fopen("carmods.cfg", io_read);
if (file)
{
new idx;
while((idx < MAX_VEHICLES))
{
fread(file, strFromFile2);
split(strFromFile2, arrCoords, '|');
VehiclesMod[idx][0] = strval(arrCoords[0]);
    VehiclesMod[idx][1] = strval(arrCoords[1]);
    VehiclesMod[idx][2] = strval(arrCoords[2]);
    VehiclesMod[idx][3] = strval(arrCoords[3]);
    VehiclesMod[idx][4] = strval(arrCoords[4]);
    VehiclesMod[idx][5] = strval(arrCoords[5]);
    VehiclesMod[idx][6] = strval(arrCoords[6]);
    VehiclesMod[idx][7] = strval(arrCoords[7]);
    VehiclesMod[idx][8] = strval(arrCoords[8]);
    VehiclesMod[idx][9] = strval(arrCoords[9]);
    VehiclesMod[idx][10] = strval(arrCoords[10]);
idx++;
}
fclose(file);
}
return 1;
}

public SaveMods()
{
new idx;
new File: file2;
while((idx < MAX_VEHICLES))
{
new coordsstring[256];
format(coordsstring, sizeof(coordsstring), "%d|%d|%d|%d|%d|%d|%d|%d|%d|%d|%d\n",
VehiclesMod[idx][0],
VehiclesMod[idx][1],
VehiclesMod[idx][2],
VehiclesMod[idx][3],
VehiclesMod[idx][4],
VehiclesMod[idx][5],
VehiclesMod[idx][6],
VehiclesMod[idx][7],
VehiclesMod[idx][8],
VehiclesMod[idx][9],
VehiclesMod[idx][10]);
if(idx == 0)
{
file2 = fopen("carmods.cfg", io_write);
}
else
{
file2 = fopen("carmods.cfg", io_append);
}
fwrite(file2, coordsstring);
idx++;
fclose(file2);
}
return 1;
}

stock PointOverString(string[], argument, schar)
{
new length = strlen(string), arg, result[128], index;
for (new i = 0; i < length; i++)
{
if (string[i] == schar || i == length || string[i + 1] == 10)
{
arg++;
if (arg == argument + 1)
{
result[i-index] = EOS;
return result;
}
else if (arg == argument)
index = i+1;
}
else if (arg == argument)
result[i - index] = string[i];
}
return result;
}

public split(const strsrc[], strdest[][], delimiter)
{
new i, li;
new aNum;
new len;
while(i <= strlen(strsrc)){
    if(strsrc[i]==delimiter || i==strlen(strsrc)){
        len = strmid(strdest[aNum], strsrc, li, i, 128);
        strdest[aNum][len] = 0;
        li = i+1;
        aNum++;
}
i++;
}
return 1;
}

     else if(strcmp(x_nr,"buy",true) == 0)
        {
            if(IsAnOwnableCar(idcar))
            {
                    new newcar = GetPlayerVehicleID(playerid);
    AttachTrailerToVehicle(450, 514);
AttachTrailerToVehicle(584, 514);
AttachTrailerToVehicle(584, 515);
AttachTrailerToVehicle(450, 515);
AttachTrailerToVehicle(584, 403);
AttachTrailerToVehicle(450, 403);
                if(PI[playerid][pLevel] < 2)
    {
                    SendClientMessage(playerid, COLOR_GREY, "Morate biti level 2 da kupite vozilo!");
                    return 1;
    }
    /*if(BizzInfo[45][bProducts] == 0)
{
GameTextForPlayer(playerid, "~r~Rasporodato", 5000, 1);
return 1;
}*/
    if(PI[playerid][pPcarkey] == 9999) { }
    else if(PI[playerid][pPcarkey2] == 9999) { }
    else if(PI[playerid][pPcarkey3] == 9999) { }
    else if(PI[playerid][pPcarkey4] == 9999) { }
    else { SendClientMessage(playerid, COLOR_GREY, "   Ti vec imas 3/4 vozila."); return 1; }
if(CarInfo[idcar][cOwned]==1)
{
    SendClientMessage(playerid, COLOR_GREY, "Neko je vec kupio ovo vozilo.");
    return 1;
}
if(JBC_GetPlayerMoney(playerid) >= CarInfo[idcar][cValue])
{
    if(PI[playerid][pPcarkey] == 9999)
{
PI[playerid][pPcarkey] = idcar;
PI[playerid][pRegVozilo1] = 0;
PI[playerid][pPorez1] = CarInfo[idcar][cValue]/500;
}
    else if(PI[playerid][pPcarkey2] == 9999)
{
PI[playerid][pPcarkey2] = idcar;
PI[playerid][pRegVozilo2] = 0;
PI[playerid][pPorez2] = CarInfo[idcar][cValue]/500;
}
    else if(PI[playerid][pPcarkey3] == 9999)
{
PI[playerid][pPcarkey3] = idcar;
PI[playerid][pRegVozilo3] = 0;
PI[playerid][pPorez3] = CarInfo[idcar][cValue]/500;
}
else if(PI[playerid][pPcarkey4] == 9999 && PI[playerid][pDoniranSlot] == 1)
{
PI[playerid][pPcarkey4] = idcar;
}
    else { return 1; }
CarInfo[idcar][cOwned] = 1;
GetPlayerName(playerid, sendername, sizeof(sendername));
strmid(CarInfo[idcar][cOwner], sendername, 0, strlen(sendername), 9999);
JBC_GivePlayerMoney(playerid,-CarInfo[idcar][cValue]);
BizzInfo[39][bTill] += 5000;
ExtortionSBiz(1, BizzInfo[39][bEntranceCost]);
BizzInfo[39][bProducts]--;
PlayerPlayMusic(playerid);
/*AttachTrailerToVehicle(584, 514);
AttachTrailerToVehicle(450, 514);
//AttachTrailerToVehicle(584, 514);
AttachTrailerToVehicle(584, 515);
AttachTrailerToVehicle(450, 515);
//AttachTrailerToVehicle(450, 515);
AttachTrailerToVehicle(584, 403);
AttachTrailerToVehicle(450, 403);
//AttachTrailerToVehicle(584, 403);*/
GameTextForPlayer(playerid, "~w~Cestitamo~n~Ne zaboravite da [ /v park ] vase vozilo!", 5000, 3);
SendClientMessage(playerid, COLOR_GRAD2, "Cestitamo, kupili ste vozilo!");
SendClientMessage(playerid, COLOR_GRAD2, "Kucajte /vehiclehelp da vidite instrukcije za vozilo!");
SendClientMessage(playerid, COLOR_YELLOW2, "Mozete pokrenuti vas motor sad ( /engine ili pritisnite ALT ) !");
//new newcar = GetPlayerVehicleID(playerid);
DestroyDynamic3DTextLabel(VehicleLabel[idcar]);
    //new engine,lightss,alarm,doors,bonnet,boot,objective;
                        GetVehicleParamsEx(newcar,engine,lightss,alarm,doors,bonnet,boot,objective);
                        SetVehicleParamsEx(newcar,0,lightss,alarm,doors,bonnet,boot,objective);
gEngine[playerid] = 0;
JBC_TogglePlayerControllable(playerid, 1);
engineOn[GetPlayerVehicleID(playerid)] = false;
DateProp(playerid);
                        OnPropUpdate();
SacuvajIgraca(playerid);
return 1;
}
else
{
    SendClientMessage(playerid, COLOR_GREY, "  Nemate dovoljno novca kod sebe ! ");
    return 1;
}
            }
        }
        else
        {
            SendClientMessage(playerid, COLOR_WHITE, "{00C0FF}FPG:YP CMD | {C3C3C3}(/v)ehicle [ime]");
            SendClientMessage(playerid, COLOR_WHITE, "Dostupna imena: park, lock(1-3), sell, sellto, color, find(1-4), options");
            return 1;
        }
    }
    return 1;
}

Neke slike/video za lakse dobivanje pomoci(neobavezno):/


1. ne mozes ubaciti samo tuning sistem moras ga prilagoditi svome cosu.
2. Kao sto ti je uradjeno kada udjes u auto da ti iskoci text ili dijalog za kupovinu tako uradi ako je attachovano da ti iskace dijalog ili text za kupovinu. Samo razmisljaj.

Oke mozes mi dati primer kako ga prilagoditi, jer sam na sve nacine probao i radio sam po snich msm da se tako zove tutorialu i nece da radi jedino ovaj radi ali mi se desi da mi pobrise sva kola iz cars.cfg