В момента се опитвам,да замествя/вкарам new const Levels[MaxLevels] = // iLevels[MaxLevels], new const Prefix[MaxLevels][] = // iPrefix[MaxLevels]
Кодът ми работи с new const Levels[MaxLevels] new const Prefix[MaxLevels][] искам да левелите и префикса да ги вкарам в ини файла
Код за потвърждение: Избери целия код
#define MaxLevels 11
enum _:Cvars
{
KnifeXP,
HeXP,
KillXP,
HeadshotXP,
SuciedeXP,
DhudAlive,
KillMsg,
SaveXp,
BPlanted,
BDefause,
BExplode,
iLevels[MaxLevels],
iPrefix[MaxLevels]
}
new g_iCvars[Cvars]
new const Levels[MaxLevels] =
{
0,
100,
500,
850,
1250,
1555,
2000,
2750,
4000,
5000
}
new const Prefix[MaxLevels][] =
{
"None",
"Learner",
"Officer",
"KiLLeR",
"mAchInE",
"Ultra-Machine",
"TrYtoKillMe",
"Proffesional",
"Master",
"GODLIKE",
"GOD"
}
new Level[33], iExp[33]
new const g_vault_name[] = "aTmAx_Ranks"
new Trie:g_tSettings
readfile()
Код за потвърждение: Избери целия код
ReadFile()
{
new szFilename[256]
get_configsdir(szFilename, charsmax(szFilename))
add(szFilename, charsmax(szFilename), "/RankSystems.ini")
new iFilePointer = fopen(szFilename, "rt")
if(iFilePointer)
{
new szData[32],szKey[64],szValue[32]
while(!feof(iFilePointer))
{
fgets(iFilePointer, szData, charsmax(szData))
trim(szData)
switch(szData[0])
{
case EOS, ';', '#': continue
default:
{
strtok(szData, szKey, charsmax(szKey), szValue, charsmax(szValue), '=')
trim(szKey); trim(szValue)
if(!szValue[0]) continue
TrieSetString(g_tSettings, szKey, szValue)
if(equal(szKey, "KnifeXP"))
{
copy(g_iCvars[KnifeXP], charsmax(g_iCvars[KnifeXP]), szValue)
g_iCvars[KnifeXP] = clamp(str_to_num(szValue))
}
else if(equal(szKey, "HeXP"))
{
copy(g_iCvars[HeXP], charsmax(g_iCvars[HeXP]), szValue)
g_iCvars[HeXP] = clamp(str_to_num(szValue))
}
else if(equal(szKey, "KillXP"))
{
copy(g_iCvars[KillXP], charsmax(g_iCvars[KillXP]), szValue)
g_iCvars[KillXP] = clamp(str_to_num(szValue))
}
else if(equal(szKey, "HeadshotXP"))
{
copy(g_iCvars[HeadshotXP], charsmax(g_iCvars[HeadshotXP]), szValue)
g_iCvars[HeadshotXP] = clamp(str_to_num(szValue))
}
else if(equal(szKey, "SuciedeXP"))
{
copy(g_iCvars[SuciedeXP], charsmax(g_iCvars[SuciedeXP]), szValue)
g_iCvars[SuciedeXP] = clamp(str_to_num(szValue))
}
else if(equal(szKey, "DhudAlive"))
{
copy(g_iCvars[DhudAlive] ,charsmax(g_iCvars[DhudAlive]), szValue)
g_iCvars[DhudAlive] = clamp(str_to_num(szValue))
}
else if(equal(szKey, "KillMsg"))
{
copy(g_iCvars[KillMsg] ,charsmax(g_iCvars[KillMsg]), szValue)
g_iCvars[KillMsg] = clamp(str_to_num(szValue))
}
else if(equal(szKey, "SaveXp"))
{
copy(g_iCvars[SaveXp] ,charsmax(g_iCvars[SaveXp]), szValue)
g_iCvars[SaveXp] = clamp(str_to_num(szValue))
}
else if(equal(szKey, "BPlanted"))
{
copy(g_iCvars[BPlanted] ,charsmax(g_iCvars[BPlanted]), szValue)
g_iCvars[BPlanted] = clamp(str_to_num(szValue))
}
else if(equal(szKey, "BDefause"))
{
copy(g_iCvars[BDefause] ,charsmax(g_iCvars[BDefause]), szValue)
g_iCvars[BDefause] = clamp(str_to_num(szValue))
}
else if(equal(szKey, "BExplode"))
{
copy(g_iCvars[BExplode] ,charsmax(g_iCvars[BExplode]), szValue)
g_iCvars[BExplode] = clamp(str_to_num(szValue))
}
else if(equal(szKey, "iLevels"))
{
while(szValue[0] != 0 && strtok(szValue, szKey, charsmax(szKey), szValue, charsmax(szValue), ','))
{
trim(szKey); trim(szValue)
copy(g_iCvars[iLevels],charsmax(g_iCvars[iLevels]), szValue)
}
}
else if(equal(szKey, "iPrefix"))
{
while(szValue[0] != 0 && strtok(szValue, szKey, charsmax(szKey), szValue, charsmax(szValue), ','))
{
trim(szKey); trim(szValue)
copy(g_iCvars[iPrefix] ,charsmax(g_iCvars[iPrefix]), szValue)
}
}
}
}
}
Знам, че ще кажете, че това преобразува текста в число, просто когато започнах да правя файла не можех да го подкарам, за това съм го писал така както съм го видял g_iCvars[KnifeXP] = clamp(str_to_num(szValue)), че в мойте случай може само с copy защото в моя код никъде не преобразувам числа в текст илу текст в числа