Balkan SA:MP

PAWN skriptanje, gamemodovi, filterskripte, include fajlovi, mape, pluginovi => Razgovor u vezi PAWN - skriptanja => Temu započeo: Markoni990 poslato Novembar 30, 2013, 11:29:55 PRE PODNE

Naslov: [Pomoc] Oko tuninga i jos jednog pitanje oko pijace
Poruka od: Markoni990 poslato Novembar 30, 2013, 11:29:55 PRE PODNE
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):/
Naslov: Odg: [Pomoc] Oko tuninga i jos jednog pitanje oko pijace
Poruka od: Markoni990 poslato Novembar 30, 2013, 21:45:46 POSLE PODNE
Pa koj magarac ste ovo otvorili ako nece pomoci??? :)
Naslov: Odg: [Pomoc] Oko tuninga i jos jednog pitanje oko pijace
Poruka od: [BR] Ralph poslato Novembar 30, 2013, 23:33:06 POSLE PODNE
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.
Naslov: Odg: [Pomoc] Oko tuninga i jos jednog pitanje oko pijace
Poruka od: Markoni990 poslato Decembar 01, 2013, 01:07:57 PRE PODNE
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