Peršokti į turinį
  • ŽAIDIMAI
  • , ŽAIDIMAI
  • ŽAIDIMAI

Ši tema yra neaktyvi. Paskutinis pranešimas šioje temoje buvo prieš 4904 dienas (-ų). Patariame sukurti naują temą, o ne rašyti naują pranešimą.

Už neaktyvių temų prikėlimą galite sulaukti įspėjimo ir pranešimo pašalinimo!

Recommended Posts

Įžanga

Naudodami šį include galėsite nesudėtingai užtemdyti/atitemdyti norimo žaidėjo ekraną. Panašaus pobūdžio include jau yra, tačiau šis daug kartų paprastesnis, o kartu ir kokybiškesnis. Šis palaiko visų spalvų užtemdymą bei atitemdymą. Nėra jokių
FadeInit( )
,
FadeExit( )
,
FadePlayerConnect( )
bei
FadePlayerDisconnect( )
.

Kodėl turėčiau jį naudot?

Šiuo metu yra tik du viešai išleisti screen fader'iai.
naudoja tik vieną TextDraw'ą. Šiuo metu jis panašiausias į manąjį, jis taip pat naudoja vieną
TextDraw'ą
. Tačiau jo naudojimas nėra toks paprastas kaip manojo, ekrano užtemdymo/atitemdymo funkcija yra tokia:

FadeColorForPlayer( payerid, RR1, GG1, BB1, AA1, RR2, GG2, BB2, AA2, steps, hold );

manojo:

FadeScreenForPlayer( playerid, mode, color );

Kuri jums atrodo paprastesnė spręskite patys.

naudoja kiekvienam žaidėjui atskirą TextDraw'ą(tai nėra gerai). Tačiau jame vėl yra
Seifader_OnInit( )
,
Seifader_OnExit( )
bei
Seifader_OnPlayerDisconnect( )
.
Seifader_OnInit( )
funkcijoje yra naudojamas ciklas su
MAX_PLAYERS
. Kas jei
MAX_PLAYERS
yra
500
, o žaidėjų serveryje daugiausia
15
-
30
? Taip pat norint išvengt kintamųjų naudojimo laikmatis(timer) nustatomas į nesikartojantį, o pačioje temdymo funkcijoje nustatomas iš naujo. Visą tai stipriai atsiliepia serverio
CPU
sunaudojimui. Taip pat jis neturi tokių funkcijų kaip šis -
FadePlayerPos
,
FadeSkinForPlayer
. Taigi, vartotojui tenka kurti jas pačiam.

Naudojimas

Kodas:

funkcijos

FadeScreenForPlayer( playerid, mode, color = 0x0FF, steps = -1 )

playerid - žaidėjo ID

mode - užtemdymo rėžimas. Jų yra du tipai:

FADE_IN - užtemdyti(po truputį padaryti ekraną juodą)

FADE_OUT - atitemdyti(po truputį padaryti ekraną matomą)

**color - užtemdymo/atitemdymo spalva

**steps - skaičius, kokia reikšme bus mažinamas fsSteps kintamasis

FadePlayerPos( playerid, color = 0x0FF, Float:fsPosX, Float:fsPosY, Float:fsPosZ, Float:fsPosA = -1.0, fsInt = -1, fsVW = -1, steps = -1 )

playerid - žaidėjo ID

**color - užtemdymo/atitemdymo spalva

fsPosX - koordinatė X

fsPosY - koordinatė Y

fsPosZ - koordinatė Z

**fsPosA - pasisukimo laipsniai

**fsInt - interioras

**fsVW - virtual worldas

**steps - skaičius, kokia reikšme bus mažinamas fsSteps kintamasis

FadeSkinForPlayer( playerid, skinID, color = 0x0FF, steps )

playerid - žaidėjo ID

skinID - skino ID

**color - užtemdymo/atitemdymo spalva

**steps - skaičius, kokia reikšme bus mažinamas fsSteps kintamasis

iScreenFader_Kokybe( id );

id - kokybės ID. Galimi du variantai:

FADE_KOKYBE_GERA - gera kokybė, timer'io intervalas yra 20, fsSteps kintamojo mažinimas 4

FADE_KOKYBE_BLOGA - vidutiniška kokybė, timer'io intervalas 100, fsSteps kintamojo mažinimas 20

** - PARAMETRAS NEBŪTINAS!

callbackai

OnFadeComplete( playerid, mode, color )

playerid - žaidėjo ID

mode - užtemdymo rėžimas

color = užtemdyta/atitemdyta spalva

Pavyzdžiai

Kodas:

COMMAND:fade( playerid, params[ ] )

{

FadeScreenForPlayer( playerid, FADE_IN ); // pradedam ekrano temdymą

SendClientMessage( playerid, -1, "iScreenFader 1.0 by InstincT" ); // išsiunčiam pranešimą

return 1;

}

COMMAND:fade_color( playerid, params[ ] )

{

#define SPALVA_RAUDONA 0xFF0000FF

FadeScreenForPlayer( playerid, FADE_IN, SPALVA_RAUDONA ); // pradedam raudonos spalvos ekrano temdymą

SendClientMessage( playerid, -1, "iScreenFader 1.2 by InstincT" ); // išsiunčiam pranešimą

return 1;

}

COMMAND:fadepos( playerid, params[ ] )

{

FadePlayerPos( playerid, 316.524993, -167.706985, 999.593750, _, 6 ); // pradedam ekrano temdymą

SendClientMessage( playerid, -1, "iScreenFader 1.1 by InstincT" ); // išsiunčiam pranešimą

return 1;

}

COMMAND:fadeskin( playerid, params[ ] )

{

FadeSkinForPlayer( playerid, 15 ); // pradedam ekrano temdymą

SendClientMessage( playerid, -1, "iScreenFader 1.1 by InstincT" ); // išsiunčiam pranešimą

return 1;

}

COMMAND:fade_kokybe1( playerid, params[ ] )

{

iScreenFader_Kokybe( FADE_KOKYBE_GERA ); // nustatom užtemdymo/atitemdymo kokybę į gerą

SendClientMessage( playerid, -1, "iScreenFader 1.2 by InstincT" ); // išsiunčiam pranešimą

return 1;

}

COMMAND:fade_kokybe2( playerid, params[ ] )

{

iScreenFader_Kokybe( FADE_KOKYBE_BLOGA ); // nustatom užtemdymo/atitemdymo kokybę į blogą

SendClientMessage( playerid, -1, "iScreenFader 1.2 by InstincT" ); // išsiunčiam pranešimą

return 1;

}

public OnFadeComplete( playerid, mode, color, steps )

{

if( mode == FADE_IN ) // jeigu ekranas buvo užtemdytas

{

FadeScreenForPlayer( playerid, FADE_OUT, color ); // pradedam ekrano atitemdymą

}

return 1;

}

Changelogas

Kodas:

2012m. Birželio 12d. 1.0:

- išleista

2012m. Birželio 13d. 1.1:

- padaryti pranešimai bei vykdymo nutraukimai, kurių dėka bus išvengiamas netaisyklingas funkcijų naudojimas,

- naudojami PlayerTextDraw'ai vietoje globalių TextDraw'ų,

- viskas turėtų veikti dvigubai greičiau, pakeistas timer'io interval'as iš 5 į 10, taip pat kintamasis fsSteps mažinamas dviem vienetais

- naujos funkcijos:

FadePlayerPos, FadePlayerSkin

2012m. Birželio 14d. 1.2:

- pridėta galimybė kontroliuoti spalvas visose funkcijose. Parametras nėra būtinas, spalva pagal nutylėjimą - juoda(0x0FF).

- OnFadeComplete callback'ui pridėtas spalvos parametras

- viskas turėtų veikti dar dvigubai greičiau, pakeistas timer'io intervalas iš 5 į 10, taip pat kintamasis fsSteps mažinamas keturiais vienetais

- funkcijai FadePlayerPos pridėta galimybė užtamsinus ekraną įvykdyti funkciją SetCameraBehindPlayer bei ClearAnimations

- ištaisyta klaida, dėl kurios galėjo neatitemdyti ekrano.

- naujos funkcijos:

iScreenFader_Kokybe - pakeisti užtemdymo/atitemdymo kokybę.

2012m. Birželio 20d. 1.3:

- ištaisyta klaida, dėl kurios panaudojus FadePlayerPos funkciją, o paskui kitą užtemdymo funkciją vėl žaidėjo pozicija buvo nustatoma į prieš tai naudotosios funkcijos FadePlayerPos nustatytą poziciją.

2012m. Birželio 21d. 1.4:

- ištaisyta klaida, dėl kurios pirmą kartą po serverio įjungimo panaudojus ne FadePlayerPos funkciją, galėjo užtamsinus ekraną žaidėjus nukelti į neteisingą poziciją. Tas pats ir su interior'u bei virtual world'u.

2012m. Birželio 23d. 1.5:

- naudojamas vienas vienintelis globalus TextDraw'as, vietoje kiekvienam žaidėjui kuriamo atskirai PlayerTextDraw'o.

2012m. Liepos 5d. 1.6:

- pridėta galimybė visose tamsinimo/atitamsinimo funkcijose kontroliuoti, kokiu skaičiu bus mažinamas fsSteps kintamasis.

- OnFadeComplete callback'ui pridėtas parametras steps, nurodantis kokiu skaičiu žaidėjui buvo mažinamas kintamasis fsSteps.

Parsisiuntimas

iScreenFader 1.0 -

iScreenFader 1.1 -

iScreenFader 1.2 -

iScreenFader 1.3 -

iScreenFader 1.4 -

iScreenFader 1.5 -

iScreenFader 1.6 -

iScreenFader 1.6 -
(redaguota)

Koks tikslas užtemdinėt ekraną su šiuo INC'u kai galima tai padaryti su textdrawais?

tai viskas ir vyksta su textdraw'ais, kad vartotojui būtų patogiau. Visi atsakymai turėtų būti mano gta-online temoje.

EDIT: klaida pavadinime, originali tema pavadinta [iNC]iScreenFader 1.6 by InstincT

Redaguota , nario zgintasz
  • Parašė po 2 savaičių...
  • Parašė po 2 savaičių...

Ši tema yra neaktyvi. Paskutinis pranešimas šioje temoje buvo prieš 4904 dienas (-ų). Patariame sukurti naują temą, o ne rašyti naują pranešimą.

Už neaktyvių temų prikėlimą galite sulaukti įspėjimo ir pranešimo pašalinimo!

Prisijungti prie diskusijos

Palikti atsakymą galite iš karto, o užsiregistruoti vėliau. Jeigu jau turite paskyrą mūsų forume, Prisijunkite.

Svečias
Atsakyti šioje temoje...

×   Įklijuotas tekstas turi teksto formatavimą.   Pašalinti teksto formatavimą

  Galimi tik 75 veidukai.

×   Nuoroda buvo automatiškai įterpta.   Įterpti nuorodą paprastai

×   Jūsų ankstesnis pranešimas buvo atkurtas.   Išvalyti redaktorių

×   Jūs negalite įkelti nuotraukas tiesiogiai.Įkelkite arba įdėkite nuotraukas iš URL.

  • Šiame puslapyje naršo:   0 nariai

    • Nėra registruotų narių peržiūrinčių šį forumą.

Skelbimai


×
×
  • Sukurti naują...