[Pomoc] Brisanje ini file-a


Započeo Encyanix, Septembar 03, 2012, 14:50:23 POSLE PODNE

prethodna tema - sledeća tema

0 članova i 1 gost pregledaju ovu temu.

Skripta koju koristim: Gagi ownership
Detaljan opis problema: Znaci mene zanima kako mogu kad npr igrac odabere prodaj auto i kad se taj auto proda. da onaj ini file koji je stvoren prilikom kupnje auta bude izbrisan.. Znaci ukratko: Kad kupis auto stvori se novi ini. file i sad kako kad prodas auto da se isti taj file obrise? Hitno!
Dio skripte: ako bude potrebno
Neke slike/video za lakse dobivanje pomoci(neobavezno): /
Poslednja Izmena: Septembar 03, 2012, 14:57:01 POSLE PODNE od Encyanix

dini_Remove(filename[])
Mysterious roleplay


[quote author=[OG:RP] Mr.Gagi link=topic=52660.msg383110#msg383110 date=1346683935]
Citat: SlicK poslato Septembar 03, 2012, 15:16:09 POSLE PODNE
dini_Remove(filename[])
radi se o y_ini-u
@Topic
koristi fremove...
[/quote]Mozes li mi molim te napisati primjer takve skripte fremove? npr da se file nalazi ovdje Motori\random.ini
Poslednja Izmena: Septembar 03, 2012, 20:52:59 POSLE PODNE od Encyanix

Stari covek

Citat: Encyanix poslato Septembar 03, 2012, 20:45:49 POSLE PODNE
[quote author=[OG:RP] Mr.Gagi link=topic=52660.msg383110#msg383110 date=1346683935]
Citat: SlicK poslato Septembar 03, 2012, 15:16:09 POSLE PODNE
dini_Remove(filename[])
radi se o y_ini-u
@Topic
koristi fremove...
Mozes li mi molim te napisati primjer takve skripte fremove?
[/quote]
Naravno.
format(string,sizeof(string),CoS_File,GetPlayerVehicleID(playerid)); //Formatiramo text koji ce npr. biti CoS/5.ini
if(fexist(string)) //Ispitamo da li postoji to sto trazimo
{
fremove(string); //Brisemo taj fajl ako postoji
//Ovde mozes jos nesto
}

Posto vidim da editujem tvoju filterscriptu zanima me kako mogu rijesit bug znaci: Kad kupim auto i onda ga idem prodat i sad nakon sto close-am sampserver (kucni) i opet upalim i udjem u igricu isti taj auto koji sam prodao se stvori na mjestu na kojemu sam ga kupio i onda ga opet mogu prodat i tako u beskonacnost.. kako si vidio ja sam mislio taj bug rijesit tako da kad se prodao auto da se automatski izbrise taj ini file u kojem pise ko je vlasnik, dali je auto zakljucan itd..
Poslednja Izmena: Septembar 03, 2012, 20:57:44 POSLE PODNE od Encyanix

Ne znam kako stvari funkcionisu u filterscripti Gagijevoj al recimo ja koristim nesto ovako:

stock ObrisiVozilo(vozilo)
{
	new vfile[64]; // cisto radi bezbednosti :)
	format(vfile, sizeof(vfile), "/Vozila/%d.ini", vozilo);
	fremove(vozilo);
	return 1;
}


sad ti naravno folder sa vozilima, te ime fajlova u kojima se cuva promenis (mozda je recimo Vozilo_%d)...

Jel ima ovo veze s vezom hah ? boldano sam promjenio

    case 3: {
 		   	new string[128];
        	if(!IsPlayerInAnyVehicle(playerid)) return SCM(playerid,COLOR_RED,"You must be in car");
			new price = GetVehiclePrice(GetVehicleModel(vehicleid));
			if(Player[playerid][Veh3] == 0 && Player[playerid][Veh2] == 0 && Player[playerid][Veh1] == 0) return SCM(playerid,COLOR_RED,"You don't have car");
			GivePlayerMoney(playerid, price/2);
			SendFormatMSG(playerid,-1,"You are sell car with price $%d",price/2);
			DestroyVehicle(vehicleid);
			if(Player[playerid][Veh1] == vehicleid)
			{
			[b]format(string,sizeof(string),CoS_File,GetPlayerVehicleID(playerid));
			if(fexist(string))
			{
			fremove(string);
			}[/b]
			else if(Player[playerid][Veh2] == vehicleid)
			{
			format(string,sizeof(string),CoS_File,C_Data[vehicleid][ID]);
   			C_Data[vehicleid][cX] = 0;
   			C_Data[vehicleid][cY] = 0;
   			C_Data[vehicleid][cZ] = 0;
   			C_Data[vehicleid][Model] = 0;
   			format(C_Data[vehicleid][Owner],128,"Department");
   			CheckCar(Player[playerid][Veh2]);
			Player[playerid][Veh2] = 0;
			UpdatePlayerInfo(playerid);
			}
			else if(Player[playerid][Veh3] == vehicleid)
			{
			format(string,sizeof(string),CoS_File,C_Data[vehicleid][ID]);
   			C_Data[vehicleid][cX] = 0;
   			C_Data[vehicleid][cY] = 0;
   			C_Data[vehicleid][cZ] = 0;
   			C_Data[vehicleid][Model] = 0;
   			format(C_Data[vehicleid][Owner],128,"Department");
   			CheckCar(Player[playerid][Veh3]);
			Player[playerid][Veh3] = 0;
			UpdatePlayerInfo(playerid);
			}
			}
			}

Stari covek

Da, nesto tako na taj nacin samo dodas ono da obrise fajl ostalo iz onog nemoj brisati jer resetuje neke stavar i ostalo samo doda iako je tu malo lose uradjeno (od strane mene) jer sam mogao brze i lakse ali jbg nisam u tom momentu razmisljao :D

Ajde mozes li mi onda samo editat kako bi ovaj kod treao izgledat kad bi file koji treba izbrisat bio \Auti\random.ini

format(string,sizeof(string),CoS_File,GetPlayerVehicleID(playerid));
			if(fexist(string))
			{
			fremove(string);
			}
Poslednja Izmena: Septembar 03, 2012, 21:14:36 POSLE PODNE od Encyanix

new vfile[32];
format(vfile,32,"/Auti/random.ini");
if(fexist(vfile))
{
     fremove(vfile);
}
Poslednja Izmena: Septembar 03, 2012, 21:18:00 POSLE PODNE od dock

Citat: dock poslato Septembar 03, 2012, 21:17:40 POSLE PODNE
new vfile[32];
format(vfile,32,"/Auti/random.ini");
if(fexist(vfile))
{
     fremove(vfile);
}

Evo probao sam s tom skriptom i radilo je kako treba.. znaci odredjeni file je izbrisan.. al sad pocinju komplikacije.. znaci sad trebam da kad taj odredjeni vlasnik proda auto da se izbrise njegov file.. al to stvarno neznam kako ni dal se moze.. znaci npr ja sam Jaso_Djeduvin i kad kupim auto stvori se novi file sa mojim imenom i prezimenom i onda kad prodam auto se pobrise moj file.. znali mozda neko kako to napraviti?

Pa iskoristis isto:

new ufile[64];
new ime[MAX_PLAYER_NAME]; GetPlayerName(playerid,ime,sizeof(ime));
format(vfile,32,"/"(1)"/%s.ini",ime); // "(1)" - direktorijum (folder) gde se stvara fajl sa tvojim imenom ;)
if(fexist(ufile))
{
     fremove(ufile);
}

Probao sam ovako i nece :/

new ufile[64];
		new ime[MAX_PLAYER_NAME]; GetPlayerName(playerid,ime,sizeof(ime));
		format(ufile,32,"Motori/%d.ini",ime);
		if(fexist(ufile))
		{
   		  fremove(ufile);
		}
Poslednja Izmena: Septembar 04, 2012, 13:29:14 POSLE PODNE od Encyanix

Stari covek

Citat: Encyanix poslato Septembar 04, 2012, 13:28:30 POSLE PODNE
Probao sam ovako i nece :/

new ufile[64];
		new ime[MAX_PLAYER_NAME]; GetPlayerName(playerid,ime,sizeof(ime));
		format(ufile,32,"Motori/%d.ini",ime);
		if(fexist(ufile))
		{
   		  fremove(ufile);
		}

Ne mozes tako ispisati string kao integer.
Umesto Motori/%d.ini
stavis Motori/%s.ini