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

Negalima prašyti ar platinti betkokių žaidimą (multiplayer) palengvinančių programų ir scriptų! Kitaip bus taikoma 1.21. taisyklė

Ši tema yra neaktyvi. Paskutinis pranešimas šioje temoje buvo prieš 2448 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

Sveiki, duodu jums šį paprastą spidometrą. Rodo tiksliai būklę ir greitį.

d9d57f476b813f90df01775b4613114e224.png

Įsidedate šituos: (Šituos manau visi žinosit kur įsidėt)

new Text:Textdraw0[MAX_PLAYERS];
new Text:Textdraw1[MAX_PLAYERS];
new Text:Textdraw2[MAX_PLAYERS];
new Text:Textdraw3[MAX_PLAYERS];
new Text:Textdraw4[MAX_PLAYERS];
new Text:Textdraw5[MAX_PLAYERS];
new Text:Textdraw7[MAX_PLAYERS];
new Text:Textdraw8[MAX_PLAYERS];

Poto po public OnPlayerConnect(playerid) //Įsidedat
{

Textdraw0[playerid] = TextDrawCreate(637.500000, 380.375000, "usebox");
	TextDrawLetterSize(Textdraw0[playerid], 0.000000, 3.474999);
	TextDrawTextSize(Textdraw0[playerid], 480.500000, 0.000000);
	TextDrawAlignment(Textdraw0[playerid], 1);
	TextDrawColor(Textdraw0[playerid], 0);
	TextDrawUseBox(Textdraw0[playerid], true);
	TextDrawBoxColor(Textdraw0[playerid], 102);
	TextDrawSetShadow(Textdraw0[playerid], 0);
	TextDrawSetOutline(Textdraw0[playerid], 0);
	TextDrawFont(Textdraw0[playerid], 0);

	Textdraw1[playerid] = TextDrawCreate(484.000000, 380.187500, "LD_SPAC:white");
	TextDrawLetterSize(Textdraw1[playerid], 0.000000, 0.000000);
	TextDrawTextSize(Textdraw1[playerid], 150.000000, 31.937500);
	TextDrawAlignment(Textdraw1[playerid], 1);
	TextDrawColor(Textdraw1[playerid], 255);
	TextDrawSetShadow(Textdraw1[playerid], 0);
	TextDrawSetOutline(Textdraw1[playerid], 0);
	TextDrawFont(Textdraw1[playerid], 4);

	Textdraw2[playerid] = TextDrawCreate(487.500000, 380.187500, "BUKLE:");
	TextDrawLetterSize(Textdraw2[playerid], 0.449999, 1.600000);
	TextDrawAlignment(Textdraw2[playerid], 1);
	TextDrawColor(Textdraw2[playerid], -1061109505);
	TextDrawSetShadow(Textdraw2[playerid], 0);
	TextDrawSetOutline(Textdraw2[playerid], 0);
	TextDrawBackgroundColor(Textdraw2[playerid], 51);
	TextDrawFont(Textdraw2[playerid], 2);
	TextDrawSetProportional(Textdraw2[playerid], 1);

	Textdraw3[playerid] = TextDrawCreate(487.500000, 394.187500, "GREITIS:");
	TextDrawLetterSize(Textdraw3[playerid], 0.449999, 1.600000);
	TextDrawAlignment(Textdraw3[playerid], 1);
	TextDrawColor(Textdraw3[playerid], -1061109505);
	TextDrawSetShadow(Textdraw3[playerid], 0);
	TextDrawSetOutline(Textdraw3[playerid], 1);
	TextDrawBackgroundColor(Textdraw3[playerid], 51);
	TextDrawFont(Textdraw3[playerid], 2);
	TextDrawSetProportional(Textdraw3[playerid], 1);

	Textdraw4[playerid] = TextDrawCreate(555.000000, 380.187500, "1000");
	TextDrawLetterSize(Textdraw4[playerid], 0.449999, 1.600000);
	TextDrawAlignment(Textdraw4[playerid], 1);
	TextDrawColor(Textdraw4[playerid], 41215);
	TextDrawSetShadow(Textdraw4[playerid], 0);
	TextDrawSetOutline(Textdraw4[playerid], 1);
	TextDrawBackgroundColor(Textdraw4[playerid], 51);
	TextDrawFont(Textdraw4[playerid], 2);
	TextDrawSetProportional(Textdraw4[playerid], 1);

	Textdraw5[playerid] = TextDrawCreate(566.500000, 394.187500, "100");
	TextDrawLetterSize(Textdraw5[playerid], 0.449999, 1.600000);
	TextDrawAlignment(Textdraw5[playerid], 1);
	TextDrawColor(Textdraw5[playerid], 0xFF0000FF);
	TextDrawSetShadow(Textdraw5[playerid], 0);
	TextDrawSetOutline(Textdraw5[playerid], 1);
	TextDrawBackgroundColor(Textdraw5[playerid], 51);
	TextDrawFont(Textdraw5[playerid], 2);
	TextDrawSetProportional(Textdraw5[playerid], 1);

	Textdraw7[playerid] = TextDrawCreate(536.500000, 371.000000, ".");
	TextDrawLetterSize(Textdraw7[playerid], 0.449999, 1.600000);
	TextDrawAlignment(Textdraw7[playerid], 1);
	TextDrawColor(Textdraw7[playerid], -1);
	TextDrawSetShadow(Textdraw7[playerid], 0);
	TextDrawSetOutline(Textdraw7[playerid], 1);
	TextDrawBackgroundColor(Textdraw7[playerid], 51);
	TextDrawFont(Textdraw7[playerid], 2);
	TextDrawSetProportional(Textdraw7[playerid], 1);

	Textdraw8[playerid] = TextDrawCreate(500.500000, 372.750000, ".");
	TextDrawLetterSize(Textdraw8[playerid], 1.351998, 1.389999);
	TextDrawAlignment(Textdraw8[playerid], 1);
	TextDrawColor(Textdraw8[playerid], -1);
	TextDrawSetShadow(Textdraw8[playerid], 0);
	TextDrawSetOutline(Textdraw8[playerid], -1);
	TextDrawBackgroundColor(Textdraw8[playerid], 51);
	TextDrawFont(Textdraw8[playerid], 2);
	TextDrawSetProportional(Textdraw8[playerid], 1);

Tada:

public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)// Įsidedat šituos
{
    TextDrawShowForPlayer(playerid, Textdraw0[playerid]);
	TextDrawShowForPlayer(playerid, Textdraw1[playerid]);
	TextDrawShowForPlayer(playerid, Textdraw2[playerid]);
	TextDrawShowForPlayer(playerid, Textdraw3[playerid]);
	TextDrawShowForPlayer(playerid, Textdraw4[playerid]);
	TextDrawShowForPlayer(playerid, Textdraw5[playerid]);
	TextDrawShowForPlayer(playerid, Textdraw7[playerid]);
	TextDrawShowForPlayer(playerid, Textdraw8[playerid]);

	return 1;
}
public OnPlayerExitVehicle(playerid, vehicleid)// Įsidedat šituos
{
    TextDrawHideForPlayer(playerid, Textdraw0[playerid]);
	TextDrawHideForPlayer(playerid, Textdraw1[playerid]);
	TextDrawHideForPlayer(playerid, Textdraw2[playerid]);
	TextDrawHideForPlayer(playerid, Textdraw3[playerid]);
	TextDrawHideForPlayer(playerid, Textdraw4[playerid]);
	TextDrawHideForPlayer(playerid, Textdraw5[playerid]);
	TextDrawHideForPlayer(playerid, Textdraw7[playerid]);
	TextDrawHideForPlayer(playerid, Textdraw8[playerid]);

	return 1;
}

Tada susirandat OnPlayerUpdate:

public OnPlayerUpdate(playerid)
{
    new getInfo[50], Float:bukle;
	format(getInfo, 50, "%i", GetPlayerSpeed(playerid));
  	TextDrawSetString(Textdraw5[playerid], getInfo);
  	GetVehicleHealth(GetPlayerVehicleID(playerid), bukle);
  	format(getInfo, 50, "%.0f", bukle/1);
  	TextDrawSetString (Textdraw4[playerid], getInfo);
	return 1;
}

Ir įsidedat šį stock'ą kurs nors modifikacijos apačioje:

stock GetPlayerSpeed(playerid)
{
    new Float:ST[4];
    if(IsPlayerInAnyVehicle(playerid))
    GetVehicleVelocity(GetPlayerVehicleID(playerid),ST[0],ST[1],ST[2]);
    else GetPlayerVelocity(playerid,ST[0],ST[1],ST[2]);
    ST[3] = floatsqroot(floatpower(floatabs(ST[0]), 2.0) + floatpower(floatabs(ST[1]), 2.0) + floatpower(floatabs(ST[2]), 2.0)) * 179.28625;
    return floatround(ST[3]);
}

Štai ir viskas, jeigu patiko paspausk +REP

 

 

 

ⒶⓁⒼⒺⓁⒾⓈ

  • ,
(redaguota)
11 minutes prieš, MistakaS ♛ parašė:

Naujokam tikrai pravers paprastas labai lengvas skriptas :) sėkmės kituose kūrimuose.

naujokam pravers? iskarto mokot zmones tokio low quality kodo?

 

6 minutes prieš, Ponas_Algelis parašė:

ir kodėl gi jau?

tai jo, labiau naujokams čia, Ačiū ;)

new Text:Textdraw0[MAX_PLAYERS];
new Text:Textdraw1[MAX_PLAYERS];
new Text:Textdraw2[MAX_PLAYERS];
new Text:Textdraw3[MAX_PLAYERS];
new Text:Textdraw4[MAX_PLAYERS];
new Text:Textdraw5[MAX_PLAYERS];
new Text:Textdraw7[MAX_PLAYERS];
new Text:Textdraw8[MAX_PLAYERS];

// vietoj tiek nauju kintamuju galima kurti masyvo tipo kintamaji, + Player textdraw yra tokia funkcija, kuri kuria tik playeriui textdrawus

new Text:Textdraw[7],
	PlayerText:PlayerTextdraw[2];

Tad textdrawu sukurimas atrodytu taip

Textdraw[...] = TextDrawCreate(); // global
PlayerTextdraw[...] = CreatePlayerTextDraw(); // playeriui

onplayernetervehicle? juk tai rodys bet kuriam zaidejui + net neilipus i pacia masina, o tik nuspaudus enter, efektyviau yra tikrinti

public OnPlayerStateChange(playerid, newstate, oldstate)
{
    if(oldstate == PLAYER_STATE_ONFOOT && newstate == PLAYER_STATE_DRIVER)
	{
		// ir galima juos parodyti per cikla zaidejui :))
		for(new i = 0; i < 7; i++)
        	TextDrawShowForPlayer(playerid, Textdraw[i]);
        for(new y = 0; y < 2; y++)
 			PlayerTextDrawShow(playerid, PlayerText[i]);
	}

	if(oldstate == PLAYER_STATE_DRIVER && newstate == PLAYER_STATE_ONFOOT)
	{
		// ir galima juos parodyti per cikla zaidejui :))
		for(new i = 0; i < 7; i++)
        	TextDrawHideForPlayer(playerid, Textdraw[i]);
        for(new y = 0; y < 2; y++)
 			PlayerTextDrawHide(playerid, PlayerText[i]);
	}
	return 1;
}

on player update? wat? tai kai zmogus visada paspaus mygtuka bet koki, kuris iskviecia si callbacka, si funkcija ir veiks, reiktu naudoti timeri

 

i tema, baisus kodas, baisi sistema "naujokams" niekam nesiulau tokio darbo naudot ir cia tik keletas klaidu, nekalbu apie kitas optimizacijas

Redaguota , nario intrigantas


 

(redaguota)
31 minutes prieš, bruh parašė:

Nesidalink naujokams kai pats esi naujokas.

kas sakė kad naujokas?

Prieš 1 valandą, intrigantas parašė:

naujokam pravers? iskarto mokot zmones tokio low quality kodo?

 


new Text:Textdraw0[MAX_PLAYERS];
new Text:Textdraw1[MAX_PLAYERS];
new Text:Textdraw2[MAX_PLAYERS];
new Text:Textdraw3[MAX_PLAYERS];
new Text:Textdraw4[MAX_PLAYERS];
new Text:Textdraw5[MAX_PLAYERS];
new Text:Textdraw7[MAX_PLAYERS];
new Text:Textdraw8[MAX_PLAYERS];

// vietoj tiek nauju kintamuju galima kurti masyvo tipo kintamaji, + Player textdraw yra tokia funkcija, kuri kuria tik playeriui textdrawus

new Text:Textdraw[7],
	PlayerText:PlayerTextdraw[2];

Tad textdrawu sukurimas atrodytu taip


Textdraw[...] = TextDrawCreate(); // global
PlayerTextdraw[...] = CreatePlayerTextDraw(); // playeriui

onplayernetervehicle? juk tai rodys bet kuriam zaidejui + net neilipus i pacia masina, o tik nuspaudus enter, efektyviau yra tikrinti


public OnPlayerStateChange(playerid, newstate, oldstate)
{
    if(oldstate == PLAYER_STATE_ONFOOT && newstate == PLAYER_STATE_DRIVER)
	{
		// ir galima juos parodyti per cikla zaidejui :))
		for(new i = 0; i < 7; i++)
        	TextDrawShowForPlayer(playerid, Textdraw[i]);
        for(new y = 0; y < 2; y++)
 			PlayerTextDrawShow(playerid, PlayerText[i]);
	}

	if(oldstate == PLAYER_STATE_DRIVER && newstate == PLAYER_STATE_ONFOOT)
	{
		// ir galima juos parodyti per cikla zaidejui :))
		for(new i = 0; i < 7; i++)
        	TextDrawHideForPlayer(playerid, Textdraw[i]);
        for(new y = 0; y < 2; y++)
 			PlayerTextDrawHide(playerid, PlayerText[i]);
	}
	return 1;
}

on player update? wat? tai kai zmogus visada paspaus mygtuka bet koki, kuris iskviecia si callbacka, si funkcija ir veiks, reiktu naudoti timeri

 

i tema, baisus kodas, baisi sistema "naujokams" niekam nesiulau tokio darbo naudot ir cia tik keletas klaidu, nekalbu apie kitas optimizacijas

Ačiū kad įvardijai mano klaidas ir pataisei kodą,

Dar prie:

public OnPlayerDeath(playerid, killerid, reason)
{

Pridėjau:
    for(new i = 0; i < 9; i++)
       TextDrawHideForPlayer(playerid, Textdraw);

Nes kai sprogsti su mašina ir tą spidometrą toliau rodo, tai dabar neberodo kai pridėjau šitą

prieš 1 valandą, L0cal parašė:

ne tai, bet sis ciuvas sunaudojo daugiau txd, nei reikia.

3 txd buvo galima sunaudoti siai nesamonei :D

tai sukurk toki pati su 3 txd

Redaguota , nario Ponas_Algelis

 

 

 

ⒶⓁⒼⒺⓁⒾⓈ

Prieš 1 valandą, Ponas_Algelis parašė:

kas sakė kad naujokas?

Ačiū kad įvardijai mano klaidas ir pataisei kodą,

Dar prie:

public OnPlayerDeath(playerid, killerid, reason)
{

Pridėjau:
    for(new i = 0; i < 9; i++)
       TextDrawHideForPlayer(playerid, Textdraw);

Nes kai sprogsti su mašina ir tą spidometrą toliau rodo, tai dabar neberodo kai pridėjau šitą

tai sukurk toki pati su 3 txd

Bloga mintis dėti tarp OnPlayerDeath. Logiskiau būtų dėti tarp OnPlayerStateChange kai oldstate == PLAYER_STATE_DRIVER kadangi žaidėjas gali mirti mašinoje (state irgi pasikeis), būti atkeliamas adminų ir panašiai.

logo.png

(redaguota)
Prieš 1 valandą, Ponas_Algelis parašė:

kas sakė kad naujokas?

Ačiū kad įvardijai mano klaidas ir pataisei kodą,

Dar prie:

public OnPlayerDeath(playerid, killerid, reason)
{

Pridėjau:
    for(new i = 0; i < 9; i++)
       TextDrawHideForPlayer(playerid, Textdraw);

Nes kai sprogsti su mašina ir tą spidometrą toliau rodo, tai dabar neberodo kai pridėjau šitą

tai sukurk toki pati su 3 txd

http://prntscr.com/l2qeig

Citata

new Text:netikelis_g[1];

netikelis_g[0] = TextDrawCreate(527.333312, 412.340698, "box");
TextDrawLetterSize(netikelis_g[0], -0.000761, 2.221969);
TextDrawTextSize(netikelis_g[0], 621.000000, 0.000000);
TextDrawAlignment(netikelis_g[0], 1);
TextDrawColor(netikelis_g[0], -1);
TextDrawUseBox(netikelis_g[0], 1);
TextDrawBoxColor(netikelis_g[0], 303174399);
TextDrawSetShadow(netikelis_g[0], 0);
TextDrawBackgroundColor(netikelis_g[0], 255);
TextDrawFont(netikelis_g[0], 1);
TextDrawSetProportional(netikelis_g[0], 1);

//Player TextDraws: 


new PlayerText:netikelis_p[MAX_PLAYERS][2];

netikelis_p[playerid][0] = CreatePlayerTextDraw(playerid, 529.238037, 412.018493, "BUKLE: ~r~1000.0");
PlayerTextDrawLetterSize(playerid, netikelis_p[playerid][0], 0.196190, 1.087999);
PlayerTextDrawAlignment(playerid, netikelis_p[playerid][0], 1);
PlayerTextDrawColor(playerid, netikelis_p[playerid][0], -1);
PlayerTextDrawSetShadow(playerid, netikelis_p[playerid][0], 1);
PlayerTextDrawBackgroundColor(playerid, netikelis_p[playerid][0], 255);
PlayerTextDrawFont(playerid, netikelis_p[playerid][0], 1);
PlayerTextDrawSetProportional(playerid, netikelis_p[playerid][0], 1);

netikelis_p[playerid][1] = CreatePlayerTextDraw(playerid, 529.238037, 420.919036, "GREITIS: ~y~255");
PlayerTextDrawLetterSize(playerid, netikelis_p[playerid][1], 0.196190, 1.087999);
PlayerTextDrawAlignment(playerid, netikelis_p[playerid][1], 1);
PlayerTextDrawColor(playerid, netikelis_p[playerid][1], -1);
PlayerTextDrawSetShadow(playerid, netikelis_p[playerid][1], 1);
PlayerTextDrawBackgroundColor(playerid, netikelis_p[playerid][1], 255);
PlayerTextDrawFont(playerid, netikelis_p[playerid][1], 1);
PlayerTextDrawSetProportional(playerid, netikelis_p[playerid][1], 1);

I sveikata.

Gali kad ir 2 txd sunaudot, nenaudok netikelis_p[p][1] ir tiek, persikeli i 0 ir ramus buk.

Citata

new PlayerText:netikelis_p[MAX_PLAYERS];

netikelis_p[playerid] = CreatePlayerTextDraw(playerid, 529.238037, 412.018493, "BUKLE: ~r~1000.0~n~GREITIS: ~y~255");
PlayerTextDrawLetterSize(playerid, netikelis_p[playerid], 0.196190, 1.087999);
PlayerTextDrawAlignment(playerid, netikelis_p[playerid], 1);
PlayerTextDrawColor(playerid, netikelis_p[playerid], -1);
PlayerTextDrawSetShadow(playerid, netikelis_p[playerid], 1);
PlayerTextDrawBackgroundColor(playerid, netikelis_p[playerid, 255);
PlayerTextDrawFont(playerid, netikelis_p[playerid], 1);
PlayerTextDrawSetProportional(playerid, netikelis_p[playerid], 1);

 

Redaguota , nario L0cal
2018-10-05 23:42, intrigantas parašė:

naujokam pravers? iskarto mokot zmones tokio low quality kodo?

 


new Text:Textdraw0[MAX_PLAYERS];
new Text:Textdraw1[MAX_PLAYERS];
new Text:Textdraw2[MAX_PLAYERS];
new Text:Textdraw3[MAX_PLAYERS];
new Text:Textdraw4[MAX_PLAYERS];
new Text:Textdraw5[MAX_PLAYERS];
new Text:Textdraw7[MAX_PLAYERS];
new Text:Textdraw8[MAX_PLAYERS];

// vietoj tiek nauju kintamuju galima kurti masyvo tipo kintamaji, + Player textdraw yra tokia funkcija, kuri kuria tik playeriui textdrawus

new Text:Textdraw[7],
	PlayerText:PlayerTextdraw[2];

Tad textdrawu sukurimas atrodytu taip


Textdraw[...] = TextDrawCreate(); // global
PlayerTextdraw[...] = CreatePlayerTextDraw(); // playeriui

onplayernetervehicle? juk tai rodys bet kuriam zaidejui + net neilipus i pacia masina, o tik nuspaudus enter, efektyviau yra tikrinti


public OnPlayerStateChange(playerid, newstate, oldstate)
{
    if(oldstate == PLAYER_STATE_ONFOOT && newstate == PLAYER_STATE_DRIVER)
	{
		// ir galima juos parodyti per cikla zaidejui :))
		for(new i = 0; i < 7; i++)
        	TextDrawShowForPlayer(playerid, Textdraw[i]);
        for(new y = 0; y < 2; y++)
 			PlayerTextDrawShow(playerid, PlayerText[i]);
	}

	if(oldstate == PLAYER_STATE_DRIVER && newstate == PLAYER_STATE_ONFOOT)
	{
		// ir galima juos parodyti per cikla zaidejui :))
		for(new i = 0; i < 7; i++)
        	TextDrawHideForPlayer(playerid, Textdraw[i]);
        for(new y = 0; y < 2; y++)
 			PlayerTextDrawHide(playerid, PlayerText[i]);
	}
	return 1;
}

on player update? wat? tai kai zmogus visada paspaus mygtuka bet koki, kuris iskviecia si callbacka, si funkcija ir veiks, reiktu naudoti timeri

 

i tema, baisus kodas, baisi sistema "naujokams" niekam nesiulau tokio darbo naudot ir cia tik keletas klaidu, nekalbu apie kitas optimizacijas

tai sukurk tu man toki taimeri

 

 

 

ⒶⓁⒼⒺⓁⒾⓈ

  • Parašė po 3 savaičių...

Ši tema yra neaktyvi. Paskutinis pranešimas šioje temoje buvo prieš 2448 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ą...