MTASA TÜRK
Türkiye'nin En Güncel MTA Platformu


[YARDIM] Element Data Kullanımı Nasıldır

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

Çevrimdışı Cr@zy

  • Yeni Üye
  • *
    • İleti: 11
: 05 Haziran 2018, 03:21:30
Selam, get/setElementData'yı detaylı bir şekilde örneklerle anlatacak biri var mı acaba?
Nasıl data oluşturulur, o datayı nasıl kullanırım, kullanma şeklini nasıl ayarlarım?
« Son Düzenleme: 11 Haziran 2018, 15:17:41 Gönderen: Narkoz »
 


MTASA TÜRK

[YARDIM] Element Data Kullanımı Nasıldır
« : 05 Haziran 2018, 03:21:30 »

Çevrimdışı ertrldtcu

  • Uzman Üye
  • *
    • İleti: 614
Yanıtla #1 : 05 Haziran 2018, 20:54:53
setElementData ile elemente bilgi kaydedebilirsin. İki tarafta kullanılabilir.

Söz Dizimi
Kod: lua
setElementData( element, anahtar, değer [, senkronize = true ] )

Gerekli Argümanlar
  • element: Bilginin kaydedileceği element, elementlerin ne olduğun görmek için Linki görebilmek için Kayıt olun yada Giriş yapın..
  • anahtar: Kaydedeceğin değerin adı gibi düşünebilirsin, string yani yazı tipinde olmalıdır. (maksimum 31 karakter)
  • değer: Kaydedilecek bilgi. Burdaki bilginin yazı/sayı/tablo vs. gibi bir kısıtlaması yok, değişken olan her şeyi kaydedebilirsin.

İsteğe Bağlı Argümanlar
  • senkronize: Girdiğiniz bilginin diğer tarafa (kayıt server-side yapıldıysa client-side'a, client-side yapıldıysa server-side'a) aktarılacağını ayarlamanızı sağlar. Normalde true 'dur yani aktarılır. Eğer false yaparsanız aktarılmaz ve sadece bilgiyi kaydettiğiniz tarafta çekebilirsiniz.

Geri Dönüş
Eğer bilgi sorunsuz bir şekilde kaydedildiyse true, kayıt yapılamadıysa false döndürür.



getElementData ise anahtarı kullanarak elementten değer çekmemizi sağlar. İki tarafta kullanılabilir.

Söz Dizimi
Kod: lua
getElementData( element, anahtar [, inherit = true ] )

Gerekli Argümanlar
  • element: Buradaki element, bilginin alınacağı elementtir.
  • anahtar: Getirmek istediğin değerin adı. (maksimum 31 karakter)

İsteğe Bağlı Argümanlar
  • inherit: Girilen elementte bu bilgi yoksa ise elementin ebeveynlerine bakılsın mı?

Geri Dönüş
Eğer istediğiniz bilgi elementte veya ebeveynde varsa bilgi, eğer bir sorun çıktıysa veya elementte aradığınız bilgi yoksa false döndürür.



removeElementData ise adındanda anlaşıldığı gibi elementteki bilgiyi siler. Sadece server-side kullanılabilir.

Söz Dizimi
Kod: lua
removeElementData( element, anahtar )

Gerekli Argümanlar
  • element: Bilginin sileneceği element.
  • anahtar: Silmek istediğiniz bilginin ismi.

Geri Dönüş
Eğer bilgi elementten silindiyse true, aksi takdir false döndürür.

Ayrıca şunu unutma; bilgiyi kaydettiğin element yok olduğunda o elementten artık bilgi çekemezsin. Bu yüzden elementData fonksiyonları büyük sistemlerde tercih edilmez, çünkü bilgilerin kaybolma ihtimali yüksektir. Örneğin sen oyuncuya setElementData ile bilgi kaydettiğinde oyuncu sunucuya gir çık yapınca kaydettiğin bilgiler gider. Çünkü oyuncu sunucudan çıktığında oyuncu elementi yok olur, dolayısıyla bilgilerde yok olur.

Pekiştirme amaçlı örnekler için Linki görebilmek için Kayıt olun yada Giriş yapın.'a bakmanı tavsiye ederim.
« Son Düzenleme: 05 Haziran 2018, 20:58:25 Gönderen: ertrldtcu »
system
 
Mesajı Beğenenler: Paradox, Cr@zy


Çevrimdışı Cr@zy

  • Yeni Üye
  • *
    • İleti: 11
Yanıtla #2 : 05 Haziran 2018, 23:59:11
Hocam anlatım için teşekkürler. Detaylı ve yararlı olmuş, son paragrafta dikkatimi çeken bir şey oldu. setElementData ile yaparsan oyuncu çık gir yaptığında datayı siler demişsin. Peki bunu nasıl silinmeyecek şekilde yapabilirim. Birde zahmet olmazsa küçük bir örnek gösterebilir misin?
 


Çevrimdışı ertrldtcu

  • Uzman Üye
  • *
    • İleti: 614
Yanıtla #3 : 06 Haziran 2018, 00:17:15
Kullanacağın sisteme göre veri saklama yolun değişir. MTA'nın hesap fonksiyonlarını kullanabilirsin. Biraz gelişip db veya mysql de kullanabilirsin. Örnek ne ile alakalı olsun?
system
 


Çevrimdışı Cr@zy

  • Yeni Üye
  • *
    • İleti: 11
Yanıtla #4 : 06 Haziran 2018, 01:28:23
Anladım hocam, mesela ben bir görevdeyim ve o görevdeyken diğer başka bir göreve nasıl giremem?
 


Çevrimdışı #Serius

  • Uzman Üye
  • *
    • İleti: 660
Yanıtla #5 : 06 Haziran 2018, 01:43:23
Buyur, telden yazdım sıkıntı çıkarsa yazarsin yarın pcden yazarim

Kod: lua
terimler = { 
element = localPlayer,
data = "gorev_datasi", --> Girilmicek görev datasi
}

if getElementData(terimler.element, terimler.data) then return end
« Son Düzenleme: 11 Haziran 2018, 15:18:31 Gönderen: Narkoz »
 


MTASA TÜRK

Ynt: [YARDIM]get/setElementData kullanımı
« Yanıtla #5 : 06 Haziran 2018, 01:43:23 »

Çevrimdışı MarkeloF

  • Süper Moderatör
  • *
    • İleti: 887
  • Just do it.
Yanıtla #6 : 06 Haziran 2018, 08:46:13
Yukarıdaki kod aslında şu;
Kod: lua
if getElementData(localPlayer, "gorev_datasi") then return end


Bir anlatım yapıyorsan en açık şekilde yazmalısın ve bunca gereksiz şeylere tablo açmamalısın.
                                                 
 
Mesajı Beğenenler: Quadro, Cr@zy