Başlangıçda Efsunlu İtem Verme 3.Alternatif[C++]

  • Konbuyu başlatan Konbuyu başlatan Admin
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 0
  • Görüntüleme Görüntüleme 99

Admin

Metin2Lobby
Yönetici
Founder
Katılım
6 Mayıs 2022
Mesajlar
52,647
Ticaret : 1 / 0 / 0
For: @ ; @ ; @ ;

Bug olma ihtimali yok..

cmd.cpp açılır-aratılır:
Kod:
[COLOR=#0000cd][B]ACMD(do_pcbang_update);[/B][/COLOR]
Altına eklenir;
Kod:
[B]ACMD(do_black_item); ACMD(do_black_efsun);[/B]
Aratılır:
Kod:
[B]{ "respawn",    do_respawn,        0,            POS_DEAD,    GM_WIZARD    },[/B]
Altına Eklenir;
Kod:
[B]{ "black_item",     do_black_item,      0,            POS_DEAD,    GM_PLAYER    }, { "black_efsun",    do_black_efsun,     0,            POS_DEAD,    GM_PLAYER  },[/B]
cmd_general.cpp açılır-aratılır:
Kod:
[B]ACMD(do_in_game_mall)[/B]
Altına Eklenir;
Kod:
[FONT=comic sans ms][B]ACMD(do_black_item)[/B][/FONT][FONT=comic sans ms][B]{    [/B][/FONT] [FONT=comic sans ms][B]    if (ch->GetQuestFlag("give_basic_weapon.aldim2") != 0)[/B][/FONT] [FONT=comic sans ms][B]    {[/B][/FONT] [FONT=comic sans ms][B]        ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("Bu Duzenleme Mevcut Degil!"));[/B][/FONT] [FONT=comic sans ms][B]        return;[/B][/FONT] [FONT=comic sans ms][B]    }[/B][/FONT] [FONT=comic sans ms][B]   ///iTemleri burdan ayarlayın[/B][/FONT] [FONT=comic sans ms][B]    ch->AutoGiveItem(27989, 1);[/B][/FONT] [FONT=comic sans ms][B]    ch->AutoGiveItem(50053, 1);[/B][/FONT] [FONT=comic sans ms][B]    ch->AutoGiveItem(40002, 1);[/B][/FONT] [FONT=comic sans ms][B]    ch->AutoGiveItem(27003, 200);[/B][/FONT] [FONT=comic sans ms][B]    ch->AutoGiveItem(27006, 200);[/B][/FONT] [FONT=comic sans ms][B]    ch->AutoGiveItem(70038, 1);[/B][/FONT] [FONT=comic sans ms][B]    ch->at_level_ver_ve_bin(11);[/B][/FONT] [FONT=comic sans ms][B]    //ch->ChatPacket(CHAT_TYPE_COMMAND, "Baslangic_black_what_are_you_doing_bitch?");[/B][/FONT] [FONT=comic sans ms][B]    ///Benim ısınlanma sistemimi kullananlar acabilir[/B][/FONT] [FONT=comic sans ms][B]    //ch->SetQuestFlag("isinlama.black", 50);[/B][/FONT] [FONT=comic sans ms][B]    ///[/B][/FONT] [FONT=comic sans ms][B]    BYTE job = ch->GetJob();[/B][/FONT] [FONT=comic sans ms][B]    LPITEM item;[/B][/FONT] [FONT=comic sans ms][B]    for (int i = 0; i < 6; i++)[/B][/FONT] [FONT=comic sans ms][B]    {[/B][/FONT] [FONT=comic sans ms][B]        item = ch->GetWear(i);[/B][/FONT] [FONT=comic sans ms][B]        if (item != NULL)[/B][/FONT] [FONT=comic sans ms][B]            ch->UnequipItem(item);[/B][/FONT] [FONT=comic sans ms][B]    }[/B][/FONT] [FONT=comic sans ms][/FONT] [FONT=comic sans ms][B]    item = ch->GetWear(WEAR_SHIELD);[/B][/FONT] [FONT=comic sans ms][B]    if (item != NULL)[/B][/FONT] [FONT=comic sans ms][B]        ch->UnequipItem(item);[/B][/FONT] [FONT=comic sans ms][B]    switch (job)[/B][/FONT] [FONT=comic sans ms][B]    {[/B][/FONT] [FONT=comic sans ms][B]        case JOB_SURA:[/B][/FONT] [FONT=comic sans ms][B]            {[/B][/FONT] [FONT=comic sans ms][B]                item = ITEM_MANAGER::instance().CreateItem(19);[/B][/FONT] [FONT=comic sans ms][B]                if (!item || !item->EquipTo(ch, item->FindEquipCell(ch)))[/B][/FONT] [FONT=comic sans ms][B]                    M2_DESTROY_ITEM(item);[/B][/FONT] [FONT=comic sans ms][B]                item = ITEM_MANAGER::instance().CreateItem(11609);[/B][/FONT] [FONT=comic sans ms][B]                if (!item || !item->EquipTo(ch, item->FindEquipCell(ch)))[/B][/FONT] [FONT=comic sans ms][B]                    M2_DESTROY_ITEM(item);[/B][/FONT] [FONT=comic sans ms][B]                item = ITEM_MANAGER::instance().CreateItem(12489);[/B][/FONT] [FONT=comic sans ms][B]                if (!item || !item->EquipTo(ch, item->FindEquipCell(ch)))[/B][/FONT] [FONT=comic sans ms][B]                    M2_DESTROY_ITEM(item);[/B][/FONT] [FONT=comic sans ms][B]                item = ITEM_MANAGER::instance().CreateItem(13009);[/B][/FONT] [FONT=comic sans ms][B]                if (!item || !item->EquipTo(ch, item->FindEquipCell(ch)))[/B][/FONT] [FONT=comic sans ms][B]                    M2_DESTROY_ITEM(item);[/B][/FONT] [FONT=comic sans ms][B]                item = ITEM_MANAGER::instance().CreateItem(14009 );[/B][/FONT] [FONT=comic sans ms][B]                if (!item || !item->EquipTo(ch, item->FindEquipCell(ch)))[/B][/FONT] [FONT=comic sans ms][B]                    M2_DESTROY_ITEM(item);[/B][/FONT] [FONT=comic sans ms][B]                item = ITEM_MANAGER::instance().CreateItem(15009 );[/B][/FONT] [FONT=comic sans ms][B]                if (!item || !item->EquipTo(ch, item->FindEquipCell(ch)))[/B][/FONT] [FONT=comic sans ms][B]                    M2_DESTROY_ITEM(item);[/B][/FONT] [FONT=comic sans ms][B]                item = ITEM_MANAGER::instance().CreateItem(16009 );[/B][/FONT] [FONT=comic sans ms][B]                if (!item || !item->EquipTo(ch, item->FindEquipCell(ch)))[/B][/FONT] [FONT=comic sans ms][B]                    M2_DESTROY_ITEM(item);[/B][/FONT] [FONT=comic sans ms][B]                item = ITEM_MANAGER::instance().CreateItem(17009 );[/B][/FONT] [FONT=comic sans ms][B]                if (!item || !item->EquipTo(ch, item->FindEquipCell(ch)))[/B][/FONT] [FONT=comic sans ms][B]                    M2_DESTROY_ITEM(item);[/B][/FONT] [FONT=comic sans ms][B]                item = ITEM_MANAGER::instance().CreateItem(39036 );[/B][/FONT] [FONT=comic sans ms][B]                if (!item || !item->EquipTo(ch, item->FindEquipCell(ch)))[/B][/FONT] [FONT=comic sans ms][B]                    M2_DESTROY_ITEM(item);[/B][/FONT] [FONT=comic sans ms][B]            }[/B][/FONT] [FONT=comic sans ms][B]            break;[/B][/FONT] [FONT=comic sans ms][B]    case JOB_WARRIOR:[/B][/FONT] [FONT=comic sans ms][B]        {[/B][/FONT] [FONT=comic sans ms][B]            item = ITEM_MANAGER::instance().CreateItem(19);[/B][/FONT] [FONT=comic sans ms][B]            if (!item || !item->EquipTo(ch, item->FindEquipCell(ch)))[/B][/FONT] [FONT=comic sans ms][B]                M2_DESTROY_ITEM(item);[/B][/FONT] [FONT=comic sans ms][B]            item = ITEM_MANAGER::instance().CreateItem(11209);[/B][/FONT] [FONT=comic sans ms][B]            if (!item || !item->EquipTo(ch, item->FindEquipCell(ch)))[/B][/FONT] [FONT=comic sans ms][B]                M2_DESTROY_ITEM(item);[/B][/FONT] [FONT=comic sans ms][B]            item = ITEM_MANAGER::instance().CreateItem(12209 );[/B][/FONT] [FONT=comic sans ms][B]            if (!item || !item->EquipTo(ch, item->FindEquipCell(ch)))[/B][/FONT] [FONT=comic sans ms][B]                M2_DESTROY_ITEM(item);[/B][/FONT] [FONT=comic sans ms][B]            item = ITEM_MANAGER::instance().CreateItem(13009 );[/B][/FONT] [FONT=comic sans ms][B]            if (!item || !item->EquipTo(ch, item->FindEquipCell(ch)))[/B][/FONT] [FONT=comic sans ms][B]                M2_DESTROY_ITEM(item);[/B][/FONT] [FONT=comic sans ms][B]            item = ITEM_MANAGER::instance().CreateItem(14009 );[/B][/FONT] [FONT=comic sans ms][B]            if (!item || !item->EquipTo(ch, item->FindEquipCell(ch)))[/B][/FONT] [FONT=comic sans ms][B]                M2_DESTROY_ITEM(item);[/B][/FONT] [FONT=comic sans ms][B]            item = ITEM_MANAGER::instance().CreateItem(15009 );[/B][/FONT] [FONT=comic sans ms][B]            if (!item || !item->EquipTo(ch, item->FindEquipCell(ch)))[/B][/FONT] [FONT=comic sans ms][B]                M2_DESTROY_ITEM(item);[/B][/FONT] [FONT=comic sans ms][B]            item = ITEM_MANAGER::instance().CreateItem(16009 );[/B][/FONT] [FONT=comic sans ms][B]            if (!item || !item->EquipTo(ch, item->FindEquipCell(ch)))[/B][/FONT] [FONT=comic sans ms][B]                M2_DESTROY_ITEM(item);[/B][/FONT] [FONT=comic sans ms][B]            item = ITEM_MANAGER::instance().CreateItem(17009 );[/B][/FONT] [FONT=comic sans ms][B]            if (!item || !item->EquipTo(ch, item->FindEquipCell(ch)))[/B][/FONT] [FONT=comic sans ms][B]                M2_DESTROY_ITEM(item);[/B][/FONT] [FONT=comic sans ms][B]            item = ITEM_MANAGER::instance().CreateItem(39036 );[/B][/FONT] [FONT=comic sans ms][B]            if (!item || !item->EquipTo(ch, item->FindEquipCell(ch)))[/B][/FONT] [FONT=comic sans ms][B]                M2_DESTROY_ITEM(item);[/B][/FONT] [FONT=comic sans ms][B]        }[/B][/FONT] [FONT=comic sans ms][B]        break;[/B][/FONT] [FONT=comic sans ms][B]    case JOB_SHAMAN:[/B][/FONT] [FONT=comic sans ms][B]        { [/B][/FONT] [FONT=comic sans ms][B]            item = ITEM_MANAGER::instance().CreateItem(5009);[/B][/FONT] [FONT=comic sans ms][B]            if (!item || !item->EquipTo(ch, item->FindEquipCell(ch)))[/B][/FONT] [FONT=comic sans ms][B]                M2_DESTROY_ITEM(item);[/B][/FONT] [FONT=comic sans ms][B]            item = ITEM_MANAGER::instance().CreateItem(11809);[/B][/FONT] [FONT=comic sans ms][B]            if (!item || !item->EquipTo(ch, item->FindEquipCell(ch)))[/B][/FONT] [FONT=comic sans ms][B]                M2_DESTROY_ITEM(item);[/B][/FONT] [FONT=comic sans ms][B]            item = ITEM_MANAGER::instance().CreateItem(12629 );[/B][/FONT] [FONT=comic sans ms][B]            if (!item || !item->EquipTo(ch, item->FindEquipCell(ch)))[/B][/FONT] [FONT=comic sans ms][B]                M2_DESTROY_ITEM(item);[/B][/FONT] [FONT=comic sans ms][B]            item = ITEM_MANAGER::instance().CreateItem(13009 );[/B][/FONT] [FONT=comic sans ms][B]            if (!item || !item->EquipTo(ch, item->FindEquipCell(ch)))[/B][/FONT] [FONT=comic sans ms][B]                M2_DESTROY_ITEM(item);[/B][/FONT] [FONT=comic sans ms][B]            item = ITEM_MANAGER::instance().CreateItem(14009 );[/B][/FONT] [FONT=comic sans ms][B]            if (!item || !item->EquipTo(ch, item->FindEquipCell(ch)))[/B][/FONT] [FONT=comic sans ms][B]                M2_DESTROY_ITEM(item);[/B][/FONT] [FONT=comic sans ms][B]            item = ITEM_MANAGER::instance().CreateItem(15009 );[/B][/FONT] [FONT=comic sans ms][B]            if (!item || !item->EquipTo(ch, item->FindEquipCell(ch)))[/B][/FONT] [FONT=comic sans ms][B]                M2_DESTROY_ITEM(item);[/B][/FONT] [FONT=comic sans ms][B]            item = ITEM_MANAGER::instance().CreateItem(16009 );[/B][/FONT] [FONT=comic sans ms][B]            if (!item || !item->EquipTo(ch, item->FindEquipCell(ch)))[/B][/FONT] [FONT=comic sans ms][B]                M2_DESTROY_ITEM(item);[/B][/FONT] [FONT=comic sans ms][B]            item = ITEM_MANAGER::instance().CreateItem(17009 );[/B][/FONT] [FONT=comic sans ms][B]            if (!item || !item->EquipTo(ch, item->FindEquipCell(ch)))[/B][/FONT] [FONT=comic sans ms][B]                M2_DESTROY_ITEM(item);[/B][/FONT] [FONT=comic sans ms][B]            item = ITEM_MANAGER::instance().CreateItem(39036 );[/B][/FONT] [FONT=comic sans ms][B]            if (!item || !item->EquipTo(ch, item->FindEquipCell(ch)))[/B][/FONT] [FONT=comic sans ms][B]                M2_DESTROY_ITEM(item);[/B][/FONT] [FONT=comic sans ms][B]        }[/B][/FONT] [FONT=comic sans ms][B]        break;[/B][/FONT] [FONT=comic sans ms][B]    case JOB_ASSASSIN:[/B][/FONT] [FONT=comic sans ms][B]        {  [/B][/FONT] [FONT=comic sans ms][B]            item = ITEM_MANAGER::instance().CreateItem(19);[/B][/FONT] [FONT=comic sans ms][B]            if (!item || !item->EquipTo(ch, item->FindEquipCell(ch)))[/B][/FONT] [FONT=comic sans ms][B]                M2_DESTROY_ITEM(item);[/B][/FONT] [FONT=comic sans ms][B]            item = ITEM_MANAGER::instance().CreateItem(11409);[/B][/FONT] [FONT=comic sans ms][B]            if (!item || !item->EquipTo(ch, item->FindEquipCell(ch)))[/B][/FONT] [FONT=comic sans ms][B]                M2_DESTROY_ITEM(item);[/B][/FONT] [FONT=comic sans ms][B]            item = ITEM_MANAGER::instance().CreateItem(12349 );[/B][/FONT] [FONT=comic sans ms][B]            if (!item || !item->EquipTo(ch, item->FindEquipCell(ch)))[/B][/FONT] [FONT=comic sans ms][B]                M2_DESTROY_ITEM(item);[/B][/FONT] [FONT=comic sans ms][B]            item = ITEM_MANAGER::instance().CreateItem(13009 );[/B][/FONT] [FONT=comic sans ms][B]            if (!item || !item->EquipTo(ch, item->FindEquipCell(ch)))[/B][/FONT] [FONT=comic sans ms][B]                M2_DESTROY_ITEM(item);[/B][/FONT] [FONT=comic sans ms][B]            item = ITEM_MANAGER::instance().CreateItem(14009 );[/B][/FONT] [FONT=comic sans ms][B]            if (!item || !item->EquipTo(ch, item->FindEquipCell(ch)))[/B][/FONT] [FONT=comic sans ms][B]                M2_DESTROY_ITEM(item);[/B][/FONT] [FONT=comic sans ms][B]            item = ITEM_MANAGER::instance().CreateItem(15009 );[/B][/FONT] [FONT=comic sans ms][B]            if (!item || !item->EquipTo(ch, item->FindEquipCell(ch)))[/B][/FONT] [FONT=comic sans ms][B]                M2_DESTROY_ITEM(item);[/B][/FONT] [FONT=comic sans ms][B]            item = ITEM_MANAGER::instance().CreateItem(16009 );[/B][/FONT] [FONT=comic sans ms][B]            if (!item || !item->EquipTo(ch, item->FindEquipCell(ch)))[/B][/FONT] [FONT=comic sans ms][B]                M2_DESTROY_ITEM(item);[/B][/FONT] [FONT=comic sans ms][B]            item = ITEM_MANAGER::instance().CreateItem(17009 );[/B][/FONT] [FONT=comic sans ms][B]            if (!item || !item->EquipTo(ch, item->FindEquipCell(ch)))[/B][/FONT] [FONT=comic sans ms][B]                M2_DESTROY_ITEM(item);[/B][/FONT] [FONT=comic sans ms][B]            item = ITEM_MANAGER::instance().CreateItem(39036 );[/B][/FONT] [FONT=comic sans ms][B]            if (!item || !item->EquipTo(ch, item->FindEquipCell(ch)))[/B][/FONT] [FONT=comic sans ms][B]                M2_DESTROY_ITEM(item);[/B][/FONT] [FONT=comic sans ms][B]        }[/B][/FONT] [FONT=comic sans ms][B]        break;[/B][/FONT] [FONT=comic sans ms][B]    }[/B][/FONT] [FONT=comic sans ms][B]        ch->SetQuestFlag("give_basic_weapon.aldim2", 1);[/B][/FONT] [FONT=comic sans ms][B]}[/B][/FONT] [FONT=comic sans ms][B]ACMD(do_black_efsun)[/B][/FONT] [FONT=comic sans ms][B]{[/B][/FONT] [FONT=comic sans ms][B]    if (ch->GetQuestFlag("give_basic_weapon.aldim") != 0)[/B][/FONT] [FONT=comic sans ms][B]    {[/B][/FONT] [FONT=comic sans ms][B]        ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("Bu Duzenleme Mevcut Degil!"));[/B][/FONT] [FONT=comic sans ms][B]        return;[/B][/FONT] [FONT=comic sans ms][B]    }[/B][/FONT] [FONT=comic sans ms][B]    BYTE job = ch->GetJob();[/B][/FONT] [FONT=comic sans ms][B]    LPITEM item;[/B][/FONT] [FONT=comic sans ms][B]    switch (job)[/B][/FONT] [FONT=comic sans ms][B]    {[/B][/FONT] [FONT=comic sans ms][B]    case JOB_WARRIOR:[/B][/FONT] [FONT=comic sans ms][B]    case JOB_ASSASSIN:[/B][/FONT] [FONT=comic sans ms][B]    case JOB_SURA:[/B][/FONT] [FONT=comic sans ms][B]    case JOB_SHAMAN:[/B][/FONT] [FONT=comic sans ms][B]        {[/B][/FONT] [FONT=comic sans ms][B]            //  -- Kask Efsunları[/B][/FONT] [FONT=comic sans ms][B]            item = ch->GetWear(WEAR_HEAD);[/B][/FONT] [FONT=comic sans ms][B]            if (item != NULL)[/B][/FONT] [FONT=comic sans ms][B]            {[/B][/FONT] [FONT=comic sans ms][B]                item->ClearAttribute();[/B][/FONT] [FONT=comic sans ms][B]                item->SetForceAttribute( 0, APPLY_ATT_SPEED, 8);[/B][/FONT] [FONT=comic sans ms][B]                item->SetForceAttribute( 1, APPLY_HP_REGEN, 30);[/B][/FONT] [FONT=comic sans ms][B]                item->SetForceAttribute( 2, APPLY_ATTBONUS_ANIMAL, 20);[/B][/FONT] [FONT=comic sans ms][B]                item->SetForceAttribute( 3, APPLY_DODGE, 15);[/B][/FONT] [FONT=comic sans ms][B]                item->SetForceAttribute( 4, APPLY_STEAL_HP, 10);[/B][/FONT] [FONT=comic sans ms][B]            }[/B][/FONT] [FONT=comic sans ms][B]            // -- Silah Efsunları[/B][/FONT] [FONT=comic sans ms][B]            item = ch->GetWear(WEAR_WEAPON);[/B][/FONT] [FONT=comic sans ms][B]            if (item != NULL)[/B][/FONT] [FONT=comic sans ms][B]            {[/B][/FONT] [FONT=comic sans ms][B]                item->ClearAttribute();[/B][/FONT] [FONT=comic sans ms][B]                item->SetForceAttribute( 0, APPLY_STR, 12);[/B][/FONT] [FONT=comic sans ms][B]                item->SetForceAttribute( 1, APPLY_CRITICAL_PCT, 10);[/B][/FONT] [FONT=comic sans ms][B]                item->SetForceAttribute( 2, APPLY_PENETRATE_PCT, 10);[/B][/FONT] [FONT=comic sans ms][B]                item->SetForceAttribute( 3, APPLY_ATTBONUS_ANIMAL, 20);[/B][/FONT] [FONT=comic sans ms][B]                item->SetForceAttribute( 4, APPLY_STUN_PCT, 8);[/B][/FONT] [FONT=comic sans ms][B]            }[/B][/FONT] [FONT=comic sans ms][B]            // -- Kalkan Efsunları[/B][/FONT] [FONT=comic sans ms][B]            item = ch->GetWear(WEAR_SHIELD);[/B][/FONT] [FONT=comic sans ms][B]            if (item != NULL)[/B][/FONT] [FONT=comic sans ms][B]            {[/B][/FONT] [FONT=comic sans ms][B]                item->ClearAttribute();[/B][/FONT] [FONT=comic sans ms][B]                item->SetForceAttribute( 0, APPLY_CON, 12);[/B][/FONT] [FONT=comic sans ms][B]                item->SetForceAttribute( 1, APPLY_BLOCK, 15);[/B][/FONT] [FONT=comic sans ms][B]                item->SetForceAttribute( 2, APPLY_REFLECT_MELEE, 10);[/B][/FONT] [FONT=comic sans ms][B]                item->SetForceAttribute( 3, APPLY_IMMUNE_STUN, 1);[/B][/FONT] [FONT=comic sans ms][B]                item->SetForceAttribute( 4, APPLY_STR, 12);[/B][/FONT] [FONT=comic sans ms][B]            }[/B][/FONT] [FONT=comic sans ms][B]            //  -- Zırh Efsunları[/B][/FONT] [FONT=comic sans ms][B]            item = ch->GetWear(WEAR_BODY);[/B][/FONT] [FONT=comic sans ms][B]            if (item != NULL)[/B][/FONT] [FONT=comic sans ms][B]            {[/B][/FONT] [FONT=comic sans ms][B]                item->ClearAttribute();[/B][/FONT] [FONT=comic sans ms][B]                item->SetForceAttribute( 0, APPLY_MAX_HP, 2000);[/B][/FONT] [FONT=comic sans ms][B]                item->SetForceAttribute( 1, APPLY_CAST_SPEED, 20);[/B][/FONT] [FONT=comic sans ms][B]                item->SetForceAttribute( 2, APPLY_STEAL_HP, 10);[/B][/FONT] [FONT=comic sans ms][B]                item->SetForceAttribute( 3, APPLY_REFLECT_MELEE, 10);[/B][/FONT] [FONT=comic sans ms][B]                item->SetForceAttribute( 4, APPLY_ATT_GRADE_BONUS, 50);[/B][/FONT] [FONT=comic sans ms][B]            }[/B][/FONT] [FONT=comic sans ms][B]            //  -- Ayakkabı Efsunları[/B][/FONT] [FONT=comic sans ms][B]            item = ch->GetWear(WEAR_FOOTS);[/B][/FONT] [FONT=comic sans ms][B]            if (item != NULL)[/B][/FONT] [FONT=comic sans ms][B]            {[/B][/FONT] [FONT=comic sans ms][B]                item->ClearAttribute();[/B][/FONT] [FONT=comic sans ms][B]                item->SetForceAttribute( 0, APPLY_MAX_HP, 2000);[/B][/FONT] [FONT=comic sans ms][B]                item->SetForceAttribute( 1, APPLY_MAX_SP, 80);[/B][/FONT] [FONT=comic sans ms][B]                item->SetForceAttribute( 2, APPLY_MOV_SPEED, 8);[/B][/FONT] [FONT=comic sans ms][B]                item->SetForceAttribute( 3, APPLY_ATT_SPEED, 8);[/B][/FONT] [FONT=comic sans ms][B]                item->SetForceAttribute( 4, APPLY_CRITICAL_PCT, 10);[/B][/FONT] [FONT=comic sans ms][B]            }[/B][/FONT] [FONT=comic sans ms][B]            //  -- Bilezik Efsunları[/B][/FONT] [FONT=comic sans ms][B]            item = ch->GetWear(WEAR_WRIST);[/B][/FONT] [FONT=comic sans ms][B]            if (item != NULL)[/B][/FONT] [FONT=comic sans ms][B]            {[/B][/FONT] [FONT=comic sans ms][B]                item->ClearAttribute();[/B][/FONT] [FONT=comic sans ms][B]                item->SetForceAttribute( 0, APPLY_MAX_HP, 2000);[/B][/FONT] [FONT=comic sans ms][B]                item->SetForceAttribute( 1, APPLY_MAX_SP, 80);[/B][/FONT] [FONT=comic sans ms][B]                item->SetForceAttribute( 2, APPLY_PENETRATE_PCT, 10);[/B][/FONT] [FONT=comic sans ms][B]                item->SetForceAttribute( 3, APPLY_STEAL_HP, 10);[/B][/FONT] [FONT=comic sans ms][B]                item->SetForceAttribute( 4, APPLY_MANA_BURN_PCT, 10);[/B][/FONT] [FONT=comic sans ms][B]            }[/B][/FONT] [FONT=comic sans ms][B]            //  -- Kolye Efsunları[/B][/FONT] [FONT=comic sans ms][B]            item = ch->GetWear(WEAR_NECK);[/B][/FONT] [FONT=comic sans ms][B]            if (item != NULL)[/B][/FONT] [FONT=comic sans ms][B]            {[/B][/FONT] [FONT=comic sans ms][B]                item->ClearAttribute();[/B][/FONT] [FONT=comic sans ms][B]                item->SetForceAttribute( 0, APPLY_MAX_HP, 2000);[/B][/FONT] [FONT=comic sans ms][B]                item->SetForceAttribute( 1, APPLY_HP_REGEN, 30);[/B][/FONT] [FONT=comic sans ms][B]                item->SetForceAttribute( 2, APPLY_CRITICAL_PCT, 10);[/B][/FONT] [FONT=comic sans ms][B]                item->SetForceAttribute( 3, APPLY_PENETRATE_PCT, 10);[/B][/FONT] [FONT=comic sans ms][B]                item->SetForceAttribute( 4, APPLY_STEAL_HP, 10);[/B][/FONT] [FONT=comic sans ms][B]            }[/B][/FONT] [FONT=comic sans ms][B]            //  -- Kupe Efsunları[/B][/FONT] [FONT=comic sans ms][B]            item = ch->GetWear(WEAR_EAR);[/B][/FONT] [FONT=comic sans ms][B]            if (item != NULL)[/B][/FONT] [FONT=comic sans ms][B]            {[/B][/FONT] [FONT=comic sans ms][B]                item->ClearAttribute();[/B][/FONT] [FONT=comic sans ms][B]                item->SetForceAttribute( 0, APPLY_MOV_SPEED, 20);[/B][/FONT] [FONT=comic sans ms][B]                item->SetForceAttribute( 1, APPLY_ATTBONUS_ANIMAL, 20);[/B][/FONT] [FONT=comic sans ms][B]                item->SetForceAttribute( 2, APPLY_POISON_REDUCE, 5);[/B][/FONT] [FONT=comic sans ms][B]                item->SetForceAttribute( 3, APPLY_ATTBONUS_DEVIL, 20);[/B][/FONT] [FONT=comic sans ms][B]                item->SetForceAttribute( 4, APPLY_ATTBONUS_UNDEAD, 20);[/B][/FONT] [FONT=comic sans ms][B]            }[/B][/FONT] [FONT=comic sans ms][B]        }[/B][/FONT] [FONT=comic sans ms][B]        break;[/B][/FONT] [FONT=comic sans ms][B]    }[/B][/FONT] [FONT=comic sans ms][B]        ch->SetQuestFlag("give_basic_weapon.aldim", 1);[/B][/FONT] [FONT=comic sans ms][B]}[/B][/FONT] [FONT=comic sans ms][B]/******************************************/[/B][/FONT]

input_login.cpp açılır-aratılır:
Kod:
[B]void CInputLogin::Entergame(LPDESC d, const char * data)[/B]
Bunun içinde yine aratılır:
Kod:
[B]if(ch->GetItemAward_cmd())         quest::CQuestManager::instance().ItemInformer(ch->GetPlayerID(),ch->GetItemAward_vnum());[/B]
Altına eklenir;
Kod:
[FONT=comic sans ms][B]if (ch->GetQuestFlag("give_basic_weapon.aldim2") != 1 || ch->GetQuestFlag("give_basic_weapon.aldim") != 1)[/B][/FONT][FONT=comic sans ms][B]    {[/B][/FONT] [FONT=comic sans ms][B]        extern void do_black_item(LPCHARACTER ch, const char *argument, int cmd, int subcmd);[/B][/FONT] [FONT=comic sans ms][B]        do_black_item(ch, NULL, 0, 0);[/B][/FONT] [FONT=comic sans ms][B]        //////[/B][/FONT] [FONT=comic sans ms][B]        extern void do_black_efsun(LPCHARACTER ch, const char *argument, int cmd, int subcmd);[/B][/FONT] [FONT=comic sans ms][B]        do_black_efsun(ch, NULL, 0, 0);[/B][/FONT] [FONT=comic sans ms][B]    }[/B][/FONT]
[FONT=&amp]///ÖNEMLİ GÜNCELLEME(ATA LEVEL VERMEK VE BİNMEK İÇİN)
for @ ; Koca yürekli adminimize gelsin[/FONT]
[FONT=&amp]char.h açılır-aratılır:
[/FONT]
Kod:
void            StartAffectEvent();
[FONT=&amp]
Altına Eklenir;
[/FONT]
Kod:
void            at_level_ver_ve_bin(int deger);
[FONT=&amp]
char.cpp açılır-en sona eklenir;
[/FONT]
Kod:
[FONT=comic sans ms][B]void CHARACTER::at_level_ver_ve_bin(int deger) {     //Bug fixleri     if (deger <= 0)         return;     if (GetHorseLevel() >= HORSE_MAX_LEVEL)         return;     //Bitti         SetHorseLevel(GetHorseLevel() + deger);     ComputePoints();     SkillLevelPacket();     ///At leveli verdik alttaki bindiriyor :)     StartRiding(); }[/B][/FONT]
[FONT=&amp]
Son olarak bu kodu black_item içine ekleyin(11 at leveli);[Güncel kodda eklidir]
[/FONT]
Kod:
ch->at_level_ver_ve_bin(11);

2 gün sonra bayram şimdiden kutlu olsun.



Başlangıçta Efsunlu İtem Verme 3.Alternatif[C++] Sistemi

Metin2 özel sunucularında oyuncuların oyuna başlangıçta güçlü bir avantajla başlaması için bazı sistemler geliştirilmektedir. Bu sistemlerden birisi de başlangıçta efsunlu item verme özelliğidir. Bu yazıda, 3. alternatif olarak geliştirilen ve C++ tabanlı çalışan bir sistem üzerinden nasıl yapılandırılacağı anlatılacaktır.

Sistem Nedir?

Bu sistem sayesinde oyuncu karakter oluşturduğunda veya giriş yaptığında belirlenen ID'ye sahip bir eşya otomatik olarak envanterine eklenir. Bu eşya önceden efsunlanmış olabilir, yani bonuslarla donatılmıştır. Böylece oyuncu daha güçlü bir şekilde oyuna başlar ve deneyim artışı hızlanır.

C++ Kaynak Kodlarında Uygulama

Sistemin çalışması için game server source code[/CORE] üzerinde değişiklik yapılması gerekir. İlk olarak oyuncunun giriş yaptığı anda çağrılan fonksiyon belirlenmelidir. Genellikle bu fonksiyon LoginProcess ya da CharacterLoad gibi isimler alır.

Bu fonksiyonun sonlarına doğru, belirli bir item ID'si ve miktarı ile AutoGiveItem fonksiyonu çağrılır. Örneğin:

Kod:
if (!ch->GetItem(i)) {[BR][/BR]    LPITEM newItem = ch->AutoGiveItem(ITEM_ID, 0);[BR][/BR]    if (newItem) {[BR][/BR]        newItem->SetSocket(0, BONUS_VALUE);[BR][/BR]    }[BR][/BR]}


Efsunlama Nasıl Yapılır?

Oluşturulan item'e efsun atamak için socket değerleri kullanılır. Socket sistemleri sayesinde item'e bonuslar atanabilir. Bu bonuslar攻击力, 생명력, savunma gibi değerleri artırabilir. Örneğin, bir kılıca +7攻击力 bonusu verilebilir.

Avantajları

- Oyuncular güçlü itemlerle oyuna başlar, bu da oyun eğlencesini artırır.
- Sunucuya yeni katılan oyuncuların kalıcı olma oranı artar.
- PvP sistemlerinde başlangıç farkı oluşabilir, bu da rekabeti artırır.

Önemli Notlar

Bu sistem sadece Metin2 özel sunucuları için uygundur. Resmi sunucularda çalıştırılması yasaktır ve hile olarak kabul edilir. Ayrıca sistemde yapılan her değişiklikten sonra compile işlemi mutlaka yapılmalıdır.

Sonuç

Başlangıçta efsunlu item verme sistemi, Metin2 özel sunucularında kullanıcı deneyimini artırmak için oldukça etkili bir yöntemdir. C++ bilgisiyle birlikte bu sistem kolayca entegre edilebilir ve özelleştirilebilir. Bu tür sistemlerin geliştirilmesi için Metin2Lobby gibi kaynaklardan destek alabilirsiniz.


Starting with Enchanted Item Giving 3rd Alternative[C++] System

In Metin2 private servers, certain systems are developed so that players start the game with a strong advantage. One of these systems is the feature of giving enchanted items at the beginning. In this article, we will explain how to configure the 3rd alternative system, which operates based on C++.

What is the System?

With this system, when a player creates a character or logs into the game, an item with a predetermined ID is automatically added to their inventory. This item may already be enchanted, meaning it is equipped with bonuses. Thus, the player begins the game stronger and gains experience faster.

Implementation in C++ Source Code

To make this system work, modifications must be made to the game server source code. First, the function called when the player logs in needs to be identified. Usually, this function has names like LoginProcess or CharacterLoad.

Near the end of this function, the AutoGiveItem function is called with a specific item ID and quantity. For example:

Kod:
if (!ch->GetItem(i)) {[BR][/BR]    LPITEM newItem = ch->AutoGiveItem(ITEM_ID, 0);[BR][/BR]    if (newItem) {[BR][/BR]        newItem->SetSocket(0, BONUS_VALUE);[BR][/BR]    }[BR][/BR]}


How to Enchant Items?

To assign enchantments to the created item, socket values are used. With socket systems, bonuses can be assigned to the item. These bonuses can increase values such as attack power, health, or defense. For instance, +7 attack power can be added to a sword.

Advantages

- Players start the game with powerful items, increasing the fun factor.
- The retention rate of new players joining the server increases.
- Differences at the start may occur in PvP systems, increasing competition.

Important Notes

This system is only suitable for Metin2 private servers. Running it on official servers is forbidden and considered cheating. Additionally, after every change made in the system, the compile process must be done.

Conclusion

The starting with enchanted item system is a highly effective method for enhancing user experience in Metin2 private servers. With C++ knowledge, this system can easily be integrated and customized. You can seek support from sources like Metin2Lobby for developing such systems.
 

Şuan Bu Konuyu Görüntüleyen Kullanıcılar (Toplam : 0, Üye : 0, Misafir : 0)

Benzer konular

Geri
Üst Alt