- Mesaj
- 76
- Çözümler
- 4
- Beğeni
- 96
- Puan
- 669
- Ticaret Puanı
- 0
Merhaba arkadaşlar. Ben dahil bir çoğumuz, internette paylaşılmış sistemlerin / fixlerin mantığı basit de olsa karmaşık da olsa neyin neden yapıldığını çoğu zaman anlamadan, ilgilenmeden, sırf kopyala yapıştır yöntemiyle server - client kodlarımıza dahil ediyoruz. Tabi ki en rahatı ve güzeli bu. Ama benim "en azından yapmaya çalıştığım şeyi yapıp çalıştırabilecek kadar" neyin ne olduğunu anlamaya ihtiyacım vardı. Bolca deneme yanılma sonunda mantığın temel kısmını kavradığımı zannediyorum.
Ben, ucundan da olsa, basitçe client - server arası paketlerin nasıl işlediğini, python tarafından (oyun içinden) tetikleyerek client'te çalıştırdığımız fonksiyondan gönderdiğimiz paketle server üzerinde işlemin nasıl yapıldığını elimden geldiğince göstermek için tek videoluk (yaklaşık 40 dakika) bir rehber hazırladım.
Basit bir mantığa sahip olduğunu düşündüğüm için bu rehberde "envanter içi sürükle-bırak item silme butonu" yaptım.
Ortam müsait olmadığı için sesli kayıt alamadım fakat anlatımı videoya eklediğim metinlerle olabildiğince destekledim ve yazılı açıklamalarda bulundum.
Şu anda Windows Altyapı Server Files kullandığımdan, tüm kaynak kodlarını Visual Studio'da derliyorum. Fakat yaptığım işlemlerin aynıları BSD için de geçerli.
Videoya geçmeden önce, @MT2Dev 'in konuyla ilgili yazdığı faydalı yol gösterme ve bilgilendirme mesajını buraya sabitlemek istiyorum.
Konuda işlenen sistem rehberini bu mesajıyla bir bütün haline getirdiği ve benim de bilmediğim kısımlara ışık tuttuğu için kendisine tekrardan teşekkür ediyorum![Smile :) :)](https://cdn.jsdelivr.net/joypixels/assets/8.0/png/unicode/64/1f642.png)
MT2Dev'in Mesajı
Umarım birilerinin işine yarar![Smile :) :)](https://cdn.jsdelivr.net/joypixels/assets/8.0/png/unicode/64/1f642.png)
Ben, ucundan da olsa, basitçe client - server arası paketlerin nasıl işlediğini, python tarafından (oyun içinden) tetikleyerek client'te çalıştırdığımız fonksiyondan gönderdiğimiz paketle server üzerinde işlemin nasıl yapıldığını elimden geldiğince göstermek için tek videoluk (yaklaşık 40 dakika) bir rehber hazırladım.
Basit bir mantığa sahip olduğunu düşündüğüm için bu rehberde "envanter içi sürükle-bırak item silme butonu" yaptım.
Ortam müsait olmadığı için sesli kayıt alamadım fakat anlatımı videoya eklediğim metinlerle olabildiğince destekledim ve yazılı açıklamalarda bulundum.
Şu anda Windows Altyapı Server Files kullandığımdan, tüm kaynak kodlarını Visual Studio'da derliyorum. Fakat yaptığım işlemlerin aynıları BSD için de geçerli.
Video İçeriği:
-1. Kısım: Envantere butonu yerleştirmek. (pack / python)
-2. Kısım: Butona bir eşyayla tıklanıp tıklanmadığının kontrolü (sürükle-bırak)
ve beraber tıklanan eşyanın hangi slotta / pozisyonda olduğunun verisini
elde edip bunu oyun içinde yazdırmak. (pack / python)
-3. Kısım: Client source'da, oyun içinden edindiğimiz "item pozisyonu" verisini
servera göndermek üzere bir paket tanımlamak ve Python tarafından
"net.FonksiyonAdımız" kullanımıyla erişebileceğimiz (ve veriyi servera
gönderecek olan) bir fonksiyon yazmak. Root'tan fonksiyonu çağırmak.
(client src / c++)
-4. Kısım: Server source'da gelen veriyi işlemek üzere aynı paketi tanımlamak,
gelen envanter pozisyonuna göre itemi bulup, eğer giyilmiyorsa itemi silmek.
(game src / c++)
Ve sürüklenen itemin mouse'a takılı kalmasını önlemek.
(python)
-5. ve son kısım: "Silmek istediğinden emin misin?" evet/hayır kontrolü.
(pack / python)
Videoya geçmeden önce, @MT2Dev 'in konuyla ilgili yazdığı faydalı yol gösterme ve bilgilendirme mesajını buraya sabitlemek istiyorum.
Konuda işlenen sistem rehberini bu mesajıyla bir bütün haline getirdiği ve benim de bilmediğim kısımlara ışık tuttuğu için kendisine tekrardan teşekkür ediyorum
![Smile :) :)](https://cdn.jsdelivr.net/joypixels/assets/8.0/png/unicode/64/1f642.png)
MT2Dev'in Mesajı
Umarım birilerinin işine yarar
![Smile :) :)](https://cdn.jsdelivr.net/joypixels/assets/8.0/png/unicode/64/1f642.png)
Son düzenleme: