Neler yeni

Foruma hoş geldin, Ziyaretçi

Metin2Lobby.com Metin2 Private Server Tanıtım Advertising Ve Geliştirme Forumudur.Metin2 pvp serverler,1-99,1-105,1-120,55-120 global serverları paylaş yada ara.
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.

Değışkenler

Admin

Metin2Lobby
Yönetici
Founder
Katılım
6 Mayıs 2022
Konular
48,291
Mesajlar
48,601
Tepkime puanı
75
M2 Yaşı
3 yıl 11 ay 10 gün
Trophy Puan
48
Konum
Web sitesi
M2 Yang
488,879
Ticaret : 1 / 0 / 0
Ticaret Oranı : 100%
Bir veriyi içerisinde depolayan birime değişken denir. Değişkeni yandaki kutuya benzetebilirsiniz.Siz ona bir değer verirsiniz. O da verdiğiniz değeri sizin için saklar. Değişken isimleri sayı ile başlayamaz ve program içinde bulunan herhangi bir komut değişken ismi olarak atanamaz.



Eğer herhangi bir programlama dili ile ilgilendiyseniz değişkenler ile bol bol uğraşmış olmanız gerekir. Diğer programlama dillerinde(C,C++,C#) bir değişken tanımlanırken değişkenin adı yazılmadan önce türü yazılır.
int tamSayi=10;
char karakter = 'a';
cumle = "Bu bir cümledir."
float ondalikSayi = 2.5
Python programlama dilinde bu kural geçerli değildir. Değişken tanımlarken adını ve değerini yazmak yeterlidir.Eğer Python gibi yorumlayıcı web programlama dili olan PHP ile ilgilendiyseniz bu tanımla yolu size çok tanıdık gelecektir. Yukarı da verilen değişkenleri Python'da tanımlayalım.
[COLOR=white !important]
1
2
3
4​
>>>tamSayi = 10 #integer
>>>karakter = 'a' #char
>>>cumle = "Bu bir cümledir." #string
>>>ondalikSayi = 2.5 #float



Aşağıda Python'da değişken kullanımları ile ilgili bir kaç örnek verilmiştir.
[COLOR=white !important]
1
2
3
4
5​
[TD]>>> ad="Mazlum"
>>> soyad="Ağar"
>>> adSoyad = ad + soyad
>>> print adSoyad
MazlumAğar

[/TD]​


Bu örnekte kullanılan "+" operatör dikkatinizi çekmiştir. Operatörler daha ileri yazılarda detaylı bir şekilde incelenecektir. "+" operatörü iki karakter dizinini birleştirmek için kullanılmıştır.
[COLOR=white !important]
1
2
3
4​
[TD]>>> sayi1=10
>>> sayi2=2
>>> print "sayi1 ve sayi2'nin carpimi", sayi1*sayi2,"dir."
sayi1 ve sayi2'nin carpimi 20 dir.

[/TD]​


Bu örnekte ise birleştirme işlemi için "," kullanılmıştır. Bir önceki örnekte kullanılan "+" operatörü sadece karakter dizilerini birleştirmek için kullanılır."," ile her türden ifadeler birleştirilebilir. "," işaretinin burada yaptığı işlem birden fazla karakter dizisini tek bir karakter dizisine dönüştürmektir.
Değişkenleri yazdırmanın bir diğer yolu da şu şekildedir:
[COLOR=white !important]
1
2
3
4​
[TD]>>> adres="pythondersleri.com"
>>> gorev="herkese python ogretmektir."
>>> print "%s'un amacı %s"%(adres,gorev)
pythondersleri.com'un amacı herkese Python ogretmektir.

[/TD]​


Float tipi değişkenler için ise değişken tanımlanırken sayı noktalı olarak yazılmalıdır. Aşağıdaki örnekte görüldüğü gibi tanımlama yapılırken float tipinden bir değişken olduğu belli olmaktadır. Bu yüzden artık o sayı üzerinden işlem yapıldığı sürece sonuçlar da float tipinden dönecektir.
[COLOR=white !important]
1
2
3
4​
[TD]>>> sayi=3.6
>>> bol=sayi/2
>>> print bol
1.8

[/TD]​



Dönüştürme İşlemleri
Bazı durumlarda değişkenler üzerinde tür dönüşümü yapmak zorunda kalabilirsiniz. Program yazdıkça farkına varacaksınız ki; En çok dönüştürme işlemi 'string' ve 'integer' ifadeler arasında yapılmaktadır. Tür Dönüşümü İçin Kullanılan Fonksiyonlar:

  • <li data-xf-list-type="ul">Float() =&gt; Herhangi bir sayı veya sayı değerli karakter dizisini noktalı sayıya çevirir. <li data-xf-list-type="ul">int() =&gt; Herhangi bir sayıyı veya sayı değerli karakter dizisini tam sayıya dönüştürür. <li data-xf-list-type="ul">str() =&gt; Herhangi bir sayıyı karakter dizisine dönüştürür.
Tür Dönüşümleri ile ilgili bir kaç örnek verilebilir.
[COLOR=white !important]
1
2
3​
[TD]&gt;&gt;&gt; a = 2
&gt;&gt;&gt; print float(a)
2.0

[/TD]​


Bu örnekte görüldüğü üzere 'integer' tipinde değişken olan "a" float() fonksiyonu ile 'float' tipine dönüştürülmüştür. Ekrana çıktı olarak da artık noktalı sayı dönmüştür.
[COLOR=white !important]
1
2
3
4
5
6
7​
[TD]&gt;&gt;&gt; a=10
&gt;&gt;&gt; b="15"
&gt;&gt;&gt; print a+b
Traceback (most recent call last):
File "&lt;stdin&gt;", line 1, in &lt;module&gt;
TypeError: unsupported operand type(s) for +: 'int' and 'str'
&lt;/module&gt;&lt;/stdin&gt;

[/TD]​


Bu şekilde bir kullanım yapılırsa görüldüğü gibi Python integer ve string türünü toplayamadığı için hata döndürdü.Bu yüzden bunu şu şekilde yapabiliriz.
[COLOR=white !important]
1
2
3
4​
[TD]&gt;&gt;&gt; a=10
&gt;&gt;&gt; b="15"
&gt;&gt;&gt; print a+int(b)
25

[/TD]​


Bu kullanım çok mantıklı olmayabilir. İleri ki yazılarda kullanıcı ile etkileşime geçildiği zaman bu dönüşümlerin ne kadar önemli olduğundan bahsedeceğiz.

Değişkenler Nedir? Metin2 Sunucu Geliştirme Sürecinde Değişken Kullanımı

Metin2 özel sunucuları geliştirmek isteyen geliştiriciler için değişken kavramı temel düzeyde programlama bilgisinin gerektiği önemli bir yapıdır.

Metin2 lobby özel sunucularında, hem C++ tabanlı sunucu tarafı (server side) hem de Python tabanlı istemci tarafı (client side) üzerinde çalışılır. Bu iki ortamda da değişkenlerin doğru kullanımı, oyun mekaniklerinin, PvP sistemlerinin ve diğer dinamik içeriklerin sorunsuz işlemesini sağlar.

Değişken Nedir?
Değişken, belirli bir veriyi saklamak için kullanılan ve programın çalışması süresince değerini değiştirebilen yapılardır. Örneğin bir oyuncunun can değeri, seviyesi veya bir itemin gücü gibi değerler değişkenler aracılığıyla tutulur.

C++ ve Python'da Değişken Tanımlama
C++ dilinde değişkenler, veri türüyle birlikte tanımlanır. Örneğin:
Kod:
int level = 1;[BR][/BR]char name[20];[BR][/BR]bool isAlive = true;

Burada int, char, bool gibi anahtar kelimeler veri tipini belirtir. Metin2 server src dosyalarında genellikle bu tür veri tipleri kullanılır.

Python tarafında ise değişken tanımlama daha basittir. Veri tipi otomatik olarak belirlenir:
Kod:
level = 1[BR][/BR]name = 'Player'[BR][/BR]is_alive = True

Bu yapılar, uiscript veya py root dosyalarında sıklıkla kullanılır.

Değişkenlerin Metin2 PvP Sistemlerinde Kullanımı
Metin2 özel sunucularında PvP sistemleri, oyuncuların birbiriyle rekabet etmesini sağlar. Bu sistemlerde oyuncuların güçleri, hasar değerleri, zırh miktarları gibi birçok parametre değişkendir. Bu değişkenlerin doğru yönetimi, dengeli bir PvP deneyimi sunmak açısından hayati öneme sahiptir.

Örneğin bir karakterin PvP kazanç puanı, bir int değişkeni olarak saklanabilir:
Kod:
int pvp_score = 0;[BR][/BR]pvp_score += 10; // Kazandığında 10 puan ekle

Bu sayede her PvP mücadelesinde oyuncunun kazanç puanı güncellenir.

Py GUI ve Uiscript Üzerinde Değişken Kullanımı
Metin2 client tarafında kullanıcı arayüzü (UI) geliştirmek için Py GUI ve uiscript kullanılır. Burada da değişkenler arayüzde gösterilecek bilgileri tutmak için kullanılır. Örneğin bir oyuncunun adı, seviyesi veya can miktarı gibi değerler UI üzerinde gösterilmek üzere değişkenlerde saklanır.

DB (Veritabanı) ile Değişken Eşleşmesi
Metin2 sistemlerinde DB (veritabanı), oyuncuların bilgilerini, eşyalarını, skorlarını vs. tutar. Oyuncu bilgileri C++ tarafında alınır ve veritabanı ile senkronize edilir. Bu verilerin doğru eşlenmesi için değişkenlerin isimleri ve türleri DB şemasıyla uyumlu olmalıdır. Örneğin bir karakterin level bilgisi DB'de int olarak tanımlanmışsa, C++ tarafında da aynı şekilde tanımlanmalıdır.

Geliştiriciler İçin Pratik Tavsiyeler
1. Her değişkenin ne işe yaradığını açıklayan açıklamalar yazmak kodun okunabilirliğini artırır.
2. Değişken isimleri anlamlı olmalı, hem game hem auth sunucusunda uyumlu olacak şekilde tasarlanmalıdır.
3. Python ve C++ arasında veri aktarımı yapılırken veri tipleri dikkatlice kontrol edilmelidir.

Sonuç
Değişkenler, Metin2 özel sunucu geliştirme sürecinin temel taşlarından biridir. Hem server src hem de client src üzerinde doğru değişken kullanımı, stabil ve güçlü sistemlerin kurulmasını sağlar. Martysama gibi deneyimli geliştiricilerin projelerinde de bu yapılar sıkça kullanılır. Oyun çekirdeği (game core) ve veritabanı çekirdeği (db core) üzerinde yapılacak çalışmalarda değişken yönetimi büyük rol oynar.


What Are Variables? Variable Usage in Metin2 Server Development

For developers aiming to create Metin2 private servers, variables are fundamental structures that require basic programming knowledge.

In Metin2 lobby private servers, work is done on both the C++ based server-side (server side) and the Python-based client-side (client side). Proper use of variables in both environments ensures smooth operation of game mechanics, PvP systems, and other dynamic content.

What Is a Variable?
A variable is a structure used to store specific data and can change its value during the execution of a program. For example, values such as a player's health, level, or an item's power are stored via variables.

Variable Declaration in C++ and Python
In C++, variables are declared along with their data type. For example:
Kod:
int level = 1;[BR][/BR]char name[20];[BR][/BR]bool isAlive = true;

Here, keywords like int, char, bool specify the data type. Such data types are commonly used in Metin2 server src files.

In Python, variable declaration is simpler. The data type is automatically determined:
Kod:
level = 1[BR][/BR]name = 'Player'[BR][/BR]is_alive = True

These structures are frequently used in uiscript or py root files.

Usage of Variables in Metin2 PvP Systems
PvP systems in Metin2 private servers allow players to compete against each other. In these systems, parameters such as player strengths, damage values, armor amounts, etc., are all variables. Correct management of these variables is crucial for providing a balanced PvP experience.

For example, a character's PvP score can be stored as an int variable:
Kod:
int pvp_score = 0;[BR][/BR]pvp_score += 10; // Add 10 points upon winning

This way, the player's score updates after each PvP match.

Variable Usage in Py GUI and Uiscript
On the Metin2 client side, user interface (UI) development is done using Py GUI and uiscript. Here, variables are also used to hold information displayed in the UI. For instance, values such as a player's name, level, or health amount are stored in variables to be shown in the UI.

Database (DB) Mapping with Variables
In Metin2 systems, the database (DB) stores player information, items, scores, etc. Player data is retrieved on the C++ side and synchronized with the database. To ensure correct mapping, variable names and types must align with the DB schema. For example, if a character's level is defined as int in the DB, it must also be declared the same way in C++.

Practical Tips for Developers
1. Writing comments explaining what each variable does increases code readability.
2. Variable names should be meaningful and designed to be compatible with both game and auth servers.
3. When transferring data between Python and C++, data types must be carefully checked.

Conclusion
Variables are one of the foundational elements of Metin2 private server development. Correct usage of variables on both server src and client src sides enables the construction of stable and robust systems. These structures are frequently used in projects by experienced developers like Martysama. Variable management plays a significant role in work involving the game core (game core) and database core (db core).
 

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!

Kaydol

Forumda bir hesap oluşturmak tamamen ücretsizdir.

Üye ol
Giriş Yap

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

Giriş Yap

Tema düzenleyici

Tema özelletirmeleri