Neler yeni

Foruma hoş geldin, Ziyaretçi

Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak tamamen ücretsizdir.

Türkiye'nin İlk ve tek FiveM forum adresi

Forum adresimize hoş geldin FiveMTürk olarak amacımız siz değerli kullanıcılarımıza en aktif fikir ve paylaşım platformu sunmak bir yana en güvenilir şekilde alışveriş yapabileceğiniz bir platform sunmaktır.
DF DF
DF DF
DF DF

Tanıtım Tamamen C# ile Sıfırdan Kodlanmış Motel

GenerousImpersio

Üye
FT Kullanıcı
Katılım
4 yıl 2 ay 14 gün
Mesajlar
37
Forumdaki herkese çok selam. Evde yapacak bir şey bulamayıp yaptığım bir projeyi paylaşmak istiyorum sizlere şuan çok erken bir aşamasında geliştirilmesi gerekiyor ancak paylaşmak için daha fazla beklemek istemedim. Tam sürüm çıkana kadar yardımcı olmak isteyen olursa diye bu sayfayı açtım. Yani bu konu birazcık yazılımdan anlayan dostlarımız için ancak en geç 3 güne tam sürüme çıkartmış olurum üşenmezsem. Scripte yapılması gereken bir kaç şey var: client-side optimizasyon (özellikle Main_DoorText döngüsüne), anahtar sistemi ve son olarak da belirli aralıklarla ödeme çekme işlemi.

Scriptin artı yönleri:

+
Config diye bir olay yok kapıların koordinatlarını teker teker girmiyorsunuz hash'den otomatik olarak algılıyor.
+ Tamamen c# ile yazıldı.
+ OOP bir dille yazıldığı için okunabilirliği daha rahat.
+ Yerli türk mühendisler tarafından yapıldı.

Scriptin negatif yönleri:
-
Bu denli küçük bir projede c# kullanılması gereksiz.
- Config bulunmaması kullanıcıdaki kontrolü kısıtlıyor. (yazılımdan anlamayanlar için)



Hafif bir tanıtım videosu:
Yardımcı Olmak İsteyenler İçin:
Kullandığım esx-wrapper (c#):

Onun dışında c# veya lua da script nasıl kodlanır büyük bir script projesi nasıl yapılır onun tutorialını yapmayı planlıyorum ne düşündüğünüzü belirtirseniz sevinirim. Herkese kolay gelsin.
 
Bu arada belirtmek isterim c# ile sorun yaşayanlar olursa bana yazabilirler callback gibi durumlarda çok vaktimi yemiştim. ExpandoObject den Dictionary<string, Room> çevirisini yapana kadar en az 3 saat araştırdım ama sonunda nasıl yapılır öğrendim
 
Forumdaki herkese çok selam. Evde yapacak bir şey bulamayıp yaptığım bir projeyi paylaşmak istiyorum sizlere şuan çok erken bir aşamasında geliştirilmesi gerekiyor ancak paylaşmak için daha fazla beklemek istemedim. Tam sürüm çıkana kadar yardımcı olmak isteyen olursa diye bu sayfayı açtım. Yani bu konu birazcık yazılımdan anlayan dostlarımız için ancak en geç 3 güne tam sürüme çıkartmış olurum üşenmezsem. Scripte yapılması gereken bir kaç şey var: client-side optimizasyon (özellikle Main_DoorText döngüsüne), anahtar sistemi ve son olarak da belirli aralıklarla ödeme çekme işlemi.

Scriptin artı yönleri:

+
Config diye bir olay yok kapıların koordinatlarını teker teker girmiyorsunuz hash'den otomatik olarak algılıyor.
+ Tamamen c# ile yazıldı.
+ OOP bir dille yazıldığı için okunabilirliği daha rahat.
+ Yerli türk mühendisler tarafından yapıldı.

Scriptin negatif yönleri:
-
Bu denli küçük bir projede c# kullanılması gereksiz.
- Config bulunmaması kullanıcıdaki kontrolü kısıtlıyor. (yazılımdan anlamayanlar için)



Hafif bir tanıtım videosu:
Yardımcı Olmak İsteyenler İçin:
Kullandığım esx-wrapper (c#):

Onun dışında c# veya lua da script nasıl kodlanır büyük bir script projesi nasıl yapılır onun tutorialını yapmayı planlıyorum ne düşündüğünüzü belirtirseniz sevinirim. Herkese kolay gelsin.

Eline sağlık
C# ile yazılmıştır diye belirtmenin belirli bir sebebi var mı ?
 
Eline sağlık
C# ile yazılmıştır diye belirtmenin belirli bir sebebi var mı ?
Daha önce pek bir yerde hem esx hem de c# kullanan bir script görmedim bundan mütevellit kaynak çok kısıtlı. Olabildiğince yazmaya çalıştım ki örnek kod arayan insanlar kolayca bulabilsin. C# hem OOP hem de güçlü bir dil olmasıyla birlikte beginner-friendly bir dildir o yüzden şahsi görüşüm öğrenilmesi kişi için iyi olur.
 
Daha önce pek bir yerde hem esx hem de c# kullanan bir script görmedim bundan mütevellit kaynak çok kısıtlı. Olabildiğince yazmaya çalıştım ki örnek kod arayan insanlar kolayca bulabilsin. C# hem OOP hem de güçlü bir dil olmasıyla birlikte beginner-friendly bir dildir o yüzden şahsi görüşüm öğrenilmesi kişi için iyi olur.
Bunu burda sormak pek düzgün olmayabilir ama kısa kesicem

Mesela lua'da bizim yaptığımız şeylerden ne gibi bir farkı oluyor c#'la yapınca [bu baltalama değil insanların yaptığı şeyi baltalamam sadece merak...] çünkü c# ile kaynak geliştirmeyi planlıyorum ama js ile yazasımda var. Hangisi daha düzgün çalışıyorsa ona kafa yorayım diyorum...
 
Bunu burda sormak pek düzgün olmayabilir ama kısa kesicem

Mesela lua'da bizim yaptığımız şeylerden ne gibi bir farkı oluyor c#'la yapınca [bu baltalama değil insanların yaptığı şeyi baltalamam sadece merak...] çünkü c# ile kaynak geliştirmeyi planlıyorum ama js ile yazasımda var. Hangisi daha düzgün çalışıyorsa ona kafa yorayım diyorum...
Kesinlikle baltalamak olarak algılamadım. C# büyük projelerde kullanılır sebebi class mantığı bulundurmasıyla proje büyüse de okunabilirliği fazla olmasıdır ayrıca bir ekibin üzerinde çalışması daha kolaydır. Bunu 1000'lerce satırlık lua koduna bakarak anlayabilirsiniz. Her şey çok karmaşık görünür. Ancak lua bazı konularda daha avantajlıdır örneğin native fonksiyonlarını daha hızlı çalıştırır yani küçük bir projede performans açısından öndedir. C#'ın luaya göre bir diğer üstünlüğü bazı matematiksel fonksiyonları içinde barındırır veri saklama metodları daha güvenlidir gibi gibi. Özetlemek gerekirse c# büyük projeler için lua küçük projeler için kullanılmalıdır. JavaScript ise fivemin kendi forumunda araştırdığım kadarıyla en yavaş dil o sebeple kullanmanızı tavsiye etmem. Hem c# hem luayı harmanlarsanız tadından yenmez.
 
Bunu burda sormak pek düzgün olmayabilir ama kısa kesicem

Mesela lua'da bizim yaptığımız şeylerden ne gibi bir farkı oluyor c#'la yapınca [bu baltalama değil insanların yaptığı şeyi baltalamam sadece merak...] çünkü c# ile kaynak geliştirmeyi planlıyorum ama js ile yazasımda var. Hangisi daha düzgün çalışıyorsa ona kafa yorayım diyorum...
C# kullanmanı tavsiye ederim. C# javaScript e nazaran oyunlar için daha çok kullanılan ve kullanılabilir bir dil kusursuz javascript bilmediğim ve javascript ile daha önce hiç eklenti kodlamadığım için javascriptin avantaj yada dezavantajlarından bahsedemem malesef. C# kullanarak dijital oyun projeleri yapıyorum. C++ kullanan uygulamalara nazaran C# ile çok daha rahat ettim daha pratik daha hızlı daha kolay bir dil.
Ve LUA ya nazaran işlemci ve RAM gücünden daha az kullanıyor daha optimize bir dil.
 
Kesinlikle baltalamak olarak algılamadım. C# büyük projelerde kullanılır sebebi class mantığı bulundurmasıyla proje büyüse de okunabilirliği fazla olmasıdır ayrıca bir ekibin üzerinde çalışması daha kolaydır. Bunu 1000'lerce satırlık lua koduna bakarak anlayabilirsiniz. Her şey çok karmaşık görünür. Ancak lua bazı konularda daha avantajlıdır örneğin native fonksiyonlarını daha hızlı çalıştırır yani küçük bir projede performans açısından öndedir. C#'ın luaya göre bir diğer üstünlüğü bazı matematiksel fonksiyonları içinde barındırır veri saklama metodları daha güvenlidir gibi gibi. Özetlemek gerekirse c# büyük projeler için lua küçük projeler için kullanılmalıdır. JavaScript ise fivemin kendi forumunda araştırdığım kadarıyla en yavaş dil o sebeple kullanmanızı tavsiye etmem. Hem c# hem luayı harmanlarsanız tadından yenmez.
Bu güzel açıklayıcı yanıtınız için teşekkür ederim :)

Tekrardan elinize sağlık
 
C# kullanmanı tavsiye ederim. C# javaScript e nazaran oyunlar için daha çok kullanılan ve kullanılabilir bir dil kusursuz javascript bilmediğim ve javascript ile daha önce hiç eklenti kodlamadığım için javascriptin avantaj yada dezavantajlarından bahsedemem malesef. C# kullanarak dijital oyun projeleri yapıyorum. C++ kullanan uygulamalara nazaran C# ile çok daha rahat ettim daha pratik daha hızlı daha kolay bir dil.
Ve LUA ya nazaran işlemci ve RAM gücünden daha az kullanıyor daha optimize bir dil.
Bu yoruma eklemede bulunmak istiyorum eğer c++ ile daha önceden çok vakit geçirmediyseniz kullanmayın bence memory leak tarzında sorunlara yol açabilirsiniz. (memorynin kullanılmak için ayrılıp geri bırakılmaması durumu). Eğer c++ ile çok vakit geçirirseniz elinizdeki olasılıklar sınırsız optimizasyon açısından zirveye oynarsınız.
 
Lua ya da js nesne temelli degil midir ?

Hayır, değildir. LUA ve JS'de class oluşturamadığınız için tam anlamıyle OOP diyemezsiniz ki zaten değildir. Sadece OOP'ymiş gibi taklit edebilirsiniz.


C# script kodlarken BaseScript classından inherit etmek gerekiyor EventHandling gibi durumları barındırması için bu da bazı performans kayıplarına yol açıyor. BaseScript içinde bir sürü eleman barındırıyor ama bu denli küçük projelerde bu kadar fazla etmen olmadığı için sadece performans kaybına yol açıyor.
 
Tartışma içerikli mesajlar tarafımca silinmiştir
 
Lutfen yanlis anlamayin, amacim katiyen tartismak degil fakat siz konuya "biz bu isin ihtacatini, ithalatini" misali muhendis oldugunuzu basa basa belirtince haliyle insanin beklentileri artiyor...

Hayır, değildir. LUA ve JS'de class oluşturamadığınız için tam anlamıyle OOP diyemezsiniz ki zaten değildir. Sadece OOP'ymiş gibi taklit edebilirsiniz.

Lutfen bilmediginiz konularda yorum yapmayin, insanlari yanlis bilgiye yonlendirmeyin:

Bir dilde sinif yapisi, nesne tabani icin aranan bir sart degildir. Onemli olan kalitim saglanip saglanamayacagidir. Eger bana abstractlarin olmadigini ornek gosterseydiniz, daha uzun tartisabilirdik bu konuda ama bu sekilde soyleyebilecegim tek sey; js ya da lua tam anlamiyla OOP dir. Taklit etmek dediginiz kisim zaten nesne olusturmak ve bunlari islemek oluyor.

C# script kodlarken BaseScript classından inherit etmek gerekiyor EventHandling gibi durumları barındırması için bu da bazı performans kayıplarına yol açıyor. BaseScript içinde bir sürü eleman barındırıyor ama bu denli küçük projelerde bu kadar fazla etmen olmadığı için sadece performans kaybına yol açıyor.

BaseScriptten turetiyor, evet burada haklisiniz. Fakat siz c# degil, mono kullaniyorsunuz. Biraz arastirirsaniz bahsettiginiz seyin sacmalik oldugunu anlayacaksiniz. Mono sizin ihtiyaciniz olan kutuphaneleri ekler, common c# esyalarini sizden uzak tutar. Ihtiyaciniz olmayan hic bir sey processe girmez demek oluyor bu. Sadece olan seylere scripting yaparsiniz.
Fivem scriptingde JS ya da LUA nin, baska bir tabani kullanmadigini mi dusunuyorsunuz ? Evet class yapilarini kullanmiyorlar fakat baska sekillerde event emitter, lua icin json destegi, lua icin coroutine yapisi, Citizen librarysi, messagepack yapisi devir aliniyor.

iyi aksamlar.
 
Son düzenleme:
Lutfen yanlis anlamayin, amacim katiyen tartismak degil fakat siz konuya "biz bu isin ihtacatini, ithalatini" misali muhendis oldugunuzu basa basa belirtince haliyle insanin beklentileri artiyor...

Yanlış anlamadım tartışma yapmayı severim üzlübunun dışına çıkılmadıkça -çıktınız demiyorum-.

Lutfen bilmediginiz konularda yorum yapmayin, insanlari yanlis bilgiye yonlendirmeyin:


Bu verdiğiniz link bir başkasınız görüşünü açıklıyor.


Bakın bu da benim size verdiğim link. Burada da OOP değildir diyor. Ben açıkçası bir kaynak bulup ona yaslanarak "Lutfen bilmediginiz konularda yorum yapmayin, insanlari yanlis bilgiye yonlendirmeyin" demenizi yanlış buldum daha kibar bir anlatım yapabilirsiniz.

BaseScriptten turetiyor, evet burada haklisiniz. Fakat siz c# degil, mono kullaniyorsunuz. Biraz arastirirsaniz bahsettiginiz seyin sacmalik oldugunu anlayacaksiniz. Mono sizin ihtiyaciniz olan kutuphaneleri ekler, common c# esyalarini sizden uzak tutar. Ihtiyaciniz olmayan hic bir sey processe girmez demek oluyor bu. Sadece olan seylere scripting yaparsiniz.
Fivem scriptingde JS ya da LUA nin, baska bir tabani kullanmadigini mi dusunuyorsunuz ? Evet class yapilarini kullanmiyorlar fakat baska sekillerde event emitter, lua icin json destegi, lua icin coroutine yapisi, Citizen librarysi, messagepack yapisi devir aliniyor.
Burada demek istediğim bu değildi yanlış anlatmışım kendimi kusura bakmayın. Benim demek istediğim BaseScript classının benim bu kullandığım script için gerekli olmasıydı. BaseScript gerekli olma sebebi ise EventHandling kısmıdır ben BaseScriptin içerisindeki TriggerEvent ve EventHandlers[""]'ları kullandım ama kullanmadığım bir sürü şey var bu da FiveM'in forumunda gördüğüm kadarıyla bazı performans kayıplarına yol açıyor. Sizin dediğiniz .Net kütüphanesinden bahsetmiyorum o benim kullanıp kullanmamama göre şekilleniyor ancak BaseScript classı değil.
 

Forumdan daha fazla yararlanmak için giriş yapın yada üye olun!

Forumdan daha fazla yararlanmak için giriş yapın veya kayıt olun!

Kayıt ol

Forumda bir hesap oluşturmak tamamen ücretsizdir.

Şimdi kayıt ol
Giriş yap

Eğer bir hesabınız var ise lütfen giriş yapın

Giriş yap

Bu konuyu görüntüleyen kullanıcılar

Tema düzenleyici

Tema özelletirmeleri

Granit arka planlar

Lütfen Javascript'i etkinleştirin!Javascript'i etkinleştirin!