Peršokti į turinį

SetPlayerMapIcon ir pan. - lengvesnis būdas naudoti!


The-Dovis

Recommended Posts

Sveiki visi ,taigi prisiminęs keletą pamokų, įkelsiu vieną pavyzdį kurį galėsite pritaikyti kaip norėsite.

Iš pradžių sukuriame kur nors virš CB(Call Back'ų) enum'ą kuriame bus info:

enum MiniIcons
{
PickpID,
Float:iX,
Float:iY,
Float:iZ,
iType
};

Na o dabar susikuriame žemiau kintamąjį kuriame bus - Pickupo id'as, X Y Z pozicijos bei pickup'o tipas (paveikslėlio id - http://wiki.sa-mp.com/wiki/MapIcons)

Čia yra du pavyzdžiai

new iInfo[][MiniIcons] = {
{1,2470.8083,-1678.0516,13.5078,62},
{2,2039.4393,-1711.7810,13.5469,59},
};

Dar pridursiu, kad reikia sukurti šitą:

new mIconID[sizeof(iInfo)];

Be šito rodys tik patį pirmą pick'upą..

Prieš galą parodysiu kaip atrodo SetPlayerMapIcon dedant kas kartą (daug reikia pridėti po CB - OnPlayerConnect):

SetPlayerMapIcon( playerid, 12, 2204.9468, 1986.2877, 16.7380, 52, 0, MAPICON_LOCAL );

O štai kaip atrodys su tuom ką aš parodžiau:

for(new i=0; i < sizeof(iInfo); i++)
{
 mIconID[i] = SetPlayerMapIcon(playerid,iInfo[i][iconID],iInfo[i][iX],iInfo[i][iY],iInfo[i][iZ],iInfo[i][iType],0,0);
}

Kodėl darau loop'ą?

Tam, kad peržiūrėtų visus icon'us.

mIconID - Kam jis reikalingas?

Tam, kad nerodytų tik pačio pirmo pickup'o

iInfo[iconID],iInfo[iX],iInfo[iY],iInfo[iZ],iInfo[iType] - kodėl vietoj to ne skaičiai?

Nes vietoj jų yra visų mini-icon'ų info.

O tai kam tie skaičiai - 0,0?

Na mano nuomone juos nebūtinai reikia rašyti prie bendros info..

Jeigu gerai pasuksite galvą - pasidarysite ne tik mini-icon'ams. Jeigu padaryčiau visais pavyzdžiais tai:

1. Jūs juos tiesiog nukopijotumėt t.y. - Copy - Paste.

2. Kam man laiką gaišti?

Tikiuosi pamoka kažkam padėjo, patiko. Ačiū už dėmesį ;)

Kopijuoti be mano leidimo - griežtai draudžiama!

Nuoroda į komentarą
Dalintis per kitą puslapį

Svečias
Ši tema yra užrakinta.
  • Å iame puslapyje narÅ¡o:   0 nariai

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


×
×
  • Sukurti naują...