AR/setAccountData: Difference between revisions
آحمد آلعلَي (talk | contribs) |
آحمد آلعلَي (talk | contribs) (→مثال) |
||
Line 21: | Line 21: | ||
<syntaxhighlight lang="lua"> | <syntaxhighlight lang="lua"> | ||
function onPlayerQuit ( ) | function onPlayerQuit ( ) | ||
-- | -- عندما يترك لاعب، متجره المبلغ من المال الحالية في بيانات حسابه | ||
local playeraccount = getPlayerAccount ( source ) | local playeraccount = getPlayerAccount ( source ) | ||
if ( playeraccount ) and not isGuestAccount ( playeraccount ) then -- | if ( playeraccount ) and not isGuestAccount ( playeraccount ) then -- إذا تم تسجيل اللاعب | ||
local playermoney = getPlayerMoney ( source ) -- | local playermoney = getPlayerMoney ( source ) -- الحصول على المال الاعب | ||
setAccountData ( playeraccount, "piraterpg.money", playermoney ) -- | setAccountData ( playeraccount, "piraterpg.money", playermoney ) -- حفظها في حسابه | ||
end | end | ||
end | end | ||
function onPlayerLogin (_, playeraccount ) | function onPlayerLogin (_, playeraccount ) | ||
-- | -- عندما تسجيلات لاعب، استرداد له مبلغ من المال من بيانات حسابه وضعه | ||
if ( playeraccount ) then | if ( playeraccount ) then | ||
local playermoney = getAccountData ( playeraccount, "piraterpg.money" ) | local playermoney = getAccountData ( playeraccount, "piraterpg.money" ) | ||
-- | -- تأكد من أن هناك فعلا قيمة المحفوظة تحت هذا المفتاح (معرفة ما اذا كان مال الاعب ليست كاذبة). | ||
-- | -- وهذا على سبيل المثال سوف لا يكون الأمر كذلك عندما لاعب يلعب قيم تايب لأول مرة | ||
if ( playermoney ) then | if ( playermoney ) then | ||
setPlayerMoney ( source, playermoney ) | setPlayerMoney ( source, playermoney ) |
Revision as of 12:11, 9 October 2013
This template is no longer in use as it results in poor readability. This function sets a string to be stored in an account. This can then be retrieved using getAccountData. Data stored as account data is persistent across user's sessions and maps, unless they are logged into a guest account. Even if logged into a guest account, account data can be useful as a way to store a reference to your own account system, though it's persistence is equivalent to that of using setElementData on the player's element.
Syntax
bool setAccountData ( account theAccount, string key, string value )
العناصر المطلوبة
- theAccount: إن الحساب الذي تريد استرداد البيانات من.
- key: مفتاح تحت التي كنت ترغب في تخزين البيانات
- value: The value you wish to store. NOTE: you cannot store tables as values, but you can use toJSON strings.
Returns
ترجع صحيح إذا تم تعيين بيانات حسابك، كاذبة إذا تم تحديد وسيطة غير صالحة.
مثال
لقرصان الأدوار gametype، ويرصد مبلغ من المال لاعب الثابتة عن طريق تخزينه في حسابه. ملاحظة يستخدم رمز "piraterpg.money" كمفتاح بدلا من مجرد "المال"، كما يجوز المشاركة للاعب في gametypes الأخرى التي توفر أيضا له مبلغ من المال لله الحساب. If both gametypes would use "money" as the account key, they'd overwrite each other's data.
function onPlayerQuit ( ) -- عندما يترك لاعب، متجره المبلغ من المال الحالية في بيانات حسابه local playeraccount = getPlayerAccount ( source ) if ( playeraccount ) and not isGuestAccount ( playeraccount ) then -- إذا تم تسجيل اللاعب local playermoney = getPlayerMoney ( source ) -- الحصول على المال الاعب setAccountData ( playeraccount, "piraterpg.money", playermoney ) -- حفظها في حسابه end end function onPlayerLogin (_, playeraccount ) -- عندما تسجيلات لاعب، استرداد له مبلغ من المال من بيانات حسابه وضعه if ( playeraccount ) then local playermoney = getAccountData ( playeraccount, "piraterpg.money" ) -- تأكد من أن هناك فعلا قيمة المحفوظة تحت هذا المفتاح (معرفة ما اذا كان مال الاعب ليست كاذبة). -- وهذا على سبيل المثال سوف لا يكون الأمر كذلك عندما لاعب يلعب قيم تايب لأول مرة if ( playermoney ) then setPlayerMoney ( source, playermoney ) end end end addEventHandler ( "onPlayerQuit", getRootElement ( ), onPlayerQuit ) addEventHandler ( "onPlayerLogin", getRootElement ( ), onPlayerLogin)