[POMOC] Y_ini ne cita / zapisuje


Započeo Ermin., Novembar 16, 2013, 23:51:02 POSLE PODNE

prethodna tema - sledeća tema

0 članova i 1 gost pregledaju ovu temu.

Skripta koju koristim: scratch
Detaljan opis problema: pa sve je ok bilo, do danas, nesto me zezo foreach pa sam ga moro apdejtat kao i streamer/sscanf (plugin i include)
radilo je za accounte igraca (Citalo / sejvalo perfekt)
medjutim sad od kako sam uradio Stan Sistem ( sa y_ini )
kreiram stan, radi sve, GMX napravim, Ne Ucita stan, nit sacuva, em ne sacuva/ucita ni igrace..

Dio skripte: do cega moze biti?
Neke slike/video za lakse dobivanje pomoci(neobavezno):

Pa vidis da si nesto ubrljao sa stan sistemom...

Kako cuvas stanove i igrace?
Poslednja Izmena: Novembar 16, 2013, 23:57:53 POSLE PODNE od [X-3] Ralph

jbt ne vjerujem znaci da je do stan sistema,
pa cuvalo bi i sejvalo igrace onda bar
here you got a code:

public LoadUser_data(playerid,name[],value[])
{
    INI_String("Password",PlayerInfo[playerid][pKey], 128);
    INI_String("Email",PlayerInfo[playerid][pEmail], 128);
    INI_Int("Admin",PlayerInfo[playerid][pAdmin]);
    INI_Int("Helper",PlayerInfo[playerid][pHelper]);
    INI_Int("Level",PlayerInfo[playerid][pLevel]);
    INI_Int("Novac",PlayerInfo[playerid][pNovac]);
    INI_Int("Banka",PlayerInfo[playerid][pBanka]);
    INI_Int("Skin",PlayerInfo[playerid][pSkin]);
    INI_String("Izgled",PlayerInfo[playerid][pIzgled], 256);
    INI_Int("Banovan",PlayerInfo[playerid][pBanovan]);
    INI_String("RazlogBana",PlayerInfo[playerid][pRazlogBana], 128);
    INI_Int("Mobitel",PlayerInfo[playerid][pMobitel]);
    INI_Int("BrojMobitela",PlayerInfo[playerid][pBrojMobitela]);
    INI_Int("MobitelRacun",PlayerInfo[playerid][pMobitelRacun]);
    INI_Int("Stan",PlayerInfo[playerid][pStan]);
    return 1;
}

public LoadStan_data(idx, name[], value[])
{
	INI_Int("Posjedovan", StanInfo[idx][sPosjedovan]);
        INI_String("Vlasnik", StanInfo[idx][sVlasnik], MAX_PLAYER_NAME);
	INI_Int("Cijena", StanInfo[idx][sCijena]);
	INI_Int("Level", StanInfo[idx][sLevel]);
	INI_Int("Zakljucan", StanInfo[idx][sZakljucan]);
	INI_Float("UlazX", StanInfo[idx][sUlazx]);
	INI_Float("UlazY", StanInfo[idx][sUlazy]);
	INI_Float("UlazZ", StanInfo[idx][sUlazz]);
	INI_Float("IzlazX", StanInfo[idx][sIzlazx]);
	INI_Float("IzlazY", StanInfo[idx][sIzlazy]);
	INI_Float("IzlazZ", StanInfo[idx][sIzlazz]);
	INI_Int("Interijer", StanInfo[idx][sInt]);
	INI_Int("World", StanInfo[idx][sWorld]);
        return 1;
}

stock SacuvajIgraca(playerid)
{
	        new INI:File = INI_Open(UserPath(playerid));
                INI_WriteString(File,"Password",PlayerInfo[playerid][pKey]);
              	INI_WriteString(File,"Email",PlayerInfo[playerid][pEmail]);
		INI_WriteInt(File,"Admin",PlayerInfo[playerid][pAdmin]);
		INI_WriteInt(File,"Helper",PlayerInfo[playerid][pHelper]);
		INI_WriteInt(File,"Level",PlayerInfo[playerid][pLevel]);
		INI_WriteInt(File,"Novac",PlayerInfo[playerid][pNovac]);
		INI_WriteInt(File,"Banka",PlayerInfo[playerid][pBanka]);
		INI_WriteInt(File,"Skin",PlayerInfo[playerid][pSkin]);
	  	INI_WriteString(File,"Izgled",PlayerInfo[playerid][pIzgled]);
   	        INI_WriteInt(File,"Banovan",PlayerInfo[playerid][pBanovan]);
        	INI_WriteString(File,"RazlogBana",PlayerInfo[playerid][pRazlogBana]);
		INI_WriteInt(File,"Mobitel",PlayerInfo[playerid][pMobitel]);
		INI_WriteInt(File,"BrojMobitela",PlayerInfo[playerid][pBrojMobitela]);
		INI_WriteInt(File,"MobitelRacun",PlayerInfo[playerid][pMobitelRacun]);
		INI_WriteInt(File,"Stan",PlayerInfo[playerid][pStan]);

		INI_Close(File);
}

stock SacuvajStan(ids)
{
	new sFile[32];
	format(sFile, sizeof(sFile), STANPATH, ids);
	new INI:File = INI_Open(sFile);

	INI_WriteInt(File, "Posjedovan", StanInfo[ids][sPosjedovan]);
	INI_WriteString(File, "Vlasnik", StanInfo[ids][sVlasnik]);
	INI_WriteInt(File, "Cijena", StanInfo[ids][sCijena]);
	INI_WriteInt(File, "Level", StanInfo[ids][sLevel]);
	INI_WriteInt(File, "Zakljucan", StanInfo[ids][sZakljucan]);
	INI_WriteFloat(File, "UlazX", StanInfo[ids][sUlazx]);
	INI_WriteFloat(File, "UlazY", StanInfo[ids][sUlazy]);
	INI_WriteFloat(File, "UlazZ", StanInfo[ids][sUlazz]);
	INI_WriteFloat(File, "IzlazX", StanInfo[ids][sIzlazx]);
	INI_WriteFloat(File, "IzlazY", StanInfo[ids][sIzlazy]);
	INI_WriteFloat(File, "IzlazZ", StanInfo[ids][sIzlazz]);
	INI_WriteInt(File, "Interijer", StanInfo[ids][sInt]);
	INI_WriteInt(File, "World", StanInfo[ids][sWorld]);

	INI_Close(File);
	return 1;
}




Kada koristis save? na komandi buy ili kako? Mozda imas dinamicno spremanje svakih sta ja znam koliko minuta?

Napravi komandu ili vise komandi, da rasteresit server malo posto ce biti veliki lag.
Ako stavis sve pod 1 komandu da cuvas mozda ce biti problema sa padanjem servera...
Primer:

CMD:spremanje1(playerid, params[])
{
SacuvajIgraca(playerid);
return 1;
}
i
CMD:spremanje2(playerid, params[])
{
SacuvajStan(ids);
return 1;
}


stvori stan ili sta vec radis pa koristi ove komande pa vidi onda da li ce biti problema nakon GMX-a...ako ne bude onda cemo lako da sredimo.
Poslednja Izmena: Novembar 17, 2013, 00:12:59 PRE PODNE od [X-3] Ralph

Stanovi se cuvaju
OnGameModeExit();

Igraci se cuvaju
OnPlayerDisconnect


Nemam dinamicna spremanja, ali kad odem relog treba logicno da mi sacuva, a ne uradi to........

Pa vidi imas vec stockove mozes dodati u par komandi koje se cesto koriste npr za davanje love i slicne stvari samo stavis u komandu
SacuvajIgraca(playerid); i to je to odmah cemu update informacije.

Isto tako preporucujem ti da uradis tajmer npr za igraca svakih 10 minuta a za stanove i kuce svakih 20 min save

Nego jesi probao ovo da li sacuvas na ovaj nacin pa odes gmx i onda da li ti ucita statse?

Da nisi dirao sta pod OnPlayerConnect?
Poslednja Izmena: Novembar 17, 2013, 01:16:04 PRE PODNE od [X-3] Ralph

ma nisam nista pod OPC diro, pod OPConnect jednostavno ima samo
INI_ParseFile ( da loada ), btw, zasto bi kod /pay tsavio da Sejva account
OPD
SacuvajIgraca(playerid);

Zamisli da neko u 3 sekunde 15 puta naspama /pay, pa u 3 sec da 15 puta otvori fajl zapise sve varijable i zatvori, nigdje veze :S

To otvranje fajlove uopste nije toliki proces koliko vi dizete frku.

Ok ne moras tu staviti...padne ti skripta igraci su izgubilo novac, nisu im se sacuvala vozila itd...sta ces onda? Ode igrac ako mu ne vratis izgubljeno, a nemas dokaza da je uopste imao to.

Sada sto se tice stanova dali ih na neki nacin ocitavas?

Naso sam resenje moze lock i hvala..
Poslednja Izmena: Novembar 17, 2013, 02:29:15 PRE PODNE od Ermin [I'm not spammer]