kralhakan2009 1
kralhakan2009
Vahsi Uzman 1
Vahsi Uzman
farkmt2official 1
farkmt2official
Bvural41 1
Bvural41
noisiv 1
noisiv
Manwe Work 1
Manwe Work
Hikaye Ekle

[C++] Bonus Transfer Sistemi

  • Konuyu başlatan Konuyu başlatan raSii
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 18
  • Görüntüleme Görüntüleme 4K

Ayyıldız2 | 2008 TR Yapısı • 1-99 Orta Emek Destan • Oto Avsız • 10 Temmuz 21:00 HEMEN TIKLA!

Arkadaşlar 29 tane files satışım gerçekleşti büyük çoğunluğu bu forum üzerinden. Birçok kişiyle'de sorun yaşadım gerektiği yerde özür dilemesinide bildim. Fakat Gereğinden fazla gereksiz tartışmaya girdim. Geçmiş geçmişte kaldı gibi gözüksede aynı toplum içerisinde birbirimize düşman gözüyle baktık , herşeye eyw ama birkaç konuda haksızdım ve özür dilemesini bildim.

Dün dahil olmak üzere satılan filesler üzerinden oynanan birkaç oyun var ve bende haklı çıktığım ve forumu bırakma kararı aldım. 1 kaç paylaşım yapıp forumu bırakıyorum.

Kimse kusura bakmasın yaptıklarımdan dolayı.


Config.cpp açılır

Kod:
int    CostumeTransferBonusItemVnum = 71084;


Config.h açılır

Kod:
extern int CostumeTransferBonusItemVnum;


char.h açılır

Kod:
void CHARACTER::CostumeBonusTransfer(DWORD cell1, DWORD cell2){
    if ((GetExchange() || IsOpenSafebox() || GetShopOwner()) || IsCubeOpen() || IsDead()){
        ChatPacket(CHAT_TYPE_INFO, "Nie mozesz teraz wykonac tej operacji!");
        return;
    }


    LPITEM costume1 = GetInventoryItem(cell1);
    if (!costume1){
        ChatPacket(CHAT_TYPE_INFO, "Nie odnaleziono pierwszego kostiumu.");
        return;
    }
    
    if (costume1->GetType() != ITEM_COSTUME || costume1->GetType() == ITEM_COSTUME && costume1->GetSubType() != COSTUME_BODY){
        ChatPacket(CHAT_TYPE_INFO, "Pierwszy przedmiot nie jest kostiumem!");
        return;
    }
    
    if (costume1->IsEquipped()){
        ChatPacket(CHAT_TYPE_INFO, "Kullanılamaz kostüm.");
        return;
    }
    
    LPITEM costume2 = GetInventoryItem(cell2);
    if (!costume2){
        ChatPacket(CHAT_TYPE_INFO, "Slotta kostüm yok.");
        return;
    }
    
    if (costume2->GetType() != ITEM_COSTUME || costume2->GetType() == ITEM_COSTUME && costume2->GetSubType() != COSTUME_BODY){
        ChatPacket(CHAT_TYPE_INFO, "Malesef bunula yapamazsın");
        return;
    }
    
    if (costume2->IsEquipped()){
        ChatPacket(CHAT_TYPE_INFO, "Böyle bir kostüm kullanamazsın");
        return;
    }
    
    if (CountSpecifyItem(CostumeTransferBonusItemVnum) < 1){
        ChatPacket(CHAT_TYPE_INFO, "Bonus yok Neyi aktaracaksın.");
        return;
    }
    
    if (costume2->GetAttributeCount() < 1){
        ChatPacket(CHAT_TYPE_INFO, "İkinci Slota İyi bak!");
        return;
    }
    
    
    RemoveSpecifyItem(CostumeTransferBonusItemVnum, 1);
    costume1->ClearAttribute();
    for (int i = 0; i < costume2->GetAttributeCount(); i++){
        costume1->SetForceAttribute(i, costume2->GetAttributeType(i), costume2->GetAttributeValue(i));
    }
    
    costume2->RemoveFromCharacter();
    
    ChatPacket(CHAT_TYPE_INFO, "Başarılı bir şekilde Transfer Edildi!");

}


char.h açılır

Kod:
void            CostumeBonusTransfer(DWORD cell1, DWORD cell2);


cmd.cpp açılır

Kod:
Kod:
ACMD(do_costume_transfer_bonus);
[B]---[/B]
{ "kostum_degis_bonus",do_costume_transfer_bonus,0,POS_DEAD,GM_PLAYER},


Cmd_general.cpp açılır

Kod:
ACMD(do_costume_transfer_bonus){
    char arg1[256], arg2[256];
    DWORD cell1, cell2;
    two_arguments(argument, arg1, sizeof(arg1), arg2, sizeof(arg2));


    if (!*arg1 || !*arg2)
        return;
    str_to_number(cell1, arg1);
    str_to_number(cell2, arg2);


    if (cell1 < 0 || cell1 > INVENTORY_MAX_NUM || cell2 < 0 || cell2 > INVENTORY_MAX_NUM || cell1 == cell2)
        return;


    ch->CostumeBonusTransfer(cell1, cell2);

}


Çalışma şekli;

/kostum_degis_bonus slot1 slot2

Slot1 deki bonuslar
slot2 deki bonuslara eklenir.

Kanıt ;

EqXz38.jpg
 
Son düzenleme:

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

Geri
Üst