- Katılım
- 19 Kas 2022
- Konular
- 55
- Mesajlar
- 188
- Çözüm
- 1
- Online süresi
- 2mo 4d
- Reaksiyon Skoru
- 150
- Altın Konu
- 0
- Başarım Puanı
- 98
- MmoLira
- 13,835
- DevLira
- 66
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!
gm ler /i komutunu kullanarak item yaratabiliyorlar, normalde /i 27992 komutunu kullandığında 1 adet beyaz inci üretilir ve /i 27992 10 komutunu kullandığında ise 10 adet beyaz inci üretilir. Bu güncellemeyle birlikte /i 27992 10 10 komutunu kullandığınızda 10 adet 10 lu beyaz inci üretebilirsiniz. stacklenmeyen itemler için komut örneği: /i 19 0 10 (10 adet +9 kılıç üretir)
[CODE lang="cpp" title="cmd_gm.cpp"]
ACMD(do_item)
{
char arg1[256], arg2[256], arg3[256];
one_argument(two_arguments(argument, arg1, sizeof(arg1), arg2, sizeof(arg2)), arg3, sizeof(arg3));
DWORD dwVnum = 0;
int iCount = 1;
int loop_count = 1;
if (!*arg1)
{
ch->ChatPacket(CHAT_TYPE_INFO, "Usage: item <item vnum>");
return;
}
if (isnhdigit(*arg1))
str_to_number(dwVnum, arg1);
else
{
if (!ITEM_MANAGER::instance().GetVnum(arg1, dwVnum))
{
ch->ChatPacket(CHAT_TYPE_INFO, "#%u item not exist by that vnum.", dwVnum);
return;
}
}
if (*arg2)
{
str_to_number(iCount, arg2);
iCount = MINMAX(1, iCount, ITEM_MAX_COUNT);
}
if (*arg3)
{
str_to_number(loop_count, arg3);
loop_count = MINMAX(1, loop_count, 20);//ITEM_MAX_COUNT gibi sabit oluşturmadan yaptım, siz değiştirebilirsiniz.Not: 20 sayısı sınırdır ve bunu çok arttırmayın.
}
for (int i = 0; i < loop_count; ++i)
{
LPITEM item = ITEM_MANAGER::instance().CreateItem(dwVnum, iCount, 0, true);
if (!item)
{
ch->ChatPacket(CHAT_TYPE_INFO, "#%u item not exist by that vnum.", dwVnum);
break;//item yoksa for döngüsünden çık
}
if (item->IsDragonSoul())
{
int iEmptyPos = ch->GetEmptyDragonSoulInventory(item);
if (iEmptyPos != -1)
{
item->AddToCharacter(ch, TItemPos(DRAGON_SOUL_INVENTORY, iEmptyPos));
LogManager::instance().ItemLog(ch, item, "GM", item->GetName());
}
else
{
M2_DESTROY_ITEM(item);
if (!ch->DragonSoul_IsQualified())
{
ch->ChatPacket(CHAT_TYPE_INFO, "Àκ¥ÀÌ È°¼ºÈ µÇÁö ¾ÊÀ½.");
}
else
{
ch->ChatPacket(CHAT_TYPE_INFO, "Not enough inventory space.");
}
break;//envanterde yer yoksa for döngüsünden çık
}
}
else
{
int iEmptyPos = ch->GetEmptyInventory(item->GetSize());
if (iEmptyPos != -1)
{
item->AddToCharacter(ch, TItemPos(INVENTORY, iEmptyPos));
LogManager::instance().ItemLog(ch, item, "GM", item->GetName());
}
else
{
M2_DESTROY_ITEM(item);
ch->ChatPacket(CHAT_TYPE_INFO, "Not enough inventory space.");
break;//envanterde yer yoksa for döngüsünden çık
}
}
}
}
[/CODE]
[CODE lang="cpp" title="cmd_gm.cpp"]
ACMD(do_item)
{
char arg1[256], arg2[256], arg3[256];
one_argument(two_arguments(argument, arg1, sizeof(arg1), arg2, sizeof(arg2)), arg3, sizeof(arg3));
DWORD dwVnum = 0;
int iCount = 1;
int loop_count = 1;
if (!*arg1)
{
ch->ChatPacket(CHAT_TYPE_INFO, "Usage: item <item vnum>");
return;
}
if (isnhdigit(*arg1))
str_to_number(dwVnum, arg1);
else
{
if (!ITEM_MANAGER::instance().GetVnum(arg1, dwVnum))
{
ch->ChatPacket(CHAT_TYPE_INFO, "#%u item not exist by that vnum.", dwVnum);
return;
}
}
if (*arg2)
{
str_to_number(iCount, arg2);
iCount = MINMAX(1, iCount, ITEM_MAX_COUNT);
}
if (*arg3)
{
str_to_number(loop_count, arg3);
loop_count = MINMAX(1, loop_count, 20);//ITEM_MAX_COUNT gibi sabit oluşturmadan yaptım, siz değiştirebilirsiniz.Not: 20 sayısı sınırdır ve bunu çok arttırmayın.
}
for (int i = 0; i < loop_count; ++i)
{
LPITEM item = ITEM_MANAGER::instance().CreateItem(dwVnum, iCount, 0, true);
if (!item)
{
ch->ChatPacket(CHAT_TYPE_INFO, "#%u item not exist by that vnum.", dwVnum);
break;//item yoksa for döngüsünden çık
}
if (item->IsDragonSoul())
{
int iEmptyPos = ch->GetEmptyDragonSoulInventory(item);
if (iEmptyPos != -1)
{
item->AddToCharacter(ch, TItemPos(DRAGON_SOUL_INVENTORY, iEmptyPos));
LogManager::instance().ItemLog(ch, item, "GM", item->GetName());
}
else
{
M2_DESTROY_ITEM(item);
if (!ch->DragonSoul_IsQualified())
{
ch->ChatPacket(CHAT_TYPE_INFO, "Àκ¥ÀÌ È°¼ºÈ µÇÁö ¾ÊÀ½.");
}
else
{
ch->ChatPacket(CHAT_TYPE_INFO, "Not enough inventory space.");
}
break;//envanterde yer yoksa for döngüsünden çık
}
}
else
{
int iEmptyPos = ch->GetEmptyInventory(item->GetSize());
if (iEmptyPos != -1)
{
item->AddToCharacter(ch, TItemPos(INVENTORY, iEmptyPos));
LogManager::instance().ItemLog(ch, item, "GM", item->GetName());
}
else
{
M2_DESTROY_ITEM(item);
ch->ChatPacket(CHAT_TYPE_INFO, "Not enough inventory space.");
break;//envanterde yer yoksa for döngüsünden çık
}
}
}
}
[/CODE]
- Katılım
- 2 Ara 2024
- Konular
- 186
- Mesajlar
- 1,981
- Çözüm
- 8
- Online süresi
- 5mo 13d
- Reaksiyon Skoru
- 1,495
- Altın Konu
- 1
- Başarım Puanı
- 206
- MmoLira
- 12,390
- DevLira
- 36
Paylaşım için teşekkürler.
- Katılım
- 21 Ara 2010
- Konular
- 70
- Mesajlar
- 2,035
- Çözüm
- 13
- Online süresi
- 3mo 29d
- Reaksiyon Skoru
- 1,335
- Altın Konu
- 2
- Başarım Puanı
- 241
- MmoLira
- 1,892
- DevLira
- 47
eline sağlık dostum
- Katılım
- 15 May 2013
- Konular
- 1,224
- Mesajlar
- 7,360
- Çözüm
- 6
- Online süresi
- 2mo 16d
- Reaksiyon Skoru
- 5,996
- Altın Konu
- 422
- Başarım Puanı
- 349
- MmoLira
- 3,714
- DevLira
- 6
Paylaşım için teşekkürler.
- Katılım
- 24 May 2018
- Konular
- 35
- Mesajlar
- 64
- Online süresi
- 16d 13h
- Reaksiyon Skoru
- 89
- Altın Konu
- 0
- TM Yaşı
- 8 Yıl 16 Gün
- Başarım Puanı
- 97
- Yaş
- 34
- MmoLira
- 8,533
- DevLira
- 75
2023'te ekledim ;D
(I added in 2023 ;D)
forum.turkmmo.com
(I added in 2023 ;D)
New item function by: Grzyb
Öğeyi görmek için üye olmalısınız. ACMD(do_item_new) // Nowa funkcja by: Muchomor { char arg1[256], arg2[256], arg3[256]; three_arguments(argument, arg1, sizeof(arg1), arg2, sizeof(arg2), arg3, sizeof(arg3)); if (!*arg1) { ch->ChatPacket(CHAT_TYPE_INFO, "Usage...
Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)
Benzer konular
- Cevaplar
- 0
- Görüntüleme
- 272
- Cevaplar
- 6
- Görüntüleme
- 279
- Cevaplar
- 18
- Görüntüleme
- 1K
- Cevaplar
- 12
- Görüntüleme
- 1K
- Cevaplar
- 10
- Görüntüleme
- 938















