Sziasztok!
Itt egy textdraw, mindig összebugol, és több szám lesz ott és nem látni a rendes számot, miért van ez?
for(new i = 0; i < MAX_PLAYERS; i++)
{
Health = TextDrawCreate(510.000000, 435.000000, \"%s\");
TextDrawBackgroundColor(Health, 255);
TextDrawFont(Health, 3);
TextDrawLetterSize(Health, 0.419999, 1.099999);
TextDrawColor(Health, 0xFFFFFFFF);
TextDrawSetOutline(Health, 1);
TextDrawSetProportional(Health, 1);
Armour = TextDrawCreate(611.000000, 435.000000, \"%s\");
TextDrawBackgroundColor(Armour, 255);
TextDrawFont(Armour, 3);
TextDrawLetterSize(Armour, 0.419999, 1.099999);
TextDrawColor(Armour, 0xFFFFFFFF);
TextDrawSetOutline(Armour, 1);
TextDrawSetProportional(Armour, 1);
Ehseg = TextDrawCreate(71.000000, 435.000000, \"%s\");
TextDrawBackgroundColor(Ehseg, 255);
TextDrawFont(Ehseg, 3);
TextDrawLetterSize(Ehseg, 0.419999, 1.099999);
TextDrawColor(Ehseg, 0xFFFFFFFF);
TextDrawSetOutline(Ehseg, 1);
TextDrawSetProportional(Ehseg, 1);
Szomjusag = TextDrawCreate(355.000000, 435.000000,, \"%s\");
TextDrawBackgroundColor(Szomjusag, 255);
TextDrawFont(Szomjusag, 3);
TextDrawLetterSize(Szomjusag, 0.419999, 1.099999);
TextDrawColor(Szomjusag, 0xFFFFFFFF);
TextDrawSetOutline(Szomjusag, 1);
TextDrawSetProportional(Szomjusag, 1);
Wc = TextDrawCreate(355.000000, 435.000000, \"%s\");
TextDrawBackgroundColor(Wc, 255);
TextDrawFont(Wc, 3);
TextDrawLetterSize(Wc, 0.419999, 1.099999);
TextDrawColor(Wc, 0xFFFFFFFF);
TextDrawSetOutline(Wc, 1);
TextDrawSetProportional(Wc, 1);
Szint = TextDrawCreate(456.000000, 435.000000, \"%s\"); // beállítások, Koordináta
TextDrawBackgroundColor(Szint, 255);
TextDrawFont(Szint, 3);
TextDrawLetterSize(Szint, 0.419999, 1.099999); // méret
TextDrawColor(Szint, 0xFFFFFFFF); // szin
TextDrawSetOutline(Szint, 1);
TextDrawSetProportional(Szint, 1);
õ.. nem adtál %s-nek semmit, meg a többinek se. És hülyeség az hogy az összes játékosnak létrehozod, nem így kell. Ha azt akarod hogy külön mutassa a játékosoknak az életüket, armort stb akkor OnPlayerConnect eljáráshoz készítsd el a játékosnak a textdrawot.
public OnPlayerConnect(playerid){
Health[playerid] = TextDrawCreate(510.000000, 435.000000, \"_\")
//stb;
return 1;
}
Aztán értéket meg így adj neki:
new str[100], Float:lol;
GetPlayerHealth(playerid, lol);
format(str, sizeof str, \"%f\", lol); // Azthiszem hogy %f de nem biztos, most kezdtem újra szkriptelni bele kell jönnöm
TextDrawSetString(Health[playerid], str);
TextDrawShowForPlayer(playerid, Health[playerid]);
Megoldottam!
Már csak azt kéne, hogy ez az egy nem látszik ott ahova raktam,
Ez az ami nem látszik:
Wc = TextDrawCreate(261.000000, 435.000000, \"100%\");
TextDrawBackgroundColor(Wc, 255);
TextDrawFont(Wc, 3);
TextDrawLetterSize(Wc, 0.419999, 1.099999);
TextDrawColor(Wc, 0xFFFFFFFF);
TextDrawSetOutline(Wc, 1);
TextDrawSetProportional(Wc, 1);
E mellet kéne lennie:
qWc = TextDrawCreate(261.000000, 435.000000, \"Szukseglet:\");
TextDrawBackgroundColor(qWc, 255);
TextDrawFont(qWc, 3);
TextDrawLetterSize(qWc, 0.419999, 1.099999);
TextDrawColor(qWc, 0x0000FFFF);
TextDrawSetOutline(qWc, 1);
TextDrawSetProportional(qWc, 1);
Felejtsd el a ciklusos dolgot textdrawban. Max csak akkor használd hogy ha van kikötésed, hogy pl.:
for(new i = 0; i < MAX_PLAYERS; i++) if(GetPlayerScore(i) > 500)
Megoldottam!
Már csak azt kéne, hogy ez az egy nem látszik ott ahova raktam,
Ez az ami nem látszik:
Wc = TextDrawCreate(261.000000, 435.000000, \"100%\");
TextDrawBackgroundColor(Wc, 255);
TextDrawFont(Wc, 3);
TextDrawLetterSize(Wc, 0.419999, 1.099999);
TextDrawColor(Wc, 0xFFFFFFFF);
TextDrawSetOutline(Wc, 1);
TextDrawSetProportional(Wc, 1);
E mellet kéne lennie:
qWc = TextDrawCreate(261.000000, 435.000000, \"Szukseglet:\");
TextDrawBackgroundColor(qWc, 255);
TextDrawFont(qWc, 3);
TextDrawLetterSize(qWc, 0.419999, 1.099999);
TextDrawColor(qWc, 0x0000FFFF);
TextDrawSetOutline(qWc, 1);
TextDrawSetProportional(qWc, 1);
De most annak mi lényege az mindig 100 lesz akkor