Jump to content
  • 0

Problema la salvarea datelor.


Mark.W

Question

Salut. Probabil ca este tarziu si nu-mi dau seama sau nu stiu cum sa o fac sa mearga. Ori chiar amandoua. Cert este ca am o problema cu salvarea datelor jucatorului la deconectare si va cer ajutorul.

La OnPlayerDisconnect am asa:

public OnPlayerDisconnect(playerid, reason)
{
	new Float:x, Float:y, Float:z, Float:rot;
	GetPlayerPos(playerid, Float:x, Float:y, Float:z);
	GetPlayerFacingAngle(playerid, Float:rot);
	SetPVarFloat(playerid, "Money", GetPlayerMoney(playerid));
	if(reason == 0)
	{
		SetPVarFloat(playerid, "loc_X", Float:x);
		SetPVarFloat(playerid, "loc_Y", Float:y);
		SetPVarFloat(playerid, "loc_Z", Float:z);
		SetPVarFloat(playerid, "loc_angle", Float:rot);
		return 1;
	}
	else
	{
	    if(GetPVarInt(playerid, "last_pos_spawn" )== 1)
	    {
			SetPVarFloat(playerid, "loc_X", Float:x);
			SetPVarFloat(playerid, "loc_Y", Float:y);
			SetPVarFloat(playerid, "loc_Z", Float:z);
			SetPVarFloat(playerid, "loc_angle", Float:rot);
			return 1;
		}
		else if(GetPVarInt(playerid, "has_rented_h") == 0)
		{
			SetPVarFloat(playerid, "loc_X", Float:x);
			SetPVarFloat(playerid, "loc_Y", Float:y);
			SetPVarFloat(playerid, "loc_Z", Float:z);
			SetPVarFloat(playerid, "loc_angle", Float:rot);
			return 1;
		}
	}
	// save data - !!!!! MUST BE LAST ONE !!!!!
	SavePlayerData(playerid);
	return 1;
}
Iar functia SavePlayerData(playerid) este asa:
public SavePlayerData(playerid)
{
	new pName[MAX_PLAYER_NAME], file[128], inventory[128];
	GetPlayerName(playerid, pName, sizeof(pName));
	format(file, sizeof(file), "/Accounts/%s.ini", pName);
	format(inventory, sizeof(inventory), "/Accounts/%s_inv.ini", pName);
	// stats
	dini_IntSet(file, "XP", GetPVarInt(playerid, "XP"));
	dini_FloatSet(file, "Money", GetPVarFloat(playerid, "Money"));
	dini_FloatSet(file, "BankAcc", GetPVarFloat(playerid, "BankAcc"));
	dini_IntSet(file, "Level", GetPVarInt(playerid, "Level"));
	dini_IntSet(file, "AdminLevel", GetPVarInt(playerid, "AdminLevel"));
	dini_Set(file, "Name", pName);
	// password doesn`t save!
	dini_FloatSet(file, "loc_X", GetPVarFloat(playerid, "loc_X"));
	dini_FloatSet(file, "loc_Y", GetPVarFloat(playerid, "loc_Y"));
	dini_FloatSet(file, "loc_Z", GetPVarFloat(playerid, "loc_Z"));
	dini_FloatSet(file, "loc_angle", GetPVarFloat(playerid, "loc_angle"));
	dini_IntSet(file, "ooc_status", GetPVarInt(playerid, "ooc_status"));
	dini_IntSet(file, "pm_status", GetPVarInt(playerid, "pm_status"));
	dini_IntSet(file, "Phone_#", GetPVarInt(playerid, "Phone_#"));
	dini_IntSet(file, "Phone_Credit", GetPVarInt(playerid, "Phone_Credit"));
	dini_IntSet(file, "has_rented_h", GetPVarInt(playerid, "has_rented_h"));
	dini_IntSet(file, "last_pos_spawn", GetPVarInt(playerid, "last_pos_spawn"));
				// inventory
	GetPVarString(playerid, "item_1", InvItem1, sizeof(InvItem1));
	GetPVarString(playerid, "item_2", InvItem2, sizeof(InvItem2));
	GetPVarString(playerid, "item_3", InvItem3, sizeof(InvItem3));
	GetPVarString(playerid, "item_4", InvItem4, sizeof(InvItem4));
	GetPVarString(playerid, "item_5", InvItem5, sizeof(InvItem5));
	GetPVarString(playerid, "item_6", InvItem6, sizeof(InvItem6));
	GetPVarString(playerid, "item_7", InvItem7, sizeof(InvItem7));
	GetPVarString(playerid, "item_8", InvItem8, sizeof(InvItem8));
	GetPVarString(playerid, "item_9", InvItem9, sizeof(InvItem9));
	GetPVarString(playerid, "item_10", InvItem10, sizeof(InvItem10));
	dini_Set(inventory, "item_1", InvItem1);
	dini_Set(inventory, "item_2", InvItem2);
	dini_Set(inventory, "item_3", InvItem3);
	dini_Set(inventory, "item_4", InvItem4);
	dini_Set(inventory, "item_5", InvItem5);
	dini_Set(inventory, "item_6", InvItem6);
	dini_Set(inventory, "item_7", InvItem7);
	dini_Set(inventory, "item_8", InvItem8);
	dini_Set(inventory, "item_9", InvItem9);
	dini_Set(inventory, "item_10", InvItem10);
	return 1;
}

Nu stiu ce are de nu merge dar pe mine pur si simplu ma depaseste. Poate voi aveti ceva mai mult noroc. Multzam.

Link to comment
Share on other sites

2 answers to this question

Recommended Posts

Guest shobbyrlz1

incearca sa iei din altgame mod care merge bine sa iei aceste linii, eu am intrat la mine sa tii le dau dar eu nu le am ... eu am altceva  nu am asa ceva ce ai scris tu pentru salvearea datelor

Link to comment
Share on other sites

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.