TR/Resource:DGS: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
 
(6 intermediate revisions by the same user not shown)
Line 3: Line 3:
Bu kaynak, orijinal MTA:SA GUI işlevlerine alternatif olarak directX GUI'leri oluşturmanıza izin vermek için tasarlanmıştır.
Bu kaynak, orijinal MTA:SA GUI işlevlerine alternatif olarak directX GUI'leri oluşturmanıza izin vermek için tasarlanmıştır.


<span style="color:#DD2222;text-shadow:black 0em 0em 0.3em;">This wiki is always for the latest DGS version!</span>
<span style="color:#DD2222;text-shadow:black 0em 0em 0.3em;">Bu viki her zaman en son DGS sürümü içindir!</span>


<div style="padding:10px; border-radius:2px;font-size:14px;">
<div style="padding:10px; border-radius:2px;font-size:14px;">
'''Full Name''': Thisdp's DirectX Graphical User Interface System (DxGUI Lib)
'''Tam isim''': Thisdp's DirectX Graphical User Interface System (DxGUI Lib)


'''Developer Team''': [[User:thisdp|thisdp]], [[User:XNawaf|xLive]], KronoS Lettify, [𝐓𝐅] 𝓣𝓗𝓔 𝓕𝓘𝓧𝓔𝓡
'''Geliştirme ekibi''': [[User:thisdp|thisdp]], [[User:XNawaf|xLive]], KronoS Lettify, [𝐓𝐅] 𝓣𝓗𝓔 𝓕𝓘𝓧𝓔𝓡


'''State''': <span style="color:#FFFFFF;text-shadow:black 0em 0em 0.3em;">OpenSource</span> & <span style="color:#55FF55;text-shadow:black 0em 0em 0.3em;">Work in progress</span>
'''Statü''': <span style="color:#FFFFFF;text-shadow:black 0em 0em 0.3em;">Açık Kaynak</span> & <span style="color:#55FF55;text-shadow:black 0em 0em 0.3em;">Çalışmalar devam ediyor</span>


'''GitHub Source''': https://github.com/thisdp/dgs/tree/master
'''GitHub Kaynağı''': https://github.com/thisdp/dgs/tree/master


'''Server Discord''': https://discord.gg/QEs8q6W
'''Discord Sunucusu''': https://discord.gg/QEs8q6W


'''Current Version''': 3.519
'''Güncel Sürüm''': 3.519


'''Update Log''': [[DGS Updates Log|Changes and Updates Log]]
'''Güncelleme Günlüğü''': [[DGS Updates Log|Changes and Updates Log]]




'''Auto Completion & Syntax  Highlight'''
'''Otomatik Tamamlama ve Sözdizimi Vurgulama'''


Official:
Resmi:


Use the following command in server console to crawl and generate the latest auto completion (Only support NotePad++/Sublime/VSCode).
En son otomatik tamamlamayı taramak ve oluşturmak için sunucu konsolunda aşağıdaki komutu kullanın (Yalnızca NotePad++/Sublime/VSCode'u destekler).
*'''g2d -crawl npp/sublime/vscode'''
*'''g2d -crawl npp/sublime/vscode'''


Or you can use the following link to download completed files instead of crawling by yourself.
Veya kendi başınıza taramak yerine tamamlanmış dosyaları indirmek için aşağıdaki bağlantıyı kullanabilirsiniz.
*[https://drive.google.com/file/d/1H_PiG2gmEz1AyXqZN4956IVgtZOjgMi6/view?usp=sharing NotePad++]
*[https://drive.google.com/file/d/1H_PiG2gmEz1AyXqZN4956IVgtZOjgMi6/view?usp=sharing NotePad++]
*[https://drive.google.com/file/d/1_07WBEWjriTTucrNGI7jT-4SknALKG6B/view?usp=sharing Sublime]
*[https://drive.google.com/file/d/1_07WBEWjriTTucrNGI7jT-4SknALKG6B/view?usp=sharing Sublime]
*[https://drive.google.com/file/d/1J4qoSjzmXZz7yxHUZ2fExBu3zvCwRESn/view?usp=sharing VSCode]
*[https://drive.google.com/file/d/1J4qoSjzmXZz7yxHUZ2fExBu3zvCwRESn/view?usp=sharing VSCode]


3rd Party Auto Completion:
3. Taraf Otomatik Tamamlama:
*1. [http://www.mediafire.com/file/m6dm7815d5dihax/lua.zip NotePad++ By '''Ahmed Ly''']
*1. [http://www.mediafire.com/file/m6dm7815d5dihax/lua.zip NotePad++ By '''Ahmed Ly''']
*2. [https://marketplace.visualstudio.com/items?itemName=ERAGON.mtasa-dgs-lua Visual Studio Code By '''BW~ERAGON >''' ]
*2. [https://marketplace.visualstudio.com/items?itemName=ERAGON.mtasa-dgs-lua Visual Studio Code By '''BW~ERAGON >''' ]
</div>
</div>


=Features=
=Özellikler=


[[Image:DGSNetStatus.png|300px|thumb|right|DGS Network Monitor]]
[[Image:DGSNetStatus.png|300px|thumb|right|DGS Network Monitor]]
Line 45: Line 45:




'''How does it work?'''
'''Nasıl çalışıyor?'''
*DGS, tıpkı cegui sistemi gibi [[element]] sistemine dayanmaktadır. DGS'nin kullanımını ve anlaşılmasını kolaylaştırmak için cegui'lerin kullanımını takip etmeyi seçiyorum.
*DGS, tıpkı cegui sistemi gibi [[element]] sistemine dayanmaktadır. DGS'nin kullanımını ve anlaşılmasını kolaylaştırmak için cegui'lerin kullanımını takip etmeyi seçiyorum.
*DGS OOP sözdizimini destekler, POP'u sevmiyorsanız, bunun yerine OOP kullanın. Ancak OOP'un POP'tan daha yavaş olduğunu bilmelisiniz.
*DGS OOP sözdizimini destekler, POP'u sevmiyorsanız, bunun yerine OOP kullanın. Ancak OOP'un POP'tan daha yavaş olduğunu bilmelisiniz.
Line 51: Line 51:




'''What's different from cegui?'''
'''Cegui'den farkı ne?'''
*Bu kaynak dx* fonksiyonlarına dayanmaktadır, bu nedenle stili cegui'den daha esnek olacaktır, bu da stili kendiniz tanımlayabileceğiniz anlamına gelir.
*Bu kaynak dx* fonksiyonlarına dayanmaktadır, bu nedenle stili cegui'den daha esnek olacaktır, bu da stili kendiniz tanımlayabileceğiniz anlamına gelir.
*En son '''Style System'''', geliştiricinin çok sayıda [[dgsSetProperty]]/[[dgsSetProperties]] kullanmak yerine renk değiştirme, görüntü yükleme ve hatta sunucuda dgs öğeleriyle gölgelendiriciler yükleme gibi kendi stillerini tanımlamasına olanak tanır.
*En son '''Style System'''', geliştiricinin çok sayıda [[dgsSetProperty]]/[[dgsSetProperties]] kullanmak yerine renk değiştirme, görüntü yükleme ve hatta sunucuda dgs öğeleriyle gölgelendiriciler yükleme gibi kendi stillerini tanımlamasına olanak tanır.




'''Update System'''
'''Güncelleme Sistemi'''
*DGS'nizi en güncel tutmanız için sizi bilgilendirebilecek bir güncelleme sistemine sahiptir.
*DGS'nizi en güncel tutmanız için sizi bilgilendirebilecek bir güncelleme sistemine sahiptir.
*Daha yeni bir sürüm yayınlandığında, sürüm değişikliğini periyodik olarak algılar ve ardından sizi uyarır.
*Daha yeni bir sürüm yayınlandığında, sürüm değişikliğini periyodik olarak algılar ve ardından sizi uyarır.
Line 63: Line 63:




'''You Should Know'''
'''Bilmeniz Gerekenler'''
*Bu proje 2014 yılından itibaren başlatılmıştır.
*Bu proje 2014 yılından itibaren başlatılmıştır.
*Bazı DGS öğeleri '''Render Target''' kullanır, bu da yeterli video belleğiniz yoksa '''Render Target won't be created''' ve bu nedenle bu dgs öğelerinin gösterilmeyeceği anlamına gelir.
*Bazı DGS öğeleri '''Render Target''' kullanır, bu da yeterli video belleğiniz yoksa '''Render Hedefi oluşturulmayacak''' ve bu nedenle bu dgs öğelerinin gösterilmeyeceği anlamına gelir.




[[Image:Dx_7.PNG|400px|thumb|right|Example DGS Cmd]]  
[[Image:Dx_7.PNG|400px|thumb|right|Example DGS Cmd]]  


'''Examples scripts'''
'''Örnek scriptler'''
*1.https://community.multitheftauto.com/index.php?p=resources&s=details&id=14757 Tarafından ([[User:Ahmed Ly|Ahmed Ly]] ,Mahmod Algeriany)
*1.https://community.multitheftauto.com/index.php?p=resources&s=details&id=14757 Tarafından ([[User:Ahmed Ly|Ahmed Ly]] ,Mahmod Algeriany)
*2. Ayrıca test.lua dosyasında daha fazla Örnek var Görebilirsiniz.
*2. Ayrıca test.lua dosyasında daha fazla Örnek var Görebilirsiniz.
Line 76: Line 76:




'''Debug'''
'''Hata Ayıklama'''
* Hata ayıklama moduna "'''debugdgs'''" komutunu çalıştırarak girebilirsiniz.
* Hata ayıklama moduna "'''debugdgs'''" komutunu çalıştırarak girebilirsiniz.
* "'''debugdgs'''": Basit hata ayıklama modu. Temel bilgiler için.
* "'''debugdgs'''": Basit hata ayıklama modu. Temel bilgiler için.
Line 83: Line 83:




'''Notice'''
'''Uyarı'''
*Kaynak adının 'dgs' olarak değiştirilmesi önerilir.
*Kaynak adının 'dgs' olarak değiştirilmesi önerilir.
*Bu bir kaynaktır, bu kaynak tarafından dışa aktarılan işlevleri kullanmak istiyorsanız, kodunuzda bir dışa aktarılan işlev öneki ('''exports.dgs:''') çağrısı kullanmalısınız, örneğin
*Bu bir kaynaktır, bu kaynak tarafından dışa aktarılan işlevleri kullanmak istiyorsanız, kodunuzda bir dışa aktarılan işlev öneki ('''exports.dgs:''') çağrısı kullanmalısınız, örneğin
Line 99: Line 99:
label = dgsCreateLabel(0,0,0.5,0.1,"text",true) --create a label
label = dgsCreateLabel(0,0,0.5,0.1,"text",true) --create a label
</syntaxhighlight>
</syntaxhighlight>
'''Object Oriented Programming'''
'''Nesne Yönelimli Programlama'''
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
loadstring(exports.dgs:dgsImportOOPClass(true))()-- load OOP class
loadstring(exports.dgs:dgsImportOOPClass(true))()-- load OOP class
Line 107: Line 107:
</syntaxhighlight>
</syntaxhighlight>


'''Special thanks to the following for their help (Respect the contributors)''':
'''Yardımları için aşağıdakilere özel teşekkürler (Katkıda bulunanlara saygı gösterin)''':
* Axel, Senpai, ZoNe
* Axel, Senpai, ZoNe
* DiGiTal, #Dv^, maksam07
* DiGiTal, #Dv^, maksam07
Line 113: Line 113:
* Allerek, Deihim007, OmarSwaitti(HankVoight)
* Allerek, Deihim007, OmarSwaitti(HankVoight)
* FlyingFork, Lettify, Ahmed Ly
* FlyingFork, Lettify, Ahmed Ly
* ᴛᴇᴍᴏɪꜱ
* ᴛᴇᴍᴏɪꜱ, Shady1


='''DGS Tips'''=
='''DGS Tipler'''=
*[[DGS Events and GUI Events]]
*[[DGS Events and GUI Events]]
*[[DGS Functions and GUI Functions]]
*[[DGS Functions and GUI Functions]]
Line 134: Line 134:


=Last=
=Last=
'''Everyone is welcome to make suggestions, test the script, help make adjustments/finish the wiki, etc.'''
'''Herkes önerilerde bulunmaya, betiği test etmeye, ayarlamalar yapmaya/vikiyi tamamlamaya vb. yardımcı olmaya davetlidir.'''
[[Category:Resource]]
[[Category:Resource]]



Latest revision as of 12:36, 29 January 2023

DGS Logo By Allerek

Bu kaynak, orijinal MTA:SA GUI işlevlerine alternatif olarak directX GUI'leri oluşturmanıza izin vermek için tasarlanmıştır.

Bu viki her zaman en son DGS sürümü içindir!

Tam isim: Thisdp's DirectX Graphical User Interface System (DxGUI Lib)

Geliştirme ekibi: thisdp, xLive, KronoS Lettify, [𝐓𝐅] 𝓣𝓗𝓔 𝓕𝓘𝓧𝓔𝓡

Statü: Açık Kaynak & Çalışmalar devam ediyor

GitHub Kaynağı: https://github.com/thisdp/dgs/tree/master

Discord Sunucusu: https://discord.gg/QEs8q6W

Güncel Sürüm: 3.519

Güncelleme Günlüğü: Changes and Updates Log


Otomatik Tamamlama ve Sözdizimi Vurgulama

Resmi:

En son otomatik tamamlamayı taramak ve oluşturmak için sunucu konsolunda aşağıdaki komutu kullanın (Yalnızca NotePad++/Sublime/VSCode'u destekler).

  • g2d -crawl npp/sublime/vscode

Veya kendi başınıza taramak yerine tamamlanmış dosyaları indirmek için aşağıdaki bağlantıyı kullanabilirsiniz.

3. Taraf Otomatik Tamamlama:

Özellikler

DGS Network Monitor
DGSS.png


Nasıl çalışıyor?

  • DGS, tıpkı cegui sistemi gibi element sistemine dayanmaktadır. DGS'nin kullanımını ve anlaşılmasını kolaylaştırmak için cegui'lerin kullanımını takip etmeyi seçiyorum.
  • DGS OOP sözdizimini destekler, POP'u sevmiyorsanız, bunun yerine OOP kullanın. Ancak OOP'un POP'tan daha yavaş olduğunu bilmelisiniz.
  • DGS elementlerin "onClientRender" olayında render edilir. "onClientRender" çağrıldığında, her DGS elemantin döngüye girecek ve hesaplanacaktır.


Cegui'den farkı ne?

  • Bu kaynak dx* fonksiyonlarına dayanmaktadır, bu nedenle stili cegui'den daha esnek olacaktır, bu da stili kendiniz tanımlayabileceğiniz anlamına gelir.
  • En son Style System', geliştiricinin çok sayıda dgsSetProperty/dgsSetProperties kullanmak yerine renk değiştirme, görüntü yükleme ve hatta sunucuda dgs öğeleriyle gölgelendiriciler yükleme gibi kendi stillerini tanımlamasına olanak tanır.


Güncelleme Sistemi

  • DGS'nizi en güncel tutmanız için sizi bilgilendirebilecek bir güncelleme sistemine sahiptir.
  • Daha yeni bir sürüm yayınlandığında, sürüm değişikliğini periyodik olarak algılar ve ardından sizi uyarır.
  • En düşük sürümü kontrol etmek ve DGS'nizi güncellemek için "updatedgs" komutunu çalıştırın.
  • Ayrıca, "dgsver" komutunu girerek DGS'nin sürümünü kontrol edebilirsiniz.


Bilmeniz Gerekenler

  • Bu proje 2014 yılından itibaren başlatılmıştır.
  • Bazı DGS öğeleri Render Target kullanır, bu da yeterli video belleğiniz yoksa Render Hedefi oluşturulmayacak ve bu nedenle bu dgs öğelerinin gösterilmeyeceği anlamına gelir.


Example DGS Cmd

Örnek scriptler


Hata Ayıklama

  • Hata ayıklama moduna "debugdgs" komutunu çalıştırarak girebilirsiniz.
  • "debugdgs": Basit hata ayıklama modu. Temel bilgiler için.
  • "debugdgs 2": Render hata ayıklama modu. Dgs öğelerinin ölçeğini gökkuşağı kenarlığı ile görmek için
  • "debugdgs 3": İzleme hata ayıklama modu. Örneğin dgs elementlerinin' nerede oluşturulduğunu izlemek için ve bazı işlevlerin izleme modu ayrıntıları göstermek için etkinleştirilecektir.


Uyarı

  • Kaynak adının 'dgs' olarak değiştirilmesi önerilir.
  • Bu bir kaynaktır, bu kaynak tarafından dışa aktarılan işlevleri kullanmak istiyorsanız, kodunuzda bir dışa aktarılan işlev öneki (exports.dgs:) çağrısı kullanmalısınız, örneğin
label = exports.dgs:dgsCreateLabel(0, 0, 0.5, 0.1, "text", true)
  • İşte dışa aktarılan bir işlevin adını kısaltmanın uygulanabilir bir yolu:
DGS = exports.dgs --shorten the export function prefix
label = DGS:dgsCreateLabel(0,0,0.5,0.1,"text",true) --create a label
  • En son sürümden itibaren artık exports.dgs:ye ihtiyaç duymuyor, bunun yerine şunları yapabiliriz
loadstring(exports.dgs:dgsImportFunction())()-- load functions
label = dgsCreateLabel(0,0,0.5,0.1,"text",true) --create a label

Nesne Yönelimli Programlama

loadstring(exports.dgs:dgsImportOOPClass(true))()-- load OOP class
window = dgsWindow(0,0,0.5,0.1,"test",true) --create a window with oop
label = window:dgsLabel(0,0,1,1,"label",true) --create a label inside the window
label.text = "DGS OOP Test" --set text

Yardımları için aşağıdakilere özel teşekkürler (Katkıda bulunanlara saygı gösterin):

  • Axel, Senpai, ZoNe
  • DiGiTal, #Dv^, maksam07
  • Scorpyo, Kingleonide, Bullet(.el3tar)
  • Allerek, Deihim007, OmarSwaitti(HankVoight)
  • FlyingFork, Lettify, Ahmed Ly
  • ᴛᴇᴍᴏɪꜱ, Shady1

DGS Tipler

DGS Element Properties

General Properties

Unique Properties For DGS Core Elements

Extra Properties For DGS Plugins

Client Functions

Custom Cursor Functions

Multi Language Supports

Animation

3D Element

3D Interface

3D Line

3D Image

3D Text

Browser

Button

Check Box

Combo Box

Custom Renderer

Edit

Detect Area

Drag'N Drop

Grid List

Image

Memo

Menu

Label

Layout

Line

Progress Bar

Radio Button

Scale Pane

Scroll Bar

Scroll Pane

Selector

Style

Switch Button

Tab Panel

Window

Basic Shape Plugins

Circle

Quadrilateral

Rounded Rectangle

Other Plugins

Blur Box

Canvas

Chart

Color Picker

Effect 3D

Gradient

Mask

Media Browser

Nine Slice

Object Preview Supports

Paste Handler

QRCode

Remote Image

Screen Source

SVG

Tooltips

Client Events

General

Check Box

Combo Box

Drag'N Drop

Edit

Grid List

Menu

Selector

Mouse

Radio Button

Switch Button

Tab

Animation

Plugin

Media

Color Picker

QRCode

Remote Image

Last

Herkes önerilerde bulunmaya, betiği test etmeye, ayarlamalar yapmaya/vikiyi tamamlamaya vb. yardımcı olmaya davetlidir.