Dėl skaičiaus sugeneravimo

Šiame forume rašomi vartotojų klausimai/problemos su kuriomis jie susidūrė kuriant pluginus.
Post Reply
addinol
Jau po truputį tampa savu
Posts: 144
Joined: 2010 Sep 05 15:20
Skype: kasparas94

Dėl skaičiaus sugeneravimo

Post by addinol »

Sveiki, taigi norėčiau sugeneruoti skaičių t.y. žaidėjo SKILL (įgudžius) turėtų būti atsižvelgta į Žaidėjo kills, deaths, headshots. Taippat jog SKILL galėtų būti ir minusinis ir pliusinis.

Tai norėčiau jūsų paklausti kaip jūsų nuomone, būtų geriausia tai padaryti ?
Taippat būtų neblogai jei duotumėt pavizdį su šiais skaičiais, pvz.:
[#1]
Kills: 2 188
Deaths: 1 861
Headshots: 578
[#2]
Kills: 579
Deaths: 476
Headshots: 202
[#3]
Kills: 1 344
Deaths: 1 597
Headshots: 491
ir pvz.: (Šitas blogai kažkaip skaičiuoja, norėčiau įvairesnių variantų)

Code: Select all

( kills * headshots ) / deaths [#1] ( 2188 * 578 ) / 1861 = 679[#2] ( 579 * 202 ) / 476 = 245[#3] ( 1344 * 491 ) / 1597 = 413
[#3] - Puikiai matome jog mirčių skaičius didesnis, ir gauname didesnį SKILL už [#2] kurio stats geresni

User avatar
baltymas
O taip. Jis jau surinko 50 žinučių!
Posts: 79
Joined: 2011 Jan 15 09:42
Skype: baltymas
Location: Meksikas

Re: Dėl skaičiaus sugeneravimo

Post by baltymas »

Gal Kills - deaths + headshot ? :D

addinol
Jau po truputį tampa savu
Posts: 144
Joined: 2010 Sep 05 15:20
Skype: kasparas94

Re: Dėl skaičiaus sugeneravimo

Post by addinol »

Nebesvaik. pagalvok logiškai

žaidėjų skill turėtų būti vienodas jei pvz:

10 000 kills, 5 000 deaths 4 000 headshots
1 000 kills, 500 deaths 400 headshots

o su tavo šituo tai vieno gausis daxuja kito nixuja, jei jau rašai tai pagalvok, o ne betką rašyk.

User avatar
hleV
AMX Mod X ekspertai
Posts: 875
Joined: 2011 Apr 02 11:23
Skype: hlev.lt
Location: Šiauliai

Re: Dėl skaičiaus sugeneravimo

Post by hleV »

Code: Select all

(kills + headshots) / deaths
Headshot'ai gelbės nužudymų/mirčių santykį.
Image ← RIP best userbar
DISKUSIJA: KIETAS PLUGIN'O UŽSAKOVAS
Privačios pagalbos neteikiu!

addinol
Jau po truputį tampa savu
Posts: 144
Joined: 2010 Sep 05 15:20
Skype: kasparas94

Re: Dėl skaičiaus sugeneravimo

Post by addinol »

čia yra problema, jog jei ne float skaičius imu, ir bus kills+headshots < deaths, tai gaus 0. neišeina padaryti minusinių skill jei ne float. o su float nelabai moku šitą padaryti.

-- 2011 Geg 10 17:41 --

nu tarkim su float padariau,

Code: Select all

Float:get_user_skill(id){    if(iKills[id] == 0 || iDeaths[id] == 0)        return 0.0;            new Float:kills = iKills[id] + 0.0;    new Float:deaths = iDeaths[id] + 0.0;    new Float:headshots = iHeadshots[id] + 0.0;        new Float:iSkill = ( ( (Float:kills + Float:headshots) / Float:deaths) + (iBonus[id] * 10.0) );        return Float:iSkill;} 
Bet man man skill gaunasi: 1 arba 1.4, 1 įsisaugo į mysql, nors saugau ir rašau su %0.1f ir Float:get_user_skill(id)
nors aš suskaičiuoju:
( ( (2188.0 + 1861.0) / 578.0 ) + (0.0 * 10.0) );
4049.0 / 578.0 + 0.0
7.0

Beje ar mysql'e floatus saugoti kaip INT ar VARCHAR ?

User avatar
hleV
AMX Mod X ekspertai
Posts: 875
Joined: 2011 Apr 02 11:23
Skype: hlev.lt
Location: Šiauliai

Re: Dėl skaičiaus sugeneravimo

Post by hleV »

Code: Select all

get_user_skill(id){    new deaths = iDeaths[id];     if (deaths)        return floatround((float(iKills[id] + iHeadshots[id]) / deaths)) * 10;     return floatround(float(iKills[id] + iHeadshots[id])) * 10;}
Image ← RIP best userbar
DISKUSIJA: KIETAS PLUGIN'O UŽSAKOVAS
Privačios pagalbos neteikiu!

addinol
Jau po truputį tampa savu
Posts: 144
Joined: 2010 Sep 05 15:20
Skype: kasparas94

Re: Dėl skaičiaus sugeneravimo

Post by addinol »

ok o su šituo kaip suprantu kablelių nebus, tai printint ir saugot į mysql jį su %d

PS. Labai netiksliai gauna, nes būna tarkim iš šito:

return floatround((float(iKills[id] + iHeadshots[id]) / deaths)) * 10;

(2188 + 578) / 1861 * 10:
2188 + 578 = 2766
2766 / 1861 = 1 (Būtų 1.48 bet čia gauna be kablelio skaičių [ ČIA IR PROBLEMA ])
1 * 10 = 10.

Problema ta, jog be kablelio skaičių daugina ir tada labai netiksliai gaunasi.

Tai jei su šitu neišeina būdu galbūt koks kitas yra, pertvarkyčiau tada pluginą visą, nes labai reikia :/

Post Reply

Who is online

Users browsing this forum: Ahrefs [Bot] and 10 guests