Pagrindinis diskusijų puslapis Grand Theft Auto multiplayer Pamokos SA-MP [Includ'as] Progress Bar (copy nzn kaip lt)

[Includ'as] Progress Bar (copy nzn kaip lt)

Pamokos sa-mp modifikacijai. Serverio kūrimo pamokos, skriptai.
Standartinė Kovas 14th, 2010, 10:30 pm
markis95 Vartotojo avataras
Skripteris
Skripteris

Pranešimai: 325
Miestas: Vilnius
Padėkojo: 6 kartus
Gavo padėkų: 13 kartus
Skype: djtarakaska
Mano serveris: 78.56.184.62:7777
Atsiliepimai: 9
Pirmiausia tai jei ne čia tema idejau tai tegu adminai ja perkelia kur reikia.

ĮŽANGA


Aš verčiau šią temą iš sa-mp.com forumo. Ši tema apie tai kaip sukurti naują juosta.
Paveikslėlis
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:

new Bar:health = CreateProgressBar(50.0, 300.0, _, _, 0xFF0000FF, 100.0);
SetProgressBarValue(health, 50.0);
ShowProgressBarForAll(health);

Ir jei norit ja panaikinti:

DestroyProgressBar(health);



PAVIZDYS

Paveikslėlis

č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:
#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]
Paskutinį kartą redagavo markis95 Rugpjūtis 26th, 2010, 12:41 pm. Iš viso redaguota 2 kartus.

Reklama

Gince Vartotojo avataras
Skripteris
Skripteris

Pranešimai: 468
Miestas: Klaipėda
Padėkojo: 0 kartą
Gavo padėkų: 16 kartus
Mano serveris: Neturiu
Atsiliepimai: 9

Gal ir visai nk reikes ant modo pasidaryti vehicle health su situo :)
Paveikslėlis

markis95 Vartotojo avataras
Skripteris
Skripteris

Pranešimai: 325
Miestas: Vilnius
Padėkojo: 6 kartus
Gavo padėkų: 13 kartus
Skype: djtarakaska
Mano serveris: 78.56.184.62:7777
Atsiliepimai: 9

Standartinė Rugpjūtis 26th, 2010, 10:34 am
markis95 Vartotojo avataras
Skripteris
Skripteris

Pranešimai: 325
Miestas: Vilnius
Padėkojo: 6 kartus
Gavo padėkų: 13 kartus
Skype: djtarakaska
Mano serveris: 78.56.184.62:7777
Atsiliepimai: 9

Standartinė Gegužė 19th, 2011, 12:43 pm
JAWA Vartotojo avataras
Skripteris
Skripteris

Pranešimai: 315
Miestas: Naujoji Vilnia
Padėkojo: 5 kartus
Gavo padėkų: 7 kartus
Skype: litovskky
Mano serveris: Angel Pine RPG
Atsiliepimai: 4
Neveikia man. Galit atsiusti .inc ir .pwn faila tiems kuriems veikia Aciu!
Labai reikia mano serveriui

UltraProPlayer Vartotojo avataras
Naujokas
Naujokas

Pranešimai: 16
Padėkojo: 0 kartą
Gavo padėkų: 0 kartą
Skype: ultraproplayer
Atsiliepimai: 0
exp progress ant level visai nk butu

JAWA Vartotojo avataras
Skripteris
Skripteris

Pranešimai: 315
Miestas: Naujoji Vilnia
Padėkojo: 5 kartus
Gavo padėkų: 7 kartus
Skype: litovskky
Mano serveris: Angel Pine RPG
Atsiliepimai: 4
Man tai nedirba jis. Meta errorus.

vvolk Vartotojo avataras
Skripteris
Skripteris

Pranešimai: 357
Miestas: Vilnius-wileika
Padėkojo: 17 kartus
Gavo padėkų: 20 kartus
Skype: hpsboy
Mano serveris: www.las-venturas.lt
Atsiliepimai: 7
E kaip sita suda gauti su .inc failu nes as net nzn kaip ten siustis is to pastebin... :( :( :( duokit normalu linka o ne sita susikta pastebin... :(

Los_Santos Apsipratęs narys
Apsipratęs narys

Pranešimai: 153
Padėkojo: 3 kartus
Gavo padėkų: 0 kartą
Skype: daumis03
Mano serveris: 79.98.31.25:7760
Atsiliepimai: 0
ieini i pastebin viska nukopini atsidarai notepad nupastini issaugoji ir pavadini ji "progress.inc" idedi i include folderi ir savo skripto pradzioi prirasai #include <progress>
fsio naudoji
P.S kaip padaryt su tuo kur video yra kad padarytu ji kaip benza nu kad kai ilipi i masina jis atsiranda ir rodo benza kaip padaryt taip?
o seip aciu :)
mano manymu daugiausei padedantis zmones:
1. Stuneris
2. Theme
3. Svedas
4. cia gali buti tavo vardas
5. cia gali buti tavo vardas

fashisz Vartotojo avataras
Apsipratęs narys
Apsipratęs narys

Pranešimai: 158
Miestas: Vilnius
Padėkojo: 2 kartus
Gavo padėkų: 0 kartą
Skype: fashisz
Mano serveris: Kuriamas...
Atsiliepimai: 2
Aciu, naudinga pamoka :)

Standartinė Rugpjūtis 30th, 2011, 11:09 pm
grazvis200 Apsipratęs narys
Apsipratęs narys

Pranešimai: 122
Padėkojo: 0 kartą
Gavo padėkų: 0 kartą
Skype: grazvis100
Mano serveris: Neturiu
Atsiliepimai: -3
Gera Pamoka



  • Reklama

Grįžti į SA-MP