[POMOC] OKO save user podataka


Započeo AlenTheBest, Januar 18, 2016, 19:02:50 POSLE PODNE

prethodna tema - sledeća tema

0 članova i 1 gost pregledaju ovu temu.

Skripta koju koristim  : moj mod od 0
Opis problema : radio sam sistem organizacija i sad sam promijenio kod sacuvanja podataka igraca
da mi lider i clan sacuva kao textualni podatak (nadam se da me razumijete postavio sam da mi lide sacuva kao npr Police Department a ne samo id organizacije npr 1)
i sad kad se registrujem on sve sacuva kako treba ali cim izadjem on umjesto da upise Lider = Nema
i Clan = Nema
on samo upise
Lider =
Clan =
nadam se da me razumijete
Dio skripte :
evo vam sacuvanje
public SacuvanjePodataka(playerid)
{
	new INI:File = INI_Open(UserPath(playerid));
	INI_SetTag(File,"data");
	INI_WriteInt(File, "Admin", PlayerInfo[playerid][pAdmin]);
	INI_WriteInt(File, "Helper", PlayerInfo[playerid][pHelper]);
	INI_WriteInt(File, "Novac", PlayerInfo[playerid][pNovac]);
    INI_WriteInt(File, "Banka", PlayerInfo[playerid][pBanka]);
    INI_WriteInt(File, "Zlato", PlayerInfo[playerid][pZlato]);
    INI_WriteInt(File, "Drzava", PlayerInfo[playerid][pDrzava]);
    INI_WriteInt(File, "Godine", PlayerInfo[playerid][pGodine]);
    INI_WriteInt(File, "Spol", PlayerInfo[playerid][pSpol]);
    INI_WriteInt(File, "Skin", PlayerInfo[playerid][pSkin]);
    INI_WriteInt(File, "Level", PlayerInfo[playerid][pLevel]);
    INI_WriteInt(File, "Respekti", PlayerInfo[playerid][pRespect]);
    INI_WriteInt(File, "Plata", PlayerInfo[playerid][pPlata]);
    INI_WriteInt(File, "Biznis", PlayerInfo[playerid][pBusinessID]);
    INI_WriteInt(File, "Kuca", PlayerInfo[playerid][pHouseID]);
    INI_WriteInt(File, "Auto", PlayerInfo[playerid][pAuto]);
    INI_WriteInt(File, "MinuteZaPlatu", PlayerInfo[playerid][pMinuteZaPlatu]);
    INI_WriteInt(File, "Armour", PlayerInfo[playerid][pArmour]);
    INI_WriteInt(File, "Health", PlayerInfo[playerid][pHealth]);
    INI_WriteString(File, "Lider", PlayerInfo[playerid][pLider]);
    INI_WriteString(File, "Clan", PlayerInfo[playerid][pClan]);
    INI_WriteInt(File, "Rank", PlayerInfo[playerid][pRank]);
    INI_WriteInt(File, "Droga", PlayerInfo[playerid][pDroga]);
    INI_WriteInt(File, "Mats", PlayerInfo[playerid][pMats]);
	INI_Close(File);
	return 1;
}

Slika/Video : evo vam gdje sacuva podatke
Vlasnik RoyalGaming RolePlay

Daj komandu makeleader da vidimo nesto

"They have computers, and they may have other weapons of mass destruction."

Citat: MEDO poslato Januar 18, 2016, 19:23:18 POSLE PODNE
Daj komandu makeleader da vidimo nesto
CMD:makeleader(playerid, params[])//                                          >> Makeleader (Vlasnik)
{
	new AdminIme[MAX_PLAYER_NAME], IgracIme[MAX_PLAYER_NAME], OrgID, string[256], IgracevID, FileOrganization[40];
	GetPlayerName(playerid, AdminIme, MAX_PLAYER_NAME);
	GetPlayerName(IgracevID, IgracIme, MAX_PLAYER_NAME);
	if(!IsPlayerAdmin(playerid) && PlayerInfo[playerid][pAdmin] != 8) return SendClientMessage(playerid, 0xFFFFFFFF, "{FF0000}[RG] {FFFFFF}Niste ovlasteni da koristite ovu komandu{FF0000}!!!");
	if(sscanf(params, "ud", IgracevID, OrgID)) return SendClientMessage(playerid, 0xFFFFFFFF, "{0085FA}[Uputa] {FFFFFF}/makeleader [Igracev ID] [ID Organizacije]");
	if(!IsPlayerConnected(IgracevID)) return SendClientMessage(playerid, 0xFFFFFFFF, "{0085FA}[RG] {FFFFFF}Taj ID trenutno nije online.");
	if(OrgID == 0) return SendClientMessage(playerid, 0xFFFFFFFF, "{0085FA}[RG] {FFFFFF}Organizacija ne postoji.");
	if(!strcmp(PlayerInfo[IgracevID][pLider], "Nema", true))
	{
	   	format(FileOrganization, sizeof(FileOrganization), ORGPATH, OrgID);
		if(fexist(FileOrganization))
		{
			if(!strcmp(OrgInfo[OrgID][oLider], "Niko", true))
			{
			if(strcmp(PlayerInfo[IgracevID][pLider], "Nema", true)) return SendClientMessage(playerid, 0xFFFFFFFF, "{0085FA}[RG] {FFFFFF}Igrac je vec lider neke organizacije.");
			if(strcmp(PlayerInfo[IgracevID][pClan], "Nema", true)) return SendClientMessage(playerid, 0xFFFFFFFF, "{0085FA}[RG] {FFFFFF}Igrac je cnal neke organizacije.");

			format(string, sizeof(string), "%s", OrgInfo[OrgID][oIme]);
			strmid(PlayerInfo[IgracevID][pLider], string, 0, strlen(string), ORGANIZATION_NAME);

			format(string, sizeof(string), "%s", OrgInfo[OrgID][oIme]);
			strmid(PlayerInfo[IgracevID][pClan], string, 0, strlen(string), ORGANIZATION_NAME);

			PlayerInfo[IgracevID][pRank] = 6;

			format(string, sizeof(string), "%s", IgracIme);
			strmid(OrgInfo[OrgID][oLider], string, 0, strlen(string), ORGANIZATION_LEADER);

			format(string, sizeof(string), "{0085FA}[RG] {FFFFFF}Igraca %s ste postavili za lidera %s organizacije.", IgracIme, OrgInfo[OrgID][oIme]);
			SendClientMessage(playerid, 0xFFFFFFFF, string);

			format(string, sizeof(string), "{0085FA}[RG] {FFFFFF}Vlasnik %s vas je postavio za lidera %s organizacije.", AdminIme, OrgInfo[OrgID][oIme]);
			SendClientMessage(IgracevID, 0xFFFFFFFF, string);

			SaveOrg(OrgID);
			}
			else
			{
				SendClientMessage(playerid, 0xFFFFFFFF, "{0085FA}[RG] {FFFFFF}Organizacija ima lidera.");
			}
		}
		else
		{
		    SendClientMessage(playerid, 0xFFFFFFFF, "{0085FA}[RG] {FFFFFF}Organizacija ne postoji.");
		}
	}
	else
	{
	    SendClientMessage(playerid, 0xFFFFFFFF, "{0085FA}[RG] {FFFFFF}Igrac je vec lider neke organizacije.");
	}
	return 1;
}

poslije koristenja ove komande on normalno sacuva
znaci on lijepo unese ime organizacije gdje treba
Vlasnik RoyalGaming RolePlay


Ae ovako probaj...
    INI_WriteString(File, "Lider", PlayerInfo[playerid][pLider], 64);
    INI_WriteString(File, "Clan", PlayerInfo[playerid][pClan], 64);

A u enum stavi ovako:
pLider[64]
pClan[64]


Citat: LAVendeta poslato Januar 19, 2016, 11:02:52 PRE PODNE
Ae ovako probaj...
    INI_WriteString(File, "Lider", PlayerInfo[playerid][pLider], 64);
    INI_WriteString(File, "Clan", PlayerInfo[playerid][pClan], 64);

A u enum stavi ovako:
pLider[64]
pClan[64]

izbacuje mi errore

(428) : warning 202: number of arguments does not match definition
(429) : warning 202: number of arguments does not match definition
Vlasnik RoyalGaming RolePlay

Stavi ovako:
INI_String("Lider",PlayerInfo[playerid][pLider], 64);
INI_String("Clan",PlayerInfo[playerid][pClan], 64);

Citat: LAVendeta poslato Januar 19, 2016, 11:58:29 PRE PODNE
Stavi ovako:
INI_String("Lider",PlayerInfo[playerid][pLider], 64);
INI_String("Clan",PlayerInfo[playerid][pClan], 64);

opet errori jer ja msm da je to za load podataka a ne za save al ok evo errori
(428) : error 017: undefined symbol "name"
(428) : error 017: undefined symbol "value"
(429) : error 017: undefined symbol "name"
(429) : error 017: undefined symbol "value"
Vlasnik RoyalGaming RolePlay

A zasto to radit uopće?
Zasto jednostavno ne spremiš integer i citas ga npr
if(InfoIgraca[playerid][Lider] == 1)
{
SCM(playerid, -1, "Ti si LSPD!");
}
else if(InfoIgraca[playerid][Lider] == 2)
{
SCM(playerid, -1, "Ti si FBI!");
}
else return SCM(playerid, -1, "Ti si civil!");


ovako nesto

Ako nećeš to probaj napravit debug, da ti ispisuje u konzolu kad postaviš lidera,kad spremiš i sve ostalo da ti ispiše varijablu pLider, pa da vidimo tačno gdje je problem, da li je u spremanju ili nešto.Tvoj kod je uredu, ali je negdje problem u drugom dijelu skripte vjv

@LAVendeta
To INI_String je zastarjelo, negdje sam čitao da je preporučeno da se ne koristi.Nisam 100% upućen pa neću ništa više ni reći..
Poslednja Izmena: Januar 19, 2016, 14:17:33 POSLE PODNE od MEDO

"They have computers, and they may have other weapons of mass destruction."

Citat: MEDO poslato Januar 19, 2016, 14:11:51 POSLE PODNE
A zasto to radit uopće?
Zasto jednostavno ne spremiš integer i citas ga npr
if(InfoIgraca[playerid][Lider] == 1)
{
SCM(playerid, -1, "Ti si LSPD!");
}
else if(InfoIgraca[playerid][Lider] == 2)
{
SCM(playerid, -1, "Ti si FBI!");
}
else return SCM(playerid, -1, "Ti si civil!");


ovako nesto

Ako nećeš to probaj napravit debug, da ti ispisuje u konzolu kad postaviš lidera,kad spremiš i sve ostalo da ti ispiše varijablu pLider, pa da vidimo tačno gdje je problem, da li je u spremanju ili nešto.Tvoj kod je uredu, ali je negdje problem u drugom dijelu skripte vjv

@LAVendeta
To INI_String je zastarjelo, negdje sam čitao da je preporučeno da se ne koristi.Nisam 100% upućen pa neću ništa više ni reći..
pa zelim tako da uradim zato jer mi ID PD-a nece bit 1 znaci radio sam dynamic org system pa zato.. jer ako on meni sprema kao id meni ce npr ballas da bude id 1 zavisi kako in-game budem dodavao organizacije..valjda me razumijes
Vlasnik RoyalGaming RolePlay

enum:
pLider[30],
pClan[30]


cuvanje:
INI_WriteString(File, "Lider", PlayerInfo[playerid][pLider]);
INI_WriteString(File, "Clan", PlayerInfo[playerid][pClan]);


ucitavanje:
INI_String("Lider", PlayerInfo[playerid][pLider], 30);
INI_String("Clan", PlayerInfo[playerid][pClan], 30);

Citat: Lenon poslato Januar 19, 2016, 15:06:42 POSLE PODNE
enum:
pLider[30],
pClan[30]


cuvanje:
INI_WriteString(File, "Lider", PlayerInfo[playerid][pLider]);
INI_WriteString(File, "Clan", PlayerInfo[playerid][pClan]);


ucitavanje:
INI_String("Lider", PlayerInfo[playerid][pLider], 30);
INI_String("Clan", PlayerInfo[playerid][pClan], 30);

opet isto :(
Vlasnik RoyalGaming RolePlay

   
format(string, sizeof(string), "%s", PlayerInfo[playerid][pLider]);
	INI_WriteString(File, string , PlayerInfo[playerid][pLider]);
	
	format(string, sizeof(string), "%s", PlayerInfo[playerid][pClan]);
	INI_WriteString(File, string , PlayerInfo[playerid][pClan]);

sredio sam to ovako sad radi savrseno btw hvala svima na pomoci :)
Vlasnik RoyalGaming RolePlay