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):
BUMP ! Zna li neko ???
Sta hoces tacno da ti cuva ,samo broj tablica ili i ime,id vozila...??
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
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 !!
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...
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 .
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...
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
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
Ljudi je l' zna neko ? ;)
BUMP ! Zna li neko ???
pod OnGameModeExit stavi
SacuvajTablicu();
Citat: SonY_ poslato Jun 05, 2012, 15:28:17 POSLE PODNE
pod OnGameModeExit stavi
SacuvajTablicu();
Stavim ja sve to ali nece da ucita kad kasnije pokrenem server sve se sacuva lepo !
http://balkan-samp.com/forum/index.php?topic=45327.msg336147#msg336147
Pogledaj odgovor na ovu temu,mozda pronadjes odgovor...
Pozdrav