Sziasztok ak,kk-t hol lehet be állítani forrásba, hogy mi legyen a maximum ?
game/src/item_addon.cpp
void CItemAddonManager::ApplyAddonTo(int iAddonType, LPITEM pItem)
Növelt random AK-KK optoláskor
Server/SRC/item_addon.cpp
Így nézzen ki:
#include "stdafx.h"
#include "config.h"
#include "constants.h"
#include "utils.h"
#include "item.h"
#include "item_addon.h"
extern int minKK;
extern int maxKK;
extern int minAK;
extern int maxAK;
CItemAddonManager::CItemAddonManager()
{
}
CItemAddonManager::~CItemAddonManager()
{
}
void CItemAddonManager::ApplyAddonTo(int iAddonType, LPITEM pItem)
{
if (!pItem)
{
sys_err("ITEM pointer null");
return;
}
// TODO ŔĎ´Ü ÇϵĺÄÚµůŔ¸·Î ĆňŸ ˝şĹł Ľöġ şŻ°ć¸¸ °ćżě¸¸ ŔűżëąŢ°ÔÇŃ´Ů.
if (minKK>maxKK)
{
sys_err("item_addon: minKK [%d] nagyobb mint a maxKK [%d]", minKK, maxKK);
int bufferKK = minKK;
minKK = maxKK;
maxKK = bufferKK;
}
if (minAK == -32767)
minAK = (minKK * 2);
if (maxAK == 32767)
maxAK = (maxKK * 2);
if (minAK>maxAK)
{
sys_err("item_addon: minAK [%d] nagyobb mint a maxAK [%d]", minAK, maxAK);
int bufferAK = minAK;
minAK = maxAK;
maxAK = bufferAK;
}
int iSkillBonus = MINMAX(minKK, (int)(gauss_random(2, 30) + 2.5f), maxKK);
int iNormalHitBonus = 0;
if (abs(iSkillBonus) <= 20)
iNormalHitBonus = 2 * iSkillBonus + abs(number(1, 32) + number(1, 32)) + number(1, 32);
else
iNormalHitBonus = 2 * iSkillBonus + number(1, 10);
iNormalHitBonus = MINMAX(minAK, iNormalHitBonus, maxAK);
pItem->RemoveAttributeType(APPLY_SKILL_DAMAGE_BONUS);
pItem->RemoveAttributeType(APPLY_NORMAL_HIT_DAMAGE_BONUS);
pItem->AddAttribute(APPLY_NORMAL_HIT_DAMAGE_BONUS, iNormalHitBonus);
pItem->AddAttribute(APPLY_SKILL_DAMAGE_BONUS, iSkillBonus);
}
Server/SRC/config.cpp
Keres:
int gPlayerMaxLevel = 99;
Alá beilleszt:
int minKK = -32767;
int maxKK = 32767;
int minAK = -32767;
int maxAK = 32767;
Keres:
TOKEN("max_level")
Alá beilleszt:
TOKEN("min_kk")
{
str_to_number(minKK, value_string);
minKK = MINMAX(-32767, minKK, 32767);
fprintf(stderr, "MIN_KK: %d\n", minKK);
}
TOKEN("max_kk")
{
str_to_number(maxKK, value_string);
maxKK = MINMAX(-32767, maxKK, 32767);
fprintf(stderr, "MAX_KK: %d\n", maxKK);
}
TOKEN("min_ak")
{
str_to_number(minAK, value_string);
minAK = MINMAX(-32767, minAK, 32766);
fprintf(stderr, "MIN_AK: %d\n", minAK);
}
TOKEN("max_ak")
{
str_to_number(maxAK, value_string);
maxAK = MINMAX(-32767, maxAK, 32766);
fprintf(stderr, "MAX_AK: %d\n", maxAK);
}
Server/SRC/config.h
Keres:
extern int gPlayerMaxLevel;
Alá beilleszt:
extern int minKK;
extern int maxKK;
extern int minAK;
extern int maxAK;
Szerveren: channel-1-2-3-4 stb
CONFIG file:
MIN_KK: -30
MAX_KK: 50
MIN_AK: -30
MAX_AK: 100