[Pomoc]Cuvanje


Započeo Markinjoâ„¢, Jun 03, 2012, 01:51:58 PRE PODNE

prethodna tema - sledeća tema

0 članova i 1 gost pregledaju ovu temu.

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[8];
	if(sscanf(params, "s[8]", 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[4];
    	    vozilo = GetPlayerVehicleID( playerid );

	    SetVehicleNumberPlate(vozilo, tablica );

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

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


Sta hoces tacno da ti cuva ,samo broj tablica ili i ime,id vozila...??
Izvinjavam se na svim glupostima i ako sam nekome napisao nesto lose, neko drugi je koristio moj profil!
__________________________________________
https://bk.gta.world - GTA World Balkan - RAGEMP

Citat: ''KopriVa' poslato Jun 03, 2012, 12:05:24 POSLE PODNE
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 ? ;)

Citat: markinjo.amx poslato Jun 03, 2012, 12:08:38 POSLE PODNE
Citat: ''KopriVa' poslato Jun 03, 2012, 12:05:24 POSLE PODNE
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
Poslednja Izmena: Jun 03, 2012, 12:14:49 POSLE PODNE od ''KopriVa'
Izvinjavam se na svim glupostima i ako sam nekome napisao nesto lose, neko drugi je koristio moj profil!
__________________________________________
https://bk.gta.world - GTA World Balkan - RAGEMP

Ljudi nek neko pomogne posto kopriva nije  :(

Citat: markinjo.amx poslato Jun 03, 2012, 13:59:20 POSLE PODNE
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 !!
Izvinjavam se na svim glupostima i ako sam nekome napisao nesto lose, neko drugi je koristio moj profil!
__________________________________________
https://bk.gta.world - GTA World Balkan - RAGEMP

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

CMD:regv(playerid, params[])
{
	new tablica[8];
	if(sscanf(params, "s[8]", 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[4];
        vozilo = GetPlayerVehicleID( playerid );

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

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

stock SacuvajTablicu(string[])
{
	new entry[40];
	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[20][64];
    new strFromFile2[256];
    new cplate[512];
    new cid[512];
    new File:file = fopen("tablica.dat", io_read);
    if (file)
    {
        new idx;
        while (idx < 256)
        {
            fread(file, strFromFile2);
            split(strFromFile2, arrCoords, ',');
            strmid(cid[idx], arrCoords[0], 0, strlen(arrCoords[0]),255);
            strmid(cplate[idx], arrCoords[1], 0, strlen(arrCoords[1]),255);
            SetVehicleNumberPlate(cid[idx],cplate[idx]);
            idx++;
        }
        fclose(file);
    }
    return 1;
}

stock 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;
}


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...
Poslednja Izmena: Jun 03, 2012, 21:55:17 POSLE PODNE od Nenad










Services
Web Designing
Graphic Designing
PAWN Scripting

Citat: Nenad poslato Jun 03, 2012, 21:48:23 POSLE PODNE
public OnVehicleSpawn(vehicleid)
{
    UcitajTablice();
	return 1;
}

CMD:regv(playerid, params[])
{
	new tablica[8];
	if(sscanf(params, "s[8]", 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[4];
        vozilo = GetPlayerVehicleID( playerid );

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

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

stock SacuvajTablicu(string[])
{
	new entry[40];
	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[20][64];
    new strFromFile2[256];
    new cplate[512];
    new cid[512];
    new File:file = fopen("tablica.dat", io_read);
    if (file)
    {
        new idx;
        while (idx < 256)
        {
            fread(file, strFromFile2);
            split(strFromFile2, arrCoords, ',');
            strmid(cid[idx], arrCoords[0], 0, strlen(arrCoords[0]),255);
            strmid(cplate[idx], arrCoords[1], 0, strlen(arrCoords[1]),255);
            SetVehicleNumberPlate(cid[idx],cplate[idx]);
            idx++;
        }
        fclose(file);
    }
    return 1;
}

stock 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;
}


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 .
Izvinjavam se na svim glupostima i ako sam nekome napisao nesto lose, neko drugi je koristio moj profil!
__________________________________________
https://bk.gta.world - GTA World Balkan - RAGEMP

Citat: ''KopriVa' poslato Jun 03, 2012, 21:59:04 POSLE PODNE
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...










Services
Web Designing
Graphic Designing
PAWN Scripting

Citat: Nenad poslato Jun 03, 2012, 21:48:23 POSLE PODNE
public OnVehicleSpawn(vehicleid)
{
    UcitajTablice();
	return 1;
}

CMD:regv(playerid, params[])
{
	new tablica[8];
	if(sscanf(params, "s[8]", 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[4];
        vozilo = GetPlayerVehicleID( playerid );

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

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

stock SacuvajTablicu(string[])
{
	new entry[40];
	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[20][64];
    new strFromFile2[256];
    new cplate[512];
    new cid[512];
    new File:file = fopen("tablica.dat", io_read);
    if (file)
    {
        new idx;
        while (idx < 256)
        {
            fread(file, strFromFile2);
            split(strFromFile2, arrCoords, ',');
            strmid(cid[idx], arrCoords[0], 0, strlen(arrCoords[0]),255);
            strmid(cplate[idx], arrCoords[1], 0, strlen(arrCoords[1]),255);
            SetVehicleNumberPlate(cid[idx],cplate[idx]);
            idx++;
        }
        fclose(file);
    }
    return 1;
}

stock 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;
}


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
Poslednja Izmena: Jun 04, 2012, 01:11:55 PRE PODNE od markinjo.amx

Citat: Nenad poslato Jun 03, 2012, 22:05:53 POSLE PODNE
Citat: ''KopriVa' poslato Jun 03, 2012, 21:59:04 POSLE PODNE
Takodje si napravio za 0.3c :)

ovo UcitajTablice(); stavi pod OnGameModeInit .

Po cemu ti je ovo za 0.3c, sto lupas [cenzura]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
Izvinjavam se na svim glupostima i ako sam nekome napisao nesto lose, neko drugi je koristio moj profil!
__________________________________________
https://bk.gta.world - GTA World Balkan - RAGEMP



SonY_

pod OnGameModeExit stavi

SacuvajTablicu();