Silahlarınıza belirlenen aralıkta rastgele bir ortalama veya beceri hasarı gelmesini sağlar.
ANLATIM;
Altarnatif_1;
char_item.cpp:
Kod
// arat;
else if (item->GetVnum() == 76014)
{
int aiChangeProb[ITEM_ATTRIBUTE_MAX_LEVEL] =
{
0, 10, 50, 39, 1
};
item2->ChangeAttribute(aiChangeProb);
}
//Altına ekle;
else if (item->GetVnum() >= 71200 && item->GetVnum() <= 71206)
{
if (item2->GetType() != ITEM_WEAPON)
{
ChatPacket(CHAT_TYPE_INFO, "Bu nesneyi sadece ortalama ve/veya beceri hasarı gelebilen esyalarda kullanabilirsin !");
return false;
}
if (item2->GetAttributeType(0) != 72 && item2->GetAttributeType(0) != 71)
{
const TItemTable * ort_bec_kontrol = item2->GetProto();
if (ort_bec_kontrol->sAddonType != -1)
{
ChatPacket(CHAT_TYPE_INFO, "Bu nesneyi sadece ortalama ve/veya beceri hasarı gelebilen esyalarda kullanabilirsin !");
return false;
}
}
item2->ChangeAttribute();//Bütün efsunların değişmesini istemiyorsanız bu satırı silin yada yorum haline getirin.
auto ort = 0;
auto bec = 0;
switch (item->GetVnum())
{
case 71201:
ort = number(101, 150);
bec = -(number(15,20));
break;
case 71202:
ort = number(151, 200);
bec = -(number(15,20));
break;
case 71203:
ort = number(201, 250);
bec = -(number(15,20));
break;
case 71204:
ort = number(251, 300);
bec = -(number(15,20));
break;
case 71205://ort verir
ort = number(301, 350);
bec = -(number(15,20));
break;
case 71206://beceri verir
ort = -(number(10, 25));
bec = number(20,30);
break;
default:
ort = number(60, 100);
bec = -(number(15,20));
break;
}
item2->SetForceAttribute(0,72,ort);
item2->SetForceAttribute(1,71,bec);
}
Daha Çok Göster
item_proto:
Kod
71200 Ort. Zararı(60-100) ITEM_USE USE_CHANGE_ATTRIBUTE 1 ANTI_DROP | ANTI_SELL | ANTI_GIVE | ANTI_MYSHOP ITEM_STACKABLE | LOG NONE 500 0 0 0 0 LIMIT_NONE 0 LIMIT_NONE 0 APPLY_NONE 0 APPLY_NONE 0 APPLY_NONE 0 0 0 0 0 0 0 0 0 0
71201 Ort. Zararı(101-150) ITEM_USE USE_CHANGE_ATTRIBUTE 1 ANTI_DROP | ANTI_SELL | ANTI_GIVE | ANTI_MYSHOP ITEM_STACKABLE | LOG NONE 500 0 0 0 0 LIMIT_NONE 0 LIMIT_NONE 0 APPLY_NONE 0 APPLY_NONE 0 APPLY_NONE 0 0 0 0 0 0 0 0 0 0
71202 Ort. Zararı(151-200) ITEM_USE USE_CHANGE_ATTRIBUTE 1 ANTI_DROP | ANTI_SELL | ANTI_GIVE | ANTI_MYSHOP ITEM_STACKABLE | LOG NONE 500 0 0 0 0 LIMIT_NONE 0 LIMIT_NONE 0 APPLY_NONE 0 APPLY_NONE 0 APPLY_NONE 0 0 0 0 0 0 0 0 0 0
71203 Ort. Zararı(201-250) ITEM_USE USE_CHANGE_ATTRIBUTE 1 ANTI_DROP | ANTI_SELL | ANTI_GIVE | ANTI_MYSHOP ITEM_STACKABLE | LOG NONE 500 0 0 0 0 LIMIT_NONE 0 LIMIT_NONE 0 APPLY_NONE 0 APPLY_NONE 0 APPLY_NONE 0 0 0 0 0 0 0 0 0 0
71204 Ort. Zararı(251-300) ITEM_USE USE_CHANGE_ATTRIBUTE 1 ANTI_DROP | ANTI_SELL | ANTI_GIVE | ANTI_MYSHOP ITEM_STACKABLE | LOG NONE 500 0 0 0 0 LIMIT_NONE 0 LIMIT_NONE 0 APPLY_NONE 0 APPLY_NONE 0 APPLY_NONE 0 0 0 0 0 0 0 0 0 0
71205 Ort. Zararı(301-350) ITEM_USE USE_CHANGE_ATTRIBUTE 1 ANTI_DROP | ANTI_SELL | ANTI_GIVE | ANTI_MYSHOP ITEM_STACKABLE | LOG NONE 500 0 0 0 0 LIMIT_NONE 0 LIMIT_NONE 0 APPLY_NONE 0 APPLY_NONE 0 APPLY_NONE 0 0 0 0 0 0 0 0 0 0
71206 Bec. Hasarı(20-30) ITEM_USE USE_CHANGE_ATTRIBUTE 1 ANTI_DROP | ANTI_SELL | ANTI_GIVE | ANTI_MYSHOP ITEM_STACKABLE | LOG NONE 500 0 0 0 0 LIMIT_NONE 0 LIMIT_NONE 0 APPLY_NONE 0 APPLY_NONE 0 APPLY_NONE 0 0 0 0 0 0 0 0 0 0
Altarnatif_2;
char_item.cpp:
Kod
// arat;
else if (item->GetVnum() == 76014)
{
int aiChangeProb[ITEM_ATTRIBUTE_MAX_LEVEL] =
{
0, 10, 50, 39, 1
};
item2->ChangeAttribute(aiChangeProb);
}
//Altına ekle;
else if (item->GetVnum() >= 71200 && item->GetVnum() <= 71206)
{
if (item2->GetType() != ITEM_WEAPON)
{
ChatPacket(CHAT_TYPE_INFO, "Bu nesneyi sadece ortalama ve/veya beceri hasarı gelebilen esyalarda kullanabilirsin !");
return false;
}
if (item2->GetAttributeType(0) != 72 && item2->GetAttributeType(0) != 71)
{
const TItemTable * ort_bec_kontrol = item2->GetProto();
if (ort_bec_kontrol->sAddonType != -1)
{
ChatPacket(CHAT_TYPE_INFO, "Bu nesneyi sadece ortalama ve/veya beceri hasarı gelebilen esyalarda kullanabilirsin !");
return false;
}
}
item2->ChangeAttribute();//Bütün efsunların değişmesini istemiyorsanız bu satırı silin yada yorum haline getirin.
auto ort = 0;
auto bec = 0;
if (item->GetValue(0) == 0)//Value0 değeri 0 ise ortalama gelecek, 0 değil ise beceri gelecek olduğunu belirtiyoruz.
{
ort = number(item->GetValue(1), item->GetValue(2));
bec = -(number(15,20));
}
else
{
ort = -(number(15,20));
bec = number(item->GetValue(1), item->GetValue(2));
}
item2->SetForceAttribute(0,72,ort);
item2->SetForceAttribute(1,71,bec);
}
Daha Çok Göster
item_proto:
Kod
71200 Ort. Zararı(60-100) ITEM_USE USE_CHANGE_ATTRIBUTE 1 ANTI_DROP | ANTI_SELL | ANTI_GIVE | ANTI_MYSHOP ITEM_STACKABLE | LOG NONE 500 0 0 0 0 LIMIT_NONE 0 LIMIT_NONE 0 APPLY_NONE 0 APPLY_NONE 0 APPLY_NONE 0 0 60 100 0 0 0 0 0 0
71201 Ort. Zararı(101-150) ITEM_USE USE_CHANGE_ATTRIBUTE 1 ANTI_DROP | ANTI_SELL | ANTI_GIVE | ANTI_MYSHOP ITEM_STACKABLE | LOG NONE 500 0 0 0 0 LIMIT_NONE 0 LIMIT_NONE 0 APPLY_NONE 0 APPLY_NONE 0 APPLY_NONE 0 0 101 150 0 0 0 0 0 0
71202 Ort. Zararı(151-200) ITEM_USE USE_CHANGE_ATTRIBUTE 1 ANTI_DROP | ANTI_SELL | ANTI_GIVE | ANTI_MYSHOP ITEM_STACKABLE | LOG NONE 500 0 0 0 0 LIMIT_NONE 0 LIMIT_NONE 0 APPLY_NONE 0 APPLY_NONE 0 APPLY_NONE 0 0 151 200 0 0 0 0 0 0
71203 Ort. Zararı(201-250) ITEM_USE USE_CHANGE_ATTRIBUTE 1 ANTI_DROP | ANTI_SELL | ANTI_GIVE | ANTI_MYSHOP ITEM_STACKABLE | LOG NONE 500 0 0 0 0 LIMIT_NONE 0 LIMIT_NONE 0 APPLY_NONE 0 APPLY_NONE 0 APPLY_NONE 0 0 201 250 0 0 0 0 0 0
71204 Ort. Zararı(251-300) ITEM_USE USE_CHANGE_ATTRIBUTE 1 ANTI_DROP | ANTI_SELL | ANTI_GIVE | ANTI_MYSHOP ITEM_STACKABLE | LOG NONE 500 0 0 0 0 LIMIT_NONE 0 LIMIT_NONE 0 APPLY_NONE 0 APPLY_NONE 0 APPLY_NONE 0 0 251 300 0 0 0 0 0 0
71205 Ort. Zararı(301-350) ITEM_USE USE_CHANGE_ATTRIBUTE 1 ANTI_DROP | ANTI_SELL | ANTI_GIVE | ANTI_MYSHOP ITEM_STACKABLE | LOG NONE 500 0 0 0 0 LIMIT_NONE 0 LIMIT_NONE 0 APPLY_NONE 0 APPLY_NONE 0 APPLY_NONE 0 0 301 350 0 0 0 0 0 0
71206 Bec. Hasarı(20-30) ITEM_USE USE_CHANGE_ATTRIBUTE 1 ANTI_DROP | ANTI_SELL | ANTI_GIVE | ANTI_MYSHOP ITEM_STACKABLE | LOG NONE 500 0 0 0 0 LIMIT_NONE 0 LIMIT_NONE 0 APPLY_NONE 0 APPLY_NONE 0 APPLY_NONE 0 1 30 50 0 0 0 0 0 0
Eklemeye devam et;
item_names:
Kod
71200 Ort. Zararı(60-100)
71201 Ort. Zararı(101-150)
71202 Ort. Zararı(151-200)
71203 Ort. Zararı(201-250)
71204 Ort. Zararı(251-300)
71205 Ort. Zararı(301-350)
71206 Bec. Hasarı(20-30)
item_list: