Jump to content
  • 0

pomoc Progres Bar


Jariq

Dotaz

Čavte pawneri chcel by som sa Vás opýtať že či neviete kde by som našiel niečo o tom ako vytvoriť ten "progres bar". Proste chcem aby mali hráči po dosiahnutí určitej podmienky ten "pásik čo ukazuje zdravie" predĺžený ako v Singleplayer . Nikde som nenašiel nič o tom a do Search neviem čo mám napísať. Budem vďačný za každú radu.

Link to comment
Share on other sites

25 odpovědí na tuto otázku

Recommended Posts

  • 0

Ten pás nejde prodloužit. Jedině nějakym módem, ale ne funkcí v pawnu.

mod je funkce pawna :d :D :d

Jasne ze to jde, kdyz to prekrejes textdrawem, jedine co nemuzes je upravovat nynejsi (v GTA) progresbary ani je vypnout, ale prekryt jinym textdrawem jdou :)

Link to comment
Share on other sites

  • 0

mod je funkce pawna :d :d :d

---

No já jsem myslel nějaký externí jako s0beit, CLEO apod. :d

 

Jinak teda jde to překrýt textdrawem, jak ti tu již radí, ale sám o sobě ten HP bar prodloužit nejde.

Link to comment
Share on other sites

  • 0

---

No já jsem myslel nějaký externí jako s0beit, CLEO apod. :d

 

Jinak teda jde to překrýt textdrawem, jak ti tu již radí, ale sám o sobě ten HP bar prodloužit nejde.

Spíš bych řekl že interní ne ?

Link to comment
Share on other sites

  • 0

No jasne da sa to pomocou include progres_bar a su nato funkcie:

CreateProgressBar(Float:x, Float:y, Float:width, Float:height, color, Float:max);
DestroyProgressBar(nazov);
ShowProgressBarForPlayer(playerid,nazov);
HideProgressBarForPlayer(playerid,nazov);
ShowProgressBarForAll(nazov);
HideProgressBarForAll(nazov);
SetProgressBarValue(nazov, Float:value);
GetProgressBarValue(nazov);
SetProgressBarMaxValue(nazov, Float:max);
SetProgressBarColor(nazov, farba);
UpdateProgressBar(nazov, playerid);

Len neviem ako zistovat jeho zdravie a urobit tak aby bolo vynasobene 1.5 krat cize bude mat 150HP.

Link to comment
Share on other sites

  • 0

ono by stacilo dat do 

CreateProgressBar(548.00, 68.00, 87.50, 5.19, -16776961, 150.0);

a tym by som zvysil na 150 ale aj ked to bude zobrazovat dlhsie ale v skutocnosti bude mat ajtak len 100HP .. cize potrebujem aby ked donho napr. niekto streli atp. aby mu to ubralo menej ako ostatnym chapes?

Link to comment
Share on other sites

  • 0

sory za DP...

Takze takto zobrazujem hracove zdravie*1.5 ale je to blbost pretoze hrac je rovnako zranitelny ako ostatni len mu to ukazuje inac.

Potrebujem aby ak hrac ak s podmienkou utrpi poskodenie, tak mu to vezme o tretinu menej HP. Prosim ludia helfnite mi, neviem si stym rady :d

public OnPlayerTakeDamage(playerid, issuerid, Float: amount, weaponid)
{
    new Float:health;
    GetPlayerHealth(playerid,health);
    SetProgressBarValue(zivot, health * 1.5);
    UpdateProgressBar(zivot, playerid);
    
    return 1;
}
Link to comment
Share on other sites

  • 0

Neni to blbosť, stačí porozmýšlať.
Prinajhoršom ti mohlo napadnúť napríklad to, že vytvoríš každému hráčovi premennú, v ktorej uložíš jeho zdravie.
Potom iba vypočítaš rozdiel medzi jeho zdravím v premennej a terajším, vydelíš to tromi, odpočítaš od zdravia v premennej a nastavíš to ako zdravie reálne aj zdravie v premennej.

Link to comment
Share on other sites

  • 0

noo tak to ma napadlo ale nebude tozatazovat server ak budem kazdemu vytvarat podmienku? aa ja som programovanie nikdy nestudoval ani v skole ani nikde :d jedina ak tak tu :d nemohol by si mi s tym pomôct? lebo :

 

vypočítaš rozdiel medzi jeho zdravím v premennej a terajším, vydelíš to tromi, odpočítaš od zdravia v premennej a nastavíš to ako zdravie reálne aj zdravie v premennej.

 

mi uz teraz zamotalo hlavu :d

Link to comment
Share on other sites

  • 0

Ja som to tiež nikdy nikde neštudoval. Celé tie IT školy su blbosť..
1.) Pre každého hráča vytvor premennu Float:Zdravie = 100.000000;
2.) Keď ho postrelia tak daj Zdravie[playerid] - GetPlayerHealth.. - tým zistíš kolko života ubralo.
3.) Nastav hráčove zdravie na jeho premennú Zdravie.
4.) Od hráčovho zdravia odpočítaj bod 2.) / 1.5 napríklad.
5.) Nastav hráčovu premennú Zdravie na jeho zdravie.
Určite sa to dá aj jednoduchšie.
O to, že či to zaťažuje server sa nemusíš starať.

Link to comment
Share on other sites

  • 0

Prostě si vytvoř proměnnou která bude ukazovat tvoje zdraví krát dva třeba pokud dotebe někdo střelí tak  hráčovi přidáš polovinu  z toho co ti ubral a tak  máš dvojnásobné zdravý ...příklad

Link to comment
Share on other sites

  • 0

Pouzij nejaky include kde se bude moct vytvořit progressbar a pak uz jedes:

 

OnPlayerUpdate(playerid)

{

FunkceNastavujciHodnotuProgressBaru(playerid,GetPlayerHealth(playerid)*1.5);

}

Link to comment
Share on other sites

  • 0

blbost.. ved ono vzdy ked sa spusti public OnPlayerUpdate... tak sa zdravie vynasobi 1.5 krat to sa bude zvysovat donekonecna...

toto musi byt podla mna v public OnPlayerTakeDamage... 

skusal som to takto:

public OnPlayerTakeDamage(playerid, issuerid, Float: amount, weaponid)
{
new Float:health;
GetPlayerHealth(playerid,health);
SetPlayerHealth(playerid,health+amount/2);
    return 1;
}

ale to je tiez somarina

Link to comment
Share on other sites

  • 0

Ne nebude.Prečti si ten kod eště jednou a pak piš.

 

Pujde to asi takhle

 

Zdravi ? 100 -> Nastav 100

 

Zdravi ? 100 -> Nastav 100

 

Zdraví ? 83 -> Nastav 83

 

Je to funkce set value ne += value (!)

Link to comment
Share on other sites

  • 0

skusal som to ale to iba zobrazuje to zdravie inac. ja potrebujem aby ten hrac aj vydrzal 1.5 krat viac ako obycajny.. dobre teda dajme pre jednoduchsie ratanie 2 krat viac. cize normalny hrac so 100hp vydrzi napr 5 zasahov s pistole, a hrac s "200HP vydrzi tych zasahov 10 .. chapes co potrebujem? :d

Link to comment
Share on other sites

  • 0

skusal som to ale to iba zobrazuje to zdravie inac. ja potrebujem aby ten hrac aj vydrzal 1.5 krat viac ako obycajny.. dobre teda dajme pre jednoduchsie ratanie 2 krat viac. cize normalny hrac so 100hp vydrzi napr 5 zasahov s pistole, a hrac s "200HP vydrzi tych zasahov 10 .. chapes co potrebujem? :d

 

 

Okej napíšu ti to celý

include: http://forum.sa-mp.com/showthread.php?t=113443

OnPlayerSpawn(playerid)
{
SetPlayerHealth(playerid,200);
new Bar:health = CreateProgressBar(50.0, 300.0, _, _, 0xFF0000FF,100);
SetProgressBarValue(health, GetPlayerHealth(playerid));
ShowProgressBarForPlayer(playerid, health);
}
OnPlayerUpdate(playerid)
{
SetProgressBarValue(playerid, GetPlayerHealth(playerid))

} 

 Snad to bude fungovat ...

Link to comment
Share on other sites

  • 0

ten include pouzivam mna trapilo len aby mal tych HP 200 :d ale dikes funguje to :d tak ono to bolo nakoniec take jednoduche :d a ja som sa tam trapil s nasobenim a neviem cim vsetkym :d Keby som bol vedel na zaciatku ze je mozne nastavit zdravie aj viac nez na 100 tak by som nemal problem :d Ale DAKUJEM ;)

Link to comment
Share on other sites

  • 0

ten include pouzivam mna trapilo len aby mal tych HP 200 :d ale dikes funguje to :d tak ono to bolo nakoniec take jednoduche :d a ja som sa tam trapil s nasobenim a neviem cim vsetkym :d Keby som bol vedel na zaciatku ze je mozne nastavit zdravie aj viac nez na 100 tak by som nemal problem :d Ale DAKUJEM ;)

neni zač :d

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...