Neler yeni
XenForo Bannerlar
Modern AdBlock Uyarısı

Foruma hoş geldin, Ziyaretçi

Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak tamamen ücretsizdir.

Kod Ortalama Zarar Sabitleme

Fatih Bulut

Süper Üye
Katılım
6 Kas 2021
Mesajlar
4,667
Tepkime puanı
5,886
Puanları
113
Yaş
32
Konum
Türkiye
Dc
fatihbulut
ortalama zarar sabitleme örnek 30 ile 60 arasi ortalama zarar gelsin 15 ile 30 beceri hasarı gelsin olarak sabitleyebilirsiniz. efun botunda normal efsunda herhangi birşeyde farketmez sabit gelir

2 şekil paylaşacağım.
item_addon.cpp

1. ortalama zarar 30 60 arası 15 30 beceri hasar ortalama gelir ise beceri - düşürür beceri gelirse ortalamayı -ye düşürür klasik sistem sadece oran sabitleme

2. ortalama zarar kaç gelirse gelsin beceri efsunu eklemez sadece ortalama zarar gelir efsun attıkça beceri ve ortalama zarar değişir ancak sadece 1'i gelir her ikiside gelmez 1. kodda -ye düşürme vardı bunda yok sadece birisi gelir şansa bağlı ortalamada gelebilir beceride 1. kodda her 2 efsunda ortalama ve beceri 2si bir gelmez birisi -ye düşer + gelmesi yok kodlar altta kendi yapınıza göre düzenlersiniz.

1. kod yanlarda oranlar yazıyor - kaç geleceginide ayarlayabilirsiniz + kaç geleceginide %50 oran ile ortalama ve beceri gelebilecek şekilde.

Kod:
#include "stdafx.h"
#include "constants.h"
#include "utils.h"
#include "item.h"
#include "item_addon.h"

CItemAddonManager::CItemAddonManager()
{
}

CItemAddonManager::~CItemAddonManager()
{
}

void CItemAddonManager::ApplyAddonTo(int iAddonType, LPITEM pItem)
{
    if (!pItem)
    {
        sys_err("ITEM pointer null");
        return;
    }

    pItem->RemoveAttributeType(APPLY_SKILL_DAMAGE_BONUS);
#ifdef ENABLE_AVG_PVM_DISABLE
    pItem->RemoveAttributeType(APPLY_ATTBONUS_MEDI_PVM);
#else
    pItem->RemoveAttributeType(APPLY_NORMAL_HIT_DAMAGE_BONUS);
#endif

#ifdef ENABLE_AVG_PVM
    pItem->RemoveAttributeType(APPLY_ATTBONUS_MEDI_PVM);
#endif

    int iAverageBonus = 0;
    int iSkillBonus = 0;

    if (number(1, 100) <= 50)
    {
        iAverageBonus = number(30, 60);         // Ortalama: +30 ile +60 arası
        iSkillBonus = -number(1, 30);          // Beceri: -1 ile -30 arası
    }
    else
    {
        iSkillBonus = number(15, 30);           // Beceri: +15 ile +30 arası
        iAverageBonus = -number(1, 30);        // Ortalama: -1 ile -30 arası
    }

#ifdef ENABLE_AVG_PVM_DISABLE
    pItem->AddAttribute(APPLY_ATTBONUS_MEDI_PVM, iAverageBonus);
#else
    pItem->AddAttribute(APPLY_NORMAL_HIT_DAMAGE_BONUS, iAverageBonus);
#endif

    pItem->AddAttribute(APPLY_SKILL_DAMAGE_BONUS, iSkillBonus);
}

2.kod sabit %50 oran ile beceri veya ortalama gelir 30-60 15-30 olacak şekilde

Kod:
#include "stdafx.h"
#include "constants.h"
#include "utils.h"
#include "item.h"
#include "item_addon.h"

CItemAddonManager::CItemAddonManager()
{
}

CItemAddonManager::~CItemAddonManager()
{
}

void CItemAddonManager::ApplyAddonTo(int iAddonType, LPITEM pItem)
{
    if (!pItem)
    {
        sys_err("ITEM pointer null");
        return;
    }

    pItem->RemoveAttributeType(APPLY_SKILL_DAMAGE_BONUS);
#ifdef ENABLE_AVG_PVM_DISABLE
    pItem->RemoveAttributeType(APPLY_ATTBONUS_MEDI_PVM);
#else
    pItem->RemoveAttributeType(APPLY_NORMAL_HIT_DAMAGE_BONUS);
#endif

#ifdef ENABLE_AVG_PVM
    pItem->RemoveAttributeType(APPLY_ATTBONUS_MEDI_PVM);
#endif

    int iChoice = number(1, 2);

    if (iChoice == 1)
    {
        int iAverageBonus = number(30, 60);

#ifdef ENABLE_AVG_PVM_DISABLE
        pItem->AddAttribute(APPLY_ATTBONUS_MEDI_PVM, iAverageBonus);
#else
        pItem->AddAttribute(APPLY_NORMAL_HIT_DAMAGE_BONUS, iAverageBonus);
#endif
    }
    else
    {
        int iSkillBonus = number(15, 30);

        pItem->AddAttribute(APPLY_SKILL_DAMAGE_BONUS, iSkillBonus);
    }
}
 

Forumdan daha fazla yararlanmak için giriş yapın yada üye olun!

Forumdan daha fazla yararlanmak için giriş yapın veya kayıt olun!

Kayıt ol

Forumda bir hesap oluşturmak tamamen ücretsizdir.

Şimdi kayıt ol
Giriş yap

Eğer bir hesabınız var ise lütfen giriş yapın

Giriş yap

Tema düzenleyici

Tema özelletirmeleri

Grafik arka planlar

Granit arka planlar