GTA Közösség - A magyar GTA fórum

San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => Leírások/Útmutatók => A témát indította: Y2K - 2011. Március 15. - 19:30:17

Cím: [Leírás] Szöveg kiíratása a játékos feje fölé
Írta: Y2K - 2011. Március 15. - 19:30:17
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.)
Cím: [Leírás] Szöveg kiíratása a játékos feje fölé
Írta: SoAP - 2011. Március 17. - 19:03:02
Szép, bõ leírás :amazed: :amazed: Szép munka, grat :)
Cím: [Leírás] Szöveg kiíratása a játékos feje fölé
Írta: ALIEN - 2011. Március 17. - 19:16:13
Kösz ez nekem is jól jött, grat!  ;)
Cím: [Leírás] Szöveg kiíratása a játékos feje fölé
Írta: Y2K - 2011. Március 17. - 19:30:28
Köszönöm... Igazából ezeket még akkor írtam, amikor nem is éltetek, azóta keringnek a hypertérben. :)
Cím: [Leírás] Szöveg kiíratása a játékos feje fölé
Írta: ALIEN - 2011. Március 17. - 19:36:27
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?
 
Idézetet írta: Y2K date=1300386628\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"6849\" data-ipsquote-contentclass=\"forums_Topic
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:
Cím: [Leírás] Szöveg kiíratása a játékos feje fölé
Írta: Y2K - 2011. Március 17. - 19:56:24
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...
Cím: [Leírás] Szöveg kiíratása a játékos feje fölé
Írta: norbee0170 - 2011. Május 06. - 15:56:10
ö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
Cím: [Leírás] Szöveg kiíratása a játékos feje fölé
Írta: Mambo - 2011. Május 06. - 16:09:22
Idézetet írta: norbee0170 date=1304690170\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"6849\" data-ipsquote-contentclass=\"forums_Topic
ö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
Cím: [Leírás] Szöveg kiíratása a játékos feje fölé
Írta: RedLine0108 - 2011. Július 26. - 21:30:38
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.. ;)
Cím: [Leírás] Szöveg kiíratása a játékos feje fölé
Írta: Kovacs_Bela - 2011. Július 26. - 22:08:53
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
Cím: [Leírás] Szöveg kiíratása a játékos feje fölé
Írta: George Santiago - 2011. Július 26. - 22:12:07
Köszi Szépen, Szép Leírás  ^-^
Cím: [Leírás] Szöveg kiíratása a játékos feje fölé
Írta: [T.I.R.]Kenguru - 2011. Július 27. - 22:37:04
Idézetet írta: Y2K date=1300213817\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"6849\" data-ipsquote-contentclass=\"forums_Topic
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]
Cím: [Leírás] Szöveg kiíratása a játékos feje fölé
Írta: N@rbirock - 2011. Szeptember 24. - 07:23:22
mi a parancs hoza
Cím: [Leírás] Szöveg kiíratása a játékos feje fölé
Írta: Koncz_Norbert - 2011. Szeptember 24. - 07:49:32
Idézetet írta: N@rbirock date=1316841802\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"6849\" data-ipsquote-contentclass=\"forums_Topic
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. )
Cím: [Leírás] Szöveg kiíratása a játékos feje fölé
Írta: JackBronson - 2011. Szeptember 25. - 16:02:03
Idézetet írta: N@rbirock date=1316841802\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"6849\" data-ipsquote-contentclass=\"forums_Topic
mi a parancs hoza
 
Alapból ha irsz akkor megjelenik annál a fügvénynél.
De ezt már 0xC01DFACE leirta.