Jump to content
Araştır
  • Diğer seçenekler ...
Sonuçları bul ...
Sonuçları bul ...
KO Developers Platformuna Hoşgeldin!
PENTAGRAM

Magic Anvil, Upgrade hakkında herşey

Önerilen Mesajlar

Merhabalar, upgrade sisteminin çalışma prensibi ve scrollerin işlevlerini aşağıdaki konu içeriğinde bulabilirsiniz.

(Konu SocialistGuerrilla'dan alıntıdır, kendisine bu değerli konuyu hazırladığı için teşekkür ederiz.)

:napcan:

Rehberde kullanılacak İngilizce terimler ve Türkçe karşılıkları:

Spoiler


Axe: Balta
Blessed: Kutsanmış
Bow: Yay
Class: Sınıf
Club: Sopa, cop
Dagger: Hançer
Fire: Ateş
High: Yüksek, üst
Ice: Buz
Item: Eşya
Lightning: Yıldırım, şimşek
Low: Düşük, alçak
Magic Anvil: Büyülü Örs
Middle: Orta
Poison: Zehir
Rebirth: Yeniden doğuş, diriliş
Scroll: Parşömen
Spear: Mızrak, kargı
Staff: Asa
Sword: Kılıç
Unique: Yegâne, eşsiz, benzersiz
Upgrade: Geliştirmek




Rehberde kullanılacak kısaltmalar, semboller:

Spoiler


LUS: Upgrade Scroll (Low Class Item)
MUS: Upgrade Scroll (Middle Class Item)
HUS: Upgrade Scroll (High Class Item)
BUS: Blessed Upgrade Scroll (High Class Item)
BES: Blessed Elemental Scroll (High Class Item)
"~": Yaklaşık değer sembolü
"^": Üs/kuvvet alma sembolü



Giriş

Upgrade işleminin temel amacı bir eşyayı olduğundan daha üst seviyeye ulaştırıp güçlendirmektir. Eşyaların seviyeleri eşya isimlerinin hemen sağındaki sayı ile ifade edilir.
Wood Staff +1, Golden Pendant +6, Chitin Shield +3 gibi.
Bunun yanında her eşyanın belirli bir sınıfı bulunur. Hangi sınıfa ait olduğu bir eşyanın hangi scroll ile upgrade edilebileceğini gösterdiği gibi, o eşyanın ortalama değerini de belirtir.
Örneğin Durandal +1 High Class bir kılıçtır, Low Class bir kılıç olan Two-Handed Sword +1'den daha değerlidir.
Fakat bir eşyanın değeri Unique olup olmaması, seviyesi ve benzer birtakım durumlara bağlı olarak değişebilir.
Örneğin Wizard Staff +9 Middle Class bir asa olmasına rağmen, High Class bir asa olan Elixir Staff +6'dan daha değerlidir. Aynı şekilde bir Unique asa olan Lycaon Staff +1 de Unique olduğu için Elixir Staff +6'dan daha değerlidir.
Upgrade işlemi Moradon'daki Magic Anvil aracılığıyla yapılır. Geliştirilmek istenen eşya(lar) ve işlem sırasında kullanılacak scroll Magic Anvil'e yerleştirilir, işlem sonucunda eşya belirli bir yüzdeye bağlı olarak gelişir veya yok olur. Upgrade işleminde kullanılan scroll'lar Magic Anvil'in hemen yanındaki Charon'dan, Abyss zindanının 20. katındaki NPC'den veya diğer oyunculardan satın alınabildiği gibi, yüksek seviyeli bazı yaratıklar da öldürülerek elde edilebilmektedir.

Rehberde belirtilen yüzdelerin hepsi yaklaşık değerlerdir ve oyuncular tarafından hazırlanan istatistiklere dayanmaktadır. Bir diğer önemli konu da olasılık hesaplarında geçerli olan kuralların upgrade işlemindeki geçerliliğidir. Altı kez üstüste atılan altı yüzlü bir zarın en azından bir kere 6 geleceği kesin olmadığı gibi, örneğin upgrade yüzdesi %5 olan bir eşyadan 20 tanesi upgrade edildiğinde en azından birinin başarılı olacağının garantisi yoktur.

Charon'daki Scroll Fiyatları:


Upgrade Scroll (Low Class Item): 11.000
Upgrade Scroll (Middle Class Item): 110.000
Upgrade Scroll (High Class Item): 264.000
Blessed Upgrade Scroll (High Class Item): 2.640.000
Elemental Scroll (Low Class Item): 16.500
Elemental Scroll (Middle Class Item): 165.000
Elemental Scroll (High Class Item): 264.000
Blessed Elemental Scroll: 3.960.000
Enchant Scroll (Low Class Item): 11.000
Enchant Scroll (Middle Class Item): 110.000
Enchant Scroll (High Class Item): 264.000
Blessed Enchant Scroll (High Class Item): 1.320.000
Immune Scroll (Low Class Item): 11.000
Immune Scroll (Middle Class Item): 110.000
Immune Scroll (High Class Item): 264.000
Blessed Immune Scroll (High Class Item): 1.320.000
Reduce Scroll (Low Class Item): 11.000
Reduce Scroll (Middle Class Item): 110.000
Reduce Scroll (High Class Item): 264.000
Blessed Reduce Scroll (High Class Item): 1.320.000
Dispell Scroll (Middle Class Item): 110.000
Dispell Scroll (High Class Item): 264.000
Accessory Compound Scroll: 55.000
Accessory Enchant Scroll: 264.000
Rebirth Scroll: 2.640.000
Rebirth Item Strengthen Scroll: 1.320.000

Silah, Zırh ve Kalkanların Geliştirilmesi

Low Class Eşyalar:

Alt sınıf eşyalar geliştirilirken +7’ye kadar LUS kullanılır, +7’de eşya sınıf atladığı için MUS kullanılmaya başlanır. Yaklaşık gelişim yüzdeleri şöyledir:
+1 → +2 : %100 (LUS)
+2 → +3 : %100 (LUS)
+3 → +4 : ~%70 (LUS)
+4 → +5 : ~%70 (LUS)
+5 → +6 : ~%65 (LUS)
+6 → +7 : ~%35 (LUS)
+7 → +8 : ~%5 (MUS)
+8 → +9 : ~%1 (MUS)

Middle Class Eşyalar:

Orta sınıf eşyalar geliştirilirken +7’ye kadar MUS kullanılır, +7’den sonra eşya sınıf atladığı için BUS kullanılmaya başlanır. Yaklaşık gelişim yüzdeleri şöyledir:
+1 → +2 : %100 (MUS)
+2 → +3 : %100 (MUS)
+3 → +4 : ~%70 (MUS)
+4 → +5 : ~%70 (MUS)
+5 → +6 : ~%60 (MUS)
+6 → +7 : ~%35 (MUS)
+7 → +8 : ~%5 (BUS)
+8 → +9 : ~%1 (BUS)

High Class Eşyalar:

Yüksek sınıf eşyalar geliştirilirken ilk önce tasarruf için bir kez HUS kullanılır, +2'den itibaren ise BUS kullanılmaya başlanır. +3'den sonra eşyanın değerine göre gelişim yüzdesini artırmak amacıyla ek olarak Power Up Store'dan satın alınabilen Trina’s Piece de kullanılabilir. Yaklaşık gelişim yüzdeleri şöyledir:
+1 → +2 : ~%99 (HUS), %100 (BUS)
+2 → +3 : %100 (BUS)
+3 → +4 : ~%70 (BUS)
+4 → +5 : ~%70 (BUS)
+5 → +6 : ~%55 (BUS)
+6 → +7 : ~%25 (BUS)
+7 → +8 : ~%5 (BUS)
+8 → +9 : ~%1 (BUS)

High Class eşyalar, +7'den itibaren Rebirth Scroll kullanılarak bir rebirth eşyaya dönüştürülebilirler.

Unique Eşyalar:

Unique eşyalar başlangıçta geliştirilemez durumdadır. Upgrade kilitlerini açmak için BES kullanılır, başarı şansı %100’dür ama sizden 500.000 altın alır. Ardından upgrade işlemine BUS ile devam edilir, ama işlem sırasında her aşamada 250.000 altın ödenir.

Bazı unique eşyalar, +7'den itibaren Rebirth Scroll kullanılarak bir rebirth eşyaya dönüştürülebilirler.

Rebirth Eşyalar

Rebirth, Reign of the Fire Drake ile eklenen bir eşya sistemidir. Ayrıntılı bilgi için Rebirth Sistemi isimli yazıya başvurabilirsiniz.

Notlar, Tavsiyeler:
Low Class eşyalar LUS ile +3’e kadar %100 geliştirilebilir.
Middle Class eşyalar MUS ile +3’e kadar %100 geliştirilebilir.
High Class eşyalar BUS ile +3’e kadar %100 geliştirilebilir.
Low Class eşyalarda MUS ya da BUS kullanmak gelişim yüzdesini gözle görülür bir şekilde değiştirmemektedir.
Eşyalara HP, STR... gibi ek özellikler ya da element ekleme olasılığı %100 değildir, ama başarı şansı çok yüksektir (~%95).
Eşyalardaki element özelliğini değiştirme yüzdesi %100’dür, ama oyuncudan upgrade sırasında 500.000 altın alır.
Örneğin Elixir Staff +6/48 Lightning Damage, Dispell Scroll (High Class Item) kullanarak %100 başarı yüzdesi ile Flame Damage’lı bir asaya dönüştürülebilir.
Bir eşyaya upgrade işlemi tamamlanmadan ek özellikler eklemek başarı yüzdesini istatistiksel olarak etkilemez, ama bu eşya upgrade işlemi sırasında yok olursa ek özellik için kullanılan scroll da yok olmuş olacaktır. Diğer yandan +7'de High Class'a dönüşen ve dolayısıyla element özelliği kazanmak için gayet pahalı olan BES gerektiren Middle Class eşyalara +6'ya gelindiğinde element eklemek akıllıca olacaktır.
Trina’s Piece, upgrade yüzdesini yaklaşık olarak %20 artırmaktadır.

Zırh ve kalkanların seviyelerine göre ek özellik (Strenght Bonus, Health Bonus gibi...) değerleri şu şekildedir:
+1: 2
+2: 2
+3: 4
+4: 6
+5: 8
+6: 10
+7: 12
+8: 15
+9: 19
+10: 25


Silahların seviyelerine göre element (Poison Damage, Flame Damage gibi...) değerleri şu şekildedir:
+1: 8-10
+2: 16-20
+3: 24-30
+4: 32-40
+5: 40-50
+6: 48-60
+7: 56-70
+8: 64-80
+9: 72-90
+10: 80-100


İlk değerler asalar, ikinci değerler ise diğer normal silahlar için geçerlidir. Unique silahlar farklı değerler alabilir.
Normal silahların varsayılan element özellikleri şöyledir:
Axe: Glacier
Bow: Poison
Club: Lightning
Dagger: Poison
Spear: Poison
Staff: Flame, Glacier, Lightning
Sword: Flame

Efsaneler:
+1'den +2'ye geçişler gibi belirli kısımlar ve sadece GM'ler tarafından sağlanan özel scrollar dışında bir "%100 upgrade yöntemi" yoktur.
Eşya yakma yöntemlerinin upgrade işlemi üzerinde istatistiksel bir etkisi bulunmamaktadır.
Packet sniffing programları ile yapılan araştırmalar sonucunda bir eşya hangi kutuya konulursa konulsun sunuculara aynı veri paketinin gönderildiği tespit edilmiştir.

Aksesuarların Geliştirilmesi

+5 ve üzeri aksesuarlardan aynı cinsten 3 tanesi kullanılarak bu aksesuar, Charon'dan satın alınabilen Accessory Compound Scroll ile birleştirilip seviyesi artırılabilmektedir. Birleştirme işlemindeki takıların görünüşleri önemli değildir, aynı özelliğe sahip olmaları yeterlidir.
Örneğin 3 adet Dexterity Bonus +6 Pendant birleştirilerek bir adet Dexterity Bonus +7 Pendant elde edilebilir.
Sanılanın aksine aksesuarların gelişim şansı seviyeleri yükseldikçe azalmaz, aksine gittikçe artar. Yaklaşık değerler şöyledir:
+5 → +6 : ~%55
+6 → +7 : ~%60
+7 → +8 : ~%75
+8 → +9 : ~%90
+9 → +10 : ~%95

Unique Aksesuarlar:

Normal aksesuarlarla aynı şekilde birleştirilirler. +3'e kadar başarı şansı %100'dür, ulaşılabilecek en yüksek seviye ise +5'dir.

Unique aksesuarlar başlangıçta +0 seviyesindedirler. Bir unique aksesuarı +X seviyesine getirmek için gereken +0 aksesuar sayısı, 3^X ile ifade edilebilir. Diğer bir deyişle:
+1 için: 3^1 = 3,
+2 için: 3^2 = 9,
+3 için: 3^3 = 27,
+4 için: 3^4 = 81,
+5 için: 3^5 = 243 adet +0 aksesuar gerekir.

Scroll Çeşitleri Ne İşe Yararlar;

Upgrade Scroll: Mevcut eşyanın seviyesini arttırır. Örneğin (+5) bir itemi (+6) yapar.
Elemantal Scroll: Bir silaha ek özellik ekler. Poison damage, fire damage gibi
İmmune Scroll: Kıfayetlere resistance ( dayanıklıklık) ekler.
Reduce Scroll : Seviyemizin yetmediği bir eşyayı daha düşük seviye de giymemize olanak sağlar. Fakat eksileri vardır. Reduce basılı silaha ek özellik basılamaz ve atağı düşer.
Enchant Scroll: Kıfayetlere isteğe bağlı olmak üzere str, dex vb. özellikler ekler. Eşya seviyesi ne kadar fazlaysa o kadar fazla bonus verir. Bir eşyaya bir kez basmak yeterlidir.
Reverse Scroll: Elemantal scroll basılmış bütün silahlar sekinci dereceye geldikleri zaman basıldığı özellik renginde parlarlar. Yedinci derecede reverse scroll basılmış silahlar parlayabilir. Her silaha reverse basılamaz. Çoğu high class eşyalar ve bütün unique silahlara basılabilir. Reverse basıldıktan sonra artık upgrade scroll çalışmaz artık sadece Reverse İtem Strengthen Scroll ile derecesi yükseltilebilir.
Reverse İtem Strengthen Scroll: Reverse basılmış eşyaların derecesini arttırmak için kullanılır.
Accessory Compound Scroll: Takıların derecesini arttırmak için kullanılır.
Dispell Scroll: Büyücü silahlarında ateş,buz ve elektrik olmak üzere üç farklı özellik vardır. Bu özellikleri kendi aralarında değiştirmek için kullanır.


Upgrade Scroll’arına Nereden Ulaşabilirim?

Maradon’da [Scrolls]Charon adlı npcden oyun parası ile satın alabilir veya öldürülen yaratıklardan düşürebilirsiniz.



arka-plan-940x560.png

İletiyi paylaş


Link to post
Sitelerde Paylaş
Alıntı
Ek olarak 8 e basma taktiği verirsen güzel olur :D


Sekize basma taktiği diye bir şey yok. `Taktik` olabilmesi için, algoritmanın belirli başlı parametrelere göre şekillenmesi gerekir, ki böyle bir durum söz konusu değil. Gelin hep beraber upgrade algoritmasını inceleyelim ve bu durumu size izah edeyim. Öncelikle piyasadaki belirli başlı hurafeleri bir kenarı not edelim, ve sistemin bunlardan bağımsız olduğunu ispattlayalım;

1-) Scrollü farklı slotlara koyma
2-) Upgrade işleminden önce item yakma
3-) Uzaktan upgrade etme
4-) Çok fazla kişi item yakınca basma




// UPGRADE SİSTEMİ ALGORİTMASI

// 0 ile 9000~10000 arasında bir rastgele sayı üret (9000~10000 kısmı da rastgele. bu da demek oluyor ki,
//bütün yapacağınız upgralerde maksimum şansınız %100, minimum şansınız %90),
//bu algoritmaya göre her zaman için maksimum %10 olasılıkla itemi yakma şansınız var tabloda
//%100 olarak ayarlanmış olsa dahi
int rand = myrand(0, myrand(9000, 10000));
if (bType == UpgradeTypeNormal && pUpgrade->sGenRate // eğer üretilen rastgele sayı, upgrade oranını geçemediyse (veritabanında upgrade şansları
//0 ila 10000 arasındadır. 10000 = %100, 0=%0 olacak şekilde eşleştirme yapabilirsiniz.
/* örneğin sGenRate 7500 ve üretilen rastgele sayı da 6349 olsun.

// 7500 /* sGenRate 8500 ve üretilen rastgele sayı 9744 */
/* 8500 {
// Upgrade başarısız!
bResult = UpgradeFailed;
memset(pOriginItem, 0, sizeof(_ITEM_DATA));

// Send upgrade notice.
ItemUpgradeNotice(proto, UpgradeFailed);
GoldLose(pUpgrade->nReqNoah,true);
}
else
{// UPGRADE BAŞARILI
// Yeni itemin idsini belirle (+1 upgrade etttiysek +2 versiyonunun idsini bul)
int nNewItemID = pOriginItem->nNum + pUpgrade->nGiveItem;

// Yeni item sistemde mevcut mu?
_ITEM_TABLE * newProto = g_pMain->GetItemPtr(nNewItemID);
if (newProto == nullptr)
{ // if not, just say it doesn't match. No point removing the item anyway (like official :/).
// eğer item mevcut değilse, upgrade işlemi başarısız mesajı döndür
bResult = UpgradeNoMatch;
goto fail_return;
}

if (bType != UpgradeTypePreview)
{
// Upgrade edilen itemin bilgisini, yeni itemin bilgisi ile değiştir.
pOriginItem->nNum = nNewItemID;
/* Itemin durability değerini yükselt */
// Reset the durability also, to the new cap.
pOriginItem->sDuration = newProto->m_sDuration;
/* Servera duyuru geç (item upgrade başarılı diye) */
// Send upgrade notice.
ItemUpgradeNotice(newProto, UpgradeSucceeded);
/* Upgradenin gerektirdiği parayı kullanıcıdan al */
// Rob gold upgrade noah
GoldLose(pUpgrade->nReqNoah,true);
}

// Replace the item ID in the list for the packet
nItemID[0] = nNewItemID;
}

// Remove the source item
if (bType != UpgradeTypePreview)
{
/** Upgrade için gerekli olan scroll vs. envanterden sil */
// Remove all required items, if applicable.
for (int i = 1; i {
if (bPos[i] == -1
|| bPos[i] >= HAVE_MAX)
continue;

_ITEM_DATA * pItem = GetItem(SLOT_MAX + bPos[i]);
if (pItem->nNum == 0
|| pItem->sCount == 0)
continue;

pItem->sCount--;
if (pItem->sCount == 0)
memset(pItem, 0, sizeof(pItem));
}
}



Görmüş olduğunuz üzere, sistem ne sizin item yakmanıza bakıyor, ne koyduğunuz slota, veya anvile ne kadar uzak olduğunuz da sistemin umurunda değil. Kaderiniz, 0 ila (9000 ila 10000) arasında belirlenen bir rastgele sayının, başka bir sayı ile karşılaştırılmasına bağlı. Hepsi bu kadar. Her zaman RNG'nin insiyatifine bağlısınız.

(rng : random number generator)

Umarım aydınlatıcı olmuştur. Sağlıcakla.

İletiyi paylaş


Link to post
Sitelerde Paylaş
Alıntı
Sekize basma taktiği diye bir şey yok. `Taktik` olabilmesi için, algoritmanın belirli başlı parametrelere göre şekillenmesi gerekir, ki böyle bir durum söz konusu değil. Gelin hep beraber upgrade algoritmasını inceleyerek bu durumu size izah edeyim. Öncelikle piyasadaki belirli başlı hurafeleri bir kenarı not edelim, ve sistemin bunlardan bağımsız olduğunu ispattlayalım;

1-) Scrollü farklı slotlara koyma
2-) Upgrade işleminden önce item yakma
3-) Uzaktan upgrade etme
4-) Çok fazla kişi item yakınca basma




// UPGRADE SİSTEMİ ALGORİTMASI

// 0 ile 9000~10000 arasında bir rastgele sayı üret (9000~10000 kısmı da rastgele. bu da demek oluyor ki,
//bütün yapacağınız upgralerde maksimum şansınız %100, minimum şansınız %90),
//bu algoritmaya göre her zaman için maksimum %10 olasılıkla itemi yakma şansınız var tabloda
//%100 olarak ayarlanmış olsa dahi
int rand = myrand(0, myrand(9000, 10000));
if (bType == UpgradeTypeNormal && pUpgrade->sGenRate // eğer üretilen rastgele sayı, upgrade oranını geçemediyse (veritabanında upgrade şansları
//0 ila 10000 arasındadır. 10000 = %100, 0=%0 olacak şekilde eşleştirme yapabilirsiniz.
/* örneğin sGenRate 7500 ve üretilen rastgele sayı da 6349 olsun.

// 7500 /* sGenRate 8500 ve üretilen rastgele sayı 9744 */
/* 8500 {
// Upgrade başarısız!
bResult = UpgradeFailed;
memset(pOriginItem, 0, sizeof(_ITEM_DATA));

// Send upgrade notice.
ItemUpgradeNotice(proto, UpgradeFailed);
GoldLose(pUpgrade->nReqNoah,true);
}
else
{// UPGRADE BAŞARILI
// Yeni itemin idsini belirle (+1 upgrade etttiysek +2 versiyonunun idsini bul)
int nNewItemID = pOriginItem->nNum + pUpgrade->nGiveItem;

// Yeni item sistemde mevcut mu?
_ITEM_TABLE * newProto = g_pMain->GetItemPtr(nNewItemID);
if (newProto == nullptr)
{ // if not, just say it doesn't match. No point removing the item anyway (like official :/).
// eğer item mevcut değilse, upgrade işlemi başarısız mesajı döndür
bResult = UpgradeNoMatch;
goto fail_return;
}

if (bType != UpgradeTypePreview)
{
// Upgrade edilen itemin bilgisini, yeni itemin bilgisi ile değiştir.
pOriginItem->nNum = nNewItemID;
/* Itemin durability değerini yükselt */
// Reset the durability also, to the new cap.
pOriginItem->sDuration = newProto->m_sDuration;
/* Servera duyuru geç (item upgrade başarılı diye) */
// Send upgrade notice.
ItemUpgradeNotice(newProto, UpgradeSucceeded);
/* Upgradenin gerektirdiği parayı kullanıcıdan al */
// Rob gold upgrade noah
GoldLose(pUpgrade->nReqNoah,true);
}

// Replace the item ID in the list for the packet
nItemID[0] = nNewItemID;
}

// Remove the source item
if (bType != UpgradeTypePreview)
{
/** Upgrade için gerekli olan scroll vs. envanterden sil */
// Remove all required items, if applicable.
for (int i = 1; i {
if (bPos[i] == -1
|| bPos[i] >= HAVE_MAX)
continue;

_ITEM_DATA * pItem = GetItem(SLOT_MAX + bPos[i]);
if (pItem->nNum == 0
|| pItem->sCount == 0)
continue;

pItem->sCount--;
if (pItem->sCount == 0)
memset(pItem, 0, sizeof(pItem));
}
}



Görmüş olduğunuz üzere, sistem ne sizin item yakmanıza bakıyor, ne koyduğunuz slota, veya anvile ne kadar uzak olduğunuz da sistemin umurunda değil. Kaderiniz, 0 ila (9000 ila 10000) arasında belirlenen bir rastgele sayının, başka bir sayı ile karşılaştırılmasına bağlı. Hepsi bu kadar. Her zaman RNG'nin insiyatifine bağlısınız.

(rng : random number generator)

Umarım aydınlatıcı olmuştur. Sağlıcakla.




Trina peki bu şansı nasıl etkiliyor

İletiyi paylaş


Link to post
Sitelerde Paylaş
Alıntı
Trina peki bu şansı nasıl etkiliyor


Trina ile upgrade, normal upgrade oranını %20 arttırıyor fakat şu şekilde,

Geçme oranı %10 olan bir upgrade düşünelim, bunun üzerine %10'un %20'si ekleniyor, yani %2, sonuç = %12.

İletiyi paylaş


Link to post
Sitelerde Paylaş
Admin
Alıntı
bResult = UpgradeFailed;
memset(pOriginItem, 0, sizeof(_ITEM_DATA));

Yukaridaki 0 i 1 yaparsak , basarisiz upgrade olunca item kaybolmayacakmi .?


memset fonksiyonunun da birinci parametre pOriginItem yani değişken verilmiş.
Üçüncü parametrede ise sizeof ile _ITEM_DATA struct boyutu alınmış.
İkinci parametre ise sizeof(_ITEM_DATA) boyutu kadar pOriginItem değerlerini sıfır yap demiş.

Bu olayın uzun hali aslında söyle;


pOriginItem->Num = 0;
pOriginItem->Durability = 0;
pOrigintem->Count = 0;
pOriginItem->Serial = 0;


ama memset ile doğrudan tüm verileri sıfır olarak atıyorsun.
Eğer ki 0 yerine 1 yapsaydın tüm değerleri aşağıdaki gibi verecekti.


pOriginItem->Num = 1;
pOriginItem->Durability = 1;
pOrigintem->Count = 1;
pOriginItem->Serial = 1;

İletiyi paylaş


Link to post
Sitelerde Paylaş
Alıntı
memset fonksiyonunun da birinci parametre pOriginItem yani değişken verilmiş.
Üçüncü parametrede ise sizeof ile _ITEM_DATA struct boyutu alınmış.
İkinci parametre ise sizeof(_ITEM_DATA) boyutu kadar pOriginItem değerlerini sıfır yap demiş.

Bu olayın uzun hali aslında söyle;


pOriginItem->Num = 0;
pOriginItem->Durability = 0;
pOrigintem->Count = 0;
pOriginItem->Serial = 0;


ama memset ile doğrudan tüm verileri sıfır olarak atıyorsun.
Eğer ki 0 yerine 1 yapsaydın tüm değerleri aşağıdaki gibi verecekti.


pOriginItem->Num = 1;
pOriginItem->Durability = 1;
pOrigintem->Count = 1;
pOriginItem->Serial = 1;


Boyle aciklayici bir cevap verdiginiz icin tesekkur ederim.



pOriginItem->Num = 1; // Bu itemi ID kodu
pOriginItem->Durability = 1; // Bu sanirim bildigimiz Durability
pOrigintem->Count = 1; // Bu miktari
pOriginItem->Serial = 1; // Bu ise her iteme ozel unique id

1 yapmak sizin aciklamanizdan sonra sacma bir dusunce oldu.
Src ile suan bir ugrasim olmadigi icin Degiskenleri ve iliskileri hakkinda fikrim 0.Soruyu sorma nedenim ise Upgrade sistemini degistirme dusuncem.
Tekrardan tesekkur ederim.

İletiyi paylaş


Link to post
Sitelerde Paylaş

×
×
  • Yeni Oluştur...