[Pomoc]Cuvanje

pre 13 godina
1,059
pregleda
17
postova
markinjo98
Shot Caller
pre 13 godina
Skripta koju koristim:Zabranjena je na ovom forumu
Detaljan opis problema:Ne mogu napraviti kada igrac registruje vozilo da mu se sacuva ...
Dio skripte:Evo ta komanda za registraciju
CMD:regv(playerid, params[])
{
new tablica;
if(sscanf(params, "s", tablica)) return SendClientMessage(playerid, -1, "Korištenje: /registracijav [text - maximalno 8 znakova]");
        if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage( playerid, -1, "Morate biti u vozilu" );
if(IsPlayerInRangeOfPoint(playerid,5,x,y,z))
{
    new vozilo, Float:vP;
        vozilo = GetPlayerVehicleID( playerid );

    SetVehicleNumberPlate(vozilo, tablica );

    GetPlayerPos(playerid, vP, vP, vP );
    GetVehicleZAngle(vozilo, vP );
    SetVehicleToRespawn(vozilo);
    SetVehiclePos(vozilo, vP, vP, vP );
    SetVehicleZAngle(vozilo, vP );
    PutPlayerInVehicle(playerid, vozilo, 0);
}
    return 1;
}

Neke slike/video za lakse dobivanje pomoci(neobavezno):
markinjo98
Shot Caller
pre 13 godina
BUMP ! Zna li neko  😕
Marko Koprivanac
Underboss
pre 13 godina
Sta hoces tacno da ti cuva ,samo broj tablica ili i ime,id vozila...??
markinjo98
Shot Caller
pre 13 godina
''KopriVa' wrote on June 3, 2012, 10:05 am:
Sta hoces tacno da ti cuva ,samo broj tablica ili i ime,id vozila...??
Znaci hocu da mi sacuvaju samo tablice ali da budu na tom autu npr. dodjem sa infernusom i registrujem udjem posle 2 sata tablice stoje na sultanu....I ako ti nije frka da li mozes da napravis da kada neko ukuca /regv na odredjenoj lokaciji prvo da proveri da li je on vlasnik ? 😉
Marko Koprivanac
Underboss
pre 13 godina
markinjo.amx wrote on June 3, 2012, 10:05 am:
Sta hoces tacno da ti cuva ,samo broj tablica ili i ime,id vozila...??
Znaci hocu da mi sacuvaju samo tablice ali da budu na tom autu npr. dodjem sa infernusom i registrujem udjem posle 2 sata tablice stoje na sultanu....I ako ti nije frka da li mozes da napravis da kada neko ukuca /regv na odredjenoj lokaciji prvo da proveri da li je on vlasnik ? 😉

Daj mi 20 min da ubacim komandu u svoj mod i napravim cuvanje i ucitavanje 🙂
EDIT : Saljem ti na PM
markinjo98
Shot Caller
pre 13 godina
Ljudi nek neko pomogne posto kopriva nije  ☹️
Marko Koprivanac
Underboss
pre 13 godina
markinjo.amx wrote on June 3, 2012, 11:59 am:
Ljudi nek neko pomogne posto kopriva nije  ☹️


Nisam ti pomogao zato sto koristis GG mod koj nema COS,a i necu da ti pomognem zato sto koristis mod KOJI JE UKRADEN !!
Nenad
Shot Caller
pre 13 godina

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

CMD:regv(playerid, params[])
{
new tablica;
if(sscanf(params, "s", tablica)) return SendClientMessage(playerid, -1, "Korištenje: /regv [text - maximalno 8 znakova]");
    if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage( playerid, -1, "Morate biti u vozilu" );
if(IsPlayerInRangeOfPoint(playerid,5,x,y,z)) //ovdje idu tvoje koordinate
{
    new vozilo, Float:vP;
        vozilo = GetPlayerVehicleID( playerid );

    SetVehicleNumberPlate(vozilo, tablica );
    new string;
    format(string, 40, "Vozilo: %d\nText tablice: %s", vozilo, tablica);
    SacuvajTablicu(string);

    GetPlayerPos(playerid, vP, vP, vP );
    GetVehicleZAngle(vozilo, vP );
    SetVehicleToRespawn(vozilo);
    SetVehiclePos(vozilo, vP, vP, vP );
    SetVehicleZAngle(vozilo, vP );
    PutPlayerInVehicle(playerid, vozilo, 0);
}
    return 1;
}

stock SacuvajTablicu(string[])
{
new entry;
format(entry, sizeof(entry), "%s\r\n",string);
new File:hFile;
hFile = fopen("tablica.dat", io_append);
fwrite(hFile, entry);
fclose(hFile);
}

stock UcitajTablice()
{
    new arrCoords;
    new strFromFile2;
    new cplate;
    new cid;
    new File:file = fopen("tablica.dat", io_read);
    if (file)
    {
        new idx;
        while (idx < 256)
        {
            fread(file, strFromFile2);
            split(strFromFile2, arrCoords, ',');
            strmid(cid, arrCoords, 0, strlen(arrCoords),255);
            strmid(cplate, arrCoords, 0, strlen(arrCoords),255);
            SetVehicleNumberPlate(cid,cplate);
            idx++;
        }
        fclose(file);
    }
    return 1;
}

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


Malo sebi optimiziraj i prebaci na drugi sistem cuvanja podataka na pimjer Y_INI...
Takodje, mozda ces morati malo da sredis jer sam ovo napravio bez testiranja...
Marko Koprivanac
Underboss
pre 13 godina
Nenad wrote on June 3, 2012, 7:48 pm:

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

CMD:regv(playerid, params[])
{
new tablica;
if(sscanf(params, "s", tablica)) return SendClientMessage(playerid, -1, "Korištenje: /regv [text - maximalno 8 znakova]");
    if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage( playerid, -1, "Morate biti u vozilu" );
if(IsPlayerInRangeOfPoint(playerid,5,x,y,z)) //ovdje idu tvoje koordinate
{
    new vozilo, Float:vP;
        vozilo = GetPlayerVehicleID( playerid );

    SetVehicleNumberPlate(vozilo, tablica );
    new string;
    format(string, 40, "Vozilo: %d\nText tablice: %s", vozilo, tablica);
    SacuvajTablicu(string);

    GetPlayerPos(playerid, vP, vP, vP );
    GetVehicleZAngle(vozilo, vP );
    SetVehicleToRespawn(vozilo);
    SetVehiclePos(vozilo, vP, vP, vP );
    SetVehicleZAngle(vozilo, vP );
    PutPlayerInVehicle(playerid, vozilo, 0);
}
    return 1;
}

stock SacuvajTablicu(string[])
{
new entry;
format(entry, sizeof(entry), "%s\r\n",string);
new File:hFile;
hFile = fopen("tablica.dat", io_append);
fwrite(hFile, entry);
fclose(hFile);
}

stock UcitajTablice()
{
    new arrCoords;
    new strFromFile2;
    new cplate;
    new cid;
    new File:file = fopen("tablica.dat", io_read);
    if (file)
    {
        new idx;
        while (idx < 256)
        {
            fread(file, strFromFile2);
            split(strFromFile2, arrCoords, ',');
            strmid(cid, arrCoords, 0, strlen(arrCoords),255);
            strmid(cplate, arrCoords, 0, strlen(arrCoords),255);
            SetVehicleNumberPlate(cid,cplate);
            idx++;
        }
        fclose(file);
    }
    return 1;
}

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


Malo sebi optimiziraj i prebaci na drugi sistem cuvanja podataka na pimjer Y_INI...
Takodje, mozda ces morati malo da sredis jer sam ovo napravio bez testiranja...


Takodje si napravio za 0.3c 🙂

ovo UcitajTablice(); stavi pod OnGameModeInit .
Nenad
Shot Caller
pre 13 godina
''KopriVa' wrote on June 3, 2012, 7:59 pm:
Takodje si napravio za 0.3c 🙂

ovo UcitajTablice(); stavi pod OnGameModeInit .


Po cemu ti je ovo za 0.3c, sto lupas gluposti 😉

A zaboravio sam napisati da stavi i pod OnGameModeInit za ucitavanje...
markinjo98
Shot Caller
pre 13 godina
Nenad wrote on June 3, 2012, 7:48 pm:

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

CMD:regv(playerid, params[])
{
new tablica;
if(sscanf(params, "s", tablica)) return SendClientMessage(playerid, -1, "Korištenje: /regv [text - maximalno 8 znakova]");
    if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage( playerid, -1, "Morate biti u vozilu" );
if(IsPlayerInRangeOfPoint(playerid,5,x,y,z)) //ovdje idu tvoje koordinate
{
    new vozilo, Float:vP;
        vozilo = GetPlayerVehicleID( playerid );

    SetVehicleNumberPlate(vozilo, tablica );
    new string;
    format(string, 40, "Vozilo: %d\nText tablice: %s", vozilo, tablica);
    SacuvajTablicu(string);

    GetPlayerPos(playerid, vP, vP, vP );
    GetVehicleZAngle(vozilo, vP );
    SetVehicleToRespawn(vozilo);
    SetVehiclePos(vozilo, vP, vP, vP );
    SetVehicleZAngle(vozilo, vP );
    PutPlayerInVehicle(playerid, vozilo, 0);
}
    return 1;
}

stock SacuvajTablicu(string[])
{
new entry;
format(entry, sizeof(entry), "%s\r\n",string);
new File:hFile;
hFile = fopen("tablica.dat", io_append);
fwrite(hFile, entry);
fclose(hFile);
}

stock UcitajTablice()
{
    new arrCoords;
    new strFromFile2;
    new cplate;
    new cid;
    new File:file = fopen("tablica.dat", io_read);
    if (file)
    {
        new idx;
        while (idx < 256)
        {
            fread(file, strFromFile2);
            split(strFromFile2, arrCoords, ',');
            strmid(cid, arrCoords, 0, strlen(arrCoords),255);
            strmid(cplate, arrCoords, 0, strlen(arrCoords),255);
            SetVehicleNumberPlate(cid,cplate);
            idx++;
        }
        fclose(file);
    }
    return 1;
}

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


Malo sebi optimiziraj i prebaci na drugi sistem cuvanja podataka na pimjer Y_INI...
Takodje, mozda ces morati malo da sredis jer sam ovo napravio bez testiranja...
Brate ono sacuva tamo gde smo napravili da cuva ali nakon restarta ne ostane
Marko Koprivanac
Underboss
pre 13 godina
Nenad wrote on June 3, 2012, 7:59 pm:
Takodje si napravio za 0.3c 🙂

ovo UcitajTablice(); stavi pod OnGameModeInit .


Po cemu ti je ovo za 0.3c, sto lupas osti 😉

A zaboravio sam napisati da stavi i pod OnGameModeInit za ucitavanje...

Od 0.3d nema publica OnVehicleSpawn (tj ima ali se ne koristi) nego je to "sjedinjeno" sa OnGameModeInit
markinjo98
Shot Caller
pre 13 godina
Ljudi je l' zna neko ? 😉
markinjo98
Shot Caller
pre 13 godina
BUMP ! Zna li neko 😕
Obrisan korisnik Obrisan korisnik
pre 13 godina
pod OnGameModeExit stavi
SacuvajTablicu();

Morate biti prijavljeni da biste odgovorili na ovu temu.

Prijava