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

TextDraw kūrimas.


bahurastrys

Ši tema yra neaktyvi. Paskutinis pranešimas šioje temoje buvo prieš 3664 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, rašau savo pirmąją pamoką tai ji gali būti kiek nevykus funkcijų aprašymo atžvilgiu biggrin.png Šioje pamokoje išmoksite kurti textdraw kuriuose įrašysim xp, pinigus ir ieškomumo lygį.



Savo modifikacijos viršuje parašykite šiuos kintamuosius kurie mums bus reikalingi kuriant textdraw'us:
new Text:Textdraw0;
new Text:Textdraw1[MAX_PLAYERS];
new Text:Textdraw2[MAX_PLAYERS];
new Text:Textdraw3[MAX_PLAYERS];
new Text:Textdraw4;
new Text:Textdraw5;
new Text:Textdraw6;
new Text:Textdraw7;

Po OnPlayerConnect ir OnGameModeInit callback'ais parašykite šį kodą:
public OnGameModeInit()
{
Textdraw0 = TextDrawCreate(641.199951, 79.153335, "usebox"); // Sukurs TextDraw
TextDrawLetterSize(Textdraw0, 0.000000, 9.472964); // Nustato teksto textdraw dydį
TextDrawTextSize(Textdraw0, 450.000000, 0.000000); // Nustato textdraw dydį
TextDrawAlignment(Textdraw0, 1); // nustato teksto lygiavimą, 1 - kairėje, 2 - centre, 3 - dešinėje
TextDrawColor(Textdraw0, 0); // Nustato textdraw teksto spalvą
TextDrawUseBox(Textdraw0, true); // Nustato textdraw background(fono) naudojimą, true - naudoja, false - nenaudoja
TextDrawBoxColor(Textdraw0, -1061109505); // Nustato fono spalvą
TextDrawSetShadow(Textdraw0, 0); // Nustato šešėlio naudojimą, 0 - nenaudoja, 1 - naudoja
TextDrawSetOutline(Textdraw0, 0); // Nustato rėmelio dydį
TextDrawFont(Textdraw0, 0); // Nustato textdraw šriftą

Textdraw4 = TextDrawCreate(453.600006, 168.000000, "LD_SPAC:white");
TextDrawLetterSize(Textdraw4, 0.000000, 0.000000);
TextDrawTextSize(Textdraw4, 0.799987, -92.586662);
TextDrawAlignment(Textdraw4, 1);
TextDrawColor(Textdraw4, 41215);
TextDrawSetShadow(Textdraw4, 0);
TextDrawSetOutline(Textdraw4, 0);
TextDrawFont(Textdraw4, 4);

Textdraw5 = TextDrawCreate(453.600006, 168.000000, "LD_SPAC:white");
TextDrawLetterSize(Textdraw5, 0.000000, 0.000000);
TextDrawTextSize(Textdraw5, 186.399993, 0.746673);
TextDrawAlignment(Textdraw5, 1);
TextDrawColor(Textdraw5, 41215);
TextDrawSetShadow(Textdraw5, 0);
TextDrawSetOutline(Textdraw5, 0);
TextDrawFont(Textdraw5, 4);

Textdraw6 = TextDrawCreate(453.600006, 76.160003, "LD_SPAC:white");
TextDrawLetterSize(Textdraw6, 0.000000, 0.000000);
TextDrawTextSize(Textdraw6, 184.800018, 0.746665);
TextDrawAlignment(Textdraw6, 1);
TextDrawColor(Textdraw6, 41215);
TextDrawSetShadow(Textdraw6, 0);
TextDrawSetOutline(Textdraw6, 0);
TextDrawFont(Textdraw6, 4);

Textdraw7 = TextDrawCreate(637.599975, 168.000000, "LD_SPAC:white");
TextDrawLetterSize(Textdraw7, 0.000000, 0.000000);
TextDrawTextSize(Textdraw7, -0.799987, -91.093330);
TextDrawAlignment(Textdraw7, 1);
TextDrawColor(Textdraw7, 41215);
TextDrawSetShadow(Textdraw7, 0);
TextDrawSetOutline(Textdraw7, 0);
TextDrawFont(Textdraw7, 4);
return 1;
}
public OnPlayerConnect(playerid)
{
new Pinigai[21]; // Sukuriam kintamajį
format(Pinigai, sizeof(Pinigai), "Pinigai: %d", GetPlayerMoney(playerid)); // Išgaunam lentelėje pinigus
Textdraw1[playerid] = TextDrawCreate(456.331542, 89.600013, Pinigai);
TextDrawLetterSize(Textdraw1[playerid], 0.503600, 1.435732);
TextDrawAlignment(Textdraw1[playerid], 1);
TextDrawColor(Textdraw1[playerid], 41215);
TextDrawSetShadow(Textdraw1[playerid], 2);
TextDrawSetOutline(Textdraw1[playerid], 0);
TextDrawBackgroundColor(Textdraw1[playerid], 51); // Nustato rėmelio spalvą
TextDrawFont(Textdraw1[playerid], 1);
TextDrawSetProportional(Textdraw1[playerid], 1); // Nustato simbolių proparcingumą

new Patirtis[21];
format(Patirtis, sizeof(Patirtis), "Patirtis: %d", GetPlayerScore(playerid));
Textdraw2[playerid] = TextDrawCreate(455.999969, 110.506683, Patirtis);
TextDrawLetterSize(Textdraw2[playerid], 0.448399, 1.465599);
TextDrawAlignment(Textdraw2[playerid], 1);
TextDrawColor(Textdraw2[playerid], 41215);
TextDrawSetShadow(Textdraw2[playerid], 2);
TextDrawSetOutline(Textdraw2[playerid], 0);
TextDrawBackgroundColor(Textdraw2[playerid], 51);
TextDrawFont(Textdraw2[playerid], 1);
TextDrawSetProportional(Textdraw2[playerid], 1);

new Ieskomumas[21];
format(Ieskomumas, sizeof(Ieskomumas), "Ieskomumas: %d", GetPlayerWantedLevel(playerid));
Textdraw3[playerid] = TextDrawCreate(456.000061, 130.666625, Ieskomumas);
TextDrawLetterSize(Textdraw3[playerid], 0.417199, 1.562666);
TextDrawAlignment(Textdraw3[playerid], 1);
TextDrawColor(Textdraw3[playerid], 41215);
TextDrawSetShadow(Textdraw3[playerid], 2);
TextDrawSetOutline(Textdraw3[playerid], 0);
TextDrawBackgroundColor(Textdraw3[playerid], 51);
TextDrawFont(Textdraw3[playerid], 1);
TextDrawSetProportional(Textdraw3[playerid], 1);
return 1;
}

Su OnPlayerConnect ir OnGameModeInit callback'ais baigėm, dabar susiraskite OnPlayerSpawn callback ir rašykite:
TextDrawShowForPlayer(playerid, Textdraw0); // Vos tik atsispawninus žaidėjui jam pradės rodyti lentelę
TextDrawShowForPlayer(playerid, Textdraw1[playerid]);
TextDrawShowForPlayer(playerid, Textdraw2[playerid]);
TextDrawShowForPlayer(playerid, Textdraw3[playerid]);
TextDrawShowForPlayer(playerid, Textdraw4);
TextDrawShowForPlayer(playerid, Textdraw5);
TextDrawShowForPlayer(playerid, Textdraw6);
TextDrawShowForPlayer(playerid, Textdraw7);
SetTimerEx("Lentele", 200, true, "e", playerid); // Sukuriam timer'į kuris atnaujins lentelę

Ir galiausiai gale rašome:
forward Lentele(playerid);
public Lentele(playerid)
{
new score[21]; // Sukuriam kintamajį kuris formatuos tekstą
format(score, sizeof(score), "Patirtis: %d",GetPlayerScore(playerid)); // formatuojam tekstą
TextDrawSetString(Textdraw2[playerid], score); // Nustato textdraw teksto reikšmę
format(score, sizeof(score), "Ieskomumas: %d",GetPlayerWantedLevel(playerid));
TextDrawSetString(Textdraw3[playerid], score);
format(score, sizeof(score), "Pinigai: %d",GetPlayerMoney(playerid));
TextDrawSetString(Textdraw1[playerid], score);
}

Pamoka baigta! biggrin.png Textdraw gausis jums paprastas ir negražus akiai, nes jis buvo kurtas tik mokymosi tikslams, o ne naudojimo, pagal šią pamoką galėsite susikurti sau norimą lentelę kuri kažką išgaus, šiuo atveju xp, pinigus ir ieškomumo lygį.

 

Negailėkit +rep jei tik patiko :)

Nuoroda į komentarą
Dalintis per kitą puslapį

Sutvarkius viską gal ir gerai būtų. Išskirk kur tavo žodžiai o kur kodas, ir kiek galima visur paaiškink kas ką daro, nes naudos nulis jei tu duodi cielą kodą kurio niekas net neskaitys...

Redaguota , nario sakiras
Nuoroda į komentarą
Dalintis per kitą puslapį

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