C 1
chengdu
xranzei 1
xranzei
zendor2 1
zendor2
Bvural41 1
Bvural41
noisiv 1
noisiv
Manwe Work 1
Manwe Work
Almira2 1
Almira2
romegames 1
romegames
D 1
delimuratt
melankolıa18 1
melankolıa18
Hikaye Ekle
Reklam vermek için turkmmo@gmail.com

Cube'de Socket'leri Olduğu Gibi Aktar

Eric Bloodaxe

Özgürsün, onun için mahvoldun.
Telefon Numarası Onaylanmış Üye TC Kimlik Numarası Doğrulanmış Üye
TM Üye
Katılım
27 Nis 2017
Konular
91
Mesajlar
2,386
Çözüm
47
Online süresi
17d 3h
Reaksiyon Skoru
1,571
Altın Konu
2
TM Yaşı
9 Yıl 1 Ay 12 Gün
Başarım Puanı
248
MmoLira
439
DevLira
13
Ticaret - 100%
3   0   0

ROHAN2 WORLD 1-120 TR TİPİ OFFICIAL YOHARA, BALATHOR VE AMON! 80. GÜNÜNDE! +10.000 ONLİNE! HİLE VE BOT %100 ENGELLİ HEMEN TIKLA!

Merhaba arkadaşlar.
Bir müşterimin isteği üzerine dikkatimi çekti ve sizlerle paylaşmak istedim.
Socket bulunduran itemlerin Socket'lerini olduğu gibi aktarmak için yapılan bir eklentidir.

[CODE lang="cpp" title="game\src\cube.cpp"]//arat;

this->gold = 0;

//altına ekle;

this->allowCopySocket = false;

//tekrar arat;

else TOKEN("gold")
{
cube_data->gold = value1;
}

//altına ekle;

else TOKEN("allow_copy_socket")
{
cube_data->allowCopySocket = (value1 == 1 ? true : false);
}

//tekrar arat;

LPITEM new_item;

//altına ekle;

DWORD copySocket[ITEM_SOCKET_MAX_NUM];

//tekrar arat;

CUBE_VALUE* reward_value = cube_proto->reward_value();

//altına ekle;

for (int i = 0; i < CUBE_MAX_NUM; ++i)
{
if (nullptr == items) continue;

if (items->GetType() == ITEM_WEAPON || items->GetType() == ITEM_ARMOR || items->GetType() == ITEM_UNIQUE || items->GetType() == ITEM_COSTUME)
{
bool hasElement = false;
for (int j = 0; j < cube_proto->item.size(); ++j)
{
if (cube_proto->item[j].vnum == items->GetVnum())
{
hasElement = true;
break;
}
}

if (hasElement == false)
continue;

for (int a = 0; a < ITEM_SOCKET_MAX_NUM; a++)
copySocket[a] = items->GetSocket(a);

break;
}

continue;
}

//tekrar arat;

new_item = ch->AutoGiveItem(reward_value->vnum, reward_value->count);

//altına ekle;

if (cube_proto->allowCopySocket == true)
{
for (int i = 0; i < ITEM_SOCKET_MAX_NUM; i++)
new_item->SetSocket(i, copySocket);
}[/CODE]

[CODE lang="cpp" title="game\src\cube.h"]//arat;

unsigned int gold;

//altına ekle;

bool allowCopySocket;[/CODE]

Örnek cube.txt:
[CODE title=".../locale/turkey/cube.txt"]section
npc 20095
item 189 1
allow_copy_socket 1
reward 319 1
percent 100
end [/CODE]

Aşağıdaki kodu eklediğiniz her blok Socket'leri silmeden aktaracaktır.
[CODE title=""]allow_copy_socket 1[/CODE]

İyi forumlar.
 
Paylaşım için teşekkürler.
 
Merhaba arkadaşlar.
Bir müşterimin isteği üzerine dikkatimi çekti ve sizlerle paylaşmak istedim.
Socket bulunduran itemlerin Socket'lerini olduğu gibi aktarmak için yapılan bir eklentidir.

[CODE lang="cpp" title="game\src\cube.cpp"]//arat;

this->gold = 0;

//altına ekle;

this->allowCopySocket = false;

//tekrar arat;

else TOKEN("gold")
{
cube_data->gold = value1;
}

//altına ekle;

else TOKEN("allow_copy_socket")
{
cube_data->allowCopySocket = (value1 == 1 ? true : false);
}

//tekrar arat;

LPITEM new_item;

//altına ekle;

DWORD copySocket[ITEM_SOCKET_MAX_NUM];

//tekrar arat;

CUBE_VALUE* reward_value = cube_proto->reward_value();

//altına ekle;

for (int i = 0; i < CUBE_MAX_NUM; ++i)
{
if (nullptr == items) continue;

if (items->GetType() == ITEM_WEAPON || items->GetType() == ITEM_ARMOR || items->GetType() == ITEM_UNIQUE || items->GetType() == ITEM_COSTUME)
{
bool hasElement = false;
for (int j = 0; j < cube_proto->item.size(); ++j)
{
if (cube_proto->item[j].vnum == items->GetVnum())
{
hasElement = true;
break;
}
}

if (hasElement == false)
continue;

for (int a = 0; a < ITEM_SOCKET_MAX_NUM; a++)
copySocket[a] = items->GetSocket(a);

break;
}

continue;
}

//tekrar arat;

new_item = ch->AutoGiveItem(reward_value->vnum, reward_value->count);

//altına ekle;

if (cube_proto->allowCopySocket == true)
{
for (int i = 0; i < ITEM_SOCKET_MAX_NUM; i++)
new_item->SetSocket(i, copySocket);
}[/CODE]

[CODE lang="cpp" title="game\src\cube.h"]//arat;

unsigned int gold;

//altına ekle;

bool allowCopySocket;[/CODE]

Örnek cube.txt:
[CODE title=".../locale/turkey/cube.txt"]section
npc 20095
item 189 1
allow_copy_socket 1
reward 319 1
percent 100
end [/CODE]

Aşağıdaki kodu eklediğiniz her blok Socket'leri silmeden aktaracaktır.
[CODE title=""]allow_copy_socket 1[/CODE]

İyi forumlar.

Paylaşım için teşekkürler.
 

Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)

Geri
Üst