←  Pytania

AMXX.pl: Support AMX Mod X i SourceMod

»

Obliczanie %

Zablokowany

  • +
  • -
arek_snk - zdjęcie arek_snk 12.11.2010

Witam.

Chciałbym się dowiedzieć w jaki sposób mogę obliczyć procenty w amxx, ponieważ piszę skrypt ale potrzebuje do tego procentów a nie wiem jak
chciałbym obliczyć procenty np tego:
new const ilosc_czegos = {0, 10, 15, 20}

Dajmy na to ze shotgun[id] ma w sobie ilosc punktow uzbieranych np "22"
a next_shotgun to jest wymagana liczba do wbicia nastepnego poziomu np liczba "25"

shotgun[id]*100% / next_shotgun = jakis wynik w %


Thx za pomoc.

PS: nie pamietam regułki obliczania procentów ale chyba była taka hah
Dzięki za pomoc
Użytkownik arek_snk edytował ten post 12.11.2010 20:46
Odpowiedz

  • +
  • -
mgr inż. Pavulon - zdjęcie mgr inż. Pavulon 12.11.2010

takie pytania to chyba podstawówka :lol:

22 - x %
25 - 100 %
==========
x = ( 22 * 100% ) / 25 = 88%
Odpowiedz

  • +
  • -
arek_snk - zdjęcie arek_snk 12.11.2010

Dobra niech ci będzie haha ;PP

Ale jak obliczyć % w amxx ?:)
Odpowiedz

  • +
  • -
R3X - zdjęcie R3X 12.11.2010

nie da się chyba 8?

new a = 15, b =30;
new procent = a*100/b;
log_amx("%d%%", procent); //50%;
Odpowiedz

  • +
  • -
arek_snk - zdjęcie arek_snk 12.11.2010

i love u :* :D

Zara testne :P

Dobra.. dałem takie coś

new a = shotgun_procenty[id], b =shotgun[id];
new procent = a*100/b;

len += formatex(motd[len],sizeof motd - 1 - len,"Shotgun Skill Level: %i<br><font size=7 color=red>Procent do nastepnego: %i %</font>", shotgun[id], procent)


Ale kurde coś źle pokazuje bo daje np 150, 100 xD a jak zrobić zeby np 100%, 21%, 50% ?:P i zeby nie wychodzilo poza 100
Użytkownik arek_snk edytował ten post 12.11.2010 21:24
Odpowiedz

  • +
  • -
R3X - zdjęcie R3X 12.11.2010

procent = min(100, procent);
Odpowiedz

  • +
  • -
mgr inż. Pavulon - zdjęcie mgr inż. Pavulon 12.11.2010

nie musisz robić tego w ten sposób:
new a = shotgun_procenty[id], b =shotgun[id];
                        new procent = a*100/b;
wystarczy samo:
len += formatex(motd[len],sizeof motd - 1 - len,"Shotgun Skill Level: %i<br><font size=7 color=red>Procent do nastepnego: %i %</font>", shotgun[id], min(100, shotgun_procenty[id]*100/shotgun[id]))

p.s.
R3X, max a nie min :P
Dobra, zaspany jestem :P
Odpowiedz

  • +
  • -
R3X - zdjęcie R3X 12.11.2010

właśnie, że min :P
min(100, 30) = 30, min (100, 150) = 100
Odpowiedz

  • +
  • -
arek_snk - zdjęcie arek_snk 12.11.2010

Thx :))

Dodano 12 listopad 2010 - 23:06:
Spoko ale chodzi o to że jak jest 100% to nie dodaje levela+ tylko stoi dalej xD

a chodziło o to żeby sprawdzało jaki % już jest wbity np 10 punktow a trzeba do levela 20

to masz 10*100 = 1000/20 = 50% i zeby pokazywalo te 50% a nie np 100% bo tak pokazuje dodaje 10+ cały czas i wychodzi 200% xD! a ja chce zeby na 100% jak już dojdzie to level up
Odpowiedz

  • +
  • -
G[o]Q - zdjęcie G[o]Q 12.11.2010

a kod mozesz pokazac twoj :?:
Odpowiedz

  • +
  • -
arek_snk - zdjęcie arek_snk 12.11.2010

Cały?
Nie ma szans bo ma prawie 10k linijek o.0

Tutaj dam wam kawałki


{
new a = shotgun_procenty[id], b =shotgun[id];
new procent = a*100/b;
static motd[1000],header[100],len
len = 0
len += formatex(motd[len],sizeof motd - 1 - len,"<body bgcolor=black text=white>")
len += formatex(motd[len],sizeof motd - 1 - len,"<center>")
formatex(header,sizeof header - 1,"Skills")
{
len += formatex(motd[len],sizeof motd - 1 - len,"Shotgun Skill Level: %i<br><font size=7 color=red>Procent do nastepnego: %i %</font>", shotgun[id], procent = min(100, procent))
}
len += formatex(motd[len],sizeof motd - 1 - len,"</center>")
show_motd(id,motd,header)
}




if(weapon2 == CSW_M3 || weapon2 == CSW_XM1014)
{
shotgun_procenty[attacker]+=1;
}



new const shotgun_skill[] = {0, 2, 4, 8, 10}
new shotgun_procenty[33];
new shotgun[33] = 1;


Tyle chyba z tego było

@@Edit a reszty nie pokaże bo sam pisze moda i wiesz :-)
Użytkownik arek_snk edytował ten post 12.11.2010 23:53
Odpowiedz

  • +
  • -
G[o]Q - zdjęcie G[o]Q 13.11.2010

a cala funkcje oraz miejsca gdzie ja wywolujesz :?: + najlepiej co wpisujesz do shotgun[id] a co do shotgun_procenty
Odpowiedz

  • +
  • -
arek_snk - zdjęcie arek_snk 13.11.2010

Hah ok dzięki all już wiem ocb
Wystarczyło zmienić to:


new a = shotgun_procenty[id], b = shotgun[id];
new procent = a*100/b;


na


new a = shotgun_procenty[id], b =shotgun_skill[shotgun[id]];
new procent = a*100/b;


Do zamknięcia działa!! :-)

Wszyscy ode mnie dostają + :)
Odpowiedz
Zablokowany