Jump to content

Question

Posted

alut, cand incerc sa dau cinvite imi spune "You have reached maximum members.".

Ma puteti ajuta va rog frumos?

CMD:cinvite(playerid, params[])
{
    if(LogatPin[playerid] == 0) return SCM(playerid, -1, "Contul tau este {ff0000}blocat{ffffff}, foloseste {ff0000}/pin{ffffff} pentru a-l debloca");
    if(PlayerInfo[playerid][pCRank] < 6) return SendClientMessage(playerid, COLOR_WHITE, "Doar playerii cu rank 6 si 7 pot invita membri in clan.");
    new userID,giveplayer[25],sendername[25],szMessage[119];
    if(sscanf(params, "u", userID)) return SendClientMessage(playerid, COLOR_WHITE, "Usage: /cinvite [id]");
	{
        if(GetClanMembers(PlayerInfo[playerid][pClan]) >= ClanInfo[PlayerInfo[playerid][pClan]][cClanSlots]) return SendClientMessage(playerid, COLOR_WHITE, "You have reached maximum members.");
		if(userID == playerid) return SendClientMessage(playerid, COLOR_WHITE, "Nu poti sa te inviti singur in clan.");
		if(ClanInfo[PlayerInfo[playerid][pClan]][cClanActive] < 1) return SendClientMessage(playerid, COLOR_WHITE, "Nu poti invita membri deoarece clanul a expirat (pentru prelungire intra pe panel).");
		if(IsPlayerConnected(userID))
		{
			if(PlayerInfo[userID][pClan] == 0)
			{
				GetPlayerName(userID,giveplayer,sizeof(giveplayer));
				format(szMessage, sizeof(szMessage), "You have invited %s to join your clan.", giveplayer);
				SendClientMessage(playerid, COLOR_LIGHTBLUE, szMessage);

				GetPlayerName(playerid,sendername,sizeof(sendername));
				format(szMessage, sizeof(szMessage), "%s te-a invitat in clanul %s. Foloseste /accept cinvite %d pentru a accepta.", sendername, ClanInfo[PlayerInfo[playerid][pClan]][cClanName], playerid);
				SendClientMessage(userID, COLOR_BLUE, "Invitatie noua in clan:");
				SendClientMessage(userID, COLOR_BLUE, szMessage);

				SetPVarInt(userID, "cinvID", PlayerInfo[playerid][pClan]);
				SetPVarInt(userID, "cinvIDD", playerid);
			}
		}
	}
    return 1;
}
CMD:shop(playerid, params[])
{
    if(LogatPin[playerid] == 0) return SCM(playerid, -1, "Contul tau este {ff0000}blocat{ffffff}, foloseste {ff0000}/pin{ffffff} pentru a-l debloca");
	if(gPlayerLogged[playerid] == 0) return SendClientMessage(playerid, COLOR_LIGHTRED, "You need to login first.");
    {
        new titlestring[MAX_STRING],string1[MAX_STRING],string2[MAX_STRING],string3[MAX_STRING],string4[MAX_STRING],string5[MAX_STRING],string6[MAX_STRING],string7[MAX_STRING],iString[1500];
  		format(titlestring, sizeof(titlestring), "Premium points: {00FFFF}%d", PlayerInfo[playerid][pPremiumPoints]);
  		format(string1, sizeof(string1), "{00FFFF}[+]{FFFFFF} Get Premium Points");
  		format(string2, sizeof(string2), "{FFFFFF}Premium account [{00FFFF}60{FFFFFF} premium points]\n{FFFFFF}Change Nickname [{00FFFF}50{FFFFFF} premium points]");
  		format(string3, sizeof(string3), "{FFFFFF}Clear 20 FP [{00FFFF}20{FFFFFF} premium points]\n{FFFFFF}Clear 40 FP [{00FFFF}40{FFFFFF} premium points]");
  		format(string4, sizeof(string4), "{FFFFFF}Clear warns [{00FFFF}20{FFFFFF} premium points]\n{FFFFFF}Create Clan [{00FFFF}100{FFFFFF} premium points] ({00FF00} Awesome{FFFFFF} )\n{FFFFFF}Quest Map [{00FFFF}30{FFFFFF} premium points]");
  		format(string5, sizeof(string5), "{FFFFFF}Vehicle hidden color [{00FFFF}20{FFFFFF} premium points]\n{FFFFFF}20x fireworks [{00FFFF}5{FFFFFF} premium points]");
  		format(string6, sizeof(string6), "{FFFFFF}Buy vehicle slot [{00FFFF}25{FFFFFF} premium points]\n{FFFFFF}iPhone [{00FFFF}15{FFFFFF} premium points\n{FFFFFF}Clear KM & Distance [{00FFFF}20{FFFFFF} premium points]");
  		format(string7, sizeof(string7), "{FFFFFF}Buy $300,000 [{00FFFF}1{FFFFFF} premium points]\n{FFFFFF}Buy $3,000,000 [{00FFFF}10{FFFFFF} premium points\n{FFFFFF}Buy $15,000,000 [{00FFFF}50{FFFFFF} premium points]\n{FFFFFF}Buy $30,000,000 [{00FFFF}100{FFFFFF} premium points]\n{E67E30}[+]{FFFFFF} Premium Cars");
  		format(iString, sizeof(iString), "%s\n%s\n%s\n%s\n%s\n%s\n%s", string1, string2, string3, string4, string5, string6, string7);
	 	ShowPlayerDialog(playerid,DIALOG_SHOP,DIALOG_STYLE_LIST, titlestring, iString, "Buy","Exit");
    }
    return 1;
}
public LoadClanInfo()
{
    clanss = cache_num_rows();
    for(new i = 1; i <= clanss; i++)
    {
		new x = i - 1;
		ClanInfo[i][cClanID]              		= cache_get_field_content_int(x, "clanID");
		ClanInfo[i][cClanExpire]              	= cache_get_field_content_int(x, "clanExpire");
		ClanInfo[i][cClanActive]              	= cache_get_field_content_int(x, "clanActive");
		ClanInfo[i][cClanSlots]              	= cache_get_field_content_int(x, "clanSlots");
        cache_get_field_content(x, "clanName", ClanInfo[i][cClanName], SQL, 130);
		cache_get_field_content(x, "clanColor", ClanInfo[i][cClanColor], SQL, 130);
		cache_get_field_content(x, "clanMOTD", ClanInfo[i][cClanMOTD], SQL, 130);
   	    cache_get_field_content(x, "clanTag", ClanInfo[i][cClanTag], SQL, 130);
    	cache_get_field_content(x, "clanRankName7", ClanInfo[i][cClanRankName7], SQL, 130);
    	cache_get_field_content(x, "clanRankName6", ClanInfo[i][cClanRankName6], SQL, 130);
    	cache_get_field_content(x, "clanRankName5", ClanInfo[i][cClanRankName5], SQL, 130);
    	cache_get_field_content(x, "clanRankName4", ClanInfo[i][cClanRankName4], SQL, 130);
    	cache_get_field_content(x, "clanRankName3", ClanInfo[i][cClanRankName3], SQL, 130);
    	cache_get_field_content(x, "clanRankName2", ClanInfo[i][cClanRankName2], SQL, 130);
    	cache_get_field_content(x, "clanRankName1", ClanInfo[i][cClanRankName1], SQL, 130);
	}
	printf("Clans: %d", clanss);
}

Baza de date: http://prntscr.com/fp1iuz

19 answers to this question

Recommended Posts

  • 0
Posted
Acum 34 minute, TeamViewer a spus:

alut, cand incerc sa dau cinvite imi spune "You have reached maximum members.".

Ma puteti ajuta va rog frumos?


CMD:cinvite(playerid, params[])
{
    if(LogatPin[playerid] == 0) return SCM(playerid, -1, "Contul tau este {ff0000}blocat{ffffff}, foloseste {ff0000}/pin{ffffff} pentru a-l debloca");
    if(PlayerInfo[playerid][pCRank] < 6) return SendClientMessage(playerid, COLOR_WHITE, "Doar playerii cu rank 6 si 7 pot invita membri in clan.");
    new userID,giveplayer[25],sendername[25],szMessage[119];
    if(sscanf(params, "u", userID)) return SendClientMessage(playerid, COLOR_WHITE, "Usage: /cinvite [id]");
	{
        if(GetClanMembers(PlayerInfo[playerid][pClan]) >= ClanInfo[PlayerInfo[playerid][pClan]][cClanSlots]) return SendClientMessage(playerid, COLOR_WHITE, "You have reached maximum members.");
		if(userID == playerid) return SendClientMessage(playerid, COLOR_WHITE, "Nu poti sa te inviti singur in clan.");
		if(ClanInfo[PlayerInfo[playerid][pClan]][cClanActive] < 1) return SendClientMessage(playerid, COLOR_WHITE, "Nu poti invita membri deoarece clanul a expirat (pentru prelungire intra pe panel).");
		if(IsPlayerConnected(userID))
		{
			if(PlayerInfo[userID][pClan] == 0)
			{
				GetPlayerName(userID,giveplayer,sizeof(giveplayer));
				format(szMessage, sizeof(szMessage), "You have invited %s to join your clan.", giveplayer);
				SendClientMessage(playerid, COLOR_LIGHTBLUE, szMessage);

				GetPlayerName(playerid,sendername,sizeof(sendername));
				format(szMessage, sizeof(szMessage), "%s te-a invitat in clanul %s. Foloseste /accept cinvite %d pentru a accepta.", sendername, ClanInfo[PlayerInfo[playerid][pClan]][cClanName], playerid);
				SendClientMessage(userID, COLOR_BLUE, "Invitatie noua in clan:");
				SendClientMessage(userID, COLOR_BLUE, szMessage);

				SetPVarInt(userID, "cinvID", PlayerInfo[playerid][pClan]);
				SetPVarInt(userID, "cinvIDD", playerid);
			}
		}
	}
    return 1;
}

CMD:shop(playerid, params[])
{
    if(LogatPin[playerid] == 0) return SCM(playerid, -1, "Contul tau este {ff0000}blocat{ffffff}, foloseste {ff0000}/pin{ffffff} pentru a-l debloca");
	if(gPlayerLogged[playerid] == 0) return SendClientMessage(playerid, COLOR_LIGHTRED, "You need to login first.");
    {
        new titlestring[MAX_STRING],string1[MAX_STRING],string2[MAX_STRING],string3[MAX_STRING],string4[MAX_STRING],string5[MAX_STRING],string6[MAX_STRING],string7[MAX_STRING],iString[1500];
  		format(titlestring, sizeof(titlestring), "Premium points: {00FFFF}%d", PlayerInfo[playerid][pPremiumPoints]);
  		format(string1, sizeof(string1), "{00FFFF}[+]{FFFFFF} Get Premium Points");
  		format(string2, sizeof(string2), "{FFFFFF}Premium account [{00FFFF}60{FFFFFF} premium points]\n{FFFFFF}Change Nickname [{00FFFF}50{FFFFFF} premium points]");
  		format(string3, sizeof(string3), "{FFFFFF}Clear 20 FP [{00FFFF}20{FFFFFF} premium points]\n{FFFFFF}Clear 40 FP [{00FFFF}40{FFFFFF} premium points]");
  		format(string4, sizeof(string4), "{FFFFFF}Clear warns [{00FFFF}20{FFFFFF} premium points]\n{FFFFFF}Create Clan [{00FFFF}100{FFFFFF} premium points] ({00FF00} Awesome{FFFFFF} )\n{FFFFFF}Quest Map [{00FFFF}30{FFFFFF} premium points]");
  		format(string5, sizeof(string5), "{FFFFFF}Vehicle hidden color [{00FFFF}20{FFFFFF} premium points]\n{FFFFFF}20x fireworks [{00FFFF}5{FFFFFF} premium points]");
  		format(string6, sizeof(string6), "{FFFFFF}Buy vehicle slot [{00FFFF}25{FFFFFF} premium points]\n{FFFFFF}iPhone [{00FFFF}15{FFFFFF} premium points\n{FFFFFF}Clear KM & Distance [{00FFFF}20{FFFFFF} premium points]");
  		format(string7, sizeof(string7), "{FFFFFF}Buy $300,000 [{00FFFF}1{FFFFFF} premium points]\n{FFFFFF}Buy $3,000,000 [{00FFFF}10{FFFFFF} premium points\n{FFFFFF}Buy $15,000,000 [{00FFFF}50{FFFFFF} premium points]\n{FFFFFF}Buy $30,000,000 [{00FFFF}100{FFFFFF} premium points]\n{E67E30}[+]{FFFFFF} Premium Cars");
  		format(iString, sizeof(iString), "%s\n%s\n%s\n%s\n%s\n%s\n%s", string1, string2, string3, string4, string5, string6, string7);
	 	ShowPlayerDialog(playerid,DIALOG_SHOP,DIALOG_STYLE_LIST, titlestring, iString, "Buy","Exit");
    }
    return 1;
}

public LoadClanInfo()
{
    clanss = cache_num_rows();
    for(new i = 1; i <= clanss; i++)
    {
		new x = i - 1;
		ClanInfo[i][cClanID]              		= cache_get_field_content_int(x, "clanID");
		ClanInfo[i][cClanExpire]              	= cache_get_field_content_int(x, "clanExpire");
		ClanInfo[i][cClanActive]              	= cache_get_field_content_int(x, "clanActive");
		ClanInfo[i][cClanSlots]              	= cache_get_field_content_int(x, "clanSlots");
        cache_get_field_content(x, "clanName", ClanInfo[i][cClanName], SQL, 130);
		cache_get_field_content(x, "clanColor", ClanInfo[i][cClanColor], SQL, 130);
		cache_get_field_content(x, "clanMOTD", ClanInfo[i][cClanMOTD], SQL, 130);
   	    cache_get_field_content(x, "clanTag", ClanInfo[i][cClanTag], SQL, 130);
    	cache_get_field_content(x, "clanRankName7", ClanInfo[i][cClanRankName7], SQL, 130);
    	cache_get_field_content(x, "clanRankName6", ClanInfo[i][cClanRankName6], SQL, 130);
    	cache_get_field_content(x, "clanRankName5", ClanInfo[i][cClanRankName5], SQL, 130);
    	cache_get_field_content(x, "clanRankName4", ClanInfo[i][cClanRankName4], SQL, 130);
    	cache_get_field_content(x, "clanRankName3", ClanInfo[i][cClanRankName3], SQL, 130);
    	cache_get_field_content(x, "clanRankName2", ClanInfo[i][cClanRankName2], SQL, 130);
    	cache_get_field_content(x, "clanRankName1", ClanInfo[i][cClanRankName1], SQL, 130);
	}
	printf("Clans: %d", clanss);
}

Baza de date: http://prntscr.com/fp1iuz

Cate sloturi are clanul si cati membrii are in el? (Cel in care ai vrut sa dai invite)

  • 0
Posted
6 hours ago, AddisoN said:

Cate sloturi are clanul si cati membrii are in el? (Cel in care ai vrut sa dai invite)

Are 15 sloturi si sunt doar eu in el.

  • 0
Posted (edited)
56 minutes ago, TeamViewer said:

Are 15 sloturi si sunt doar eu in el.

cClanSlots

Incearca sa te uiti dupa aceasta variabila in gamemode sa vezi daca este pusa peste tot  ce tine de clanuri.

In baza de date la Players-->cClanSlots ce valoare ai?

Edited by mrtea
  • 0
Posted
12 minutes ago, mrtea said:

cClanSlots

Incearca sa te uiti dupa aceasta variabila in gamemode sa vezi daca este pusa peste tot  ce tine de clanuri.

In baza de date la Players-->cClanSlots ce valoare ai?

{
		new x = i - 1;
		ClanInfo[i][cClanID]              		= cache_get_field_content_int(x, "clanID");
		ClanInfo[i][cClanExpire]              	= cache_get_field_content_int(x, "clanExpire");
		ClanInfo[i][cClanActive]              	= cache_get_field_content_int(x, "clanActive");
		ClanInfo[i][cClanSlots]              	= cache_get_field_content_int(x, "clanSlots");
        cache_get_field_content(x, "clanName", ClanInfo[i][cClanName], SQL, 130);
		cache_get_field_content(x, "clanColor", ClanInfo[i][cClanColor], SQL, 130);
		cache_get_field_content(x, "clanMOTD", ClanInfo[i][cClanMOTD], SQL, 130);
   	    cache_get_field_content(x, "clanTag", ClanInfo[i][cClanTag], SQL, 130);
    	cache_get_field_content(x, "clanRankName7", ClanInfo[i][cClanRankName7], SQL, 130);
    	cache_get_field_content(x, "clanRankName6", ClanInfo[i][cClanRankName6], SQL, 130);
    	cache_get_field_content(x, "clanRankName5", ClanInfo[i][cClanRankName5], SQL, 130);
    	cache_get_field_content(x, "clanRankName4", ClanInfo[i][cClanRankName4], SQL, 130);
    	cache_get_field_content(x, "clanRankName3", ClanInfo[i][cClanRankName3], SQL, 130);
    	cache_get_field_content(x, "clanRankName2", ClanInfo[i][cClanRankName2], SQL, 130);
    	cache_get_field_content(x, "clanRankName1", ClanInfo[i][cClanRankName1], SQL, 130);
	}
	printf("Clans: %d", clanss);
}
if(GetClanMembers(PlayerInfo[playerid][pClan]) >= ClanInfo[PlayerInfo[playerid][pClan]][cClanSlots])
{
    cClanName[64],
	cClanMOTD[128],
	cClanRankName1[32],
	cClanRankName2[32],
	cClanRankName3[32],
	cClanRankName4[32],
	cClanRankName5[32],
	cClanRankName6[32],
	cClanRankName7[32],
	cClanTag[32],
	cClanTagType,
	cClanID,
	cClanExpire,
	cClanActive,
	cClanSlots,
	cClanColor[10],
};

Nu am cclanslots in baza de date.

  • 0
Posted (edited)
Acum 4 ore, TeamViewer a spus:

{
		new x = i - 1;
		ClanInfo[i][cClanID]              		= cache_get_field_content_int(x, "clanID");
		ClanInfo[i][cClanExpire]              	= cache_get_field_content_int(x, "clanExpire");
		ClanInfo[i][cClanActive]              	= cache_get_field_content_int(x, "clanActive");
		ClanInfo[i][cClanSlots]              	= cache_get_field_content_int(x, "clanSlots");
        cache_get_field_content(x, "clanName", ClanInfo[i][cClanName], SQL, 130);
		cache_get_field_content(x, "clanColor", ClanInfo[i][cClanColor], SQL, 130);
		cache_get_field_content(x, "clanMOTD", ClanInfo[i][cClanMOTD], SQL, 130);
   	    cache_get_field_content(x, "clanTag", ClanInfo[i][cClanTag], SQL, 130);
    	cache_get_field_content(x, "clanRankName7", ClanInfo[i][cClanRankName7], SQL, 130);
    	cache_get_field_content(x, "clanRankName6", ClanInfo[i][cClanRankName6], SQL, 130);
    	cache_get_field_content(x, "clanRankName5", ClanInfo[i][cClanRankName5], SQL, 130);
    	cache_get_field_content(x, "clanRankName4", ClanInfo[i][cClanRankName4], SQL, 130);
    	cache_get_field_content(x, "clanRankName3", ClanInfo[i][cClanRankName3], SQL, 130);
    	cache_get_field_content(x, "clanRankName2", ClanInfo[i][cClanRankName2], SQL, 130);
    	cache_get_field_content(x, "clanRankName1", ClanInfo[i][cClanRankName1], SQL, 130);
	}
	printf("Clans: %d", clanss);
}

if(GetClanMembers(PlayerInfo[playerid][pClan]) >= ClanInfo[PlayerInfo[playerid][pClan]][cClanSlots])

{
    cClanName[64],
	cClanMOTD[128],
	cClanRankName1[32],
	cClanRankName2[32],
	cClanRankName3[32],
	cClanRankName4[32],
	cClanRankName5[32],
	cClanRankName6[32],
	cClanRankName7[32],
	cClanTag[32],
	cClanTagType,
	cClanID,
	cClanExpire,
	cClanActive,
	cClanSlots,
	cClanColor[10],
};

Nu am cclanslots in baza de date.

Daca nu ai cclanslots in baza de date asta e problema pentru ca dupa restart acea variabila va fi 0 pt ca nu e stocafa si nu poti da invite. Daca faci clanul din game merge sa dai invite imediat dupa?

P.S: cclanslots trebuie sa fie in tabelul calnurilor probabil clans nu in tabelul cu nucatorii,players.

Edited by AddisoN
  • 0
Posted
1 hour ago, AddisoN said:

Daca nu ai cclanslots in baza de date asta e problema pentru ca dupa restart acea variabila va fi 0 pt ca nu e stocafa si nu poti da invite. Daca faci clanul din game merge sa dai invite imediat dupa?

P.S: cclanslots trebuie sa fie in tabelul calnurilor probabil clans nu in tabelul cu nucatorii,players.

M-am uitat in baza lui de date , aparent are Cclan slots care arata 15, iar daca creezi imediat clan nu poti daca nici asa invite! Am testat eu. Ma gandesc sa stearga acea verificare.. dar nustiu

 

  • 0
Posted
1 hour ago, AddisoN said:

Pune aici 


GetClanMembers

stock GetClanMembers(clanid)
{
    new string[256],
        members=0;
    format(string, sizeof(string), "SELECT * FROM `users` WHERE `Clan` = '%d'", clanid);
    new Cache: membresult = mysql_query(SQL, string);
    for(new i, j = cache_get_row_count (); i != j; ++i)
    {
        members++;
    }
    cache_delete(membresult);    
    return members;
}

  • 0
Posted (edited)
Acum 12 ore, TeamViewer a spus:

stock GetClanMembers(clanid)
{
    new string[256],
        members=0;
    format(string, sizeof(string), "SELECT * FROM `users` WHERE `Clan` = '%d'", clanid);
    new Cache: membresult = mysql_query(SQL, string);
    for(new i, j = cache_get_row_count (); i != j; ++i)
    {
        members++;
    }
    cache_delete(membresult);    
    return members;
}

Cand verifici 

if(GetClanMembers(PlayerInfo[playerid][pClan]) >= ClanInfo[PlayerInfo[playerid][pClan]][cClanSlots])

Practic verifici daca 15>1 (in cazul in care clanul are 15 sloturi si un singur player in el) sa nu poti da invite in clan. Solutii:

Ramana conditia din if la fel 

if(GetClanMembers(PlayerInfo[playerid][pClan]) >= ClanInfo[PlayerInfo[playerid][pClan]][cClanSlots]){ cod-ul pt a introduce jucatoru in clan}

Else retuenezi mesaju

Sau modifici conditia asa 

if((ClanInfo[PlayerInfo[playerid][pClan]][cClanSlots]>=GetClanMembers(PlayerInfo[playerid][pClan])  )
Edited by AddisoN
  • 0
Posted

Nu inteleg :|

4 hours ago, AddisoN said:

Cand verifici 


if(GetClanMembers(PlayerInfo[playerid][pClan]) >= ClanInfo[PlayerInfo[playerid][pClan]][cClanSlots])

Practic verifici daca 15>1 (in cazul in care clanul are 15 sloturi si un singur player in el) sa nu poti da invite in clan. Solutii:

Ramana conditia din if la fel 


if(GetClanMembers(PlayerInfo[playerid][pClan]) >= ClanInfo[PlayerInfo[playerid][pClan]][cClanSlots]){ cod-ul pt a introduce jucatoru in clan}

Else retuenezi mesaju

Sau modifici conditia asa 


if((ClanInfo[PlayerInfo[playerid][pClan]][cClanSlots]>=GetClanMembers(PlayerInfo[playerid][pClan])  )

 

  • 0
Posted
Acum 21 ore, TeamViewer a spus:

Nu inteleg :|

 

Scuze dabia ma trezisem si am scris prostii. Este corecta verificarea. Incearca sa faci un debug sa vezi daca iti incarca datele clanului coreapunzator din baza de date

  • 0
Posted
10 hours ago, AddisoN said:

Scuze dabia ma trezisem si am scris prostii. Este corecta verificarea. Incearca sa faci un debug sa vezi daca iti incarca datele clanului coreapunzator din baza de date

Debug fiind?

  • 0
Posted
Acum 20 ore, TeamViewer a spus:

Debug fiind?

Trimiti un mesaj cand folosesti comanda cu idul clanului nr de sloturi si nr de membrii din acel clan (toate astea in loc de acea verificare cu nr de sloturi)

  • 0
Posted
1 hour ago, AddisoN said:

Trimiti un mesaj cand folosesti comanda cu idul clanului nr de sloturi si nr de membrii din acel clan (toate astea in loc de acea verificare cu nr de sloturi)

Poti venii pe skype? 

Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more details you can also review our Terms of Use and Privacy Policy.