ĮŽANGA
Aš verčiau šią temą iš sa-mp.com forumo. Ši tema apie tai kaip sukurti naują juosta.

Taigi pradedam.
FUNKCIJOS
* CreateProgressBar(x, y, width, height, color, max)
Sukuria juosta (Panašiai kaip TextDrawCreate).
o x ir y nustato vietą ekrane, kur atsiras papildoma juostele;
o width(plotis) ir height(aukštis) tai juosteles dydis (jei norit kad butu tokia kaip visos,
rašykit _ vietoj skaišiu. Pvz.: 50);
o color juosteles spalva;
o max didžiausias skaičius kuris gali būt kai juostele yra pilna (pagrindinis 100).
* DestroyProgressBar(barid)
Sunaikina visas sukurtas (tavo) juosteles.
* ShowProgressBarForPlayer(playerid, barid)
Parodo jūsų juostelę žaidėjui.
* HideProgressBarForPlayer(playerid, barid)
Paslepia jūsų juostelę nuo žaidėjo.
* ShowProgressBarForAll(barid)
Parodo jūsų juostelę visiems žaidėjams.
* HideProgressBarForAll(barid)
Paslepia jūsų juostelę nuo visų.
* SetProgressBarValue(barid, value)
Pakeičia dabartinį procesą atsižvelgiant į jūsų juostelę. Nepamirškite, kad maksimali vertė yra vertė, kurią jums davė CreateProgressBar. (Didžiausias skaičius kai juostelė pilna)
* GetProgressBarValue(barid)
Gauna tam tikra vertę iš tam tikros juostelės.
* SetProgressBarMaxValue(barid, max)
Nustato tam tikros juostelės tam tikrą vertę (koks didziasusias skačius gali būt kai ji pilna).
Pastaba: Gryžta prie INVALID_BAR_VALUE jei juostelė neegzistuoja arba kažkas blogai.
* SetProgressBarColor(barid, color)
Nustato spalvą į tokią kokios jums reikia. Dabartinis includ'as nepalaiko visiškų spalvų, todėl atsargiai naudokite AA ar 00 spalvas. Jei norite kad spalva būtų visiškai skaidri naudokite FF gale spalvos kodo. Pvz.: 0x00FF00FF
Kiekvieną kartą kai naudojate šią funkcija privalote naudoti "UpdateProgressBar" funkcija, žiūrėti žemiau..
* UpdateProgressBar(barid, playerid=INVALID_PLAYER_ID)
Kiekvieną kartą kai keičiate juostelės vertę ar spalvą, reikės atnaujinti šita. Aš dar neidėjau ėitos funkcijos į SetProgressBarValue / SetProgressBarColor, nes tai neveiksminga tais keliais.
Galima ir nenaudoti payerid funkcijos ir jūsų juostelė bus atnaujinta visiems
NAUDOJIMAS
Paprastos juosteles sukūrimas:
Kodas: Pasirinkti visus
new Bar:health = CreateProgressBar(50.0, 300.0, _, _, 0xFF0000FF, 100.0);
SetProgressBarValue(health, 50.0);
ShowProgressBarForAll(health);Ir jei norit ja panaikinti:
Kodas: Pasirinkti visus
DestroyProgressBar(health);PAVIZDYS

čia sukūrta juostelę kuri rodo automobilio givybes.
šiai juostelei naudojau šį dydį (55.5, 3.2).
Fono spalva (Tamsiai þalia), nereikia jos įvesti, tai pasidaro automatiškai naudojant RGBA operacijas.
Pavizdinis scriptas:
Kodas: Pasirinkti visus
#include <a_samp>
#include <progress>
new Bar:vhealth[MAX_PLAYERS] = {INVALID_BAR_ID, ...};
forward ProgressBar();
public OnFilterScriptInit()
{
SetTimer("ProgressBar", 500, 1);
return 1;
}
public ProgressBar() //As nenoriu naudoti OnPlayerUpdate su textdrawais
{
for(new playerid; playerid < MAX_PLAYERS; playerid++) //I recommend foreach(Player, playerid)
{
new vehicleid;
if((vehicleid = GetPlayerVehicleID(playerid)) && vhealth[playerid] != INVALID_BAR_ID)
{
new Float:health;
GetVehicleHealth(vehicleid, health);
SetProgressBarValue(vhealth[playerid], health);
UpdateProgressBar(vhealth[playerid], playerid);
}
}
}
public OnPlayerStateChange(playerid, newstate, oldstate)
{
if(oldstate == PLAYER_STATE_DRIVER)
{
DestroyProgressBar(vhealth[playerid]);
vhealth[playerid] = INVALID_BAR_ID;
}
if(newstate == PLAYER_STATE_DRIVER)
{
vhealth[playerid] = CreateProgressBar(548.5, 36.0, _, _, 0x00FF00FF, 1000.0);
ShowProgressBarForPlayer(playerid, vhealth[playerid]);
}
return 1;
}
PARSISIUSNTIMAS
pastebin
Nukopijuokite visa scripta i notepad (ar kita tekstu rengykle) ir issaugokyte kaip "progress.inc", ir idekit i pawn/includes folderi. Naudokite "#include <progress>" game mode arba filterscipte.
KUREJO ATEITIES PLANAI
* Naudoti SetProperty ir GetProperty kad butu galima valdyti juosta per kitur.
Pavyzdziui sukurta jeuostele istrinti per filterscripta. [SIEKIAMA]
* Prideti i pamoka kad reikia naudoti tik svarias spalvas. [IVYGDYTA]
* Sukurti juostelës ir dydzio kurimo programa. [SIEKIAMA]
A T N A U J I N T A
Cia kaskart duosiu pavyzdziu ir skirtingu dydziu juosteliu. Todel jei reikes rasykit pasistengsiu idet.
Tiesiog rasydami:
CreateProgressBar(x, y, width, height, color, max)
Vietoj x, y, width ir height duosiu koordinates ir dydzius.
Pavyzdys:
220.0, 350.0, 200.0, 30.0
http://img96.imageshack.us/img96/9646/samp147a.png
Pavyzdys Nr.1 :
50.0 435.0 540.0 2.0
http://img339.imageshack.us/img339/7272/samp148j.png
N A U J A U S I A
Prisiminiau kad yra toks dalykas ir nusprendziau paziureti ar nera atnaujinimu. Taigi va:
Parsisiusti v.1.3.1
Naujas Kurejas.
http://toribio.pastebin.com/b3jwyn0z
VIDEO
Youtube rašė:
[youtube]u1UMYAbMyS0[/youtube]











