Здравейте, мое ли да се направи ранк системата да работи по този начин.
При вдигане на нов левел да увиличава дамаге-а на всяко едно ?
VIP
|
Cs-PlovdiV.com - Aim Attack 93.123.16.4:27022 |
aim_map2 Играчи: 4/16 |
|
VIP
|
93.123.16.4:27022 | Cs-PlovdiV.com - Aim Attack | aim_map2 | 4/16 |
Преработка на Rank System(OciXCrom) ако е възможно и да не отнеме много време!
-
Huehue
Извън линия - Модератор
- Мнения: 357
- Регистриран на: 16 Яну 2017, 23:42
- Местоположение: София
- Се отблагодари: 9 пъти
- Получена благодарност: 177 пъти
- Обратна връзка:
Преработка на Rank System(OciXCrom) ако е възможно и да не отнеме много време!
Код за потвърждение: Избери целия код
#include <amxmodx>
#include <amxmisc>
#include <crxranks>
#include <hamsandwich>
#define PLUGIN_VERSION "1.1-zp"
new Trie:g_tDamage
new g_szDamage[33][16]
public plugin_init()
{
register_plugin("CRXRanks: Damage Per Level", PLUGIN_VERSION, "OciXCrom")
register_cvar("CRXRanksDPL", PLUGIN_VERSION, FCVAR_SERVER|FCVAR_SPONLY|FCVAR_UNLOGGED)
RegisterHam(Ham_TakeDamage, "player", "PreTakeDamage", 0)
g_tDamage = TrieCreate()
ReadFile()
}
public plugin_end()
TrieDestroy(g_tDamage)
ReadFile()
{
new szFilename[256]
get_configsdir(szFilename, charsmax(szFilename))
add(szFilename, charsmax(szFilename), "/RankSystemDamage.ini")
new iFilePointer = fopen(szFilename, "rt")
if(iFilePointer)
{
new szData[64], szValue[32], szMap[32], szKey[32], bool:bRead = true, iSize
get_mapname(szMap, charsmax(szMap))
while(!feof(iFilePointer))
{
fgets(iFilePointer, szData, charsmax(szData))
trim(szData)
switch(szData[0])
{
case EOS, '#', ';': continue
case '-':
{
iSize = strlen(szData)
if(szData[iSize - 1] == '-')
{
szData[0] = ' '
szData[iSize - 1] = ' '
trim(szData)
if(contain(szData, "*") != -1)
{
strtok(szData, szKey, charsmax(szKey), szValue, charsmax(szValue), '*')
copy(szValue, strlen(szKey), szMap)
bRead = equal(szValue, szKey) ? true : false
}
else
{
static const szAll[] = "#all"
bRead = equal(szData, szAll) || equali(szData, szMap)
}
}
else continue
}
default:
{
if(!bRead)
continue
strtok(szData, szKey, charsmax(szKey), szValue, charsmax(szValue), '=')
trim(szKey); trim(szValue)
if(!szValue[0])
continue
TrieSetString(g_tDamage, szKey, szValue)
}
}
}
fclose(iFilePointer)
}
}
public PreTakeDamage(iVictim, iInflictor, iAttacker, Float:fDamage, iDamageBits)
{
if(!is_user_connected(iAttacker) || !g_szDamage[iAttacker][0])
return
SetHamParamFloat(4, math_add_f(fDamage, g_szDamage[iAttacker]))
}
public client_putinserver(id)
g_szDamage[id][0] = EOS
public crxranks_user_level_updated(id, iLevel)
{
new szLevel[10]
num_to_str(iLevel, szLevel, charsmax(szLevel))
if(TrieKeyExists(g_tDamage, szLevel))
TrieGetString(g_tDamage, szLevel, g_szDamage[id], charsmax(g_szDamage[]))
}
Float:math_add_f(Float:fNum, const szMath[])
{
static szNewMath[16], Float:fMath, bool:bPercent, cOperator
copy(szNewMath, charsmax(szNewMath), szMath)
bPercent = szNewMath[strlen(szNewMath) - 1] == '%'
cOperator = szNewMath[0]
if(!isdigit(szNewMath[0]))
szNewMath[0] = ' '
if(bPercent)
replace(szNewMath, charsmax(szNewMath), "%", "")
trim(szNewMath)
fMath = str_to_float(szNewMath)
if(bPercent)
fMath *= fNum / 100
switch(cOperator)
{
case '+': fNum += fMath
case '-': fNum -= fMath
case '/': fNum /= fMath
case '*': fNum *= fMath
default: fNum = fMath
}
return fNum
}
Код за потвърждение: Избери целия код
#5 - this will set the damage of each attack to be exactly 5
#+5 - this will add +5 damage to each attack
#+5% - this will increase the damage of each attack with 5%
# <level number> = <damage amount>
1 = +5
2 = +5
3 = +5
4 = +5
5 = +5
6 = +5
7 = +5
8 = +5
9 = +5
10 = +5
11 = +5
12 = +5
13 = +5
14 = +5
15 = +5
16 = +5
17 = +5
18 = +5
19 = +5
20 = +20%
21 = +21%
22 = +22%
23 = +23%
24 = +24%
25 = +25%
26 = +26%
27 = +27%
28 = +28%
29 = +29%
30 = +30%
LOYAL TO THE OATH OF OMERTА̀
Зад монитора мъжкари, това не го разбирам..
На живо сте мишкари, това го гарантирам!
Седиш на 30 метра от мен като препариран!
Ако има нещо брат, номерът ми е блокиран..
My GitHub Profile
GitHub
My AMXX Includes Collection
AMXX Include Libraries
My Steam Profile (from SteamDB)
Зад монитора мъжкари, това не го разбирам..
На живо сте мишкари, това го гарантирам!
Седиш на 30 метра от мен като препариран!
Ако има нещо брат, номерът ми е блокиран..
My GitHub Profile
GitHub
My AMXX Includes Collection
AMXX Include Libraries
My Steam Profile (from SteamDB)
- Value: 4179€
- Games owned: 1855
- Games played: 754 (40%)
- Hours on record: 4,994.9h
-
The Pain
Извън линия - Потребител
- Мнения: 91
- Регистриран на: 06 Дек 2021, 17:10
- Се отблагодари: 18 пъти
- Получена благодарност: 6 пъти
Преработка на Rank System(OciXCrom) ако е възможно и да не отнеме много време!
За да не пускам нова тема пиша тук, има ли начин да се направи да дава броня на всяко ниво?
-
OciXCrom
Извън линия - Owner
- Мнения: 7206
- Регистриран на: 06 Окт 2016, 19:20
- Местоположение: /resetscore
- Се отблагодари: 117 пъти
- Получена благодарност: 1309 пъти
- Обратна връзка:
Преработка на Rank System(OciXCrom) ако е възможно и да не отнеме много време!
https://www.amxx-bg.info/forum/viewtopi ... =21&t=4594 - просто заместваш да дава броня вместо кръв.
-
- Подобни теми
- Отговори
- Преглеждания
- Последно мнение
-
- 4 Отговори
- 936 Преглеждания
-
Последно мнение от Stilex
-
- 1 Отговори
- 2629 Преглеждания
-
Последно мнение от OciXCrom
-
- 2 Отговори
- 2570 Преглеждания
-
Последно мнение от truex_88
-
- 2 Отговори
- 1100 Преглеждания
-
Последно мнение от Mr.!mP@$!bl3
-
- 2 Отговори
- 1578 Преглеждания
-
Последно мнение от AfterLife
-
- 2 Отговори
- 837 Преглеждания
-
Последно мнение от Stilex
-
- 4 Отговори
- 1495 Преглеждания
-
Последно мнение от GGzBoy
Кой е на линия
Потребители разглеждащи този форум: 0 регистрирани и 2 госта