SZÖVEG KIÍRÁSA A JÁTÉKOS FEJE FÖLÉ
Üdv! Sokan próbálnak szöveget megjeleníteni a játékos feje fölött vagy máshol. Erre a legegyszerûbb megoldás a 3D-szövegek használata.
Elõször, hozzunk létre egy
MAX_PLAYERS méretû tömböt, melyet a játékosok 3D-szövegének azonosítóinak tárolására használunk:
new Text3D:3DTextIdentifiers[MAX_PLAYERS]; // név lehet bármi, de a Text3D: címke maradjon
A játékosok csatlakozásakor, tehát az
OnPlayerConnect(playerid) esemény alatt, adjunk értéket a tömbnek, a következõ módon:
3DTextIdentifiers[playerid] = Create3DTextLabel(\"példaszöveg\", COLOR_WHITE, 0.0, 0.0, 0.0, 25.0, 0, 0);
A
Create3DTextLabel paraméterei egyébként:
text[] = szöveg
color = szín
Float:X, Float:Y, Float:Z = pozíciók a három tengely mentén (ez esetben lényegtelen, hiszen a játékoshoz fogjuk csatolni)
Float:DrawDistance = látótávolság
VirtualWorld = virtuális világ, amelyben látható (ez esetben lényegtelen, hiszen a játékoshoz fogjuk csatolni)
testLOS = látható-e a falon át? (szerintem nem, de, ahogy gondoljátok)
Ha szövegre például a játékos azonosítóját vagy más számot szeretnénk kiíratni, elõtte formáznunk kell azt...
Szintén az
OnPlayerConnect(playerid) esemény alatt vagy más tetszõleges helyen adjuk hozzá a 3D-szöveget a játékoshoz, például így:
Attach3DTextLabelToPlayer(3DTextIdentifiers[playerid], playerid, 0.0, 0.0, 0.5);
Az
Attach3DTextLabelToPlayer paraméterei egyébként:
Text3D:id = a 3D-szöveg azonosítója (ezt tárolja a tömbünk)
playerid = a játékos azonosítója
Float:OffsetX, Float:OffsetY, Float:OffsetZ = eltérés a játékostõl (Z-koordináta legyen nagyobb, hogy felette legyen)
Más csak egy maradt hátra, a 3D-szöveg megsemmisítése az
OnPlayerDisconnect(playerid, reason) esemény alatt:
Delete3DTextLabel(3DTextIdentifiers[playerid]);
Kiegészítés: Ha a szöveget és/vagy a színt meg szeretnéd késõbb változtatni, használd az
Update3DTextLabelText függvényt, melyrõl bõvebben
ITT olvashatsz.
Írta: Y2K (2010. augusztus 4.)
Szép, bõ leírás :amazed: :amazed: Szép munka, grat :)
Kösz ez nekem is jól jött, grat! ;)
Köszönöm... Igazából ezeket még akkor írtam, amikor nem is éltetek, azóta keringnek a hypertérben. :)
Nálam kicsit rossz:
A változó nevét így nem fogadta el: 3DTextIdentifiers
vagyis a 3-ast,
csak így: DTextIdentifiers
És így jó. Nem tudom ti hogy vagytok vele de nekem nem fogadta el. (De végül is lényegtelen.)
E: Y2K, ezt te is látod vagy csak a másik playerek?
Köszönöm... Igazából ezeket még akkor írtam, amikor nem is éltetek, azóta keringnek a hypertérben. :)
OFF: Igaz Augusztus 4. után születtem pár nappal :amazed:
Hát igen, számmal nem kezdõdhet a változó neve... Most látszik, hogy mennyire figyelnek oda a másik fórumon, mert még 5 napja is kaptam hozzászólást erre, de több mint fél év alatt senki nem vette észre ezeket a hibákat...
öm hali nemvagyok pro scripter \"még :D \" de miaz h \"\"esemény alatt\"\" ?
nenézzetek hülyének,és bocs h kérdezek :D
öm hali nemvagyok pro scripter \"még :D \" de miaz h \"\"esemény alatt\"\" ?
nenézzetek hülyének,és bocs h kérdezek :D
az csak annyi, hogy az Onplayerconnectnél fut le. az esemény az amikor a játékos csatlakozik
Csuma. ez mind szép és jó de nekem olyan kellene hogy amit beírsz azt írja ki a neved fölé.. üzenetet.
amit beírsz azt írja ki a neved fölé.. üzenetet.
plíz help és elõre is köszi.. ;)
Kis keresés a samp wikin, hasznos dolgokra képes :)
Ebben pont az a példa.
ha rákeresnél a SetPlayerChatBubble-re az jobb lenne :)
Remélem sokat segítettem
Köszi Szépen, Szép Leírás ^-^
Sokan próbálnak szöveget megjeleníteni a játékos feje fölött vagy máshol. Erre a legegyszerûbb megoldás a 3D-szövegek használata.
Szerintem ez egyszerûbb:
[pawn]
SetPlayerChatBubble(playerid, text, szín, láthatóság, idõ);
[/pawn]
Példa:
[pawn]public OnPlayerText(playerid, text[])
{
SetPlayerChatBubble(playerid, text, 0xFFFFFFFF, 80.0, 9000);
return 1;
}[/pawn]
mi a parancs hoza
mi a parancs hozzá
Nincs parancs hozzá. Márha Gumikacsa hozzászólására gondolsz.
Egyszerûen írsz a chatboxba és megjelenik a karakter fölött. ( Kivéve neked nem fog. )
mi a parancs hoza
Alapból ha irsz akkor megjelenik annál a fügvénynél.
De ezt már 0xC01DFACE leirta.